Шрифт:
Интервал:
Закладка:
В течение 1960-х гг. Группа по самообучающимся машинам исследовала множество различных нейросетевых архитектур и процедур обучения. По мере того как компьютеры становились всё более доступными и мощными, всё чаще использовалась симуляция сетей на цифровых машинах. Комбинация новой машины SDS 910 и последней версии устройства ввода получила название MINOS III.
Одним из наиболее успешных результатов, достигнутых при помощи этой системы, стало автоматическое распознавание текстов программ на фортране, написанных от руки печатными буквами. Над этой задачей работали Джон Мансон, Питер Харт и Ричард Дуда. Нейросетевая часть MINOS III использовалась для оценки гипотез относительно каждого из распознаваемых символов. Например, некоторый символ, по мнению сети, со степенью уверенности в 90% является символом «D», а со степенью уверенности 10% — символом «O». Однако, выбирая каждый раз гипотезу с наибольшим значением степени уверенности, в итоге можно получить строку, в которой будет содержаться одна или несколько ошибок, поскольку точность распознавания всё же не была идеальной. С увеличением количества символов в строке вероятность того, что в неё закрадётся хотя бы одна ошибка, быстро растёт. Когда человек читает текст, написанный на бумаге, он может угадать плохо читаемый символ из контекста. Например, если в обычном тексте в слове «ЗДРА?СТВУЙТЕ» в отношении пятого символа лидирует гипотеза, что это цифра 8, и лишь затем следует гипотеза, что это буква В, то мы всё-таки понимаем из контекста, что вариант с «В» более предпочтителен.
Исследователи из SRI использовали для решения этой проблемы метод, называемый динамическим программированием. Использование этого метода позволяло рассчитать степень уверенности для строки в целом, основываясь на статистических свойствах распознаваемых текстов. Этот подход применяется в задачах распознавания текста и в наши дни. В результате исследователям удалось достичь точности распознавания в 98% для большого набора рукописных текстов, не использовавшихся в процессе обучения модели. Распознавание с таким уровнем точности было значительным достижением для 1960-х гг.
Расширяя круг интересов за пределы нейронных сетей, Группа по самообучающимся машинам в конечном итоге стала Центром искусственного интеллекта SRI, который и сегодня продолжает оставаться одним из ведущих исследовательских центров в области искусственного интеллекта[1245]. В конце 1960-х гг. Группа из SRI перенесла фокус своих исследований в сферу мобильной робототехники. Появившийся вскоре робот Шейки (Shakey) ознаменовал собой начало этого нового направления. Такое имя робот получил из-за специфического подрагивания[1246], которое демонстрировал во время работы. Шейки стал первым универсальным мобильным роботом, сочетавшим в себе компьютерное зрение, планирование и выполнение движения[1247]. Впрочем, система зрения Шейки не имела никакого отношения к перцептронам — в её основу было положено преобразование Хафа [Hough Transform][1248] — алгоритм, применяемый для выделения отдельных геометрических элементов изображения.
4.4.8 Теоретические результаты
Итогом работы Розенблатта и его коллег, помимо практических, стал ряд важных теоретических результатов. К их числу относятся, в частности, формулировка и доказательство теоремы о сходимости перцептрона. Как и теореме Цермело, теореме Розенблатта не слишком повезло, поскольку многие современные источники содержат неверную или избыточную формулировку теоремы. Тем, кто интересуется формальной математической стороной вопроса, я рекомендую небольшое расследование[1249], проделанное на эту тему Леем Мао, а мы попробуем взглянуть на сформулированную Розенблаттом проблему в более неформальном ключе.
Любую задачу классификации с произвольным числом классов можно свести к решению одной или нескольких задач, в которых число классов равно двум. Например, если у нас есть задача распознавания на картинке котиков, собак и енотов, то мы можем представить её в виде совокупности двух задач: задачи «отличать котиков от всех прочих животных» и задачи «отличать собак от енотов». Воспользовавшись этой особенностью задач классификации, мы будем рассматривать задачу с двумя классами. Её можно легко представить в графической форме. Для этого нужно взять n-мерное евклидово пространство, где n — количество факторов, задействованных в задаче (т. е. при одном факторе это будет числовая прямая, при двух факторах — плоскость, при трёх — трёхмерное пространство и т. д.), и отобразить в нём известные нам прецеденты (элементы обучающей выборки) в виде точек двух цветов (скажем, красных и зелёных). В случае задачи с двумя факторами мы получим множество красных и зелёных точек на плоскости. Если зелёные точки можно отделить от красных, проведя на плоскости некоторую прямую (для большего числа факторов — проведя в пространстве некую гиперплоскость), то множества красных и зелёных точек называют линейно разделимыми.
Рис. 98. Примеры линейно разделимых и линейно неразделимых множеств
Перцептрон, имеющий только один слой нейронов с настраиваемыми синаптическими весами, является линейным классификатором, то есть в процессе обучения он пытается найти гиперплоскость, разделяющую прецеденты, относящиеся к различным классам. Смысл теоремы о сходимости перцептрона заключается в том, что (как удалось доказать Розенблатту) такой однослойный перцептрон, обучаемый при помощи метода коррекции ошибки, всегда, независимо от стартового состояния синаптических весов и последовательности поступления элементов обучающей выборки, достигнет решения за конечный промежуток времени — то есть для линейно разделимых классов решение всегда будет найдено за конечное количество шагов обучения. Кроме того, Розенблатт рассчитал верхний предел количества таких шагов. Помимо теоремы о сходимости перцептрона, Розенблатт также представил доказательства ряда смежных теорем, связанных с архитектурой искусственных нейронных сетей и методами их обучения.
Впрочем, первые кирпичики в математический фундамент коннекционизма, как это ни странно, были заложены математиками, казалось бы далёкими от проблематики искусственных нейронных сетей. Речь идёт о решении так называемой тринадцатой проблемы Гильберта советскими математиками Владимиром Арнольдом и Андреем Колмогоровым. Гильберта интересовал вопрос о том, можно ли представить решение общего уравнения седьмой степени в виде суперпозиции непрерывных функций двух переменных[1250]. Арнольду и Колмогорову удалось доказать эту проблему в более общем виде, результатом чего стало появление теоремы Арнольда — Колмогорова, которая гласила: любая многомерная непрерывная функция может быть представлена в виде суперпозиции непрерывных функций одной переменной. В некотором роде советские математики показали, что единственная «истинная» функция многих переменных — это сложение, поскольку все другие функции можно записать с использованием функций одной переменной и сложения. Но ведь искусственная нейронная сеть как раз и представляет собой сочетание сложения, которое выполняют нейроны, и подстановки, которой соответствует передача сигнала через синаптическую связь. Таким образом, из теоремы Арнольда — Колмогорова следует, что абсолютно любая многомерная непрерывная функция может быть реализована при помощи искусственной нейронной сети[1251].
Этот результат был довольно неожиданным, поскольку, согласно ему,