Содержание к диссертации
Введение
Глава I. Основные архитектуры и алгоритмы нейронных сетей и подходы к их распределённой реализации 21
1.1 Устройство искусственного нейрона 21
1.2 Виды искусственных нейронных сетей и задачи, решаемые при их помощи 24
1.2.1 Персептроны 24
1.2.2 Звезды Гроссберга 25
1.2.3 Модель Липнмана-Хемминга и принцип WTA 25
1.2.4 Карты самоорганизации Кохонена 28
1.2.5 Нейронная сеть встречного распространения (ВР) 29
1.2.6 Сети с обратными связями 30
1.2.7 Ассоциативность памяти и задача распознавания образов 34
1.2.8 Когнитрон: самоорганизующаяся многослойная нейросеть 35
1.2.9 Неокогнитрон и инвариантное распознавание образов 38
1.2.10 Принцип Адаптивного Резонанса. АРТ-нейросети 40
1.4 Методы обучения нейронных сетей 41
1.4.1 Основные сведения 41
1.4.2 Концепции Хэбба. Правило обучения Хэбба 42
1.4.3 Обучение персептрона 43
1.4.4 Алгоритм обратного распространения 45
1.4.5 Обучение Кохонена 49
1.5 Современные решения в области распределённой реализации 50
1.5.1 LON-технологии 51
1.5.2 Проект нейросервера на основе гетерогенного кластера ЭВМ 55
Выводы к главе 1 60
Глава 2. Проект «Нейропараллель» подход к организации распределённых ней ро вы числений и сопутствующие вопросы 63
2.1 Система распределённой нейроимитации «Нейропараллель»; концепция, методика, реализация 63
2.1.1 Концептуальная основа проекта 63
2.1.2 Архитектура системы 64
2.1.3 Клиентская часть системы 66
2.1.4 Серверная часть системы 68
2.1.5 Область применения системы 69
2.1.6 Методика описания структур распределённых нейронных сетей... 72
2.2 Исследование эффективности распараллеливания и самоорганизация распределённой нейросистемы 89
2.2.1 Анализ эффективности распараллеливания нейровычислений 89
в зависимости от деталей его организации 89
2.2.2 Формулировка и решение задачи самоорганизации системы 100
Выводы к главе 2 107
Глава 3. Концепция «динамического полиморфизма» и функциональная гибкость информационных систем 109
3.1 Предпосылки 109
3.2 Явление полиморфизма в ИТ и его виды 111
3.3 Динамическое изменение функциональности объекта в ходе эксплуатации ПО 112
3.4 Теоретическое представление принципа динамического полиморфизма 113
Выводы к главе 3 115
Глава 4. Сравнительный анализ концепций, использованных в проекте «Нейропараллель» и стандарте нейрокомпьютера 117
4.1 Представление формального нейрона и искусственной нейронной сети 117
4.2 (Укрупнённая) архитектура нейрокомпьютера 119
4.2.1 Нейронная сеть и её элементы 119
4.2.2 Задачник 120
4.2.3 Исполнитель 120
4.2.4 Предобработчик и интерпретатор 121
4.2.5 Оценка 121
4.2.6 Контрастер 121
4.2.7 Учитель 122
4.3 Методика описания структуры нейронной сети 123
4.4 Пользовательский интерфейс и его уровень абстракции относительно системы 124
4.5 Типизация данных и её избыточность 125
Выводы к главе 4 126
Глава 5. Экспериментальная эксплуатация системы «Неиропараллель» при решении прикладных задач 128
5.1 Прогнозирование стоматологического статуса на этапах ортодонтического лечения с использованием слоистых нейронных сетей 128
5.2 Экспериментальное подтверждение эффективности распараллеливания 132
5.2.1 Первоначальная гипотеза об эффективности распараллеливания. 132
5.2.2 Методика оценки эффективности нейроимитатора и постановка эксперимента 134
5.2.3 Анализ и интерпретация результатов 139
Выводы к главе 5 141
Заключение 143
Список использованных источников 145
- Когнитрон: самоорганизующаяся многослойная нейросеть
- Исследование эффективности распараллеливания и самоорганизация распределённой нейросистемы
- Теоретическое представление принципа динамического полиморфизма
- Прогнозирование стоматологического статуса на этапах ортодонтического лечения с использованием слоистых нейронных сетей
Введение к работе
Актуальность темы
Множество прикладных задач на сегодняшний день могут быть решены с помощью искусственных нейронных сетей (нейроимитаторов). Использование обучаемой нейронной сети, как средства адаптивного поиска решения задачи, в ряде случаев (построение экспертных систем и классификаторов данных) способно конкурировать с прочими методами, давая удовлетворительные результаты при минимуме затрат [13].
К числу достоинств методов данной группы [12] можно отнести техническую универсальность решений, получаемых при их использовании, их гибкость, независимость от чёткости постановки задачи. К недостаткам же зачастую относят недостаток точности, специализированности, принципиальную неочевидность получаемых решений.
Также, одним из недостатков применения искусственных нейронных сетей в решении сегодняшних задач, является несоответствие явно параллельной архитектуры сети последовательной вычислительной архитектуре персональных ЭВМ, используемых в подавляющем большинстве случаев для их реализации. Следствием данного обстоятельства является существенная вычислительная сложность решения неирозадач с помощью персональных компьютеров, в случаях, когда для получения решения необходимо использование нейронных сетей больших размеров (биометрическая аутентификация, сложные экспертные системы, в т.ч. медицинские, генные исследования и т.д.) [19,20, 65, 73].
Современная теория нейроинформатики даёт достаточно конкретные рекомендации относительно выбора типа нейронной сети и её структуры, используя в качестве исходных данных, собственно, саму постановку задачи, для решения которой сеть строится [29]. Однако, непосредственно, прикладная часть решения остаётся за пределами теории, что создаёт некоторую неопределённость при алгоритмической реализации вычислительных моделей с использованием ЭВМ. Специально
разработанные явно параллельные нейрокомпьютеры и прочие аппаратные решения [15, 72] позволяют устранить упомянутую проблему несоответствия архитектур, однако, на практике они используются крайне редко, по ряду причин, в числе которых не на последнем месте их высокая стоимость.
В данных обстоятельствах наиболее доступным можно считать такое решение проблемы, как распараллеливание задачи при помощи систем, использующих вычислительные ресурсы и пространство памяти одновременно нескольких персональных ЭВМ, объединённых в вычислительную сеть: многоцелевого кластера либо специализированной кластерной системы. Их различие, разумеется, основано на специализации по отношению к задаче. Очевидно, кластерные решения общего назначения, существующие на сегодня (MPI, PVM, и пр.) [71, 76], способны решать задачу распараллеливания вычислений, в т.ч. и в случае вычислений, производимых нейроимитаторами [16]. Однако, такие решения не будут давать высокой вычислительной производительности ввиду не специализированности.
Кроме того, принципы организации параллельного
функционирования нескольких сегментов, используемые в многоцелевых решениях, зачастую не способны обеспечить динамическое (т.е. осуществляемое в процессе функционирования) масштабирование вычислительной системы, основанной на нейронной сети, что в действительности желаемо.
Таким образом, представляется актуальным создание распределённой вычислительной системы, некоторого универсального нейроимитатора, в общем случае, произвольно динамически масштабируемой на количество используемых в кластере ЭВМ. Разумеется, подобное решение не может быть реализовано без разработки соответствующей специализированной методики распараллеливания нейровычислений, основанной на выделении основных вычислительных узлов решающей системы и потоков передачи данных, протекающих между ними.
Организация и исследование параллелизма в вычислениях, осуществляемых нейроимитаторами, является малоизученным направлением в области информационных технологий и представляется многообещающим в свете обретающего в последнее время всё большие масштабы внедрения параллельных вычислений в различные прикладные области. Предположительно, наибольшего развития «нейрон аралл ел изм уровня реализации» достигнет в некотором обозримом будущем, определяемом повсеместностью применения параллельных технологий. Таким образом, наибольшее применение, непосредственно, в настоящее время, данная разработка может найти в сфере образования, а также, в силу своей доступности, в здравоохранении и других малобюджетных отраслях.
Цель диссертации
Целью диссертационной работы является разработка методики, алгоритмического и программного обеспечения для распараллеливания нейровычислений, универсального по отношению к типам реализуемых нейронных сетей за счет динамической функциональной изменчивости, с использованием специализированных гетерогенных компьютерных кластеров, а также применение полученного решения в задачах здравоохранения.
Решаемые задачи
Разработка объектно-ориентированного представления формального нейрона и искусственной нейронной сети.
Разработка концепции распараллеливания нейровычислений на основе объектно-ориентированного подхода.
Разработка методики реализации параллельных
нейровычислений с произвольной степенью масштабируемости для гетерогенного кластера с использованием внешних СУБД.
Разработка профаммного обеспечения для кластерного распараллеливания нейровычислений, универсального по отношению к типам нейронных сетей за счет динамической функциональной изменчивости.
Исследование эффективности распараллеливания нейровычислений в зависимости от размеров реализуемых нейронных сетей на синтетических задачах и определение уровня вычислительной сложности, задающего эффективность распараллеливания.
Проверка применимости полученного программного средства к решению реальных прикладных задач на примере задачи прогнозирования признаков стоматологического статуса человека.
Методы, используемые в исследовании
системного анализа.
объектно-ориентированного анализа.
технологии структурного проектирования;
технологии объектно-ориентированного проектирования,
теории нейроинформатики.
теории распределённых вычислений.
теории реляционных баз данных.
Основные результаты работы
Предложен объектно-ориентированный подход к модельному представлению и программной реализации искусственных нейронных сетей, обеспечивающий их динамическую функциональную изменчивость.
Разработаны концепция распараллеливания нейро вычислений на основе объектно-ориентированного представления нейронной сети и методика её реализации.
Выполнено проектирование распределённого неЙроимитатора, использующего распараллеливание, основанное на объектно-ориентированном представлении нейронной сети. Разработана методика описания распределённых нейронных сетей, основанная на реляционном представлении данных.
Разработано прикладное программное решение для распределённой реализации искусственных нейронных сетей.
Разработана методика определения зависимости скоростной (временной) эффективности распараллеливания нейровычислений от размерности моделируемых нейронных сетей.
Эмпирически определена область эффективного распараллеливания нейровычислений в пространстве размерности нейронных сетей для экспериментального набора нейронных сетей.
Решена задача вьывления прогнозируемости стоматологического статуса пациентов на этапах ортодонтического лечения для малых выборок данных.
Научная новизна
Предложен подход к представлению искусственных нейронных
сетей с использованием объектно-ориентированных методов,
позволяющий унифицировать описание нейронных сетей
относительно их типов и решаемых ими задач, а также
осуществлять распараллеливание в пределах
специализированного компьютерного кластера.
Разработана концепция распараллеливания вычислений, осуществляемых нейронными сетями, с использованием трёхзвенной архитектуры и методика её реализации в гетерогенных компьютерных кластерах.
Получено описание зависимости эффективности распараллеливания нейровычислений от размерности распараллеливаемой нейронной сети, в окрестности условной точки ресурсной безубыточности распараллеливания.
Выполнено экспериментально подтверждение гипотезы о прогнозируемости признаков стоматологического статуса по данным ранних наблюдений
На защиту выносятся
Концепция распараллеливания нейровычислений на основе объектно-ориентированного представления нейронных сетей.
Методика построения распределённого нейрокомпьютера, с использованием гетерогенного вычислительного кластера.
Методика описания распределённых нейронных сетей, ориентированная на хранение данных в БД.
Трехзвенная архитектура и подход к организации динамической функциональной изменчивости, реализованные в универсальной системе распределенной нейроимитации «Нейропараллель».
Определение точки ресурсной безубыточности распараллеливания в пространстве удельной вычислительной эффективности (производительности) и размерности нейронной сети.
Теоретическая значимость
Разработанные концепция представления нейронных сетей и методика распараллеливания позволяют оптимизировать распределение ресурсов при построении нейроимитаторов.
Методика определения эффективности распараллеливания нейровычислений может быть использована для получения предварительных оценок ресурсозатрат создаваемых решений,
Практическая значимость
Предлагаемый подход позволяет сократить время решения задач при использовании нейронных сетей большой размерности, за счёт чего может быть ускорено проведение вычислительных экспериментов и получение практических результатов.
Разработанное программное решение («Нейропараллель») внедрено и используется в учебном процессе (Красноярск, СибГТУ) и исследованиях, связанных с применением нейронных сетей больших размерностей.
Личный вклад автора
Основные результаты, представленные в данной работе, получены непосредственно автором, в частности:
- предложено объектно-ориентированное представление
формального нейрона;
разработана методика описания распределённых нейронных сетей в БД, а также технология реализации данной методики;
разработана клиентская часть системы «Нейропараллель» и её интерфейс внешней обработки и хранения данных;
разработаны критерий эффективности распараллеливания нейровычислений и методика эксперимента для её определения; под непосредственным руководством автора выполнена постановка серии экспериментов.
Апробация работы
Основные результаты и отдельные положения работы докладывались на Всероссийских семинарах «Нейроинформатика и её приложения» (Красноярск, 2004 - 2005); Всероссийской конференции «Проблемы информатизации региона» (Красноярск, 2005); Межрегиональной школе-семинаре «Распределённые и кластерные вычисления» (Красноярск, 2006); Всероссийской научно-практической конференции «Нйроинформатика-2006, 2007» (Москва); Всероссийской научно-практической конференции «Лесной и химический комплексы; проблемы и решения» (Красноярск, 2004); Всероссийской конференции с международным участием «Новые информационные технологии в исследовании сложных структур» (Иркутск, 2004); Всесибирском конгрессе женщин-математиков (Красноярск, 2006); Всероссийской научно-технической конференции «Теоретические и прикладные вопросы современных информационных технологий» (Улан-Удэ, 2003).
Работа «Построение распределённого нейроимитатора с использованием явно параллельной архитектуры», выполненная при непосредственном участии автора в рамках настоящей диссертационной работы, отмечена дипломом Открытого конкурса на лучшую научную работу по естественным, техническим и гуманитарным наукам в Вузах Российской Федерации, проводимого Рязанской государственной радиотехнической академией в 2004 году.
Публикации
По основным результатам диссертационной работы издано 11 публикаций, в том числе 2 статьи в изданиях, включенных в список ВАК.
Структура и объём работы
Диссертация состоит из введения, трёх разделов, заключения и списка использованных источников литературы. Основное содержание работы изложено на 153 страницах текста, содержит 35 рисунков, 4 таблицы. Список использованных источников литературы содержит 78 наименований.
Основное содержание работы:
Во введении показана актуальность разработки технологии распараллеливания вычислений, осуществляемых нейронными сетями большой размерности с использованием объектного подхода и многозвенных архитектур, обеспечивающих естественный параллелизм, в том числе, концепции и методики распараллеливания, а также инженерно-модельного обеспечения. Сформулированы цели и задачи диссертационной работы, обозначена практическая значимость работы и её результатов, отражена апробация, определён непосредственный вклад автора, а также выделены полученные элементы научной новизны и сформулированы положения, выдвигаемые на защиту.
В главе 1 выполнен обзор теории нейроинформатики в контексте известных на сегодня типов задач, решаемых с помощью нейронных сетей, нейросетевых архитектур, методов обучения нейронных сетей, а также способов их классификации. Проведён анализ функциональных аспектов методов нейроматематики на предмет выделения атомарных элементов нейронных сетей, оптимального уровня детализации, с точки зрения программной реализации с учётом распараллеливания на компьютерном кластере. Представлены результаты ознакомления с существующими распределёнными решениями в области прикладной нейроинформатики.
В качестве основы для обобщения структурного представление всех известных типов нейронов выбрана структура сигмоидного (MLP) нейрона с набором весов синапсов, сумматором и нелинейным преобразователем. В порядке обобщения, множество действий, осуществляемых нейроном любого типа над входными сигналами и весовыми коэффициентами, предложено, в некоторой группировке, объединить в набор функциональных ядер.
В качестве атомарной информационной единицы функционирования нейронной сети определён сигнал произвольного содержания, передаваемый между двумя элементами нейронной сети, а также на её вход извне и выход.
Полная топология нейронной сети предполагается определяемой через множество элементов нейронной сети, а также множество однонаправленных связей, упорядочивающих передачу сигналов.
Обзор публикаций, описывающих существующие нейроимитаторы, позволяет судить об использовании их авторами упрощённого структурно-функционального эквивалента нейронной сети - совокупности синаптической карты и набора сжимающих функций. Данный подход изначально использовался для выведения математических формул и построения доказательств, в силу компактности записи. Но при реализации нейроимитатора, векторно-матричное представление вычислительной системы заведомо, до некоторой степени, определяет её локальность
Существующие нейроимитаторы, как правило, не универсальны в плане архитектур нейронных сетей и методов их обучения, решаемых задач. Практически все они реализованы в виде одиночного приложения, исполняемого локального, ресурсами одного компьютера, вследствие чего, они ориентированы на реализацию нейронных сетей небольшой размерности. Метод описания нейронных сетей всякий раз предлагается авторами собственным, не предусматривающим совместимости с существующими. В ряде работ используются распараллеливание с применением средств мультимедиа и двуядерной процессорной архитектуры, т.е. с заведомой ограниченностью пространства распараллеливания.
Таким образом, предметная область, определяемая применением параллельных вычислений в решениях, предлагаемых нейроинформатикой, является малоизученной, разработка универсального по отношению к типам прикладного обеспечения организации распределённых нейровычислений представляется оправданной.
В главе 2 представлен обзор реализации проекта «Нейропараллель», посвященного разработке универсальной системы распределённой нейроимитации. За единицу исчисления структуры нейронной сети в концепции проекта принимается целиком её элемент, что с учётом
существующего опыта [30, 16], представляется оптимальным для используемого способа организации параллелизма. В основу формального представления элемента нейронной сети положена структура MLP-нейрона, которая при обобщении функциональных составляющих элементов нейронной сети до конечного набора ядер, обеспечивает универсальность по отношению к типам элементов. Таким образом, учитель также является элементом нейронной сети, и выделяется её функциональный уровень абстракции, отличимый от остальной системы (среды). Для маршрутизации передачи данных в системе используются логические каналы, способные одновременно передавать только один сигнал (пакет).
Методика реализации предполагает трёхзвенную архитектуру системы: непосредственное моделирование элементов нейронной сети и вычисления производятся клиентом системы; сервер осуществляет централизацию управления и мониторинг процессов системы; для обеспечения функционала доступа к данным используется сервер БД. Транспортный уровень обеспечивается за счёт совокупности канальной архитектуры связей между элементами нейронной сети и специализированного многоуровневого протокола передачи сообщений. Хранение рабочих данных всех видов осуществляется с помощью внешнего сервиса СУБД. Специальная методика описания нейронных сетей обеспечивает их представление в виде набора параметров, распределяемого по таблицам БД. Приложение пользовательского интерфейса также предполагается внешним.
В системе используется статическое (сценарийное) распараллеливание, однако также предусмотрена возможность автогенерации сценария несколькими способами. Выделяются основные направления: анализ временных издержек в составляющих вычислительной динамики системы с их последующим уменьшением в ходе глобальной реорганизацией системы и оптимизация общего скоростного показателя
системы с помощью элементарной реорганизации на основе предположений [37] (в т.ч. псевдоградиентные методы),
В главе 3 рассмотрена концепция «динамического полиморфизма», сформулированная в рамках диссертационной работы. Функциональная гибкость элементов разработанной системы основана на изменчивости их методов непосредственно, на этапе функционирования; заменяемые реализации методов, предполагаются неопределёнными на этапе разработки самой системы.
На сегодня известен ряд способ реализации подобных свойств [31, 64, 77], однако, средств их проектирования нет. Функциональная изменчивость зачастую связывается с терминами «полиморфизм», «динамический полиморфизм», «динамическая диспетчеризация», но среди современных авторов [3, 8? 24, 47 и д.р.] единства в их интерпретации проследить не удаётся.
Предлагаемая концепция расширяет современное представление о полиморфизме понятием о «динамическом полиморфизме», интерпретируемом в виде вышеупомянутого явления. При этом изменчивость, определяемая предварительно заданным числом вариантов наследования связывается с понятием «полиморфизм», В её рамках информационные системы представляются в виде 3-х частей (SM-D): жёстко заданной статической (St), изменяемой динамической (D) и, обеспечивающей их сопряжение интерфейсной (I).
Помимо структурного проектирования системы «Нейропараллель», данная концепция также была использована в других проектах [59], с использованием иных средств программной реализации функционала СУБД.
В главе 4 проведён сравнительный анализ концепций реализации нейрокомпьютера, использованных а проекте «Нейропараллель» и стандарте нейрокомпьютера [30]. Выделены основные критерии сравнения, произведено изучение свойств рассматриваемых концепций в контексте данных критериев, дана оценка качеству использованного в проекте
«Нейропараллель» подходу по итогам сравнения и с учётом решаемых задач (связанных с распараллеливанием),
В ходе сравнения со стандартом нейрокомпьютера, в проекте «Нейропараллель» были выявлены существенные отличия используемых реализаций ряда базовых (в терминах проекта) направлений, к которым могут быть отнесены следующие:
Уровень детализации представления структуры нейронной сети;
Параллелизм функционирования;
Логика транспорта данных
Множественный запуск нейронных сетей (клонирование)
Описание функций нейронной сети Интерфейс доступа к данным
Предобработка и постобработка, контрастирование нейронной сети
Оценка результата работы нейронной сети
Организация учителя
Пользовательский интерфейс
Средства сетевых коммуникаций
Описание динамики передачи данных
Описание базиса реализации (константы и т.д.).
Тем не менее, концепция, разработанная в рамках проекта «Нейропараллель» может считаться состоятельной в силу успешной реализации в действующей системе, апробирования и испытания при решении различных задач.
В главе 5 представлены результаты экспериментальной эксплуатации системы «Нейропараллель».
Задача прогнозирования стоматологического статуса у пациентов с зубочелюстными аномалиями и деформациями на этапах ортодонтического лечения была предложена ЕА Бриль (Красноярская государственная медицинская академия). В рамках задачи для 8 признаков
стоматологического статуса пациентов, получаемых в ходе 5 наблюдений в течение 4 лет, предлагалось установить прогноэируемость их значений, получаемых при последнем наблюдении по данным более ранних.
Ввиду незначительности исследуемых объёмов данных, для решения задачи использовались средства нейроинформатики, в частности, полутораслойные нейронные сети [13], состоящие из 10 нейронов с в скрытом слое и адаптивного сумматора в выходном. Обучение нейронных сетей осуществлялось по методу обратного распространения ошибки с частным градиентом; реализация осуществлялась с помощью распределённой системы «Нейропараллель»,
Результаты исследования, продемонстрировали удовлетворительную (на уровне 50%) и более) прогпозируемость для 75% всех комбинаций целевых и наборов сходных признаков. Для 2 признаков, в числе которых «Индекс интенсивности повреждения кариесом поверхности зубов» прогнозируемость превысила 75%,
Для решения данной задачи достаточно использование нейронных сетей малой размерности, таким образом, распараллеливание вычислений здесь не требуется, тем не менее, получение решения с помощью системы «Нейропараллель» демонстрирует функциональную зффективность последней и состоятельность концепции и методики, лежащих в основе её решшзации.
Задача экспериментального подтверждения эффективности распараллеливания нейровычислений на основе предлагаемой методики производилось с использованием искусственных задач, решаемых с помощью нейронных сетей большой размерности, В целях установления эффективности предполагалось сравнить зависимость от размерности нейронной сети показателя удельной (нормированной на число её элементов) эффективности (производительности) нейроимитирующей системы для распределённой и локальной реализации. Обе реализации осуществлялись с
помощью системы «Нейропараллель»; для обеспечения локальной реализации все звенья системы запускались на одном компьютере.
В ходе эксперимента были использованы 10 двухслойных нейронных сетей размерностью от 45 до 300 элементов, с различными разбиениями на равные по числу элементов части - всего 59 использованных разбиений. Полученное графическое представление зависимости эффективности параллельного и последовательно неироимитаторов от размерности реализуемых ими нейронных сетей содержит точку ресурсной безубыточности для в окрестности значения 120 по оси размерности нейронной сети. Таким образом, начиная с данной точки, имеет место эффективность распараллеливания нейровычислений, которая, таким образом, может считаться экспериментально подтвержденной.
В заключении представлены основные результаты диссертационной работы, отмечены перспективы использования и развития полученных прикладных решений.
Когнитрон: самоорганизующаяся многослойная нейросеть
Динамический процесс последовательной смены состояний нейронной сети Хопфилда завершается в некотором стационарном состоянии, являющемся локальным минимумом энергетической функции E(S). Невозрастание энергии в процессе динамики приводит к выбору такого локального минимума S, в бассейн притяжения которого попадает начальное состояние (исходный, предъявляемый сети образ) S0- В этом случае также говорят, что состояние So находится в чаше минимума S [5].
При последовательной динамике в качестве стационарного состояния будет выбран такой образ S, который потребует минимального числа изменений состояний отдельных нейронов. Поскольку для двух двоичных векторов минимальное число изменений компонент, переводящее один вектор в другой, является расстоянием Хемминга pH(S, So), то можно заключить, что динамика сети заканчивается в ближайшем по Хеммингу локальном минимуме энергии.
Пусть состояние S соответствует некоторому идеальному образу памяти. Тогда эволюцию от состояния S0 к состоянию S можно сравнить с процедурой постепенного восстановления идеального образа S по его искаженной (зашумленной или неполной) копии So Память с такими свойствами процесса считывания информации является ассоциативной, а точнее, авто-ассоциативной, поскольку более общее понятие ассоциативности включает также и гетеро-ассоциативность, т,е, способность к восстановления одного образа пары по известному другому на основе связывающих их ассоциаций. Под ассоциативной связью вообще понимается такая связь между частями сложной системы, природа которой не устанавливается из рассмотрения этих частей по отдельности. При поиске искаженные части целого восстанавливаются по имеющимся неискаженным частям на основе ассоциативных связей между ними.
Ассоциативный характер памяти сети Хопфилда качественно отличает ее от обычной, адресной, компьютерной памяти. В последней извлечение необходимой информации происходит по адресу ее начальной точки (ячейки памяти). Потеря адреса (или даже одного бита адреса) приводит к потере доступа ко всему информационному фрагменту. При использовании ассоциативной памяти доступ к информации производится непосредственно по ее содержанию, т.е. по частично известным искаженным фрагментам. Потеря части информации или ее информационное зашумление не приводит к катастрофическому ограничению доступа, если оставшейся информации достаточно для извлечения идеального образа. Поиск идеального образа по имеющейся неполной или зашумленной его версии называется задачей распознавания образов.
Исследование эффективности распараллеливания и самоорганизация распределённой нейросистемы
Распараллеливание нейровычислений, осуществляемое в рамках данной работы, имеет своей целью, прежде всего, увеличение скоростной эффективности. Разумеется, качество реализации распараллеливающих средств, их специализированность под данный вид операций, а также прочие внешние факторы будут играть роль в её достижении. Однако, вполне очевиден тот факт, что даже при малоэффективной реализации и общей неблагоприятности влияющих факторов, преследуемая цель всё же может быть достигнута. Существует общее представление о том, что нейронные сети больших размеров, сложны для непараллельного моделирования, и вычисления, осуществляемые над ними, предпочтительно оптимизировать, в т.ч. с помощью распараллеливания. Тем не менее, хоть сколько-нибудь конкретного определения зависимости эффективности распараллеливания от параметров нейронной сети на сегодня не встречается. Данная часть работы посвящена поиску такой зависимости или, по крайней мере, определению её характера в контексте разработки распределённого нейроимитатора при помоши объектно-ориентированного подхода.
При сравнительно больших количествах элементов нейронной сети, воспроизводимых одним клиентским приложением, производительность системы существенно снижается. При этом значительная доля нагрузки ложится на ресурсы в части диспетчеризации потоков данных между объектами-элементами нейронной сети, осуществляемой клиентским приложением, а также диспетчеризации вычислительного ресурса между их вычислительными потоками, осуществляемой операционной системой. Очевидно, решение локальным (нераспределённым) нейроимитатором в точности той же задачи, с увеличением количества элементов нейронной сети до определённого момента будет оставаться более эффективным, нежели параллельным. Таким образом, используемая зернистость параллелизма в подобных случаях может считаться избыточной.
Решение данной проблемы может заключаться в комбинации подходов к построению нейроимитатора - локального и распределённого, причём, с учётом имеющейся в данном случае возможности внесения подобных изменений в функционал системы на опционально-ядерном уровне, речь о разработке нового программного средства не идёт. Поскольку архитектура системы предусматривает кодирование в элементах функциональной математики любого вида, использующего синапсоидальные веса, входной и выходной вектор, данные элементы могут функционально быть реализованы, как сегмент нейронной сети. Внутри такого элемента будут осуществляться обычные для локальных нейроимитаторов циклические шчтттіЯі а вектор (матрица) синапсов может быта составлю и векторов сщ-щпеов всех входящих в такой сегмент нейроиш.
Рисунок 24 - сокращение числа передач сигналов между элементами (слева) сегмента нейронной сети при объединение сегмента в единый элемент (справа),
При уезюпт иолшещздосш оасг&тяшык ш таких злшешов нейронных сетей, для всех составляющих нейронов будет использоваться один и тот же входной вектор, т.е. подаваемый на мод сегментного элемента вектор данных будет использоваться всеми включаемыми атомарными элементами (нейронами), следовательно, задача диспетчеризации данных слошіая ехша передачи таачгаий между объектами будет заменена ш циклические вскторно-мшгршшые перемшжейш, чт іжже еущестж нш сокращает ДЕСпетчсршациш, И, наконец, вуходаой вектор (в общем случае) будет содержать зштанйя, нолутаемне в результате срабатывания нейронов выходного слоя сегмента, фактически - результат работы сегмента.
Рассмотрим более лузально изменений динамики передачи -значений между элементами нейронной сете при у нру і шетзи чфние тсч. т. параллелизма упомянутым способом. Как видно ма рисунке 24, число шходетых передач и число ouepmwu ушїожеїшя (покоординатно входного вектора на вектор весов синапсов для каждого змдемента) при зтом не изменяется. Бели дда cenvieirra нейронной сети, состоящего яэ 2-х слоев (яри условии пожосвйтост) обожйчть I рашеріюсть входного юктора, О размерность выходного вектора, А - размерность входного слоя, а -размерность скрытого слоя, то будут иметь место следующие соответствия:
1. число входных передач для сегмента, реализованного в виде элементов-нейронов, составит ; при реализации сегмента в виде одного элемента, входной вектор транслируется ! раз, т.е, число передач будет сокращено в А раз;
2. аналогично, число промежуточных передач при переходе к цельно реализованному сегменту сводится к 0; для удобства сравнения, а также с учётом наличия хоть какого-то незначительного времени, затрачиваемого на переход вычислительного потока между синапсоидальными матрицами слоев при цельной реализации, это число может быть принято за 1, и, в таком случае, можо считать, что оно претерпевает уменьшение в А 2 раз;
3. наконец, функции суммирования и сжатия, по понятным причинам, будут применены к значениям взвешенных входов одинаковое количество раз вне зависимости от способа реализации сегмента.
Теоретическое представление принципа динамического полиморфизма
Изучаемое явление может быть определено следующим образом: «динамический полиморфизм есть изменение методов и свойсте объекта на этапе его функционированиям. При этом явление полиморфизма, имеющее место при наследовании (т.е. при переопределении методов), под данное определение не попадает, поскольку объект класса-наследника, при всём разнообразии возможностей обращения к его методам и свойствам, имеет их конкретно реализованными и скомпилированными , Понятие динамического полиморфизма относится к реализации, и наличие наследования здесь роли не играет. Таким образом, явление динамического полиморфизма может иметь место при рассмотрении отдельно взятого класса, в то время, как явление полиморфизма при наследовании актуально лишь при наличии, как минимум, двух классов, связанных посредством генерализации.
Наиболее полным представляется отображение динамического полиморфизма на трёх уровнях: концептуальном, парадигмальном и уровне реализации. Концептуальный уровень соответствует морфологической динамике множества систем реального мира. Здесь среди прочего целесообразно рассматривать дииамшееши полиморфизм органических систем в отношении ш. методов поведения и свойств. Следует отметить одну особенность; всякий по:шщгрфнмй метод (свойство), при замене его рсапзгацин, н течение времени такой эдшл-ш недоступен. Далее эта явление будет именищпъся «деформацией» евойеїш (метода). редстшшдаїя вполне .может быть отражён н моделировании. В яшжри IDh.l lx динамический полиморфщм может быть проиллюстрирован на примере механизма «история методов (рисунок 29). Суть- дщшош примера заключается в следующем; некоторая сущность системы имеет атрибут, обозначающий метод. Есть также некоторая истории (библиотека) методов, устанавливающая соответствие конкретного способа реализации лате, соответствующей ему.
Таким образом, для одного и того же метода объекта может, в зависимости от ситуации, вызываться несколько его реализаций. Выбор метода т множества доступных, равно, как и дополнение этого множества, выполнятся непосредственно на этапе функционирования объекта. Старые методы сохраняются в неіоріш и могут снова тпаптоят&я после замены, таким образом имеет место «обратимость деформсщгт?к
Уровень ремщацйй отражает подходы, при помощи которых
динамический по.шчорфи:ш реализуется на практике. Бе г углубления в специфику тшк-гтйа конкретных средств разработки, принцип реализации динамического полиморфизма может быть определён достаточно конкретно.
Рисунок 30 - Динамический полиморфизм: Ї представление (5Я-0) erra (St) реализуется непосредственно в коде : системы не изменяется. Это основная часть базовый набор свойств (методов), mmmcmmx и неизменных до окончания эксплуатации
Интерфейсная тасть (J) нФобходнада для сопряжения статической Й динамической частей. Она интегрируется е статическую часта, однако, для обеспечения жизнеспособности динамических частей, должна рассчитываться оа использование в системам, разрабатываемых в дальнейшем, часть свойств (жтодоя), который может закладываться изначально и быть многократно изменён та этапе гжепяуатации системы Динамическая часть реализуется вне кода масса - то са шстоятеяьшж подпрограмма, хряниши Й подмечаемая, в зависимости от типа используемого интерфейса. ароажтароваиия призвано ооеепотить возможность функциональной гибкости іщформшдиодаьш систем на этане их проектирования. Данный подход позволит закладывать в разрабатываемые решения большую устойчивость к изменению функциональных требований на этапе промышленной эксплуатации, благодаря чему, минимизировать затраты на доработку и сопровождение.
Среди современных средств проектирования информационных систем не встречается функционала поддержки данного механизма, однако, с учётом конкретности предлагаемых сфер применения, данный вопрос можно считать вопросом времени. Средства реализации напротив, достаточно давно поддерживают подобные особенности и позволяют их достаточно простое внедрение. К сожалению, реализация без предварительного проектирования не представляется эффективной, таким образом, до появления необходимого проектирующего инструментария все применения данной концепции можно считать лишь частными и нестандартными.
Концепция динамического полиморфизма нашла непосредственное применение в реализации проекта «Нейропараллель», и некоторых других. С её использованием, в частности, производилось проектирование функциональной гибкости нейронных процессоров, благодаря чему система «Нейропараллель» способна динамически изменять устройство элементов моделируемых нейронных сетей, в т.ч. на этапе функционирования.
Прогнозирование стоматологического статуса на этапах ортодонтического лечения с использованием слоистых нейронных сетей
Для исследовании были предложены следующие признаки: индекс гигиены полости рта (ig), папиллярно-маргинально-альвеолярный индекс (рта), значение теста функциональной резистентности эмали (ter), кислотность слюны (рп), общее содержание кальция в слюне (sao), содержание ионизированного кальция в слюне (sai), индекс интенсивности кариеса зубов (kpu), индекс интенсивности кариеса поверхности зубов (крр). Группа из 90 пациентов с зубочелюстными аномалиями и деформациями, проходящие аппаратурное лечение по различным методам, наблюдалась пятикратно: в начале первого года, а также через 1, 2, 3 и 4 года с начала лечения, далее по тексту - наблюдения. При каждом наблюдении вышеперечисленные признаки фиксировались, в результате чего было сформировано описывающее множество (выборка) данных, а также высказано предположение о возможности (частичного) предсказания значений признаков более позднего наблюдения по значениям более ранних. Основная цель данной работы заключается в выявлении упомянутой зависимости.
В виду использования малых наборов данных, для проведения исследований была применена Нейросетевая технология обработки данных [17, 18], в частности, так называемые, полутораслойные нейронные сети [12], состоящие из 10 нейронов с нелинейным (экспоненциальным) преобразователем в скрытом слое и адаптивного сумматора в выходном. Для обучения был использован метод обратного распространения ошибки с частным градиентом (online backprop) [50], Реализация искусственных нейронных сетей осуществлялась с использованием распределённого нейроимитатора «Нейро пар аллель» [38, 45], проходящего проверку работоспособности при решении реальных прикладных задач.
Для подтверждения (отвержения) возможности прогнозирования исследуемых признаков, совокупность экспериментальных данных разбивалась на выборки: тестовую, куда входил каждый пятый пример, и обучающую, включающие все остальные примеры. Предварительно все значения исследуемого множества данных были линейно нормированы на интервал [0,1]. На каждом шаге эксперимента в качестве целевого выбирался лишь один из признаков, записанных при последнем, пятом наблюдении (т.е. производившемся через 4 года после начала лечения) и выполнялась следующая последовательность шагов:
1. веса синапсов для каждой используемой нейронной сети задавались случайными;
2. нейронная сеть обучалась воспроизведению данного признака по полной совокупности признаков первого наблюдения из обучающей выборки с погрешностью 5%;
3. проводилось тестирование обученной сети по тому же набору признаков и с той же точностью по примерам тестовой выборки; процент успешно распознанных примеров фиксировался;
4. шаги 1-3 повторялись для 10 нейронных сетей, для пары (целевой признак -I- набор исходных признаков) определялись наибольшее и среднее из 10 проходов количества успешно распознанных примеров тестовой выборки;
5. набор исходных признаков дополшлея мпажшъом жйчттй второго (третьего, четвёртого) наблюдения, ш ВСЯКИЙ раз шгм 1 4 повторялись;
6, целевой пршнак сменялся па следующий признак, определенный при пятом наблюдении; шаги і-5 повторялись.
По завершении исследования н«х зэрлшык, признаков была составлена таблица эффективности прогнозирования с использованием лучишх значений (таблица 2). Построчно в таблице определяются мттыуетле. наборы исходных признаков; по столбцам - целевые признаки В церееетешш CTJIOKM и столбца - процент примеров тестовой выборку успешно раешшаннЕИ нейронной сетью после обуиепш по обучающей выборку №% задаваемых пересечением целевого признай и набора исходных. Как видно в та&ішце проттыруемоеп на уровне 50% и более, уже при использовании данных лить 2-х исходных наборов достижима для 7 целевых признаков го 8; при использовании 3-х наборов - для &0№ деледах орнзнатав. Для sao5t при использовании целевых наборов но веем наблюдениям Й также для крр5, начиная с 2-х наблюдений, нрошоадруемоегь достигается на уровне более 75%.
Такжі\ следует отметить ухудшение качества прогнозирований пи большинству целевых признаков нрн использовании наборов целевых признаков более, чт но 2-м наблюдениям это, нредшложительпо, свидетельствует о недостаточности чмот примеров исходных даншх $ля иеподшушох о количества пришаков в таких случаях, т.е. достаточности для прогнозирования множества значений исходных признаков, шшучешшх; ни первым 2-м да&ВДеншш. Кроме тога, не шжгштено, ослабление имеющихся зависимостей в исходных медицинских данных после 3-4 лет после начала лечения из-за влиття дополнительных факторов.
В таблице 3 представлены средние показатели тех же зкшериметчш в достаточной степени прослеживается отмеченные ранее тенденции:
Ь удовлетвори г ьная нрогшвируемость по некоторые целевым нрштшш (ріші5, ierS) уже при мсполъ.адк&нии первых 2-х нвборт ИСХОДНЫХ прт$тшуы и дальнейшее ухудшение при подключении оставшихся; 2. достижение наилучшей прегаширушости по некоторым целевым признакам (sao5T т$) при использовании всех наборов исходных признаков; 3 наилучшая прогнозируемоеть признаков kppS и saoS, Таким образом, рассматриваем задала представляется решаемой даже при вспольэовашш столь несложных средств прогнозирования: все без исключения целевые признаки могут бшъ спрогнозированы с эффективностью 50% н более, й признаки sao5 и kppS -- 75% и более. практике может быть оиределш& лишь ігри наличии оценок со стороны специалйстов-медйков.