К книге
Законы мышления: В поисках математической теории разума7 Вычисления в пространствах.
26%
7 Вычисления в пространствах.
9

Сила логики отчасти заключалась в том, что она предлагала не просто способ описания мира, но и способ создания новых идей. Исходя из набора фактов, можно было следовать правилам вывода для получения новых фактов. Пространства и признаки дали психологам новые способы описания внутреннего мира человека. Однако им все еще не хватало четкого описания того, как ментальные состояния меняются со временем — то есть самого мышления. Логика лежала в основе идеи вычислений, воплощенной в машине Тьюринга. Использование пространств и признаков в качестве ментальных репрезентаций требовало создания новой модели вычислений.

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

Что если вместо попыток скопировать мысли и действия этого математика мы попробуем скопировать его мозг?

Американская публика познакомилась с искусственными нейронными сетями благодаря статье, опубликованной в The New York Times 13 июля 1958 года под броским заголовком: «Электронный „мозг“ учится сам». Статья начиналась так:

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

Как мог (живой) человек не заинтриговаться?

Идея создания схем, имитирующих человеческий мозг, существовала еще с 1940-х годов, когда Уоррен Мак-Каллок и Уолтер Питтс показали, как можно соединить нейроны вместе для реализации булевой логики, и вдохновили Джона фон Неймана задуматься об устройстве компьютеров по принципу мозга (см. главу 2). Нейронные сети присутствовали при самом рождении когнитивной науки: за докладом Ньюэлла и Саймона на Симпозиуме по теории информации в MIT в 1956 году последовала статья о реализации математических моделей нейронов на электронном калькуляторе IBM Type 704, одном из первых компьютеров. (Одной из соавторов этой статьи была Лоис Хайбт — единственная женщина, чья работа была представлена на симпозиуме; в дальнейшем она продолжила играть роль первопроходца как единственная женщина в команде разработчиков языка программирования ФОРТРАН). Особенность перцептрона заключалась в том, что он состоял не просто из схем, построенных на основе нейронов. Он использовал опыт, чтобы учиться тому, как эти нейроны должны соединяться друг с другом.

Другой особенностью перцептрона было то, что его изобретатель Фрэнк Розенблатт не стеснялся рекламировать его потенциал. Он заявил The New York Times, что это будет «первое электронное устройство, способное мыслить подобно человеческому мозгу».

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

Знакомьтесь: перцептрон

Фрэнк Розенблатт был психологом по образованию; он получил степени бакалавра и доктора психологии в Корнеллском университете, после чего стал научным сотрудником в Корнеллской авиационной лаборатории в Буффало. Его диссертация была посвящена статистическому анализу поведенческих тестов. Однако для психологической диссертации 1956 года она содержала два необычных компонента: код для расчета соответствующей статистики на цифровом компьютере и схему электрической цепи, которую он построил для своих коллег для автоматического анализа поведенческих данных. Хотя изначально Розенблатт стремился понять человеческий разум, со временем у него развился глубокий интерес к созданию более совершенных вычислительных машин.

У него появилась возможность реализовать оба эти интереса в Корнеллской авиационной лаборатории, где он начал работу над амбициозным проектом, финансируемым ВМС. Проект назывался PARA — акроним от Perceiving and Recognizing Automaton («Воспринимающий и распознающий автомат»). В своем первом отчете по проекту он пояснял, что «обсуждаемые концепции берут свое начало в некоторых независимых исследованиях автора в области физиологической психологии, целью которых было создание аналога мозга, полезного для анализа».

Розенблатт хотел построить искусственный мозг.

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

Рисунок 7.1: Иллюстрация перцептрона Розенблатта, где сетчатка из сенсорных элементов передает информацию на массив ассоциативных элементов, которые, в свою очередь, передают информацию на реагирующие элементы.

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

Упрощенная версия перцептрона показана на рисунке 7.2. Информация поступает от сетчатки к двум ассоциативным элементам, которые соединены с единичным реагирующим элементом (в данном случае классифицирующим изображение как квадрат или треугольник). Каждый ассоциативный элемент суммирует сигналы от сетчатки и выдает значение активации 1, если эта сумма превышает его порог, в противном случае выдавая значение активации 0. Эта активация передается по его связи к реагирующему элементу, умножаясь на соответствующий вес. Реагирующий элемент складывает активации ассоциативных элементов, умноженные на их веса. Если входной сигнал реагирующего элемента больше 0, он выдает ответ 1, сигнализируя о наличии квадрата. В противном случае он выдает ответ 1, указывающий на треугольник.

