Знают ли ученые, что происходит внутри искусственных нейронных сетей?

69

Знают ли ученые или эксперты-исследователи из кухни, что происходит внутри сложной «глубокой» нейронной сети, когда по крайней мере миллионы соединений разрываются в одно мгновение? Понимают ли они процесс, стоящий за этим (например, что происходит внутри и как именно это работает), или это предмет спора?

Например, это исследование говорит:

Однако нет четкого понимания того, почему они так хорошо работают или как их можно улучшить.

Значит ли это, что ученые на самом деле не знают, как работают сложные сверточные сетевые модели?

kenorb
источник
« почему они так хорошо работают » - они не очень хорошо работают. Как и в случае большинства новых технологий, об ошибках сообщается недостаточно.
Томаш Зато

Ответы:

51

Есть много подходов, которые направлены на то, чтобы сделать обученную нейронную сеть более понятной и менее похожей на «черный ящик», в частности , на упомянутые вами сверточные нейронные сети .

Визуализация активаций и веса слоев

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

Еще одна замечательная работа по активациям, которую я хотел бы упомянуть, это deepvis, который показывает реакцию каждого нейрона на каждом слое, включая пул и нормализацию. Вот как они это описывают :

Короче говоря, мы собрали несколько различных методов, которые позволяют вам «триангулировать» то, чему научился нейрон, что может помочь вам лучше понять, как работают DNN.

Вторая общая стратегия - визуализация весов (фильтров). Они обычно наиболее интерпретируемы на первом слое CONV, который смотрит непосредственно на необработанные данные пикселей, но можно также показать вес фильтра глубже в сети. Например, первый слой обычно изучает похожие на фильтры фильтры, которые в основном обнаруживают края и пятна.

фильтры первого слоя

Окклюзионные эксперименты

Вот идея. Предположим, что ConvNet классифицирует изображение как собаку. Как мы можем быть уверены в том, что на самом деле на изображении появляется собака, а не какие-то контекстные подсказки на заднем плане или какой-то другой разный объект?

Один из способов изучения того, из какой части изображения исходит какое-то классификационное предсказание, состоит в построении графика вероятности класса интереса (например, класса собаки) в зависимости от положения объекта окклюдера. Если мы проведем итерации по областям изображения, заменим его всеми нулями и проверим результат классификации, мы сможем построить двухмерную тепловую карту того, что наиболее важно для сети на конкретном изображении. Этот подход использовался в книге Мэтью Цайлера «Визуализация и понимание сверточных сетей» (на которую вы ссылаетесь в своем вопросе):

эксперименты окклюзии

деконволюция

Другой подход заключается в синтезировании изображения, которое вызывает срабатывание определенного нейрона, в основном то, что ищет нейрон. Идея состоит в том, чтобы вычислить градиент по отношению к изображению вместо обычного градиента по отношению к весам. Таким образом, вы выбираете слой, устанавливаете градиент там равным нулю, за исключением одного для одного нейрона и backprop для изображения.

Deconv на самом деле делает так называемое обратное распространение, чтобы сделать изображение более привлекательным , но это всего лишь деталь.

Подобные подходы к другим нейронным сетям

Настоятельно рекомендую этот пост Андрея Карпати , в котором он много играет с Recurrent Neural Networks (RNN). В конце он применяет похожую технику, чтобы увидеть, чему на самом деле учатся нейроны:

Нейрон, выделенный на этом изображении, кажется, очень взволнован по поводу URL-адресов и отключается за пределами URL-адресов. LSTM, вероятно, использует этот нейрон, чтобы запомнить, находится ли он внутри URL или нет.

Заключение

Я упомянул лишь небольшую часть результатов в этой области исследований. Это довольно активно, и каждый год появляются новые методы, которые проливают свет на внутреннюю работу нейронной сети.

Чтобы ответить на ваш вопрос, ученые всегда что-то еще не знают, но во многих случаях они имеют хорошее (литературное) представление о том, что происходит внутри, и могут ответить на многие конкретные вопросы.

