Перцептрон вызвал восторг в научном сообществе. Он был простым, но при этом умел узнавать печатные буквы и звуки речи: для этого требовалось только обучение на примерах. Коллега Розенблатта по Корнелльскому университету доказал: если положительные и отрицательные примеры можно разделить гиперплоскостью, перцептрон эту плоскость найдет. Розенблатту и другим ученым казалось вполне достижимым истинное понимание принципов, по которым учится мозг, а с ним — мощный многоцелевой обучающийся алгоритм.
Но затем перцептрон уперся в стену. Инженеров знаний раздражали заявления Розенблатта: они завидовали вниманию и финансированию, которое привлекали нейронные сети в целом и перцептроны в частности. Одним из таких критиков был Марвин Минский, бывший одноклассник Розенблатта по Научной средней школе в Бронксе, руководивший к тому времени группой искусственного интеллекта в Массачусетском технологическом институте. (Любопытно, что его диссертация была посвящена нейронным сетям, но потом он в них разочаровался.) В 1969 году Минский и его коллега Сеймур Пейперт[60] опубликовали книгу Perceptrons: an Introduction to Computational Geometry[61], где подробно, один за другим описали простые вещи, которым одноименный алгоритм не в состоянии научиться. Самый простой и потому самый убийственный пример — это функция «исключающее ИЛИ» (сокращенно XOR), которая верна, если верен один, но не оба входа. Например, две самые лояльные группы покупателей продукции Nike — это, видимо, мальчики-подростки и женщины среднего возраста. Другими словами, вы, скорее всего, купите кроссовки Nike, если вы молоды XOR женщина. Молодость подходит, женский пол тоже, но не оба фактора сразу. Если вы не молоды и вы не женщина, для рекламы Nike вы тоже неперспективная цель. Проблема с XOR в том, что не существует прямой линии, способной отделить положительные примеры от отрицательных. На рисунке показаны два неподходящих кандидата:
Поскольку перцептроны могут находить только линейные границы, XOR для них недоступен, а если они неспособны даже на это, значит, перцептрон — не лучшая модель того, как учится мозг, и неподходящий кандидат в Верховные алгоритмы.
Перцептрон моделирует только обучение отдельного нейрона. Минский и Пейперт признавали, что слои взаимосвязанных нейронов должны быть способны на большее, но не понимали, как такие слои обучить. Другие ученые тоже этого не знали. Проблема в том, что не существует четкого способа изменить вес нейронов в «скрытых» слоях, чтобы уменьшить ошибки нейронов в выходном слое. Каждый скрытый нейрон влияет на выход множеством путей, и у каждой ошибки — тысячи отцов. Кого винить? И наоборот, кого благодарить за правильный выход? Задача присвоения коэффициентов доверия появляется каждый раз, когда мы пытаемся обучить сложную модель, и представляет собой одну из центральных проблем машинного обучения.
Книга Perceptrons была пронзительно ясной, безупречной с точки зрения математики и оказала катастрофическое воздействие на машинное обучение, которое в те годы ассоциировалось в основном с нейронными сетями. Большинство исследователей (не говоря уже о спонсорах) пришли к выводу, что единственный способ построить интеллектуальную систему — это явно ее запрограммировать, поэтому в науке на 15 лет воцарилась инженерия знаний, а машинное обучение, казалось, было обречено остаться на свалке истории.
Физик делает мозг из стекла
Если об истории машинного обучения снять голливудский блокбастер, Марвин Минский был бы главным злодеем — злой королевой, которая дает Белоснежке отравленное яблоко и бросает ее в лесу (в написанном в 1988 году эссе Сеймур Пейперт даже в шутку сравнивал себя с охотником, которого королева послала в лес убить Белоснежку). Принцем же на белом коне был бы физик из Калифорнийского технологического института по имени Джон Хопфилд[62]. В 1982 году Хопфилд заметил поразительное сходство между мозгом и спиновыми стеклами — экзотическим материалом, который очень любят специалисты по статистической физике. Это открытие привело к возрождению коннекционизма, пиком которого несколько лет спустя стало изобретение первых алгоритмов, способных решать проблему коэффициентов доверия. Кроме того, оно положило начало новой эры, в которой машинное обучение вытеснило инженерию знаний с положения доминирующей парадигмы в науке об искусственном интеллекте.
Спиновые стекла на самом деле не стекла, хотя некоторые стеклоподобные свойства у них есть. Скорее, они магнитные материалы. Каждый электрон — это крохотный магнит, так как у него есть спин[63], который может указывать «вверх» или «вниз». В таких материалах, как железо, спины электронов обычно выстраиваются в одном направлении: если электрон со спином «вниз» окружен электронами со спином «вверх», он, вероятно, перевернется. Когда большинство спинов в куске железа выстраивается, он превращается в магнит. В обычных магнитах сила взаимодействия между соседними спинами одинакова для всех пар, однако в спиновом стекле она может отличаться и даже бывает негативной, из-за чего расположенные рядом спины принимают противоположные направления. Энергия обычного магнита ниже всего, если все спины выровнены, но в спиновом стекле все не так просто: вообще говоря, нахождение состояния наименьшей энергии для спинового стекла — это NP-полная проблема, то есть к ней можно свести практически любую другую сложную проблему оптимизации. В результате спиновое стекло не обязательно приходит в состояние наименьшей энергии: оно может застрять в локальном, а не глобальном минимуме, то есть состоянии меньшей энергии, чем все состояния, в которые можно из него перейти, поменяв спин. Во многом это похоже на дождевую воду, которая стекает в озеро, а не прямо в океан.
Хопфилд заметил интересное сходство между спиновым стеклом и нейронными сетями. Спин электрона отвечает на поведение своих соседей во многом так же, как нейрон: он переворачивается вверх, если взвешенная сумма соседей превышает пороговое значение, и вниз (или не меняется), если не превышает. Вдохновленный этим фактом, Хопфилд определил тип нейронной сети, которая со временем эволюционирует таким же образом, как спиновое стекло, и постулировал, что состояния минимальной энергии для этой сети — это ее воспоминания. Каждое такое состояние представляет собой «область притяжения» для исходных состояний, которые в нее сходятся, и благодаря этому нейронная сеть способна распознавать паттерны: например, если одно из воспоминаний — черно-белые пиксели, образующие цифру девять, а на изображении — искаженная девятка, сеть сведет ее к «идеальной» цифре и узнает. Внезапно к машинному обучению стало можно применить широкий спектр физических теорий, в эту дисциплину пошел поток статистических физиков, помогая вытащить ее из локального минимума, в котором она застряла.
Однако спиновое стекло — это все еще очень нереалистичная модель мозга. Во-первых, спиновые взаимодействия симметричны, а соединения между нейронами головного мозга — нет. Другой большой проблемой, которую модель Хопфилда игнорировала, было то, что настоящие нейроны действуют по законам статистики: они не детерминистски включаются и выключаются в зависимости от входа, а скорее включаются с большей вероятностью, но не обязательно, при повышении взвешенной суммы входов. В 1985 году исследователи Дэвид Окли, Джеффри Хинтон и Терри Сейновски заменили детерминистские нейроны в сетях Хопфилда вероятностными. Нейронная сеть получила вероятностное распределение по своим состояниям, и состояния высокой энергии стали экспоненциально менее вероятны, чем низкоэнергетические. Вероятность нахождения сети в конкретном состоянии была задана хорошо известным в термодинамике распределением Больцмана, поэтому ученые называли свою сеть машиной Больцмана.