Введение - Функциональные модели универсального нейрокомпьютера

Общая характеристика работы

Актуальность темы. В 80-е годы развитие информатики и средств вычислительной техники во многом определялось программой "Пятое пОколение компьютеров". Основной целью данной программы было развитие систем искусственного интеллекта на базе алгоритмических языков. В 1992 году на смену программе "Пятое поколение компьютеров" пришла программа "Вычисления в Реальном мире". Основная цель новой программы - обеспечить возможность вычислительным системам взаимодействовать с реальным миром без посредства человека. Довольно большая часть программы - 30-40% - отведена исследованию естественных нейронных сетей и разработки искусственных нейронных сетей и нейросетевых систем.

Искусственные нейронные сети являются вычислительными устройствами, основанными на использовании большого числа очень простых нейронов. Все навыки искусственных нейронных сетей рассредоточены в синаптических связях. Канадский физиолог Д. Хебб в 1949 году описал такой синапс, как основу возможных механизмов памяти и поведения. Таким образом искусственные нейронные сети были предложены фактически сразу, после возникновения кибернетики. Уже сейчас искусственные нейронные сети применяются для решения очень многих задач обработки изображений, управления роботами и непрерывными производствами, для понимания и синтеза речи, для диагностики заболеваний людей и технических неполадок в машинах и приборах, для предсказания курсов валют и результатов скачек.

Нейрокибернетика объединяет многие науки и технологии, связанные с изучением устройства нейронных систем и применением полученных знаний в технике и медицине. Та часть работ по нейрокибернетике, которая связана с разработкой устройств переработки информации на основе принципов работы естественных нейронных систем получила название нейроинформатика.

Несмотря на то, что термин нейроинформатика возник в середине 80-х годов, сравнение электронного и биологического мозга ведется постоянно на протяжении всей истории существования вычислительной техники. Знаменитая книга Н. Винера "Кибернетика", ознаменовавшая рождение этой науки в 1948 г., имеет подзаголовок "Управление в живых системах, технике и обществе".

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

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

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

Значительную роль в общем подъеме интереса к нейропроблемам сыграла теория, предложенная Джоном Хопфилдом в 1982 г. Другой важный класс нейронных систем введен в рассмотрение финном Тейво Кохоненом. Еще один класс нейроподобных моделей представляют сети с обратным распространением ошибки. Метод имеет длительную историю. В развитии его современных модификаций ведущую роль сыграли французский исследователь ле Кун и профессор А. Н.Горбань из Красноярска.

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

Сейчас можно уже говорить о традиционных задачах нейроинформатики. К таковым относятся задачи распознавания образов, речи, радарных сигналов, медицинской диагностики и другие трудно формализуемые задачи. Постоянно появляются все новые области приложений. Одним из наиболее значимых можно назвать задачу первичной обработки данных в физике элементарных частиц. Суть этого приложения состоит в том, что с датчиков поступает огромный поток данных о различных частицах. Необходимо с высокой скоростью отобрать данные об интересующих исследователя частицах и отсеять остальные. Большой интерес к нейрокомпьютерам проявляют также военные ведомства многих стран. Однако основной областью применения нейронных сетей и основанных на их использовании устройств будут по всей видимости системы управления роботов. По мнению одного из ведущих исследователей в области нейроинформатики Р. Хехт-нильсена основной продукцией промышленных фирм через 10 лет будут "нейровычислительные роботы".

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

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

Разработать тип оценок, позволяющих интерпретатору ответа оценивать уровень уверенности сети в ответе.

Разработать методы получения явных алгоритмов решения задачи с помощью нейронных сетей.

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

Разработать сеть ассоциативной памяти максимальной информационной емкости.

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

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

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

Разработан метод построения минимально необходимых наборов входных данных и построения на их основе наборов входных данных повышенной надежности (устойчивости к искажениям во входных данных). Доказаны теоремы, устанавливающие соотношения между такими наборами, построенными различными способами.

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

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

