2

AlexNet, VGG, ZF net 등과 같은 ILSVRC의 유명한 CNN 구조에 주목합니다. 모두 완전히 연결된 두 개의 레이어를 사용합니다. 출력 레이어에 의해. 그럼 왜 두 개입니까? 이것 뒤에는 본질적인 아이디어가 있습니까?일반 CNN 네트워크에서 얼마나 많은 연결 레이어가 사용되어야하는지에 대한 아이디어

이 방법으로 이해하려고 노력합니다. 완전히 연결된 레이어 이전에는 여러 가지 고급 기능이 포함될 수있는 길쌈 레이어가 있습니다. 완전 연결된 레이어는 복잡한 레이어에서 추상화 된 기능 목록과 같습니다. 그러나 이런 의미에서 하나의 FC 레이어로 충분합니다. 왜 둘? 그리고 왜 3 또는 4 또는 더 이상? 나는 이것의 뒤에있는 제약이 컴퓨팅 비용일지도 모른다고 생각한다. 그러나 더 많은 FC 레이어가 항상 더 나은 결과를 제공 할 필요가 있습니까? 두 가지를 선택하는 이유는 무엇일까요?

답변

3

완벽하게 연결된 레이어는 복잡한 레이어에서 추출한 기능 목록과 비슷합니다.

네, 맞습니다. 이 레이어의 목표는 이미지 패치에서 감지 된 기능을 특정 작업에 결합하는 것입니다. 일부 (매우 단순화 된) 의미에서 전환 레이어는 스마트 기능 추출기이고 FC 레이어는 실제 네트워크입니다.

왜 두 개입니까? 그리고 왜 3 또는 4 또는 더 이상?

나는이 특정 네트워크에 대한 정확한 이유를 말할 수는 없지만,이 선택이 의미있게 이유를 몇 가지 이유를 상상할 수 : 당신은 당신의 첫번째 FC 층을 만들고 싶어하지 않는

  • 을 너무 커서, 대부분의 모델 매개 변수를 포함하고, 다시 말하면 대부분의 메모리를 소비하기 때문입니다. 예 : VGGNet은 FC 레이어에서 7*7*512*4096 = 102,760,448 매개 변수를 가지며 이는 모든 네트워크 매개 변수의 72 %입니다. 두 배로 크게하면 85 %가됩니다!

    따라서 하나의 커다란 FC 레이어보다 두 개의 작은 FC 레이어가 차례대로 메모리 제약 조건에서 더 유연합니다.

  • Conv 레이어는 최상위 레이어에서 결합되는 방식보다 정확성면에서 훨씬 중요합니다. 세 개 이상의 FC 레이어에는 아무런 문제가 없지만 시도해도 큰 변화가 없을 것이라고 생각합니다.

    사실, all-convolutional network의 경우에는 눈에 띄는 성능 저하없이 FC 레이어를 컨벌루션 레이어로 대체하여 네트워크를 크게 단순화 할 수 있음이 나타났습니다. 여기서 강조하고자하는 바 : 이 네트워크에는 FC 레이어가 전혀 포함되어 있지 않습니다.. 저자가 FC 부분에 너무 많은 시간을 소비하지 않고 이전 레이어에 집중한다면 놀라지 않을 것입니다. 최신 CNN은 FC 레이어도 제거하는 경향이 있습니다.

는 그런데, 나는 계산의 대부분은 첫 번째 전환 층에서 어떤 일이 일어나고 있기 때문에 계산 비용이 큰 요인은, 지금까지의 FC 층에 관한 한이라고 생각하지 않습니다. 컨볼 루션은 행렬 곱셈보다 훨씬 비쌉니다.