Рисунок 7.2: Простой перцептрон всего с двумя ассоциативными элементами и одним реагирующим элементом. Сенсорные элементы не показаны, но именно они передают входные данные на ассоциативные элементы.

Мы можем записать все это более наглядно с помощью простой математики. В этих формулах стоит разобраться, поскольку они встретятся нам и в следующих двух главах. Во-первых, мы можем использовать обозначение активация1 для указания активации первого ассоциативного элемента, и аналогично активация2 — для активации второго ассоциативного элемента. Число, задающее вес связи от первого ассоциативного элемента к реагирующему элементу, — это вес1r, а соответствующее число для второго ассоциативного элемента — вес2r. Входной сигнал реагирующего элемента r в таком случае можно записать в виде:

входr = активация1 × вес1r + активация2 × вес2r .

Полученное число сравнивается с 0, чтобы определить, равна ли активация реагирующего элемента 1 или 1. Например, если перцептрон получил входной сигнал, в результате которого активация ассоциативных элементов составила 1 и 0 соответственно, а соответствующие веса были равны 0,2 и 0,3, то входной сигнал реагирующего элемента составил бы 1 × 0,2 + 0 × −0,3 = 0,2. Поскольку это число больше 0, активация реагирующего элемента была бы равна 1 — перцептрон предположил бы, что на изображении присутствует квадрат.

Даже эта простая нейронная сеть представляет собой шаг к вычислениям с использованием пространств: нейронные сети можно рассматривать как способ преобразования одного пространства в другое (см. рисунок 7.2).

В нашем упрощенном перцептроне можно считать, что ассоциативные элементы задают одно пространство. Мы можем определить оси, соответствующие значениям активация1 и активация2, и представить активацию ассоциативных элементов как точку в этом пространстве. Каждый паттерн, попадающий на сетчатку перцептрона, превращается в точку в этом пространстве. Наш пример паттерна, приводящий к активациям 1 и 0, соответствовал бы точке (1, 0) в этом пространстве.

Реакция перцептрона определяет другое пространство — в данном случае всего лишь одномерное. Активация реагирующего элемента определяет наше положение в этом измерении, принимая значение 1 либо 1. В нашем примере точка (1, 0) отображается в значение реакции 1.

Перцептрон в целом представляет собой отображение между этими двумя пространствами. Каждая точка в пространстве ассоциативных элементов отображается в точку в пространстве реагирующих элементов, вызывая либо не вызывая положительную реакцию. Веса нейронной сети определяют характер этого отображения — то есть какие именно точки в пространстве ассоциативных элементов в итоге порождают положительную реакцию. Например, если бы используемые в нашем примере веса были не 0,2 и 0,3, а 0,1 и 0,4, то входной сигнал реагирующего элемента составил бы 1 ×−0,1 + 0 × 0,4 = 0,1, и точка (1, 0) вместо этого отобразилась бы в 1.

Первое описание перцептрона Розенблатта включало набор весов, который позволял решать простую задачу классификации. Но его истинной целью было сделать так, чтобы перцептрон мог самостоятельно выучивать эти веса. Чтобы понять, как такое возможно, он обратился к новейшим идеям в области нейронауки.

Возбуждение и связь

В 1950-х годах нейробиологи только начинали разбираться в том, как именно происходит обучение в мозге. Вместо четких ответов, на которые мог надеяться Розенблатт, ведущие специалисты располагали в основном лишь гипотезами о возможных механизмах обучения. Одну из самых смелых гипотез предложил Дональд Хебб, психолог из Университета Макгилла.

Хебб глубоко интересовался тем, как устроено человеческое обучение. Он родился в 1904 году в Сент-Джоне (провинция Нью-Брансуик, Канада) в семье врачей (его мать была третьей женщиной в Новой Шотландии, получившей медицинскую степень). До восьми лет он находился на домашнем обучении, после чего пошел в местную школу, где в первый же год перескочил из второго класса сразу в четвертый, а на второй — в шестой. К сожалению, это ускорение вышло ему боком, поскольку Хеббу стало трудно поддерживать прочные социальные связи. Как он сам вспоминал: «Когда в возрасте двенадцати лет я поступил в девятый класс — будучи там самым младшим учеником, — для меня было важно уважение сверстников, а вовсе не умение решать алгебраические задачи, не обширное внеклассное чтение и не способность писать грамотнее всей школы, включая учителей». Из-за скуки и отсутствия мотивации в итоге он завалил одиннадцатый класс, и у него сложилось невысокое мнение о ценности школы.

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

Хебб ушел из школы, поработал возчиком на пшеничных полях, устроился разнорабочим в Квебеке и начал читать Фрейда. Это и увлекло его на скользкую дорожку, которая вела к карьере психолога: он начал обучение в магистратуре Макгилла, одновременно преподавая в начальной школе в Монреале.

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

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

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

