Боровиков В.П. - Нейронные сети (778916), страница 17
Текст из файла (страница 17)
ЗТАТ!ЗтгСА Неига! Н«Г»гог«з действия. Мастер решений проведет эксперименты с различным числом скрытых элементов, для каждой пробной архитектуры сети выполнит несколько прогонов обучения, отбирая при этом наилучшую сеть по показателю контрольной ошибки с поправкой на размер сети. В этой функции реализованы сложные алгоритмы поиска, в том числе метод «искусственного отжига» (згти(агеа' апиеа?гп8, Кзгкра1пск, 1983), с помощью которых можно перепробовать сотни различных сетей, выделяя из них особо перспективные, либо быстро найти «грубое и простое» решение задачи. Отбор данных На всех предьщущих этапах существенно использовалось одно предположение. А именно, обучающее, контрольное и тестовое множества должны быть репрезентативными (представительными) с точки зрения существа задачи (более того, эти множества должны быть репрезентативными каждое в отдельности).
Известное изречение программистов «8агЬа8е гп, 8агЬайе оио> («мусор на входе — мусор на выходе») нигде не справедливо в такой степени, как при нейросетевом моделировании. Если обучающие данные не репрезентативны, то модель, как минимум, будет не очень хорошей, а в худшем случае— бесполезной.
Имеет смысл перечислить ряд причин, которые ухудшают качество обучающего множества. Будущее не похоже на прошпое Обычно в качестве обучающих берутся исторические данные. Если обстоятельства изменились, то закономерности, имевшие место в прошлом, могут больше не действовать. Спедует учесть все возможноств Нейронная сеть может обучаться только на тех данных, которыми она располагает. Предположим, что лица с годовым доходом более 100 тыс.
долл. имеют высокий кредитный риск, а обучающее множество не содержало лиц с доходом более 40 тыс. долл. в год. Тогда едва ли можно ояашать от сети правильного решения в совсршенно новой для нее ситуации. Сеть обучается тому, чему проще всего обучцться Классическим (возможно, вымышленным) примером является система машинного зрения, предназначенная для автоматического распознавания танков. Ссть обучалась на ста картинках, содержащих изображения танков, и на ста других картинках, где танков не было. Был достигнут 100'.4-ный «правильный» результат.
Но когда на вход сети были поданы новые данные, она безнадежно провалилась. В чем же была причина? Выяснилось, что фотогра- 88 Гнева 4. Общоб обзор небронных сеаеб фии с танками были сделаны в пасмурный, дождливый день, а фотографии без танков — в солнечный день. Сеть научилась улавливать очевидную разницу в общей освещенности. Чтобы сеть могла результативно работать, ее следовало обучать на данных, где бы присутствовали все погодные условия и типы освещения, при которых предполагается ее использовать — и это еше не говоря о рельефе местности, угле и дистанции съемки.
Несбапансцрованныб набор данных Коль скоро сеть минимизирует общую погрешность, большое значение приобретают пропорции, в которых представлены данные различных типов. Сеть, обученная на 900 хороших и 100 плохих примерах, будет искажать результат в пользу хороших наблюдений, поскольку это позволит алгоритму уменьшить общую погрешность (которая определяется в основном хорошими наблюдениями). Если в реальной популяции хорошие и плохие объекты представлены в другой пропорции, то результаты, выдаваемые сетью, могут оказаться неверными.
Хорошим примером служит задача выявления заболеваний. Пусть, например, при обычных обследованиях в среднем 90оА людей оказываются здоровыми. Сеть обучается на имеющихся данных, в которых пропорция здоровые/больные равна 90/10. Затем она применяется для диагностики пациентов с определенными жалобами, среди которых это соотношение уже 50/50. В этом случае сеть будет ставить диагноз чересчур осторожно и не распознает заболевание у некоторых больных. Если же, наоборот, сеть обучить на данных «с жалобами», а затем протестировать на «обычных» данных, то она будет выдавать повышенное число неправильных диагнозов о наличии заболевания, В таких ситуациях обучающие данные нужно скорректировать так, чтобы были учтены различия в распределении данных (например, можно повторять редкие наблюдения или удалить часто встречающиеся), или же видоизменить решения, выдаваемые сетью, посредством матрицы потерь (В1аЬор, 1995). Как правило, лучше всего постараться сделать так, чтобы наблюдения различных типов были представлены равномерно и соответственно этому интерпретировать результаты, которые выдает сеть.
Как обучается многоспобныб персептрон Мы сможем лучше понять, как устроен и как обучается многослойный псрсептрон, если выясним, какие функции он способен моделировать. Вспомним, что уровнем активации элемента называется взвешенная сумма его входов с добавленным к ней пороговым значением. Таким образом, уровень активации представляет собой простую линейную функцию входов. Эта активация затем прсобразуется с помощью сигмоидной (имеющей Я-образную ФОРму) кривой. 89 Нейронные сети.
ЗТАТ18Т<СА Нес<а! не<и<огне и»,! Рве. 4.5 90 Комбинация линейной функции нескольких переменных н скалярной сигмоьдной функции приводит к характерному профилю с<сигмондного склона», который выдаст элемент первого промсжуточного слоя МЛП. На приведенном рис. 4.4 соответствующая поверх- Р ность изображена в виде функции двух входных псрсменных, элемент с большим числом входов выдает многомерный аналог такой поверхности. При из- Рвс. 4.4 менении весов и порогов меняется и поверхность отклика. При этом может меняться как ориентация всей поверхности, так и крутизна склона.
Большим значениям весов соответствует более ! крутой склон. Так, например, сели увеличить все веса в два раза, то ориента- ! ция пе изменится, а наклон станет болес крутым. г В многослойной сети подобные ! функции отклика комбинируются друг с другом с помощью последовательного взятия их линейных комбинаций и при- ! менения нелинейных функций активации. На рис.
4.5 изображена типичная поверхность отклика для сети с одним промежуточным слоем, состоящим из двух элементов, и одним выходным элементом для классической задачи «исключающего или» (Хог). Две разных сигмоидных поверхности обьединсны в одну поверхность У-образной формы. Перед началом обучения сети весам и порогам случайным образом присваиваются небольшие по величине начальные значения. Тем самым, отклики отдельных элементов сети имеют малый наклон и ориентированы хаотично— фактически они не связаны друг с другом. По мере того, как происходит обученис, поверхности отклика элементов сети вращаются и сдвигаются в пух<- нос положение, а значения весов увеличиваются, поскольку они должны моделировать отдельные участки целевой поверхности отклика. В задачах классификации выходной элемент должен выдавать большой сигнал в случае, если данное наблюдение принадлежит к интересующему нас классу, и слабый — в противоположном случае.
Иначе говоря, этот элсмент должен стремиться смоделировать функцию, равную единице в той Гпава 4. Общий обзор нейронных сетей области пространства объектов, где располагаются объекты из нужного класса, и равную нулю — вне этой области. Такая конструкция известна как дискриминантная функция в задачах распознавания. «Идеальная» дискриминантная функция должна имсть плоскую структуру, чтобы точки соответствующей поверхности располагались либо на нулевом уровне, либо на единичной высоте. Если сеть не содсржит скрытых элементов, то на выходе она может моделировать только одинарный «сигмоидный склон»: точки, находящиеся по одну его сторону, располагаются низко, по другую — высоко.
При этом всегда будет существовать область между ними (на склоне), где высота принимает промежуточные значения, но по мере увеличения весов эта область будет сужаться. Такой сигмоидный склон фактически работает как линейная дискриминантная функция. Точки, лежащие по одну сторону склона, классифицируются как принадлежащие нужному классу, а лежащие по другую сторону — как не принадлежащие.
Следовательно, сеть без скрытых слоев может служить классификатором только в линейно отделимых задачах (когда можно провести линию или — в случае более высоких размерностей — гиперплоскость, разделяющую точки в пространстве признаков). Сеть, содержащая один промежуточный слой, строит несколько сигмоидиых склонов — по одному для каждого скрытого элемента, — и затем выходной элемент комбинирует из них «возвышенность». Эга возвышенность получается выпуклой, т.е. не содержащей впадин. При этом в некоторых направлениях она может уходить в бесконечность (как длинный полуостров).
Такая сеть может моделировать большинство реальных задач классификации. Сеть с двумя промежуточными слоями строит комбинацию из нескольких таких возвышенностей. Их будет столько же, сколько элементов во втором слое, и у каждой из них будет столько сторон, сколько элементов было в первом скрытом слое. После небольшого размышпения можно сделать вывод, что, используя достаточное число таких возвышенностей, можно воспроизвести поверхность любой формы — в том числе с впадинами и вогнутостямн.
Теоретически для моделирования любой задачи достаточно многослойного персептрона с двумя промежуточными слоями (в точной формулировке этот результат известен как теорема Колмогорова). При этом может оказаться и так, что для решения некоторой конкретной задачи более простой и удобной будст есть с еще большим числом слоев. Однако, для решения большинства практических задач достаточно всего одного промежуточного слоя, два слоя применяются как резерв в особых случаях, а сети с тремя слоями практически не применяются.
В задачах классификации очень важно понять, как следует интерпретировать тс точки, которые попали на склон или лежат близко от него. Стандартный выход здесь состоит в том, чтобы для пороговых значений установить не- 91 Неаронные сепи. ВТАТ18Т1СА Неие! Не«еог1се которые доверительные уровни (принятия или отвержения), которые должны быль достигнуты, чтобы «принять решение» относительно данного элемента. Например, если установлены пороги принятия/отвержения 0,95/0,05, то при уровне выходного сигнала, превосходящем 0,95, элемент считается активным, при уровне ниже 0,05 — неактивным, а в промежутке — «неопределенным». Имеется и более тонкий (и, вероятно, более полезный) способ интерпретировать уровни выходного сигнала: считать их вероятностями. В этом случае сеть вьщает несколько большую информацию, чем просто «Да/Нет»; она сообщает нам, насколько (в некотором формальном смысле) мы можем доверять ее решению.
Разработаны и реализованы в пакете о"Т №ига! №/1юг/гк модификации метода МЛП, позволяющие интерпретировать выходной сигнал сети как вероятность, в результате чего сеть, по существу, учится моделировать плотность вероятности распределения данного класса. При этом, вероятностная интерпретация обоснована только в том случае, если выполнены определенные предположения относительно распределения исходных данных (конкретно, что они являются выборкой из смеси экспоненцивтьных распределений; В1зЬор, 1995). Здесь, как и ранее, может быть принято решение по классификации, но, кроме того, вероятностная интерпретация позволяет ввести концепцию «решения с минимальными затратами». йруеие аяеоритпмы обучения М1.Р Выше было описано, как с помощью алгоритма обратного распространения осуществляется градиентный спуск по поверхности ошибок: в данной точке поверхности находится направление скорейшего спуска, затем делается прыжок вниз на расстояние, пропорциональное коэффициенту скорости обучения и крутизне склона, при этом учитывается инерция, т.е.















