Каждый узел этой сети прямо или косвенно влияет на все остальные, причем их конкретные роли остаются до конца неустановленными. Неизвестно даже точное количество центров, вовлеченных в обработку зрительной информации у человека, хотя обычно говорят о «более чем тридцати», между которыми существует порядка 200 линий прямой и обратной связи.
Разумеется, одни из них можно назвать низшими, ответственными за распознавание простейших особенностей картинки — скажем, форм или движения. Другие, высшие зрительные центры, больше заняты поиском образов и лиц. Однако это разделение довольно условно — достаточно сказать, что информация движется между зрительными центрами не только «снизу вверх», но и «сверху вниз».
Иногда это заставляет нас обманываться зрительными иллюзиями: мозг дополняет «низшие» элементы картинки несуществующими «высшими». В результате мы можем совершенно отчетливо увидеть лицо в смесителе с парой вентилей или обратить внимание на облако в форме вертолета. Похожая картина откроется нам и глубоко внутри программного «мозга» нейронной сети, распознающей изображения. Во всяком случае, у нее те же самые…
Каждый нейрон получает возбуждающий или тормозящий сигнал от нейронов предыдущего слоя (а первый слой — от входных «рецепторов»). Каждый сигнал умножается на определенный весовой коэффициент, усиливаясь или ослабевая. Нейрон лишь суммирует их, и если в итоге сумма этих взвешенных сигналов превышает определенную пороговую величину, нейрон срабатывает и передает собственный сигнал нейронам следующего слоя.
Такая организация в некоторой степени воспроизводит нейронную структуру «микроколонки», минимальной структурно-функциональной единицы коры головного мозга. Как правило, каждая микроколонка неокортекса содержит шесть слоев и около сотни нейронов.
Однако общее число микроколонок в нашем мозге исчисляется десятками миллионов — запредельное количество для обсчета даже на самых современных компьютерах. Простейшая искусственная нейронная сеть может состоять всего из одного перцептрона. Ведь даже в такой элементарной форме она способна к самосовершенствованию в ходе того, что называется…
Машинное обучение
Никто не рождается суперменом в деле распознавания образов: как и ходьбе, этому надо учиться. Мозг получает зрительный сигнал и добрый совет от родителей: это поле, это пастух, а вот его собака… В следующий раз — «Где здесь собака?» — правильный ответ будет означать похвалу и награду. Так, раз за разом, сотни тысяч раз видя разные предметы с разных сторон, мы совершенствуем этот важный навык, узнаем все новые образы и учимся их узнавать.
Так действует и нейронная сеть, постоянно пересматривая свою работу и адаптируясь для того, чтобы узнавать тот или иной образ. Весовые коэффициенты, которые определяют значимость сигналов, получаемых нейроном от предыдущего слоя, поначалу задаются случайным образом. Однако после того, как система выдала первый — конечно, неверный — результат, она начинает их изменять и уточнять. Обрабатывая тысячи снимков, нейронная сеть каждый раз вносит изменения в свою работу, пока не начнет стабильно получать правильный результат.
Многое тут зависит от учебника — точнее говоря, от набора обучающих изображений. «На самом деле в интернете картинок не так много, — говорит глава службы функциональности поиска «Яндекса» Андрей Плахов, — особенно в сравнении с тем колоссальным количеством, которые мы видим в течение жизни». Это создает опасность, знакомую разработчикам нейронных сетей: обучение может превратиться в зубрежку.
Если выбрана неполная или однообразная обучающая база, системе будет проще затвердить правильные ответы на все изображения, чем учиться распознавать на них сложные детали. Такую сеть называют «переобученной» (а по-английски «избалованной», grandmothered): она великолепно справляется со знакомыми изображениями, но не даст ничего, если ей предложить новую, незнакомую картинку.
Поэтому для обучения нейронных сетей распознаванию картинок, как правило, используют стандартизованные базы. Самой популярной и обширной из них можно назвать ImageNet, поддерживаемую Стэнфордским университетом. База включает больше 14 млн картинок, упорядоченных в 27 категорий верхнего уровня иерархии — от «инструмент» до «гриб» и от «геологическое образование» до «овощ» — и 27?000 категорий всех уровней. На этой библиотеке учится большинство подобных нейронных сетей, и ее случайные особенности могут во многом определить их «способ мышления».
Возможно, именно особенностями обучающей базы объясняется склонность Deep Dream находить повсюду именно животных и дальневосточные пагоды: нейронная сеть обучалась на изображениях, где их было особенно много. Впрочем, так ли это, сказать трудно, ведь даже разработчики толком не понимают…
Что у нее внутри
Современная нейронная сеть может включать десятки, а то и сотни слоев-перцептронов с множеством нейронов в каждом. Как и зрительные центры мозга, они организованы в сложную сеть взаимосвязей — и, как в мозге, эта система пластична. Сконструировав и обучив нейронную сеть, разработчик остается в полном неведении о том, что именно в итоге в ней происходит, как она меняется в ходе обучения, на какие особенности изображений начинает обращать внимание, а какие отбрасывает.
«Биологические аналогии не должны сбивать с толку: нейронные сети — продукт математики и программирования, — говорит Андрей Плахов. — С этой точки зрения нейронную сеть можно представить как невероятно сложную функцию с неизвестной формулой. Запись «формулы» Deep Dream заняла бы, наверное, не один десяток томов. Но в целом мы знаем лишь данные, которые она получает на входе, и результат, который выдает на выходе. Какие именно операции совершаются в процессе, сказать зачастую невозможно».
Видимо, так появился и Deep Dream — из чистого любопытства к тому, как именно работают нейронные сети, ведущие распознавание и классификацию изображений. Самый очевидный способ увидеть результаты работы каждого слоя-перцептрона — заставить его визуализировать эти результаты. Нам, людям, вообще удобнее мыслить картинками, поэтому программисты Google доработали нейронную сеть так, чтобы разные слои, участвующие в распознавании, усиливали на изображении именно те особенности, которые они сами заметили и выделили.
Как и в случае мозга, можно заметить, что одни слои нейронной сети берут на себя задачи ближе к «нижнему» уровню восприятия — такие как выделение границ фигур на картинке, а другие работают с более сложными образами. Это проявляется и в особенностях «художественного стиля», в котором «творят» разные варианты Deep Dream.
Однако и здесь не существует четкого разделения полномочий: все слои нейронной сети взаимосвязаны, как зрительные центры нашего мозга. Возможно, это и делает картинки такими завораживающими, такими похожими на…
Настоящее искусство
Почему картинки, которые создает Deep Dream, воспринимаются как что-то близкое к искусству? Специалисты дали на наш вопрос довольно неожиданный ответ. «Это может быть связано с современной парадигмой зрения, распространившейся с начала XIX века, — предполагает искусствовед Глеб Напреенко. — До того времени наблюдатель уподоблялся бестелесной точке, находящейся как бы за пределами реальности, которую он воспринимает, словно зритель, заглядывающий в камеру-обскуру. Лишь приблизительно двести лет назад субъект получил телесность, его зрение было помещено в глаз, он стал почти соучастником наблюдаемой сцены».
«Этот переход видно и по той роли, которую играет взгляд на живописном полотне: если прежде он скользил по нему, не рискуя натолкнуться на встречный интерес, то уже во французской живописи второй половины XIX века появляются образы, возвращающие взгляд зрителю, смотрящие на него в ответ, — добавляет Глеб Напреенко. — Эта парадигма снова актуализируется в «работах» Deep Dream. Его способность выявлять в любых изображениях рожицы и мордочки соответствует нашему внутреннему стремлению обнаруживать направленные на нас взгляды, таящиеся в вещах».
Сети сходят с ума
Deep Dream уже успел породить «городскую легенду» о том, что обработка алгоритмом нисколько не меняет картины Иеронима Босха с их фантасмагорическими существами. Это не так — можете проверить сами, зато действительно остаются почти теми же фракталоподобные работы английского художника Луиса Уэйна, написанные им в последние годы и после нескольких психозов.
В самом деле, бросается в глаза удивительное сходство изображений, которые порождает Deep Dream, с некоторыми образчиками творчества психически больных или людей, находящихся под действием «психоделических» наркотиков. Это не простое совпадение: среди множества воздействий, которые оказывают эти вещества на мозг, не последнюю роль играет нарушение скоординированной работы зрительных центров.
Статья «Искусство цифровых фантазий: почему нейронным сетям снятся электроовцы» опубликована в журнале «Популярная механика» (№155, сентябрь 2015).
Нет комментариев