Нейрокомпьютерные системы
Введение
Десять лет назад в США, а затем в Японии и странах ЕЭС были развернуты широкомасштабные национальные и международные программы исследований и разработок, направленные на создание нейрокомпьютеров – ЭВМ на основе искусственных нейронных сетей, обладающих развитым интеллектом и программируемых путем обучения на примерах решения задач. Исследования в этой области проводились еще с начала 60-х годов и считались равными по важности созданию атомной бомбы. Большинство разработок было связано с "интеллектуализацией" систем оружия и велось под покровом секретности. Да и сейчас далеко не все такие исследования носят открытый характер, хотя теперь это вызывается скорее коммерческими соображениями. Отчасти этим можно объяснить практически полное отсутствие технических подробностей в появляющихся время от времени сообщениях прессы о разработках в данной области. Однако сегодня, когда сроки завершения большинства из объявленных исследовательских программ приближаются либо уже истекли, скудость сообщений средств массовой информации, равно как и отсутствие других признаков приближения эры нейрокомпьютеров, вызывает опасение, что выполнение этих программ находится под угрозой и они готовы разделить участь небезызвестного японского проекта интеллектуальной ЭВМ 5-го поколения.
По оценкам компании Busines Communications Company Inc., в конце 1992 г. объем мирового рынка нейрокомпьютеров составлял $120 млн. (аппаратное обеспечение) и $50 млн. (программное обеспечение). Предсказывалось, что к 2000-му году он вырастет до $790 и $260 млн. соответственно. В то же время неослабевающая научная активность в этой области позволяет надеяться, что в недрах лабораторий вызревает некое "нейронное сверхоружие", способное в одночасье решить остающиеся проблемы и предложить качественно новые интеллектуальные системы, которые сменят традиционные и уже привычные ЭВМ. Некоторые новые результаты исследований украинских ученых позволяют надеяться на такой поворот событий уже в самом ближайшем будущем.
Действительно, не имея ни современного оснащения, ни сколько-нибудь приличного финансирования, находясь вдали от международных научных центров, невозможно не то что повлиять на выполнение эпохальных программ, в которых занят цвет мировой науки, но получить хотя бы мало-мальски заметный результат. Однако не стоит спешить с оценками. Экспресс мирового прогресса достаточно часто проскакивает полустанки, на которых стоило бы повернуть стрелки.
Создатели первых моделей ИНС следовали скорее интуиции, чем точному расчету. Несмотря на это, созданные системы демонстрировали поразительную способность к обучению, что было воспринято как вызов сторонниками идеи построения систем искусственного интеллекта на основе математической логики. Последние, в числе которых были такие авторитетные ученые, как М.Минский, выявив недостатки, присущие простейшей модели перцептрона, объявили эксперименты с ИНС чуть ли не шарлатанством. Это повлекло за собой спад исследований в данной области, продолжавшийся до начала 80-х годов.
Возрождению интереса к ИНС способствовал ряд обстоятельств:
· трудности с реализацией логических систем искусственного интеллекта, создаваемых в рамках японского проекта ЭВМ 5-го поколения;
· появление принципиально новых идей в отношении организации памяти и обучения нейросетей;
· заметное отставание темпов роста производительности ЭВМ от стремительного увеличения потребности в высокопроизводительных вычислениях.
Последнее стимулировало интенсификацию исследований в области параллельных вычислений и многопроцессорных систем. ИНС как естественные высокопараллельные системы, способные решать сложные неформализованные задачи, снова оказались в центре внимания ученых. Ключевую роль при этом сыграла работа Д.Хопфилда, сулившая радикальное решение проблемы обучения, бывшей камнем преткновения для перцептрона. Результаты исследований. В период 1983-86 гг. работы в области ИНС принимают характер настоящего бума. В США, Японии и странах ЕЭС разворачиваются крупные государственные программы исследований, ставящие целью создание к 1995 г. опытных образцов и освоение до 2000 г. массового производства нейрокомпьютеров – ЭВМ нового поколения на основе ИНС. Вот наиболее известные из этих программ:
· США – программа DARPA – Управления перспективного планирования НИР военного применения – 1987-1995 гг. – 400 млн. долл.;
· Япония – программа Human Frontier – 1988-1996 гг. – 1 триллион иен (6,6 млрд. долл.);
· ЕЭС – программа BRAIN (Basic Research on Adaptive Inteligence – Базовые исследования адаптивного интеллекта) – 1988-1996 гг. – 1,2 млн. долл. ежегодно.
Уже в 1987 г. в США состоялись две международные конференции по нейронным сетям, на одной из которых было представлено около 400, а на второй – более 150 докладов. Проведение таких международных форумов по ИНС становится регулярным, а их число вскоре достигает нескольких десятков в год. На наиболее представительной из последних конференций, ICNN-96 (США), было представлено более 500 докладов [5]. В Европе только за сентябрь 1997 г. на конференциях EUFIT-97 (Германия) и ICIAP (Италия) прочитано около сотни докладов по ИНС.
Атмосферу нейрокомпьютерного бума, охватившую мир в конце 80-х, характеризует высказывание президента США Буша, который в связи с бурным развитием ИНС назвал 90-е годы "десятилетием мозга". Государственная поддержка и обильное финансирование разработок привело к быстрому формированию целой исследовательской индустрии, созданию и организации массовогопроизводства необходимого аппаратного и программного оснащения: нейрокомпьютеров и нейроакселераторов для ПЭВМ, нейрочипов и нейропрограмм, учебных курсов на CD-ROM и т.п. Ужек 1992 г. только в США более 150 компаний специализировалось на выпуске различной нейропродукции, раскупаемой университетами и лабораториями, занятыми выполнением исследовательских программ.
По оценкам компании Busines Communications Company Inc., в конце 1992г. объем мирового рынка нейрокомпьютеров составлял $120 млн. (аппаратное обеспечение) и $50 млн. (программноеобеспечение). Предсказывалось, что к 2000-му году он вырастет до $790 и $260 млн. соответственно. Тревожный симптом В опубликованных недавно обзорных работах [6,7] даны многочисленные примеры практического применения нейрокомпьютеров и нейротехнологий в системах оборонного и гражданского назначения. Из них складывается картина массированного наступления нейротехнологий во всех сферах человеческой деятельности.
Следует, однако, учесть, что все эти примеры относятся к началу 90-х годов – пику нейрокомпьютерного бума, когда в данную отрасль были вовлечены многие тысячи квалифицированных специалистов и в ней образовался мощный научно-технический потенциал. Именно тогда были отработаны ключевые идеи, налажено производство средств моделирования ИНС, а также созданы образцы нейрочипов и нейрокомпьютеров, которые в свою очередь позволяют создавать крупные системы, содержащие десятки тысяч нейронов и выполняющие миллиарды вычислений в секунду.
Анализируя последующие работы, в частности содержание докладов на последних международных конференциях (ICNN-96, EUFIT-97), можно увидеть, что большая часть созданного потенциала так и осталась невостребованной. Современные исследователи отдают предпочтение относительно простым прикладным задачам, решение которых можно достичь с помощью сети из нескольких десятков нейронов. Такое предпочтение отчасти можно объяснить ростом доступности инструментальных средств на основе нейропарадигмы BP или ее аналогов, не позволяющих эффективно моделировать крупные системы.
Однако для большинства перспективных приложений (например, систем искусственного зрения и слуха) необходима обработка больших объемов информации, немыслимая без использования крупных нейрокомпьютеров. Поэтому наблюдаемая переориентация исследований на решение относительно простых задач при наличии далеко продвинутых разработок больших нейросетей представляется тревожным симптомом.
Переориентация исследований на решение относительно простых задач при наличии далеко продвинутых разработок больших нейросетей является тревожным симптомом. По мере выполнения исследовательских программ становится все более очевидным, что сложность задачи создания принципиально новых компьютеров на основе нейронных сетей была недооценена, а прогнозы стремительного роста объема рынка нейропродукции, сделанные в периодострого дефицита в экспериментальном оборудовании, далеки от реальности. Это, по-видимому, хорошо понимают ведущие производители, воздерживающиеся от больших капиталовложенийв производство нейропродукции в ожидании завершения исследовательских программ, финансируемых правительствами.
Является ли сказанное выше симптомами надвигающегося кризиса? Не постигнет ли нейрокомпьютеры судьба небезызвестного японского проекта ЭВМ 5-го поколения, бесславно канувшего в Лету в середине 80-х годов? Или в недрах многочисленных научных лабораторий зреет радикальное решение, способное повернуть вспять развитие событий? Ведь подобное уже было 15 лет назад, когда новая идея, выдвинутая Д.Хопфилдом, стала катализатором начала нейрокомпьютерного бума.
Тема 1. Принципы организации и функционирования искусственных нейронных сетей.
1. Краткий исторический обзор
Исследования в области ИНС пережили три периода активизации. Первый пик в 40-х годах обусловлен пионерской работой МакКаллока и Питтса. Второй возник в 60-х благодаря теореме сходимости перцептрона Розенблатта и работе Минского и Пейперта, указавшей ограниченные возможности простейшего перцептрона. Результаты Минского и Пейперта погасили энтузиазм большинства исследователей, особенно тех, кто работал в области вычислительных наук. Возникшее в исследованиях по нейронным сетям затишье продлилось почти 20 лет. С начала 80-х годов ИНС вновь привлекли интерес исследователей, что связано с энергетическим подходом Хопфилда и алгоритмом обратного распространения для обучения многослойного перцептрона (многослойные сети прямого распространения), впервые предложенного Вербосом и независимо разработанного рядом других авторов. Алгоритм получил известность благодаря Румельхарту в 1986году Андерсон и Розенфельд подготовили подробную историческую справку о развитии ИНС.
2.Основные нейрофизиологические данные о биологических нейронных сетях.
Hейрокомпьютерные технологии, реализующие "думающие машины", как их иногда называют, из-за способности анализировать возникающие новые ситуации и учиться на ошибках, причем не только на своих, как это обычно свойственно человеку. Несмотря на то что отечественная пресса уделяет не так много внимания нейрокомпьютерным технологиям, актуальность этой темы становится все более очевидной: многие финансовые институты по всему миру взяли на вооружение нейрокомпьютерные методы, множатся примеры использования нейросистем вместе с хранилищами данных и СУБД, применяющими нейросети в системах OLAP. В медицине и энергетике также всерьез рассматриваются возможности этой технологии.
Интеллектуальные системы на основе искусственных нейронных сетей (ИНС) позволяют с успехом решать проблемы распознавания образов, выполнения прогнозов, оптимизации, ассоциативной памяти и управления. Известны и иные, более традиционные подходы к решению этих проблем, однако они не обладают необходимой гибкостью за пределами ограниченных условий. ИНС дают многообещающие альтернативные решения, и многие приложения выигрывают от их использования.
Длительный период эволюции придал мозгу человека много качеств, которые отсутствуют как в машинах с архитектурой фон Неймана, так и в современных параллельных компьютерах. К ним относятся:
• массовый параллелизм,
• распределенное представление информации и вычисления,
• способность к обучению и способность к обобщению,
• адаптивность,
• свойство контекстуальной обработки информации,
• толерантность к ошибкам,
• низкое энергопотребление.
Можно предположить, что приборы, построенные на тех же принципах, что и биологические нейроны, будут обладать перечисленными характеристиками.
3.Биологические нейронные сети
Нейрон (нервная клетка) является особой биологической клеткой, которая обрабатывает информацию (рис. 1). Она состоит из тела клетки (cell body), или сомы (soma), и двух типов внешних древоподобных ветвей: аксона (axon) и дендритов (dendrites). Тело клетки включает ядро (nucleus), которое содержит информацию о наследственных свойствах, и плазму, обладающую молекулярными средствами для производства необходимых нейрону материалов. Нейрон получает сигналы (импульсы) от других нейронов через дендриты (приемники) и передает сигналы, сгенерированные телом клетки, вдоль аксона (передатчик), который в конце разветвляется на волокна (strands). На окончаниях этих волокон находятся синапсы
(synapses). Рисунок 1.
Схема биологического нейрона.
Синапс является элементарной структурой и функциональным узлом между двумя нейронами (волокно аксона одного нейрона и дендрит другого). Когда импульс достигает синаптического окончания, высвобождаются определенные химические вещества, называемые нейротрансмиттерами. Нейротрансмиттеры диффундируют через синаптическую щель, возбуждая или затормаживая, в зависимости от типа синапса, способность нейрона-приемника генерировать электрические импульсы. Результативность синапса может настраиваться проходящими через него сигналами, так что синапсы могут обучаться в зависимости от активности процессов, в которых они участвуют. Эта зависимость от предыстории действует как память, которая, возможно, ответственна за память человека.
Кора головного мозга человека является протяженной, образованной нейронами поверхностью толщиной от 2 до 3 мм с площадью около 2200 см2, что вдвое превышает площадь поверхности стандартной клавиатуры. Кора головного мозга содержит около 1011 нейронов, что приблизительно равно числу звезд Млечного пути. Каждый нейрон связан с 103 – 104 другими нейронами. В целом мозг человека содержит приблизительно от 1014 до 1015 взаимосвязей.
Нейроны взаимодействуют посредством короткой серии импульсов, как правило, продолжительностью несколько мсек. Сообщение передается посредством частотно-импульсной модуляции. Частота может изменяться от нескольких единиц до сотен герц, что в миллион раз медленнее, чем самые быстродействующие переключательные электронные схемы. Тем не менее сложные решения по восприятию информации, как, например, распознавание лица, человек принимает за несколько сотен мс. Эти решения контролируются сетью нейронов, которые имеют скорость выполнения операций всего несколько мс. Это означает, что вычисления требуют не более 100 последовательных стадий. Другими словами, для таких сложных задач мозг "запускает" параллельные программы, содержащие около 100 шагов. Это известно как правило ста шагов. Рассуждая аналогичным образом, можно обнаружить, что количество информации, посылаемое от одного нейрона другому, должно быть очень маленьким (несколько бит). Отсюда следует, что основная информация не передается непосредственно, а захватывается и распределяется в связях между нейронами. Этим объясняется такое название, как коннекционистская модель, применяемое к ИНС.
4. От биологических сетей к ИНС
Современные цифровые вычислительные машины превосходят человека по способности производить числовые и символьные вычисления. Однако человек может без усилий решать сложные задачи восприятия внешних данных (например, узнавание человека в толпе только по его промелькнувшему лицу) с такой скоростью и точностью, что мощнейший в мире компьютер по сравнению с ним кажется безнадежным тугодумом. В чем причина столь значительного различия в их производительности? Архитектура биологической нейронной системы совершенно не похожа на архитектуру машины фон Неймана (Таблица 1), существенно влияет на типы функций, которые более эффективно исполняются каждой моделью.
Таблица 1.
Машина фон Неймана по сравнению с биологической нейронной системой.
Машина фон Неймана
Биологическая нейронная система
Процессор
Сложный
Высокоскоростной
Один или несколько
Простой
Низкоскоростной
Большое количество
Память
Отделена от процессора
Локализована
Адресация не по содержанию
Интегрирована в процессор
Распределенная
Адресация по содержанию
Надежность
Высокая уязвимость
Живучесть
Специализация
Численные и символьные oперации
Проблемы восприятия
Среда функционирования
Строго определенная
Строго ограниченная
Плохо определенная
Без ограничений
Подобно биологической нейронной системе ИНС является вычислительной системой с огромным числом параллельно функционирующих простых процессоров с множеством связей. Модели ИНС в некоторой степени воспроизводят "организационные" принципы, свойственные мозгу человека. Моделирование биологической нейронной системы с использованием ИНС может также способствовать лучшему пониманию биологических функций. Такие технологии производства, как VLSI (сверхвысокий уровень интеграции) и оптические аппаратные средства, делают возможным подобное моделирование.
Глубокое изучение ИНС требует знания нейрофизиологии, науки о познании, психологии, физики (статистической механики), теории управления, теории вычислений, проблем искусственного интеллекта, статистики/математики, распознавания образов, компьютерного зрения, параллельных вычислений и аппаратных средств (цифровых/аналоговых/VLSI/оптических). С другой стороны, ИНС также стимулируют эти дисциплины, обеспечивая их новыми инструментами и представлениями. Этот симбиоз жизненно необходим для исследований по нейронным сетям.
5. Модель технического нейрона
МакКаллок и Питтс предложили использовать бинарный пороговый элемент в качестве модели искусственного нейрона. Этот математический нейрон вычисляет взвешенную сумму n входных сигналов xj, j = 1, 2… n, и формирует на выходе сигнал величины 1, если эта сумма превышает определенный порог u, и 0 – в противном случае.
Часто удобно рассматривать u как весовой коэффициент, связанный с постоянным входом x0 = 1. Положительные веса соответствуют возбуждающим связям, а отрицательные – тормозным. МакКаллок и Питтс доказали, что при соответствующим образом подобранных весах совокупность параллельно функционирующих нейронов подобного типа способна выполнять универсальные вычисления. Здесь наблюдается определенная аналогия с биологическим нейроном: передачу сигнала и взаимосвязи имитируют аксоны и дендриты, веса связей соответствуют синапсам, а пороговая функция отражает активность сомы.
В основу искусственных нейронных сетей положены следующие черты живых нейронных сетей, позволяющие им хорошо справляться с нерегулярными задачами:
– простой обрабатывающий элемент – нейрон;
– очень большое число нейронов участвует в обработке информации;
– один нейрон связан с большим числом других нейронов
(глобальные связи);
– изменяющиеся по весу связи между нейронами;
– массированная параллельность обработки информации.
Прототипом для создания нейрона послужил биологический нейрон головного мозга. Биологический нейрон имеет тело, совокупность отростков – дендридов, по которым в нейрон поступают входные сигналы, и отросток – аксон, передающий выходной сигнал нейрона другим клеткам. Точка соединения дендрида и аксона называется синапсом. Упрощенно функционирование нейрона можно представить следующим образом:
1) нейрон получает от дендридов набор (вектор) входных сигналов;
2) в теле нейрона оценивается суммарное значение входных сигналов. Однако входы нейрона неравнозначны. Каждый вход характеризуется некоторым весовым коэффициентом, определяющим важность поступающей по нему информации. Таким образом, нейрон не просто суммирует значения входных сигналов, а вычисляет скалярное произведение вектора входных сигналов и вектора весовых коэффициентов;
3) нейрон формирует выходной сигнал, интенсивность которого
зависит от значения вычисленного скалярного произведения. Если оно не превышает некоторого заданного порога, то выходной сигнал не формируется вовсе – нейрон "не срабатывает";
4) выходной сигнал поступает на аксон и передается дендридам
других нейронов.
Поведение искусственной нейронной сети зависит как от значения весовых параметров, так и от функции возбуждения нейронов.
Известны три основных вида функции возбуждения:
– пороговая,
– линейная
– сигмоидальная.
Для пороговых элементов выход устанавливается на одном из двух уровней в зависимости от того, больше или меньше суммарный сигнал на входе нейрона некоторого порогового значения. Для линейных элементов выходная активность пропорциональна суммарному взвешенному входу нейрона.
Для сигмоидальных элементов в зависимости от входного сигнала, выход варьируется непрерывно, но не линейно, по мере изменения входа. Сигмоидальные элементы имеют больше сходства с реальными нейронами, чем линейные или пороговые, но любой из этих типов можно рассматривать лишь как приближение.
Нейронная сеть представляет собой совокупность большого числа сравнительно простых элементов – нейронов, топология соединений которых зависит от типа сети. Чтобы создать нейронную сеть для решения какой-либо конкретной задачи, мы должны выбрать, каким образом следует соединять нейроны друг с другом, и соответствующим образом подобрать значения весовых параметров на этих связях. Может ли влиять один элемент на другой, зависит от установленных соединений. Вес соединения определяет силу влияния.
6.Архитектура нейронной сети
ИНС может рассматриваться как направленный граф со взвешенными связями, в котором искусственные нейроны являются узлами. По архитектуре связей ИНС могут быть сгруппированы в два класса (рис. 2): сети прямого распространения, в которых графы не имеют петель, и рекуррентные сети, или сети с обратными связями.
Рисунок 2.Систематизация архитектур сетей прямого распространения и рекуррентных (с обратной связью).
В наиболее распространенном семействе сетей первого класса, называемых многослойным перцептроном, нейроны расположены слоями и имеют однонаправленные связи между слоями. На рис. 2 представлены типовые сети каждого класса. Сети прямого распространения являются статическими в том смысле, что на заданный вход они вырабатывают одну совокупность выходных значений, не зависящих от предыдущего состояния сети. Рекуррентные сети являются динамическими, так как в силу обратных связей в них модифицируются входы нейронов, что приводит к изменению состояния сети.
Тема 2.Обучение ИНС.
Способность к обучению является фундаментальным свойством мозга. В контексте ИНС процесс обучения может рассматриваться как настройка архитектуры сети и весов связей для эффективного выполнения специальной задачи. Обычно нейронная сеть должна настроить веса связей по имеющейся обучающей выборке. Функционирование сети улучшается по мере итеративной настройки весовых коэффициентов. Свойство сети обучаться на примерах делает их более привлекательными по сравнению с системами, которые следуют определенной системе правил функционирования, сформулированной экспертами.
Для конструирования процесса обучения, прежде всего, необходимо иметь модель внешней среды, в которой функционирует нейронная сеть – знать доступную для сети информацию. Эта модель определяет парадигму обучения . Во-вторых, необходимо понять, как модифицировать весовые параметры сети – какие правила обучения управляют процессом настройки. Алгоритм обучения означает процедуру, в которой используются правила обучения для настройки весов.
Существуют три парадигмы обучения:
– "с учителем",
– "без учителя" (самообучение)
– смешанная.
В первом случае нейронная сеть располагает правильными ответами (выходами сети) на каждый входной пример. Веса настраиваются так, чтобы сеть производила ответы как можно более близкие к известным правильным ответам. Усиленный вариант обучения с учителем предполагает, что известна только критическая оценка правильности выхода нейронной сети, но не сами правильные значения выхода.
Обучение без учителя не требует знания правильных ответов на каждый пример обучающей выборки. В этом случае раскрывается внутренняя структура данных или корреляции между образцами в системе данных, что позволяет распределить образцы по категориям.
При смешанном обучении часть весов определяется посредством обучения с учителем, в то время как остальная получается с помощью самообучения.
Теория обучения рассматривает три фундаментальных свойства, связанных с обучением по примерам:
– емкость,
– сложность образцов
– вычислительная сложность.
Под емкостью понимается, сколько образцов может запомнить сеть, и какие функции и границы принятия решений могут быть на ней сформированы.
Сложность образцов определяет число обучающих примеров, необходимых для достижения способности сети к обобщению. Слишком малое число примеров может вызвать "переобученность" сети, когда она хорошо функционирует на примерах обучающей выборки, но плохо – на тестовых примерах, подчиненных тому же статистическому распределению. Известны 4 основных типа правил обучения:
– коррекция по ошибке,
– машина Больцмана,
– правило Хебба
– обучение методом соревнования.
1.Правило коррекции по ошибке
.
При обучении с учителем для каждого входного примера задан желаемый выход d. Реальный выход сети y может не совпадать с желаемым. Принцип коррекции по ошибке при обучении состоит в использовании сигнала (d-y) для модификации весов, обеспечивающей постепенное уменьшение ошибки. Обучение имеет место только в случае, когда перцептрон ошибается. Известны различные модификации этого алгоритма обучения.
2.Обучение Больцмана.
Представляет собой стохастическое правило обучения, которое следует из информационных теоретических и термодинамических принципов. Целью обучения Больцмана является такая настройка весовых коэффициентов, при которой состояния видимых нейронов удовлетворяют желаемому распределению вероятностей. Обучение Больцмана может рассматриваться как специальный случай коррекции по ошибке, в котором под ошибкой понимается расхождение корреляций состояний в двух режимах .
3.Правило Хебба
Самым старым обучающим правилом является постулат обучения Хебба. Хебб опирался на следующие нейрофизиологические наблюдения: если нейроны с обеих сторон синапса активизируются одновременно и регулярно, то сила синаптической связи возрастает. Важной особенностью этого правила является то, что изменение синаптического веса зависит только от активности нейронов, которые связаны данным синапсом. Это существенно упрощает цепи обучения в реализации VLSI.
4.Обучение методом соревнования
В отличие от обучения Хебба, в котором множество выходных нейронов могут возбуждаться одновременно, при соревновательном обучении выходные нейроны соревнуются между собой за активизацию. Это явление известно как правило "победитель берет все". Подобное обучение имеет место в биологических нейронных сетях. Обучение посредством соревнования позволяет кластеризовать входные данные: подобные примеры группируются сетью в соответствии с корреляциями и представляются, одним элементом.
При обучении модифицируются только веса "победившего" нейрона. Эффект этого правила достигается за счет такого изменения сохраненного в сети образца (вектора весов связей победившего нейрона), при котором он становится чуть ближе ко входному примеру. На рис. 3 дана геометрическая иллюстрация обучения методом соревнования. Входные векторы нормализованы и представлены точками на поверхности сферы. Векторы весов для трех нейронов инициализированы случайными значениями. Их начальные и конечные значения после обучения отмечены Х на рис. 3а и 3б соответственно. Каждая из трех групп примеров обнаружена одним из выходных нейронов, чей весовой вектор настроился на центр тяжести обнаруженной группы.
Рисунок 3.
Пример обучения методом соревнования:
(а) перед обучением; (б) после обучения.
Можно заметить, что сеть никогда не перестанет обучаться, если параметр скорости обучения не равен 0. Некоторый входной образец может активизировать другой выходной нейрон на последующих итерациях в процессе обучения. Это ставит вопрос об устойчивости обучающей системы.
Система считается устойчивой, если ни один из примеров обучающей выборки не изменяет своей принадлежности к категории после конечного числа итераций обучающего процесса. Один из способов достижения стабильности состоит в постепенном уменьшении до 0 параметра скорости обучения. Однако это искусственное торможение обучения вызывает другую проблему, называемую пластичностью и связанную со способностью к адаптации к новым данным. Эти особенности обучения методом соревнования известны под названием дилеммы стабильности-пластичности Гроссберга.
В Таблице 2 представлены различные алгоритмы обучения и связанные с ними архитектуры сетей (список не является исчерпывающим). В последней колонке перечислены задачи, для которых может быть применен каждый алгоритм. Каждый алгоритм
обучения ориентирован на сеть определенной архитектуры и предназначен для ограниченного класса задач. Кроме рассмотренных, следует упомянуть некоторые другие алгоритмы: Adaline и Madaline, линейный дискриминантный анализ, проекции Саммона, анализ главных компонентов.
Таблица 2.
Известные алгоритмы обучения.
Парадигма
Обучающее правило
Архитектура
Алгоритм обучения
Задача
С учителем
Коррекция ошибки
Однослойный и многослойный перцептрон
Алгоритмы обучения перцептрона
Обратное распространение
Adaline и Madaline
Классификация образов
Аппроксимация функций
Предскащание, управление
Больцман
Рекуррентная
Алгоритм обучения Больцмана
Классификация образов
Хебб
Многослойная прямого распространения
Линейный дискриминантный анализ
Анализ данных
Классификация образов
Соревнование
Соревнование
Векторное квантование
Категоризация внутри класса Сжатие данных
Сеть ART
ARTMap
Классификация образов
Без учителя
Коррекция ошибки
Многослойная прямого распространения
Проекция Саммона
Категоризация внутри класса Анализ данных
Хебб
Прямого распространения или соревнование
Анализ главных компонентов
Анализ данных
Сжатие данных
Сеть Хопфилда
Обучение ассоциативной памяти
Ассоциативная память
Соревнование
Соревнование
Векторное квантование
Категоризация
Сжатие данных
SOM Кохонена
SOM Кохонена
Категоризация
Анализ данных
Сети ART
ART1, ART2
Категоризация
Смешанная
Коррекция ошибки и соревнование
Сеть RBF
Алгоритм обучения RBF
Классификация образов
Аппроксимация функций
Предсказание, управление
5. Самоорганизующиеся карты Кохонена
Самоорганизующиеся карты Кохонена (SOM) обладают благоприятным свойством сохранения топологии, которое воспроизводит важный аспект карт признаков в коре головного мозга высокоорганизованных животных. В отображении с сохранением топологии близкие входные примеры возбуждают близкие выходные элементы. На рис. 2 показана основная архитектура сети SOM Кохонена. По существу она представляет собой двумерный массив элементов, причем каждый элемент связан со всеми n входными узлами.
Такая сеть является специальным случаем сети, обучающейся методом соревнования, в которой определяется пространственная окрестность для каждого выходного элемента. Локальная окрестность может быть квадратом, прямоугольником или окружностью. Начальный размер окрестности часто устанавливается в пределах от 1/2 до 2/3 размера сети и сокращается согласно определенному закону (например, по экспоненциально убывающей зависимости). Во время обучения модифицируются все веса, связанные с победителем и его соседними элементами.
Самоорганизующиеся карты Кохонена могут быть использованы для проектирования многомерных данных, аппроксимации плотности и кластеризации. Эта сеть успешно применялась для распознавания речи, обработки изображений, в робототехнике и в задачах управления. Параметры сети включают в себя размерность массива нейронов, число нейронов в каждом измерении, форму окрестности, закон сжатия окрестности и скорость обучения.
6.Модели теории адаптивного резонанса
Напомним, что дилемма стабильности-пластичности является важной особенностью обучения методом соревнования. Как обучать новым явлениям (пластичность) и в то же время сохранить стабильность, чтобы существующие знания не были стерты или разрушены?
Карпентер и Гроссберг, разработавшие модели теории адаптивного резонанса (ART1, ART2 и ARTMAP), сделали попытку решить эту дилемму. Сеть имеет достаточное число выходных элементов, но они не используются до тех пор, пока не возникнет в этом необходимость. Будем говорить, что элемент распределен (не распределен), если он используется (не используется). Обучающий алгоритм корректирует имеющийся прототип категории, только если входной вектор в достаточной степени ему подобен. В этом случае они резонируют. Степень подобия контролируется параметром сходства k, 0<k<1, который связан также с числом категорий. Когда входной вектор недостаточно подобен ни одному существующему прототипу сети, создается новая категория, и с ней связывается нераспределенный элемент со входным вектором в качестве начального значения прототипа. Если не находится нераспределенного элемента, то новый вектор не вызывает реакции сети.
Чтобы проиллюстрировать модель, рассмотрим сеть ART1, которая рассчитана на бинарный (0/1) вход. Упрощенная схема архитектуры ART1 [2] представлена на рис. 4. Она содержит два слоя элементов с полными связями.
Рисунок 4.Сеть ART1.
Направленный сверху вниз весовой вектор wj соответствует элементу j входного слоя, а направленный снизу вверх весовой вектор i связан с выходным элементом i; i является нормализованной версией wi . Векторы wj сохраняют прототипы кластеров. Роль нормализации состоит в том, чтобы предотвратить доминирование векторов с большой длиной над векторами с малой длиной. Сигнал сброса R генерируется только тогда, когда подобие ниже заданного уровня.
Модель ART1 может создать новые категории и отбросить входные примеры, когда сеть исчерпала свою емкость. Однако число обнаруженных сетью категорий чувствительно к параметру сходства.
Тема 3. Ассоциативные ИНС.
Модель Маккалоха
Теоретические основы нейроматематики были заложены в начале 40-х годов. В 1943 году У. Маккалох и его ученик У. Питтс сформулировали основные положения теории деятельности головного мозга. Ими были получены следующие результаты:
– разработана модель нейрона как простейшего процессорного
элемента, выполняющего вычисление переходной функции от скалярного произведения вектора входных сигналов и вектора весовых коэффициентов;
– предложена конструкция сети таких элементов для выполнения
логических и арифметических операций;
– сделано основополагающее предположение о том, что такая сеть способна обучаться, распознавать образы, обобщать полученную информацию.
Несмотря на то, что за прошедшие годы нейроматематика ушла
далеко вперед, многие утверждения Макклоха остаются актуальными и поныне. В частности, при большом разнообразии моделей нейронов принцип их действия, заложенный Макклохом и Питтсом, остается неизменным.
Недостатком данной модели является сама модель нейрона –
"пороговой" вид переходной функции. В формализме У. Маккалоха и У. Питтса нейроны имеют состояния 0, 1 и пороговую логику перехода из состояния в состояние. Каждый нейрон в сети определяет взвешенную сумму состояний всех других нейронов и сравнивает ее с порогом, чтобы определить свое собственное состояние. Пороговый вид функции не предоставляет нейронной сети достаточную гибкость при обучении и настройке на заданную задачу. Если значение вычисленного скалярного произведения, даже незначительно, не достигает до заданного порога, то выходной сигнал не формируется вовсе и нейрон "не срабатывает". Это значит, что теряется интенсивность выходного сигнала (аксона) данного нейрона и, следовательно, формируется невысокое значение уровня на взвешенных входах в следующем слое нейронов.
Модель Розенблата
Серьезное развитие нейрокибернетика получила в работах американского нейрофизиолога Френсиса Розенблата (Корнелльский университет). В 1958 году он предложил свою модель нейронной сети.
Розенблат ввел в модель Маккаллока и Питтса способность связей к
модификации, что сделало ее обучаемой. Эта модель была названа
персептроном. Первоначально персептрон представлял собой однослойную структуру с жесткой пороговой функцией процессорного элемента и бинарными или многозначными входами. Первые персептроны были способны распознавать некоторые буквы латинского алфавита. Впоследствии модель персептрона была значительно усовершенствована.
Персептрон применялся для задачи автоматической классификации, которая в общем случае состоит в разделении пространства признаков между заданным количеством классов. В двухмерном случае требуется провести линию на плоскости, отделяющую одну область от другой. Персептрон способен делить пространство только прямыми линиями (плоскостями).
Алгоритм обучения персептрона выглядит следующим образом:
1) системе предъявляется эталонный образ;
2) если выходы системы срабатывают правильно, весовые коэффициенты связей не изменяются;
3) если выходы срабатывают неправильно, весовым коэффициентам дается небольшое приращение в сторону повышения качества распознавания.
Серьезным недостатком персептрона является то, что не всегда
существует такая комбинация весовых коэффициентов, при которой имеющееся множество образов будет распознаваться данным персептроном. Причина этого недостатка состоит в том, что лишь небольшое количество задач предполагает, что линия, разделяющая эталоны, будет прямой. Обычно это достаточно сложная кривая, замкнутая или разомкнутая. Если учесть, что однослойный персептрон реализует только линейную разделяющую поверхность, применение его там, где требуется нелинейная, приводит к неверному распознаванию (эта проблема называется линейной неразделимостью пространства признаков). Выходом из этого положения является использование многослойного персептрона, способного строить ломаную границу между распознаваемыми образами.
Описанная проблема не является единственной трудностью, возникающей при работе с персептронами – также слабо формализован метод обучения персептрона. Персептрон поставил ряд вопросов, работа над решением которых привела к созданию более "разумных" нейронных сетей и разработке методов, нашедших применение не только в нейрокибернетике (например, метод группового учета аргументов, применяемый для идентификации математических моделей).
Модель Хопфилда
В 70-е годы интерес к нейронным сетям значительно упал, однако работы по их исследованию продолжались. Был предложен ряд интересных разработок, таких, например, как когнитрон, способный хорошо распознавать достаточно сложные образы (иероглифы и т.п.) независимо от поворота и изменения масштаба изображения. Автором когнитрона является японский ученый И. Фукушима.
Новый виток быстрого развития моделей нейронных сетей, который начался 8-9 лет тому назад, связан с работами Амари, Андерсона, Карпентера, Кохена и других, и в особенности, Хопфилда, а также под влиянием обещающих успехов оптических технологий и зрелой фазы развития СБИС для реализации новых архитектур.
Начало современному математическому моделированию нейронных вычислений было положено работами Хопфилда в 1982 году, в которых была сформулирована математическая модель ассоциативной памяти на нейронной сети с использованием правила Хеббиана для программирования сети.
Но не столько сама модель послужила толчком к появлению работ других авторов на эту тему, сколько введенная Хопфилдом функция вычислительной энергии нейронной сети. Это аналог функции Ляпунова в динамических системах. Показано, что для однослойной нейронной сети со связями типа "все на всех" характерна сходимость к одной из конечного множества равновесных точек, которые являются локальными минимумами функции энергии, содержащей в себе всю структуру взаимосвязей в сети. Понимание такой динамики в нейронной сети было и у других исследователей. Однако, Хопфилд и Тэнк показали как конструировать функцию энергии для конкретной оптимизационной задачи и как использовать ее для отображения задачи в нейронную сеть. Этот подход получил развитие и для решения других комбинаторных оптимизационных задач. Привлекательность подхода Хопфилда состоит в том, что нейронная сеть для конкретной задачи может быть запрограммирована без обучающих итераций. Веса связей вычисляются на основании вида функции энергии, сконструированной для этой задачи.
Развитием модели Хопфилда для решения комбинаторных оптимизационных задач и задач искусственного интеллекта является машина Больцмана
, предложенная и исследованная Джефери Е. Хинтоном и Р.Земелом.
В ней, как и в других моделях, нейрон имеет состояния 1, 0 и связь между нейронами обладает весом. Каждое состояние сети характеризуется определенным значением функции консенсуса (аналог функции энергии). Максимум функции консенсуса соответствует оптимальному решению задачи.
Имеется следующая информация о результатах моделирования на ЭВМ работы нейронной сети. Моделировалась асинхронная работа сети Хопфилда. Сеть работает хорошо, т.е. без ошибок восстанавливает эталонные образы из случайных, если в нее записывается не более 15 % эталонных образов. Испытания проводились для 30 нейронов и для 100 нейронов в сети. Бралось некоторое количество случайных векторов в качестве эталонных и строилась соответствующая матрица весов связей. Моделирование при 100 нейронах было существенно более медленным процессам, чем при 30 нейронах, хотя качественная картина и в том и в другом случаях была одна и та же. Приблизительно 88 % испытаний заканчивались в эталонных состояниях, 10 % – в устойчивых состояниях, близких к эталонным. При расстоянии <=5 между начальным и эталонным векторами, эталонное состояние достигалось в 90 % случаев. С увеличением расстояния, вероятность попадания в наиболее близкое эталонное состояние гладко падала.
При расстоянии 12 вероятность была равна 0.2. Устойчивые состояния, слишком близкие друг к другу, имеют тенденцию "сливаться", они попадают в одну впадину на энергетической поверхности. Программировалась задача коммивояжера на основе сети Хопфилда. Сетью из 100 нейронов для 20 различных случайных начальных состояний были определены маршруты, 16 из которых были приемлемыми, 50% попыток дали 2 пути 2.83 и 2.71 (цифры приводятся, чтобы показать как они близки) при кратчайшем 2.67. Это результаты моделирования работы сети с непрерывной моделью нейрона. Моделировалась также задача коммивояжера, но для сети типа машина Больцмана, проводилась при следующих значениях управляющих параметров: A = 0.95, L
= 10, M = 100 (A – положительное число меньше единицы, но близкое к ней, L – число испытаний, которые проводятся без изменений, M – число последовательных испытаний, не приводящих к изменению состояния машины, как критерия завершения процесса). Процесс запускался 100 раз для n = 10 всего в сети N = n^2 нейронов) и 25 раз для n = 30 при различных нормальных состояниях машины Больцмана.
Для n = 10 получился оптимальный результат, для n = 30 – решение
на 14 % хуже оптимального. Отметим, что вероятностный механизм функционирования машины Больцмана дает возможность получить на ней несколько лучшие результаты оптимизации, чем на модели Хопфилда.
Нейропарадигмы неитеративного типа являются развитием концепции сети Д.Хопфилда, основанной на сходстве полносвязной нейронной сети со спиновым стеклом – мультиустойчивой системой, которая, будучи выведена из состояния равновесия, совершает колебания, завершающиеся переходом (конвергенцией) в ближайшее устойчивое состояние (атрактор), отвечающее минимуму потенциальной энергии. Проводя аналогию между атракторами спинового стекла и следами памяти, Д.Хопфилд пришел к выводу, что конвергенция является аналогом ассоциативного поиска информации. Это позволило ему применить известные соотношения между значениями атракторов и силой внутренних связей спинового стекла для нахождения величины веса связей нейронной сети по заданным значениям векторов устойчивых состояний. Таким образом, сеть Хопфилда достигает того же результата, что и при обучении ИНС, минуя длительный итеративный процесс коррекции веса связей по правилам Хебба.
Д.Хопфилду удалось также показать, что предложенная модель ИНС обладает еще одним ценным качеством. При конвергенции она выполняет поиск глобального минимума энергетической функции. Устанавливая определенным образом весасвязей в начальное состояние, можно использовать это свойство сети для решения сложных оптимизационных задач. Благодаря параллельной работе нейронов такие задачи решаются намного быстрее, чем с помощью обычных ЭВМ.
Рис. 5 Нейронная сеть Хопфилда
Структура сети Хопфилда изображена на рис.5. Сеть однородна и симметрична. Она не содержит ни скрытых нейронов,ни выделенных рецепторов и эффекторов. Стимулы и реакции являются составляющими общего вектора состояния нейросети, который запоминается при обучении. При экзамене выходы нейронов, определенных как рецепторы, устанавливаются в состояние, соответствующее внешнему стимулу, тогда как выходы остальных нейронов не фиксируются. Обычно такое начальное состояние неустойчиво и сеть начинает конвергенцию в ближайший главный атрактор, соответствующий одному из запомненных ранее состояний. По завершении конвергенции состояния нейронов, которые определены как эффекторы, приобретают значения реакции на заданный стимул.
Хопфилд использовал функцию энергии как инструмент для построения рекуррентных сетей и для понимания их динамики. Формализация Хопфилда сделала ясным принцип хранения информации как динамически устойчивых аттракторов и популяризовала использование рекуррентных сетей для ассоциативной памяти и для решения комбинаторных задач оптимизации.
Динамическое изменение состояний сети может быть выполнено по крайней мере двумя способами: синхронно и асинхронно. В первом случае все элементы модифицируются одновременно на каждом временном шаге, во втором – в каждый момент времени выбирается и подвергается обработке один элемент. Этот элемент может выбираться случайно. Главное свойство энергетической функции состоит в том, что в процессе эволюции состояний сети согласно уравнению она уменьшается и достигает локального минимума (аттрактора), в котором она сохраняет постоянную энергию.
Предложенная еще в 1982 г., модель Д.Хопфилда сулила не только радикальное ускорение процесса обучения, но и открывала перспективу для создания новых параллельных вычислительных систем на основе ИНС. Однако вскоре у нее обнаружился ряд недостатков:
1.Модель Хопфилда пригодна лишь для полносвязных сетей, т.е. каждый нейрон должен иметь связи со всеми остальными нейронами сети.
2.Число запомненных состояний (образов) не может превышать 14% от числа нейронов. При приближении к этой границе появляются ложные атракторы, препятствующие конвергенции к запомненным состояниям, а также возможна потеря устойчивости. 3.Ассоциативная память ИНС не позоляет изымать или изменять ранее занесенные данные, что исключает возможность ее использования в динамическом режиме.
Поэтому, несмотря на огромные преимущества в скорости обучения, сеть Хопфилда так и не нашла применения в прикладных разработках. Среди нашедших заметное практическое применение неитеративных нейропрадигм наиболее известна двусторонняя ассоциативная память (ДАП), представляющая собой двухслойную модификацию сети Хопфилда, в которой процесс конвергенции сокращен до одной итерации.
Несколько менее известна модель ассоциативно-проективной сети, разработанная Э.Куссулем в Институте кибернетики НАН Украины. В этой модели вес связей может принимать лишь значения +1 или 0, благодаря чему достигается чрезвычайно эффективная аппаратная реализация, позволяющая создавать очень большие ИНС (десятки тысяч нейронов). Однако, как и в случае ДАП, избежать недостатков, присущих сети Хопфилда, не удается и в этой модели.
Спиновое стекло – вещество, у которого направления магнитных моментов различных атомов(определяемые спином электронов) беспорядочны, но всегда фиксированы.
Линейно разделимый класс – класс входных стимулов, у которого область значений рецепторов, продуцирующих превышение порогового значения постсиноптического потенциала, отделяется обобщенной плоскостью ( в случае 2 рецепторов – прямой линией).
Ассоциативная память
Если хранимые в сети образцы являются аттракторами, она может использоваться как ассоциативная память. Любой пример, находящийся в области притяжения хранимого образца, может быть использован как указатель для его восстановления.
Ассоциативная память обычно работает в двух режимах: хранения и восстановления. В режиме хранения веса связей в сети определяются так, чтобы аттракторы запомнили набор p n-мерных образцов {x1, x2,…, xp), которые должны быть сохранены. Во втором режиме входной пример используется как начальное состояние сети, и далее сеть эволюционирует согласно своей динамике. Выходной образец устанавливается, когда сеть достигает равновесия.
Сколько примеров могут быть сохранены в сети с n бинарными элементами? Другими словами, какова емкость памяти сети? Она конечна, так как сеть с n бинарными элементами имеет максимально 2n различных состояний, и не все из них являются аттракторами. Более того, не все аттракторы могут хранить полезные образцы. Ложные аттракторы могут также хранить образцы, но они отличаются от примеров обучающей выборки. Показано, что максимальное число случайных образцов, которые может хранить сеть Хопфилда, составляет Pmax ( 0.15 n). Когда число сохраняемых образцов p ( 0.15 n, достигается наиболее успешный вызов данных из памяти. Если запоминаемые образцы представлены ортогональными векторами (в отличие от случайных), то количество сохраненных в памяти образцов будет увеличиваться. Число ложных аттракторов возрастает, когда p достигает емкости сети. Несколько правил обучения предложено для увеличения емкости памяти сети Хопфилда. Заметим, что в сети для хранения p n-битных примеров требуется реализовать 2n связей.
Минимизация энергии
Сеть Хопфилда эволюционирует в направлении уменьшения своей энергии. Это позволяет решать комбинаторные задачи оптимизации, если они могут быть сформулированы как задачи минимизации энергии. В частности, подобным способом может быть сформулирована задача коммивояжера.
Тема 4. Многослойные ИНС.
Первые нейросистемы
Рис. 6 Перцептрон Розенблатта
Идея построения автомата на основе пороговых элементов, подобных нервным клеткам, способного выполнять логические функции, была высказана более полувека назад Мак-Каллоком и Питтсом. Однако задача проектирования систем на основе пороговых элементов оказалась чрезвычайно трудной, и ее решение, найденное лишь спустя 20 лет, оказалось настолько сложным, что практически исключало возможность синтеза автоматов, содержащих более десятка нейронов. Поэтому уже первые попытки практической реализации таких автоматов были связаны с поиском методов их обучения по аналогии с нервной системой живых организмов.
Обучаемые системы на основе пороговых элементов получили название искусственных нейронных сетей (ИНС). Первые работоспособные ИНС были созданы уже в конце 50-х годов
– перцептрон Ф.Розенблатта,
– "Адалин" В.Уидроу
– и система "Альфа" А.Г.Ивахненко.
К концу 60-х в США действовало несколько экспериментальных моделей ИНС. Первые крупные перцептроны на основе аналоговой и цифровой техники ("Адам-А" и "Адам-Д") за пределами США были созданы в 1969-71 гг. нами в одном из киевских НИИ.
Схема простейшего перцептрона Розенблатта изображена на рис.6. Он содержит три слоя пороговых элементов. Входные сигналы (стимулы), воздействуя на рецепторы (S-элементы), переводят их в возбужденное состояние. S-элементы случайным образом связаны с совокупностью ассоциативных нейронов (А-элементов). Выход А-элемента отличается от нуля только тогда, когда возбуждено достаточно большое число связанных с ним рецепторов. Реакции А-элементов поступают на входы эффекторов (R-элементов) через связи, вес которых изменяется при обучении. В эффекторах вычисляется постсинаптический потенциал – взвешенная сумма поступивших сигналов. Обычно в перцептроне для каждого запоминаемого образа выделяется один эффектор, и решение принимается по максимуму значения постсинаптического потенциала.
Свойственная перцептрону Розенблатта неоднородность структуры (разделение на S-, A- и R-элементы) в более позднихмоделях ИНС утрачивается.
Стандартизуется и модель искусственного нейрона. Нейрон имеет множество входов (синапсов) и единственный выход (аксон), разветвления которого достигают синапсов других нейронов. Выход нейрона принимает значение +1, если постсинаптический потенциал превышает заданный извне порог, или -1 – в противоположном случае. В некоторых моделях ИНС допускаются аналоговые значения выхода в диапазоне (+1,-1) или (+1,0).Такие нейроны действуют как линейные элементы при малых значениях постсинаптического потенциала и как пороговые – при больших.
Рис.7. Многослойная нейронная сеть
Большинство современных ИНС имеют многослойную структуру, изображенную на рис.7. Слой рецепторов воспринимает внешние стимулы (например, элементы изображения), а слой эффекторных нейронов образует выход сети. Между этимислоями располагаются скрытые слои нейронов, не имеющих прямой связи с внешним миром. Нейроны соседних слоев соединены проекционными связями, передающими возбуждение в направлении от рецепторов к эффекторам. Наряду с такими восходящими (афферентными) связями в некоторых моделях могут присутствовать возвратные (эфферентные) связи, действующие в обратном направлении, а также горизонтальные (латеральные), соединяющие нейроны одного слоя.
Нейропарадигмы
Поведение ИНС определяется структурой межнейронных связей, весами синаптических входов и величиной порогов нейронов. Даже в небольших сетях, содержащих несколько десятков нейронов, учесть взаимное влияние этих факторов практически невозможно. Поэтому начиная с перцептрона основное внимание создателей ИНС уделялось разработке и совершенствованию методов их обучения. Из-за отсутствия надежной теории обучения эти разработки носили в основном эвристический характер и получили название нейропарадигм. В табл. 3 приведены 10 наиболее известных сегодня нейропарадигм.
Наиболее известные нейропарадигмы Табл.3
Название нейропарадигмы
Авторы
Год разработки
Основные области применения
Адалин, Мадалин
B. Widrow
1960
Адаптивные модемы и эквалайзеры в телефонии
Метод адаптивного резонанса
G. Carpenter, S. Grossberg
1968
Распознавание образов, особенно если они непривычны для человека (сигналы радара, сонара)
Обратного распространения ошибки (back propagation)
P. Werbos, D. Parker, D. Rumelhardt
1974
Синтез речи, адаптивный контроль движения роботов, оценка эфективности капиталовложений
Неокогнитрон
K. Fucushima
1978
Распознавание рукописного текста, иероглифов
Карта Кохонена
T. Kohonen
1980
Проектирование одной области на другую
Сеть Хопфилда
J. Hopfield
1982
Поиск и восстановление данных по их фрагментам
Двусторонняя ассоциативная память
B. Kosko
1985
Контекстно-адресованная асcоциативная память
Машина Больцмана
J. Hinton, T. Sejnovsky, H. Szu
1985
Распознавание изображений, сигналов радара, сонара
Встречного распространения
R. Hecht-Nielsen
1986
Сжатие данных, оценка эфективности капиталовложений
Не останавливаясь на рассмотрении отдельных нейропарадигм (многие из них описаны в книге Ф.Уоссермена), отметим, что их можно разделить на два типа:
-итеративные, следующие правилам модификации веса синапсов, которые предложены в конце 50-х годов биологом Хеббом .
-неитеративные, исходящие из аналогии между нейронной сетью и спиновым стеклом – физической моделью мультистабильной системы (что это такое – будет объяснено чуть ниже).
Итеративные парадигмы
Подавляющее большинство нейропарадигм относится к первому типу. Процесс обучения состоит в коррекции веса межнейронных связей поочередно для каждой запоминаемой пары стимул-реакция. Период, в течение которого выполняются коррекции для всего множества пар, называют эпохой. Процесс обучения может занимать от нескольких десятков до многих тысяч эпох. Перед началом обучения синаптические веса имеют некоторые случайные значения. При вводе запоминаемого стимула появляется определенная реакция нейронов рецепторного слоя. Когда образующаяся волна возбуждения достигает эффекторов, находят величину ошибки – разности между полученным и желаемым значением реакции нейросети. Значение ошибки используется для корректировки веса связей, которая состоит в небольшом (обычно менее 1%) увеличении синаптического веса тех связей, которые усиливают правильные реакции, и уменьшении тех, что способствуют ошибочным.
Данное правило оказывается достаточно эффективным для простейших нейросетей, не содержащих скрытых нейронов (элементарный перцептрон, Адалин). Однако такие нейросети способны распознавать лишь узкий класс линейно разделимых стимулов.
Для решения задач, требующих более сложных правил распознавания, используются ИНС со скрытыми слоями нейронов. В процессе обучения скрытые слои приобретают функции обобщенной модели запоминаемых данных. При формировании такой модели крайне важно избежать ошибок в оценке реакции скрытых нейронов на внешние стимулы и обеспечить правильное направление коррекции веса связей. Сложность этой задачи была осознана еще Розенблаттом, однако ему не удалось найти приемлемого решения. Наиболее совершенное из предложенных решений принадлежит авторам нейропарадигмы обратного распространения ошибки (back propagation – BP). Они нашли и математически обосновали процедуру обучения, которая при достаточном числе итераций коррекции веса гарантирует достижение необходимой точности реакции сети.
В нейропарадигме BP оценка реакции скрытых нейронов производится путем вычисления взвешенного значения ошибки, найденной для слоя эффекторов. В качестве весовой функции используются текущие значения веса проекционных связей, ведущих от скрытых нейронов к эффекторам. Ошибка как бы распространяется в направлении, обратном действующему извне стимулу. Отсюда и происходит название метода. Если скрытых слоев несколько, то подобный пересчет ошибок производят для каждого скрытого слоя начиная от слоя эффекторов.
К сожалению, такой способ оценивания реакций скрытых нейронов не гарантирует правильной коррекции при запоминании каждого следующего стимула. Из-за изменений направления коррекции происходит частичное разрушение накопленной ранее информации. Поэтому для достижения более высокой точности запоминания приходится значительно уменьшать шаг коррекции и многократно повторять итерации, что сильно затягивает процесс обучения.
Для ускорения обучения (сокращения числа эпох) был предложен ряд способов, основанных главным образом на ограничении количества связей, модифицируемых за одну итерацию. Наибольший эффект достигается при организации скрытого слоя в виде сети MAXNET – структуры, в которой в возбужденном состоянии может находиться лишь один нейрон, получивший наибольшее значение постсинаптического потенциала. Этот способ, используемый в нейропарадигмах адаптивного резонанса и встречного распространения, позволяет сократить в 2-5 раз число итераций, однако качество распознавания накопленных данных заметно снижается.
Многослойные сети прямого распространения
Стандартная L-слойная сеть прямого распространения состоит из слоя входных узлов (будем придерживаться утверждения, что он не включается в сеть в качестве самостоятельного слоя), (L-1) скрытых слоев и выходного слоя, соединенных последовательно в прямом направлении и не содержащих связей между элементами внутри слоя и обратных связей между слоями. На рис. 8 приведена структура трехслойной сети.
Рисунок 8.
Типовая архитектура трехслойной сети прямого распространения.
Многослойный перцептрон
Наиболее популярный класс многослойных сетей прямого распространения образуют многослойные перцептроны, в которых каждый вычислительный элемент использует пороговую или сигмоидальную функцию активации. Многослойный перцептрон может формировать сколь угодно сложные границы принятия решения и реализовывать произвольные булевы функции. Разработка алгоритма обратного распространения для определения весов в многослойном перцептроне сделала эти сети наиболее популярными у исследователей и пользователей нейронных сетей. Геометрическая интерпретация объясняет роль элементов скрытых слоев (используется пороговая активационная функция).
RBF-сети
Сети, использующие радиальные базисные функции (RBF-сети), являются частным случаем двухслойной сети прямого распространения. Каждый элемент скрытого слоя использует в качестве активационной функции радиальную базисную функцию типа гауссовой. Радиальная базисная функция (функция ядра) центрируется в точке, которая определяется весовым вектором, связанным с нейроном. Как позиция, так и ширина функции ядра должны быть обучены по выборочным образцам. Обычно ядер гораздо меньше, чем обучающих примеров. Каждый выходной элемент вычисляет линейную комбинацию этих радиальных базисных функций. С точки зрения задачи аппроксимации скрытые элементы формируют совокупность функций, которые образуют базисную систему для представления входных примеров в построенном на ней пространстве.
Существуют различные алгоритмы обучения RBF-сетей. Основной алгоритм использует двушаговую стратегию обучения
, или смешанное обучение.
Он оценивает позицию и ширину ядра с использованием алгоритма кластеризации "без учителя", а затем алгоритм минимизации среднеквадратической ошибки "с учителем" для определения весов связей между скрытым и выходным слоями. Поскольку выходные элементы линейны, применяется неитерационный алгоритм. После получения этого начального приближения используется градиентный спуск для уточнения параметров сети.
Этот смешанный алгоритм обучения RBF-сети сходится гораздо быстрее, чем алгоритм обратного распространения для обучения многослойных перцептронов. Однако RBF-сеть часто содержит слишком большое число скрытых элементов. Это влечет более медленное функционирование RBF-сети, чем многослойного перцептрона. Эффективность (ошибка в зависимости от размера сети) RBF-сети и многослойного перцептрона зависят от решаемой задачи.
Нерешенные проблемы
Существует множество спорных вопросов при проектировании сетей прямого распространения – например, сколько слоев необходимы для данной задачи, сколько следует выбрать элементов в каждом слое, как сеть будет реагировать на данные, не включенные в обучающую выборку (какова способность сети к обобщению), и какой размер обучающей выборки необходим для достижения "хорошей" способности сети к обобщению.
Хотя многослойные сети прямого распространения широко применяются для классификации и аппроксимации функций, многие параметры еще должны быть определены путем проб и ошибок. Существующие теоретические результаты дают лишь слабые ориентиры для выбора этих параметров в практических приложениях.
Модель сети с обратным распространением
Способом обратного распространения (back propogation) называется способ обучения многослойных НС. В таких НС связи между собой имеют только соседние слои, при этом каждый нейрон предыдущего слоя связан со всеми нейронами последующего слоя Нейроны обычно имеют сигмоидальную функцию возбуждения. Первый слой нейронов называется входным и содержит число нейронов соответствующее распознаваемому образу. Последний слой нейронов называется выходным и содержит столько нейронов, сколько классов образов распознается. Между входным и выходным слоями располагается один или более скрытых (теневых) слоев. Определение числа скрытых слоев и числа нейронов в каждом слое для конкретной задачи является неформальной задачей.
Принцип обучения такой нейронной сети базируется на вычислении отклонений значений сигналов на выходных процессорных элементах от эталонных и обратном "прогоне" этих отклонений до породивших их элементов с целью коррекции ошибки. Еще в 1974 году Поль Дж. Вербос изобрел значительно более эффективную процедуру для вычисления величины, называемой производной ошибки по весу, когда работал над своей докторской диссертацией в Гарвардском университете. Процедура, известная теперь как алгоритм обратного распространения, стала одним из наиболее важных инструментов в обучении нейронных сетей. Однако этому алгоритму свойственны и недостатки, главный из которых – отсутствие сколько-нибудь приемлемых оценок времени обучения. Понимание, что сеть в конце концов обучится, мало утешает, если на это могут уйти годы. Тем не менее, алгоритм обратного распространения имеет широчайшее применение. Например, успех фирмы NEC в распознавании букв, был достигнут именно благодаря алгоритму обратного распространения.
Обучение нейронных сетей
Мы можем научить трехслойную сеть решать определенную задачу, пользуясь следующей процедурой. Сначала мы предъявляем сети серию тренировочных примеров, которые состоят из паттерна активностей входных элементов вместе с желаемым паттерном активностей выходных элементов.
Предположим, что мы хотим научить сеть распознавать рукописные цифры. Можно воспользоваться матрицей, из 256 сенсоров, каждый из которых регистрирует присутствие или отсутствие чернильного пятнышка в пределах маленькой площадки – фрагмента одной цифры. Для сети, таким образом, потребуется 256 входных элементов (по одному на каждый сенсор), 10 выходных элементов (по одному на каждую возможную цифру) и некоторое количество скрытых элементов.
Для каждой цифры, регистрируемой сенсорами, сеть должна генерировать высокую активность в соответствующем выходном элементе и низкую в остальных выходных элементах.
Чтобы натренировать систему, мы предъявляем ей изображение
цифры и сравниваем действительную активность на 10 выходных элементах с желаемой активностью. Затем мы подсчитываем ошибку, определяемую как квадрат разности между действительным и желаемым выходом. После этого мы изменяем вес каждой связи, с тем чтобы уменьшить ошибку. Описанный процесс тренировки мы повторяем со многими различными написаниями каждой цифры, пока сеть не научится правильно распознавать все возможные изображения.
Чтобы реализовать эту процедуру, нам нужно изменять каждый
вес на величину, пропорциональную скорости, с которой изменяется ошибка по мере изменения веса. Эта величина (называемая производной ошибки по весу и обозначаемая EW) вычисляется не просто.
Один из способов вычисления EW заключается в том, чтобы изменить вес на очень маленькую величину и посмотреть, как изменится ошибка. Однако этот метод не эффективен, поскольку требует отдельных вариаций для каждого из многих весов.
Алгоритм обратного распространения
Идея создания алгоритма обратного распространения
Примерно в 1974 году Поль Дж. Вербос изобрел значительно более эффективную процедуру для вычисления EW, когда работал над своей докторской диссертацией в Гарвардском университете. Процедура, известная теперь как алгоритм обратного распространением (back propagation algorithm), стала одним из наиболее важных инструментов в обучении нейронных сетей.
Алгоритм обратного распространением проще всего понять, когда все элементы сети линейны. Алгоритм вычисляет каждую EW, сначала вычисляя EA – скорость, с которой изменяется ошибка при изменении уровня активности элемента. Для выходных элементов EA является просто разностью между действительным и желаемым выходом.
Чтобы вычислить EA для скрытого элемента в слое, непосредственно предшествующем выходному слою, мы сначала идентифицируем все веса между этим скрытым элементом и выходными элементами, с которыми соединен данный скрытый элемент. Затем мы умножаем эти веса на величины EA для этих выходных элементов и складываем полученные произведения. Эта сумма и равна EA для данного скрытого элемента.
Вычислив EA для всех элементов скрытого слоя, прилегающего к выходному, мы можем аналогичным образом рассчитать EA и для других слоев, перемещаясь в направлении, обратном тому направлению, в котором активность нейронов распространяется по сети. Отсюда и название алгоритма обратного прослеживания (или обратного распространения). После того как значение EA для элемента вычислено, подсчитать EW для каждой входной связи элемента уже несложно. Величина EW является произведением EA и активности во входной цепи.
Для нелинейных элементов алгоритм обратного распространением включает дополнительный шаг перед перемещением в обратном направлении EA необходимо преобразовать в EI – скорость, с которой изменяется ошибка по мере изменения суммарного входа элемента.
Описание НС и алгоритма обратного распространения
Чтобы обучить нейронную сеть решению какой-либо задачи, мы
должны подправлять веса каждого элемента таким образом, чтобы
уменьшалась ошибка – расхождение между действительным и желаемым выходом. Для этого нужно, чтобы нейронная сеть вычисляла производную от ошибки по весам (EW). Другими словами, она должна вычислять, как изменяется ошибка при небольшом увеличении или уменьшении каждого веса. Чаще всего для вычисления EW применяется алгоритм обратного распространением.
Чтобы реализовать этот алгоритм, мы сначала должны дать математическое описание нейронной сети. Предположим, что элемент j – типичный элемент выходного слоя, а элемент i типичный элемент слоя, который предшествует выходному. Активность элемента выходного слоя определяется двухшаговой процедурой. Сначала вычисляется суммарный взвешенный вход Xj с помощью формулы
Xj = S (Yi * Wij), (1)
i
где Yi – уровень активности i-го элемента в предшествующем слое и
Wij – вес связи между i-м и j-м элементами.
Далее, элемент вычисляет активность Yj с помощью некоторой
функции от суммарного взвешенного входа. Обычно применяется сигма-функция:
Yj = 1 / (1 + e^(-Xj)). (2)
После того как активности всех выходных элементов определены, сеть вычисляет ошибку, которая определяется выражением
E = 1/2 * S (Yj – Dj)^2, (3)
j
где Yj – уровень активности j-го элемента в верхнем слое, а Dj –
желаемый выход j-го элемента.
Алгоритм обратного распространением состоит из четырех шагов.
1) Вычислить, насколько быстро меняется ошибка при изменении
выходного элемента. Эта производная ошибки (EA) есть разность
между действительной и ожидаемой активностью.
dE
EAj = —- = Yj – Dj. (4)
dYj
2) Вычислить, насколько быстро изменяется ошибка по мере изменения суммарного входа, получаемого выходным элементом. Эта величина (EI) есть результат шага 1, умноженный на скорость изменения выходного элемента с изменением его суммарного входа.
dE dE dYj
EIj = = — * — = EIj Yj (1 – Yj). (5)
dXj dYj dXj
3) Вычислить, как быстро изменяется ошибка по мере изменения
веса на входной связи выходного элемента. Эта величина (EW) есть
результат шага 2, умноженный на уровень активности элемента, из которого исходит связь.
dE dE dXj
EWij = —- = — * — = EIj Yi. (6)
dWij dXj dXij
4) Вычислить, как быстро изменяется ошибка с изменением активности элемента из предыдущего слоя. Этот ключевой шаг позволяет применять обратное распространение к многослойным сетям. Когда активность элемента из предыдущего слоя изменяется, это влияет на активности всех выходных элементов, с которыми он связан. Поэтому, чтобы подсчитать суммарное воздействие на ошибку, мы складываем все эти воздействия на выходные элементы. Но эти воздействия нетрудно подсчитать. Этот результат шага 2, умноженный на вес связи к соответствующему выходному элементу.
dE dE dXj
EAi = —- = S (— * — ) = S (EIj Wij). (7)
dYi j dXj dYij j
Пользуясь шагами 2 и 4, мы можем преобразовать величины EA
одного слоя элементов в EA предыдущего слоя. Эту процедуру можно повторять, чтобы вычислять EA стольких предыдущих слоев, сколько их есть. Зная EA для элемента, мы можем воспользоваться шагами 2 и 3, чтобы вычислить EW на его выходных связях.
Современная оценка алгоритма обратного распространения
На протяжении нескольких лет после его изобретения алгоритм обратного распространением оставался почти незамеченным, вероятно, потому, что не был в должной мере оценен специалистами. В начале 80-х годов Д. Румельхарт, работавший в то время в Калифорнийском университете в Сан-Диего, и Д. Паркер из Станфордского университете независимо друг от друга вновь открыли алгоритм. В 1986 году Румельхарт, Р. Уильямс, также из Калифорнийского университета в Сан-Диего, и Джеффери Е. Хинтон продемонстрировали способность алгоритма обучить скрытые элементы вырабатывать интересные представления для сложных паттернов на входе и тем самым сделали его известным.
Алгоритм обратного распространения оказался на удивление эффективным в обучении сетей со многими слоями решению широкого класса задач. Но более всего он эффективен в ситуациях, когда отношении между входом и выходом нелинейны, а количество обучающих данных велико. Применяя алгоритм, исследователи создали нейронные сети, способные распознавать рукописные цифры, предсказывать изменения валютного курса и оптимизировать химические процессы. Они даже воспользовались алгоритмом для обучения сетей, которые идентифицируют переродившиеся предраковые клетки в анализируемых образцах ткани и регулируют положение зеркал в телескопах, чтобы исключить атмосферные искажения.
Р. Андерсен из Массачусетского технологического института и
Д. Зипсер из Калифорнийского университета в Сан-Диего показали,
что алгоритм обратного распространения представляет собой весьма эффективный инструмент для понимания функций некоторых нейронов в коре головного мозга. Они научили нейронную сеть реагировать на зрительные стимулы, применив алгоритм обратного распространения.
Затем они обнаружили, что реакция скрытых элементов удивительно схожа с реакцией реальных нейронов, выполняющих преобразование зрительной информации, поступающей от сетчатки, в форму, необходимую для более глубоких областей мозга, перерабатывающих зрительную информацию.
Метод обратного распространения достаточно хорош при создании представлений о распознаваемом образе в скрытых элементах сети. Алгоритм обратного распространения показал эффективность процедур обучения НС, в которых веса постепенно изменяются, чтобы уменьшить ошибки. Раньше многие ученые полагали, что подобные методы окажутся безнадежными, поскольку должны неизбежно приводить к локально оптимальным, но в более широком масштабе ужасным решениям. Например, сеть для распознавания цифр может устойчиво сходиться к набору весов, при котором она будет путать единицы с семерками, хотя существует набор весов, позволяющий различать эти цифры наряду с другими. Из-за опасений подобного рода распространилось убеждение, что процедура обучения представляет интерес только в том случае, если она гарантирует сходимость к глобально оптимальному решению. Метод обратного распространения показал, что для многих задач глобальная сходимость не является необходимым условием для того, чтобы достичь хороших результатов.
С другой стороны, с биологической точки зрения, как подобие
работы головного мозга, метод обратного распространения выглядит не очень убедительным. Наиболее очевидная трудность заключается в том, что информация должна проходить по тем же самым связям в обратном направлении, от каждого последующего уровня к предыдущему.
Ясно, что этого не происходит в реальных нейронах. Однако этот
довод на самом деле является довольно поверхностным. В мозге существует множество путей, ведущих от следующих слоев нервных клеток к предыдущим, и эти пути могут использоваться многообразными способами для передачи информации, необходимой для обучения.
Более серьезную проблему представляет собой быстродействие
алгоритма обратного распространения. Здесь центральным является вопрос о том, как быстро растет время, необходимое для обучения, по мере возрастания размеров сети. Время, требующееся для вычисления производных от ошибки по весам на заданном тренировочном примере, пропорционально размерам сети, поскольку объем вычислений пропорционален количеству весов. Однако более крупные сети требуют большего количества тренировочных примеров, и им приходится модифицировать веса большее число раз. Следовательно, время обучения растет значительно быстрее, чем размеры сети.
Самая серьезная проблема метода обратного распространения
заключается в том, что такая НС требует учителя, предоставляющего желаемый выход для каждого тренировочного примера. В отличие от этого человек обучается большинству вещей без помощи учителя.
Никто не дает нам детального описания внутренних представлений
мира, которые мы должны научиться извлекать из нашего сенсорного входа. Мы учимся понимать речь или зрительные сцены без каких-либо прямых инструкций.
Если сеть сталкивается с большим набором сочетаний сигналов,
но не имеет никакой информации о том, что с ними следует делать,
то, очевидно, перед ней нет четко поставленной задачи. Тем не менее исследователи разработали несколько универсальных, неконтролируемых процедур, которые могут правильно регулировать весовые параметры сети. Все эти процедуры имеют два общих качества: они оперируют, явно или неявно, с некоторым понятием качества представления и работают, изменяя веса, чтобы повысить качество представления, вырабатываемого скрытыми элементами. Не смотря на отмеченные недостатки применение метода обратного распространения в целях прогнозирования требований оправданно, так как при прогнозировании не возникает ситуации неопределенности действий, которые необходимо проделать с информацией поступающей на вход НС.
Тема 5. Специализированные ИНС.
Следует иметь в виду, что для успешного решения реальных задач необходимо определить ряд характеристик, включая модель сети, ее размер, функцию активации, параметры обучения и набор обучающих примеров. Для иллюстрации практического применения сетей прямого распространения рассмотрим проблему распознавания изображений символов (задача OCR, которая состоит в обработке отсканированного изображения текста и его преобразовании в текстовую форму).
Система OCR
Система OCR обычно состоит из блоков препроцессирования, сегментации, выделения характеристик, классификации и контекстуальной обработки. Бумажный документ сканируется, и создается изображение в оттенках серого цвета или бинарное (черно-белое) изображение. На стадии препроцессирования применяется фильтрация для удаления шума, область текста локализуется и преобразуется к бинарному изображению с помощью глобального и локального адаптивного порогового преобразователя. На шаге сегментации изображение текста разделяется на отдельные символы. Эта задача особенно трудна для рукописного текста, который содержит связи между соседними символами. Один из эффективных приемов состоит в расчленении составного образца на малые образцы (промежуточная сегментация) и нахождении точек правильной сегментации с использованием выхода классификатора по образцам. Вследствие различного наклона, искажений, помех и стилей письма распознавание сегментированных символов является непростой задачей.
Схемы вычислений
На рис. 9 представлены две основные схемы использования ИНС в OCR системах. Первая выполняет явное извлечение характерных признаков (не обязательно на нейронной сети). Например, это могут быть признаки обхода по контуру. Выделенные признаки подаются на вход многослойной сети прямого распространения. Эта схема отличается гибкостью в отношении использования большого разнообразия признаков. Другая схема не предусматривает явного выделения признаков из исходных данных. Извлечение признаков происходит неявно в скрытых слоях ИНС. Удобство этой схемы состоит в том, что выделение признаков и классификация объединены и обучение происходит одновременно, что дает оптимальный результат классификации. Однако схема требует большего размера сети, чем в первом случае.
Рисунок 9.
Две схемы применения ИНС в системах OCR.
Типичный пример подобной интегрированной схемы рассмотрен Куном для распознавания zip-кода.
Результаты
ИНС очень эффективно применяются в OCR-приложениях. Однако, нет убедительных доказательств их превосходства над соответствующими статистическими классификаторами. На первой конференции по OCR-системам в 1992 г. более 40 систем распознавания рукописного текста были сопоставлены для одних и тех же данных. Из них 10 лучших использовали вариант многослойной сети прямого распространения или классификатор "ближайшего соседа". ИНС имеют тенденцию к превосходству по скорости и требуемой памяти по сравнению с методом "ближайшего соседа", в отличие от которого скорость классификации с применением ИНС не зависит от объема обучающей выборки. Точность распознавания лучших OCR-систем на базе данных предварительно сегментированных символов составила около 98% для цифр, 96% для заглавных букв и 87 – для строчных. (Низкая точность для строчных букв вызвана в значительной степени тем, что тестовые данные существенно отличались от тренировочных.) По данным теста можно сделать вывод, что на изолированных символах OCR система близка по точности к человеку. Однако человек опережает системы OCR на свободных от ограничений и рукописных документах.
Развитие ИНС вызвало немало энтузиазма и критики. Некоторые сравнительные исследования оказались оптимистичными, другие – пессимистичными. Для многих задач, таких как распознавание образов, пока не создано доминирующих подходов. Выбор лучшей технологии должен диктоваться природой задачи. Нужно пытаться понять возможности, предпосылки и область применения различных подходов и максимально использовать их дополнительные преимущества для дальнейшего развития интеллектуальных систем. Подобные усилия могут привести к синергетическому подходу, который объединяет ИНС с другими технологиями для существенного прорыва в решении актуальных проблем. Как недавно заметил Минский, пришло время строить системы за рамками отдельных компонентов. Индивидуальные модули важны, но мы также нуждаемся в методологии интеграции. Ясно, что взаимодействие и совместные работы исследователей в области ИНС и других дисциплин позволят не только избежать повторений, но и (что более важно) стимулируют и придают новые качества развитию отдельных направлений.
Тема 6. Реализация ИНС.
Способы реализации нейронных сетей
Нейронные сети могут быть реализованы двумя путями:
– первый -это программная модель НС,
– второй – аппаратная.
На современном рынке изделия, основанные на использовании механизма действия НС, первоначально появились в виде нейроплат. В качестве типичного примера нейроплаты можно назвать плату МВ 86232 японской фирмы Fujitsu. На плате размещены процессор цифровой обработки сигналов и оперативная память емкостью 4 Мбайт, что позволяет использовать такую плату для реализации НС, содержащих до тысячи нейронов. Есть и более совершенные платы.
Основными коммерческими аппаратными изделиями на основе НС являются и, вероятно, в ближайшее время будут оставаться нейроБИС. Сейчас выпускаются более 20 типов нейроБИС, параметры которых порой различаются на несколько порядков. Среди них – модель ETANN фирмы Intel. Эта БИС, выполненная по микронной технологии, является реализацией НС с 64т нейронами и 10240 синапсами. Ее цена 2000 долл.
К числу самых дешевых нейроБИС (41 долл.) относится модель
MD 1220 фирмы Micro Devices. Эта БИС реализует НС с 8 нейронами и120 синапсами.
Среди разрабатываемых в настоящее время нейроБИС выделяются модели фирмы Adaptive Solutions (США) и Hitachi (Япония). НейроБИС фирмы Adaptive Solutions, вероятно, станет одной из самых быстродействующих: объявленная скорость обработки составляет 1,2 млрд. соединений / с. (НС содержит 64 нейрона и 262144 синапса).
НейроБИС фирмы Hitachi позволяет реализовать НС, содержащую до 576 нейронов. Эти нейроБИС, несомненно, станут основой новых нейрокомпьютеров и специализированных многопроцессорных изделий.
Большинство сегодняшних нейрокомпьютеров представляют собой просто персональный компьютер или рабочую станцию, в состав которых входит дополнительная нейроплата. К их числу относятся, например, компьютеры серии FMR фирмы Fujitsu. Такие системы имеют бесспорное право на существование, поскольку их возможностей вполне достаточно для разработки новых алгоритмов и решения большого числа прикладных задач методами нейроматематики. Однако наибольший интерес представляют специализированные нейрокомпьютеры, непосредственно реализующие принципы НС. Типичными представителями таких систем являются компьютеры семейства Mark фирмы TRW (первая реализация персептрона, разработанная Розенблатом, называлась Mark I). Модель Mark III фирмы TRW представляют собой рабочую станцию, содержащую до 15 процессоров семейства Motorola 68000 с математическими сопроцессорами. Все процессоры объединены шиной VME. Архитектура системы, поддерживающая до 65 000 виртуальных процессорных элементов с более чем 1 млн. настраиваемых соединений, позволяет обрабатывать до 450 тыс. межсоединений/с.
Mark IV – это однопроцессорный суперкомпьютер с конвейерной архитектурой. Он поддерживает до 236 тыс. виртуальных процессорных элементов, что позволяет обрабатывать до 5 млн. межсоединений/с.
Компьютеры семейства Mark имеют общую программную оболочку ANSE (Artificial Neural System Environment), обеспечивающую программную совместимость моделей. Помимо указанных моделей фирмы TRW предлагает также пакет Mark II – программный эмулятор НС.
Другой интересной моделью является нейрокомпьютер NETSIM, созданный фирмой Texas Instruments на базе разработок Кембриджского университета. Его топология представляет собой трехмерную решетку стандартных вычислительных узлов на базе процессоров 80188. Компьютер NETSIM используется для моделирования таких моделей НС, как сеть Хопфилда – Кохонена и НС с обратным распространением. Его производительность достигает 450 млн. межсоединений/с.
Фирма Computer Recognitiion Systems (CRS) продает серию нейрокомпьютеров WIZARD/CRS 1000, предназначенных для обработки видеоизображений. Размер входной изображения 512 x 512 пикселов. Модель CRS 1000 уже нашла применение в промышленных системах автоматического контроля.
Сегодня на рынке представлено много моделей нейрокомпьютеров. На самом деле их, видимо, гораздо больше, но наиболее мощные и перспективные модели по-прежнему создаются по заказам военных.
К сожалению, не имея достаточной информации о моделях специального назначения, трудно составить представление об истинных возможностях современных компьютеров.
НС принадлежат классу коннекционистских моделей обработки
информации. Основная их черта – использовать взвешенные связи
между обрабатывающими элементами как принципиальное средство запоминания информации. Обработка в таких сетях ведется одновременно большим числом элементов, благодаря чему они терпимы к неисправностям и способны к быстрым вычислениям.
Задать НС, способную решить конкретную задачу, – это значит
определить модель нейрона, топологию связей, веса связей. Нейронные сети различаются между собой меньше всего моделями нейрона, а в основном топологией связей и правилами определения весов или правилами обучения, программирования.
По структуре связей сети делятся на два больших класса: однослойные и многослойные.
К однослойным относятся модель Хопфилда и последующие разработки, некоторые типы модели нейронной сети, известной под названием "машина Больцмана". Многослойная сеть имеет входной, выходной и скрытые слои, на входной подается информация, с выходного снимается ответ, скрытые слои участвуют в обработке.
В настоящее время существует два подхода к решению задачи
обучения НС решению задачи распознавания образов, оптимизации и т.д. Один, исторически более ранний, состоит в постепенной модификации весовых коэффициентов в процессе обучения.
Подходы к обучению однослойных и многослойных сетей различны. Обучение многослойных сетей состоит в том, что на основе набора примеров {входное состояние -> выходное состояние} постепенно подбираются веса всех связей так, чтобы каждое входное состояние вызывало соответствующее выходное. Обучающие алгоритмы представляют собою итерационные процедуры с медленным приближением к окончательным значениям весов связей. Этот способ впервые был реализован в персептроне Розенблата и локальных правилах обучения на основе модели Хебба. В последующие годы этот подход получил дальнейшее развитие в алгоритмах типа обратного распространения.
В однослойных сетях часто удается выразить веса связей через параметры задачи (так обстоит дело с моделью Хопфилда и однослойной машиной Больцмана). Подход состоит в вычислении значений синаптический весов на основе заданного описания функционирования нейронной сети как "черного ящика". Если сеть должна реализовать заданную функцию, ее рассматривают как набор элементов пороговой логики и задача сводится к кусочно-линейной аппроксимации этой зависимости и синтезу соответствующего автомата.
Для общего случая, когда описание поведения сети задано в виде набора векторов возможных состояний, поиск синаптических весов сводится к решению соответствующей системы нелинейных уравнений. Такое решение было впервые найдено Хопфилдом. Появление этой работы около 10 лет назад продемонстрировало эффективность применения аналитических методов для интерпретации поведения нейронных сетей и привело к разработке проекционного алгоритма, позволяющего вычислять значения синаптических весов, сократив тем самым затраты времени на обучение.
Исследования проекционного алгоритма показывают, что при
очевидных достоинствах ему свойственен ряд недостатков, в частности склонность сети к ложным реакциям и низкая эффективность при доучивании, когда необходимо ввести новые данные, не разрушая информации, запомненной ранее. Кроме того, до настоящего времени принято считать, что данный алгоритм пригоден лишь для полносвязных нейронных сетей и неприменим в сетях другой архитектуры. Указанные недостатки и малая изученность таких вопросов, как структура и частота появления ложных реакций, реализация итеративных процедур доучивания и применение в неполносвязных сетях, затрудняет использование проекционного алгоритма в исследованиях по нейробионике и при проектировании нейропроцессоров. Недостатком проекционного алгоритма с точки зрения решения задачи прогнозирования является то, что при обучении необходимо с начала сформировать эталоны распознаваемых образов. В задаче прогнозирования это либо вовсе невозможно, либо чрезвычайно затруднено. Эталоны должны формироваться в самой сети на основе анализа исторических данных.
Исходя из вышеизложенного, можно заключить, что для решения задач прогнозирования наиболее подходит сеть с обратным распространением. Она позволяет формальным образом обучить сеть прогнозировать изменение требования на основе исторических данных о требовании.
Несколько определений
Нейрокомпьютеры являются предметом исследований сразу нескольких дисциплин, поэтому единое определение нейрокомпьютера можно дать только с учетом различных точек зрения, адекватных разным направлениям науки.
Математическая статистика.
Нейрокомпьютеры – это системы, позволяющие сформировать описания характеристик случайных процессов и совокупности случайных процессов, имеющих в отличие от общепринятого, сложные, зачастую многомодальные или вообще априори неизвестные функции распределения.
Математическая логика и теория автоматов.
Нейрокомпьютеры – это системы, в которых алгоритм решения задачи представлен логической сетью элементов частного вида – нейронов с полным отказом от булевских элементов типа И, ИЛИ, НЕ. Как следствие этого введены специфические связи между элементами, которые являются предметом отдельного рассмотрения.
Теория управления
. В качестве объекта управления выбирается частный случай, хорошо формализуемый объект – многослойная нейронная сеть, а динамический процесс ее настройки представляет собой процесс решения задачи. При этом практически весь аппарат синтеза адаптивных систем управления переносится на нейронную сеть как частный вид объекта управления.
Вычислительная математика
. В отличие от классических методов решения задач нейрокомпьютеры реализуют алгоритмы решения задач, представленные в виде нейронных сетей. Это ограничение позволяет разрабатывать алгоритмы, потенциально более параллельные, чем любая другая их физическая реализация. Множество нейросетевых алгоритмов решения задач составляет новый перспективный раздел вычислительной математики, условно называемый нейроматематикой.
Вычислительная техника
. Нейрокомпьютер – это вычислительная система с архитектурой MSIMD, в которой реализованы два принципиальных технических решения:
• упрощен до уровня нейрона процессорный элемент однородной структуры и резко усложнены связи между элементами;
• программирование вычислительной структуры перенесено на изменение весовых связей между процессорными элементами.
Общее определение нейрокомпьютера может быть представлено в следующем виде.
Нейрокомпьютер
– это вычислительная система с архитектурой аппаратного и программного обеспечения, адекватной выполнению алгоритмов, представленных в нейросетевом логическом базисе.
Несколько десятилетий назад было положено начало исследованиям методов обработки информации, называемых сегодня нейросетевыми. С течением времени интерес к нейросетевым технологиям то ослабевал, то вновь возрождался. Такое непостоянство напрямую связано с практическими результатами проводимых исследований.
Современный нейрокомпьютер
Сейчас количество проданных в странах Запада нейрокомпьютеров исчисляется десятками тысяч. В основном это нейрокомпьютерные программы для ПЭВМ, предназначенные для решения задач аппроксимации и прогнозирования числовых данных. Около 5% нейрокомпьютеров относятся к устройствам профессионального уровня, ориентированным на применение мощных рабочих станций и аппаратных нейроакселераторов. Программное обеспечение таких систем обычно содержит библиотеки нейропарадигм, что позволяет при решении задач использовать различные типы нейронных сетей. Типичным примером может служить система BrainMaker фирмы CSS (США), получившая в 1990 г. приз журнала PC Magazine "Лучший программный продукт года". Система может работать на любом компьютере, на котором установлен Windows. Базовая версия (цена 950долларов) ориентирована на широкий круг пользователей. Ее применение не требует специальных знаний. Настройка сети ограничена установкой нескольких параметров, главным среди которых является допустимая погрешность ответа. Основная работа состоит в подготовке данных для обучения, которые можно импортировать из файлов формата *.DBF, *.TXT, Excel, Lotus 1-2-3. При удачном подборе примеров система дает 95% правильных ответов.
Для расширения возможностей системы служит набор дополнительных программ Toolkit Option, позволяющих ускорить процесс обучения и улучшить представление графических данных. Для профессиональных пользователей выпускается расширенная версия BrainMaker Professional, позволяющая моделировать сети с числом нейронов до 8192 (допускается расширение до 37767), цена которой составляет 1550 долларов. Для этой версии создан набор дополнительных программных средств, которые включают Genetic Training Option – программу оптимизации, использующую "генетические" алгоритмы, и Training Finansial Data – специальные наборы данных для настройки нейронной сети на коммерческие приложения.
Наконец, для наиболее крупных приложений выпущен BrainMaker Accelerator – специализированная нейроплата – акселератор на базе сигнального процессора TMS320C25 фирмы Texas Ins., позволяющая в несколько раз повысить производительность нейрообработки данных. Еще более мощная версия аппаратного расширителя BrainMaker Accelerator Pro, содержащая пять процессоровTMS320C25 и до 32 Мбайт оперативной памяти, позволяет ускорить процесс обучения в сорок раз по сравнению с компьютером PC 486DX-50.
Тема 7. Применение ИНС и нейрокомпьютеров.
Задачи, решаемые на основе нейронных сетей
Существует значительное число признаков, которыми должна обладать задача, чтобы применение НС было оправдано и НС могла бы ее решить:
– отсутствует алгоритм или не известны принципы решения задач, но накоплено достаточное число примеров;
– проблема характеризуется большими объемами входной информации;
– данные неполны или избыточны, зашумлены, частично противоречивы.
Таким образом, НС хорошо подходят для распознавания образов
и решения задач классификации, оптимизации и прогнозирования. Ниже приведен перечень возможных промышленных применений нейронных сетей, на базе которых либо уже созданы коммерческие продукты, либо реализованы демонстрационные прототипы.
Банки и страховые компании:
– автоматическое считывание чеков и финансовых документов;
– проверка достоверности подписей;
– оценка риска для займов;
– прогнозирование изменений экономических показателей.
Административное обслуживание:
– автоматическое считывание документов;
– автоматическое распознавание штриховых кодов.
Нефтяная и химическая промышленность:
– анализ геологической информации;
– идентификация неисправностей оборудования;
– разведка залежей минералов по данным аэрофотосъемок;
– анализ составов примесей;
– управление процессами.
Военная промышленность и аэронавтика:
– обработка звуковых сигналов (разделение, идентификация, локализация, устранение шума, интерпретация);
– обработка радарных сигналов (распознавание целей, идентфикация и локализация источников);
– обработка инфракрасных сигналов (локализация);
– обобщение информации;
– автоматическое пилотирование.
Промышленное производство:
– управление манипуляторами;
– управление качеством;
– управление процессами;
– обнаружение неисправностей;
– адаптивная робототехника;
– управление голосом.
Служба безопасности:
– распознавание лиц, голосов, отпечатков пальцев.
Биомедицинская промышленность:
– анализ рентгенограмм;
– обнаружение отклонений в ЭКГ.
Телевидение и связь:
– адаптивное управление сетью связи;
– сжатие и восстановление изображения.
Представленный перечень далеко не полон. Ежемесячно западные средства массовой информации сообщают о новых коммерческих продуктах на базе нейронных сетей. Так, фирма LIAC выпускает аппаратуру для контроля качества воды. Нейросистемы фирмы SAIC находят пластиковые бомбы в багаже авиапассажиров. Специалисты инвестиционного банка Citicomp (Лондон) с помощью программного нейропакета делают краткосрочные прогнозы колебаний курсов валют.
Представим некоторые проблемы, решаемые в контексте ИНС и представляющие интерес для ученых и инженеров.
Классификация образов
. Задача состоит в указании принадлежности входного образа (например, речевого сигнала или рукописного символа), представленного вектором признаков, одному или нескольким предварительно определенным классам. К известным приложениям относятся распознавание букв, распознавание речи, классификация сигнала электрокардиограммы, классификация клеток крови.
Кластеризация/категоризация
. При решении задачи кластеризации, которая известна также как классификация образов "без учителя", отсутствует обучающая выборка с метками классов. Алгоритм кластеризации основан на подобии образов и размещает близкие образы в один кластер. Известны случаи применения кластеризации для извлечения знаний, сжатия данных и исследования свойств данных.
Аппроксимация функций.
Предположим, что имеется обучающая выборка ((x1,y1), (x2,y2)…, (xn,yn)) (пары данных вход-выход), которая генерируется неизвестной функцией (x), искаженной шумом. Задача аппроксимации состоит в нахождении оценки неизвестной функции (x). Аппроксимация функций необходима при решении многочисленных инженерных и научных задач моделирования.
Предсказание/прогноз
. Пусть заданы n дискретных отсчетов {y(t1), y(t2)…, y(tn)} в последовательные моменты времени t1, t2,…, tn . Задача состоит в предсказании значения y(tn+1) в некоторый будущий момент времени tn+1. Предсказание/прогноз имеют значительное влияние на принятие решений в бизнесе, науке и технике. Предсказание цен на фондовой бирже и прогноз погоды являются типичными приложениями техники предсказания/прогноза.
Оптимизация.
Многочисленные проблемы в математике, статистике, технике, науке, медицине и экономике могут рассматриваться как проблемы оптимизации. Задачей алгоритма оптимизации является нахождение такого решения, которое удовлетворяет системе ограничений и максимизирует или минимизирует целевую функцию. Задача коммивояжера, относящаяся к классу NP-полных, является классическим примером задачи оптимизации.
Память, адресуемая по содержанию. В модели вычислений фон Неймана обращение к памяти доступно только посредством адреса, который не зависит от содержания памяти. Более того, если допущена ошибка в вычислении адреса, то может быть найдена совершенно иная информация. Ассоциативная память, или память, адресуемая по содержанию, доступна по указанию заданного содержания. Содержимое памяти может быть вызвано даже по частичному входу или искаженному содержанию. Ассоциативная память чрезвычайно желательна при создании мультимедийных информационных баз данных.
Управление
. Рассмотрим динамическую систему, заданную совокупностью {u(t), y(t)}, где u(t) является входным управляющим воздействием, а y(t) – выходом системы в момент времени t. В системах управления с эталонной моделью целью управления является расчет такого входного воздействия u(t), при котором система следует по желаемой траектории, диктуемой эталонной моделью. Примером является оптимальное управление двигателем.
Задача прогнозирования
На НС задача прогнозирования формализуется через задачу рас-
познавания образов. Данных о прогнозируемой переменной за некоторый промежуток времени образуют образ, класс которого определяется значением прогнозируемой переменной в некоторый момент времени за пределами данного промежутка т.е. значением переменной через интервал прогнозирования. Метод окон предполагает использование двух окон Wi и Wo с фиксированными размерами n и m соответственно. Эти окна, способны перемещаться с некоторым шагом по временной последовательности исторических данных, начиная с первого элемента, и предназначены для доступа к данным временного ряда, причем первое окно Wi, получив такие данные, передает их на вход нейронной сети, а второе – Wo – на выход. Получающаяся на каждом шаге пара
Wi -> Wo (1)
используется как элемент обучающей выборки (распознаваемый образ, или наблюдение).
Например, пусть есть данные о еженедельных продажах режущего инструмента (k = 16):
100 94 90 96 91 94 95 99 95 98 100 97 99 98 96 98 (2)
Зададим n = 4, m = 1, s = 1. С помощью метода окон для нейронной сети будет сгенерирована следующая обучающая выборка:
100 94 90 96 -> 91
94 90 96 91 -> 94
90 96 91 94 -> 95 (3)
96 91 94 95 -> 99
91 94 95 99 -> 95
и т.д.
Каждый следующий вектор получается в результате сдвига окон
Wi и Wo вправо на один элемент (s = 1). Предполагается наличие
скрытых зависимостей во временной последовательности как множестве наблюдений. Нейронная сеть, обучаясь на этих наблюдениях и соответственно настраивая свои коэффициенты, пытается извлечь эти закономерности и сформировать в результате требуемую функцию прогноза P.
Прогнозирование осуществляется по тому же принципу, что и
формирование обучающей выборки. При этом выделяются две возможности: одношаговое и многошаговое прогнозирование.
МНОГОШАГОВОЕ ПРОГНОЗИРОВАНИЕ. Используется для осуществления долгосрочного прогноза и предназначено для определения основного тренда и главных точек изменения тренда для некоторого промежутка времени в будущем. При этом прогнозирующая система использует полученные (выходные) данные для моментов времени k+1, k+2 и т.д. в качестве входных данных для прогнозирования на моменты времени k+2, k+3 и т.д.
Предположим, система обучилась на временной последовательности (2). Затем она спрогнозировала k+1 элемент последовательности, например, равный 95, когда на ее вход был подан последний из известных ей образов (99, 98, 96, 98). После этого она осуществляет дальнейшее прогнозирование и на вход подается следующий образ (98, 96, 98, 95). Последний элемент этого образа является прогнозом системы. И так далее.
ОДНОШАГОВОЕ ПРОГНОЗИРОВАНИЕ. Используется для краткосрочных прогнозов, обычно – абсолютных значений последовательности. Осуществляется прогноз только на один шаг вперед, но используется реальное, а не прогнозируемое значение для осуществления прогноза на следующем шаге.
Для временной последовательности 2. На шаге k+1 система прогнозирует требование 95, хотя реальное значение должно быть 96. На шаге k + 2 в качестве входного образа будет использоваться образ (98, 96, 98, 96).
Как было сказано выше, результатом прогноза на НС является
класс к которому принадлежит переменная, а не ее конкретное значение. Формирование классов должно проводиться в зависимости от того каковы цели прогнозирования. Общий подход состоит в том, что область определения прогнозируемой переменной разбивается на классы в соответствии с необходимой точностью прогнозирования.
Классы могут представлять качественный или численный взгляд на изменение переменной.
Применение нейронных сетей в финансовой сфере
Характерный пример успешного применения нейронных вычислений в финансовой сфере – управление кредитными рисками. Как известно, до выдачи кредита банки проводят сложные статистические расчеты по финансовой надежности заемщика, чтобы оценить вероятность собственных убытков от несвоевременного возврата финансовых средств. Такие расчеты обычно базируются на оценке кредитной истории, динамике развития компании, стабильности ее основных финансовых показателей и многих других факторов. Один широко известный банк США опробовал метод нейронных вычислений и пришел к выводу, что та же задача по уже проделанным расчетам подобного
рода решается быстрее и точнее. Например, в одном из случаев
оценки 100 тыс. банковских счетов новая система, построенная на базе нейронных вычислений, определила свыше 90% потенциальных неплательщиков.
Другая очень важная область применения нейронных вычислений в финансовой сфере – предсказание ситуации на фондовом рынке.
Стандартный подход к этой задаче базируется на жестко фиксированном наборе "правил игры", которые со временем теряют свою эффективность из-за изменения условий торгов на фондовой бирже. Кроме того, системы, построенные на основе такого подхода, оказываются слишком медленными для ситуаций, требующих мгновенного принятия решений. Именно поэтому основные японские компании, оперирующие на рынке ценных бумаг, решили применить метод нейронных вычислений. В типичную систему на базе нейронной сети ввели информацию общим объемом в 33 года деловой активности нескольких организаций, включая оборот, предыдущую стоимость акций, уровни дохода и т.д. Самообучаясь на реальных примерах, система нейронной сети показала большую точность предсказания и лучшее быстродействие:
по сравнению со статистическим подходом дала улучшение результативности в целом на 19%.
Следующий пример, довольно близкий к области финансового
рынка, – оценка стоимости недвижимости. Решение этой задачи зависит в основном от опыта сотрудника риэлтерской фирмы, учитывающего множество таких неравноценных факторов, как доля собственности, качество постройки, окружающая обстановка и т.д. Группа исследователей из университета г.Портсмут (Великобритания) заложила в вычислительную систему на базе нейронной сети данные по оценке недвижимости из обзоров риэлтеровских фирм и списков аукционных цен. Результат показал, что самообучившаяся система дает оценки стоимости, хорошо коррелируемые с экспертными заключениями специалистов этого профиля.
Пример удачного прогнозирования динамики биржевых курсов по заказу Chemical Bank продемонстрировала фирма Logica. На технической базе Sun SPARCstation LX с помощью нейронных вычислений моделировались рынки валютных курсов доллар/швейцарский франк и немецкая марка/швейцарский франк. Выбор именно этих валют объяснялся высоким уровнем подвижности первого соотношения и малым – второго (до кризиса в 1993 году). Данные о динамике кросс-курсов этих валют собирались с 1 октября 1992 года по 1 октября 1993 года, при этом ценовые прогнозы характеризовались пятью категориями: большой рост, малый рост, без изменений, малый спад, большой спад. В итоге нейронная система предсказала за вышеупомянутый годовой период 55 % реальных данных по первому соотношению валют и 23 % – по второму.
Лондонская фондовая биржа (ЛФБ) начала внедрение автоматизированной системы с элементами искусственного интеллекта на базе нейронных вычислений для контроля внутреннего дилинга. Первый этап инсталляции этой системы, разработанной лондонской фирмой SearchSpace и получившей кодовое наименование MonITARS (Monitoring Insider Trading and Regulatory Surveillance), успешно завершен.
По оценкам экспертов, бум вокруг систем искусственного интеллекта в финансовой индустрии пришелся на период 1984 – 1989 гг. В основном он затронул США и в меньшей степени Великобританию, где разработчики сложных имитационных систем для военных (типа программы "Звездные войны") решили попытать счастья на Уолл-стрит. Многие разработчики действительно обогатились, чего нельзя сказать о финансовых структурах, чьи завышенные ожидания эффекта от внедрения подобных систем не оправдались. Так, один крупный инвестиционный банк на Уолл-стрит потратил более 1 млн.
долл. на разработку системы искусственного интеллекта для финансовых операций, но спустя некоторое время вынужден был вернуться к старой, "неинтеллектуальной". Одной из причин неудачи был недостаточный по сравнению с ожидаемым уровень производительности системы, полученный в результате ее внедрения.
Американская фондовая биржа в Нью-Йорке пошла по аналогичному пути, запустив в 1987 году автоматизированную систему Stockwatch Alert Terminal (SWAT) II. Ее расширенная версия – SWAT III – сейчас проходит бета-тестирование и, видимо, будет внедрена в начале года. Правда, фирма SearchSpace утверждает, что выбрала другую технологию (в отличие от SWAT), называемую "генетическими алгоритмами", и ведет переговоры о ее внедрении с рядом бирж Европы и Дальнего Востока.
В настоящее время банки пришли к выводу, что прикладные системы, разработанные на базе нейронных сетей, могут принести им пользу. На рынке уже предлагаются продукты подобного рода, определяющие вероятность риска при выдаче кредита, а также пакеты моделирования и прогнозирования банкротства, анализа портфеля ценных бумаг и торговли акциями. Нейронные сети заменяют традиционные системы в таких научно-технических областях, как статистические методы, распознавание образов, линейный и нелинейный математический анализ.
Mellon equity Associates – подразделение Mellon Bank в Питтсбурге (США) – достаточно давно применяло собственную систему анализа линейной регрессии для распределения фондов и специальной селекции акций. В ходе работы они обнаружили, что между различными оценочными параметрами существуют нелинейные связи, не поддающиеся точному учету с помощью имеющегося у них инструментария.
Поскольку данное направление работ составляет примерно поло-
вину всего бизнеса компании (под управлением находится около 2.5
млрд. долл. инвестиций), то поиск более точных средств стал жизненно важной задачей. После тщательного анализа разных систем разработок ПО с помощью нейронных сетей Mellon Equity Associates выбрала пакет Neural-Works Professional II/Plus 5.0 фирмы NeuralWare (Питтсбург). Основанием для этого послужило наличие у него таких возможностей, как усиленный темп самообучения на базе "генетического алгоритма", очень важного для моделирования систем "с шумом".
По мнению руководителей NeuralWare Inc., методика линейного статистического анализа имеет следующие недостатки. При финансовых расчетах существует сильная взаимосвязь между отношением цена/доходы одинаковых рынков и темпами изменения дивидендов краткосрочных инвестиций. Когда на кривой, отображающей динамику последних, есть точки экстремума, то линейные методы могут дать переоценку первых.
Neural-Works Professional II/Plus 5.0, инсталлированный в
компании Mellon Equity Associates, ориентирован на IBM-совместимый ПК с 486-м процессором (правда, в качестве препроцессора там используется мэйнфрейм VAX) и содержит компилятор языка C и стандартные электронные таблицы. Пакет внедрялся в течение четырех-пяти месяцев и в рабочем режиме функционирует с января 1994года.
Гораздо более распространены случаи, когда в финансовых структурах применяются уже готовые приложения на базе нейронных сетей, например для автоматического распознавания чеков. Подобная система Quick Strokes-IFPS фирмы Mitek Systems (Сан-Диего, шт. Калифорния) была установлена в 1993 году в Федеральном резервном банке Чикаго. Она позволяет оперативно распознавать сканируемые чеки, используя среду обработки данных на базе мэйнфрейма.
Департамент торговли и индустрии правительства Великобритании спонсирует две программы, направленные на развитие нейронных вычислений в финансовой сфере. Это "Клуб нейропрогнозирования", созданный Лондонской школой бизнеса совместно с университетским колледжем Лондона (UCL), и "Нейронные сети для финансовых услуг", продвигаемый фирмой TBS Bank Technology с UCL и Центром прогнозирования Henley. Вместе с тем среди множества финансовых институтов, известных как пользователи или исследователи этой технологии, фигурируют такие гиганты, как Chemical Bank, Citibank, JP Morgan и др.
Начав работу в этом направлении сравнительно недавно, программисты Великобритании уже добились ощутимых результатов. Группа специалистов, входящих в "Клуб нейропрогнозирования", создала нейронную систему для выработки тактики распределения фондов на глобальных рынках облигаций. Она охватывает семь отдельных географических регионов: Великобританию, Францию, Германию, Японию,США, Канаду, Австралию, и каждый из них моделируется особой локальной сетью нейронов. Все они проходят своеобразный процесс обучения на исторических данных с целью получения краткосрочных прогнозов ситуации на этом рынке за каждый месяц. Все локальные предсказания затем объединяются в Центре управления единым портфелем ценных бумаг.
Вышеописанная система с ноября 1992 года поступила на вооружение Североамериканской страховой компании в Бостоне (США). В итоге капитал этой компании быстро увеличился с 25 до 50 млн. долл., а портфель ценных бумаг показал доходность свыше 25 % в первый же год внедрения системы. В этом нет ничего удивительного, так как нейронная сеть представляет собой универсальное средство аппроксимации, способное решить любую задачу.
Одна из наиболее передовых методик нейронных вычислений –
генетические алгоритмы, имитирующие эволюцию живых организмов.
Поэтому они могут быть использованы как оптимизатор параметров нейронной сети. Подобная система для прогнозирования результатов контрактов по долгосрочным ценным бумагам повышенной надежности была разработана и инсталлирована на рабочей станции Sun в компании Hill Samuel Investment Management. При моделировании нескольких стратегий торгов она достигла точности 57 % в предсказании направления движения рынка. В страховой фирме TSB General Insurance (Ньюпорт) используется сходная методика для прогноза уровня риска при страховании частных кредитов. Данная нейронная сеть самообучается на статистических данных о состоянии безработицы в стране.
Прогнозирование на НС обладает рядом недостатков. Вообще говоря, нам необходимо как минимум 50 и лучше 100 наблюдений для создания приемлемой модели. Это достаточно большое число данных и существует много случаев, когда такое количество исторических данных недоступно. Например, при производстве сезонного товара, истории предыдущих сезонов недостаточно для прогноза на текущий сезон, из-за изменения стиля продукта, политики продаж и т.д.
Даже при прогнозировании требования на достаточно стабильный продукт на основе информации о ежемесячных продажах, возможно мы не сможем накопить историю за период от 50 до 100 месяцев. Для сезонных процессов проблема еще более сложна. Каждый сезон истории фактически представляет собой одно наблюдение. То есть, в ежемесячных наблюдениях за пять лет будет только пять наблюдений за январь, пять наблюдений за февраль и т.д. Может потребоваться информация за большее число сезонов для того, чтобы построить сезонную модель. Однако, необходимо отметить, что мы можем построить удовлетворительную модель на НС даже в условиях нехватки данных. Модель может уточняться по мере того, как свежие данные становится доступными.
Другим недостатком нейронных моделей – значительные затраты
по времени и другим ресурсам для построения удовлетворительной модели. Эта проблема не очень важна, если исследуется небольшое число временных последовательностей. Тем не менее, обычно прогнозирующая система в области управления производством может включать от нескольких сотен до нескольких тысяч временных последовательностей.
Однако, несмотря на перечисленные недостатки, модель обладает рядом достоинств. Существует удобный способ модифицировать модель по мере того как появляются новые наблюдения. Модель хорошо работает с временными последовательностями, в которых мал интервал наблюдений, т.е. может быть получена относительно длительная временная последовательность. По этой причине модель может быть использована в областях, где нас интересуют ежечасовые, ежедневные или еженедельные наблюдения. Эти модели также используются в ситуациях, когда необходимо анализировать небольшое число временных последовательностей.
Применение нейрокомпьютеров в медицине
Острая боль в груди. Скорая помощь доставляет больного в приемный покой, где дежурный врач должен поставить диагноз и определить, действительно ли это инфаркт миокарда. Опыт показывает, что доля пациентов, перенесших инфаркт среди поступивших с аналогичными симптомами, невеликa. Точных методов диагностики, тем не менее, до сих пор нет. Электрокардиограмма иногда не содержит явных признаков недуга. А сколько всего параметров состояния больного могут так или иначе помочь поcтавить в данном случае правильный диагноз? Более сорока. Может ли врач в приемном покое быстро проанализировать все эти показатели вместе с взаимосвязями, чтобы принять решение о направлении больного в кардиологическое отделение? В какой-то мере эту задачу помогают решать нейросетевые технологии.
Статистика такова: врач правильно диагностирует инфаркт миокарда у 88% больных и ошибочно ставит этот диагноз в 29% случаев. Ложных тревог (гипердиагностики) чересчур много. История применения различных методов обработки данных для повышения качества диагностики насчитывает десятилетия, однако лучший из них помог сократить число случаев гипердиагностики лишь на 3%.
В 1990 году Вильям Бакст из Калифорнийского университета в Сан-Диего использовал нейронную сеть – многослойный персептрон – для распознавания инфаркта миокарда у пациентов, поступающих в приемный покой с острой болью в груди. Его целью было создание инструмента, способного помочь врачам, которые не в силах справиться с потоком данных, характеризующих состояние поступившего больного. Другой целью может быть совершенствование диагностики. Свою задачу исследователь усложнил, поскольку анализировал данные только тех пациентов, кого уже направили в кардиологическое отделение. Бакст использовал лишь 20 параметров, среди которых были возраст, пол, локализация боли, реакция на нитроглицерин, тошнота и рвота, потение, обмороки, частота дыхания, учащенность сердцебиения, предыдущие инфаркты, диабет, гипертония, вздутие шейной вены, ряд особенностей ЭКГ и наличие значительных ишемических изменений.
Сеть продемонстрировала точность 92% при обнаружении инфаркта миокарда и дала только 4% случаев сигналов ложной тревоги, ошибочно подтверждая направление пациентов без инфаркта в кардиологическое отделение. Итак, налицо факт успешного применения искусственных нейронных сетей в диагностике заболевания. Теперь необходимо пояснить, в каких параметрах оценивается качество диагноза в общем случае. Предположим, что из десяти человек, у которых инфаркт действительно есть, диагностический метод позволяет обнаружить заболевание у восьми. Тогда чувствительность метода составит 80%. Если же мы возьмем десять человек, у которых инфаркта нет, а метод диагностики заподозрит его у трех человек, то доля ложных тревог составит 30%, при этом дополнительная к нему характеристика – специфичность метода – будет равна 70%.
Идеальный метод диагностики должен иметь стопроцентные чувствительность и специфичность – во-первых, не пропускать ни одного действительно больного человека и, во-вторых, не пугать здоровых людей. Чтобы застраховаться, можно и нужно стараться прежде всего обеспечить стопроцентную чувствительность метода – нельзя пропускать заболевание. Но в это оборачивается, как правило, низкой специфичностью метода – у многих людей врачи подозревают заболевания, которыми на самом деле пациенты не страдают.
Нейронные сети для задач диагностики
Нейронные сети представляют собой нелинейные системы, позволяющие гораздо лучше классифицировать данные, чем обычно используемые линейные методы. В приложении к медицинской диагностике они дают возможность значительно повысить специфичность метода, не снижая его чувствительности.
Вспомним, что нейронная сеть, диагностирующая инфаркт, работала с большим набором параметров, влияние которых на постановку диагноза человеку невозможно оценить. Тем не менее нейросети оказались способными принимать решения, основываясь на выявляемых ими скрытых закономерностях в многомерных данных. Отличительное свойство нейросетей состоит в том, что они не программируются – не используют никаких правил вывода для постановки диагноза, а обучаются делать это на примерах. В этом смысле нейросети совсем не похожи на экспертные системы, разработка которых в 70-е годы происходила после временной "победы" Искусственного Интеллекта над тем подходом к моделированию памяти, распознавания образов и обобщения, который основывался на изучении нейронной организации мозга.
Одной из наиболее известных из разработанных экспертных систем, действие которых основывалось на знаниях, извлеченных у экспертов, и на реализации процедур вывода, была система MYCIN. Данную систему разработали в Стэнфорде в начале 70-х годов для диагностики септического шока. Половина больных умирала от него в течение суток, а врачи могли обнаруживать сепсис лишь в 50% случаев. MYCIN, казалось, была подлинным триумфом технологии экспертных систем – ведь она позволяла обнаружить сепсис в 100% случаев. Однако после более внимательного знакомства с этой экспертной системой врачи значительно усовершенствовали традиционные методы диагностики, и MYCIN потерял свое значение, превратившись в учебную систему. Экспертные системы "пошли" только в кардиологии – для анализа электрокардиограмм. Сложные правила, которые составляют главное содержание книг по клиническому анализу ЭКГ, использовались соответствующими системами для выдачи диагностического заключения.
Диагностика является частным случаем классификации событий, причем наибольшую ценность представляет классификация тех событий, которые отсутствуют в обучающем нейросеть наборе. Здесь проявляется преимущество нейросетевых технологий – они способны осуществлять такую классификацию, обобщая прежний опыт и применяя его в новых случаях.
Конкретные системы
Примером программы диагностики служит пакет кардиодиагностики, разработанный фирмой RES Informatica совместно с Центром кардиологических исследований в Милане. Программа позволяет осуществлять неинвазивную кардиодиагностику на основе распознавания спектров тахограмм. Тахограмма представляет собой гистограмму интервалов между последовательными сердцебиениями, и ее спектр отражает баланс активностей симпатической и парасимпатической нервной системы человека, специфично изменяющейся при различных заболеваниях.
Так или иначе, уже сейчас можно констатировать, что нейронные сети превращаются в инструмент кардиодиагностики – в Англии, например, они используются в четырех госпиталях для предупреждения инфаркта миокарда.
В медицине находит применение и другая особенность нейросетей – их способность предсказывать временные последовательности. Уже отмечалось, что экспертные системы преуспели в анализе ЭКГ. Нейросети здесь тоже приносят пользу. Ки Чженху, Ю Хену и Виллис Томпкинс из университета штата Висконсин разработали нейросетевую систему фильтрации электрокардиограмм, позволяющую подавлять нелинейный и нестационарный шум значительно лучше, чем ранее использовавшиеся методы. Дело в том, что нейросеть хорошо предсказывала шум по его значениям в предыдущие моменты времени. А то, что нейросети очень эффективны для предсказания временных последовательностей (таких, например, как курс валют или котировки акций), убедительно продемонстрировали результаты соревнования предсказательных программ, проводимых университетом в Санта Фе – нейросети заняли первое место и доминировали среди лучших методов.
Возможности применения нейросетей
ЭКГ – это частное, хотя и исключительно важное приложение. Однако сегодня существует и много других примеров использования нейросетей для медицинских прогнозов. Известно, что длинные очереди в кардиохирургические отделения (от недель до месяцев) вызваны нехваткой реанимационных палат. Увеличить их число не удается из-за высокой стоимости реанимационной помощи (70% средств американцы тратят в последние 2 недели жизни именно в этом отделении).
Выход только в более эффективном использовании имеющихся средств. Предположим, что состояние прооперированных в некоторый день больных настолько тяжелое, что им необходимо их длительное пребывание в реанимационной палате (более двух суток). Все это время хирурги будут простаивать, поскольку вновь прооперированных больных некуда класть. Тяжелых больных разумнее оперировать перед выходными или праздниками – операционные все равно закрыты в эти дни, хирурги будут отдыхать, а больные восстанавливаться в реанимации. А вот в начале рабочей недели лучше прооперировать тех пациентов, которым нужно будет находиться в реанимационной палате только один-два дня. Тогда койки в реанимации будут освобождаться быстрее и принимать новых, прооперированных во вторник и среду больных.
Вопрос в том, как угадать, кому придется надолго задержаться в блоке интенсивной терапии после операции, а кому – нет. Джек Ту и Майкл Гуэрир из госпиталя Святого Михаила университета в Торонто использовали нейронные сети для такого предсказания. В качестве исходных данных они взяли только те сведения о пациенте, которые известны в предоперационный период. Заметим, что в предшествующих работах, не использующих нейронные сети, в качестве факторов повышенного риска пребывания в реанимации применялись также важные послеоперационные сведения – различные осложнения, возникшие в ходе хирургического вмешательства.
Ту и Гуэрир обучили двухслойный персептрон разделять больных на три группы риска, учитывая их возраст, пол, функциональное состояние левого желудочка, степень сложности предстоящей операции и наличие сопутствующих заболеваний. Из тех пациентов, которых сеть отнесла к группе малого риска задержки в реанимации, только 16,3% действительно провели в ней более двух дней. В то же время свыше 60% из тех, кого сеть отнесла в группу повышенного риска, оправдали неблагоприятный прогноз.
Борьба с раком
Мы уделяли особое внимание сердечно-сосудистым заболеваниям, поскольку именно они удерживают печальное лидерство в списке причин смертности. На втором месте находятся онкологические заболевания. Одно из главных направлений, в котором сейчас идут работы по использованию нейронных сетей, – диагностика рака молочной железы. Этот недуг – причина смерти каждой девятой женщины.
Обнаружение опухоли осуществляется в ходе первичного рентгенографического анализа молочной железы (маммографии) и последующего анализа кусочка ткани новообразования (биопсии). Несмотря на существование общих правил дифференцирования доброкачественных и злокачественных новообразований, по данным маммографии, только от 10 до 20% результатов последующей хирургической биопсии действительно подтверждают наличие рака молочной железы. Опять мы имеем дело со случаем крайне низкой специфичности метода.
Исследователи из университета Дьюка обучили нейронную сеть распознавать маммограммы злокачественной ткани на основе восьми особенностей, с которыми обычно имеют дело радиологи. Оказалось, что сеть способна решать поставленную задачу с чувствительностью около 100% и специфичностью 59% (сравните с 10-20% у радиологов). Сколько женщин с доброкачественными опухолями можно не подвергать стрессу, связанному с проведением биопсии, если использовать эту нейронную сеть! В клинике Майо (Миннесота) нейросеть анализировала результаты ультразвукового исследования молочной железы и обеспечила специфичность 40%, в то время как для тех же женщин специфичность заключения радиологов оказалась нулевой. Не правда ли, успех использования нейросетевых технологий выглядит совсем не случайным?
После лечения рака молочной железы возможны рецидивы возникновения опухоли. Нейросети уже помогают эффективно их предсказывать. Подобные исследования проводятся на медицинском факультете Техасского университета. Обученные сети показали свои способности выявлять и учитывать очень сложные связи прогностических переменных, в частности, их тройные связи для улучшения предсказательной способности.
Разнообразны возможности применения нейросетей в медицине, и разнообразна их архитектура. На основе прогноза отдаленных результатов лечения заболевания тем или иным методом можно предпочесть один из них. Значительного результата в прогнозе лечения рака яичника (болезнь каждой семидесятой женщины) добился известный голландский специалист Герберт Каппен из университета в Нимегене (он использует в своей работе не многослойные персептроны, а так называемые Машины Больцмана – нейросети для оценки вероятностей).
А вот пример другого онкологического заболевания. Исследователи из медицинской школы в Кагаве (Япония) обучили нейросеть, которая практически безошибочно прогнозировала по предоперационным данным результаты резекции печени у больных печеночно-клеточной карциномой.
В Троицком институте инновационных и термоядерных исследований (ТРИНИТИ) в рамках реализуемого Министерством науки проекта создания нейросетевых консультационных систем была разработана нейросетевая программа, которая выбирает метод лечения базальноклеточного рака кожи (базалиомы) на основе долгосрочного прогноза развития рецидива. Число заболеваний базалиомой – онкологическим недугом белокожих людей с тонкой кожей – составляет треть всех онкологических заболеваний.
Диагностика одной из форм меланомы – опухоли, которую иногда непросто отличить от пигментной формы базалиомы, была реализована с помощью нейросетевого симулятора Multineuron, разработанного в ВЦ СОАН в Красноярске под руководством А.Н.Горбаня.
Нейросети можно использовать и для прогноза действия различных разрабатываемых средств лечения. Они уже успешно применяются в химии для прогноза свойств соединений на основе их молекулярной структуры. Исследователи из Национального института рака в США использовали нейросети для предсказания механизма действия препаратов, применяемых при химиотерапии злокачественных опухолей. Заметим, что существуют миллионы различных молекул, которые необходимо исследовать на предмет их антираковой активности. Специалисты Института рака разбили известные онкологические препараты на шесть групп в соответствии с механизмом их действия на раковые клетки и обучили многослойные сети классифицировать новые вещества и распознавать их действие. В качестве исходных данных использовались результаты экспериментов по подавлению роста клеток из различных опухолей. Нейросетевая классификация позволяет определить, какие из сотен ежедневно апробируемых молекул стоит изучать далее в весьма дорогих экспериментах in vitro и in vivo. Для решения аналогичной задачи использовались и сети Кохонена. Эти обучаемые без учителя самоорганизующиеся нейросети разбивали вещества на заранее неизвестное число кластеров и поэтому дали исследователям возможность идентифицировать вещества, обладающие новыми цитотоксическими механизмами воздействия.
Нейросистемы, генетика и молекулы
Диагностика и лечение онкологических заболеваний, а также разработка новых медикаментозных средств несомненно представляют собой важнейшую область применения нейросетевых технологий. Однако в последнее время среди исследователей и врачей растет осознание того факта, что будущие успехи должны быть тесно связаны с изучением молекулярных и генетических причин развития заболеваний.
Не случайно в апреле 1997 года эксперты Национального института здоровья (США) выступили с рекомендациями по усилению исследований, связанных с выявлением причин, вызывающих рак, и разработок, направленных на предупреждение болезней. Нейросети уже довольно давно активно применяются в анализе геномных последовательностей ДНК, в частности для распознавания промоторов – участков, предшествующих генам и связываемых с белком РНК-полимераза, который инициирует транскрипцию. Их используют для дифференциации кодирующих и некодирующих участков ДНК (экзонов и интронов) и предсказания структуры белков.
В 1996 году было сделано сенсационное открытие, связавшее фундаментальные исследования в молекулярной генетике с проблемой патогенеза и лечения самого распространенного онкологического заболевания – базальноклеточного рака кожи. Исследователи обнаружили в девятой хромосоме человека ген (PTC), мутации в котором, в отличие от гена p53, вызваны воздействием ультрафиолета и являются причиной развития опухоли. Ключом к открытию стало изучение так называемого заплаточного гена, изменения в котором стимулировали дефекты развития плодовой мушки и тот факт, что у детей, также страдающих дефектами развития костной ткани (базальный невусный синдром), часто имеются множественные базалиомы.
Теперь генетики и врачи преисполнены надежд найти медикаментозное средство лечения базалиомы или использовать методы генной хирургии, и заменить ими такие нещадящие методы лечения, как обычная лазерная, рентгеновская и криохирургия. Могут ли нейронные сети оказаться полезными для этих исследований? В частности, нельзя ли с их помощью оценить возможное влияние определенной мутации на изменение свойств соответствующих белков или оценить ее прогностическое значение, скажем, для развития рецидива рака молочной железы?
Если бы это можно было сделать, то нейросети значительно уменьшили бы область поиска для молекулярных биологов, часто "на ощупь" проводящих очень дорогостоящие эксперименты по оценке роли мутаций в молекуле ДНК. Напомним, что к развитию злокачественных опухолей приводит неконтролируемый рост и деление клеток. Геном человека, в котором записана информация о всех производимых в организме белках, насчитывает около трех миллиардов нуклеотидов. Но только 2-3% из них действительно кодируют белки – остальные нужны самой ДНК для поддержания правильной структуры, репликации и прочего.
В геномных последовательностях ДНК можно приближенно выделить три составляющие: в первой содержатся многочисленные копии одинаковых фрагментов (сателлитная ДНК); во второй находятся умеренно повторяющиеся последовательности, рассеянные по геному; а в третьей _уникальная ДНК. В сателлитной ДНК различные копии представлены неодинаково – их численность варьируется от сотен до миллионов. Поэтому они обычно еще подразделяются на мини- и микросателлитов.
Замечательно, что распределение микросателлитов по геному столь специфично, что может использоваться в качестве аналога отпечатков пальцев для человека. Полагают также, что это распределение может быть использовано и для диагностики различных заболеваний.
В скрытом виде повторы нуклеотидных последовательностей играют важную роль и в уникальных последовательностях ДНК. Согласно гипотезе Фрэнсиса Крика, эволюция ДНК начинается от квазипериодических структур, и если мы сможем найти скрытые повторы, то узнаем, где произошли мутации, определившие эволюцию, а значит, найдем и древнейшие, и важнейшие участки, мутации в которых наиболее опасны. Распределение скрытых повторов также тесно связано со структурой и функцией белков, кодируемых соответствующей последовательностью.
В ТРИНИТИ была разработана система, в которой для поиска скрытых повторов и оценки роли мутаций в последовательностях ДНК используются модификации нейросетей Хопфилда. Есть надежда, что этот подход можно будет использовать для обобщенного спектрального анализа последовательностей данных весьма общего вида, например, для анализа электрокардиограмм.
Нейросети шагают по планете
География исследовательских групп, применяющих нейросети для разработки медицинских приложений, очень широка. О США нечего и говорить – в университете каждого штата ведутся подобные исследования, причем главное их направление – рак молочной железы. Да что там университеты – военные академии этим тоже занимаются. В Чехии Иржи Шима разработал теорию обучения нейронных сетей, способных эффективно работать с так называемыми интервальными данными (когда известны не значения параметра, а интервал его изменения), и использует их в различных медицинских приложениях. В Китае сотрудники Института атомной энергии обучили нейросеть отличать больных с легкими и тяжелыми заболеваниями эпителия пищевода от тех, кто страдает раком пищевода, на основе элементного анализа ногтей.
В России в НИИЯФ МГУ нейросети применяются для анализа заболеваний органов слуха.
Наконец, в Австралии Джордж Христос использовал теорию нейронных сетей для построения первой гипотезы о причинах загадочного синдрома внезапной смерти новорожденных.
Нейросетевые программы подчас крайне дороги для широкого внедрения в клинике (от тысяч до десятков тысяч долларов), а врачи довольно скептически относятся к любым компьютерным инновациям. Заключение, выданное с помощью нейронной сети, должно сопровождаться приемлемыми объяснениями или комментариями.
Но основания для оптимизма все-таки есть. Освоить и применять технологии нейронных сетей значительно проще, чем изучать математическую статистику или нечеткую логику. Для создания нейросетевой медицинской системы требуются не годы, а месяцы.
Современные направления развития нейрокомпьютерных технологий в России
Детальный анализ зарубежных разработок нейрокомпьютеров позволил выделить основные перспективные направления современного развития нейрокомпьютерных технологий: нейропакеты, нейросетевые экспертные системы, СУБД с включением нейросетевых алгоритмов, обработка изображений, управление динамическими системами и обработка сигналов, управление финансовой деятельностью, оптические нейрокомпьютеры, виртуальная реальность. Сегодня разработками в этой области занимается более 300 зарубежных компаний, причем число их постоянно увеличивается. Среди них такие гиганты как Intel, DEC, IBM и Motorolla. Сегодня наблюдается тенденция перехода от программной эмуляции к программно-аппаратной реализации нейросетевых алгоритмов с резким увеличением числа разработок СБИС нейрочипов с нейросетевой архитектурой. Резко возросло количество военных разработок, в основном направленных на создание сверхбыстрых, "умных" супервычислителей.
Если говорить о главном перспективном направлении – интеллектуализации вычислительных систем, придания им свойств человеческого мышления и восприятия, то здесь нейрокомпьютеры – практически единственный путь развития вычислительной техники. Многие неудачи на пути совершенствования искусственного интеллекта на протяжении последних 30 лет связаны с тем, что для решения важных и сложных по постановке задач выбирались вычислительные средства, не адекватные по возможностям решаемой задаче, в основном из числа компьютеров, имеющихся под рукой. При этом как правило не решалась задача, а показывалась принципиальная возможность ее решения. Сегодня активное развитие систем MPP создало объективные условия для построения вычислительных систем, адекватных по возможностям и архитектуре практически любым задачам искусственного интеллекта.
В Японии с 1993 года принята программа "Real world computing program",. Ее основная цель – создание адаптивной, эволюционирующей ЭВМ. Проект рассчитан на 10 лет. Основой разработки является нейротехнология, используемая для распознавания образов, обработки семантической информации, управления информационными потоками и роботами, которые способны адаптироваться к окружающей обстановке. Только в 1996 году было проведено около сотни международных конференций по нейрокомпьютерам и смежным проблемам. Разработки нейрокомпьютеров ведутся во многих странах мира и даже в Австралии создан свой образец коммерческого супернейрокомпьютера.
Теория нейронных сетей
В области теории нейронных сетей российская научная школа, которая развивается уже в течение 30 лет, имеет определенный приоритет по сравнению с зарубежными исследованиями. Теория нейронных сетей – алгоритмический базис нейрокомпьютеров, подобно тому как булева алгебра служила основой логики однопроцессорных и многопроцессорных компьютеров.
Общая методика синтеза многослойных нейронных сетей была разработана сотрудниками Научного центра нейрокомпьютеров еще в конце 60-х годов и постоянно развивалась в течение 30 лет. В результате в России сформировалось направление в области теории нейронных сетей, которое по ряду параметров превосходит уровень зарубежных работ. Например были разработаны методы адаптивной настройки нейронных сетей с произвольным видом нейрона и произвольным числом слоев; с различными видами связей между слоями; с различными видами критериев оптимизации; с различными ограничениями на весовые коэффициенты нейронных сетей.
Реализованные в известных зарубежных нейропакетах нейросетевые парадигмы имеют по крайней мере два серьезных недостатка:
• они реализуют нейросетевой алгоритм, не адекватный выбранной задаче;
• достигают локального эффекта на первомом этапе использования без возможности улучшения для повышения качества решения задачи.
В таблице 4 представлена сравнительная характеристика зарубежных и отечественных методов настройки многослойных нейронных сетей.
Таблица 4.
Сравнение метода обратного распространения и российских методов адаптации в многослойных нейронных сетях.
NN
Признак
Российские методы адаптации в многослойных нейронных сетях
Метод обратного распространения
Примечание
1.
Срок разработки и опубликования
1965 – 1971, 1970 – 1974
1976 – 1984
Характеристики входных сигналов
2.
Число классов образов (градаций по уровню сигнала указаний учителя о принадлежности входных образов полученному классу
2, К, континуум
2
3.
Характеристика стационарности входных образов, как случайных сигналов
стационарные, нестационарные
стационарные
4.
Характеристика "квалификации" учителя
произвольная
обучение (в=1) редко самообуче ние (в=0)
5.
Собственное мнение учителя о своих способностях
+
–
6.
Априорные вероятности появления классов образов
произвольные
равные
Характеристика пространства решений
7.
Количество решений
2, К, континуум
2
для любого варианта числа классов
8.
Априорная информация об условной плотности распределения вероятностей относительно образов классов
может быть учтена
не учитывается
Критерии первичной оптимизации
9.
Класс критериев первичной оптимизации
средняя функция риска, без учета и при наличии ограничений на составляющие для различных классов, максимум апостериорной информации и другие критерии, соответствующие физике задач
энергетическая функция, сред неквадратическая ошибка
Российская методика: -min R (средней функции риска) -min R при (составляющей средней функции риска) – min R при и др. критерии
10.
Матрица (функция) потерь
произвольная
диагональная симметричная
Структуры многослойных нейронных сетей
11.
Типы структур многослойных нейронных сетей
многослойные нейронные сети с полными, и неполными последовательными, перекрестными и обратными связями. Произвольные структуры, адекватные решаемым задачам
трехслойные сети с полными последовательными связями
Функционал вторичной оптимизации
12.
Метод выбора функционала вторичной оптимизации, соответствующего функционалу первичной оптимизации
+
–
Методы поиска экстремума функционала вторичной оптимизации
13.
Использование комбинированных (градиентных и случайных методов поиска)
+
–
14.
Использование метода стохастической аппроксимации
+
–
15.
Учет информации об ограничениях на настраиваемые коэффициенты (например, по величине или скорости изменения)
+
–
16.
Возможность использования поисковых колебаний
+
–
17.
Возможность фильтрации в контуре адаптации при оценке градиента функционала вторичной оптимизации
+
–
18.
Выбор начальных условий в контуре адаптации весовых коэффициентов
+
–
Типовые входные сигналы
19.
Выбор типовых входных сигналов
+
–
Определенная общность отечественных методов развития теории нейронных сетей позволила создать единый подход к разработке нейросетевых алгоритмов решения самых разнообразных задач, сформировав новое направление в вычислительной математике – нейроматематику. Эта область связана с разработкой алгоритмов решения математических задач в нейросетевом логическом базисе. Необходимо отметить, что передовая в этом направлении американская школа разработки нейрокомпьютеров уже трижды в истории развития вычислительной техники совершала принципиальные ошибки.
Первая из них была сделана в 60-е годы, когда создавались нейрокомпьютеры с ориентацией на элементную базу с адаптацией весовых коэффициентов. Российская школа приняла тогда концепцию разработки нейрокомпьютеров, в которых рабочая, распознающая часть, реализовывалась в виде аналогового блока с фиксированными или перестраиваемыми коэффициентами, а блок адаптации реализовывался на универсальных ЭВМ.
Вторая ошибка была связана с публикацией работы Минского и Пейперта "Персептроны", где показывалась, якобы, невозможность решения на двухслойной нейронной сети задачи реализации "исключающего или". Российские специалисты, владея в то время общей методикой настройки многослойных нейронных сетей, продолжая работы в этой области, наблюдали практически полное их отсутствие за рубежом вплоть до середины 80-х годов.
Третья ошибка связана с тем, что в работах американских ученых решение отдельных математических задач в нейросетевом логическом базисе ориентируется на частные нейросетевые парадигмы. В наших работах общий метод синтеза нейронных сетей позволил создать и развивать в дальнейшем единую методику решения любых математических задач, создавая нейроматематику – новый раздел вычислительной математики.
Нейроматематика
Всегда звучит вопрос: для какого класса задач наиболее эффективно применение того или иного вычислительного устройства, построенного по новым признакам. По отношению к нейрокомпьютерам ответ на него постоянно меняется в течение уже почти 50 лет.
Долгое время считалось, что нейрокомпьютеры эффективны для решения неформализуемых и плохо формализуемых задач, связанных с необходимостью включения в алгоритм решения задач процесса обучения на реальном экспериментальном материале – распознавания образов. Конечно неформализуемые задачи являются важным аргументом использования нейрокомпьютеров. Однако необходимо помнить, что это всего лишь частная постановка аппроксимации функций, заданных некоторым множеством значений. При этом главное, что для аппроксимации используются не прежние статистические, в частности, регрессионные, а гибкие нелинейные нейросетевые модели.
Сегодня к этому классу задач добавляется второй класс задач, иногда не требующих обучения на экспериментальном материале, но хорошо представимых в нейросетевом логическом базисе – это задачи с ярко выраженным естественным параллелизмом: обработка сигналов и обработка изображений. В истории вычислительной техники всегда были задачи, не решаемые компьютерами текущего уровня развития и для них переход к нейросетевому логическому базису характерен в случае резкого увеличения размерности пространства решения или необходимости резкого сокращения времени. Различают три раздела нейроматематики: общая, прикладная и специальная.
Такие казалось бы простые задачи, как сложение чисел, умножение, деление, извлечение корня, обращение чисел и т.п. многие авторы пытаются решить с помощью нейрокомпьютеров. Действительно, при ориентации на нейросетевую физическую реализацию алгоритмов эти операции можно реализовать значительно эффективнее, чем на известных булевских элементах. В нейронных сетях это функции активации, поэтому сегодня много говорят о решении систем линейных уравнений и неравенств, обращении матриц, сортировки с помощью нейрокомпьютерных технологий.
Прикладная нейроматематика
Как правило множество задач прикладной нейроматематики не решается известными типами вычислительных машин.
Общие задачи
Это задачи, достаточно просто сводимые к обработке нейронной сетью многомерных векторов вещественных переменных, например:
• контроль кредитных карточек. Сегодня 60% кредитных карточек в США обрабатываются с помощью нейросетевых технологий;
• система скрытого обнаружения веществ с помощью системы на базе тепловых нейронов и с помощью нейрокомпьютера на заказных цифровых нейрочипах. Подобная система фирмы SAIC эксплуатируется уже во многих аэропортах США при досмотре багажа для обнаружения наркотиков, взрывчатых веществ, ядерных и других материалов;
• система автоматизированного контроля безопасного хранения ядерных изделий.
Обработка изображений
Наиболее перспективными задачами обработки изображений нейрокомпьютерами являются обработка аэрокосмических изображений (сжатие с восстановлением, сегментация, контрастирование и обработка текстур), выделение на изображении движущихся целей, поиск и распознавание на нем объектов заданной формы, обработка потоков изображений, обработка информации в высокопроизводительных сканерах.
Обработка сигналов
В первую очередь это класс задач, связанных с прогнозированием временных зависимостей:
• прогнозирование финансовых показателей;
• прогнозирование надежности электродвигателей;
• упреждение мощности АЭС и прогнозирование надежности систем электропитания на самолетах;
• обработка траекторных измерений.
При решении этих задач сейчас все переходят от простейших регрессионных и других статистических моделей прогноза к существенно нелинейным адаптивным экстраполирующим фильтрам, реализованным в виде сложных нейронных сетей.
При обработке гидролокационных сигналов нейрокомпьютеры применяются при непосредственной обработке сигнала, распознавании типа надводной или подводной цели, определении координат цели. Сейсмические сигналы по структуре весьма близки к гидролокационным. Обработанные нейрокомпьютером позволяют получить с достаточной точностью данные о координатах и мощности землетрясения или ядерного взрыва. Нейрокомпьютеры начали активно использовать при обработке сейсмических сигналов в нефтегазоразведке. В Международном обществе по нейронным сетям для этого создана специальнаягруппа.
Нейрокомпьютеры в системах управления динамическими объектами
Это одна из самых перспективных, областей применения нейрокомпьютеров. По крайней мере США и Финляндия ведут работы по использования нейрокомпьютеров для управления химическими реакторами. В нашей стране этим не занимались, в частности, по причине морального устаревания существующих реакторов и нецелесообразности совершенствования их систем управления.
Перспективной считается разработка нейрокомпьютера для управления двигательной установкой гиперзвукового самолета. Фактически единственным вариантом реализации высокопараллельной вычислительной системы управления зеркалами (100-400 зеркал) адаптивного составного телескопа сегодня является нейрокомпьютер. Адаптивные режимы управления этим сложным объектом по критерию обеспечения максимального высокого качества изображения и компенсации атмосферных возмущений может обеспечить мощный нейрокомпьютер, в свою очередь реализующий адаптивный режим собственного функционирования.
Весьма адекватной нейрокомпьютеру является задача обучения нейронной сети выработке точного маневра истребителя. Обучение системы с достаточно слабой нейронной сетью требовало 10 часов на ПК 386. Тоже можно сказать и о задаче управления роботами: прямая, обратная кинематические и динамические задачи, планирование маршрута движения робота. Переход к нейрокомпьютерам здесь связан в первую очередь с ограниченностью объемов размещения вычислительных систем, а также с необходимостью реализации эффективного управления в реальном масштабе времени.
Нейросетевые экспертные системы
Необходимость реализации экспертных систем в нейросетевом логическом базисе возникает при значительном увеличении числа правил и выводов. Примерами реализации конкретных нейросетевых экспертных систем могут служить система выбора воздушных маневров в ходе воздушного боя и медицинская диагностическая экспертная система для оценки состояния летчика.
Нейрочипы и нейрокомпьютеры
В 1995 году была завершена разработка первого отечественного нейрокомпьютера на стандартной микропроцессорной элементной базе, а сегодня проводится разработка на базе отечественных нейрочипов, в том числе супернейрокомпьютера для решения задач, связанных с системами уравнений математической физики: аэро-, гидро-, и газодинамики.
Главный результат разработки нейростевого алгоритма решения задачи – возможность создания архитектуры нейрочипа, адекватного решаемой задаче. Можно с уверенностью сказать что программная эмуляция нейросетевых алгоритмов на вычислительных средствах, реализованных на элементной базе, не имеющей отношения к нейросетевому логическому базису, либо неэффективна, либо представляет собой временное явление. Для эмуляции нейросетевых алгоритмов с использованием универсальных микропроцессорных средств эффективнее создать архитектуры, ориентированные на выполнение нейросетевых операций, чем использовать стандартные, ориентированные на модификацию однопроцессорных алгоритмов решения задач.
В отличие от других направлений развития сверхвысокопроизводительной вычислительной техники нейрокомпьютеры дают возможность вести отечественные разработки с использованием имеющегося потенциала электронной промышленности. Необходимо отметить ряд важных особенностей данных работ:
• это направление позволяет создать уникальные суперкомпьютеры на отечественной элементной базе, поскольку для них не так важен уровень развития технологии;
• разработки нейрочипов и нейрокомпьютеров характеризуются переходом от цифровой обработки к аналого-цифровой и аналоговой с целью резкого увеличения отношения производительность/цена при контролируемой точности вычислений;
• для разработки нейрочипов больше подходит полузаказная технология, нежели заказная, из-за относительной "сырости" идей архитектуры алгоритмов и нейрочипов, нехватки времени и средств для проведения работ;
• нейросетевые архитектуры по сравнению с другими приводят к активизации использования новых технологических направлений реализации: нейросистемы на пластине, оптоэлектронные и оптические нейрокомпьютеры, молекулярные нейрокомпьютеры и нанонейроэлементы;
• возникает потребность в универсализации САПР нейрочипов. Сейчас основное внимание разработчиков нейрочипов сосредоточено на системах Компас и SPICE, которые становятся базовыми для таких предприятий как НИИ "Квант", АО "Ангстрем", "Ангстрем РТМ", НИИМЭ, НИИ "Научный центр", НИИМА "Прогресс";
• рождение технологии систем на пластине и нанотехнологии приведет к появлению новых сверхпараллельных архитектур. Уже сейчас ясна адекватность нейросетевых архитектур технологии на пластине (американская и японская разработки). Поэтому попытки на уровне наноэлементов делать функциональные блоки со старой архитектурой, соответствующей однопроцессорным машинам, можно считать бесплодными. Начиная с нанонейроэлементов, мы вплотную подходим к другим принципиально новым архитектурным элементам, образующим сверхпараллельные высокопроизводительные вычислительные системы.
Оценка производительности нейрокомпьютеров
Иллюстрацией преимуществ нейрокомпьютеров по сравнению с другими типами суперкомпьютеров может быть диаграмма из рис. 10, подготовленная известным американским специалистом в области нейрокомпьютеров Хехт-Нильсеном.
Рисунок 10.
Сравнительная диаграмма по соотношению цена/производительность.
Нейрокомпьютеры являются перспективным направлением развития современной высокопроизводительной вычислительной техники, а теория нейронных сетей и нейроматематика представляют собой приоритетные направления российской вычислительной науки, и при соответствующей поддержке, в ближайшее время станут интенсивно развиваться.
Основой активного развития нейрокомпьютеров является принципиальное отличие нейросетевых алгоритмов решения задач от однопроцессорных, малопроцессорных, а также транспьютерных. Для данного направления развития вычислительной техники не так важен уровень развития отечественной микроэлектроники, поэтому оно позволяет создать основу построения российской элементной базы суперкомпьютеров.
Сегодня начинает расширяться сфера коммерческой деятельности в области нейрокомпьютеров или подобных им систем, в частности: нейропакеты; нейроплаты (CNAPS и другие); нейрокомпьютеры (Sinapse и другие); видеокурсы; нейросетевые системы управления электроэррозионными станками; охранные системы с нейросетевыми алгоритмами выделения движущихся объектов; системы "электронного ключа" с распознаванием отпечатков пальцев, рисунка радужной оболочки глаза; экспертная система G2.
Сегодня исследования в области искусственных нейронных сетей (ИНС) обрели заметную динамику. Подтверждением тому служит факт финансирования этих работ в США, Японии и Европе, объем которого исчисляется сотнями миллионов долларов [1]. Растет число публикаций по тематике ИНС, широк и их спектр: от монографий и статей, единодушно признанных основополагающими в данной области [2-5], до обзоров, посвященных прикладным вопросам [6]. Издается несколько журналов, посвященных тематике ИНС, таких, например, как IEEE Transaction on NeuralNetworks, Neural Networks, Neural Computing & Applications. В нашей стране периодически выходят в свет тематические выпуски журнала "Приборостроение" и "Нейрокомпьютер".
Вместе с тем реальные результаты практического применения нейросетевых технологий, особенно у нас, пока немногочисленны. Отчасти это объясняется следующими причинами:
• использование аппарата ИНС имеет свои особенности, которые несвойственны традиционным методам;
• путь от теории нейронных сетей к их практическому использованию требует соответствующей адаптации методологий, отработанных первоначально на модельных задачах;
• вычислительная техника с традиционной архитектурой не лучшим образом приспособлена для реализации нейросетевых методов.
Так, например, один из известных нейросетевых коммерческих продуктов -пакет "BrainMaker" фирмы California Scientific Software принципиально рассчитан на широкий круг пользователей и используется, в частности, в качестве инструмента менеджмента. Однако максимальный эффект от применения этого пакета может быть получен лишь опытным пользователем, знакомым с основами теории нейронных сетей.
Задачи обработки видеоизображений
Одной из наиболее сложных и актуальных задач обработки видеоизображений, представленных последовательностью оцифрованных кадров, является проблема выделения и распознавания движущихся объектов в условиях действия различного рода помех и возмущений. Для ее решения разработана специализированная система, которая осуществляет выделение изображений движущихся объектов на сложном зашумленном фоне, фильтрацию помех, скоростную фильтрацию, отделение объектов от фона, оценку скорости каждого объекта, его идентификацию и сопровождение. Система построена с применением нейросетевых методов и работает с реальными данными телевизионной системы (25 кадров/с, 320х200 пикселов).
Выделение изображений движущихся объектов осуществляется путем построения оценки поля скоростей с помощью многослойной локально-связной нейронной сети оригинальной конструкции. Размерность сети для изображения 320х200 пикселов составляет несколько миллионов нейронов и примерно вчетверо больше синапсов.
Распознавание выделенных силуэтов производится на самоорганизующейся нейронной сети, предварительно обученной на изображениях объектов рассматриваемых классов. Система инвариантна к произвольному движению фона, зашумлению белым шумом до 10%. Вероятность правильного распознавания составляет около 90%.
Система реализована на обыкновенном ПК и специально разработанном программно-аппаратном комплексе, обеспечивающем обработку информации в реальном времени.
Задачи обработки статических изображений
Не менее сложными являются задачи выделения и распознавания объектов на статическом тоновом изображении. В частности, подобные задачи возникают при автоматической обработке спутниковых изображений земной поверхности. Для их решения разработана и реализована на ПК автоматизированная система анализа изображений земной поверхности, полученных в оптическом диапазоне с искусственного спутника Земли. Система в автоматическом режиме обеспечивает выделение на обрабатываемых изображениях объектов заданных классов: дорожной сети, кварталов с характерной застройкой, аэродромов и стоящих на них самолетов.
Нейросетевые принципы, заложенные в систему, позволяют проводить ее обучение и переобучение. Система инвариантна к яркостным характеристикам объектов.
Задачи обнаружения и классификации летательных аппаратов по звуку
Использование нейросетевых технологий для анализа акустического излучения демонстрирует система обнаружения и распознавания летательных аппаратов по издаваемому ими звуку. Для выделения сигнала с заданного направления применяется фазированная антенная решетка с широкополосными сигналами на выходе. Эти сигналы подвергаются предобработке и в оцифрованном виде подаются на вход предварительно обученной нейронной сети для распознавания. Для демонстрации возможностей системы создана специальная программа.
Статистическое исследование с использованием реальных данных, имеющихся в распоряжении разработчика, показало, что система позволяет распознавать объекты различных классов с вероятностью 80%.
Задачи комбинаторной оптимизации
Высокая степень распараллеленности обработки информации позволяет успешно применять нейросетевые технологии для решения задач комбинаторной оптимизации. Среди оптимизационных задач, эффективно решаемых нейросетевыми методами, в первую очередь следует отметить задачи транспортно-ориентированной оптимизации (например, задача коммивояжера и ее модификации) и задачи распределения ресурсов (задача о назначениях, задача целераспределения и другие).
Решение таких задач традиционными методами математического программирования, большинство из которых изначально ориентировано на вычислительную технику с последовательной архитектурой, сопряжено с большими временными затратами, неприемлемыми для многих приложений. При соответствующей аппаратной поддержке нейросетевые методы позволяют значительно повысить оперативность решения данного класса задач, сохраняя высокую точность результата. В частности, для задач распределения разнородных ресурсов по объектам назначения близкие к оптимальным решения могут быть получены на ускорительной плате с 4 процессорами TMS320C40 менее чем за 0,3 секунды. При этом увеличение количества параллельно работающих процессоров позволяет обеспечить рост производительности почти пропорциональный числу процессоров, что подтверждается экспериментально полученными графиками, представленными на рис. 11.
Рисунок 11.
Графики среднего времени решения задачи распределения ресурсов на одном и четырех процессорах TMS320C40.
Многопроцессорные ускорительные платы
Одной из особенностей нейросетевых методов обработки информации является высокая параллельность вычислений и, следовательно, целесообразность использования специальных средств аппаратной поддержки. В значительной мере успех в решении рассмотренных задач обусловлен использованием оригинальных ускорительных плат. Такие платы работают параллельно с процессором обыкновенного ПК и несут на себе основную вычислительную нагрузку, превращая основной процессор компьютера в устройство управления и обслуживания мощных вычислительных средств, расположенных на ускорительной плате.
В НТЦ "Модуль" разработаны многопроцессорные ускорительные платы МЦ5.001 и МЦ5.002. Первая из них имеет в своем составе 4 микропроцессора TMS320C40 с тактовой частотой 50 МГц и пиковой производительностью 275 MIPS. Каждый процессор имеет свою локальную статическую память объемом 1 Мбайт. К 2 процессорам дополнительно подключены 2 блока динамической памяти объемом 16 Мбайт каждый. К одному из процессоров подключена также статическая память объемом 1 Мбайт, используемая для обмена данными с ПК. Процессоры соединены друг с другом специальными высокоскоростными каналами с пропускной способностью 20 Мбайт/с каждый. Наращивание и комплексирование плат осуществляется на материнской плате ПК с помощью шины ISA.
Ускорительная плата МЦ5.002 содержит 6 процессоров TMS320C40 и выполнена в конструктиве VME, что позволяет использовать ее в бортовых системах, расположенных на летательном аппарате.
Подробное описание ускорительных плат МЦ5.001 и МЦ5.002, результаты их тестирования и сравнения с аналогами приведены в.
Нейропроцессор
Ускорительные платы МЦ5.001 и МЦ5.002 повышают эффективность использования нейросетевых методов обработки информации. Однако существующая тенденция к возрастанию объемов вычислений приводит к необходимости дальнейшего наращивания производительности нейровычислителей. В связи с этим в НТЦ "Модуль" разработан собственный нейропроцессор , совмещающий в себе как универсальный вычислитель, так и специализированное вычислительное устройство, ориентированное на выполнение базовых нейросетевых операций.
Нейропроцессор состоит из двух основных блоков: скалярного, выполняющего роль универсального вычислительного устройства, и векторного, ориентированного на выполнение векторно-матричных операций. Скалярное устройство обеспечивает интерфейсы с памятью и 2 коммуникационными портами, позволяющими объединять процессоры в вычислительные сети различной конфигурации. Основное назначение скалярного устройства – подготовка данных для векторной части процессора. Для этого существует несколько режимов адресации, интерфейс с памятью, наборы арифметических и логических операций, возможность работы с регистровыми парами. Скалярное устройство имеет адресных регистров и такое же количество регистров общего назначения разрядностью 32 бита каждый.
Центральным звеном нейропроцессора является целочисленное векторное устройство, обладающее возможностями обработки данных различной разрядности. Оно оперирует 64-разрядными словами, которые могут быть разбиты на целочисленные составляющие практически произвольной разрядности в пределах от 1 до 64 бит. На каждую инструкцию векторного процессора затрачивается от 1 до 32 тактов. При этом одновременно обрабатывается до 32 64-разрядных слов. Для организации непрерывной подачи данных в операционное устройство (ОУ) векторного процессора используются внутренние блоки памяти, называемые векторными регистрами. Они выполняют роль буфера операндов, буфера для хранения матрицы весов, очереди результатов. При выполнении команды в операционном устройстве операнды по очереди извлекаются из внутреннего буфера и подаются на один из входов ОУ. Внутри ОУ производятся вычисления, а их результат заносится в буфер результатов. Векторные инструкции, хотя и занимают несколько тактов процессорного времени, могут выполняться параллельно с инструкциями скалярного процессора.Таким образом, процессор рассчитан на высокопроизводительную обработку больших массивов целочисленных данных.
Нейропроцессор выполнен по технологии 0,5 мкм. Его тактовая частота 33 МГц. На специальных векторно-матричных операциях он дает увеличение производительности в десятки раз по сравнению с процессором TMS320C40. Благодаря наличию коммуникационных портов с интерфейсом, идентичным портам TMS320C40, нейропроцессор может быть интегрирован в гетерогенную многопроцессорную систему. Примеры построения подобных систем приводятся в работе .
Для нейропроцессора разработан полный пакет системного программного обеспечения, включая символьный отладчик, и ряд прикладных библиотек, в частности библиотеку векторно-матричных вычислений.
Особенности программирования средств аппаратной поддержки нейровычислений
Специфика рассматриваемых вычислительных средств и решаемых задач обуславливает новые требования к технике программирования. Программисту приходится оперировать другими категориями, по-другому строить логику программы, решать задачи, которые не могли возникнуть при традиционном программировании. Перед ним стоит задача – максимально эффективно использовать ресурсы вычислительной системы, правильно распределить нагрузку между процессорами, задействовать их специфичные возможности.
Здесь на первый план выходят методы параллельной обработки данных. Причем слова "параллельная обработка" можно понимать как обработку на параллельно работающих процессорах, так и одновременную обработку нескольких элементов данных на одном процессоре. Современный процессор позволяет выполнять несколько инструкций за один такт, что заставляет программиста продумывать как способы организации самих вычислений, так и способы подготовки данных, для того чтобы параллельно выполняемые процессы не блокировали друг друга.
Трудности, возникающие при программировании многопроцессорных систем, хорошо известны: синхронизация параллельных процессов, механизмы обмена данными, проблемы "критических участков", когда несколько процессов задействуют одни и те же ресурсы. Еще одной важной особенностью современных процессоров является высокая разрядность операндов, например 64 бита, что позволяет размещать в них по нескольку малоразрядных элементов данных и обрабатывать их параллельно.
Примером эффективного использования отмеченной особенности современных процессоров является технология MMX, где 64-разрядный регистр разбивается на 8 независимых байтов или на 4 16-битных слова, которые обрабатываются параллельно. Независимость элементов состоит в том, что при смещениях или вычитании не происходит заимствования битов у соседних элементов. В НТЦ "Модуль" пошли еще дальше – в кристалл заложена функция произвольного разбиения 64-разрядного слова на элементы разрядностью от 1 до 64, а также возможность располагать в одном длинном слове данные разной разрядности, разбивая слово произвольным образом. В результате программист в зависимости от разрядности исходных данных может варьировать количество параллельно обрабатываемых элементов.