Deep Learning/밑딥1
-
합성곱 신경망 | 역전파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 을 통..
-
합성곱 신경망 | 합성곱Deep Learning/밑딥1 2021. 7. 5. 02:20
fully connected layer의 문제점 이미지를 이동, 확대, 회전과 같은 변형에 취약 고해상도 이미지를 입력할 경우 파라미터 수가 너무 많아진다. → 막대한 계산비용, 오버피팅 시각 피질의 구조 1981년 노벨 생리의학상은 시각 피질에 대한 연구에 수여함 각각의 뉴런마다 반응하는 부분이 다르다 합성곱 신경망은 이러한 특징을 이용하여 구현한다. 행렬의 합성곱 Filter : 3 x 3 Padding : 1 stride : 1 위의 그림과 같이 합성곱 연산은 입력 데이터에 Filter를 적용한다. Kernel이라고 부르기도 한다. 각 요소마다 필터와 이미지를 곱하고 총합을 구하여 출력을 낸다. 합성곱 연산을 수행하기 전에 입력 데이터 주변을 0으로 채우기도 하는데 이를 Padding 이라 한다. ..
-
학습 관련 기술 : 가중치 초기값Deep Learning/밑딥1 2021. 6. 25. 23:52
가중치 초기값의 설정 가중치 초기값을 잘못 설정 할 경우 생기는 문제점 가중치의 표준편차를 매우 크게 잡을경우 가중치를 평균이 0, 표준편차가 1인 정규분포로 초기화할 때의 각층의 활성화값 분포 활성화 값이 0과 1로 치우친다. 0과 1로 치우치면 그 미분값이 0에 가까워 진다. 0에 가까워진 값을 계속해서 역전파를 해 나가면 값이 계속 작아져 Vanishing Gradient Problem이 발생한다. 가중치의 표준편차를 매우 크게 잡을경우 가중치를 평균이 0, 표준편차가 0.01인 정규분포로 초기화할 때의 각층의 활성화값 분포 활성화 값이 가운데에 몰리게 된다. 표준편차가 매우 작으면 가중치의 값들이 거의 비슷하게 된다. 같은 가중치값으로 학습을 할 경우 같은 값을 출력함 100개의 뉴런으로 이루어진..
-
오차 역전파법 -1Deep Learning/밑딥1 2021. 5. 15. 18:50
수치미분 vs 연쇄법칙 + 미분공식수치미분연쇄법칙 + 미분공식 예제 수치미분을 이용한 식:연쇄 법칙 + 미분공식을 이용한 식:오차 역전파법에서는 연쇄 법칙 + 미분 공식을 이용한다.여기서 '역전파'라는 이름이 붙은 이유는 미분을 하는 순서가 합성함수를 취하는 순서의 역이기 때문!(합성은 f -> g -> h 순서, 미분은 h -> g -> f 순서로 진행)그래프계산 그래프 : 순전파사과 개당 가격 : 100, 사과 개수: 2 귤 개당 가격: 150, 귤 개수: 3 소비세 : 10%지불 금액 : (100 x 2 + 150 x 3) x 1.1 = 715 계산 그래프 : 역전파1로 출발해서 오른쪽에서 왼쪽으로 흘러간다.곱셈노드 : 반대편 값을 엇갈려서 곱해서 흘려보낸다.덧셈노드 : 그냥 흘려보낸다. 역전..
-
엔트로피Deep Learning/밑딥1 2021. 5. 7. 03:56
엔트로피의 정의 불확실성을 나타내는 값 예제 1 동전을 던져 앞면이 나올 확률 : p 뒷면이 나올 확률 : 1-p 이때의 엔트로피 값은 p= 1/2 일 때, H(X) = 1 p= 1 일 때, H(x) = 0 무조건 앞면이 나온다는 뜻이므로 불확실성이 없다는 뜻! 예제 2 a, b, c, d가 적힌 카드 4장을 들고 있다 그 확률이다 엔트로피 기댓값 a 들고 있니? (질문 개수 : 1) b 들고 있니? (질문 갯수 : 2) c 들고 있니? or d 들고 있니? (질문 개수: 3) 엔트로피 = 기댓값 이유는 나중에 배운다는뎀.. p가 0, 1일 때, 즉 동전이 무조건 앞면 또는 뒷면이 나올 때, 불확실성(엔트로피) 값은 0이다 p가 1/2일 때, 불확실성(엔트로피) 값은 가장 커진다. 균등 분포일 때 엔트로..