Для меня цитата из вашего вопроса просто подчеркивает важность исследования не только повышения точности, но и внутренней структуры сети. Как говорит Мэтт Цилер в этом выступлении , иногда хорошая визуализация может, в свою очередь, привести к большей точности.

Максим
источник
Визуализация зная? Или это просто модное решение невежества? Возможно, математическое развитие - это область, которой больше всего не хватает строгости и достаточности.
FauChristian
1
@FauChristian Вы упускаете суть здесь. Веса и все математические операции внутри нейронной сети точно известны , как и ассемблерный код. Это вне вопроса. Визуализация позволяет понять, почему происходят определенные операции и приводит к хорошей производительности. Еще раз, как классические алгоритмы информатики. Кроме того, я призываю вас прочитать статью Zieler at al, упомянутую в ответе.
Максим
1
Я не упустил эти моменты, изучив их в качестве старшекурсника. Я был ленив в своем комментарии, хотя. Черно-белая сетка, представляющая ядра, интересна только тем, что показывает несколько хаотическую матрицу состояний ядра обнаружения волнистых краев, что указывает на необходимость охарактеризовать хаос для его понимания. Каковы их распределение по размерам, угловое распределение и перекос? Указывают ли эти распределения (a) переопределение, специфичное для определенных наборов данных, или (b) общий шаблон, который может быть заменен функциональным блоком с большей вычислительной эффективностью. ~~ Однажды не могу отличить от визуального.
FauChristian
1
Правильно, все эти распределения (и многие-многие другие) здесь не вычисляются. Это не значит, что они не могут или не должны вычисляться. Это также не означает, что интерпретация модели не имеет ничего общего с визуализацией. Я еще раз призываю вас прочесть «Визуализация и понимание сверточных сетей» Цилера в al, где авторы обсуждают это подробно.
Максим
У нас есть это в лаборатории. Мой сотрудник пробежал несколько примеров кода. Я посмотрю на это со стороны статистики. Спасибо.
FauChristian
27

Это зависит от того, что вы подразумеваете под «знать, что происходит».

Концептуально, да: ANN выполняет нелинейную регрессию. Фактическое выражение, представленное весовой матрицей / функцией (ами) активации ANN, может быть явно расширено в символической форме (например, содержащее подвыражения, такие как ).1/1+e1/1+e

Однако, если под «знать» вы подразумеваете прогнозирование выхода какого-либо конкретного (черного ящика) ANN каким-либо другим способом, то препятствием является наличие хаоса в ANN, который имеет высокие степени свободы .

Вот также несколько сравнительно недавних работ Ход Липсона по пониманию ANN через визуализацию .

NietzscheanAI
источник
13

Краткий ответ - нет .

Интерпретируемость модели - это гиперактивная и очень горячая область современных исследований (подумайте о святом Граале или о чем-то), которая была выдвинута в последнее время не в последнюю очередь благодаря (часто огромному) успеху моделей глубокого обучения в различных задачах; эти модели в настоящее время только черные ящики, и мы, естественно, чувствуем себя некомфортно по этому поводу ...

Вот некоторые общие (и последние, по состоянию на декабрь 2017 года) ресурсы на эту тему:

И на более практическом уровне (код и т. Д.):

В последнее время наблюдается всплеск интереса к созданию более теоретической основы для нейронных сетей глубокого обучения. В этом контексте известный статистик и пионер компрессионного зондирования Дэвид Донохо совсем недавно (осень 2017 года) начал предлагать курс в Стэнфорде, « Теории глубокого обучения» (STATS 385) , где почти весь материал доступен в Интернете; Настоятельно рекомендуется ...

ОБНОВЛЕНИЯ :

desertnaut
источник
Здравствуй. Кажется, это хороший ответ, но вам нужно немного его почистить и организовать. Первые ресурсы должны быть самыми полезными и общими. Тогда вы можете перечислить более конкретные ресурсы и исследовательские работы, ИМХО. А позже вы можете перечислить, например, темы Twitter или что-то еще.
nbro
8

