Конволюційні нейронні мережі: Чи не є центральні нейрони надмірно представлені у висновку?


30

[Це питання також було задано при переповненні стека]

Питання коротше

Я вивчаю конволюційні нейронні мережі, і вважаю, що ці мережі не розглядають кожен вхідний нейрон (піксель / параметр) рівномірно. Уявіть, у нас є глибока мережа (багато шарів), яка застосовує згортання на деяке вхідне зображення. Нейрони в "середині" зображення мають багато унікальних шляхів до багатьох нейронів більш глибокого шару, а це означає, що невелика варіація середніх нейронів сильно впливає на вихід. Однак нейрони на краю зображення мають лише шлях (або, залежно від точної реалізації, порядку ) шляхи, по яких їх інформація протікає через графік. Здається, що це "недостатньо представлені".11

Мене це хвилює, оскільки ця дискримінація крайових нейронів масштабується експоненціально з глибиною (кількістю шарів) мережі. Навіть додавання шару максимального об'єднання не зупинить експоненціальне збільшення, лише повне з'єднання зрівняє всі нейрони на рівних умовах. Я не переконаний, що мої міркування правильні, тому мої запитання:

  • Я правий, що цей ефект має місце в глибоких згорткових мережах?
  • Чи існує якась теорія з цього приводу, вона коли-небудь згадувалася в літературі?
  • Чи є способи подолати цей ефект?

Оскільки я не впевнений, чи це дає достатню інформацію, я детальніше розкажу про постановку проблеми, і чому я вважаю, що це викликає занепокоєння.

Більш детальне пояснення

Уявіть, у нас є глибока нейронна мережа, яка сприймає зображення як вхід. Припустимо, що ми застосовуємо згортковий фільтр розміром пікселі над зображенням, де ми щоразу зміщуємо вікно згортки на пікселі. Це означає, що кожен нейрон на вході посилає свою активацію до нейронів у рівні . Кожен з цих нейронів може направити свою активацію на інші , таким чином, щоб наш найвищий нейрон був представлений у вихідних нейронах тощо.64×64416×16=26522652652

Однак це не стосується нейронів на краях: вони можуть бути представлені лише у невеликій кількості вікон згортки, таким чином вони змушують активувати (на порядок) лише нейрон у наступному шарі. Використання таких прийомів, як дзеркальне відображення по краях, не допоможе цьому: нейрони нейронів другого шару все ще знаходяться на краях, а це означає, що нейрони другого шару будуть недостатньо представлені (тим самим обмежуючи важливість наші крайові нейрони також). Як видно, ця невідповідність масштабується експоненціально з кількістю шарів.1

Я створив зображення для візуалізації проблеми, яку можна знайти тут (мені заборонено включати зображення до самої публікації). Ця мережа має вікно згортання розміром . Числа поруч з нейронами вказують на кількість шляхів до найглибшого нейрона. Зображення нагадує трикутник Паскаля .3

https://www.dropbox.com/s/7rbwv7z14j4h0jr/deep_conv_problem_stackxchange.png?dl=0

Чому це проблема?

Цей ефект не здається проблемою з першого погляду: в принципі, ваги повинні автоматично регулюватися таким чином, щоб мережа виконувала свою роботу. Більше того, краї зображення не так важливі для розпізнавання зображень. Цей ефект може не бути помітним у повсякденних тестах на розпізнавання зображень, але він все ж стосується мене через дві причини: 1. узагальнення до інших програм та 2. проблеми, що виникають у випадку дуже глибоких мереж.

1. Можуть бути й інші програми, такі як розпізнавання мови чи звуку, де неправда, що нейрони середнього рівня є найважливішими. Застосування згортки часто робиться в цій галузі, але мені не вдалося знайти жодної статті, яка б згадувала про ефект, який мене хвилює.

2. Дуже глибокі мережі помітять експоненціально поганий ефект дискримінації прикордонних нейронів, а це означає, що центральні нейрони можуть бути завищені на кілька порядкових розмірів (уявімо, у нас є шарів таким чином, що вищенаведений приклад дав би способів центральні нейрони можуть проектувати свою інформацію). У міру збільшення кількості шарів, один повинен досягти межі, коли ваги неможливо компенсувати цей ефект.1026510

