Як візуалізувати / зрозуміти, що робить нейромережа?


37

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

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


1
Ось приємний приклад: playground.tensorflow.org
nobar

Відповіді:


12

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

Ви також можете перевірити, наскільки чутлива помилка мережі wrt до певного входу, а також за допомогою цього.

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


13

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

х1,i[0,1]rанг(0,1)-0,5R2

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

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


1
Дякую за відповідь; це насправді те, що я зробив, і вважаю це дуже корисним. У цьому питанні я хоч більше шукаю те, що виглядає всередині мережі, а не трактує це як чорне поле.
rm999


1

Восени 2011 року я взяв безкоштовний онлайн-курс машинного навчання з Standford, який викладав Ендрю Нг, і ми візуалізували нейронну мережу, яка була детектором обличчя. Вихід був родовим обличчям. Я хочу згадати це для повноти, але ви не згадали про такий додаток, тому я не збираюся розкопувати деталі. :)


Університет - Стенфорд. Я можу знайти курс Ендрю Нґ в Інтернеті. Я чув, як Дік Деве читав лекцію про нейронні мережі, стверджуючи, що нейронні частини в ній приховують те, що відбувається насправді. це лише інший тип нелінійного класифікатора, і якщо замість того, щоб дивитися на це з точки зору діаграми, їх найкраще зрозуміти, виписавши те, що вони роблять алгебраїчно. Сподіваюся, я пам’ятаю це право.
Майкл Р. Черник

Де Вео та Унгар, короткий вступ до нейронних мереж 1997 року: "Нейронні мережі, здається, є скрізь сьогодні, і, принаймні, в їхній рекламі є можливість зробити все, що може зробити статистика, не маючи суєти і заважаючи робити щось, крім купіть програмне забезпечення ".
denis

0

Нижче згаданий метод взято за цим посиланням , для отримання детальної інформації відвідайте сайт.

Почніть із випадкового зображення, тобто довільно надайте значення пікселям. "Далі ми робимо перехід вперед, використовуючи це зображення x як вхід в мережу для обчислення активації a_i (x), викликаної x в якомусь нейроні i десь посередині мережі. Потім робимо зворотний прохід (виконуючи backprop) для обчислення градієнта a_i (x) відносно більш ранніх активацій у мережі. Наприкінці зворотнього проходу нам залишається градієнт ∂a_i (x) / ∂x , або як змінити колір кожного пікселя на посилюємо активацію нейрона i . Ми робимо саме це, додаючи до зображення невелику частку αα цього градієнта:

x ← x + α⋅∂a_i (x) / ∂x

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

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