Компьютеры сегодня могут практически все, нейрокомпьютеры — многое. Чаще всего их «всемогущество» зависит от четкого следования алгоритму, иногда — от правильной адаптации программы к поступающим данным, а порой –– от возможности на собственном опыте обучаться выполнению поставленных задач. Причем в последнем случае даже разработчики компьютерных программ не всегда понимают причины подобной сообразительности машин.

Интеллектуальные мускулы

Человек всегда стремился окружать себя разнообразными приспособлениями, помогающими ему быть быстрее, сильнее и умнее. Люди давно осознали, что некоторые вычислительные задачи гораздо удобнее решать с помощью специальных механических и электрических машин. Однако реализовать эту мечту оказалось непросто. Первые арифмометры начали активно эксплуатировать только с середины XIX века, а первые ЭВМ появились всего каких-нибудь 50 лет назад. Электронные устройства, призванные усиливать интеллектуальные и творческие силы человека, оказались сложны не только в разработке и изготовлении. Кроме «железа» необходимы были программы, заставляющие машину производить совершенно определенные действия. Таким образом, впервые в истории человеческой цивилизации появились вещи, способные приносить пользу только в том случае, если в них будут установлены некие тексты-программы, дарящие бездушной машине частичку человеческого разума.

Программирование — достаточно своеобразное занятие, поскольку сочинять программы приходится на особом компьютерном языке, мало похожем на человеческий. И хотя большинство слов в этом языке пишется английскими буквами, в обычных лексических словарях их не найти. Роль же грамматических правил играют законы логики. Причем строгие законы программирования и обоснования правил составления безошибочных алгоритмов были разработаны математиками еще в 1930-х годах.

Успехи традиционного подхода — когда человек четко задает машине определенную задачу — поистине огромны и вполне устраивают пользователей, стремящихся получить конкретный результат. Однако далеко не все жизненные задачи удается решить путем жесткого программирования действий электронной машины, поэтому одной из важнейших на сегодня задач для кибернетики является создание интеллектуальных систем, способных к самообучению и не нуждающихся в услугах квалифицированных программистов. Разработчики таких обучаемых компьютеров вполне резонно решили воспользоваться методом копирования принципов работы человеческого мозга, и, судя по достигнутым результатам, некоторые из этих умных машин уже приблизились к имитации того, как Homo Sapiens думает и анализирует.

Электронные конкуренты и помощники

Человеческий мозг состоит «всего» из нескольких десятков миллиардов нейронов и нескольких сотен миллиардов связей между ними, причем время реагирования отдельно взятого нейрона измеряется сотыми долями секунды. С высоты «понимания» современных суперкомпьютеров, осуществляющих в секунду десятки триллионов операций, это непозволительно мало. Ведь даже обычный процессор Intel Pentium 4 содержит около 200 миллионов транзисторов, а подключаемая к нему оперативная память имеет объем до 4 Гб, и при этом на простейшую логическую или арифметическую операцию он тратит меньше одной миллиардной доли секунды. Современные нейросети по своей мощности пока достаточно скромны — они достигли только уровня нервной системы улитки или дождевого червя. Однако даже простейшие нейрочипы, содержащие по 64 нейрона со 128 входами каждый, гораздо быстрее решают задачи распознавания электронных изображений, чем их традиционные собратья, снабженные миллионами транзисторов.

Насколько востребованы обычные ЭВМ, всем хорошо известно. Применение же нейрокомпьютеров более специфично и узко. Их используют для диагностики и распознавания, предсказания результатов забегов на ипподроме и цен на акции, оптимизации инвестиций в производство и минимизации транспортных расходов. Основными заказчиками обученных нейросетей пока являются военные, но уже недалеко то время, когда новая технология найдет массовое применение.

Мозговые аналогии

