Рассел С., Норвиг П. Искусственный интеллект. Современный подход (2-е изд., 2006) (1245267), страница 268
Текст из файла (страница 268)
Именно в этом и заключается суть метода обратного распространения ошибки. Идея его состоит в том, что скрытый узел з отвечает ' за некоторую долю ошибки Лс в каждом из выходных узлов, с которыми он соединен. Таким образом, значения дк, разделяются в соответствии с весом связи между скрытым узлом н выходным узлом и распространяются обратно, обеспечивая получение значений бч для скрытого слоя. Правило распространения для значений ск состоит в следующем: 988 Часть Ч1. Обучение Подробный алгоритм приведен в листинге 20.2. Листинг 20.2.
Алгоритм обратного распространения для обучения в многослойных сетях гипоеаоп Васк-ргор-ьеагдтпд(ехамр1ез, песыог)с) гееигпв нейронная сеть 1прцсв: ехалзр1ев, множество примеров, для каждого из которых заданы входной вектор х и выходной вектор у пееьогй, многослойная сеть с ь слоями, весами Нзьг и функцией активации д гереае гог евон е ап ехазпр1ез ((о гог еао)т узел у ап выходной слой гто а( ь- х;(е) йог Г = 2 ео ь гто тпг<-,г нз,, а, 3 а, г — д(зп,) гог евон узел з фо выходной слой оо А, с — д' (1пы х (уг(е) — аг) гог Г = Ь-1 Ео 1 гто гог еао)з узел 1 1п слой 2 оо ди < — д' (зп,),) Н;„Аг 1 гог еасоф узел з ап слой Гт1 оо )гзт,г — нз,, + и и а, х А, опт не достигается некоторый критерий останова геецгп нецга1-нес-нутос)зез1з(песыог)г) Теперь исходя из основных принципов выведем уравнения обратного распространения к радости читателей, интересующихся математикой. Квадратичная ошибка на одном примере определяется следующим образом: л=г,~ (у -а) 1 где сумма вычисляется по всем узлам выхолного слоя.
Чтобы определить градиент по отношению к конкретному весу Вгз, в выходном слое, достаточно развернуть только выражение для активации а,, поскольку все другие термы в этой операции суммирования не зависят от В)зь г: 0в аа, 0д(' г) — — — (у — а,) = — (у, — а,) а~,„= а~,, = ' э~;,, аы,, а (' 3 — (у, — а) д'(зп) а, = -а, А, где Аг определено, как указано выше. Чтобы получить градиент по отношению к весам )у„з связей, соединяющих входной слой со скрытым слоем, необходимо по- прежнему вычислять всю сумму по 1, поскольку изменение в значениях й(ы, могут повлиять на каждое выходное значение аг, При этом придется также развертывать 989 Глава 20. Статистические методы обучения выражение для активаций а,.
Ниже показан ход вывода формулы во всех подробностях, поскольку любопытно понаблюдать за тем, как оператор произволной распространяется в обратном направлении через сеть: дл с ' да, % ' дд(дп,) — — (у, — а,) — = -~ (у, — а,) дам) 2~ ' ' дым, ~ ' ' да к,, 1 3 да) з~ ' дд(хп,) = -Х вЂ”.„= -Х' 1 1 дтп, — а, а~ь, д' (дп,) — ~ ' дн,, а д (з." = Х*' "' "г"'~ дик,, — -~ Л, )г,,, д' (хп,) а« = -аь а, где Л, определено, как показано выше.
Таким образом, получено то же правило обновления, которое было сформулировано выше на основании интуитивных соображений. Очевидно также, что этот процесс может быть продолжен применительно к сетям, имеющим базьше одного скрытого слоя, и это соображение является обоснованием для обшего алгоритма, приведенного в листинге 20.2. Внимательно ознакомившись со всеми этими математическими выкладками (или пропустив их), рассмотрим, какую производительность показывает сеть с одним скрьпым слоем при решении задачи с рестораном.
На рис. 20.24 показаны две кривые. Первая из них представляет собой 'в. кривую обучения, которая характеризует изменение среднеквадратичной ошибки на заданном обучающем множестве из 100 примеров для задачи с рестораном в процессе обновления весов.
Эта кривая демонстрирует, что параметры сети действительно сходятся, позволяя достичь идеального согласования с обучаюшими данными. Вторая кривая представляет собой стандартную кривую обучения для данных о ресторане. Нейронная сеть позволяет достичь в процессе обучения хороших результатов, хотя и не совсем с такой скоростью, как при обучении дерева решений; по-видимому, в этом нет ничего удивительного, хотя бы потому, что сами эти данные были сформированы с помошью простого дерева решений. Безусловно, нейронные сети способны решать гораздо более сложные задачи обучения, хотя и следует отметить, что лля создания подходящей сетевой структуры и достижения сходимости к величине, достаточно близкой к глобальному оптимуму в пространстве весов, необходимо приложить определенные усилия.
Количество приложений нейронных сетей, описанных в опубликованной литературе, исчисляется буквально десятками тысяч. В разделе 20.7 одно из таких приложений рассматривается более подробно. Часть тг). Обучение 990 14 ." 0,9 Б я 0,8 «а л ко 0,7 8 05 тй ,. !2 н 810 он ос ба 8 нв 4 о й г 4 о цо сэ * 2 о О.4 0 50 !00 150 200 250 300 350 400 0 10 20 30 40 50 60 70 80 90 !00 Количество эпох Объем обучающего множества а) б) Рис. 20.24.
Результаты анализа производительности алгоритма обучения! кривая обучения, показывающия постепенное уменьшение ошибки по мере того, как в течение нескольких эпох происходит мадис)шкаиия весов для заданного мноэкества примеров в задаче с рестораном (а); сопоставление кривых обучения, которое показывает, что обучение дерева решений обеспечивает немного лучшие результаты, чем обратное распространение вмногослобноб сети (б) 'э Было замечено, по очень большие сети все же позволяют обеспечивать хорошее обобщение, при условии, что веса остаются небольшими. Это ограничение равносильно тому, что значения активации остаются в линейной области сигмоидальной функции д ! х), где переменная х близка к нулю.
Это, в свою очередь, означает, что сеть действует по аналогии с линейной функцией 1упр. 20.17) с гораздо меньшим количеством параметров. Определение в процессе обучения структур нейронных сетей До сих пор в данной главе рассматривалась проблема определения в процессе обучения весов связей при наличии заданной структуры сети; но, как и в случае с байесовскими сетями, необходимо также знать, как найти наилучшую структуру сети. Если будет выбрана сеть, которая слишком велика, она будет способна запомнить все примеры благодаря формированию большой поисковой таблицы, но не обязательно обеспечит качественное обобщение применительно к входным данным, с которыми еще не сталкивалась!э.
Иными словами, как и все статистические модели, нейронные сети подвержены такому недостатку, как чрезмерно тщательная подгонка, когда количество параметров в модели слишком велико. В этом можно убедиться, рассматривая рис. 18.1, где показано, что модели с большим количеством параметров на рис. ! 8.1, б, в хорошо согласуются со всеми данными, но не обеспечивают такого же хорошего обобщения, как модели с малым количеством параметров, показанные на рис. 18.1, а и г.
Если мы остановимся исключительно на полносвязных сетях, то единственные изменения, которые могут быть внесены в структуру сети, относятся только к количеству скрытых слоев и их размерам. Обычно применяется подход, который предусматривает опробование нескольких вариантов и сохранение наилучшего. Если же решено придерживаться требования по предотвращению компрометации проверочного набора, то необходимо использовать методы перекрестной проверки, описанные в главе 18.
Это означает, что выбор останавливается на такой архитектуре сети, ко- 991 Глава 20. Статистические методы обучения торая обеспечивает наивысшую точность прогнозирования при проверке с помощью испытательных наборов. Если же решено прибегнуть к использованию сетей, которые не являются полно- связными, то необходимо найти какой-то эффективный метод поиска в очень большом пространстве возможных топологий связей.
Алгоритм Ж оптимального повреждения мозга (орйпа! Ьга(п дашаяе) начинает свою работу с полносвязной сети и удаляет из нее связи. После обучения сети в первый раз с помощью подхода на основе теории информации определяется оптимальный выбор связей, которые могут быть удалены. После этого осуществляется повторное обучение сети, и если ее производительность не уменьшается, то этот процесс повторяется.
Кроме удаления связей, возможно также удаление элементов, которые не вносят большого вклада в результат. Было также предложено несколько алгоритмов для формирования большой сети из малой. Один из таких алгоритмов, называемый алгоритмом еь заполнения мозаики (11йпя), напоминает алгоритм обучения списков решений. Его идея состоит в том, что процесс начинается с одного элемента, который настраивается наилучшим образом для выработки правильных выходных данных для максимально возможного количества обучающих примеров. Для обработки примеров, которые не могли быть правильно обработаны первым элементом, вводятся дополнительные элементы.
Этот алгоритм предусматривает введение только такого количества элементов, которое требуется для охвата всех примеров. 20.б. ЯДЕРНЫЕ МАШИНЫ Приведенное выше описание нейронных сетей не дает ответа на одну дилемму. Однослойные сети позволяют использовать простой и эффективный алгоритм обучения, но обладают лишь очень ограниченной выразительной мощью, поскольку способны определять в процессе обучения только линейные границы между решениями в пространстве входов. Многослойные сети, с другой стороны, являются гораздо более выразительными (онн способны представлять нелинейные функции общего нида), но задача их обучения становится очень сложной из-за большого количества локальных минимумов и высокой размерности пространства весов. В этом разделе рассматривается относительно новое семейство методов обучения, основанных на использовании Ъ.
машин поддерживающих векторов (Бпрроп Чесгог Мас)йпе — БЧМ), нли, в более общем смысле, 'еь ядерных машин ()сегпе1 шасЬ(пе). Ядерные машины позволяют в определенной степени воспользоваться наилучшими свойствами и однослойных, и многослойных сетей. Это означает, что в методах, основанных на их использовании, предусмотрен эффективный алгоритм обучения, а сами они позволяют представить сложные„нелинейные функции. Полное описание ядерных машин выходит за рамки данной книги, но мы можем проиллюстрировать их основную идею на примере. На рис.
20.25, а показано двухмерное пространство входов, определяемое атрибутами х= (х,, х,), в котором положительные примеры (у=+1) находятся внутри круга, а отрицательные примеры (у=-1) — вне его. Очевидно, что для данной задачи не существует линейного разделителя. А теперь предположим, что входные данные выражены иначе, с помощью каких-то вычислимых характеристик, т.е. что каждый вектор входных данных х отображен на новый век- 992 Часть ЧВ Обучение тор значений характеристик, Р(х) .