Боюсь, у меня нет под рукой конкретных цитат, но я видел / слышал цитаты таких экспертов, как Эндрю Нг и Джеффри Хинтон, где они четко говорят, что мы не совсем понимаем нейронные сети. То есть мы кое-что понимаем о том, как они работают (например, математика, стоящая за обратным распространением), но мы не совсем понимаем, почему они работают. Это своего рода тонкое различие, но дело в том, что нет, мы не понимаем очень глубоких деталей того, как именно вы переходите от массы гирлянд, скажем, к распознаванию кошки, играющей с мячом.

По крайней мере, с точки зрения распознавания изображений, лучшее объяснение, которое я слышал, состоит в том, что последовательные слои нейронной сети изучают более сложные функции, состоящие из более детальных функций с более ранних уровней. То есть первый слой может распознавать «края» или «прямые линии». Следующий слой может затем выучить геометрические фигуры, такие как «коробка» или «треугольник», а затем более высокий уровень может выучить «нос» или «глаз» на основе этих более ранних функций, а затем слой более высокого уровня все еще узнает «сделанное лицо» от «глаза», «носа», «челюсти» и т. д. Но даже это, насколько я понимаю, все еще является гипотетическим и / или не совсем понятным.

Mindcrime
источник
2
Мне было бы интересно прочитать актуальные цитаты. На самом широком концептуальном уровне, почему «Они являются универсальными приближениями функции, обученными уменьшать ошибку в проблеме регрессии».
NietzscheanAI
Я посмотрю, смогу ли я выследить их. Я почти уверен, что цитата из Джеффри Хинтона, о которой я думаю, содержится в видео… или в его классе Coursera, или в каком-то видео, которое он разместил на Youtube. Если я смогу его найти, я отредактирую свой ответ и
свяжу
Я не забыл. Я постараюсь найти их, когда у меня будет немного свободного времени. Я думаю, что по крайней мере один из тех, о которых я думаю, был из видео, которое является частью курса Coursera.
mindcrime
Это исследование может помочь поставить те же ссылки: «Однако нет четкого понимания того, почему они так хорошо работают или как их можно улучшить».
Кенорб
4

Вот ответ Карлоса Э. Переса на вопрос « Что такое теория глубокого обучения?

[...]

Основополагающая математика глубокого обучения существует уже несколько десятилетий, однако впечатляющие результаты, которые мы видим сегодня, являются частью гораздо более быстрого аппаратного обеспечения, большего объема данных и постепенного улучшения методов.

Глубокое обучение в целом можно представить как проблему оптимизации, где цель является функцией ошибки модели. Эту проблему оптимизации очень трудно решить, учитывая, что пространство параметров модели (то есть веса нейронной сети) приводит к проблеме в чрезвычайно высоком измерении. Алгоритм оптимизации может занять очень много времени, чтобы исследовать это пространство. Кроме того, было непроверенное мнение, что проблема не является выпуклой, и вычисления всегда будут зависать в локальных минимумах.

[...]

Теория, почему машины действительно сходятся к аттрактору или другими словами, учатся распознавать сложные паттерны, до сих пор неизвестна.

Подводя итог: у нас есть некоторые идеи, но мы не совсем уверены.

Бенджамин Крузье
источник
3

Знают ли ученые, что происходит внутри искусственных нейронных сетей?

ДА

Знают ли ученые или эксперты-исследователи из кухни, что происходит внутри сложной «глубокой» нейронной сети, когда по крайней мере миллионы соединений разрываются в одно мгновение?

Я думаю, что «знать из кухни» означает «знать в деталях»?

Позвольте мне привести ряд аналогий:

  1. Инженер самолета знает из кухни, что происходит внутри самолета?
  2. Знает ли разработчик чипа подробно, что происходит в чипе (ах), который он разработал?
  3. Инженер-строитель знает все о доме, который он построил?

Дьявол кроется в деталях, но здесь важно то, что речь идет об искусственных конструкциях. Они не появляются случайно. Вам нужно много знаний, чтобы получить что-нибудь полезное. Что касается нейронных сетей, я бы сказал, что с момента публикации ключевой идеи (Rosenblatt perceptron, 1957) до первого заявления (Почтовая служба США, 1989) прошло примерно 40 лет. Оттуда снова 13 лет активного поиска действительно впечатляющих систем (ImageNet 2012).

