[이 질문은 또한 스택 오버플로 에서 제기되었습니다 ]
짧은 질문
나는 회선 신경 네트워크를 연구하고 있는데,이 네트워크가 모든 입력 뉴런 (픽셀 / 파라미터)을 동등하게 취급하지는 않는다고 생각합니다. 일부 입력 이미지에 컨볼 루션을 적용하는 딥 네트워크 (다중 레이어)가 있다고 가정합니다. 이미지의 "중간"에있는 뉴런은 더 깊은 층 뉴런에 대한 많은 고유 한 경로를 가지는데, 이는 중간 뉴런의 작은 변화가 출력에 강한 영향을 미친다는 것을 의미합니다. 그러나, 화상의 가장자리에있는 뉴런은 (정도의 정확한 구현에 따라, 또는 방법 자신의 정보를 그래프를 통해 유동하는 경로). 이것들은 "대표되지 않은"것 같습니다.
에지 뉴런의 이러한 차별이 네트워크의 깊이 (계층 수)에 따라 기하 급수적 으로 확장 되므로이 점 에 대해 우려 하고 있습니다. 최대 풀링 레이어를 추가해도 지수 증가가 중단되지는 않으며 전체 연결만으로 모든 뉴런이 동일한 기반을 갖습니다. 그러나 내 추론이 정확하다는 것을 확신하지 못하므로 내 질문은 다음과 같습니다.
- 이 효과가 깊은 컨볼 루션 네트워크에서 발생하는 것이 맞습니까?
- 이것에 대한 이론이 있습니까, 문학에서 언급 된 적이 있습니까?
- 이 효과를 극복 할 수있는 방법이 있습니까?
이것이 충분한 정보를 제공하는지 확실하지 않기 때문에 문제 진술에 대해 좀 더 자세히 설명하고 이것이 왜 문제라고 생각합니까?
더 자세한 설명
이미지를 입력으로 사용하는 심층 신경망이 있다고 상상해보십시오. 이미지 위에 픽셀 의 컨볼 루션 필터를 적용한다고 가정 하면 매번 컨볼 루션 창을 4 픽셀 씩 이동합니다. 이것은 입력의 모든 뉴런이 활성화를 레이어 2의 16 × 16 = 265 뉴런으로 보냅니다 . 이 뉴런 각각은 다른 265에 활성화를 보낼 수 있으므로 최상위 뉴런은 265 2 출력 뉴런 등으로 표시됩니다.
그러나 이것은 가장자리의 뉴런에는 해당되지 않습니다. 이들은 소수의 컨볼 루션 창에만 표시되어 다음 계층에서 뉴런 만 활성화시킬 수 있습니다. 가장자리를 따라 미러링과 같은 트릭을 사용하면 도움이되지 않습니다. 투사 될 2 층 뉴런이 여전히 가장자리에 있습니다. 즉, 2 층 뉴런이 제대로 표현되지 않습니다 (따라서 우리의 가장자리 뉴런도). 알 수 있듯이이 불일치는 레이어 수에 따라 기하 급수적으로 확장됩니다.
여기에서 찾을 수있는 문제를 시각화하기 위해 이미지를 만들었습니다 (게시물 자체에 이미지를 포함시킬 수 없습니다). 이 네트워크에는 크기가 컨볼 루션 창이 있습니다. 뉴런 옆의 숫자는 가장 깊은 뉴런까지의 경로 수를 나타냅니다. 이미지는 파스칼의 Triangle을 연상시킵니다 .
https://www.dropbox.com/s/7rbwv7z14j4h0jr/deep_conv_problem_stackxchange.png?dl=0
이것이 왜 문제입니까?
이 효과는 첫눈에 문제가되지 않는 것 같습니다. 원칙적으로 가중치는 네트워크가 작동하는 방식으로 자동 조정되어야합니다. 더욱이, 이미지의 에지는 이미지 인식에서 그렇게 중요하지 않다. 이 효과는 일상적인 이미지 인식 테스트에서 눈에 띄지 않을 수도 있지만, 그것은 여전히 내게 때문에 두 가지 이유에 관한 : 1. 다른 응용 프로그램을 일반화하고, (2) 의 경우에 발생하는 문제가 매우 깊은 네트워크를.
1. 음성 또는 소리 인식과 같은 다른 응용 프로그램이있을 수 있는데, 가장 중간에있는 뉴런이 가장 중요하지 않다는 것은 사실이 아닙니다. 컨볼 루션 적용은 종종이 분야에서 이루어 지지만, 내가 우려하는 효과를 언급 한 논문을 찾을 수 없었습니다.
2. 매우 깊은 네트워크가 알 기하 급수적으로 중앙 신경 세포는 크기의 여러 명령에 의해 과대 대표 될 수 있다는 것을 의미한다 경계 뉴런의 차별의 나쁜 효과를 (우리가 상상 층을 같은 위의 예는 줄 것이라고 (265) 10 가지 중앙 신경을 정보를 투사 할 수 있습니다). 레이어 수를 늘리면 가중치로 인해이 효과를 보상 할 수없는 한계에 도달하게됩니다.
이제 우리는 모든 뉴런을 소량 방해합니다. 중심 뉴런은 가장자리 뉴런에 비해 출력이 몇 배 더 강하게 변하게합니다. 일반적인 응용 프로그램과 매우 깊은 네트워크의 경우 문제를 해결할 방법을 찾아야한다고 생각합니까?