Google Inception 모델의 토폴로지는 여기에서 찾을 수 있습니다. Google Inception Netowrk
이 모델에는 3 개의 softmax 레이어 (# 154, # 152, # 145)가 있으며 그 중 2 개는이 모델의 초기 이스케이프입니다.
내가 아는 한, softmax 레이어는 최종 출력을위한 것이므로 왜 그렇게 많은가? 다른 2 레이어의 목적은 무엇입니까?
Google Inception 모델의 토폴로지는 여기에서 찾을 수 있습니다. Google Inception Netowrk
이 모델에는 3 개의 softmax 레이어 (# 154, # 152, # 145)가 있으며 그 중 2 개는이 모델의 초기 이스케이프입니다.
내가 아는 한, softmax 레이어는 최종 출력을위한 것이므로 왜 그렇게 많은가? 다른 2 레이어의 목적은 무엇입니까?
답변:
짧은 대답 : 심층 아키텍처, 특히 GoogLeNet (22 레이어)은 훈련 ( 배기 알고리즘) 중에 사라지는 그라디언트 문제의 위험이 있습니다. GoogLeNet의 엔지니어는 중간 손실과 최종 손실의 조합으로 중간 계층에 분류자를 추가하여이 문제를 해결했습니다. 이것이 네트워크의 마지막 계층 인 일반적인 단일 계층과 달리 총 3 개의 손실 계층을 보는 이유입니다.
더 긴 대답 : 고전적인 기계 학습에서는 일반적으로 기능 엔지니어링과 분류가 구분됩니다. 신경망은 "끝에서 끝까지"문제를 해결하는 능력으로 가장 유명합니다. 즉, 데이터에 대한 표현을 학습하고 분류자를 훈련시키는 단계를 결합합니다. 따라서 표준 아키텍처 (예 : AlexNet)가있는 신경망은 "표현 학습"단계 (이전 단계부터 마지막 단계까지) 및 "분류"단계 (예상 한대로 포함)로 구성되는 것으로 생각할 수 있습니다. 손실 함수.
더 깊은 네트워크를 만들 때 "배니싱 그라디언트"문제로 만들어진 문제가 발생합니다. 실제로는 신경망에만 국한되지 않습니다. 오히려 그라디언트 기반 학습 방법에. 그것은 사소한 것이 아니기 때문에 그 자체에 대한 적절한 설명이 필요합니다. 좋은 참고 자료는 여기 를 참조 하십시오 . 직관적으로, "back-prop 알고리즘.
GoogLeNet 개발자는이 문제를 어떻게 처리 했습니까? 그들은 모든 식별 정보를 전달하는 것이 최종 레이어의 특징 일뿐 아니라 중간 특징도 다른 라벨을 구별 할 수 있다는 사실을 인식했다. 가장 중요하게는, 그 값은 그래디언트가 더 많은 정보를 전달하는 이전 레이어에서 추출되기 때문에 "신뢰할 수있는"값입니다. 이러한 직관을 바탕으로 두 개의 중간 계층에 "보조 분류기"를 추가했습니다. 이것이 귀하의 질문에서 언급 한 네트워크 중간에 "이른 이스케이프"손실 계층의 이유입니다.
총 손실은이 3 가지 손실 레이어의 조합입니다. 나는 원래 기사에서 인용한다 :
이 분류기는 Inception (4a) 및 (4d) 모듈의 출력 위에 배치 된 더 작은 컨볼 루션 네트워크의 형태를 취합니다. 훈련하는 동안 손실은 할인 가중치로 네트워크의 총 손실에 추가됩니다 (보조 분류기의 손실은 0.3으로 가중되었습니다). 추론시 이러한 보조 네트워크는 삭제됩니다.
시각적으로 :
@ galoosh33의 답변 외에도 보조 분류기는 최종 출력 분류기와 동일한 레이블을 사용하는 것 같습니다. 출처 : https://pdfs.semanticscholar.org/0b99/d677883883584d9a328f6f2d54738363997a.pdf의 슬라이드 34
이전에는이 보조 분류 기가 다른 유형의 레이블 (예 : 시베리안 허스키 대신 개)을 사용했는지 궁금했습니다.