Рассел С., Норвиг П. Искусственный интеллект. Современный подход (2-е изд., 2006) (1245267), страница 266
Текст из файла (страница 266)
Сети с прямым распространением обычно размещаются по 'з. слоям, таким, что каждый элемент получает входные данные только от элементов, относящихся к непосредственно предшествующему слою. В следующих двух подразделах рассматриваются однослойные сети, не имеющие скрытых элементов, и многослойные сети, которые имеют один или несколько слоев скрытых элементов. Однослойные нейронные сети с прямым распространением (персептроны) Сеть, в которой все входные элементы соединены непосредственно с выходными элементами, называется сьх однослойной нейронной сетью, или сетью Ъ.
персептроиа. Поскольку каждый выходной элемент является независимым от других (каждый вес влияет только на один из выходов), можно ограничиться в нашем исследовании рассмотрением персептронов с единственным выходным элементом, как показано на рис. 20.19, а. Начнем с исследования пространства гипотез, которое может быть представлено с помощью персептрона. Если применяется пороговая функция активации, то персептрон может рассматриваться как представляющий некоторую булеву функцию.
кроме элементарных булевых функций лип, Оп и нот (см. рис. 20.17), персептрон позволяет представлять очень компактно некоторые весьма "сложные" булевы функции. Например, мажоритарная функция, которая выводит 1, только если 1 присутствует больше чем на половине из ее и входов, может быть представлена с помо- щЬЮ ПЕрСЕПтрОНа, В КОтсрОМ КаждОЕ ЗНаЧЕНИЕ Гу,=1, а ПОРОГОВОЕ ЗНаЧЕНИЕ ГГв=П12. В дереве решений для представления этой функции потребовалось бы О(2") узлов.
981 Глава 20. Статистические методы обучения Выход и ! о,з 0,6 О,4 0,2 о х> 2 4 Выходные элементы Вхолные элементы б) а) Рис. 20. )й Свойства сети персептрона: сеть персептрона, состоящая из трех выходньы элементов персептрона, в которых совместно используются пять входных элементов (а) Рассматривая конкрепеный выходной элемент (скажем, второй элемент, выделенныи жирным контуром), можно обнаружить, что веса его входных связей не влияют на другие выходные элементы; графическое изображение выходных данных элемента персептрона с двумя входами, имеющего сигмоидальную функцию активации (б) К сожалению, существует также много булевых функций, которые не могут быль представлены с помощью порогового персептрона.
Рассматривая уравнение 20.10, можно обнаружить, что пороговый персептрон возвращает 1 тогда и только тогда, когда взвешенная сумма его входных данных (включая смещение) является положительной: п Х )гх хе > 0 мни И х > О д=о Итак, и х = О определяет гиперплоскость в пространстве входных данных, поэтому персептрон возвращает 1 тогда и только тогда, когда входные данные находятся с одной стороны от этой гиперплоскости. По такой причине пороговый персептрон называют 'ск линейным разделителем.
На рис. 20.20, а, б показана такая гиперплоскость (которая в двух измерениях является линией) для представления с помощью персептрона функций ЛН)) и ОН от двух входных значений. Черные кружки обозначают точки в пространстве входных данных, где значение этой функции равно 1, а белые кружки — точки, где это значение равно О. Персептрон способен прел- ставить эти функции, поскольку есть какая-то линия, которая отделяет все белые кружки от всех черных кружков. Такие функции называются Ъ. линейно разделимыми.
На рис. 20.20, в показан пример функции, которая не является линейно разделимой, — функции ХОВ. Безусловно, что пороговый персептрон не позволяет определить в процессе обучения эту функцию. Вообще говоря, св- пороговые персептроны способны представить только линейно разделимые функции. Но такие функции составляют лишь небольшую часть всех функций; в упр. 20.14 предлагается определить величину этой части. Сигмоидальные персептроны характеризуются аналогичными ограничениями, с той поправкой, что они представляют только "мягкие" линейные разделители (см.
рис. 20.19, б). 982 Часть |Ч. Обучение х) х) о О Х1 Хз а) Х) ада Х1 б) Х) егХ1 в) Х) хегХ1 Рис. 20.20. Иллюсгг~рация свойства линейной разделимости нороговых нерсентронов. Черные кружки показывают точки в пространстве входных данных, где значение функции равно 1, а белые кружки показывают точки, где это значение равно О. Персентрон возвращает 1 нри иолу«енин данных из области, соответствующей нгэаютрихованной стороне линии. На рис. 20.20, в не существует такой линии, котория могла бы правильно классифицировать входные данные Несмотря на их ограниченную выразительную мощь, пороговые персептроны имеют некоторые преимушества.
В частности, с)г существует простой алгоритм обучения, позволяющий выполнить подгонку весов порогового персептрона к любому линейно разделимому обучающему множеству, но в данном разделе вместо описания этого алгоритма мы выведем тесно связанный с ним алгоритм для обучения с помощью сигмоидальных персептронов. В основе этого алгоритма, а в действительности в основе большинства алгоритмов для обучения нейронных сетей, лежит такая идея, что в процессе обучения необходимо корректировать веса в сети для минимизации некоторого критерия измерения ошибок в обучающем множестве. Таким образом, задача обучения формулируется как некоторая задача оптимизационного поиска' в си пространстве весов.
"Классическим" критерием измерения ошибок является сумма квадратичных ошибок, которая использовалась в том числе в алгоритме линейной регрессии, приведенном на с. ). Квадратичная ошибка для единственного обучающего примера с входными данными х и истинными выходными данными у определяется следующим образом: 1 1 Е = зпххг и 2 (у-гы(н) ) где )ь, (х) — выходные данные персептрона при обработке рассматриваемого примера. Для уменьшения квадратичной ошибки можно применить метод градиентного спуска, вычисляя частичную производную Н по отношению к каждому весу. При этом может быть получено следующее соотношение: "Описание общих методов оптимизации, применимых к непрерывным пространствам, приведено в разделе 4.4.
983 Глава 20. Статистические методы обучения 0Е 0Š— Етт ив йвз = а~, Етт х — у- ) Н х — Етт х д'(Еп) х х, где д' — производная функции активации'. В алгоритме градиентного спуска преду- смотрено, что если требуется уменьшить е, то вес обновляется следующим образом; (20.12) ч — К~з + гг х Етт х д' (Еп) где а — скорость обучения. Интуитивно ясно, что приведенное выше уравнение имеет большой смысл.
Если ошибка етт=у-]з„(м) является положительной, то выход сети слишком мал и поэтому веса увеличиваются при положительных входных ланных и уменьшаются при отрицательных вхолных данных. А если ошибка является отрицательной, то происходит противоположное". Полный алгоритм приведен в листинге 20.!. Он предусматривает прогон обучающих примеров через сеть каждый раз по одному и небольшую корректировку весов после прогона каждого примера для уменьшения ошибки. Каждый цикл прогона примеров называется 2в эпохой.
Эпохи повторяются до тех пор, пока не достигается некоторый критерий останова; как правило, такая ситуация достигается, когда изменения весов становятся очень небольшими. В других методах для всего обучаю(цего набора вычисляется градиент путем сложения всех гралиентных вкладов в уравнении 20.12 перед обновлением весов. А в методе 'э.
стохастического градиента примеры выбираются случайным образом из обучающего набора вместо их циклической обработки. Листинг 20.1. Ачгоритм обучения на основе градиентного спуска лля церсептронов, в котором предполагается использование дифференцируемой функции активация д. Для пороговых персевтровев коэффвцненг д' (лп) вз обновления веса исключается. Функция нептв1-Нес-Нуросневвв возвращает гипотезу, которая вычисляет выход сети для любого конкретного примера Еспсевоп Рехсерстоп-ьевтпбпд(ехвтр2ез, пееыот)г) теептпв гипотеза персептрона Еприсв: ехвтр2ез, множество примеров, для каждого из которых заданы входныв данныЕ в=хм ...,х„ и выходные данные у пееиот)г, персептрон с весами К',, где У=с...п, и функцией активации д терезе Ест еес]з е зп ехвмр1ез ((о С-~п Еп < — лх Вз х, (е] з=о етт < — у[е] - д(лп) зДлясигмоилальногоперсептрона эта производнаязадается выражением д' = д(1-д).
ю Для пороговых персептронов, гле производная д' (Еп) не определена, оригинальное правило обучения версевтрона, разработанное Розенблатгом [(3021, идентично уравнению 20.) 2, однако в нем исключено значение д' (Еп). Но поскольку значение д' (Еп) является одинаковым лля всех весов, его исключение влияет только на величину, а не на направление общего обновления веса для каждого примера.