Рассел С., Норвиг П. Искусственный интеллект. Современный подход (2-е изд., 2006) (1245267), страница 267
Текст из файла (страница 267)
Часть У1. Обучение 984 ьг, 4- ьг5 ч гх х дхг х д' (зп) х х) [е1 мнсдХ не достнгается некоторый критерий останова кесмхн Иенхаз-Бее-Нуроеиееве(пееыог)с) На рис. 20.21 показаны кривые обучения персептрона для двух разных задач. Слева показана кривая для определения в процессе обучения мажоритарной функции с 1! булевыми входами (т.е. функция выводит 2, если на шести или больше входах присутствует 2). Как и следовало ожидать, персептрон определяет эту функцию в процессе обучения очень быстро, поскольку мажоритарная функция является линейно разделимой.
С другой стороны, обучающееся устройство, основанное на использовании дерева решений, не добивается сушественного прогресса, поскольку мажоритарную функцию очень сложно (хотя н возможно) представить в виде дерева решений. Справа показана задача с рестораном. Решение этой задачи можно легко представить в виде дерева решений, но соответствуюгцая функция не является линейно разделимой. Наилучшая гиперплоскость, разделяющая данные, позволяет правильно классифицировать только б5% примеров. 0,9 0,3 0,7 0,6 0,5 0,4 0 0,4 0 1О 20 ЗО 40 50 60 70 30 90 100 Обьвм обучающего множества б) 10 20 30 40 50 60 70 30 90 100 Объем обучаюшвго множества а) Рис.
20.Л. Сравнение производительности персептронов и деревьев решений: персептроны по- казывают более высокую производительность при определении в процессе обучения мазкори- тарнои функции от П входов (а)7 деревья решений показьгвают лучшую производительность при определении в процессе обучении предиката ив 22иа ьс в задаче с рестораном (б) До сих пор персептроны рассматривались как средства реализации детерминированных функций, выходные данные которых могут содержать ошибки. Выход сигмоидального персептрона можно также интерпретировать как вероятность, а именно вероятность того, что истинным выходом является 2, если заданы все входы. При такой интерпретации сигмоидальный персептрон может использоваться как каноническое представление для условных распределений в байесовских сетях (см.
раздел 14.3). Сушествует также возможность выполнять вероятностный вывод правила обучения с использованием стандартного метода максимизации (условного) логарифмического правдоподобия данных, как было описано выше в данной главе. Рассмотрим, как действует последний метод. Допустим, что рассматривается единственный обучающий пример с истинным выходным значением т, н предположим, что р — вероятность, возвращаемая персептроном для этого примера. Если т=2, то условная вероятность этих данных равна д 0.9 д о 0,3 «ж ж ж * о 0,7 й о 0,6 м о а о 0,5 и о до о х д ж хо х хо с й пй Б хй 985 Глава 20. Статистические методы обучения р, а если дыО, то условная вероятность данных равна (1-р) . Теперь можно воспользоваться простым приемом, чтобы записать интересующее нас выражение для логарифмического правдоподобия в днфференцируемой форме.
Этот прием состоит в том, что переменная со значениями О/1 в экспоненте выражения рассматривается как Ъ. индикаторная переменная; р -р, если Т=1, и 1 — в противном случае; аналогичным образом, (1-р) " т'- (1-р), если Т=О, и 1 — в противном случае. Поэтому можно записать выражение для логарифмического правдоподобия данных следующим образом: — 1од р ().-р) ~ ~~ = Т1од р ч (1-т) ).од(1-р) (20.13) В силу самих свойств сигмоидальной функции полученный градиент сводится к очень простой формуле (упр. 20.16): дь дй~з — еххх а 3 Обратите внимание на то, что о)- вектор обновления весов дяя обучения с макснмаяьным правдоподобием в сигмоидальных нерсетнронах на сути ндентнчен вектору обновления для минимизации квадратичной ошибки. Таким образом, можно утверждать, что персептроны имеют вероятностную интерпретацию, даже если правило их обучения выведено на основании детерминированного подхода.
Многослойные нейронные сети с прямым распространением Теперь рассмотрим сети со скрытыми элементами. Наиболее общий случай охватывает сети с одним скрытым слоем", как показано на рис. 20.23. Преимущество введения скрытых слоев состоит в том, что они приводят к расширению пространства гипотез, которые могут быть представлены сетью. Каждый скрытый элемент можно рассматривать как персептрон, который представляет мягкую пороговую функцию в пространстве входов (см.
рис. 20.19, б. В таком случае любой выходной элемент должен рассматриваться как средство создания линейной комбинации нескольких таких функций с мягким порогом. Например, путем сложения двух противоположно направленных мягких пороговых функций и определения порогового значения результата можно получить функцию с графиком в виде "хребта" (рис. 20.22, а). Соединение двух таких хребтов под прямыми углами друг к другу (например, комбинирование выходов четырех скрытых элементов) позволяет получить "выступ" (см.
рис, 20.22, б). " Некоторые спецнаянсты называют сеть с одним скрытым слоем трехслойной сетью, в другие — двухслойной сетью (поскодьку считают, что входные элементы не являются "настоящими'* элементами). Чтобы избежать путаницы, авторы будут называть такую сеть '*сетью с одним скрытым слоем". Часть Ч1. Обучение 986 ьв(хо х,) ! о,в 0,6 О,4 О,2 4 о о,в 0,6 0,4 02 о х, 2 4 а) б) )'ггс. 20.22 Примеры применения мягких пороговых функций: результат комбинирования двух протнвополозкно направленных мягких пороговых функций дяя создания хребта ~а);резулыпат комбинирования двуххребтов дяя создания выступа (б) 'з доказательство этого утверждения является сложным, но основное следствие из него состоит в том, что необходимое количество скрытых элементов растет экспоненцнально в зависимости от количества входов.
Например, пабы закодировать все булевы функции от и входов, требуется 2'' 'п скрытых элементов При наличии большего количества скрытых элементов появляется возможность созлавать еще больше выступов различных размеров, расположенных в разных местах. В действительности с помощью одного, достаточно большого скрытого слоя возможно представить любую непрерывную функцию от входных данных с произвольной точностью, а при наличии двух слоев можно представить даже функции с разрывами". К сожалению, применительно к любой конкретной сетевой структуре сложно точно охарактеризовать, какие функции могут быть представлены с ее помощью, а какие — нет.
Предположим, что необходимо сконструировать сеть со скрытым слоем для задачи с рестораном. Имеется 10 атрибутов, описывающих каждый пример, поэтому требуется 1О входных элементов. А сколько нужно скрытых элементов? На рис. 20.23 показана сеть с четырьмя скрытыми элементами. Как оказалось, такое количество скрытых элементов почти полностью подходит для решения данной задачи.
Но проблема заблаговременного выбора подходящего количества скрытых элементов все еще полностью не исследована (с. 990). Алгоритмы обучения для многослойных сетей подобны алгоритму обучения для персептронов, приведенному в листинге 20.1. Одно небольшое различие состоит в том, что может быть предусмотрено несколько выходов, поэтому должен применяться вектор выходов )з„(х), а не одно значение, и с каждым примером должен быть связан вектор выходов у.
Между этими алгоритмами существует также важное различие, которое заключается в том, что ошибка у-)зи в выходном слое является очевидной, а ошибка в скрытых слоях кажется неуловимой, поскольку в обучающих данных отсутствует информация о том, какие значения должны иметь скрытые узлы. Как оказалось, можно обеспечить 'гзг обратное распространение ошибки из выходного слоя в скрытые слои. Процесс обратного распространения может быть организован непосредственно на основе исследования общего градиента ошибки. Вначале мы опишем этот процесс на основе интуитивных представлений, а затем приведем его обоснование.
987 Глава 20. Статистические методы обучения Выходные элементы а, Скрьпые элелннны а l Входные элементы а„ Рис. 20.23. Многослойная нейронния сеть с одним скрытым слоем и 70 входами, применимая для решения задачи с рестораном Правило обновления весов, применяемое в выходном слое, идентично уравнению 20.12. Предусмотрено несколько выходных элементов, поэтому предположим, что еггс является )-м компонентом вектора ошибки у-Ь„.
Авторы находят также удобным определить модифицированную ошибку Л,=ягг,хд' (дг,), с помощью которой правило обновления весов можно преобразовать следую)цнм образом: илес — нт таха, хЛ, (20. 14) Л, = д' (диэ) ) резке Л, э (20.15) Теперь правило обновления весов между входными элементами н элементами скрытого слоя становится почти идентичным правилу обновления для выходного слоя: ик,э е — (ек,, + и х ак х Л, Таким образом, процесс обратного распространения можно кратко описать, как показано ниже.
° Вычислить значения с1 для выходных элементов с использованием наблюдаемой ошибки. ° Начиная с выходного слоя, повторять следующие действия для каждого слоя в сети до тех пор, пока не будет достигнут самый первый скрытый слой: ° распространять значения Л обратно к предыдущему слою; ° обновлять веса между этими двумя слоями. Чтобы обновить веса связей между входными н скрытыми элементами, необходимо определить величину, аналогичную терму ошибки для выходных узлов.