728x90

1. AlexNet

 

그 당시, 처음으로 Dropout, weight Decay를 적용했던 획기적인 방법이었다. 또한 Activationrelu로 첫 적용한 모델이다.

 

 

 

2. VGGNet(2014)

 

VGGNet은 모델이 가벼우면서 성능까지 갖추고 있기 때문에 backbone으로도 활용을 하고있다.

 

학계에서는 커널사이즈가 커야 고도의 추상화를 추출할수 있다는 분위기가 있었다. AlexNet의 커널이 11*11,5*5 처럼 말이다. 하지만 단점은 커널 사이즈가 크기 때문에 이미지의 사이즈가 급격하게 축소가 된다는 점이다. 34*34 원본이미지를 일부러 크게 만들어야 하는데, 이 과정 또한 컴퓨팅 자원이 소모되므로 현 시점에서 큰 커널 사이즈는 잘 사용하지 않고 있다. 본론으로 돌아와서 VGG 3*3의 커널사이즈로 통일 시켰다.

 

 

 

1*1 Convolution

주로 FM에 적용되는데, 비선형성을 보다 더 강화 시킬 수 있다. 예를들어 6*6*64 FM이 있을 때 1*1의 채널 수를 줄여서 1*1*32convolution한다(padding=’same’). 그러면 6*6*32라는 중간 FM이 출력되는데 여기에 3*3*64convolution해준다.(1*1 -> relu -> 3*3) 중간 FMConv를 해주면 비선형성이 강조된다(conv2번 계산됨에 따라). 그래서 보통 1*1 단독이 아닌 3*3이 붙는다.

 

1*1*32N개 필터를 Conv하는데, 이때의 N개는 32보다 훨씬 적은 수이다. 그래서 FM필터를 축소하는 역할을 하게 되고. 6*6*N개에 대해서 3*3 Conv하여 비선형성을 강조 시킨다.

 

1*1 Conv 적용 전/후 비교를 해보자. 위에 5*5*200인 필터가 64개로 총 320000의 파라미터가 존재하는 반면, 1*1*200인 필터가 16개이므로 30*30*16 FM이 계산되고, 해당 FM5*5*16인 필터 64개를 적용하면 25600개의 파라미터가 생긴다. 따라서 1*1 Conv 적용 전후 파리미터의 수가 확연하게 줄어듦을 확인할수 있다. 또한 1*1Conv 후 나오는 FM은 비록 위에 있는 필터수 64개 보다 한참 적은 16개라서 정보 손실이 발생할수 있겠지만 Relu를 적용하여 보다 더 비선형성에 중점을 두었다. 1*1 Conv를 적용하는 layerBottleneck Layer라고도 한다.

연산량을 계산해 본다면, 먼저 위에 내용은 5*5*200*30*30*64의 연산량이 발생한다.

30*30*200FM에서 padding을 적용했기 때문에 5*5 커널사이즈가 오른쪽으로 30, 아래로 30번 이동할 것이다. 그래서 5*5*200*30*30인 필터가 총 64개가 있다. 아래 1*1Conv 적용한 연산량은 1*1*200*30*30*16 + 5*5*16*30*30*64로 계산된다. 후자인 연산량이 훨씬 적다.

 

3. GoogLeNet(2014, 1)

구글넷을 대표하는 것은 Inception module이라고 생각하면 된다. 그래서 구글넷은 추후 Inception으로 이름이 변경된다. 빨간박스를 Inception module 이라 한다. , Inceptoin module들이(9) 연결이 된 모습을 보인다. 상세하게 Inception module을 살펴 보도록 해보자

 

 

 

728x90

+ Recent posts