* * *
На другом конце света - в японской национальной организации общественного вещания NHK, расположенной в Токио, - Кунихико Фукусима услышал о простых свойствах зрительной системы. Фукусима был инженером и сотрудником исследовательского отдела NHK.Поскольку NHK была вещательной компанией (и транслировала визуальные и аудиосигналы в глаза и уши людей), в ее штате также были группы нейрофизиологов и психологов, которые изучали, как сенсорные сигналы воспринимаются мозгом. Эти три группы - психологи, физиологи и инженеры - регулярно встречались, чтобы поделиться результатами работы в своих областях. Однажды коллега Фукусимы решил представить работу Хьюбела и Визеля.
Когда Фукусима увидел это четкое описание роли нейронов в зрительной системе, он задался целью реализовать те же функции в компьютерной модели. В качестве входного сигнала в его модели использовались изображения простых белых узоров на черном фоне. Чтобы приблизить работу таламуса, был создан лист искусственных нейронов, которые реагировали на белые точки на изображении. Это служило способом передачи информации об изображении в сеть. Отсюда нужно было рассчитать входные данные для простых клеток.
Для этого Фукусима использовала стандартный подход, заключающийся в создании сетки чисел, представляющих собой обнаруживаемый образец, который в случае простой клетки представляет собой линию с определенной ориентацией. В инженерной терминологии такая сетка чисел называется фильтром. Чтобы имитировать пространственные предпочтения простых клеток, Фукусима применил этот фильтр отдельно к каждому месту на изображении. В частности, активность одной простой клетки рассчитывалась как сумма активности таламуса в одном месте, умноженная на фильтр. Продвижение фильтра по всему изображению создавало набор простых клеток с одинаковой предпочтительной ориентацией, но разным предпочтительным расположением. Этот процесс известен в математике как свертка.
Создав несколько фильтров, каждый из которых представлял собой линию с разной ориентацией, и свернув каждый из них с изображением, Фукусима создал целую популяцию простых клеток, каждая из которых имела свою предпочтительную ориентацию и местоположение, как и мозг. Для сложных клеток он просто дал им сильные сигналы от горстки простых клеток, которые все представляли одну и ту же ориентацию в соседних местах. Таким образом, они будут активны, если ориентация появится в любом из этих мест.
Эта первая версия модели Фукусимы была практически прямым переводом физиологических данных Хьюбела и Визеля в математику и компьютерный код - и, в некотором роде, она работала. Она могла выполнять некоторые простые визуальные задачи, например, находить изогнутые линии на черно-белом изображении, но это была далеко не полноценная зрительная система, и Фукусима знал это. Как он позже рассказывал в интервью, после публикации этой работы в конце 1960-х годов Фукусима терпеливо ждал, что же откроют Хьюбел и Визель дальше; он хотел узнать, что делают более поздние стадии обработки зрительных сигналов, чтобы добавить их в свою модель.
Но знаменитая пара физиологов так и не предоставила эту информацию. После первоначальной работы по каталогизации типов клеток Хьюбел и Визель исследовали реакции клеток в других зрительных областях, но так и не смогли дать столь же чистое описание, как для первичной зрительной коры. В конце концов они перешли к изучению того, как развивается зрительная система у молодых животных.
Не имея сценария, предоставленного биологией, Фукусима должен был импровизировать. Решение, которое он придумал, заключалось в том, чтобы взять имеющуюся у него структуру - простые клетки, проецирующиеся на сложные клетки, - и повторить ее. Укладка простых и сложных клеток друг на друга снова и снова создает расширенную иерархию, через которую может проходить визуальная информация. В частности, это означает, что после начального слоя сложных клеток второй круг "простых" клеток. Этот второй слой простых клеток будет следить не за простыми особенностями изображения, а за простыми "особенностями" в деятельности сложных клеток, от которых они получают информацию. Они по-прежнему использовали бы фильтры и свертки, но только применительно к активности нейронов, расположенных ниже их. Затем эти простые клетки посылают входные сигналы своим собственным сложным клеткам, которые реагируют на те же особенности в чуть большей области пространства - и затем весь процесс начинается снова.
Простые клетки ищут закономерности; сложные клетки прощают небольшое смещение этих закономерностей. Простые, сложные; простые, сложные. Снова и снова. Повторение этого риффа приводит к появлению клеток, которые реагируют на все виды паттернов. Например, чтобы простая клетка второго уровня отреагировала на букву "L", ей достаточно получить сигнал от сложной клетки с горизонтальным предпочтением в одном месте и от сложной клетки с вертикальным предпочтением в месте чуть выше и левее ее. Тогда простая клетка третьего уровня сможет легко реагировать на прямоугольник, получая входные данные от двух соответствующим образом расположенных "L"-клеток. Продвигаясь все дальше и дальше по цепочке, клетки начинают реагировать на более крупные и сложные паттерны, включая целые фигуры, объекты и даже сцены.
Единственная проблема, связанная с расширением выводов Хьюбела и Визеля таким образом, заключалась в том, что Фукусима на самом деле не знал, как клетки в разных слоях должны соединяться друг с другом. Необходимо было заполнить фильтры - сетки чисел, которые определяли бы, как реагируют простые клетки в каждом конкретном слое. Но как? Для этого Фукусима взял страницу из книги Селфриджа "Пандемониум" и обратился к обучению.
Вместо того чтобы использовать метод проб и ошибок, предложенный Селфриджем, Фукусима использовала вариант обучения, который не требует знания правильных ответов. В этой форме обучения модели просто показывают серию изображений, не сообщая, что на них изображено. Активность всех искусственных нейронов рассчитывается в ответ на каждое изображение, и связи между нейронами меняются в зависимости от того, насколько они активны (это может напомнить вам о гебистском стиле обучения). Например, если нейрон был очень активен в ответ на определенное изображение, то связи с его очень активными входами будут укрепляться. В результате этот нейрон будет сильно реагировать на это и подобные изображения в будущем. Таким образом, нейроны реагируют на определенные формы, и разные нейроны расходятся, чтобы иметь разные реакции. Таким образом, сеть способна улавливать разнообразные паттерны во входных изображениях.
В итоге модель Фукусимы состояла из трех слоев простых и сложных клеток и обучалась с помощью сгенерированных компьютером изображений цифр от нуля до четырех. Он назвал эту сеть "Неокогнитрон" и опубликовал результаты ее работы в журнале Biological Cybernetics в 1980 году.
В своих оригинальных работах Хьюбел и Визель подчеркивали, что их система классификации и номенклатура не должны восприниматься как евангелие. Мозг устроен очень сложно, и разделение нейронов всего на две категории никак не может отразить все разнообразие реакций и функций. Просто для удобства и целесообразности общения они действовали именно таким образом. Однако Фукусима добился успеха, сделав именно то, от чего предостерегали Хьюбел и Визель: он свел всю сложность зрительной системы мозга к двум очень простым вычислениям. Он принял эти описания за истинные или достаточно истинные и даже расширил их за пределы того, что они должны были описывать
Эта практика - разрушения и последующего расширения, стряхивания листьев с дерева и использования их для строительства дома - это то, что, как известно всем теоретикам и инженерам, необходимо для достижения прогресса. Фукусима хотел создать функционирующую зрительную систему в компьютере. Хьюбел и Визель дали описание зрительной системы мозга в первом приближении. Иногда первого приближения бывает достаточно.
* * *
В 1987 году, как и в любой другой год, жители Буффало, штат Нью-Йорк, отправляли через местное почтовое отделение бесчисленные счета, поздравительные открытки и письма. Жители города не знали, что, когда они вписывали в конверт пятизначный почтовый индекс получателя, этот почерк будет увековечен - оцифрован и сохранен на компьютерах по всей стране на долгие годы. Он станет частью базы данных для исследователей, пытающихся научить компьютеры читать человеческий почерк и, в свою очередь, произвести революцию в искусственном зрении.
Некоторые из исследователей, работавших над этим проектом, находились в Bell Labs, исследовательской компании, принадлежащей телекоммуникационной компании AT&T, расположенной в пригороде Нью-Джерси. Среди группы, состоящей в основном из физиков, был 28-летний французский компьютерщик по имени Янн ЛеКун. ЛеКун читал о Фукусиме и его Neocognitron и понял, что простая повторяющаяся архитектура этой модели может решить многие сложные проблемы зрения.
Однако ЛеКун также понимал, что необходимо изменить способ обучения модели связям. В частности, он хотел вернуться к подходу Селфриджа и предоставить модели доступ к изображениям, сопряженным с правильными метками о том, какая цифра на них изображена. Поэтому он изменил некоторые математические детали модели, чтобы сделать ее пригодной для другого типа обучения. При таком типе обучения, если модель неправильно классифицирует изображение (например, обозначает двойку как шестерку), все связи в модели - эти сетки чисел, определяющие, какие паттерны ищутся, - обновляются таким образом, чтобы снизить вероятность неправильной классификации этого изображения в будущем. Таким образом, модель учится тому, какие паттерны важны для идентификации цифр. Это может показаться знакомым, потому что ЛеКун использовал алгоритм обратного распространения, описанный в главе 3. Проделайте это с большим количеством изображений, и модель в целом станет довольно хорошо классифицировать изображения рукописных цифр, даже те, которые она никогда раньше не видела.