За прошедшее время Хебб переехал в Чикаго, чтобы защитить докторскую диссертацию, затем в Гарвард вслед за своим научным руководителем Карлом Лешли, затем устроился на работу в Монреальский неврологический институт, где изучал, как повреждения человеческого мозга влияют на поведение людей, затем отправился исследовать мозг шимпанзе во Флориду и, наконец, вернулся в Университет Макгилла уже в качестве профессора. Попутно он начал задумываться о том, как мозг может представлять понятия. Он пришел к выводу, что понятие «представляет собой группу нейронов коры, которые возбуждают и повторно возбуждают друг друга». Но как подобная группа нейронов могла оказаться связанной так, чтобы это возбуждение и повторное возбуждение могло происходить?

Свой ответ Хебб изложил в книге «Организация поведения», опубликованной в 1949 году. В ней он предложил более лаконичную формулировку идеи, которую впервые выдвинул в своей магистерской диссертации:

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

Вот и все — теория обучения.

Аксон нейрона — это его отросток, который ведет от тела клетки к ее соединениям с другими нейронами. Таким образом, теория Хебба утверждала, что если два нейрона находятся достаточно близко друг к другу, чтобы оказывать влияние друг на друга, то при одновременной активности обоих нейронов («возбуждении») связь между ними усиливается. Нейробиолог Карла Шац свела это к лаконичному девизу: «Нейроны, которые возбуждаются вместе, связываются вместе».

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

Теория Хебба обладала двумя важными достоинствами. Во-первых, по сути, она оказалась верной. По мере того как нейробиологи все глубже проникали в механизмы обучения, они обнаружили, что в мозге происходит процесс, очень похожий на описанный Хеббом. Во-вторых — и для наших целей это, возможно, даже важнее, — ее можно облечь в строгую математическую форму.

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

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

изменение весаir = активацияr × активацияi,

где активацияi и весir — это, соответственно, активация и вес i-го ассоциативного элемента (то есть первого элемента, если i = 1, или второго, если i = 2). На практике нам может потребоваться контролировать величину изменения весов, что достигается добавлением в уравнение скорости обучения. Это дает:

изменение весаir = скорость обучения × активацияr × активацияi,

что известно как правило обучения Хебба, в честь Дональда Хебба.

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

изменение весаir = скорость обучения × цельr × активацияi,

где цельr — это значение, которое должен выдавать элемент ответа. Это позволит весам зафиксировать корреляцию между активацией ассоциативных элементов и целевым значением ответа.

Обучение по Хеббу использовалось в самых разных моделях нейронных сетей, особенно в тех, которые исследуют, как группы нейронов могут сохранять и извлекать воспоминания, формируя соответствующие ассоциации. Однако оно не устроило Розенблатта, который посетил лабораторию Хебба, будучи аспирантом. Хеббу удалось успешно описать один из видов обучения — павловское обусловливание, при котором два явления связываются друг с другом в результате их постоянного совместного появления. Но Розенблатта интересовал другой вид обучения — обучение на собственных ошибках. Тот, кто обучал перцептрон, мог сразу определить, когда тот ошибался, и казалось, что эти ошибки особенно важны для нахождения правильных весов.

Розенблатту нужно было придумать новое правило обучения.

Обучение на ошибках

Розенблатт решил исследовать простую идею: веса перцептрона должны обновляться только тогда, когда он совершает ошибку. То есть вес связи между ассоциативным элементом и элементом ответа менялся бы только в том случае, если элемент ответа выдавал неверный результат. Например, если этот элемент ответа должен был указывать, присутствует ли на картинке квадрат или треугольник, неверными ответами были бы выдача 1 при наличии треугольника (хотя должно быть 1) или 1 при наличии квадрата (хотя должно быть 1). Когда происходила ошибка, веса всех активных ассоциативных элементов корректировались в сторону правильного ответа: если ответом должна быть 1, а элемент ответа выдал 1, то увеличение весов активных ассоциативных элементов поможет подтолкнуть элемент ответа в нужном направлении; аналогично, если ответом должно быть 1, а элемент ответа выдал 1, то поможет уменьшение весов.

Опять же, это правило обучения весьма интуитивно: осознание собственной ошибки — мощный стимул для обучения. Если вы видите то, что приняли за кошку, и обнаруживаете, что на самом деле это собака, это может заставить вас переоценить важность тех или иных признаков кошек и собак, чтобы различать их в будущем. С другой стороны, простое подтверждение того, что перед вами кошка, вряд ли существенно изменит ваши представления о кошках. Алгоритм обучения Розенблатта, получивший название правило обучения перцептрона, отражал важность ошибок для того, чтобы заставить нас обращать внимание на информацию, необходимую для формирования ответа.

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

