병목 현상 아키텍처는 신경망에서 어떻게 작동합니까?


21

[2 개의 3x3 전환 레이어]가 [하나의 1x1 전환, 하나의 3x3 전환 및 다른 1x1 전환 레이어]로 대체되는 ResNet 논문에서 발견되는 유형으로 병목 현상 아키텍처를 정의합니다 .여기에 이미지 설명을 입력하십시오

1x1 전환 레이어는 치수 축소 (및 복원)의 형태로 사용되며 다른 게시물 에서 설명 합니다. 그러나 왜이 구조가 원래 레이아웃만큼 효과적인지 확실하지 않습니다.

몇 가지 좋은 설명은 다음과 같습니다. 어떤 보폭 이 사용되며 어떤 층에 있습니까? 각 모듈의 입력 및 출력 치수의 예는 무엇입니까? 56x56 기능 맵은 위 다이어그램에 어떻게 표시됩니까? 64-d는 필터 수를 나타내며 왜 256-d 필터와 다른가? 각 레이어에 몇 개의 가중치 또는 FLOP가 사용됩니까?

모든 토론은 대단히 감사합니다!


나는 그것이 과도한 피팅의 일반화와 예방에 도움이 될 것이라고 생각합니다. 그러나 그것은 모호한 기억 일뿐입니다.
Chris

답변:


5

병목 현상 아키텍처는 계산 고려 사항으로 인해 매우 딥 네트워크에서 사용됩니다.

질문에 대답하려면 :

  1. 위 이미지에는 56x56 기능 맵이 표시되어 있지 않습니다. 이 블록은 입력 크기가 224x224 인 ResNet에서 가져옵니다. 56x56은 일부 중간 계층에서 다운 샘플링 된 입력 버전입니다.

  2. 64d는 기능 맵 (필터)의 수를 나타냅니다. 병목 현상 아키텍처는 훨씬 더 깊은 네트워크를위한 것이므로 256-d를 갖습니다. 이는 더 높은 해상도의 이미지를 입력으로 사용할 수 있으므로 더 많은 기능 맵이 필요합니다.

  3. ResNet 50에서 각 병목 현상 레이어의 매개 변수는 이 그림 을 참조하십시오 .


1
장래 독자들에게는 1x1 전환 수가 56x56의 (WxH)를 유지하기 위해 보폭 = 1이고 패드 = 0이라고 생각합니다. 마찬가지로 3x3 전환은 크기를 유지하기 위해 보폭 = 1, 패드 = 1입니다.
derekchen14

아직도 이해가 안 돼요. 둘 다 비슷한 양의 매개 변수를 가지고있는 것 같습니다.이 경우 여전히 bootleneck 레이어의 목적을 이해하지 못합니다.
user570593

-1

나는 정말로 Newstein 의 대답 에서 2 포인트 가 오도 된 것이라고 생각합니다 .

64-d또는 256-d참고하여주십시오한다 채널 수입력 기능지도 - 입력 기능을하지 수는 매핑합니다.

OP의 질문에서 "병목 현상"블록 (그림 오른쪽)을 예로 들어 보겠습니다.

  • 256-d는 차원이있는 단일 입력 기능 맵이 있음을 의미합니다 n x n x 256. (가) 1x1, 64도형 수단에 64 필터 각각은 1x1및 갖는 256채널 ( 1x1x256).
  • 여기 1x1x256에서 입력 기능 맵 ( n x n x 256) 이있는 단일 필터 ( ) 의 컨볼 루션이 n x n출력을 제공 한다는 것을 알 수 있습니다 .
  • 이제 우리는 64필터 를 가지고 있습니다. 따라서 출력을 쌓아서 출력 기능 맵 차원은 n x n x 64입니다.

편집 :

  • @Michael Chernick : 좋아, 대답을 수정하려고 시도했을 때 이것은 부분 답이 될 것입니다. 시간을내어 부분 답변 을보고 올바르게 이해하는지 알려 주시겠습니까?

평판에 관계없이 의견에 답변을 사용해서는 안됩니다.
Michael R. Chernick
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.