Учебное пособие по курсу «Нейроинформатика»
Шрифт:
1. нейрокомпьютер — это интеллектуальная игрушка или новая техническая революция?
2. что нового и полезного может сделать нейрокомпьютер?
За этими вопросами скрыты два базовых предположения:
1. на новые игрушки, даже высокоинтеллектуальные, средств нет;
2. нейрокомпьютер должен доказать свои новые возможности — сделать то, чего не может сделать обычная ЭВМ, — иначе на него не стоит тратиться.
У энтузиастов есть свои рекламные способы отвечать на заданные вопросы, рисуя светлые послезавтрашние горизонты. Но все это в будущем. А сейчас? Ответы парадоксальны:
1. нейрокомпьютеры — это новая техническая революция,
2. для любой задачи, которую может решить нейрокомпьютер, можно построить более стандартную специализированную ЭВМ, которая решит ее не хуже, а чаще всего — даже лучше.
Зачем же тогда нейрокомпьютеры? Вступая в творческую игру, мы не можем знать, чем она кончится, иначе это не Игра. Поэзия и реклама дают нам фантом, призрак результата, погоня за которым ‑ важнейшая часть игры. Столь же призрачными могут оказаться и прозаичные ответы ‑ игра может далеко от них увести. Но и они необходимы ‑ трудно бегать по облакам и иллюзия практичности столь же важна, сколь и иллюзия величия. Вот несколько вариантов прозаичных ответов на вопрос «зачем?» ‑ можно выбрать, что для Вас важнее:
А. Нейрокомпьютеры дают стандартный способ решения многих нестандартных задач. И неважно, что специализированная машина лучше решит один класс задач. Важнее, что один нейрокомпьютер решит и эту задачу, и другую, и третью — и не надо каждый раз проектировать специализированную ЭВМ — нейрокомпьютер сделает все сам и почти не хуже.
Б. Вместо программирования — обучение. Нейрокомпьютер учится — нужно только формировать учебные задачники. Труд программиста замещается новым трудом — учителя (может быть, надо сказать — тренера или дрессировщика). Лучше это или хуже? Ни то, ни другое. Программист предписывает машине все детали работы, учитель — создает «образовательную среду», к которой приспосабливается нейрокомпьютер. Появляются новые возможности для работы.
В. Нейрокомпьютеры особенно эффективны там, где нужно подобие человеческой интуиции — для распознавания образов (узнавания лиц, чтения рукописных текстов), перевода с одного естественного языка на другой и т. п. Именно для таких задач обычно трудно сочинить явный алгоритм.
Г. Гибкость структуры: можно различными способами комбинировать простые составляющие нейрокомпьютеров — нейроны и связи между ними. За счет этого на одной элементной базе и даже внутри «тела» одного нейрокомпьютера можно создавать совершенно различные машины. Появляется еще одна новая профессия — «нейроконструктор» (конструктор мозгов).
Д. Нейронные сети позволяют создать эффективное программное обеспечение для высокопараллельных компьютеров. Для высокопараллельных машин хорошо известна проблема: как их эффективно использовать — как добиться, чтобы все элементы одновременно и без лишнего дублирования вычисляли что-нибудь полезное? Создавая математическое обеспечения на базе нейронных сетей, можно для широкого класса задач решить эту проблему.
Если перейти к еще более прозаическому уровню повседневной работы, то нейронные сети ‑ это всего-навсего сети, состоящие из связанных между собой простых элементов ‑ формальных нейронов. Значительное большинство работ по нейроинформатике посвящено переносу различных алгоритмов решения задач на такие сети.
Ядром используемых представлений является идея о том, что нейроны можно моделировать довольно простыми автоматами, а вся сложность
Совокупность идей и научно-техническое направление, определяемое описанным представлением о мозге, называется коннекционизмом (по-английски connection — связь). Как все это соотносится с реальным мозгом? Так же, как карикатура или шарж со своим прототипом-человеком ‑ весьма условно. Это нормально: важно не буквальное соответствие живому прототипу, а продуктивность технической идеи.
С коннекционизмом тесно связан следующий блок идей:
1) однородность системы (элементы одинаковы и чрезвычайно просты, все определяется структурой связей);
2) надежные системы из ненадежных элементов и «аналоговый ренессанс» — использование простых аналоговых элементов;
3) «голографические» системы — при разрушении случайно выбранной части система сохраняет свои полезные свойства.
Предполагается, что система связей достаточно богата по своим возможностям и достаточно избыточна, чтобы скомпенсировать бедность выбора элементов, их ненадежность, возможные разрушения части связей.
Коннекционизм и связанные с ним идеи однородности, избыточности и голографичности еще ничего не говорят нам о том, как же такую систему научить решать реальные задачи. Хотелось бы, чтобы это обучение обходилось не слишком дорого.
На первый взгляд кажется, что коннекционистские системы не допускают прямого программирования, то есть формирования связей по явным правилам. Это, однако, не совсем так. Существует большой класс задач: нейронные системы ассоциативной памяти, статистической обработки, фильтрации и др., для которых связи формируются по явным формулам. Но еще больше (по объему существующих приложений) задач требует неявного процесса. По аналогии с обучением животных или человека этот процесс мы также называем обучением.
Обучение обычно строится так: существует задачник — набор примеров с заданными ответами. Эти примеры предъявляются системе. Нейроны получают по входным связям сигналы — «условия примера», преобразуют их, несколько раз обмениваются преобразованными сигналами и, наконец, выдают ответ — также набор сигналов. Отклонение от правильного ответа штрафуется. Обучение состоит в минимизации штрафа как (неявной) функции связей. Примерно четверть нашей книги состоит в описании техники такой оптимизации и возникающих при этом дополнительных задач.
Неявное обучение приводит к тому, что структура связей становится «непонятной» — не существует иного способа ее прочитать, кроме как запустить функционирование сети. Становится сложно ответить на вопрос: «Как нейронная сеть получает результат?» — то есть построить понятную человеку логическую конструкцию, воспроизводящую действия сети.
Это явление можно назвать «логической непрозрачностью» нейронных сетей, обученных по неявным правилам. В работе с логически непрозрачными нейронными сетями иногда оказываются полезными представления, разработанные в психологии и педагогике, и обращение с обучаемой сетью как с дрессируемой зверушкой или с обучаемым младенцем — это еще один источник идей. Возможно, со временем возникнет такая область деятельности — «нейропедагогика» — обучение искусственных нейронных сетей.