изменение весаir = скорость обучения × (цельr активацияr) × активацияi.

Вы можете убедиться, что это правило обновляет веса только тогда, когда перцептрон ошибается: если ответ совпадает с целью, то разность цельr активацияr будет равна нулю. Оно также меняет веса в нужном направлении: если цель равна 1, а ответ равен 1, веса увеличатся, а если цель равна 1, а ответ равен 1, веса уменьшатся.

Сравнение уравнений для правила обучения перцептрона и правила обучения Хебба выявляет любопытную деталь. Напомним, что правило обучения Хебба изменяет веса на основе корреляции в активации элементов. На правило обучения перцептрона также можно посмотреть как на изменение весов на основе корреляции — корреляции между ошибкой в ответе (цельr активацияr) и активацией ассоциативных элементов (активацияi). В этом заключалось ключевое нововведение Розенблатта: обучение определялось не совместным появлением признаков, а тем, в какой степени тот или иной элемент отвечал за то, что перцептрон совершил ошибку. Благодаря этому обучение становилось более эффективным, концентрируясь на изменениях, наиболее важных для уменьшения количества ошибок.

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

Именно это свойство перцептрона вселяло в Розенблатта такую уверенность, когда он заявлял о могуществе созданного им искусственного мозга. Он был убежден, что можно соединить датчики с ассоциативными элементами таким образом, чтобы его правило обучения позволяло находить правильные ответы для любой осмысленной задачи. Продемонстрированная в 1958 году работа устройства, о которой писала The New York Times, основывалась на компьютерном моделировании правила обучения, но впоследствии Розенблатт и его коллеги построили физическое устройство, реализующее алгоритм обучения перцептрона. Перцептрон «Марк-I» имел сетчатку, состоящую из 20 × 20 фотоэлементов (то есть мог обрабатывать изображения размером до 400 пикселей), коммутационную панель, с помощью которой можно было настраивать связи между этими датчиками и ассоциативными элементами, а также в общей сложности 512 шаговых двигателей, вращавших потенциометры, которые регулировали сопротивление на электрических соединениях между ассоциативными элементами и максимум восемью элементами ответа.

Если они пропустили статью о демонстрации Розенблатта в The New York Times, подписчики The New Yorker позже в том же году смогли наверстать упущенное благодаря опубликованному там интервью с ним. Оно вышло в рубрике «Разговоры в городе» (Talk of the Town) под шутливым заголовком «Соперник» — на том основании, что «устройство кажется нам первым в истории серьезным соперником человеческого мозга, и наш собственный мозг совершенно ошеломлен тем, на что этот соперник, по слухам, способен». Репортер спросил Розенблатта, существуют ли для перцептрона какие-либо ограничения — чего он не умеет делать? Розенблатт лишь развел руками и ответил просто: «Любить. Надеяться. Отчаиваться. Короче говоря, проявлять человеческую природу. Если мы не понимаем природу человеческого полового влечения, с какой стати нам ожидать этого от машины?»

Однако соперники самого Розенблатта полагали, что перцептрон может столкнуться с куда более фундаментальным ограничением…

Чего не могут «Перцептроны»

Научное сообщество в области искусственного интеллекта встретило работу Розенблатта без особого восторга. В своей книге о перцептронах «Принципы нейродинамики» он изложил свои соображения о том, почему так произошло:

Во-первых, это признанный недостаток математической строгости в предварительных отчетах. Во-вторых, то, как преподнесла первое публичное заявление о программе в 1958 году популярная пресса, набросившаяся на эту тему со всем пылом и тактичностью своры счастливых ищеек. Заголовки вроде «Думающий робот ВМС спроектировал монстра Франкенштейна» (газета Tulsa, Oklahoma Times) вряд ли могли внушить доверие ученым. В-третьих, и это, пожалуй, самое важное, возникло непонимание разницы в мотивации между программой перцептрона и различными инженерными проектами в области автоматического распознавания образов, «искусственного интеллекта» и передовых компьютеров. Для автора этих строк программа перцептрона связана в первую очередь не с созданием устройств «искусственного интеллекта», а скорее с исследованием физических структур и нейродинамических принципов, лежащих в основе «естественного интеллекта». Перцептрон — это прежде всего модель мозга, а не изобретение для распознавания образов.

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

