Назад в библиотеку

СИГМОИДАЛЬНЫЕ СЕТИ ДОВЕРИЯ В РЕШЕНИИ ЗАДАЧ КЛАССИФИКАЦИИ

Авторы: Брынза Т.А., Бондаренко И.Ю.
Источник: Брынза Т.А., Бондаренко И.Ю. Сигмоидальные сети доверия в решении задач классификации – Труды IV международной научно-технической конференции студентов, аспирантов, молодых ученых «Информационные управляющие системы и компьютерный мониторинг», 2013 – 422-427 сс.

Постановка проблемы

Разнообразие современных нейросетевых архитектур приводит к необходимости проведения их сравнительного анализа с целью выявления сильных и слабых сторон каждой такой архитектуры для решения определенных задач. Поскольку одним из важнейших направлений современной науки об искусственном интеллектеявляетсяисследование проблем распознавания образов и классификации, то нахождение такой нейросетевой архитектуры, которая бы наиболее эффективнорешала задачи классификации (например, задачу классификацию фонем при распознавании слитной речи), являетсявесьма актуальным. В свете последних исследований по распознаванию речи и изображений [1], наиболее перспективными представляются сети доверия.Таким образом, возникает необходимость в экспериментальном сравнении сетей доверия и других нейросетевых архитектур при решении одной из типовых задач классификации. В качестве такой задачи выбрана задача XOR.

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

Постановка задачи исследования.

Имеем Х — множество объектов наделенных некоторым набором атрибутов, 1-конечное множество номеров классов. Существует неизвестная целевая зависимость — отображение у*: Х -> Y, значение которой известны только на объектах конечной обучающей выборки Х = {(x1 y1), (хt уt)}. Требуется построить алгоритм а: Х -> Y, способный классифицировать произвольный объект х из Х. Множество атрибутов классифицируемых объектов представляет собой пространство признаков отношения объектов к определенным классам. Нейронные сети решают задачу ХОR путем построения в пространстве признаков разделяющих линий. Если размерность данного пространства больше двух, то классы разделяются гиперплоскостями, как показанно на рисунке ниже.

classification
Рисунок 1 – Разделение классов линиями и гиперплоскостями

Задача XOR — это классическая классификационная задача требующая построения нелинейной гиперповерхности. Для ее решения требуется построить разделяющую гиперплоскость, которая бы разделила входные сигналы согласно логической функции исключающего ИЛИ, которая представленна ниже на рисунке 2.

classification
Рисунок 2 – Логическая функция исключающего ИЛИ

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

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

output MLP

Где v(n) — индуцированное локальное поле на входе функции активации. Архитектурный граф многослойного персептрона с одним скрытым слоем представлен на рисунке 3.

classification
Рисунок 3 – Архитектурный граф многослойного персептрона

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

Обозначим желаемый отклик нейрона j. Тогда сигнал ошибки выходного нейрона при обработке n-го примера обучения можно записать как

error

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

local gradient

Обозначив п как параметр скорости обучения, можно записать правило для коректировки синаптических весов:

rule backprop

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

distance

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

classification
Рисунок 4 – Функциональная схема обучения персептрона

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

Сигмоидальные сети доверия.

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

sigmoid function

Формально, данная архитектура представляет собой ацикличный граф, что делает вероятностные вычисления более простыми в сравнении со своей предшественницей, машиной Больцмана. Пусть вектор Х, состоящий из случайных двоичных переменных x1, х2, ... xn, определяет логистическую (или сигмоидальную) сеть доверия, состоящую из n стохастических нейронов. Архитектурный граф сети доверия идентичен графу многослойного персептрона с одним скрытым слоем.

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

likehood

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

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

weights

Где n — параметр скорости обучения, а p, предствляющее усдернненную корреляцию между состояниями нейронов i и j, определяется выражением

weights

В этом выражении Р — это условное распределение случайного вектора Х, а Xj, Xj состояния нейронов. Значение Pj берется по всем значениям х из множества примеров Т, ровно как и по всем возможным значениям скрытых нейронов Хр.

Такая коректировка весов должна перемещать синаптические веса в направлении градиента в сторону локального максимума функции логарифмического праводопобия в соответствии с принципом максимального правдоподобия.

Описанный алгоритм является простейшим алгоритмом вариационного обучения сетей доверия, и все более сложные алгоритмы, такие как жадный алгоритм послойного обучения[3] и Wake-sleep[4] в своей работе используют принципы, описанные выше.

Результаты эксперимента

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

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

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

В результате эксперимента было выяснено, что для обучения многослойному персептрону понадобилось 228 эпох обучения. В тоже время как сигмоидальной сети доверия с постобучением понадобилось 106 эпох. Графики изменения средней ошибки по эпохам представленны на рисунке 8.

classification
Рисунок 6 – Изменение ошибки вывода

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

Выводы

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

Литература

1. Microsoft demos instant English-Chines translation/ Интернет-ресурс. — Режимдоступа: www/URL: http://www.bbc.co.uk/news/technology-20266427Загл. сэкрана.
2. С. Хайкин. Нейронные сети: полный курс, 2-е издание, : Пер. с англ. — М.: Издательский дом «Вильямс», 2006. — 1104 с.
3. Geoffrey Hinton. To recognize shapes, first learn to generate images. — Department of computes Science, University of Toronto, 2006. — 17 p.
4. Hinton, G.E., Dayan, P., Frey, B.J. & Neal, R. The wake-sleep algorithm for self-organizing neural network. — Science, 1995. — P. 1158-1161.