3.5기 3팀 Inception(GoogLeNet)
3팀-최웅준,송근영,김정민
회의날짜 : 01/31 금요일
회의장소 : 구글 행아웃(코로나 바이러스로 인한 온라인 토론을 진행)
기존의 문제점
-vanishing gradient
-overfitting
딥러닝은 망이 깊을수록(deep) 레이어가 넓을수록(wide) 성능이 좋지만
기존의 문제점들 때문에 학습이 어렵다.
신경망은 Sparsity 해야지만 좋은 성능을 내지만
실제 컴퓨터 연산에 있어서는 연산 Matrix가 Dense 해야 쓸데없는 리소스 손실이 적으므로 전체적으로는 망내 연결을 줄이면서(sparsity)
세부적인 행렬 연산에서는 최대한 dense한 연산을 하도록 처리하도록 한것이
Inception(GoogLeNet)이다.
<Inception model(v1)>
-1x1 convolution : Network상에 Parameter 개수를 감소시키는 핵심기술
>> Inception 적용 후
-softmax층이 3개인 이유(분류기)
마지막 Layer를 제외하고 나머지 2개는 보조 softmax 레이어이다.
이는 망이 깊어질 때 발생하는 vanishing 문제를 해결하고자 중간 층에서도
Backprop을 수행하여 weight 갱신을 시도하는 것이다.
이렇게하면 당연히 아래 쪽 weight도 좀 더 쉽게 weight가 갱신될 것이다.
물론 가장 중요한 softmax 레이어는 마지막 레이어에 연결된 것이므로 보조 레이어는
학습시에 비율을 반영하여 Loss 함수에 반영한다.
<Inception v2>
-5*5 vs 3*3 3*3
5*5 filter를 사용하는 것 보다 3*3 filter 2개를 사용하면 25 에서 18 로 연산이 줄어드므로
계산량이 감소하게 된다.
-Asymmetric Factorization
-
1*n ,n*1을 n*n대신 사용하면 cost가 n**2 에서 n으로 줄어든다.
-Auxiliary Classifiers
v1에서는 3개의 softmax layer를 사용했지만 맨 하단의 layer는실험결과 성능에 영향을 주지 않는다고 판단되어 2개로 softmax layer를 줄였다.
-Efficient gradient reduce
pooling을 먼저하면 representational bottleneck 현상이 나타나 원래 데이터의 정보를 잘 표현하지 못하는 문제점이 생기고 inception module을 먼저하면 computation cost가 상당히
높게 나온다.
그래서 ,절충안으로 둘 다 적용 해주는 idea를 inception net에선 사용하였다.
Inception v4(Inception - Resnet)
: v3에서 까지와는 다르게 Resnet의 Skip connection을 Inception Model에 도입하여 구성함. v3까지 있었던 분류기가 v4부터 소실. Skip connection으로 이전의 분류기의 목적이었던 Net상에서의 weight 학습이 제대로 되는지에 대한 예측이 불필요하게 되어졌기 때문임.
댓글 없음:
댓글 쓰기