본문 바로가기
책&강의 학습/올인원 패키지 :딥러닝&인공지능

[패스트캠퍼스 수강 후기] 인공지능강의 100% 환급 챌린지 38회차 미션

by 소한보 2020. 8. 5.

Part4-37. 합성곱 신경망(CNN) - 07. (STEP 2) 심화 합성곱 신경망 - 1,2

VGG-16은 초창기 단계의 모델

GoogLeNet(Inception)

2014년에 같이 등장. 당시에는 한 레이어를 더 하는게 어려운 상황
GoogLeNet이 에러율이 더 낮으나 알려지지 못한 이유는
더 복잡하기 때문

GoogLeNet의 구조


더 깊은 뉴럴네트워크를 만들자는 개념에서 나옴
복잡해보이는 형태지만 담겨진 철학을 이해하는 것을 목표로 진행

Inception 모듈


Input이 들어왔을때 일반적인 경우 1개의 conv_net에 적용되나
Inception은 다양한 크기의 conv_net에 적용하고 나중 피쳐맵을 모아서 출력
max_pooling은 이전에 뽑았던 피쳐를 다른 conv_ent에 적용하지 않고 pooling하는 것만으로도 유용한 피쳐가 될수 있음을 의미

이 방식의 장점
다양한 크기의 피쳐를 주체적으로 나눠서 학습한다는 특징이 있음

Inception 모듈(2)


연산량을 줄이기 위해 1X1의 합성곱계층이 추가됨
입력크기가 32일때 출력이 16이 되게끔 줄여주는 형태를 취함
더 줄어든 개수의 채널이 들어감으로써 연산량을 줄일수 있음
이런 구조를 Bottleneck 구조라고 함

Bottleneck 구조


3X3X32X64 = 18432
1X1X32X65 3X3X16X64 = 9728

출력은 동일하나 Bottleneck 구조를 사용해서 Receptive field를 유지하면서 파라미터의 수와 연산속도를 줄임

추가분류기


복잡해보이는 곳은 Inception 네트워크구조를 사용
중간에 추가로 붙는 것들이 있음(추가분류기)
중간 피쳐들로도 classification을 할 수 있게끔 함
역전파에서 기울기 소실이 발생하는 것을 막기 위해서 중간중간 추가 분류기를 설치

Residual Network ResNet

현재 Facebook에서 활약중이 Kaiming He의 명품 딥러닝 네트워크
152개 레이어를 사용해서 성능을 급격히 높임
사람보다 더 뛰어난 네트워크
이제는 일반적으로 많이 사용하는 네트워크

ResNet의 구조


Skip-connetion이 주요한 역할을 함
Skip-connetion으로 gradient highway를 구성

skip connetion


Residual에서는 입력을 출력쪽으로 해서 더해주는 형태를 제안
피쳐추출 전 후를 더해주는 특징이 있음
일반구조에서 표현가능 한 것은 Residual 구조에서도 표현가능 하다(논문을 상세히 읽으면 나옴)

Identity Mapping


Residual구조는 더해준다음에 ReLU를 적용
Identity Mapping에서는 더해준 이후 ReLU적용이 빠짐
하나의 피쳐를 뽑고 더해주고를 반복하는 형태로 변경

이를 위해 Pre-Activation제안

Pre-Activation


왼쪽이 Residual구조
오른쪽이 Identity Mapping
conv_net에 들어가기 전에 relu를 하는 형태 Pre-activation
입력이 그대로 출력으로 이어지게끔하는 gradient highway를 구성하는 것이 중요
에러가 급격히 떨어지는 효과를 얻게됨

Pre-Activation의 제안하게 된 과정


일반적인 통념과 다른 구조기 때문에 만들게된 과정이 중요
이런 Insight가 중요
asymmetric하다는건 conv_layer -> activation 덧셈 activation -> conv_layer 형태의 비대칭 형태
시작점을 다르게해서 보게 되면 pre-activation의 형태로 나타남

딥러닝/인공지능 올인원 패키지 Online

댓글