Примерно так же работают и электронные нейроны, только роль импульса возбуждения в этом случае выполняет электрическое напряжение, а возбудимость нейрона моделируется некой функцией, зависящей от суммы входных сигналов. Причем сигналы-напряжения, пришедшие по разным проводам-дендритам, перед суммированием умножаются на разные коэффициенты. Естественно, что в процессе обучения и настройки нейросети изменяют именно те коэффициенты, с которыми происходит суммирование сигналов. Коэффициенты, с которыми складываются сигналы, — это как раз и есть та долговременная память, в которой хранится алгоритм работы обученной нейросети. К электрическому аксону подключаются входы нейронов следующего уровня сети, и таким образом реализуется требуемый параллельный вычислитель, способный распознавать и классифицировать поступающие на вход сигналы.
Основное свойство как природных, так и искусственных нейросетей — это возможность изменения силы взаимосвязи между нейронами. Структура нервной системы нашего мозга и нейрокомпьютера остается практически неизменной на протяжении всего жизненного цикла, и изменениям в процессе обучения и адаптации подвергаются только пропускная способность синапсов и весовые коэффициенты, с которыми складываются сигналы в электронном аналоге мозга.
Обучай и используй
Хорошо нам знакомые условные и безусловные рефлексы есть не что иное, как устойчивые связи, возникающие между рецепторами и нейронами в процессе исполнения той или иной команды. Но если взять, к примеру, такое естественное для человека действие, как отдергивание руки от горячего предмета, то в этом случае все связи возникли еще до появления его на свет и обучения не требуется.
А такой навык, как езда на велосипеде, приобретается только в результате тренировок и, как правило, с учителем. Научившись же управляться с двухколесной машиной, человек ездит на ней совершенно «автоматически» и лишь в критической ситуации включает мозг, пытаясь восстановить равновесие или избежать возникшей опасности.
Примерно так же работают и нейросети, учась узнавать буквы и звуки, отличать танки от вертолетов, предугадывать падение цен на нефть и тому подобное. При всей схожести принципов работы процесс обучения электронного мозга еще более непредсказуем, чем биологического. Во всяком случае, на сегодня никто не сможет дать гарантии того, что та или иная нейросеть «научится» решать поставленную задачу за определенный период времени. Более того, вполне возможно, что обучение может быть принципиально невозможным. Опять же, как и у людей: один, сколько ни бейся, никогда не заиграет на скрипке, а другой, как ни старайся, никогда не научится плавать. Одна из возможных причин подобной несостоятельности — недостаточное «богатство» определенных видов нейронов и типов связей между ними. Другая причина может крыться в изначально неверном подходе к методике и средствам обучения. Иначе говоря — в неправильном выборе алгоритма процесса тренировки.
Что же касается «интеллектуальных способностей» нейронных сетей, то перед ними зачастую ставят заведомо нерешаемые, некорректные задачи, направленные на выявление взаимосвязей между предметами или событиями, не сопоставимыми ни по каким параметрам. Рекламные лозунги, декларирующие то, что нейрокомпьютеры умеют обрабатывать искаженную или частично поврежденную информацию, отчасти правдивы, но — в определенных пределах. Совсем не факт, что та нейросеть, которая обучена различать танки противника, сумеет отличить их от машин союзников. В лучшем случае, отнеся «своих» к неизвестному типу объектов, она запросит мнение человека: стрелять или не стрелять.
Карты веером
Одной из основных и весьма привлекательных особенностей нейросетей является параллельность обработки поступающей информации. Входной сигнал после некоторой его фрагментации и разделения на существенные составляющие сразу поступает на входы всех нейронов, и та часть сети, которая опознает сигнал как некий объект (например, XYZX), выдает выходной сигнал, сообщая о типе обнаруженного объекта. Остальные выходные нейроны при этом остаются в состоянии покоя, поскольку знакомых им объектов не наблюдается.
Распознавание образов это, возможно, самый популярный тип задач, решаемых сегодня с помощью нейросетей. Их использует даже служба ГАИ, следя посредством телекамер и нейрокомпьютеров за движением всевозможного транспорта и пешеходов. Второй по популярности является такая разновидность заданий, как предсказание и прогнозы развития различных, не описываемых аналитически зависимостей и событий — успешная предсказательная «деятельность» нейросетей сегодня доказана и математически, и практически. Так, достоверно известно, что многослойная нейросеть может достаточно точно описывать и сколь угодно сложные функциональные зависимости, и задачи краткосрочного прогноза — например результаты выборов и ситуации на фондовом рынке. Что касается последнего, то прогнозные системы в этой сфере могут эффективно работать только в том случае, если закон, регулирующий взаимные котировки валют, существует и если во входных параметрах программы присутствуют величины, действительно влияющие на курс доллара по отношению к евро.
Стоит заметить, что некоторые разработчики нейросетей, предсказывающих биржевые индексы и котировки, включают в свои алгоритмы даже учет таких факторов, как расположение Луны, Земли и Солнца относительно знаков зодиака…
Генетические алгоритмы
Как известно науке бионике, человек издавна пытался позаимствовать у природы полезные для себя идеи. И ему это достаточно часто удавалось. Взять хотя бы самолеты, созданные по подобию птиц, но летающие во много раз быстрее своих пернатых прототипов, не делая ни единого взмаха крыльями. Подобные примеры эффективной работы человеческого мозга вселяют большие надежды в умы специалистов по нейросетям.
Существует и другая параллель разработок, перекликающаяся все с той же бионикой. Среди разработчиков нейросетей выделился круг специалистов, нацеленных на работу с генетическими алгоритмами. Концептуальные моменты их деятельности можно выразить следующим образом: поскольку все зримые плоды эволюции человека и природы достигнуты простым естественным отбором, то почему бы не сделать алгоритм-слепок подобного процесса и не запустить его на компьютере, а затем — после некоторого количества мутаций, скрещиваний и постоянного «просеивания» наиболее эффективных решений выбрать, например, оптимальный план инвестиционных вложений в те или иные отрасли промышленности или сферы исследования.
Так, нейросеть с легкоизменяемыми связями между нейронами оказалась очень удобной операционной средой для подобного моделирования процессов, происходящих в природе. Причем, если результат по каким-то причинам покажется неудовлетворительным, можно запустить новый процесс эволюции, изменив начальную генетическую информацию, процент мутаций и способ наследования положительных признаков. И так до бесконечности.
Паралич системы
В математике, в том числе и вычислительной, большое значение имеют разного рода теоремы существования, единственности и возможности. И хотя зачастую они не дают пути для решения конкретной задачи, зато указывают на то, что при определенных затратах сил искомый результат будет достигнут. В рамках работы нейрокомпьютеров существует целый ряд подобных теорем, начиная от сходимости процедуры тренинга (когда обучение в принципе возможно) и заканчивая модифицированной 13-й проблемой Гильберта, говорящей о возможности приближения любых функциональных зависимостей с помощью простейших нейросетей. Занимающиеся такими вопросами — дискретная математика и теория конечных автоматов достаточно молодые области исследования, и белых пятен в них, разумеется, много, но успехи теоретиков на этом поприще впечатляют.
В целом между обычными компьютерами и нейрокомпьютерами существует много общего не только в способах хранения информации и технологии производства их микросхем, но и в законах, по которым действуют программы. Одной из наиболее ярких математических проблем, решенных только в конце XX века, стала так называемая «проблема останова». Причем ответ на вопрос, можно ли сделать абсолютно устойчивую вычислительную машину, оказался отрицательным. Увы, но машина всегда может «зависнуть» или зациклиться, не сумев вовремя остановиться, выполняя недопустимую программу. Для всех без исключения вычислительных машин крайне важно, чтобы они могли работать непрерывно, не зависая на пустом переписывании бит, а также на ненужных действиях по умножению и сложению. Математикам очень хотелось доказать, что существует универсальный алгоритм, позволяющий ЭВМ избежать разного рода казусов, возникающих при запуске незнакомых программ и обработке некорректных данных. Но оказалось, что такого надежного алгоритма в принципе не существует, поскольку на любое действие существует противодействие. Как бы ни была умна машина, зная то, как она проверяет корректность команд и инструкций, всегда можно сочинить такую программу, на которой компьютер «собьется» и не сможет остановиться, принимая решение о том, что целесообразнее — приступать к выполнению программы или нет. Так что сегодня с математической точностью доказано, что любая классическая ЭВМ (в том числе и та, на которой набирался и печатался этот текст) может легко «зависнуть» и «сойти с ума», если заставить ее сделать нечто из ряда вон выходящее. Причем если разнообразные вирусы вполне сознательно парализуют работу индивидуальных компьютеров глобальной сети, то стандартное зависание хорошо знакомой операционной системы Windows, как правило, просто следствие некорректной работы с программами. Аналогичные процессы происходят и с нейрокомпьютерами, они тоже «болеют» этой болезнью, да и сам термин «сойти с ума» имеет биологическое происхождение. Правда, применительно к нейросетям обычно употребляют другой медицинский термин — «паралич системы». Так что нейросети бывают не только обученными, но и переобученными, когда они полностью перестают ориентироваться в предлагаемой информации. То же самое, как известно, может происходить и с людьми.