Предложенная функциональная модель была частично реализована в ряде программных продуктов, разработанных Красноярской группой Нейрокомп. Так в программе Eye, разработанной автором в 1989 году, впервые были реализованы и опробованы эффективные функции оценки. Данная программа широко использовалась в учебном процессе и послужила одной из базовых программ при проведении Первой Всесоюзной олимпиады по нейрокомпьютингу (Омск, 1991 год). В 1993 году автором была разработана серия программ, под общим названием "Нейроучебник", которые до сих пор используются в учебном процессе в ряде красноярских вузов. В программе Sigmoid1 из этой серии впервые было реализовано контрастирование. На этой программе была получена первая логически прозрачная нейронная сеть. В программе Hopfield из той же серии впервые была реализована ортогональная сеть ассоциативной памяти.

В 1993-1995 годах на ВЦ СО РАН в г. Красноярске под руководством автора работал программистский семинар по разработке нейросетевых приложений. Одним из результатов работы семинара явилось появление программы MultyNeuron. Результаты использования программы в медицине опубликованы различными исследователями более чем в 50 работах.

В 1996-2000 годах по проекту "Разработка и программная реализация технологии производства явных знаний из данных с помощью обучаемых нейронных сетей" № 05.04.1291 подпрограммы "Перспективные информационные технологии" Федеральной целевой программы на 1996-2000 годы "Исследования и разработки по приоритетным направлениям развития науки и техники гражданского назначения" под руководством автора были разработаны три программы FAMaster [186], NeuroPro [237] и GISNNA [180]. На базе этих программ защищено три кандидатские диссертации. В приложении к диссертации приведены 26 актов о внедрении.

На защиту выносятся.

    1. Функциональная модель универсального нейрокомпьютера. Принципы выделения функциональных компонентов. Декомпозиция нейрокомпьютера на функциональные компоненты в соответствии с предложенными принципами. 2. Принцип построения эффективных функций оценки, позволяющих ускорить обучение нейронной сети, оценить уровень уверенности нейронной сети в полученном ответе, обучить с малой надежностью сеть решению тех задач, которые сеть данной архитектуры не может решить с высокой надежностью. 3. Метод получения явных знаний из данных с помощью логически прозрачных нейронных сетей, получаемых из произвольных обученных сетей специальной процедурой контрастирования. 4. Метод построения минимально необходимых наборов входных данных и построения на их основе наборов входных данных повышенной устойчивости к искажениям во входных данных. Теоремы о соотношениях между различными видами таких наборов. 5. Метод описания процедуры конструирования нейронных сетей из простейших элементов и более простых сетей. Язык описания результатов конструирования. 6. Методы повышения информационной емкости сетей ассоциативной памяти, функционирующих в дискретном времени. Метод конструирования сетей ассоциативной памяти со свойствами, необходимыми для решения конкретной задачи. Теорема об информационной емкости ортогональной тензорной сети.

Публикации. По теме диссертации опубликовано более 40 работ, в том числе одна монография без соавторов, одна коллективная монография (сборник лекций) и одно учебное пособие.

Апробация работы. Основные положения и результаты работы докладывались на 1 Всероссийском рабочем семинаре "Нейроинформатика и нейрокомпьютеры", Красноярск (1993); 2, 3, 4, 5, 6, 7, 8 Всероссийских рабочих семинарах "Нейроинформатика и ее приложения", Красноярск (1994 - 2000); научно-технической конференции "Проблемы техники и технологий XXI века", Красноярск (1994); межрегиональной конференции "Проблемы информатизации региона" (1995); 1, 2 IEEE-RNNS Symposium, Rostov-on-Don (1992, 1995); IEEE International Conference on Neural Networks, Houston, IEEE (1997); III Международной конференции "Математика, компьютер, образование". - Москва (1996); International Joint Conference on Neural Networks, Washington, DC, USA, 1999; 10th International. Congress of chemical engineering, chemical equipment design and automation, Praha (1990); Международном конгрессе "Индустриальная и прикладная математика", Новосибирск (1998).

