neironne_seti_i_neirokompjuter (1085713), страница 11
Текст из файла (страница 11)
Минимизация ведется методомградиентного спуска, что означает подстройку весовых коэффициентов:Dwij( n) = -h¶E.¶wij(2.6)где wij – весовой коэффициент синаптической связи, соединяющей i-йнейрон слоя n–1 с j-м нейроном слоя n, h – коэффициент скорости обучения,0 < h < 1.Как показано в [8],¶E¶E dy j ¶s j=,¶wij ¶y j ds j ¶wij(2.7)где под yj, подразумевается выход нейрона j, а под sj – взвешеннаясумма его входных сигналов, т. е. аргумент активационной функции.Так как множитель dyj/dsj является производной этой функции по ееаргументу, следовательно, производная активационной функции должнабыть определена на всей оси абсцисс. Поэтому функция единичного скачка ипрочие активационные функции с неоднородностями не подходят длярассматриваемых нейронных сетей.
Как правило, применяются такиегладкие функции, как гиперболический тангенс или классическаясигмоидальная функция с экспонентой. В случае гиперболического тангенсаdy= 1 - s2 .dsyi(n-1)(2.8)Третий множитель ¶sj/¶wij равен выходу нейрона предыдущего слоя.Первый множитель (2.7) раскладывается следующим образом [8]:53PDF created with pdfFactory trial version www.pdffactory.com¶E dy k ( n +1)¶E dy k ¶s k¶E=å=åw jk,¶y jk ¶y k ds k ¶y jk ¶y k ds k(2.9)где суммирование по k выполняется среди нейронов слоя n+1.Введем переменнуюd (jn) =¶E dy j×.¶y j ds j(2.10)Тогда получим рекурсивную формулу для расчетов величин dj(n) слоя nиз величин dk(n+1) более старшего слоя n+1.éù dy jd (jn) = êå d (kn+1) w (jkn+1) ú.êë kúû ds j(2.11)Для выходного слояd l(n) = ( yl(n ) - d l )dyl.ds l(2.12)Запишем (2.6) в развернутом виде:Dwij(n) = -h d (jn) y i( n-1) .(2.13)Дляприданияпроцессу коррекции весов инерционности,сглаживающей резкие скачки при перемещении по поверхности целевойфункции, (2.13) дополняется значением изменения веса на предыдущейитерации:Dwij(n) (t ) = -h (m Dwij(n ) (t - 1) + (1 - m) d (jn) y i(n -1) ) ,(2.14)где m – коэффициент инерционности, t – номер текущей итерации.Таким образом, полный алгоритм обучения нейронной сети спомощью процедуры обратного распространения строится так:1.
При подаче на входы нейронной сети одного из возможных образовв режиме обычного функционирования нейронной сети, когда сигналыраспространяются от входов к выходам, рассчитать значения сигналовms (jn ) = å y i( n -1) wij( n ) ,(2.15)i =054PDF created with pdfFactory trial version www.pdffactory.comгде m – число нейронов в слое n–1 с учетом нейрона с постояннымвыходным состоянием +1, задающего смещение; yi(n-1)=xij(n) – i-й входнейрона j слоя nyj(n) = f(sj(n)), где f – сигмоидальная функция;yq(0)=Iq,(2.16)(2.17)где Iq – q-я компонента вектора входного образа.2. Рассчитать d(n) для выходного слоя по формуле (2.12), а также поформуле (2.13) или (2.14) изменения весов Dw(n) слоя n.3.
Рассчитать по формулам (2.11) и (2.13) (или (2.12) и (2.14))соответственно d(n) и Dw(n) для всех остальных слоев, n=N–1,...1.4. Скорректировать все веса в нейронной сетиwij(n ) (t ) = wij(n ) (t - 1) + Dwij(n ) (t ) .(2.18)5. Если ошибка сети существенна, перейти на шаг 1. В противномслучае – завершение обучения.Нейронной сети на шаге 1 попеременно в случайном порядкепредъявляются все представительские выборки, чтобы нейронная сеть,образно говоря, не забывала одни по мере запоминания других (рис. 2.5).Эффективность обучения заметно снижается когда выходное значение(n-1)yiв (2.13) стремится к нулю.
При двоичных входных векторах в среднемполовина весовых коэффициентов не будет корректироваться [8], поэтомуобласть возможных значений выходов нейронов [0;1] желательно сдвинуть впределы [–0,5;+0,5], что достигается простыми модификациямиактивационных функций, например: сигмоидальная функция с экспонентойпреобразуется к видуf ( x ) = -0,5 +11 + e - ax.(2.19)Рассмотрим вопрос о числе образов, предъявляемых на входынейронной сети, которые она способна научиться распознавать (емкостьнейронной сети).
Для нейронной сети с одним скрытым слоем,детерминистская емкость нейронной сети Cd оценивается какNw/Ny < Cd < Nw/Ny log(Nw/Ny) ,слое.(2.20)где Nw – число подстраиваемых весов, Ny – число нейронов в выходном55PDF created with pdfFactory trial version www.pdffactory.comРис. 2.5. Диаграмма сигналов при обучениинейронной сети по алгоритму обратного распространенияСледует отметить, что данное выражение получено с учетомнекоторых ограничений.Во-первых, число входов Nx и нейронов в скрытом слое Nh должноудовлетворять неравенству Nx+Nh > Ny.Во-вторых, Nw/Ny > 1000.
Однако вышеприведенная оценкавыполнялась для нейронных сетей с активационными функциями нейронов ввиде порога, а емкость сетей с гладкими активационными функциями,56PDF created with pdfFactory trial version www.pdffactory.comнапример (2.19), обычно больше. Кроме того, фигурирующее в названииемкости прилагательное «детерминистский» означает, что полученнаяоценка емкости подходит абсолютно для всех возможных входных образов,которые могут быть представлены Nx входами. Распределение входныхобразов, как правило, обладает некоторой регулярностью, что позволяетнейронной сети проводить обобщение и, таким образом, увеличиватьреальную емкость. Так как распределение образов, в общем случае, заранеене известно, можно говорить о такой емкости только предположительно, нообычно она раза в два превышает емкость детерминистскую.Рассмотрим вопрос о размерности выходного слоя нейронной сети,выполняющего окончательную классификацию образов.
Для разделениямножества (классификации) входных образов, например, по двум классамдостаточно всего одного выхода. При этом каждый логический уровень –«1» и «0» – будет обозначать отдельный класс. На двух выходах можнозакодировать уже 4 класса и так далее. Однако результаты работынейронной сети, организованной таким образом, «под завязку», не оченьнадежны.
Для повышения достоверности классификации желательно ввестиизбыточность путем выделения каждому классу одного нейрона в выходномслое или, что еще лучше, нескольких, каждый из которых обучаетсяопределять принадлежность образа к классу со своей степеньюдостоверности – высокой, средней или низкой, что позволит проводитьклассификацию входных образов, объединенных в нечеткие (размытые илипересекающиеся) множества.
Это свойство приближает нейронные сети кестественному человеческому интеллекту.Такая нейронная сеть имеет несколько ограничений. Во-первых, впроцессе обучения может возникнуть ситуация, когда большиеположительные или отрицательные значения весовых коэффициентовсместят рабочую точку на сигмоидальной функции многих нейронов вобласть насыщения. Малые величины производной от активационнойфункции в соответствии с (2.11) и (2.12) приведут к остановке обучениянейронной сети. Во-вторых, применение метода градиентного спуска негарантирует, что будет найден глобальный, а не локальный минимумцелевой функции. Эта проблема связана еще с одной, а именно – с выборомкоэффициента скорости обучения.
Доказательство сходимости обучения впроцессе обратного распространения основано на производных, т. е.приращениях весов и, следовательно, скорость обучения должна бытьбесконечно малой, однако в этом случае обучение будет происходитьнеприемлемо медленно. С другой стороны, слишком большие коррекциивесов могут привести к постоянной неустойчивости процесса обучения.Поэтому, коэффициент h обычно выбирается меньше 1, но не очень малым,например, 0,1, и он может постепенно уменьшаться в процессе обучения.Кроме того, для исключения случайных попаданий в локальные минимумыиногда, после того как значения весовых коэффициентов стабилизируются, h57PDF created with pdfFactory trial version www.pdffactory.comкратковременно можно значительно увеличить, чтобы начать градиентныйспуск из новой точки.
Если повторение этой процедуры несколько разприведет алгоритм в одно и то же состояние нейронной сети, можно болееили менее быть уверенным в том, что найден глобальный минимум ошибки.2.4. Карты Кохонена2.4.1. ОпределениеНейронные сети Кохонена или самоорганизующиеся карты Кохонена(Kohonen’s Self-Organizing Maps) предназначены для решения задачавтоматической классификации, когда обучающая последовательностьобразов отсутствует [12].
Соответственно отсутствует и фиксация ошибки,на минимизации которой основаны алгоритмы обучения, например,алгоритм обратного распространения ошибки (Backpropagation).Сеть Кохонена – это двухслойная нейронная сеть, содержащая входнойслой (слой входных нейронов) и слой Кохонена (слой активных нейронов).Слой Кохонена может быть: одномерным, двумерным или трехмерным.В первом случае активные нейроны расположены в цепочку. Вовтором случае они образуют двухмерную сетку (обычно в форме квадратаили прямоугольника), а в третьем случае они образуют трехмернуюконструкцию.В силу отсутствия обучающей последовательности образов, длякаждого из которых известна от учителя принадлежность к тому или иномуклассу, определение весов нейронов слоя Кохоненаосновано наиспользовании алгоритмов классической классификации (кластеризации илисамообучения).2.4.2.