Розенблатт начал налаживать контакты с исследователями искусственного интеллекта, очаровывая их одного за другим. Чарльз Розен, ученый из Стэнфордского исследовательского института, внесший большой вклад в развитие ИИ и робототехники, так вспоминал визит Розенблатта:

Он был психологом без особого опыта в инженерном деле. Немного знал математику. И, честно говоря, при первом знакомстве он не производил сильного впечатления: невысокий малый в очень толстых очках. […] Но у него был глубокий голос, и, когда он начинал говорить о своей работе, ваше представление о нем полностью менялось. Он был интересным человеком, очень интересным человеком. Позже, когда мы узнали его лучше, он заслужил наше глубокое уважение.

У Вуди Бледсо, специалиста по компьютерным наукам из Техасского университета в Остине, остались похожие воспоминания:

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

Но был один исследователь ИИ, которого Розенблатту так и не удалось убедить: Марвин Минский.

Как и Розенблатт, Минский вырос в Нью-Йорке. Более того, они были одноклассниками в Бронксской научной школе. В 1945–1946 годах Минский служил на флоте по программе подготовки специалистов по электронике, а затем поступил в бакалавриат Гарварда. Физик Джереми Бернштейн, который в то время тоже учился в Гарварде, находил сложным вписать учебную программу Минского в какие-либо привычные рамки: «Он брал уроки музыкальной композиции у композитора Ирвинга Файна. Будучи всего лишь студентом бакалавриата, он располагал собственными лабораториями — одной на факультете психологии, другой на факультете биологии — и писал дипломную работу по математике, посвященную одной из проблем топологии, которая в итоге оказалась блестящей и оригинальной».

На факультете психологии Минский познакомился с Джорджем Миллером, который поддержал его растущий интерес к пониманию того, как работает разум. Минский продолжил обучение в аспирантуре по математике в Принстоне, но сфера его интересов сместилась от топологии к созданию и анализу искусственных нейронных сетей. Во многих отношениях это было идеальное место для подобных исследований: в своей диссертации «Теория нейроаналоговых систем подкрепления и ее применение к проблеме моделирования мозга» он благодарит, среди прочих, Джона Нэша, Джона фон Неймана и Клода Шеннона за «продолжительные дискуссии и споры». В ней также ставится один из фундаментальных вопросов, лежащих в основе как искусственного интеллекта, так и когнитивистики: «Возможно ли описать систему, способную к поведению человекоподобной сложности, но при этом достаточно простую по своей физической структуре, чтобы её можно было понять?»

В своей диссертации Минский представил более глубокий анализ простых типов нейронных сетей, предложенных Мак-Каллоком и Питтсом. Но он также начал исследовать новый вопрос: как нейронные сети могут обучаться. Вдохновившись трудами Скиннера об обучении — и консультируясь с самим Скиннером, — он спроектировал устройство, реализующее нейронную сеть, связи в которой могли бы укрепляться благодаря опыту. Когда Минский поделился этой идеей с Миллером, тот пришел в восторг:

Он сказал: «А почему бы нам просто не попробовать?» Он очень в меня верил, что я высоко ценил. Каким-то образом ему удалось получить пару тысяч долларов от Управления военно-морских исследований, и летом 1951 года мы с Дином Эдмондсом отправились в Гарвард и построили нашу машину. В ней было триста электронных ламп и куча моторов. Нам понадобились автоматические электрические муфты, которые мы выточили сами. Память машины хранилась в положении регулировочных ручек — их было сорок штук, — и, когда машина обучалась, она использовала муфты для регулировки собственных ручек. Чтобы приводить муфты в движение, мы использовали списанный автопилот от бомбардировщика B-24.

Минский исследовал последствия расширения этого устройства путем добавления системы памяти, которая позволяла сети строить прогнозы: «У меня была наивная идея, что если бы удалось построить достаточно большую сеть с достаточным количеством петель памяти, то ей могло бы повезти и она обрела бы способность представлять себе вещи в своей голове». Но он отказался от этого проекта, несмотря на эти первые успехи, решив, что «либо это была плохая идея, либо для её реализации потребуются тысячи или миллионы нейронов, а я не мог позволить себе пытаться построить такую машину».

Из Принстона Минский вернулся в Гарвард, где стал членом Общества стипендиатов (Society of Fellows), а затем получил профессорскую должность в Университете Тафтса. Он был одним из организаторов встречи 1956 года, на которой искусственный интеллект получил свое название и где Саймон и Ньюэлл представили «Логика-теоретика» перед тем, как отправиться на Симпозиум по теории информации в MIT. В 1957 году Минский перешел в MIT, где стал сооснователем Группы искусственного интеллекта. Хотя он продолжал исследовать свойства нейронных сетей, он рассматривал символьные подходы, подобные тем, которые развивали Саймон и Ньюэлл, как ключевой элемент создания искусственного интеллекта.