Основным элементом любого нейрокомпьютера является электронный аналог живого нейрона. Биологический нейрон имеет несколько нервных отростков — дендритов, принимающих нервные импульсы, и один-единственный отросток — аксон, способный передавать импульс возбуждения дальше. Аксон, разветвляясь, контактирует с дендритами других нейронов, соединяясь с ними через специальные образования — синапсы, которые влияют на силу передаваемого следующим нейронам импульса.

Импульсы, поступившие к нейрону по нескольким дендритам, суммируются с учетом не только их силы, но и длительности. Если общий импульс превышает некий пороговый уровень, то нейрон возбуждается и формирует собственный импульс, передаваемый далее по аксону. Причем пропускная способность синапсов может изменяться со временем, а значит, модифицируется поведение и соответствующего нейрона, и всей нейронной сети в целом.

Примерно так же работают и электронные нейроны, только роль импульса возбуждения в этом случае выполняет электрическое напряжение, а возбудимость нейрона моделируется некой функцией, зависящей от суммы входных сигналов. Причем сигналы-напряжения, пришедшие по разным проводам-дендритам, перед суммированием умножаются на разные коэффициенты. Естественно, что в процессе обучения и настройки нейросети изменяют именно те коэффициенты, с которыми происходит суммирование сигналов. Коэффициенты, с которыми складываются сигналы, — это как раз и есть та долговременная память, в которой хранится алгоритм работы обученной нейросети. К электрическому аксону подключаются входы нейронов следующего уровня сети, и таким образом реализуется требуемый параллельный вычислитель, способный распознавать и классифицировать поступающие на вход сигналы.

Основное свойство как природных, так и искусственных нейросетей — это возможность изменения силы взаимосвязи между нейронами. Структура нервной системы нашего мозга и нейрокомпьютера остается практически неизменной на протяжении всего жизненного цикла, и изменениям в процессе обучения и адаптации подвергаются только пропускная способность синапсов и весовые коэффициенты, с которыми складываются сигналы в электронном аналоге мозга.

Обучай и используй

Хорошо нам знакомые условные и безусловные рефлексы есть не что иное, как устойчивые связи, возникающие между рецепторами и нейронами в процессе исполнения той или иной команды. Но если взять, к примеру, такое естественное для человека действие, как отдергивание руки от горячего предмета, то в этом случае все связи возникли еще до появления его на свет и обучения не требуется.

А такой навык, как езда на велосипеде, приобретается только в результате тренировок и, как правило, с учителем. Научившись же управляться с двухколесной машиной, человек ездит на ней совершенно «автоматически» и лишь в критической ситуации включает мозг, пытаясь восстановить равновесие или избежать возникшей опасности.

Примерно так же работают и нейросети, учась узнавать буквы и звуки, отличать танки от вертолетов, предугадывать падение цен на нефть и тому подобное. При всей схожести принципов работы процесс обучения электронного мозга еще более непредсказуем, чем биологического. Во всяком случае, на сегодня никто не сможет дать гарантии того, что та или иная нейросеть «научится» решать поставленную задачу за определенный период времени. Более того, вполне возможно, что обучение может быть принципиально невозможным. Опять же, как и у людей: один, сколько ни бейся, никогда не заиграет на скрипке, а другой, как ни старайся, никогда не научится плавать. Одна из возможных причин подобной несостоятельности — недостаточное «богатство» определенных видов нейронов и типов связей между ними. Другая причина может крыться в изначально неверном подходе к методике и средствам обучения. Иначе говоря — в неправильном выборе алгоритма процесса тренировки.

Что же касается «интеллектуальных способностей» нейронных сетей, то перед ними зачастую ставят заведомо нерешаемые, некорректные задачи, направленные на выявление взаимосвязей между предметами или событиями, не сопоставимыми ни по каким параметрам. Рекламные лозунги, декларирующие то, что нейрокомпьютеры умеют обрабатывать искаженную или частично поврежденную информацию, отчасти правдивы, но — в определенных пределах. Совсем не факт, что та нейросеть, которая обучена различать танки противника, сумеет отличить их от машин союзников. В лучшем случае, отнеся «своих» к неизвестному типу объектов, она запросит мнение человека: стрелять или не стрелять.

