본문 바로가기

Data/논문 & 모델 정리

[Model] GoogLeNet

반응형

GoogLeNet

  • 참고 자료
  • 모델 컨셉
    • GoogLeNet은 22층을 가진 모델. 깊이가 증가할수록 높은 정확도를 얻을 수 있지만, 기하급수적으로 증가하는 parameter, overfitting의 가능성이 올라감. 또한 학습하는데 사용되는 메모리 사용량도 증가하는 문제가 존재
    • 해당 논문은 “Going Deeper with Convolutions' 라는 제목을 갖고있음. ILSVRC 2012년 대회에서 우승한 알고리즘. 하지만 VGGNet이 더 주목을 많이받음.
    • 위에서 서술한 문제점들에 대해서는 GoogLeNet은 sparse한 Layer 구조에 집중한다고함
      • sparse data?
        • 직역하면 희소 데이터라는 뜻이고, 행렬에 위치한 값들이 0인 값이 많이 존재함
        • sparse data의 반대는 dense data인데, sparse data와는 다르게 값이 빽빽하게 존재하는 행렬을 뜻함
      • sparse struct?
    • 현재의 Numerical Computation은 fully-connected architectures에 효율적으로 만들어져 있기 때문에 sparsely connected architectures을 사용하는 것은 비효율적이다. 따라서 fully-connected architectures을 쓸 수 밖에 없는데 이를 해결하기 위해 GoogleNet 연구진들은 architectures를 Inception module의 도입을 통해 모듈로써 sparsely 하도록 나누고, 반면 모듈 내부는 dense하게 계산하도록 했다.
    • LeNet을 시작으로 CNN은 여러개의 convolution layer뒤에 하나, 그 이상의 Fully Connected Layer가 뒤따르는 구조가 주를 이룸
    • ImageNet과 같은 큰 데이터 셋에서 최근 trend는 layer수를 늘리거나 layer의 size를 늘리는 것이고 오버 피팅을 막기위해 dropout을 적용함
    • 모델 전체에서 주요한 기능으로 NIN에서 제안된 1x1 convolution을 사용하는데, 이는 차원축소의 기능을 통해 성능 저하 없이 모델의 depth와 width를 늘릴 수 있게 한다.
      (1x1 convolution을 수행하면, 여러 개의 feature-map으로부터 비슷한 성질을 갖는 것들을 묶어낼 수 있고, 결과적으로 feature-map의 숫자를 줄일 수 있으며, feature-map의 숫자가 줄어들게 되면 연산량을 줄일 수 있게 된다. 또한 연산량이 줄어들게 되면, 망이 더 깊어질 수 있는 여지가 생기게 된다.)
      • NIN?
        • Network In Network의 약자
  • Architectural Details
    • Inception Architecture (초기 구조)
    • Inception Architecture 또는 Module (GoogLeNet)
      • 이렇게 바꾼 이유는 연산량을 줄이기위함
    • 왜 이름을 Inception이라고 지엇을까?
      • 영화 “인셉션”에 영향을 받음. Layer사이에 직선으로 연결된것이 아닌 여러 작업을 한것으로 보아 유사하다라고 생각한것같다… (뇌피셜)
반응형

'Data > 논문 & 모델 정리' 카테고리의 다른 글

[Model] SqueezeNet  (0) 2022.07.10
[Model] InceptionV3  (0) 2022.07.10
[Model] VGGNet  (0) 2022.07.10
[Model] ResNet  (0) 2022.07.10
[Model] SSD (Single Shot Detection)  (0) 2022.07.10