То, что мы знаем очень хорошо, это то, как работает тренировка . Потому что это должно быть реализовано. Так что на очень маленькой структуре мы знаем это подробно.

Думай о компьютерах. Дизайнеры чипов очень хорошо знают, как работает их чип. Но у них, скорее всего, будет только очень грубое представление о том, как работает операционная система Linux.

Другой пример - физика и химия: физика описывает основные силы вселенной. Значит ли это, что они знают все о химии? Конечно нет! «Совершенный» физик может объяснить все в химии ... но это было бы в значительной степени бесполезно. Ему потребуется гораздо больше информации, чтобы он не мог пропустить ненужные части. Просто потому, что он слишком «увеличил масштаб» - рассматривает детали, которые на практике не интересны и не важны. Обратите внимание, что знания физика не ошибаются. Может быть, можно даже вывести из него знания химика. Но это «высокоуровневое» понимание взаимодействия молекул отсутствует.

Основное понимание этих двух примеров - уровни абстракции: сложность можно построить из простых структур .

Что еще?

Мы хорошо знаем, что в принципе достижимо с помощью разработанных нами нейронных сетей :

  • Нейронная сеть, разработанная для игры в Го - как бы она ни была сложна - никогда не сможет играть в шахматы. Вы можете, конечно, добавить еще один слой абстракции вокруг него и комбинировать вещи. Но для такого подхода нужны люди.
  • Нейронная сеть, разработанная для того, чтобы отличать собак от кошек, которые видели только пуделей и персидских кошек, вероятно, будет очень плохой, когда ей придется выбирать для йоркширских терьеров.

О, и, конечно, у нас есть аналитические подходы для нейронных сетей. Я написал магистерскую диссертацию об анализе и оптимизации сверточных архитектур нейронных сетей . В этом контексте ЛАЙМ (Локальные Интерпретируемые Модельно-Агностические Пояснения) хорош:

введите описание изображения здесь

Мартин Тома
источник
1
На большинство из них влияют биологические модели. Сказать, что ученые построили NN как функцию проблемы, довольно трудно поверить ... Особенно, когда никто не знает, почему конкретная архитектура или определенный набор гиперпараметров работают хорошо для данная проблема ... Я не говорю о точных гиперпараметрах, но, похоже, ни у кого нет общего понимания того, какие приблизительные гиперпараметры могут работать для данной проблемы (проблема четко определена) .. Так что ни один ученый не знает, что происходит внутри Анна.
DuttaA
Подумайте о ранних автомобильных / авиационных инженеров. Вы сказали бы, что они не знают, что происходит внутри их самолета / автомобиля, потому что они не построили их, потому что их форма не была аэродинамической?
Мартин Тома
1
Ofc ... Не знать что-то из-за нехватки технологий ... Это что-то другое, чем не знать теоретически .. Я считаю, что это была технология в случае с самолетами .. Хотя здесь мы не можем обрабатывать математически .. Так что забудьте о технологии
DuttaA
1

Я просто хотел добавить кое-что:

это зависит от того, что вы подразумеваете под ученым:

Я аспирант в области электротехники, и я видел, что с ANN работает очень много исследователей в таких областях, как регрессия, прогнозирование, адаптивное управление и проблемы классификации.

Вы можете ясно заметить, что их недостаток в навыках кодирования является серьезным недостатком, и они не совсем понимают, что происходит внутри ANN, теперь я даже не говорю о Deep , они борются с пониманием простых вещей, таких как ADALINEs и ANFIS! все, что вы слышите, они говорят: дайте им данные, и они адаптируются!

Картер Нолан
источник
1
Хотя вы, вероятно, концептуально правы, вы можете получить некоторые голоса и, возможно, оказать некоторую конструктивную помощь, если перепишете свой ответ, чтобы он выглядел как социологическое наблюдение, а не педантичная тирада.
FauChristian