전체 글
-
[webhacking.kr] Challenge(old) 33Security/web 2021. 7. 31. 22:04
문제 : https://webhacking.kr/challenge/bonus-6/ https://webhacking.kr/challenge/bonus-6/ webhacking.kr 33-1 view-source get방식으로 "hehe" 문자를 넘겨주면 다음으로 넘어갈 수 있나보다. >>> import requests >>> url = "https://webhacking.kr/challenge/bonus-6" >>> params = {"get":"hehe"} >>> r = requests.get(url, params=params) >>> r.text '\nChallenge 33-1 \nview-source\n\nNext\n' 33-2 view-source post 방식으로 "hehe", "hehe2"를 ..
-
[webhacking.kr] Challenge(old) 2Security/web 2021. 7. 28. 02:38
문제 분석 접속 https://webhacking.kr/challenge/web-02/ https://webhacking.kr/challenge/web-02/admin.php webhacking.kr 개발자 도구 접속 https://webhacking.kr/challenge/web-02/admin.php sql injection?? time 쿠키 값을 바꾸어보았다. time : 1 time : 1=1 time : 1=2 blind sql injection을 하면 되겠다. blind sql injection 1. table 갯수 select count(table_name) from information_schema.tables where table_schema=database() 2 information_..
-
순환 신경망 RNNDeep Learning/밑딥2(자연어 처리) 2021. 7. 23. 22:08
CBOW 모델의 문제점 Tom was watching TV in his room. Mary came into the room. Mary said hi to ?. 문장의 길이가 길면 앞의 단어가 무시될 수 있다. You say ? and I say hello. 맥락 단어의 순서가 무시된다. (you, say)와 (say, you)는 행렬곱층을 거쳐 평균을 하면 같은 값이 나온다. 이러한 문제를 해결한 모델이 RNN (Recurrent Neural Network)이다. RNN RNN은 순환하는 경로가 있어 데이터가 끊임없이 순환한다. 과거의 정보를 기억하는 동시에 최신 데이터로 갱신한다. 아무리 문장의 길이가 길더라도 맨앞의 단어의 정보를 기억할 수 있다는 뜻이다. RNN을 시각 단위로 나열하면 아래와같이 ..
-
추론 기반 기법Deep Learning/밑딥2(자연어 처리) 2021. 7. 16. 17:35
추론 기반 기법의 개요 추론 기반 기법은 통계 기반 기법과 달리 단어에서 문맥 또는 문맥에서 단어를 예측하는 방법이다. You ? goodbye and I say hello. You say ? and I say hello. You say goodbye ? I say hello. You say goodbye and ? say hello. You say goodbye and I ? hello. You say goodbye and I say ?. CBOW(continous bag-of-words)모델 CBOW 모델은 맥락으로부터 target을 추측하는 용도의 신경망이다. 입력층에는 추론할 단어의 맥락의 원핫 벡터이다. 은닉층에서는 평균을 구한다. 정답 레이블은 추론할 단어의 원핫 벡터이다. 편향과 활성화 함수..
-
자연어와 단어의 분산 표현Deep Learning/밑딥2(자연어 처리) 2021. 7. 16. 17:11
자연어 처리란 한국어와 영어 등 우리가 평소에 쓰는 말을 자연어(natural language)라고 한다. 자연어 처리(Natural Language Processing : NPL)는 우리의 말을 컴퓨터에게 이해시키기 위한 기술 이다. 단어의 의미 단어는 의미의 최소 단위이다. 컴퓨터에게 단어의 의미를 이해시키는 세 가지 기법이 있다. 시소러스를 활용한 기법 통계 기반 기법 추론 기반 기법(word2vec) 분산 표현 통계 기반 기법을 살펴보면서 말뭉치(corpus)를 이용한다. 말뭉치는 간단히 말하면 대량의 텍스트 데이터이다. 말뭉치 전처리 전처리란 텍스트 데이터를 단어로 분할하고 그 분할된 단어들을 단어 ID 목록으로 변환하는 일이다. text = 'You say goodbye and I say he..
-
합성곱 신경망 | 역전파Deep Learning/밑딥1 2021. 7. 9. 02:40
합성곱 신경망의 역전파에 대해 알아보자 크게 합성곱층, Max Pooling층으로 나누어 살펴본다. 합성곱층 역전파 합성곱층은 다음과 같이 이루어진다. im2col → Affine 변환 → Reshape 이것의 역전파는 im2col의 역전파 ← Affine층 역전파 ← Reshape의 역전파 Affine층 역전파는 잘 이해하고 있다. reshape의 역전파와 im2col의 역전파인 col2im에 대해 알아보자. 재배열의 역전파 재배열의 역전파는 역재배열이다. 데이터를 im2col 할 때, 아래와 같은 순전파 과정이 이루어진다. 순전파 : reshape(N, OH, OW, FN) → transpose(0, 3, 1 ,2) 역전파는 아래와 같다. 역전파 : reshape(-1, FN) ← transpose(..
-
합성곱 신경망 | im2colDeep Learning/밑딥1 2021. 7. 7. 03:45
im2col "image to column" 합성곱은 4차원 텐서에 대한 연산이므로 구현하려면 코드가 복잡해지고 반복문으로 내적해서 array에 넣는 코드 횟수가 많을 경우는 시간이 오래 걸린다. im2col은 4차원 텐서를 2차원 텐서로 바꾸어 행렬 계산으로 처리해서 속도를 높여준다.(합성곱 정의대로 구현한 코드보다 약 200배 속도 향상) im2col을 이용한 합성곱 데이터를 합성곱 순서대로 부분 tensor를 뽑아내서 flatten시킨 후 각 행에 넣어 col 이란 행렬을 만든다. 데이터의 im2col 연산 과정, 4차원 텐서를 2차원 텐서로 바꾼다. 각 필터를 flatten 시켜 각 열에 넣어 colW 란 행렬을 만든다. 필터의 im2col 연산 과정, 4차원 텐서를 2차원 텐서로 바꾼다. 두 행..
-
합성곱 신경망 | Max PoolingDeep Learning/밑딥1 2021. 7. 6. 04:53
Pooling Pooling은 세로, 가로 방향의 공간을 줄이는 연산이다. Max Pooling의 경우 아래와 같이 연산이 이루어진다. 2x2 크기의 Max Pool은 2x2 크기의 영역에서 가장 큰 원소를 하나 꺼낸다. stride는 2이므로 2칸씩 이동하며 처리를 한다. 일반적으로 윈도우 크기와 스트라이드는 같은 값으로 설정한다. 풀링 계층의 특징 학습해야 할 매개변수가 없다. 최댓값이나 평균을 취하는 명확한 처리이므로 특별히 학습할 것이 없다. 채널 수가 변하지 않는다. 위의 Max Pooling 연산을 보면 채널마다 독립적으로 계산하여 채널 수가 변하지 않는다는 것을 볼 수 있다. 입력 데이터 : N x C x H x W 출력 데이터 : N x C x OH x OW Down Sampling 을 통..