КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Нейронные сети прямого распространения с дискретной функцией активации: архитектура, алгоритмы обучения, применение.Искусственные нейронные сети, предназначенные для решения конкретных задач, могут содержать от нескольких нейронов до тысяч и даже миллионов элементов. Каждый отдельный искусственный нейрон (рис.1) имеет некоторое множество входов, на которые подаются компоненты х1, ... хn входных векторов или изображений и постоянный сигнал смещения x0 º 1. Все входные сигналы суммируются с учетом весов w0, w1, ..., wn связей нейрона: а затем сигнал суммы воздействует на функцию активации нейрона. Простейшие нейроны обладают биполярной или бинарной функцией активации
Несмотря на простоту отдельного нейрона он может быть использован для решения ряда задач распознавания и классификации изображений. Поскольку выходной сигнал у двоичного нейрона принимает только два значения, то нейрон можно использовать для классификации предъявляемых изображений на два класса: X1 = {X11, ..., X1q}, X2 = {X21, ..., X2P}, X1 È X2 = M; X1 Ç X = 0. Пусть первому классу Х1 соответствует выходной сигнал у =1, а классу Х2 - сигнал у = -1. Если, например, предъявлено некоторое изображение Хa = (Хa1, ..., Хan), Х Î М и его взвешенная сумма входных сигналов превышает нулевое значение: то выходной сигнал у = 1 и, следовательно, входное изображение Хa принадлежит классу Х1. Если S £ 0, то у = -1 и предъявленное изображение принадлежит второму классу. Возможно использование отдельного нейрона и для выделения у множества классов M = {X1 = {X11, ..., X1k}, ..., Xi = {Xi1, ..., Xiq}, ..., Xp = {Xp1, ..., Xpm}} изображений единственного класса Xi. В этом случае полагают, что один из двух возможных выходных сигналов нейрона (например, 1) соответствует классу Xi, а второй - всем остальным классам. Поэтому, если входное изображение Хa приводит к появлению сигнала у = 1, то Xa Î Xi, если у = -1 (или у = 0, если используется бинарное кодирование), то это означает, что предъявленное изображение не принадлежит выделяемому классу. Для адаптации, настройки обучения весов связей нейрона может использоваться несколько методов. Рассмотрим один из них, получивший название правила Хебба. В соответствии с правилом Хебба, если предъявленному биполярному изображению X = (x1, .., xn) соответствует неправильный выходной сигнал у , то веса связей нейрона адаптируется по формуле wi(t+1) = wi(t) + xiy, , где wi(t), wi(t+1) - соответственно вес i-й связи нейрона до и после адаптации; - компоненты входного изображения; x0 º 1 - сигнал смещения; у - выходной сигнал нейрона. В более полной форме алгоритм настройки весов связей нейрона с использованием правила Хебба выглядит следующим образом:
Шаг 1. Задается множество M = {(X1, U1вых), ..., (Xm, Umвых)}, состоящее из пар (входное изображение Xk = (xk1, ..., xkn), необходимый выходной сигнал нейрона Ukвых), . Инициируется веса связей нейрона: . Шаг 2. Для каждой пары (Xxk, Ukвых), , пока не соблюдается условия останова выполняются шаги 3-5. Шаг 3. Инициируется множество входов нейрона: x0 = 1, xi = xik, Шаг 4. Инициируется выходной сигнал нейрона: y = Ukвых Шаг 5. Корректируется веса связей нейрона по правилу: wi(new) = wi(old) + xiy, Шаг 6. Проверка условий останова. Для каждого входного изображения Xk рассчитывается соответствующий ему выходной сигнал yk: где . Если вектор (y1, ..., ym) рассчитанных выходных сигналов равен вектору (U1вых,..., U1nвых ) заданных сигналов нейрона, т.е. каждому входному изображению соответствует заданный выходной сигнал, то вычисление прекращается(выполняется шаг 7 ), если же (y1, ..., ym) ¹ (U1вых,..., Umвых ), то переход к шагу 2 алгоритма. Шаг 7.Останов. Использование группы из m биполярных нейронов A1, ..., Am (рис2) позволяет существенно расширить возможности сети и распознавать до 2m различных изображений. Правда, применение этой сети для распознавания 2m (или близких к 2m чисел) различных изображений может приводить к неразрешимым проблемам адаптации весов связей нейросети. Часто рекомендуют использовать данную архитектуру для распознавания только m различных изображений, задавая каждому из них единичный выход только на выходе одного А-элемента (выходы остальных нейронов при этом должны принимать значение -1). Шаг 1. Задается множество M = {(X1, U1вых), ..., (Xp, Upвых)} состоящее из пар (входное изображение Xk = (xk1, ..., xkn), необходимый вектор выходных сигналов нейронов Ukвых = (Ukвых1,..., Ukвых n )), Инициируется веса связей нейронов: . Шаг 2. Каждую пару (Xk, Ukвых) проверяют на правильность реакции нейронной сети на входное изображение. Если полученный выходной вектор сети (yk1, ..., ykm) отличается от заданного (Ukвых1,..., Ukвых m ), то выполняются шаги 3 - 5. Шаг 3. Инициируется множество входов нейронов: . Шаг 4. Инициируются выходные сигналы нейронов: . Шаг 5. Корректируют веса связей нейронов по правилу: . Шаг 6. Проверяют условия останова, т. е. Правильность функционирования сети при предъявлении каждого входного изображения. Если условия выполняются, то переход к шагу 2 алгоритма, иначе - прекращение вычислений ( шаг 7). Шаг 7. Останов.
|