Когда Минский впервые услышал об утверждении Розенблатта, что перцептрон способен выучить любую зависимость, которую он может представить, он в это не поверил. В конце концов, убедившись, что это правда, он начал задумываться о том, каковы могут быть пределы перцептронов. «Например, он мог отличить "E" от "F", а "5" от "6" — и всё в таком духе. Но когда рядом с этими фигурами появлялись посторонние стимулы, никак с ними не связанные, распознавание нарушалось. Мне казалось, что сторонники перцептрона были введены в заблуждение результатами экспериментов, поскольку давали машине очень чистые примеры».

Минскому же требовался строгий анализ возможностей перцептронов. Напарника для этого проекта он нашел на конференции по теории информации в Лондоне в 1960 году. Сеймур Пейперт, южноафриканец, завершавший в то время работу над своей второй докторской диссертацией по математике в Кембриджском университете, представил доклад об ограничениях обучения в системах, имеющих много общего с перцептронами. Минский также выступал с докладом об обучении в нейронных сетях, но они начали сотрудничать только в 1963 году, когда Пейперт приехал в MIT по приглашению Уоррена Мак-Каллока.

Пейперт разделял широту интересов Минского: он писал статьи о зрительном восприятии человека и провел некоторое время в Женеве вместе с великим детским психологом Жаном Пиаже. Как и у Минского, его математические исследования затрагивали темы логики и топологии. Они стали не только соавторами, но и близкими друзьями, понимая, что их общая математическая подготовка дает уникальный набор инструментов для анализа ограничений перцептронов.

Отправной точкой для понимания этих ограничений является осознание того, что в простом перцептроне, который мы использовали в качестве примера, входной сигнал для элемента ответа является линейной функцией активации ассоциативных элементов. Это видно из нашего уравнения, где мы просто складываем значения активации, умноженные на их веса:

входr = активация1 × вес1r + активация2 × вес2r .

Если мы построим график для этого случая, то увидим, что значения на входе образуют плоскую поверхность (многомерное обобщение прямой линии), причем угол наклона этой поверхности определяется весами (см. рисунок 7.3). Но что еще более важно: там, где эта плоская поверхность пересекает пространство значений активации — то есть там, где входной сигнал элемента ответа равен нулю, — образуется прямая линия. Это важно: элемент ответа выдает 1, если входной сигнал больше нуля, и 1, если он меньше нуля, а это значит, что он выдаст 1 для активаций по одну сторону этой линии и 1 для активаций по другую. Подобно прототипической модели, обсуждавшейся в предыдущей главе, перцептрон классифицирует объекты по категориям, формируя линейную границу между ними. Но он также обучается тому, где именно провести эту линейную границу.

Рисунок 7.3. Входной сигнал для элемента ответа нашего простого перцептрона представляет собой линейную функцию активации ассоциативных элементов, образующую плоскость. Граница между классами — это множество точек, где эта плоскость принимает значение ноль, образуя прямую линию. Показанная здесь граница соответствует нашему простому перцептрону с весами −0,1 и 0,4.

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

Сложность же заключается в том, что некоторые различия невозможно описать с помощью линейной границы. В качестве простого примера мы можем вернуться к логическим отношениям, которые мы рассматривали в главе 1.

Напомним, что в логике высказываний «и» определяется как

а «или» определяется как

где мы предполагаем неисключающее «или», которое истинно, когда истинно либо P, либо Q. Оба этих отношения могут быть описаны линейными границами. Если у нас есть один ассоциативный элемент, представляющий P и принимающий значение 1, когда P истинно, и 0, когда оно ложно, и другой ассоциативный элемент, представляющий Q аналогичным образом, мы можем построить график возможных значений P и Q (см. рисунок 7.4). Задача в таком случае состоит в том, чтобы найти линию, по одну сторону от которой лежат значения, где P ˄ Q или P ˅ Q истинны, а по другую — значения, где они ложны. В обоих случаях существует множество линий, удовлетворяющих этому требованию, — Мак-Каллок и Питтс, по сути, показали это, когда определили свои нейронные цепи для вычисления «и» и «или» (см. главу 2).

Рисунок 7.4: Линейные границы и логические отношения. Предполагается, что один ассоциативный элемент кодирует P, другой — Q. Каждая точка соответствует определенному распределению значений истинности P и Q. Когда эти суждения истинны, соответствующий ассоциативный элемент имеет активацию 1, в противном случае — 0. Желаемый отклик показан заливкой точки: белый (ложь) соответствует −1, а черный (истина) — 1. Как для «и», так и для «или» мы можем провести линию, разделяющую множества истинных и ложных точек; пример показан пунктирной линией. Для «исключающего или» (XOR) такой линии не существует.

