1. inception module

hebb's rule를 본따 inception module을 설계한다.

더 다양한 Feature를 추출하기 위해 여러 개의 Convolution을 병렬적으로 사용 했다.

 

channel 을 줄여 계산량을 줄이기 위해서 1x1conv를 사용하였다. (bottle neck)

주목할 점은 여러 conv를 지나간이후 resnet처럼 +가 아닌 depth간의 concat연산을 한다는 점이다

 

여기서 왜  풀링은 1x1 conv를 이후에 했냐는 의문점이 생길 수 있는데 이는

풀링은 학습이 아닌 단순계산의 차원이기때문에 파라미터가 없을 뿐아니라 채널수를 조정하지 못하기때문에 1x1 conv를 이후에 시행한다.

 

또한 vgg를 알고 있다면 5x5를 왜 3x3으로 쪼개지 않았냐는 의문이 생길 수 있는데 이는

googlenet과 vggnet이 같은 대회에서 발표했기 때문이고 이것은  이후 v2에 반영된다.

 

2. architi

 

위에서 보았던 인셉션 모듈을 여러개 스태킹한 모습을 보이고 중간중간에 미리 결과를 냐는 auxiliary classifiers 를 두어 추후에 가중치를 곱한후 더하여 로스를 계산하고 다시 학습한다.

그리고 auxiliary classifiers는 학습 시에만 사용되고, Test 할 때는 제거한다 (학습을 도와주기 위한 용도로만 사용).

최종 분류기에 GAP를 사용했다는 점도 특징적이다. 이후에 FC층을 한번 사용하여 더 많은 조합을 기대했다.

'CV > classification' 카테고리의 다른 글

[CV] Inception V2, V3  (0) 2022.05.03
[CV] ResNet  (0) 2022.05.03
[CV] VGG Net 리뷰  (0) 2022.05.02
[CV] Network in Network 리뷰  (0) 2022.05.02
[CV] ZF Net 리뷰  (0) 2022.05.01

+ Recent posts