WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!

Pages:     | 1 |   ...   | 4 | 5 || 7 | 8 |   ...   | 25 |

На рис. 2.10 показана такая персептроннаяконфигурация. Допустим, что вектор Х является образом распознаваемой демонстрационной карты. Каждаякомпонента (квадрат) Х– (x1,x2, …, xn) – умножается на соответствующуюкомпоненту вектора весов W– (w1,w2,..., wn). Эти произведения суммируются. Еслисумма превышает порог И, товыход нейрона Y равен единице (индикатор зажигается), в противном случае он– ноль. Как мы виделив гл. 1, эта операция компактно записывается в векторной форме как Y= XW, а после нее следуетпороговая операция.

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

Чтобы увидеть, как это осуществляется,допустим, что демонстрационная карта с цифрой 3 подана на вход и выход Yравен 1 (показывая нечетность). Так как это правильный ответ, то веса неизменяются. Если, однако, на вход подается карта с номером 4 и выход Y равенединице (нечетный), то веса, присоединенные к единичным входам, должны бытьуменьшены, так как они стремятся дать неверный результат. Аналогично, есликарта с номером 3 дает нулевой выход, то веса, присоединенные к единичнымвходам, должны быть увеличены, чтобы скорректировать ошибку.

Этот метод обучения может быть подытоженследующим образом:

1. Подать входной образ и вычислитьY.

2 а. Если выход правильный, то перейти нашаг 1;

б. Если выход неправильный и равен нулю, то добавить все входы ксоответствующим им весам; или

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

3. Перейти на шаг 1.

За конечное число шагов сеть научитсяразделять карты на четные и нечетные при условии, что множество цифр линейноразделимо. Это значит, что для всех нечетных карт выход будет больше порога, адля всех четных –меньше. Отметим, что это обучение глобально, т. е. сеть обучается на всеммножестве карт. Возникает вопрос о том, как это множество должно предъявляться,чтобы минимизировать время обучения. Должны ли элементы множествапредъявляться- последовательно друг за другом или карты следует выбиратьслучайно Несложная теория служит здесь путеводителем.

        1. Дельта-правило

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

д = (T - Y). (2.3)

Случай, когда д=0, соответствует шагу 2а, когда выходправилен и в сети ничего не изменяется. Шаг 2б соответствует случаюд > 0, а шаг 2в случаюд < 0.

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

В алгебраической форме записи

Дi =здxi, (2.4)

w(n+1) = w(n) + Дi, (2.5)

