Научная статья на тему 'Принципы реализаций искусственной нейронной сети'

Принципы реализаций искусственной нейронной сети Текст научной статьи по специальности «Математика»

CC BY
251
48
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Принципы реализаций искусственной нейронной сети»

D, фрэгтальная раэмериостъ изображения популяции

6 000

5 500 _ 5000 ? 4 500

с

о 4000

Z. 3 500

§ 3 000

| 2500 S

о 2 000

5 1 500

г

1000 500 0

0,4 0,5 0,6 0,7 0,5 0,9 1,0 1,1 1,2 1,3 14 15 1,6 1,7 1,3 1,9 D, фрэггапьная размерность изображения популяции

Рис. 2. Зависимость количества живых клеток в популяции от фрактальной размерности изображения популяции при завесе в четыре определенные ячейки и £><|= 100; \0 - ]; л6>. = 0; г| = 0.05; г/= ]()(); т,/ - 10. Сплошная линия - данные вычислительного эксперимента, пунктирная линия - аппроксимация кинетической кривой, полученная по формуле (1)

JIHTF.PATyPA

Matsuyama I.. Matsushita M Sel(-similar colony morphogenesis by gram-negative rods as (he experimental model of fractal growth by a cel! population // Applied and Environmental Microbiology. 1993. V. 58. P. 1227-1232.

Рис. 3. Зависимость количества живых клеток в популяции от фрактальной размерности изображения популяции при чаееве в шестнадцать определенных ячеек и Он ~ 100; дО. = 1; л О ~ 0, у - 0,05; г/ = 100; т</ = 10. Сплошная линия - данные вычислительного эксперимента, пунктирная линия - аппроксимация кинетической кривой, полученная но формуле (1)

2. С.ичпкт ЛВ., Аришасцсс А. А. Дискретная модель роста популяции микроорганизмов на плоскости /. Вестник ТГУ, Сер. !хтеетв и технич. науки Тамбов, 2005. Т. 10 Выи. I. С. I 12.

3. ('летим Jl.fi., Лрл1\шсчс/1 А.А. Дискретная математическая модель формообразования колонии микроорганизмов, расту щих на плоскости. Н Вестник ТГУ. Сер. Гетеств и технич. науки. Тамбов. 2005. Т, 10. Вып. 2. С. 193-195

Поступила в редакцию 17 октября 2006 I.

ПРИНЦИПЫ РЕАЛИЗАЦИЙ ИСКУССТВЕННОЙ НЕЙРОННОЙ СЕТИ

© А. С. Козадаев

Kozadaev A.S. Principals о Г artificial neuron network realization.

Введение. Широкие вычислительные возможности искусственных нейронных сетей (ИНС), описанные в целом ряде источников [1-5]. позволяют применять их в различных сферах деятельности. Отсюда возникает необходимость в нейроэмуляторах - аппаратных, программных либо гибридных реализациях ИНС. Выбор типа реализации ИНС заключается в постановке задачи разработчика. Аппаратная реализация выигрывает в скорости, программная является более гибкой и настраиваемой и наиболее подходящей для проверки идей и с с л ед о вате л я - раз р а б от ч и ка [2]. Что касается гибридной ИНС. то она является компромиссом между двумя вышеописанным и.

При использовании любой из перечисленных реализаций для решения поставленной задачи пользователь (заказчик) будет устанавливать определенные требования для разработчика на разрабатываемый нейроэмулятор. Вне зависимости от задач, решаемых данной ИНС, требования заказчика будут направлены в первую очередь на быстродействие и точность вычислений. Отбрасывая вариант с трудно-настраиваем ой и

зачастую неоправданно дорогой в материальном плане аппаратной реализацией ИНС. остановимся на программном варианте нейроэмулятора.

Выбор стратегии. При написании программы-нейроэмулятора первым и важным вопросом для программиста является выбор типа модели нейронов ИНС и методов обучения.

При выборе стратегии обучения можно выделить следующие подходы: обучение с учителем (supervised learning), заключающееся в том. что помимо входных сигналов известны и ожидаемые. И обучение без учителя (unsupervised learning), когда известны только входные сигналы [1.2. 4].

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

Поскольку пол обучением И НС подразумевается минимизация целевой функции, а для этой цели в теории оптимизации наиболее эффективными приняты градиентные методы, логичным подходом можно считать их применение и в теории И НС. Подбор весовых коэффициентов с применением градиентных методов реализует алгоритм обратного распространения ошибки (error back propagation). Принимая условие, что целевая функция непрерывна при программировании нейроэмулятора, можно использовать базовые формулы и их модификации, принятые классическими для теории нейросо ей J2],

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

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

constructor TComponent) ; переменные

КлассНейросети.Create(AOwner:

/(*) =

1

1 +е~

(1)

по причине достаточной простоты и гибкости, позволяющей ускорить процесс обучения ИНС.

11араметр а в формуле I определяет угол наклона графика функции и выбирается пользоватетем индивидуально для каждой конкретной задачи (см. рис. 1).

Рис. 1.

Написание программы - нейроэмулятора. После того, как сделан выбор типа нейрона и алгоритма обучения для моделирования, можно перейти непосредственно к профаммировапию.

Объектно-ориентированное программирование (ООП) поддерживают сейчас практически все современные языки программирования (ЯП), поэтому далее будут приведены строки псевдокода, поясняющего программную реализацию ИНС, с учетом основных принципов ООП. Конструктор нейросети может иметь следующий вид:

начало

inherited;

КоличествоНейроновВСлое:= TStringList.Create; for i := 0 to КоличествоСлоев do ДобавитьСлой(КоличествоНейроновВСлое); ЗагрузкаПараметровПоУмолчанию(); конец;

Параметрами по умолчанию здесь будут: величина параметра о.. значение момента и скорости обучения нейросети [2]. условия остановки обучения и другие. Что касается количества слоев и нейронов в слоях, рациональным подходом является брать эти параметры из заранее подготовленной выборки [6. 7]. представляющей собой матрицу входных и выходных значений, с возможностью корректировки в дальнейшем.

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

procedure КлассНейросети.TeachOffLine; переменные

начало

if not продолжениеОбучения then начало

(* если ИНС обучается (переобучается) с начала, а не продолжается приостановленное обучение *)

ИнициализацияВесовыхКоэффициентов{); ТекущаяЭпоха 1; конец;

while (ТекущаяЭпоха <= КоличествоЭпох) do начало

СредняяОшибка := 0;

НовоеЗначениеМаксимальнойОшибки:= 0; НоваяЭпоха := True; for j := 0 to РазмерВыборки do начало

ЗагрузитьВходы();

ЗагрузитьВыходы();

КвадратичнаяОшибка;

(* проверить распознан ли пример из обучающего множества *)

if КвадратичнаяОшибка < ЗаданнаяВеличи-наОшибкиДляСравнения then КоличествоОбучений + 1;

ОшибкаОбучения := ОшибкаОбучения + КвадратичнаяОшибка ;

(* нахождение значения максимальной ошибки на обучающем множестве *) if НоваяЭпоха then начало

НовоеЗначениеМаксимальнойОшибки := КвадратичнаяОшибка;

НоваяЭпоха := False;

конец

else

if ЗначениеМакеимальнойОшибки < КвадратичнаяОшибка then

НовоеЗначениеМаксимальнойОшибки:= КвадратичнаяОшибка; ИзменитьВесовыеКоэффициенты(); конец;

(* средняя ошибка на обучающем множестве *)

СредняяОшибка:= ОшиОкаНаВсемОбучаю-щемМножестве/ОбщееКоличество; if ОстановитьОбучение then начало

ОстановкаОбучения := True;

Выход(); конец; конец; конец;

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

ЛИТЕРАТУРА

1. Основные концепции нейронных сетей.: пер с англ. М.: Издательский дом «13ильямс», 2001

Оамский СНейронные сети для обработки информации / пер с польского И Д, Рудинскош. М. Финансы и с'Ятисгикн, 2004 Swingk'r A'. Applying Neural Networks. A practical Guide: мер. Ю.11. Маслобосва

У/ксермсн Ф. Нейрокомпьютерная техника: теория и практика, пер на русск. язык Ю.А. Зуев, В.А. Точенов. 1992.

Каиап Основные концепции нейронных сетей: пер. с англ М.: Издательский дом «Вильямс». 200!.

Кристов Н А Чумичкин !(. И . КоиОратюк А Н Одесский национальный политехнический университет. Институт компьютерных систем Представление исходных данных в задачах иейросетсвого прогнозирования. 2002 -2003,

Кристов Н.А.. Кон<)ратюк А Н Одесский национальный политехнический университет. Институт компьютерных систем. Преобразование входных данных нейросети с целью улучшения их различимости. 2002-2003.

Поступила в редакцию 17 октября 2006 г.

РЕШЕНИЕ ЗАДАЧИ КЛАССИФИКАЦИИ ОБРАЗОВ ПРИ ПОМОЩИ ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ С ЖЕСТКИМ ЯДРОМ

© B.B. MaKCHMyiiiKHH

Maksimushkin V V. The solution of the problem of images classification by artificial neuron networks with hard corc.

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

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

' Таблица 1

Обучающая выборка для задачи классификации

Координаты Класс Числовой идентификатор

X Y

2 6, 2 А 0, 1

2 5, 9 А 0, 1

1,5 6 А 0, 1

2 5, 5 А 0, 1

1 6 А 0, 1

1, 5 б, Г> Л 0, 1

8 6 В 0, 5

7 6 7 В 0, 5

8,5 7 В 0, Ь

7,7 7,3 В 0,5

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

8 6,8 в 0,5

8 6 в 0,5

8, Ь 6, 5 в 0,5

7 5-, 5 в 0,5

7 Ь в 0, 5

8, 2 6, 5 в 0, 5

8,2 5, 5 в 0, Ь

4 6 с 0, 9

Ь 5, 9 г 0, 9

, Ь 6,3 0, 9

4 5,7 с 0, 9

3, 9 Ь, А 0, 9

А, 9 7, 1 с 0, 9

3, 6 5, 3 г с 0, 9

Ь, 7 6 с 0,9

На рис. 1 показана диаграмма, построенная по табл. I.

Создадим две ИНС: одну сеть классической структуры и сеть с жестким ядром.

ИНС классической структуры имела следующую топологию: 2 входа, 10 нейронов в скрытом слое и один выход. Было проведено 10 экспериментов. Среднее время обучения классической ИНС составило 16 минут 48 секунд.

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

Рис. J. Точечная диаг рамма для задачи классификации

ПО

i Надоели баннеры? Вы всегда можете отключить рекламу.