Вероятно, не случайно еще Кеплеру принадлежит призыв к созданию вычислительной машины. Его работы в области движения небесных тел подняли механику до крайне высокого уровня. Начинало казаться, что она полностью описывает окружающий мир. Это дало основание Лапласу (1749–1827) высказать любопытную идею: некий «всеобъемлющий ум», знающий уравнения движения всех атомов Вселенной, мог бы, решая их, предсказать все будущие события, всю историю мира до последней мелочи, до шага и вздоха каждого человека!
Исходя из такого понимания устройства мира, и работали Беббидж и Лавлейс. По-видимому, они ждали от вычислительной машины очень многого… Однако окружающий мир оказался значительно сложнее. Его нельзя описать раз и навсегда заданными уравнениями. Многие явления и процессы, например, происходящие в микромире, не имеют четкой внутренней логики и не поддаются формальному описанию.
Вот, например, задача распознавания символов.
Пусть у вас есть лист с напечатанным на нем текстом и вы хотели бы перенести этот текст в компьютер, чтобы затем редактировать его. Как автоматизировать эту работу? Воспользоваться сканером? Как бы не так: полученное с его помощью оцифрованное изображение текста — это еще не сам текст. Это пока только картинка. Если же мы захотим загрузить этот текст в текстовый редактор, то сначала нужно, чтобы компьютер «опознал» каждый изображенный символ и сопоставил с ему соответствующим кодом.
Проблема же в том, что сложно четко и однозначно «объяснить» компьютеру, чем похожи и чем отличаются распознаваемые объекты. Например, буква «А» может быть напечатана разными шрифтами или небрежно написана от руки, качество печати принтера или 8 типографии может быть не очень высоким. Сами мы прекрасно опознаем эти изображения. Но объяснить, как это происходит, мы не в состоянии.
Бэббидж — профессор Люкасовской кафедры Кембриджского университета (1829).
Ада Августа Лавлейс.
Впрочем, задача распознавания гораздо шире, чем умение читать. Детали, проезжающие на конвейере перед телекамерой, среди которых надо обнаружить бракованные; полустертые отпечатки пальцев, обнаруженные следователем на месте преступления, голос преступника в записи телефонного разговора — это тоже образы. Остается прежней и суть задачи: умение правильно определять, в какому классу из числа уже известных относится тот или иной образ.
Аналогичны по своей неформализуемости и задачи предсказания будущего на основе прошлого опыта. Причем они вовсе не сводятся к гаданиям на картах или на кофейной гуще: ведь прогноз погоды или состояние экономики — это тоже предсказание будущего… Как же решать подобные задачи?
В конце 50-х годов XX века американский ученый Ф.Розенблат создал перцептрон — устройство для распознавания образов. В его основе было заложено подражание живой природе — это была простейшая модель глаза. У первого такого перцептрона «сетчатка глаза» состояла из ста фотоэлементов — аналогов зрительных клеток. К ним были подключены «нейроны» — усилители с изменяемыми коэффициентами усиления на входах. Причем входы каждого «нейрона» соединялись с фотоэлементами случайным образом, в том числе несколько фотоэлементов могли быть подключены к одному усилителю или же, наоборот, один фотоэлемент подключался к нескольким усилителям. Да и все изначальные коэффициенты усиления выбирались совершенно случайно. Каждый «нейрон» в устройстве Розенблата суммировал поданные на него сигналы с учетом их усиления, а затем полученные результаты суммировались и сравнивались с некоторым пороговым значением. Если их общая сумма превышала порог, то на выходе перцептрона появлялся сигнал «1», иначе же — сигнал «0».
Само по себе такое устройство, конечно же, еще ничего не умело — ведь по сути у него не было даже какой-то схемы, а только полный хаос. Перцептрон нужно было обучить выполнению поставленной задачи. Вот перед нами только что изготовленный перцептрон. Будем показывать ему букву «а» в различных начертаниях. Если на выходе появится единица, значит, перцептрон «угадал» правильный ответ. Если же нет, то уменьшаем коэффициенты усиления для тех «нейронов», которые активнее всего участвовали в формировании неверного ответа. А затем повторим процедуру снова и снова — до тех пор, пока перцептрон не станет надежно опознавать букву «а». Если же немного усложнить схему, то можно сделать и перцептрон, различающий разные буквы, тогда его требуется обучать не только правильно опознавать каждую букву, но и отличать их друг от друга.
И в этом главное отличие перцептрона от «классического» компьютера. Во-первых, мы изначально не закладываем в перцептрон никаких алгоритмов распознавания — ни в виде программы, ни схемотехнически; более того, мы даже можем не знать этого алгоритма. Наоборот, делая схему хаотичной, мы стараемся не закладывать в него изначально вообще никакой предварительной информации! А во-вторых, перцептрон необходимо долго «обучать» решению интересующей нас задачи на примерах-образцах. Только в отличие от школьника уже обученный перцептрон можно потом «растиражировать» в нужном количестве экземпляров. И чем дольше и тщательнее проводится «обучение», тем меньше ошибок допускать перцептров дальнейшей работе. Фактически алгоритм решения задачи рождается в процессе «обучения»!
Но, как оказалось, напрасно!
Заманчивая возможность создать «искусственный мозг», работающий по тем же принципам, что и человеческий, заставила ученых обратить пристальное внимание на изучение его «элементарных ячеек» — нейронов и попытаться создать их электронные аналоги. И выяснилось, что нейроны работают примерно по тем же принципам, что и перцептрон: они тоже суммируют поступающие на их «входы» — синапсы — электрические сигналы с учетом коэффициентов усиления каждого из них, причем эти коэффициенты могут быть и положительными, и отрицательными (то есть сложение превращается в вычитание), и могут меняться.
Такие нейроподобные схемы — нейрокомпьютеры — это своего рода перцептроны нового поколения, причем они могут быть реализованы не только в виде электронных схем, но и в виде программ для персонального компьютера. Причем в отличие от перцептрона в нейрокомпьютерах сигнал с выхода устройства может быть запомнен или пропущен через линию задержки и снова подан на его вход, так что нейрокомпьютер может при решении поставленной задачи учитывать предыдущие результаты.
Первое такое устройство было изготовлено в 1991 году в СССР в виде нескольких экспериментальных экземпляров.
Поставленная ему задача требовала «упаковать» одночасовой кинофильм в шестиминутную видеозапись, то есть сжать информацию в десять раз. Нынешний «Пентиум III» тратит на такое преобразование несколько десятков часов.
Тогдашний же нейрокомпьютер после завершения его «обучения» делал это за один час, причем в реальном времени — получая видеосигнал с телекамеры и сразу его «упаковывая». Сегодняшние же нейрокомпьютеры все чаще используются для гибкого управления производством, пилотирования летательных аппаратов, охранных систем, для прогнозирования валютных курсов и ситуации на бирже…
Нейрокомпьютер можно считать даже в какой-то мере наделенным интуицией, почти граничащей с гениальностью: подчас он может найти решение таких задач, к которым не знаешь даже как подступиться; первоначально даже не всегда удается понять, в чем заключается смысл полученного решения, но, проанализировав результирующую структуру искусственной нейросети, исследователь может получить и искомый алгоритм решения задачи. То есть нейрокомпьютер выступает уже не как «простой решатель», а как инструмент исследования.