Карты веером

Одной из основных и весьма привлекательных особенностей нейросетей является параллельность обработки поступающей информации. Входной сигнал после некоторой его фрагментации и разделения на существенные составляющие сразу поступает на входы всех нейронов, и та часть сети, которая опознает сигнал как некий объект (например, XYZX), выдает выходной сигнал, сообщая о типе обнаруженного объекта. Остальные выходные нейроны при этом остаются в состоянии покоя, поскольку знакомых им объектов не наблюдается.

Распознавание образов –– это, возможно, самый популярный тип задач, решаемых сегодня с помощью нейросетей. Их использует даже служба ГАИ, следя посредством телекамер и нейрокомпьютеров за движением всевозможного транспорта и пешеходов. Второй по популярности является такая разновидность заданий, как предсказание и прогнозы развития различных, не описываемых аналитически зависимостей и событий — успешная предсказательная «деятельность» нейросетей сегодня доказана и математически, и практически. Так, достоверно известно, что многослойная нейросеть может достаточно точно описывать и сколь угодно сложные функциональные зависимости, и задачи краткосрочного прогноза — например результаты выборов и ситуации на фондовом рынке. Что касается последнего, то прогнозные системы в этой сфере могут эффективно работать только в том случае, если закон, регулирующий взаимные котировки валют, существует и если во входных параметрах программы присутствуют величины, действительно влияющие на курс доллара по отношению к евро.

Стоит заметить, что некоторые разработчики нейросетей, предсказывающих биржевые индексы и котировки, включают в свои алгоритмы даже учет таких факторов, как расположение Луны, Земли и Солнца относительно знаков зодиака…

Генетические алгоритмы

Как известно науке бионике, человек издавна пытался позаимствовать у природы полезные для себя идеи. И ему это достаточно часто удавалось. Взять хотя бы самолеты, созданные по подобию птиц, но летающие во много раз быстрее своих пернатых прототипов, не делая ни единого взмаха крыльями. Подобные примеры эффективной работы человеческого мозга вселяют большие надежды в умы специалистов по нейросетям.

Существует и другая параллель разработок, перекликающаяся все с той же бионикой. Среди разработчиков нейросетей выделился круг специалистов, нацеленных на работу с генетическими алгоритмами. Концептуальные моменты их деятельности можно выразить следующим образом: поскольку все зримые плоды эволюции человека и природы достигнуты простым естественным отбором, то почему бы не сделать алгоритм-слепок подобного процесса и не запустить его на компьютере, а затем — после некоторого количества мутаций, скрещиваний и постоянного «просеивания» наиболее эффективных решений –– выбрать, например, оптимальный план инвестиционных вложений в те или иные отрасли промышленности или сферы исследования.

Так, нейросеть с легкоизменяемыми связями между нейронами оказалась очень удобной операционной средой для подобного моделирования процессов, происходящих в природе. Причем, если результат по каким-то причинам покажется неудовлетворительным, можно запустить новый процесс эволюции, изменив начальную генетическую информацию, процент мутаций и способ наследования положительных признаков. И так до бесконечности.

Паралич системы

В математике, в том числе и вычислительной, большое значение имеют разного рода теоремы существования, единственности и возможности. И хотя зачастую они не дают пути для решения конкретной задачи, зато указывают на то, что при определенных затратах сил искомый результат будет достигнут. В рамках работы нейрокомпьютеров существует целый ряд подобных теорем, начиная от сходимости процедуры тренинга (когда обучение в принципе возможно) и заканчивая модифицированной 13-й проблемой Гильберта, говорящей о возможности приближения любых функциональных зависимостей с помощью простейших нейросетей. Занимающиеся такими вопросами — дискретная математика и теория конечных автоматов –– достаточно молодые области исследования, и белых пятен в них, разумеется, много, но успехи теоретиков на этом поприще впечатляют.

