КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Обучение ИНСДля ИНС прямого распространения без скрытых слоев с nI входами и nO выходами зависимость выходных сигналов ИНС от входных можно представить следующим образом (будем считать, что одномерный вектор представлен как вектор-столбец): где и – векторы входных и выходных сигналов соответственно; – матрица весов межнейронных связей, в которой элемент соответствует весу связи от i-го входного нейрона к j-му выходному; – вектор-функция выходного сигнала слоя нейронов, вид которой зависит от выбранной активационной функции. При добавлении скрытого слоя с nH нейронами в структуру ИНС значение выражения для выходных сигналов ИНС изменится: , где и – матрицы весов межнейронных связей для скрытого и выходного слоев соответственно. Добавление дополнительных скрытых слоев соответствующим образом изменит вид функции выходного сигнала ИНС. Однако для выбранной структуры ИНС, при условии постоянного вектора входных сигналов и фиксированной функции активации нейронов, значение выходного сигнала ИНС зависит только от значений весов связей. Для решения практических задач важным является поиск такого набора значений весов межнейронных связей, при котором выходные сигналы ИНС изменяются в определенной зависимости от предъявляемого вектора входных сигналов. Процесс подстройки весов межнейронных связей называется обучением нейронной сети. От того, насколько качественно будет выполнено обучение, зависит способность нейронной сети решать поставленную задачу. Существуют два общих подхода к обучению ИНС: 1. Обучение с учителем. 2. Обучение без учителя. Обучение с учителем (supervised learning)подразумевает использование заранее сформированного множества обучающих примеров. Каждый пример содержит вектор входных сигналов и соответствующий вектор эталонных выходных сигналов, которые зависят от поставленной задачи. Данное множество называют обучающей выборкойилиобучающим множеством. Обучение нейронной сети направлено на такое изменение весов связей ИНС, при котором значение выходных сигналов ИНС как можно меньше отличаются от требуемых значений выходных сигналов для данного вектора входных сигналов. При обучении без учителя (unsupervised learning) подстройка весов связей производится либо в результате конкуренции между нейронами, либо с учетом корреляции выходных сигналов нейронов, между которыми существует связь. В случае обучения без учителя обучающая выборка не используется. В дальнейшем будем рассматривать обучение с учителем, которое можно описать следующей последовательностью действий (практический пример представлен в п. 6.6): 1. Подготовка обучающей выборки. 2. Выбор структуры ИНС. 3. Настройка весов связей (обучение ИНС). В процессе обучения на вход нейронной сети предъявляются данные из обучающей выборки и, в соответствии со значениями выходных сигналов, определяющих ошибку функционирования сети, производится коррекция весов связей. В результате обучения должна быть получена нейронная сеть, которая без перенастройки весов связей формирует с требуемой погрешностью выходные сигналы Y при подаче на вход сети любого набора входных сигналов из обучающего множества. Качество обученной нейронной сети проверяется с использованием данных, не участвовавших в процессе обучения. Опишем каждый этап более подробно. Обучающая выборка состоит из множества пар векторов ( , ), , где K – количество примеров в обучающей выборке; – вектор входных сигналов; – вектор соответствующих выходных сигналов. Обучающая выборка формируется на основе уже известных данных по рассматриваемой проблеме. С одной стороны, чем больше и разнообразнее выборка, тем лучше будет результат обучения, но с другой – выборка может быть избыточной, что увеличивает время обучения. Отметим, что сформированная обучающая выборка может быть дополнительно обработана с использованием статистических и других методов для уменьшения мощности вектора входных сигналов путем удаления неинформативных и малоинформативных компонентов, которые не оказывают существенного влияния на результат обучения. Выбор структуры нейронной сети оказывает влияние на характеристики функции выхода ИНС, т.к. структура ИНС определяет расположение и количество межнейронных связей и, соответственно, количество весов этих связей, которые необходимо настроить в результате обучения. Однозначной методики выбора количества скрытых слоев и нейронов в них нет, и вопрос о том, насколько успешным является тот или иной выбор, зачастую решается на основании экспериментальных результатов обучения и тестирования ИНС. Таким образом, структура сети выбирается разработчиком методом проб и ошибок, исходя из его личного опыта, а также, в ряде случаев, из характеристик обучающих данных. Отметим, что в большинстве случаев достаточно не более 2-3 скрытых слоев. После того как определены обучающие данные и структура сети, производится настройка весов связей. Веса инициализируются случайными значениями, как правило, из диапазона [– 0,01; 0,01] – [– 0,1; 0,1], для того, чтобы впоследствии избежать возможного насыщения функций активации нейронов и повышенной чувствительности выхода ИНС к несущественным (в пределах погрешности) изменениям сигналов. В процессе обучения происходит коррекция (подстройка) значений весов связей. При этом пары векторов ( , ) из обучающего множества могут предъявляться многократно. Один «прогон» всех наборов данных из обучающей выборки вместе с коррекцией весов составляет одну эпоху обучения. Типичная длительность обучения может составлять от десятков до нескольких десятков тысяч эпох в зависимости от поставленной задачи, структуры ИНС, качества самих данных и выбранного алгоритма подстройки весов связей. В результате обучения может возникнуть проблема переобучения сети. Дело в том, что обучающая выборка может содержать неточности, связанные, например, с погрешностями измерения, округлением или субъективностью оценок. Длительное обучение сети может привести к тому, что обученная сеть будет в процессе работы повторять эти неточности. Данная проблема возникает, если значение ошибки обучаемой сети близко к нулю. Поэтому часто обучение останавливают, когда ошибка достигает значения 0,01 – 0,001. Рассмотрим распространенный алгоритм обратного распространения ошибки и его модификацию, использующую инерционность.
|