Но существуют и другие логические отношения, для которых найти такую линию невозможно. Пример, приводимый Минским и Пейпертом, — это «исключающее или» (сокращенно XOR), которое истинно, если один из его аргументов истинен, а другой ложен (именно этот вариант «или» используется, когда мы говорим, что можно съесть либо торт, либо мороженое). Если записать «исключающее или» как ⊕, соответствующая таблица истинности примет вид:

Если мы применим тот же подход, что и для ˄ и ˅, то обнаружим, что невозможно провести линию в этом пространстве так, чтобы значения P и Q, при которых PQ истинно, оказались по одну сторону, а значения, при которых PQ ложно, — по другую.

Разумеется, люди, работавшие с перцептронами, знали об этом, и у них было простое решение: настроить связи от сенсорных элементов к ассоциативным так, чтобы то, чему вы хотите обучить систему, соответствовало линейной границе. В данном случае наша проблема проистекает из того, что мы выбрали ассоциативные элементы, кодирующие только P и Q. Если мы добавим третий ассоциативный элемент, кодирующий P ˄Q, мы создадим пространство, в котором PQ может быть вычислено перцептроном. (Мы знаем, что можем создать перцептрон, вычисляющий P ˅ Q, а PQ истинно тогда, когда истинно P ˅ Q, за исключением случаев, когда истинно P ˄ Q. Следовательно, мы можем создать перцептрон, вычисляющий PQ, используя веса для P и Q из перцептрона, вычисляющего P ˅ Q, и задав отрицательный вес для P ˄ Q.) При полной свободе в том, что именно распознают сенсорные элементы и как они соединены, перцептроны потенциально могли бы решить любую задачу классификации. Таким образом, задача Минского и Пейперта состояла в том, чтобы найти проблемы, решение которых требовало бы на удивление сложных конфигураций сенсорных элементов. Они нашли убедительный пример такой проблемы, позволивший им применить свои математические знания: определение того, является ли геометрическая фигура связной.

Математики называют фигуру связной, если ее нельзя разбить на несоприкасающиеся части (см. рисунок 7.5). Хотя это представление кажется интуитивно понятным, оно тесно связано с топологией — областью, в которой Минский и Пейперт были экспертами. Опираясь на эти знания, они доказали, что ни один перцептрон, чьи сенсорные элементы охватывают локальные области изображения, не способен оценить связность: размер области изображения, которую должны охватывать сенсорные элементы для оценки связности, увеличивался по мере роста размеров самого изображения.

Рисунок 7.5: Пример связности, нарисованный Минским и Пейпертом. Фигура справа связна, фигура слева — нет (она состоит из двух не соприкасающихся друг с другом спиралей).

Хотя само доказательство опирается на сложный математический аппарат, стоящая за ним интуиция проста для понимания. На рисунке 7.6 показаны четыре геометрические фигуры — две из них связны, а две нет. Связны они или нет, зависит от расположения линий по бокам фигур: они связны только в том случае, если одна линия находится в верхнем положении, а другая — в нижнем. Если они обе находятся в верхнем или обе в нижнем положении, фигуры оказываются несвязными. Это еще одно «исключающее или»! Таким образом, ни один перцептрон, у которого ассоциативные элементы получают сигналы только с одной стороны каждой фигуры, не способен решить эту задачу — здесь требуется ассоциативный элемент, получающий данные с обеих сторон фигуры (эквивалент нашего P ˄ Q выше). Кроме того, мы можем сделать эти фигуры сколь угодно широкими, не меняя математической структуры задачи, а значит, область, поставляющая входные данные для этих ассоциативных элементов, должна быть сколь угодно большой. По словам Минского: «То, что мы показали, сводилось к следующему: перцептрон не способен связывать воедино визуально нелокальные элементы».

Оценка связности — это не та задача, которую нам приходится решать каждый день. Аргумент Минского и Пейперта состоял не в том, что важна сама связность, а в том, что она демонстрирует: разработка подходящих сенсорных элементов для решения задачи перцептроном может оказаться делом трудным и потенциально требующим, чтобы эти элементы сами обрабатывали большой объем информации. Это перекликалось с опытом, полученным Минским еще в студенческие годы, когда он понял, что нейросеть, способная решать интересные задачи, должна быть гораздо крупнее и сложнее, чем он предполагал. Как позже подытожил эти результаты Пейперт: «Сети, подобно программам „грубой силы“, основанным на процедурах поиска, масштабируются крайне плохо».

