Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Going Deeper with Convolutions #13

Open
chullhwan-song opened this issue Jul 6, 2018 · 1 comment
Open

Going Deeper with Convolutions #13

chullhwan-song opened this issue Jul 6, 2018 · 1 comment
Labels

Comments

@chullhwan-song
Copy link
Owner

https://arxiv.org/abs/1409.4842

@chullhwan-song
Copy link
Owner Author

특징

  • 2014년 vgg 와 함께 등장

  • cnn은 depth가 깊어지고 넓어질수록 overfiting 문제가 빠질 가능성이 높다. 그동안 hyper-paramenter와 초기값 설정을 통해 극복. 하지만, 연산량의 증가등의 문제로 고가의 좋은 시스템에서만 작동.

    • 이런 단점을 어느정도 해결, 즉, 다양한 실험을 통해 깊어지고 넓어지지만, 연산량을 유지.
    • GoogleNet 핵심
      • inception module
        image
        • 파란색 부분를 통해 scale feature 효과적 추출
        • 1x1 convolution :
          • 이 부분에서 연산량을 줄임으로써, depth width들을 높일수 있는 계기
          • 연산량을 줄일수 있다는 말은 channel수를 줄인다는 의미 > NIN 논문 참조
    • 22개의 layer
    • 총 9개의 inception 모듈 (밑의 빨간색 동그라미 - 숫자는 feature-map 수)
      image
      • 빨간색 - max pooling
      • 노란색 - softmax
    • detail 구조
      image
      • 첫번째줄은 convolution(conv) 연산이 의미 즉, 7x7 kernel(receptive field) 의 2 stride 연산이고, output 즉, feature map에 대해 112x112 크기의 64개의 개수을 얻었다는 의미가 된다. depth는 1이면 단독으로 conv 있다는 의미(inception module이 아니라는 뜻)
      • depth가 = 2인뜻은, conv가 연속적으로 두번 있다는 의미이며, inception module연관이 깊다는 의미가 된다.
        • depth가 2개 나오는 첫번째만 제외하고 inception module이다.
      • 위의 첫번째 그림의 구조 참조해라
        • 1x1 kernel : 위의 그림 3(a) 에서, 64의 의미는 이전 layer에서, 192개를 input 으로 받아서 64개 feature map을 얻었다는 의미 이며, 곧 reduction(192->64)했다는의미가 된다.
        • 위의 링크로부터 설명이 되어 있지만, 3x3 kernel 이전에 1x1 kernel를 사용한다.
        • 3x3 reduce : 그니까, 3x3 kernel 앞쪽에 있는 1x1 kernel
        • 3x3: 1x1뒤에 있는 3x3 kernel
        • 이후도 이런식으로 이해하면 됨.
        • param : parameter의 수
        • ops : 연산수
    • 이는 V1 구조를 설명이며, 이후, V2, V3구조가 나온다(시간되면~)
    • 구조가 일반 cnn(vgg, alexnet..)과 다르게 구조가 복잡하며, 이로 인해 다양한 응용분야에 적용하기 어려운 구조, 실제적으로 localization등의 응용 구조에서 googlenet이 쓰이는 경우는 거의 보지 못함 왜일까?
  • inception module 참조(위의 첫번째 그림과 같은 의미)
    image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant