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