Американцы немного опоздали. Лаборатория баллистических исследований, подчинявшаяся Министерству обороны США, занималась в основном тем, что рассчитывала траектории снарядов и составляла для них корректировочные таблицы. Около сотни математиков и несколько сот «вычислителей», окончивших подготовительные курсы, не могли справиться со всем объемом работ. Это и вынудило армию обратиться за помощью в Пенсильванский университет. Через три года, когда война уже закончилась, первый математический вычислитель был готов. Он весил 30 тонн, состоял из 18 тысяч электронных ламп, потреблял 130 кВт и мог выполнять 300 операций умножения в секунду. Назывался монстр ENIAC.
Несмотря на то что вычислители были построены «по заветам» Тьюринга, их стали несправедливо называть фон-неймановскими — по имени одного из американских разработчиков. С тех пор большинство ЭВМ в мире построено по этому принципу.
Однако в 1943 году математики Мак-Каллок и Питтс опубликовали статью, в которой предложили альтернативу тьюринговской машине — вычислитель с принципиально иным типом архитектуры — нейросетевым. Идея была позаимствована у природы, то есть за основу предполагаемой конструкции математики взяли обычный мозг. Было только непонятно, как программировать такие машины. Но в конце 50-х Фрэнк Розенблатт приходит к мысли, что гипотетические нейросети незачем программировать. Их, как и биологический прототип, нужно обучать!
В 1960 году Розенблатт построил первый примитивный нейрокомпьютер, который успешно распознавал некоторые буквы. Автор назвал свое детище персептроном (от англ. perception — восприятие). В газетах появились статьи о том, что искусственный интеллект на подходе. Прошло четверть века. В 1986 году Дэвид Румельхарт придумывает перспективный метод обучения персептрона. Почуяв жареное, встрепенулись военные. В Агентстве перспективных военных исследований США решили, что нейрокомпьютеры — как раз их профиль, и деньги полились рекой. Начался нейросетевой бум…
Тут нужно, пожалуй, пояснить, чем нейрокомпьютеры (персептроны) принципиально отличаются от обычных фон-неймановских машин. Поняв это, вы поймете, чем наш мозг отличается от компьютера.
Чтобы не вдаваться в технические подробности, можно провести аналогию. Допустим, у вас есть функция Y = (7•X + 5)/9. Как получить Y при X = 4? Четыре умножаете на семь. Затем прибавляете пять. Затем делите полученный результат на девять. Последовательность ваших действий является алгоритмом, то есть программой.
Но есть другой способ решить ту же задачу. Можно построить график этой функции. Потом взять линейку и провести вверх перпендикуляр от точки 4 на оси X. Находите точку пересечения функции и этой прямой и получаете искомый результат.
Казалось бы, какая разница между этими двумя способами?
И то и другое — математика: чтобы построить функцию, нужно раз за разом подставлять в формулу разные значения X. Почему бы сразу не подставить нужное, зачем лишний ход — функцию рисовать?…
А представьте себе ситуацию, когда у нас нет формулы, но есть график. Ну, например, нарисуйте на миллиметровке профиль своей любимой девушки. Вы замучаетесь искать функцию (точнее, целый набор функций), который описывает этот профиль. А профиль — вот он!
Так вот, процесс обучения нейросети, например воспитание человека, является своего рода построением готового графика. Ребенку формируют поведенческие стереотипы, учат, как поступать в разных ситуациях, — дают готовый график. Сталкиваясь с необычным и экстраполируя этот поведенческий график в разные стороны, ребенок понимает, как поступать в незнакомых, но схожих ситуациях.
Вашему головному нейрокомпьютеру родители сообщают готовые результаты — какое Y1 при X1. Вы ставите в уме точку. Вам дают вторую пару чисел — X2, Y2, вы ставите вторую точку… Если у вас много-много точек, вы размещаете их в системе координат, соединяете ближайшие, и таким образом у вас оформляется замечательная кривая поведения. Теперь вы можете по любому X выявить Y, не зная никаких формул. Просто бросив взгляд на рисунок.
Интуиция, между прочим, работает так же. Нейросеть у нас в голове обобщает опыт, массив знаний, строит график и по нему выдает готовый результат. Выдает, порой даже минуя сознание; ответ всплывает будто бы ниоткуда, а на самом деле — из подкорковых глубин. Об интуиции мы еще поговорим чуть ниже, а пока нужно разобраться, чем нейросети прогрессивнее тьюринговых (фон-неймановских) машин.
Для работы с машиной Тьюринга всякую задачу нужно формализовать (силуэт любимой превратить в набор функций: прямой нос будет описан линейной функцией, а округлый лоб — гиперболой и так далее). При этом если с винчестером фон-неймановской машины случится какая-нибудь неприятность и хотя бы одна из формул будет повреждена, неверным окажется и конечный результат. В фон-неймановской машине ошибка фатальна.