где Дi – коррекция, связанная с i-м входомхi; wi(n+1) – значение веса i после коррекции;wi{n) -значение веса i до коррекции.

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

        1. Трудности салгоритмом обучения персептрона

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

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

        1. Литература
  1. McCulloch W. W., Pitts W. 1943. A logical calculus of the ideasimminent in nervous activiti. Bulletin of Mathematical Biophysics 5:115-33.(Русский перевод: Маккаллок У. С., Питтс У. Логическое исчисление идей,относящихся к нервной деятельности. Автоматы. – М.: ИЛ. – 1956.
  2. Minsky M. L, Papert S. 1969. Perseptrons. Cambridge, MA: MITPress. (Русский перевод: Минский М. Л., Пейперт С. Персептроны. – М: Мир. – 1971.)
  3. Pitts W. Moculloch W. W. 1947. How we know universals. Bulletin ofMathematical Biophysics 9:127-47.
  4. Rosenblatt F. 1962. Principles of Neurodinamics. New York: SpartanBooks. (Русский перевод: Розенблатт Ф. Принципы нейродинамики. – М: Мир. – 1965.)
  5. Widrow В. 1961. The speed of adaptation in adaptive controlsystem, paper *1933-61. American Rocket Society Guidance Control and NavigationConference.
  6. Widrow B. 1963. A statistical theory of adaptation. Adaptivecontrol systems. New York: Pergamon Press.
  7. Widrow В., Angell J. B. 1962. Reliable, trainable networks forcomputing and control. Aerospace Engineering 21:78-123.
  8. Widrow В., Hoff M. E. 1960. Adaptive switching circuits. 1960 IREWESCON Convention Record, part 4, pp. 96-104. New York: Institute of RadioEngineers.
    1. Глава 3.
      Процедура обратногораспространения
      1. ВВЕДЕНИЕ В ПРОЦЕДУРУ ОБРАТНОГОРАСПРОСТРАНЕНИЯ

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

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

Интересна история разработки процедуры. В[7] было дано ясное и полное описание процедуры. Но как только эта работа былаопубликована, оказалось, что она была предвосхищена в [4]. А вскоре выяснилось,что еще раньше метод был описан в [12]. Авторы работы [7] сэкономили бы своиусилия, знай они о работе [12]. Хотя подобное дублирование является обычнымявлением для каждой научной области, в искусственных нейронных сетях положениес этим намного серьезнее из-за пограничного характера самого предметаисследования. Исследования по нейронным сетям публикуются в столь различныхкнигах и журналах, что даже самому квалифицированному исследователю требуютсязначительные усилия, чтобы быть осведомленным о всех важных работах в этойобласти.

      1. ОБУЧАЮЩИЙ АЛГОРИТМ ОБРАТНОГОРАСПРОСТРАНЕНИЯ
        1. Сетевыеконфигурации

Рис. 3.1. Искусственный нейрон сактивационнной функцией

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

Рис. 3.2. Сигмоидальная активационнаяфункция.

На рис. 3.2 показана активационная функция,обычно используемая для обратного распространения.

. (3.1)

Как показывает уравнение (3.2), эта функция,называемая сигмоидом, весьмаудобна, так как имеет простую производную, что используется при реализацииалгоритма обратного распространения.

. (3.2)

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

В действительности имеется множествофункций, которые могли бы быть использованы. Для алгоритма обратногораспространения требуется лишь, чтобы функция была всюду дифференцируема.Сигмоид удовлетворяет этому требованию. Его дополнительное преимущество состоитв автоматическом контроле усиления. Для слабых сигналов (величина NET близка кнулю) кривая вход-выход имеет сильный наклон, дающий большое усиление. Когдавеличина сигнала становится больше, усиление падает. Таким образом, большиесигналы воспринимаются сетью без насыщения, а слабые сигналы проходят по сетибез чрезмерного ослабления.

        1. Многослойнаясеть.

На рис. 3.3 изображена многослойная сеть,которая может обучаться с помощью процедуры обратного распространения. (Дляясности рисунок упрощен.) Первый слой нейронов (соединенный с входами) служитлишь в качестве распределительных точек, суммирования входов здесь непроизводится. Входной сигнал просто проходит через них к весам на их выходах. Акаждый нейрон последующих слоев выдает сигналы NET и OUT, как описановыше.

Рис. 3.3. Двухслойная сеть обратногораспространения (ε– желаемыйсигнал).

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

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

      1. Обзор обучения

Целью обучения сети является такаяподстройка ее весов, чтобы приложение некоторого множества входов приводило ктребуемому множеству выходов. Для краткости эти множества входов и выходовбудут называться векторами.При обучении предполагается, что для каждого входного вектора существует парныйему целевой вектор, задающий требуемый выход. Вместе они называютсяобучающей парой. Какправило, сеть обучается на многих парах. Например, входная часть обучающей парыможет состоять из набора нулей и единиц, представляющего двоичный образнекоторой буквы алфавита. На рис. 3.4 показано множество входов для буквы «А»,нанесенной на сетке. Если через квадрат проходит линия, то соответствующийнейронный вход равен единице, в противном случае он равен нулю. Выход можетбыть числом, представляющим букву «А», или другим набором из нулей и единиц,который может быть использован для получения выходного образа. Принеобходимости распознавать с помощью сети все буквы алфавита, потребовалось бы26 обучающих пар. Такая группа обучающих пар называется обучающим множеством.

Рис. 3.4. Распознаваниеизображении

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

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

  1. Выбрать очередную обучающую пару из обучающего множества; податьвходной вектор на вход сети.
  2. Вычислить выход сети.
  3. Вычислить разность между выходом сети и требуемым выходом (целевымвектором обучающей пары).
  4. Подкорректировать веса сети так, чтобы минимизироватьошибку.
  5. Повторять шаги с 1 по 4 для каждого вектора обучающего множества дотех пор, пока ошибка на всем множестве не достигнет приемлемогоуровня.

Операции, выполняемые шагами 1 и 2, сходны стеми, которые выполняются при функционировании уже обученной сети, т. е.подается входной вектор и вычисляется получающийся выход. Вычислениявыполняются послойно. На рис. 3.3 сначала вычисляются выходы нейронов слояj, затем они используются вкачестве входов слоя k,вычисляются выходы нейронов слоя k, которые и образуют выходной вектор сети.

На шаге 3 каждый из выходов сети, которые нарис. 3.3 обозначены OUT, вычитается из соответствующей компоненты целевоговектора, чтобы получить ошибку. Эта ошибка используется на шаге 4 для коррекциивесов сети, причем знак и величина изменений весов определяются алгоритмомобучения (см. ниже).

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

Pages:     | 1 |   ...   | 4 | 5 || 7 | 8 |   ...   | 25 |



© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.