Лекции по теории и приложениям искусственных нейронных сетей


Сергей А. Терехов
Лаборатотория Искусственных Нейронных Сетей НТО-2, ВНИИТФ, Снежинск

ЛЕКЦИЯ 5. Свойства процессов обучения в нейронных сетях.

Обучение нейронных сетей на примерах. Формирование обобщений (категорий) при обучении. Признаковое и конфигурационное (фазовое) пространство нейронной сети. Обучение как задача многофакторной оптимизации.

Задача обучения нейронной сети на примерах.

По своей организации и функциональному назначению искусственная нейронная сеть с несколькими входами и выходами выполняет некоторое преобразование входных стимулов - сенсорной информации о внешнем мире - в выходные управляющие сигналы. Число преобразуемых стимулов равно n - числу входов сети, а число выходных сигналов соответствуе числу выходов m. Совокупность всевозможных входных векторов размерности n образует векторное пространство X, которое мы будем называть признаковым пространством (При рассмотрении соответсвующих пространств предполагается использование обычных векторных операций сложения и умножения на скаляр (подробнее см. Лекцию 2). Аналогично, выходные вектора также формируют признаковое пространство, которое будет обозначаться Y. Теперь нейронную сеть можно мыслить, как некоторую многомерную функцию F: X ® Y , аргумент которой принадлежит признаковому пространству входов, а значение - выходному признаковому пространству.

При произвольном значении синаптических весовых коэффициентов нейронов сети функция, реализуемая сетью также произвольна. Для получения требуемой функции необходим специфический выбор весов. Упорядоченная совокупность всех весовых коэффициентов всех нейронов может быть представлена, как вектор W. Множество всех таких векторов также формирует векторное пространство, называемое пространством состояний или конфигурационным (фазовым) пространством W. Термин "фазовое пространство" пришел из статистической физики систем многих частиц, где под ним понимается совокупность координат и импульсов всех частиц, составляющих систему.

Задание вектора в конфигурационном пространстве полностью определяет все синаптические веса и, тем самым, состояние сети. Состояние, при котором нейронная сеть выполняет требуемую функцию, называют обученным состоянием сети W*. Отметим, что для заданной функции обученное состояние может не существовать или быть не единственным. Задача обучения теперь формально эквивалентна построению процесса перехода в конфигурационном пространстве от некоторого произвольного состояния W0 к обученному состоянию.

Требуемая функция однозначнно описывается путем задания соотвествия каждому вектору признакового пространства X некоторого вектора из пространства Y. В случае сети из одного нейрона в задаче детектирования границы, рассмотренной в конце третьей Лекции, полное описание требуемой функции достигается заданием всего четырех пар векторов. Однако в общем случае, как например, при работе с видеоизображением, признаковые пространства могут иметь высокую размерность, поэтому даже в случае булевых векторов однозначное определение функции становится весьма громоздким (при условии, конечно, если функция не задана явно, например, формулой; однако для явно заданных функций обычно не возникает потребности представления их нейросетевыми моделями). Во многих практических случаях значения требуемых функций для заданных значений аргумента получаются из эксперимента или наблюдений, и, следовательно, известны лишь для ограниченной совокупности векторов. Кроме того, известные значения функции могут содержать погрешности, а отдельные данные могут даже частично противоречить друг другу. По этим причинам перед нейронной сетью обычно ставится задача приближенного представления функции по имеющимся примерам. Имеющиеся в распоряжении исследователя примеры соответствий между векторами, либо специально отобранные из всех примеров наиболее представительные данные называют обучающей выборкой. Обучающая выборка определяется обычно заданием пар векторов, причем в каждой паре один вектор соотвествует стимулу, а второй - требуемой реакции. Обучение нейронной сети состоит в приведении всех векторов стимулов из обучающей выборки требуемым реакциям путем выбора весовых коэффициентов нейронов.

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

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

Классификация и категоризация.

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

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

Итак, задачей систем-классификаторов является установление принадлежности образа к одному из формально определенных классов. Примерами такой задачи является задача классификации растений в ботанике, классификация химических веществ по их свойствам и типам возможных реакций, в которые они вступают, и другие. Формальные признаки могут быть определены посредством правил типа “если..-то..”, а системы, оперирующие с такими правилами, получили название экспертных систем. Традиционной областью применения классификаторов на нейронных сетях является экспериментальная физика высоких энергий, где одной из актуальных задач выступает выделение среди множества зарегистрированных в эксперименте событий с элементарными частицами событий, представляющих интерес для данного эксперимента.

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

В случае обучения с учителем (например, в персептроне) формирование категорий происходит методом проб и ошибок на основе примеров с известными ответами, предоставляемыми экспертом. Формирование категорий весьма напоминает процесс обучения у живых организмов, поэтому обычно эксперта называют “супервизором” или учителем. Учитель управляет обучением при помощи изменения параметров связей и, реже, самой топологии сети.

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

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

  Экспертные системы (ЭС) Нейросетевые системы (НС)
Источник знаний Формализованный опыт эксперта, выраженный в виде логических утверждений - правил и фактов, безусловно принимаемых системой Совокупный опыт эксперта-учителя, отбирающего примеры для обучения + индивидуальный опыт обучающейся на этих примерах нейронной сети
Характер знаний Формально-логическое “левополушарное” знание в виде правил Ассоциативное “правополушарное” знание в виде связей между нейронами сети
Развитие знаний В форме расширения совокупности правил и фактов (базы знаний) В форме дообучения на дополнительной последовательности примеров, с уточнением границ категорий и формированием новых категорий

Роль эксперта

Задает на основе правил полный объем знаний экспертной системы Отбирает характерные примеры, не формулируя специально обоснование своего выбора
Роль искусственной системы Поиск цепочки фактов и правил для доказательства суждения Формирование индивидуального опыта в форме категорий, получаемых на основе примеров и категоризация образов

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

Обучение нейронной сети с учителем, как задача многофакторной оптимизации.

Понятие о задаче оптимизации.

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

Функция одной действительной переменной f(x) достигает локального минимума в некоторой точке x0, если существует такая d -окрестность этой точки, что для всех x из этой окрестности, т.е. таких, что | x - x0 | < d, имеет место f(x) > f(x0).

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

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

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

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

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

Постановка задачи оптимизации при обучении нейронной сети

Пусть имеется нейронная сеть, выполняющая преобразование F:X®Y векторов X из признакового пространства входов X в вектора Y выходного пространства Y. Сеть находится в состоянии W из пространства состояний W. Пусть далее имеется обучающая выборка (Xa,Ya), a = 1..p. Рассмотрим полную ошибку E, делаемую сетью в состоянии W.

Отметим два свойства полной ошибки. Во-первых, ошибка E=E(W) является функцией состояния W, определенной на пространстве состояний. По определению, она принимает неотрицательные значения. Во-вторых, в некотором обученном состоянии W*, в котором сеть не делает ошибок на обучающей выборке, данная функция принимает нулевое значение. Следовательно, обученные состояния являются точками минимума введенной функции E(W).

Таким образом, задача обучения нейронной сети является задачей поиска минимума функции ошибки в пространстве состояний, и, следовательно, для ее решения могут применяться стандарные методы теории оптимизации. Эта задача относится к классу многофакторных задач, так, например, для однослойного персептрона с N входами и M выходами речь идет о поиске минимума в NxM-мерном пространстве.

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

Задача

Синаптические весовые коэффициенты однослойного персептрона с двумя входами и одним выходом могут принимать значения -1 или 1. Значение порога равно нулю. Рассмотреть задачу обучения такого персептрона логической функции “и”, как задачу многофакторной комбинаторной оптимизации. Для обучающей выборки использовать все комбинации двоичных входов.



© 1994, С. А. Терехов, оригинальный текст
© 1998, С. А. Терехов, электронная версия

Hosted by uCoz