Кроме того, основные положения работы были представлены на Всемирном конгрессе по нейронным сетям (WCNN'95) (1995).

Введение к диссертации

Термин "Нейрокомпьютер" не имеет четкого определения, поэтому определим, что называется нейрокомпьютером в данной работе: нейрокомпьютер это устройство для решения какой либо задачи, в качестве основного решающего устройства использующее искусственную нейронную сеть. Для данной работы не важно, в каком виде существует нейронная сеть и весь нейрокомпьютер - в виде программной эмуляции, специализированного устройства или любом другом. Речь пойдет об универсальном (решающем любые задачи) идеальном (не привязанном к какой либо реализации или элементной базе) нейрокомпьютере. Однако прежде чем переходить к содержательному обсуждению, необходимо описать ситуацию в нейроинформатике в целом.

В нейроинформатике существует три направления, которые условно можно назвать биологическим, модельным и инженерным (эта классификация впервые была введена А. Н. Горбанем на лекциях по нейронным сетям, прочитанным в ЛЭТИ в 1991 году в ходе подготовки к Первой Всесоюзной Олимпиаде по нейрокомпьютингу среди студентов и школьников). Цель работ биологического направления - понять, как устроена нервная система (например, [15, 16, 23, 29, 102, 106, 113, 116, 137, 145, 172, 173, 179, 182, 242, 244, 263, 268, 293, 348, 369, 370, 372, 373, 378]). Как правило, работы этого направления проходят следующие этапы. Сначала выдвигается гипотеза о биологическом механизме решения, каким либо отделом мозга определенной задачи. Далее строится компьютерная модель для проверки этой гипотезы. В ходе построения модели используются либо уже известные нейронные сети, либо предлагается новый вид сети.

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

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

Много простых элементов решают сложную задачу;

Обучение вместо программирования.

Инженерное направление в свою очередь делится на два поднаправления - теоретическое и практическое. Исследователи теоретического направления занимаются разработкой нейронных сетей для решения определенных задач и исследованием их возможностей. Основное отличие теоретического поднаправления от модельного направления состоит в том, что при необходимости архитектура нейронной сети, правила обучения и другие компоненты нейрокомпьютера свободно модифицируются для решения поставленной задачи. Содержание девятой главы может служить типичным примером работы теоретического инженерного подхода. Другие примеры работ данного направления можно найти, например, в [8, 37, 107, 176, 222, 224, 230, 231, 256, 349, 365, 367]. Работы практического направления, как правило, содержат решение конкретной прикладной задачи. На нейросетевых и медицинских конференциях в последние годы докладываются сотни работ этого направления. В Красноярске на базе нейросетевого эмулятора MultyNeuron [193, 194, 287] разработано свыше двух десятком различных медицинских экспертных систем [18, 49 - 52, 73, 93 - 96, 163, 164, 169, 201]. Число нейросетевых экспертных систем в различных областях насчитывает несколько тысяч. Примерами таких работ могут служить следующие работы [24, 121, 246, 249, 252, 253, 257 - 260, 272, 275, 284, 287, 292, 308, 310, 314, 315, 318, 331, 333 - 335, 337, 339, 342 - 344, 346, 350, 356, 359, 363, 366, 368, 377].

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

Методы нейроинформатики успешно зарекомендовали себя в настолько широком круге приложений, что стали темой многих публикаций в изданиях, не имеющих прямого отношения к науке [99. 169]. Этот успех опирается на две предпосылки - универсальность нейронных сетей [38, 39, 57, 64, 70, 286] и способность вырабатывать нечто, напоминающее человеческую интуицию [101, 110, 254, 269, 270]. Безусловно, для большинства задач, решаемых методами нейроинформатики, существуют традиционные методы решения (см. например [4, 5, 17, 19, 89, 103, 109, 111, 113, 117 - 119, 128, 129, 271, 319, 360]). Более того, существует ряд работ, посвященных решению классических задач методами нейроинформатики (см. например, [89, 129, 176, 222, 276, 277, 299, 320, 328, 349]). Однако, для применения большинства традиционных методов необходимо, во-первых, знать о них, во-вторых, знать их область их применения и ограничения. В то время, как успех нейроинформатики основан на утверждении "нейронные сети могут все". Это утверждение долгое время было лозунгом нейроинформатики, а сравнительно недавно было строго доказано [38, 39, 57, 64, 70, 136, 266, 323]. Основные задачи и преимущества нейроинформатики подробно рассмотрены в [59 - 62, 71, 74, 108, 146, 151, 152, 170, 174, 245, 248, 262, 279, 281, 288, 290, 317]

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

В качестве примера приведем выдержку из монографии (учебного пособия) одного из наиболее известных Российских ученых-нейроинформатиков А. И. Галушкина [26].

"Основными качественными характеристиками архитектур нейронных сетей являются:

Типы входных сигналов (размерность, дискретность и т. д.).

Тип операций, реализуемых в разомкнутой нейронной сети (дискретные или непрерывные).

Топология связей (прямые, перекрестные, латеральные, обратные и т. д.).

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

Наличие желания максимально повысить скорость вычислительных операций на нейронной сети.

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

Способ объединения в группы процессорных элементов.

Способ функционирования во времени (дискретный или непрерывный).

Способ изменения весов связей (случайный или упорядоченный).

Способ соединения независимо настроенных (или настраиваемых) нейронных сетей вместе."

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

К сожалению, такая практика, соединения архитектуры нейронной сети и алгоритмов обучения в единое целое, имеет место и в разработках многих западных фирм [25, 141, 142].

Для перехода к разнообразию типа технопарк полезен такой подход: каждый нейрокомпьютер из зоопарка должен быть представлен как реализованный на идеальном нейрокомпьютере, имеющем заданную структуру. В пределах данной структуры возможен почти произвольный выбор комплектующих - архитектур сетей, предобработчиков, интерпретаторов ответа и других компонентов. Несомненно, структура этого идеального нейрокомпьютера со временем будет эволюционировать. Однако преимущества даже от первых шагов стандартизации несомненны. Подтверждением этому служит опыт двенадцатилетней работы Красноярской группы НейроКомп по использованию нейронных сетей в различных задачах: распознавания образов [65, 291, 295], медицинской диагностики [18, 49 - 52, 73, 92, 94, 163 - 165, 168, 188 - 192, 195 - 214, 261, 300 - 302, 321, 322, 351 - 355, 361, 372], прогноза [303-305, 374] и др.[89-91, 156, 157, 166, 167, 175, 181, 238, 337].

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

Особую актуальность приобретает задача создания универсального нейрокомпьютера в связи с тем, что в течении последних десяти лет десятки серьезных компаний заявили о разработке аппаратных нейрокомпьютеров. При этом существует две крайности. С одной стороны, аппаратно реализованные нейронные сети, способные решать только одну конкретную задачу (например, [10 - 12, 21, 26, 105, 159, 221, 225]). С другой стороны - универсальные нейрокомпьютеры типа "Synaps I", предложенный фирмой Сименс-Никсдорф. Автор имел возможность ознакомиться с техническими характеристиками данного нейрокомпьютера и проектом программного обеспечения для него. К сожалению, этот компьютер является нейрокомпьютером только по названию, поскольку в действительности это обычный хороший высокоскоростной параллельный компьютер. Вся реализация всех типов нейронных сетей, заявленная фирмой Сименс-Никсдорф, содержится полностью в программном обеспечении. Основная проблема, встающая на пути таких разработок - попытка реализовать исходный мелкозернистый параллелизм нейронных сетей, состоящих из простых элементов, на базе относительно малого числа сложных универсальных процессоров. Вопросы параллелизма нейронных сетей рассмотрены во многих работах (см. например, [152, 264]).

В данной работе описана функциональная структура идеального универсального нейрокомпьютера для реализации большинства нейронных сетей одного из крупных отделов "зоопарка". Речь идет о сетях работающих в дискретном времени. Изначально предполагалось, что на предложенном нейрокомпьютере можно будет реализовать только сети связанные с методом обратного распространения ошибки - это мощная и широко применяемая технология обучения нейронных сетей (см. например, [236, 312, 313, 355, 358]). К сожалению, она получила распространение в виде алгоритма, а не в виде способа построения алгоритмов. Более общая теория обучения нейронных сетей - принцип двойственности [9, 13, 14, 45, 55, 56, 65, 255. 256, 289, 295] - мало известна. На данный момент в литературе встречается описание более чем двух десятков различных алгоритмов обучения нейронных сетей по методу обратного распространения ошибки. Однако в ходе работы оказалось, что предложенная структура нейрокомпьютера позволяет реализовать любые сети функционирующие в дискретном времени.

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

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

Ранее уже было предложено несколько вариантов языка описания нейронных сетей. Примером таких языков может служить язык для описания нейронных сетей AXON [311, 324 - 326], разработанный и поддерживаемый группой исследователей под руководством Р. Хехт-Нильсона. Изначально, автор с коллегами из группы НейроКомп пошли по тому же пути [46]. Однако он оказался бесперспективным. Основным отличием способа описания нейрокомпьютера, предложенного в данной работе, от языка AXON является полнота охвата всех компонентов нейрокомпьютера. Язык AXON служит для описания только нейронных сетей, тогда как приведенный в приложении стандарт охватывает все компоненты нейрокомпьютера и средства интерфейса между ними.

Предложенная функциональная модель была частично реализована в ряде программных продуктов, разработанных Красноярской группой Нейрокомп. Так в программе Eye [83, 171], разработанной автором в 1989 году, впервые были реализованы и опробованы эффективные функции оценки. Данная программа широко использовалась в учебном процессе и послужила одной из базовых программ при проведении Первой Всесоюзной олимпиады по нейрокомпьютингу (Омск, 1990 год). В 1993 году автором была разработана серия программ, под общим названием "Нейроучебник", которые до сих пор используются в учебном процессе в ряде красноярских вузов. В программе Sigmoid1 из этой серии впервые было реализовано контрастирование. На этой программе была получена первая логически прозрачная нейронная сеть. В программе Hopfield из той же серии впервые была реализована ортогональная сеть ассоциативной памяти.

В 1993-1995 годах на ВЦ СО РАН в г. Красноярске под руководством автора работал программистский семинар по разработке нейросетевых приложений. Одним из результатов работы семинара явилось появление программы MultyNeuron. Результаты использования программы в медицине опубликованы различными исследователями более чем в 50 работах [18, 49 - 52, 73, 93 - 95, 121, 163, 164, 168, 188 - 192, 195 - 201, 203 - 214, 287, 300 - 302, 321, 322, 351 - 355, 361, 371].

В 1996-2000 годах по проекту "Разработка и программная реализация технологии производства явных знаний из данных с помощью обучаемых нейронных сетей" № 05.04.1291 подпрограммы "Перспективные информационные технологии" Федеральной целевой программы на 1996-2000 годы "Исследования и разработки по приоритетным направлениям развития науки и техники гражданского назначения" под руководством автора были разработаны три программы FAMaster, NeuroPro и GISNNA. На базе этих программ защищено три кандидатские диссертации [180, 186, 237]. В приложении к диссертации приведены 26 актов о внедрении.

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

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

Несколько слов о структуре диссертации. В первой главе выделяются основные компоненты нейрокомпьютера по следующим признакам.

Относительная функциональная обособленность: каждый компонент имеет четкий набор функций. Его взаимодействие с другими компонентами может быть описано в виде небольшого числа запросов.

Возможность реализации большинства используемых алгоритмов.

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

Кроме того, в последней части первой главы описаны запросы, исполняемые всеми компонентами нейрокомпьютера.

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

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

Похожие статьи




Введение - Функциональные модели универсального нейрокомпьютера

Предыдущая | Следующая