13강. 합성곱 신경망
< Keyword >
Convolutional Layer :
합성곱층이라고 한다. 이는 한 함수가 다른 함수 위를 이동하면서 원소별 곱셈의 적분을 계산하는 수학 연산을 수행하는 층이다.
Zero padding :
이전 층의 높이와 너비를 같게 하기 위해 입력의 주위에 0을 추가하는 것이 일반적이다.
Stride :
연속된 두개의 receptive field 사이의 거리를 말한다. ( 필터가 S 칸씩 건너뛴다 )
출력의 크기는 다음의 공식을 따른다
N : 입력의 크기 ( zero padding있을 경우 +z) / F : 필터의 크기 / S : stride의 크기
Feature map :
같은 필터들을 사용하여 전체 뉴런의 층은 필터와 유사한 이미지의 영역을 강조하는 맵을 만들게 되는데 이것이 Feature map이다.
Pooling Layer :
파라미터 수를 줄이기 위해 입력 이미지의 Subsample을 만드는 것이다. 입력 이미지의 크기를 줄이면 이미지가 약간 이동해도 신경망이 영향을 덜 받는다 (location invariance)
Pooling은 Max-pooling / Average-pooling 을 주로 사용한다.
LRN(local response normalization) :
이 정규화는 가장 강하게 활성화된 뉴런이 다른 feature map에 있는 같은 위치의 뉴런을 억제하는 형태이다. 즉, feature map을 각기 특별하게 구분하고, 더 넓을 시각에서 볼 수 있게 된다.
AlexNet :
LRN을 사용한다. 합성곱과 max-pooling으로 이루어져있다. 모델의 규제를 위해 Dropout & Data Augmentation을 이용했다.
GoogLeNet :
인셉션 모듈을 사용하여 훨씬 효과적으로 파라미터를 사용한다. 입력을 여러개로 분산 입력하여 계산한 후, 깊이를 기준으로 Concat한다. 여기서 1X1층은 병목층의 역할을 하며 3X3, 5X5이전에 적용하여 연산 비용을 줄일 수 있다.
즉, 여러 크기의 복잡한 패턴이 담긴 feature map을 출력하는 형태이다.
ResNet :
네트워크를 Skip Connection을 이용하여 훈련시킨다.
기존의
한 번 읽어보는 것이 더 도움이 될 것 같다!