В целом между обычными компьютерами и нейрокомпьютерами существует много общего не только в способах хранения информации и технологии производства их микросхем, но и в законах, по которым действуют программы. Одной из наиболее ярких математических проблем, решенных только в конце XX века, стала так называемая «проблема останова». Причем ответ на вопрос, можно ли сделать абсолютно устойчивую вычислительную машину, оказался отрицательным. Увы, но машина всегда может «зависнуть» или зациклиться, не сумев вовремя остановиться, выполняя недопустимую программу. Для всех без исключения вычислительных машин крайне важно, чтобы они могли работать непрерывно, не зависая на пустом переписывании бит, а также на ненужных действиях по умножению и сложению. Математикам очень хотелось доказать, что существует универсальный алгоритм, позволяющий ЭВМ избежать разного рода казусов, возникающих при запуске незнакомых программ и обработке некорректных данных. Но оказалось, что такого надежного алгоритма в принципе не существует, поскольку на любое действие существует противодействие. Как бы ни была умна машина, зная то, как она проверяет корректность команд и инструкций, всегда можно сочинить такую программу, на которой компьютер «собьется» и не сможет остановиться, принимая решение о том, что целесообразнее — приступать к выполнению программы или нет. Так что сегодня с математической точностью доказано, что любая классическая ЭВМ (в том числе и та, на которой набирался и печатался этот текст) может легко «зависнуть» и «сойти с ума», если заставить ее сделать нечто из ряда вон выходящее. Причем если разнообразные вирусы вполне сознательно парализуют работу индивидуальных компьютеров глобальной сети, то стандартное зависание хорошо знакомой операционной системы Windows, как правило, просто следствие некорректной работы с программами. Аналогичные процессы происходят и с нейрокомпьютерами, они тоже «болеют» этой болезнью, да и сам термин «сойти с ума» имеет биологическое происхождение. Правда, применительно к нейросетям обычно употребляют другой медицинский термин — «паралич системы». Так что нейросети бывают не только обученными, но и переобученными, когда они полностью перестают ориентироваться в предлагаемой информации. То же самое, как известно, может происходить и с людьми.

Нейроново решение

В кибернетике чудес не бывает, и нейросеть, работающая «вахтером», то есть специализирующаяся на различении изображений взрослых мужчин и женщин, почти наверняка даст сбой, если ей для опознания предложат фотографии детей. Известный афоризм, утверждающий, что «правильно поставленный вопрос есть половина ответа», имеет самое непосредственное отношение и к нейрокомпьютерам. Если традиционные электронные калькуляторы при нехватке данных или некорректно поставленных граничных условиях не станут решать задачу, то нейросети могут просто не заметить того, что у них оторвалась пара глаз. Они продолжат анализировать искаженную информацию, будучи «уверенными» в том, что предъявляемые объекты просто не входят в круг интересов хозяина и поэтому их нужно игнорировать. Понятно, что контроль целостности и работоспособности всей системы –– это отдельная задача, и решать ее нужно с помощью другой нейросети, но принципиальное отсутствие критики в отношении к входным данным заставляет разработчиков четко оговаривать тот круг объектов и задач, с которыми может работать их система.

