다양한 Convolutional Neural Network들이 제안이 되었다.
본차시와 다음차시에서는 주요네트워들에 대해 살펴보자.
LeNet-5 르넷 : 오래됨
AlexNet : 최근
VGG네트워크
ResNet
Inception net
DenseNet
들이 제안됨
위의 3개는 비슷한구조
밑의 3개는 최근에 나온 것으로, 다른 구조를 가지고 있다.
위의 3개를 이번에 봐보자
LeNet-5의 구조
1998년도에 제안됨
당시에는 컬러 안쓰고 흑백 이용
그래서 size가 32x32x1
필터는 5x5사용
패딩쓰지 않음 -> 그래서 convolutional 하면 size가 줄어듬
필터 6개 사용해서 결과로 28x28x65얻어짐
풀링으로 2x2쓰니까 size가 반으로 줄어듬
다시 필터 5x5쓰니까 사이즈 줄어들고, 다시 필링 사용
5x5x16하면 400개의 값.
400개의 값과 120개의 값 사이에 fully connected layer 사용
그 다음도 F.C 사용.
최종적으로 prediction 만들어내는 이런 과정을 거친다.
기본적인 CNN 구조를 보여준다.
convolution layer - pooling layer - convolution layer - pooling layer - 최종 - fully connected layer- fully connected
layer
이런 구조를 제안함
추후 많은 기법들이 이런 구조를 따르고 있음
당시 풀링은 avarage 풀링을 사용함(max 풀링은 당시 나오지 않음)
채널수가 갈수록 많아지는 구조를 따름
피처맵의 사이즈가 줄어드는 대실 채널수를 늘려주는 방법 사용
이후 2012년 AlexNet 나옴
위 구조의 CNN이 제안됨
영상 크기가 상당히 커지고, 컬러 영상이 이용됨
컬러 이용 되어도 필터의 depth가 달라지는 것이다.
필터 11x11에 컬러이니 실제 파라미터 수는 11x11x3이 된다.
96개의 필터를 사용해서 55x55x96의 피처맵을 얻는다.
여기선 초반에 큰 stride를 이용한다.
파라미터수가 많기 때문에 stride를 크게하여 피처맵 사이즈를 크게 줄이기 위해서이다.
그 다음 풀링, 그 다음 5x5 컨볼루션레이어, 3x3풀링, 3x3 컨볼루션... 이 과정 반복하고
마지막에서 FC 3번 사용한 기법
FC에서도 상당히 많은 파라미터가 있다.
그리고 커넥티드와, 풀링 계산할 때도 이전에 비하면 파라미터 수가 많아진 것을 볼 수 있다.
또 한가지 볼 점은 ave풀링 대신 max풀링 사용.
activate펑션을 sigmoid, tanh 쓸 수 있다고 이전주차에서 이야기 했음
여기서는 ReLU사용하여 성능 좋아짐
이 기법 이후, CNN이 잘 동작할 수 있음을 인지함.
그 뒤로 다양한 네트워크들이 제안됨
그중 하나가 VGG-16네트워크
앞에서는 11x11convolution, 5x5 convolution, 3x3...이런 식으로 필터 사이즈가 바뀌었는데
여기서는 계속 3x3으로 consitant한 필터를 사용한다.
3x3 컨볼루셔널 레이어사용하고, 컨볼루션2번-풀링-컨볼루션2번-풀링 이 구조를 계속 따른다.
fc layer 사용함.
max pooling, ReLU function 사용.
3x3두번 사용하는데, 이 것은 5x5한 효과가 난다고 말한다.
5x5필터를 쓰게 되면, 5x5x3회 학습을 해야한다.(채널수가 3개이므로)
그럼 75개의 파라미터가 필요한데, 여기에 bias도 추가될수 있다.
반면, 3x3x3파라미터수가 필요하다.
두번한다고 하여도, 27이 두번이니까 54이다.
75에 비하면 54로 줄어든 것인데, 이 과정이 계속 반복된다.
채널수가 64개, 128개, 256개 늘어나기 때문에 전체적인 구조로 봤을 때는, 상당히 많은 파라미터 숫자가 줄어들게 된다.(전 것은 더 많았음)
기존 Alex-net은 convolution layer를 8개 이용했는데,
여기서는 2배많은 16개 layer를 이용한다.
이 논문에서는 VGG-19, 19개까지도 실험을 해봤으나 크게 성능이 향상되지 않아
16이라 하여 결과 발표함
데이터가 어느정도 있을 때, 그에 적합한 depth를 찾아야 할 수 있는데
16개가 나을수도, 19개가 나을수도 있다. 데이터에 따라 달라진다.
더 적은 레이어로 실험한게 더 좋은 결과일수도 있다.
VGG-16이나 Alex-net이나 기본 구조를 따르고 있다.
(convolution, pooling, fully connected layer로 이어지는 구조 따름)
이런 구조의 단점은 fully connected layer에서 상당히 파라미터수가 많다는 단점이 있다.
그래서 FC의 경우는 (전 레이어 +1)(4096+1)에 뒤의 개수(4096)를 곱한다.
앞부분도 파라미터 개수가 많아 오버피팅의 문제도 제기될 수 있다.
이번차시에서는 일반적인 구조 가진 기법들을 살펴봄
다음차시에서는 더 발전된 구조들을 살펴볼 것
'Deep learning' 카테고리의 다른 글
4-1. Overall procedure (0) | 2020.10.28 |
---|---|
3-6. CNN with demographic scores (0) | 2020.10.25 |
3-5. Advanced CNNs (ResNet, InceptionNet, DenseNet) (0) | 2020.10.05 |
3-3. Convolutional Neural Network (CNN) (0) | 2020.08.20 |
3-2. Convolution (0) | 2020.08.19 |
3-1. Property of Deep Neural Network (0) | 2020.08.15 |
2-7. Classification with demographic scores (0) | 2020.08.09 |