А тепер уявіть, що ми збурюємо всі нейрони невеликою кількістю. Центральні нейрони призведуть до того, що вихід буде сильніше змінюватися на кілька порядків порівняно з реберними нейронами. Я вважаю, що для загальних програм та для дуже глибоких мереж слід знайти шляхи навколо моєї проблеми?


8
Я не можу повністю відповісти на ваше запитання, але я знайшов цей документ: cs.utoronto.ca/~kriz/conv-cifar10-aug2010.pdf, який вирішує вашу проблему. Вони говорять про різні рішення, 1) забивання країв входів нулями, 2) додавання до випадково глобально з'єднаних компонентів, або 3) фіксація та передача вперед по краях, щоб не втрачалася інформація про край. Нещодавно мені було цікаво з тією ж проблемою, і я знайшов ваше запитання. Я досі переглядаю деталі цього паперу. Сподіваюся, це допомагає.
nfmcclure

Дякую, саме це я шукав! Вражає, що це помітно лише у 2 шари. Для цих TL; DR'ing всього документу: використання комбінації 1) (нульова прокладка) та 2) (випадкові глобальні з'єднання) було визнано найкращим засобом.
Коен


Мені цікаво, чи недостатньо використання компенсації, що не перекривається? Отже, у вашому прикладі ви маєте 64x64 патчів, і ви переміщуєте свій вхід в 64 пікселів щоразу, застосовуючи згортку. (ваша "зміна" - це моє "зміщення"). Яке, напевно, те саме, що робити нульові прокладки?
Ренталь

1
Вибачте, що деякий час не відповідали, я більше не працюю над NN. Однак я думаю, що міг би відповісти на запитання, хоча усвідомлюю, що моя більша мета полягала в тому, щоб краще зрозуміти, що відбувається (чого я досі не знаю). 1) Цей ефект, схоже, має місце насправді. 2) Документ, зв'язаний вище, описує це, 3) також досліджує шляхи його подолання. Для Renthal: патчі, що не перекриваються (вибираючи зсув = розмір конв.), Справді повинні подолати мою проблему, але люди часто знаходять перекриття патчів для кращої роботи. Для EngrStudent, Вибачте, я не знайомий з Bootstrap Resampling.
Коен

Відповіді:


4

Розрізнені уявлення очікуються в ієрархічних моделях. Можливо, те, що ви виявляєте, є проблемою, властивою ієрархічній структурі моделей глибокого навчання. Ви знайдете досить багато наукових праць про "розрізнені уявлення", особливо в дослідженнях пам'яті.

Я думаю, вам було б корисно, читаючи про «рецепторні поля» у зоровій корі. У головному мозку ссавців є не тільки клітини ВКЛ та ВИМКНЕННЯ, але й радіочастотні клітини, які стріляють як під час ВКЛ, так і ВИКЛ. Можливо, проблему краю / розрідження можна було б уникнути, оновивши модель, щоб відобразити поточну нейронауку щодо зору, особливо на тваринних моделях.


3

Ви маєте рацію, що це проблема, якщо згортання працює лише на пікселях зображення, але проблема зникає, якщо ви знімаєте зображення з нуля (як це зазвичай рекомендується). Це гарантує, що згортка застосує фільтр однакову кількість разів до кожного пікселя.


1
Я ще не переконаний. Нульова накладка створить лише більше вихідних пікселів навколо «центральних» пікселів, які можна знайти без прокладки. Значення «центральних» пікселів точно однакові, незалежно від того, які з нульових накладок використовуються.
Коен

1
Якщо вікно згортання має розмір , то, проклавши всі ребра з безліччю нулів, ви гарантуєте, що згортка буде діяти на крайових пікселях стільки ж разів, скільки на внутрішніх пікселях (якщо це зробити це на кожному згортковому шарі в мережі). На практиці, однак, немає таких агресивних накладок, а замість цього зменшується важливість крайових пікселів в тонких розмірах, оскільки важлива інформація набагато частіше розташовується поблизу центру зображення. н×нн-1
jon_simon

Візуалізація згортання на півдорозі на цій сторінці може допомогти передати інтуїцію: cs231n.github.io/convolutional-networks
jon_simon
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.