Специализация нейросети достигается на этапе обучения, когда тем или иным способом формируются значения весовых коэффициентов, определяющих силу связей между различными нейронами. Именно структура взаимосвязей оказывает решающее значение на принятие решения конкретным нейроном и всей сетью в целом. Подбор правильного методического материала –– одна из главных проблем широкого внедрения нейрокомпьютеров. В случае уже приведенного примера «нейровахтера» для различения взрослых и детей крайне важно сделать так, чтобы компьютер не решил, что рост –– основной признак ребенка, а макияж –– маркер взрослой женщины. Очень часто нейросети моделируют на обычных компьютерах без применения специальных нейрочипов. Причем такие чисто программные нейрокомпьютеры неплохо работают, легко распознавая иероглифы, рукописный текст и внятную членораздельную речь. Правда, с распознаванием слитного письма дела пока обстоят довольно плохо, зато буквы, написанные раздельно или в специальных квадратиках, сегодня распознают даже миниатюрные ручные компьютеры размером с ладонь. Специализированные нейрочипы используют, как правило, военные и те, кому нужны скорость и компактность. Причем все большую популярность приобретают системы с неизменяемыми алгоритмами и весовыми коэффициентами, что позволяет существенно понизить стоимость и энергопотребление конечных устройств. Одна из интересных разработок, уже практически готовая выйти на массовый рынок, –– это система вибро- и акустодиагностики двигателей и ходовой части автомобиля непосредственно во время движения и без участия специалистов из техцентра.

Так что создание универсальных систем не за горами, и уже в ближайшем будущем появятся комбинированные электронно-вычислительные комплексы, сочетающие в себе достоинства обычных ЭВМ и гибкость нейрокомпьютеров. Эти системы, видя клиента насквозь, будут различать его язык, национальность, возраст, пол, социальный статус, образовательный ценз и многое другое, даже не обращаясь к данным, записанным на индивидуальном идентификационном микрочипе. А вот насколько человеку будет приятно общение со столь проницательным электронным визави, в данном случае будет зависеть не от архитектуры нейросетей искусственного мозга, а от той программы поведения, которую заложат программисты, а также от возможностей ее самообучения в процессе живого общения с подопечным или хозяином.

Сегодня вряд ли кто-нибудь усомнится в том, что нейросети удачно дополняют традиционные программные методы в целом ряде компьютерных приложений. А также позволяют существенно повысить производительность при решении высокоинтеллектуальных задач, по распознаванию, классификации, предсказанию и оптимизации всего и вся.

Слои для интеллекта

Современная нейросеть, или нейрокомпьютер, состоит из нескольких слоев элементарных нейронов. Первый слой — это многоканальный вход, поставляющий подлежащую обработке информацию в цифровом или аналоговом виде. Затем следует один (или несколько) скрытых слоев, анализирующих эту информацию. Ее обработка может идти либо строго последовательно (без обратных связей), либо посредством возвращения уже обработанной информации на вход системы. Последний, внешний, слой нейронов формирует выходные данные в удобном для работающего в связке с нейросетью компьютера формате. И обработка информации, и выдача результата могут происходить и в цифровом виде (когда все и вся кодируются последовательностью нулей и единиц), и в аналоговом (когда именно электрическое напряжение является анализируемой величиной).

Зачем нужны нейросети

Автоматизация производства

Оптимизация режимов производственного процесса, комплексная диагностика качества продукции (с помощью ультразвука, оптики, гамма-излучения), мониторинг и визуализация многомерной диспетчерской информации, предупреждение аварийных ситуаций, робототехника

Медицина

Обработка изображений, мониторинг состояния пациентов, диагностика, анализ эффективности лечения, очистка показаний приборов от шумов. Вычислительная система, представляющая собой модель биохимических процессов, протекающих в нервных тканях

Экономика и бизнес

Предсказания рынков, банкротств, оценки риска невозврата кредитов и стоимости недвижимости, автоматическое рейтингование, оптимизация товарных и денежных потоков, автоматическое считывание чеков и форм

Безопасность и охранные системы

Идентификация личности, распознавание голосов, лиц в толпе, автомобильных номеров, анализ аэрокосмических снимков, мониторинг информационных потоков, обнаружение подделок

Авиация

Автоматическое пилотирование, распознавание сигналов радаров, адаптивное пилотирование сильно поврежденного самолета. Условия, в которых работают авиаприборы, накладывают сильные ограничения на их размер, быстродействие и помехозащищенность

