CNN에서 고밀도 레이어의 수와 크기


11

내가 본 대부분의 네트워크에는 최종 softmax 레이어 이전에 하나 또는 두 개의 고밀도 레이어가 있습니다.

  • 고밀도 레이어의 수와 크기를 선택하는 원칙적인 방법이 있습니까?
  • 동일한 수의 매개 변수에 대해 두 개의 치밀한 레이어가 하나보다 더 대표적입니까?
  • 각 고밀도 레이어 전에 드롭 아웃을 적용해야합니까, 아니면 한 번만 적용해야합니까?

답변:


15

가장 먼저:

입력 및 출력 수만으로도 양호한 네트워크 토폴로지를 결정할 수있는 방법이 없습니다. 학습 예제의 수와 배우려는 분류의 복잡성에 크게 좌우됩니다. [1]

Yoshua Bengio는 매우 간단한 규칙을 제안했습니다.

테스트 오류가 더 이상 개선되지 않을 때까지 레이어를 계속 추가하십시오. [2]

게다가:

ConvNet의 이전 기능에는 많은 작업에 유용해야하는보다 일반적인 기능 (예 : 에지 감지기 또는 색상 얼룩 감지기)이 포함되어 있지만 ConvNet의 이후 계층은 원래 데이터 세트에 포함 된 클래스의 세부 사항에 따라 점차 더 구체적이됩니다. [ 삼]

예를 들어, 특징 검출기를 학습하는 방법에서 :

첫 번째 레이어는 에지 검출기를 배우고 후속 레이어는 더 복잡한 기능을 배우고 높은 수준의 레이어는 더 추상적 인 기능을 인코딩합니다. [4]

따라서 하나의 레이어보다 두 개의 밀도 레이어를 사용하는 것이 좋습니다.

드디어:

Dropout의 원본 논문은 실제로 Dropout을 사용할 때 고려해야 할 유용한 휴리스틱을 제공합니다. 그 중 하나는 다음과 같습니다. 들어오는 (표시) 및 숨겨진 장치에 드롭 아웃을 사용하십시오. 네트워크의 각 계층에서 드롭 아웃을 적용하면 좋은 결과를 얻었습니다. [5]

CNN에서 일반적으로 드롭 아웃 레이어는 각 풀링 레이어 이후와 밀도 레이어 뒤에 적용됩니다. 좋은 튜토리얼이 있습니다. [6]

참고 문헌 :

[1] https://www.cs.cmu.edu/Groups/AI/util/html/faqs/ai/neural/faq.html

[2] 요슈아 벤 지오. "심층 아키텍처의 그라디언트 기반 교육을위한 실용적인 권장 사항" 신경망 : 무역의 비결. Springer Berlin Heidelberg, 2012. 437-478.

[3] http://cs231n.github.io/transfer-learning/

[4] http://learning.eng.cam.ac.uk/pub/Public/Turner/Teaching/ml-lecture-3-slides.pdf

[5] https://machinelearningmastery.com/dropout-regularization-deep-learning-models-keras/

[6] https://cambridgespark.com/content/tutorials/convolutional-neural-networks-with-keras/index.html

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.