Що моєї нейронної мережі щойно дізналися? Які особливості це стосується і чому?


30

Нейронна мережа вивчає особливості набору даних як засобу досягнення певної мети. Коли це буде зроблено, ми можемо захотіти знати, про що дізналася нейронна сітка. У чому полягали особливості і чому це ставилося до них. Чи може хтось надати деякі посилання на основні роботи, які стосуються цієї проблеми?

Відповіді:


28

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

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

alexnet шар 1

Ця фотографія є першим шаром фільтрів від AlexNet і взята з цього чудового підручника: http://cs231n.github.io/understanding-cnn/ . Це дозволяє нам інтерпретувати перший прихований шар як навчання уявлення зображення, що складається з неочищених пікселів, як тензор, де кожна координата є узгодженням фільтра з невеликою областю зображення. Наступний шар потім працює з цими активаціями фільтрів.

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

[010141010].

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

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

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

Кріс Олах та інші ( https://distill.pub/2017/feature-visualization/ ) будують на цьому і обговорюють, як взагалі можна (1) створювати зображення, що призводять до великих активацій, щоб зрозуміти, що таке мережа шукає; або (2) зробити фактичні вхідні зображення та подивитися, як різні частини зображення активують мережу. Цей пост присвячений (1).

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

C. Olah та ін

Я настійно рекомендую прочитати цю статтю в повному обсязі, якщо ви хочете глибше зрозуміти це, і прочитавши його посилання, ви повинні добре зрозуміти, що з цим було зроблено.

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


2
+1, особливо для заключного пункту. Я особисто думаю, що люди із зором закінчуються візуалізацією за цією великою кількістю параметрів.
Haitao Du

звичайно +1 за добре написану довгу відповідь з достовірними посиланнями.
Хайтао Ду

1
@ hxd1011 дякую, і я думаю, що Олах та ін. відзначили, що в цій статті не дуже чесно дивитись лише на те, що максимізує окремий нейрон, оскільки дійсно шар є базою, і це більше стосується простору, який представляє шар, ніж точні базові вектори. Тож хоча весело дивитись, багато з цих візуалізацій можуть бути не надто проникливими
jld

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

Олах та ін. публікація в блозі приємна, але вони помиляються - вони "оптимізують для максимальної активації" (не зовсім це, але закривають), знаходять картинку, яка не схожа на картинки з навчального набору, і роблять висновок, що CNN "бачать" по-різному від нас. Хоча висновок, очевидно, правдивий, міркування є хибними - режим високорозмірного розподілу не схожий на типовий зразок цього розподілу. Іншими словами, саме тому, що CNN повинні класифікувати котів, що в режимі розподілу має бути не кішка, а "кошмарний кіт".
DeltaIV

7

Нейронна мережа - одна з моделей чорної скриньки, яка не дала б "легко зрозуміти" правил / або того, що було вивчено.

Зокрема, дізналися параметри в моделі, але параметри можуть бути великими: сотні тисяч параметрів - це дуже нормально.

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


Фактично, одношарова нейромережа (без прихованого шару) з логістичною функцією як функцією активації ідентична логістичній регресії. Логістична регресія дуже багата на інтерпретації. Ось один приклад. Але зі складною нейронною мережею / більш прихованими шарами така інтерпретація не застосовуватиметься.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.