Шрифт:
Закладка:
Рис. 7.1. Джон Хопфилд решает задачу на набережной в Вудс-Хоул в штате Массачусетс. В 1980-х годах Хопфилд оказал основополагающее влияние на нейронные сети, изобретя одноименную сеть, которая открыла дверь для глубокого обучения
Нейронные сети с обратными связями с более ранними слоями и циклическими связями между элементами внутри слоя могут иметь гораздо более сложную динамику, чем сети только с прямыми связями. Общий случай сетей с произвольно связанными элементами с положительными (возбуждающими) и отрицательными (тормозящими) весами – сложная математическая задача. Джек Коуэн из Чикагского университета и Стивен Гроссберг из Бостонского университета ранее изучали такие сети и добились прогресса, показав, что нейросети могут воспроизводить зрительные иллюзии[152] и галлюцинации[153], но проектировать такие сети для решения сложных вычислительных задач было трудно.
Сеть с ассоциативной памятью
Летом 1983 года мы с Джеффри Хинтоном были на организованном Джерри Фельдманом семинаре в Рочестерском университете. Джон Хопфилд (рис. 7.1) также там присутствовал. В Рочестере Хопфилд сказал нам, что решил проблему сходимости для сильно взаимодействующей сети. Сильно нелинейные сети склонны к колебаниям или еще более хаотичному поведению. Он доказал, что определенный тип нелинейной сетевой модели, теперь называемой сетью Хопфилда, гарантированно сходится к стабильному состоянию, называемому аттрактором (рис. 7.2, блок 3)[154]. Кроме того, веса в сети можно выбрать так, чтобы аттракторами были блоки памяти. Таким образом, сеть Хопфилда можно использовать для реализации так называемой ассоциативной памяти. В цифровом компьютере память хранится в ячейках с определенным адресом, но в сети Хопфилда можно получить сохраненную память, обратившись только к ее части, а сеть ее восполнит. Похоже на то, как у нас пробуждаются воспоминания. Если мы видим лицо кого-то, кого мы знаем, мы можем вспомнить его имя и разговоры с этим человеком.
Рис. 7.2. Энергетический ландшафт сети Хопфилда. Состояние сети можно представить в виде точки на энергетической поверхности (слева). Каждое обновление приближает состояние к одному из минимумов энергии, называемых состояниями аттрактора (справа)
Сеть Хопфилда уникальной делает то, что она математически всегда сходится (блок 3). Считалось, что невозможно проанализировать общий случай нелинейной сети, но Хопфилд показал, что частный случай симметричной сети, в которой взаимные связи между парами единиц равны по силе, а единицы обновляются последовательно, разрешим. Когда обновления производятся одновременно для всех узлов в сети, динамика может быть гораздо сложнее, и нет никакой гарантии схождения[155].
Появляется все больше доказательств того, что нейронные сети в гиппокампе – части мозга, которая необходима для хранения долгосрочных воспоминаний о событиях и уникальных объектах, – имеют аттракторные состояния, подобные тем, которые находятся в сети Хопфилда[156]. Хотя модель сильно абстрагирована, ее качественное поведение похоже на то, что наблюдается в гиппокампе. Сети Хопфилда стали мостом от физики к нейробиологии, который многие физики протянули в 1980-х годах. Удивительные открытия были получены при анализе нейронных сетей и алгоритмов обучения с помощью сложных инструментов из теоретической физики. Связи между физикой, вычислениями и обучением глубоки и являются одной из областей нейробиологии, где теория успешно объясняет функционирование мозга.
Блок 3. Сеть Хопфилда
В сети Хопфилда от каждого блока идет выходной канал ко всем блокам в сети. Входы обозначены как xi, а выходы – yj. Сила соединений или веса симметричны: wij=wji. На каждом временном шаге одна из единиц обновляется путем суммирования входов и сравнения с порогом: если входы превышают порог, выход равен 1, в противном случае – 0. Хопфилд показал, что сеть имеет энергетическую функцию, которая никогда не увеличивается с каждым обновлением объекта в сети:
E = Σ wij xi xj
В конце концов ни один из блоков не меняется, и функция находится на локальном минимуме. Это называется состоянием аттрактора в сети Хопфилда и соответствует хранимой памяти, которая может быть восстановлена путем инициализации сети с частью сохраненных данных. Так в сети Хопфилда создается ассоциативная память. Вес хранимой информации можно узнать с помощью долговременной синаптической пластичности:
∆ wij = α xi xj
где левая сторона – изменение веса, α – скорость обучения, а xi – хранимая информация.
Джон Хопфилд и Дэвид Тэнк, работавший в то время в компании Bell Labs[157], показали, что вариант сети Хопфилда, в котором информация постоянно оценивалась между нулем и единицей, можно использовать, чтобы получить хорошие решения для задач по оптимизации, таких как задача коммивояжера, где необходимо найти кратчайший маршрут, посещая указанные города[158]. Это задача по информатике, известная своей сложностью. Энергетическая функция сетей включала длину пути и ограничение на посещение каждого города одним разом. После кратковременного повышения напряжения в начале сеть начинала работать с минимальными затратами энергии, находя хороший, хоть и не обязательно лучший маршрут.
Поиск глобального энергетического минимума
На семинаре также присутствовал Дана Гарри Баллард, написавший классическую книгу по компьютерному зрению. Мы с Джеффри работали с Баллардом над обзорной статьей для журнала Nature о новом подходе к анализу изображений[159]. Идея заключалась в том, что узлы в сетевой модели исполняют роль информационной функции на изображении, а соединения в сети разграничивают объекты; у согласованных узлов – положительное взаимодействие друг с другом, а у несогласованных – отрицательное. В поле зрения необходимо последовательно проанализировать все признаки, подходящие под заданные ограничения.
Может ли сеть Хопфилда решить эту проблему, удовлетворив всем ограничениям? Энергетическая функция – мера того, насколько хорошо сеть их удовлетворяет. Проблема зрения требовала решения с глобальным энергетическим минимумом, лучшего решения, но сеть Хопфилда изначально спроектирована находить только локальные минимумы энергии. Недавно в журнале Science я наткнулся на статью Скотта