GoogLeNet 소개 inception 모듈 및 변형

첫째, 모델 아키텍처는 AlexNet 및 VGGNet에 비해 작습니다 (가중치 자체의 경우 ≈ 28MB). 작성자는 완전히 연결된 레이어를 제거하고 대신 글로벌 평균 풀링을 사용하여 네트워크 아키텍처 크기를 크게 줄일 수 있었습니다 (전체 네트워크의 깊이는 여전히 증가). CNN의 가중치 대부분은 고밀도 FC 레이어에서 찾을 수 있습니다. 이러한 레이어를 제거 할 수 있다면 메모리 절약이 엄청납니다.

둘째, Szegedy et al. 논문은 전체 매크로 아키텍처를 구성 할 때 네트워크 또는 마이크로 아키텍처에서 네트워크를 사용합니다.

지금까지 한 네트워크의 출력이 다음 네트워크로 직접 공급되는 순차 신경망 만 보았습니다. 이제 나머지 아키텍처 내부에서 사용되는 작은 빌딩 블록인 마이크로 아키텍처를 살펴 보겠습니다. 여기서 한 레이어의 출력은 여러 다양한 경로로 분할되고 나중에 다시 결합 될 수 있습니다.

특히, Szegedy et al 논문은 Convolutional Neural Network에 맞는 빌딩 블록 인 딥러닝 커뮤니티에 Inception 모듈을 제공하여 여러 필터 크기로 CONV 계층을 학습하여 모듈을 다단계 기능 추출기로 전환했습니다.

Inception과 같은 마이크로 아키텍처는 ResNet의 Residual 모듈과 SqueezeNet의 Fire 모듈을 포함한 다른 중요한 변형에 영감을 주었습니다. 이 장의 뒷부분에서 Inception 모듈 (및 그 변형)에 대해 설명합니다. Inception 모듈을 검사하고 작동 방식을 확인한 후 “MiniGoogLeNet”이라는 GoogLeNet의 더 작은 버전을 구현합니다. 이전 장의 CIFAR-10 데이터 세트에서이 아키텍처를 훈련하고 어떤 것보다 더 높은 정확도를 얻을 것입니다.

여기에서 더 어려운 cs231n Tiny ImageNet Challenge로 넘어갈 것입니다. 이 도전은 최종 프로젝트의 일부로 Stanford의 cs231n Convolutional Neural Networks for Visual Recognition 수업에 등록한 학생들에게 제공됩니다. 이는 전체 ImageNet 데이터 세트만큼 작업하는 데 시간이 많이 걸리거나 부담을주지 않으면서 현대 아키텍처에서 대규모 딥 러닝과 관련된 과제를 맛볼 수 있음을 의미합니다.

Tiny ImageNet에서 GoogLeNet을 처음부터 교육함으로써 Tiny ImageNet 리더 보드에서 상위 순위를 차지하는 방법을 보여 드리겠습니다. 다음 장에서는 ResNet을 활용하여 처음부터 훈련 된 모델에서 최고의 위치를 ​​차지할 것입니다. Inception 모듈에 대해 논의하여 이 장을 시작하겠습니다.

최신 첨단 컨볼루션 신경망은 원래 Lin et al.이 제안한 네트워크 내 네트워크 모듈이라고도 하는 마이크로 아키텍처를 활용합니다. 저는 개인적으로 마이크로 아키텍처라는 용어를 선호합니다.이 모듈은 전체 매크로 아키텍처 (즉, 실제로 구축하고 훈련하는 것)의 맥락에서 이러한 모듈을 빌딩 블록으로 더 잘 설명하기 때문입니다.

마이크로 아키텍처는 네트워크 깊이를 증가시키면서 네트워크가 (1) 더 빠르게, (2) 더 효율적으로 학습 할 수 있도록 딥 러닝 실무자가 설계 한 작은 빌딩 블록입니다. 이러한 마이크로 아키텍처 빌딩 블록은 CONV, POOL 등과 같은 기존 레이어 유형과 함께 스택되어 전체 매크로 아키텍처를 형성합니다.

2014 년에 Szegedy et al 논문에서 Inception 모듈을 도입했습니다. Inception 모듈의 일반적인 개념은 두 가지입니다.

1. 주어진 CONV 레이어에서 학습해야하는 필터의 크기를 결정하는 것은 어려울 수 있습니다. 5 × 5 필터 여야합니까? 3 × 3 필터는 어떻습니까? 1 × 1 필터를 사용하여 로컬 피쳐를 학습해야 합니까? 대신 모든 것을 배우고 모델이 결정하도록 하는 것은 어떨까요? Inception 모듈 내에서 채널 차원을 따라 결과 피쳐 맵을 연결하는 3 개의 5×5, 3×3 및 1×1 필터 (병렬로 계산)를 모두 학습합니다. GoogLeNet 아키텍처의 다음 레이어 (다른 Inception 모듈 일 수 있음)는 이러한 연결되고 혼합된 필터를 수신하고 동일한 프로세스를 수행합니다. 전체적으로 볼 때 이 프로세스를 통해 GoogLeNet은 더 작은 컨볼 루션을 통해 로컬 기능과 더 큰 컨볼루션을 가진 추상화 된 기능을 모두 학습 할 수 있습니다. 더 작은 기능을 희생하여 추상화 수준을 희생 할 필요가 없습니다.

2. 여러 필터 크기를 학습하여 모듈을 다단계 피쳐 추출기로 전환 할 수 있습니다. 5 × 5 필터는 더 큰 수용 크기를 가지며 더 많은 추상 피쳐를 학습 할 수 있습니다. 1×1 필터는 로컬 제한적 입니다. 3×3 필터는 그 사이에 균형을 이루고 있습니다.

댓글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다