Рисунок 7.6: Сложная задача для перцептронов. (а) Эти фигуры связны только в том случае, если одна из боковых линий находится сверху, а другая — снизу. (б) Если ассоциативные элементы перцептрона получают входные данные из локальной области изображения (например, с одной стороны этих фигур), оценка связности требует вычисления «исключающего или». Это препятствие можно обойти, если получать данные с обеих сторон, но тогда эти элементы должны будут охватывать сколь угодно большую область изображения, поскольку фигуры можно растягивать как угодно сильно.

Еще одним важным обстоятельством было то, что геометрические задачи — такие как связность — сравнительно просто выразить с помощью правил и символов. Аллен Ньюэлл и Герберт Саймон начали рассматривать геометрию как среду для доказательства теорем еще до того, как обратились к логике и создали программу Логик-теоретик. Позднее Пейперт займется созданием языков программирования для преподавания геометрии в школах, самым известным из которых стал язык LOGO. Таким образом, Минский и Пейперт показали, что класс задач, естественным образом описываемых с помощью правил и символов, потенциально представляет сложность для перцептронов.

Эти результаты были опубликованы в 1969 году в книге под названием «Перцептроны». Книга оказала мгновенное влияние на область искусственного интеллекта — не только потому, что она четко очертила пределы этих моделей, но и потому, что показала, как вопросы о возможностях искусственных нейронных сетей можно исследовать с помощью математического аппарата. Ньюэлл написал рецензию в журнале Science, которая начиналась с простого утверждения: «Это великая книга».

Но под впечатлением остались далеко не все.

К моменту выхода «Перцептронов» Розенблатт в основном переключился на другие интересы. Он провел несколько лет, исследуя, приводит ли трансплантация мозговой ткани от одного животного к другому к переносу воспоминаний, а также увлекся астрономией и поиском внеземного разума, ради чего даже купил дом недалеко от Корнелла и построил собственную обсерваторию. Он погиб в результате несчастного случая на воде в 1971 году, в свой сорок третий день рождения, так и не написав ответа на работу Минского и Пейперта. Однако его коллега, математик Дэвид Блок, написал критический отзыв на «Перцептроны».

В своей рецензии Блок обратил внимание на то, что Минский и Пейперт проанализировали простейшую из возможных версий перцептрона. Блок работал вместе с Розенблаттом над перцептронами с двумя слоями ассоциативных элементов и соответствующими весами, которые потенциально могли научиться самостоятельно формировать внутренние представления задач. Кроме того, Розенблатт исследовал множество других модификаций перцептрона, включая обратную связь между слоями и связи между ассоциативными элементами внутри одного слоя. Блок заявил, что версия модели, проанализированная Минским и Пейпертом, «вовсе не является тем, что энтузиаст перцептронов счел бы типичным перцептроном».

Блок также критиковал то внимание, которое Минский и Пейперт уделили связности. Людям и самим порой трудно определить, связна ли фигура, что наглядно иллюстрирует рисунок 7.5. Следовательно, вполне логично, что перцептрон испытывает трудности с этой задачей, если рассматривать его в качестве модели мозга, а не основы для системы искусственного интеллекта. Блок писал: «Розенблатт был бы доволен для начала просто приблизиться к человеческим возможностям и, скорее всего, отнесся бы без особого одобрения к машине, которая бы их превзошла, поскольку он стремится смоделировать именно человеческое восприятие».

В целом Блок считал аргумент Минского и Пейперта — о том, что простейшему перцептрону будет трудно справиться с абстрактной задачей, которая нелегко дается и людям, — слабым основанием для того, чтобы списывать со счетов потенциал перцептронов в целом. Он выразился гораздо более образно: «Этот подход напоминает моэля, который бросает младенца в печь, протягивает отцу крайнюю плоть и говорит: „Вот она; но из него всё равно никогда ничего путного бы не вышло“».

В рецензии Блока были разумные доводы — как мы увидим в следующих главах, перцептроны с несколькими слоями весов со временем действительно окажутся способны решать внушительный спектр задач. Но в 1970 году, когда была написана эта рецензия, никто не располагал эффективным способом настройки весов многослойного перцептрона или возможностью доказать, что это вообще будет работать. Теорема Розенблатта применялась лишь к перцептрону с одним слоем весов. Как сформулировали это Минский и Пейперт:

Перцептроны могли научиться всему, что могли представить, но они были слишком ограничены в том, что именно они могли представить.

Многослойные сети были менее ограничены в том, что они могли представить, но для них не существовало надежной процедуры обучения.

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

Предыдущая главаГлава 9 из 34Следующая глава