Связь

Сжатие видеоинформации, быстрое кодирование/декодирование, оптимизация сотовых сетей и схем маршрутизации пакетов. Особые требования здесь предъявляются к возможности создания автономных, мобильных решений, допускающих встраивание в переносные видеокамеры, сотовые телефоны и тому подобное

Математическая статистика, логика и вычислительная техника

Вычислительная система, автоматически формирующая описание характеристик случайных процессов, имеющих сложные функции распределения. Нейрокомпьютер, алгоритм работы которого представлен логической сетью элементов частного вида (нейронов) с полным отказом от классических логических операций. Вычислительная система, в которой процессорный элемент однородной структуры упрощен до уровня нейрона, резко усложнены связи между элементами и программирование перенесено на изменение весовых коэффициентов связей между процессорными элементами

Приключения нейросетей

1904 — испанский ученый-гистолог Сантьяго Рамон-и-Кахаль доказал, что нервная система состоит из нейронов –– особых нервных клеток. Спустя два года он и его учитель Камилло Гольджи получили Нобелевскую премию в области физиологии и медицины за изучение нервной системы

1943 — выход в свет работы Дж. Мак-Каллока и У. Питтса «Логическое исчисление идей, относящихся к нервной деятельности», в которой были впервые сформулированы основные принципы построения искусственных нейронов и нейронных сетей

1957 — В.И. Арнольд и А.Н. Колмогоров решили 13-ю проблему Гильберта, доказав, что любую непрерывную функцию многих переменных можно представить в виде суперпозиции непрерывных функций одной переменной и функции сложения

1959 — публикация статьи Дж. Мак-Каллока «О чем глаза лягушки говорят мозгу лягушки», где впервые было введено понятие нейрона-детектора, определенным образом реагирующего на внешние раздражители

1962 — нейрофизиолог Ф. Розенблатт создал модель однослойной нейронной сети, названной персептроном, которая была использована для попыток предсказания погоды, анализа электрокардиограмм и распознавания рукописных и печатных текстов и букв

1969 — выход критической работы М. Минского, в которой доказывалась невозможность использования однослойных сетей типа персептрона для многих классов задач, из-за чего эта область науки стала непопулярной на долгие годы

1970-е — над исследованием нейросетей продолжали работать очень немногие кибернетики (Т. Кохонен, С. Гроссберг, Дж. Андерсон, Г. Бриндли, Д. Мар, В. Дунин-Барковский, А.Фролов). Прогнозы Минского оказались чрезмерно пессимистичными — многие из неразрешаемых, по его мнению, задач успешно решались многослойными нейросетями

1982 — американский биофизик Дж. Хопфилд предложил интересную модель сети, получившей его имя, а позднее были разработаны: сеть встречного потока (Р. Хект-Нейлсен), двунаправленная ассоциативная память (Б. Коскоу)

Середина 1980-х — возникновение настоящего нейросетевого бума по причине возрастающего интереса людей к изучению работы нервной системы и возникновению ряда новых нейромоделей

1986 — выход работы Д.Е. Румельхарта, Дж. Е. Хинтона, Р. Дж. Уильямса, в которой был предложен эффективный способ обучения многослойных нейросетей, методом обратного распространения ошибки

1989 — анализ варианта 13-й проблемы Гильберта в контексте нейросетевых алгоритмов и доказательство того, что всякую непрерывную функцию нескольких переменных можно с любой точностью приблизить с помощью обычного трехслойного персептрона с достаточным количеством нейронов в скрытом слое

1990-е — развитие новых нейропарадигм несколько замедлилось, зато нейросети и нейрочипы прочно вошли в инженерную практику — нейросетевые методы начали активно использоваться в таких кибернетических направлениях, как «Искусственная жизнь» и «Адаптивное поведение», наряду с традиционным «искусственным интеллектом»

Михаил Алюшин, кандидат технических наук