Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Развитие нейросетевых алгоритмовСтр 1 из 5Следующая ⇒
Сети с прямыми связями Простой персептрон. В середине 50-х годов была представлена одна из самых первых моделей нейронных сетей, вызвавшая собой большой интерес из-за своей способности обучаться распознаванию простых образов. Эта самая модель – персептрон – состоит из бинарных нейроподобных элементов и обладает простой топологией, что позволило достаточно полно проана- лизировать ее работу и создать многочисленные физические реализации. Типичный персептрон состоит из трех основных частей: 1) массивы бинарных входов r1…rn (сенсорных нейронов или «сетчатки», на которую подаются входные образы); 2) совокупности бинарных нейроподобных элементов xi…хm (или пре- дикатов в наиболее общем случае) с устоявшимися связями к под- множествам сетчатки («детекторы признаков»); 3) бинарного нейроподобного элемента с модифицируемыми связями к этим предикатам («решающий элемент»). В действительности количество решающих элементов выбирают равным количеству классов, на которое надо разбить представляемые персептрону образы. В связи с этим, модель персептрона очень наглядно описывается наличием только лишь прямых связей, и только один из которых имеет свойство изменяться. В самом простом примере, при котором п = m и xi = ri, детекторы признаков могут быть рассмотрены как входной слой. В таком случае персептрон становится одним бинарным нейроподобным элементом. Это типичный классический случай М-входового нейрона, приведенный на рисунке, или простой персептрон Розенблатта. При общем рассмотрении каждый элемент xi может быть представлен как булева функция, которая зависит от некоторого утоявшегося подмножества сетчатки. Следовательно, модуль выходных сигналов этих обрабатывающих элементов является значением функции xi, которое равно 0 или 1. Интерфейс проявляет реакцию на входной вектор созданием выходного сигнала решающего элемента y. В таком случае, персептрон генерирует гиперплоскость, которая производит деление многомерного пространства x1...хm на две сферы и решает, в какой из них может находится входной образ, исполняя, таким образом, его классификацию. В результате возникает вопрос: как подсчитать значения весов, для обеспечения решения персептроном поставленной задачи? Это может быть достигнуто в процессе обучения. Существуют различные алгоритмы обучения персептрона. Один из таких методов обучения называется процедурой сходимости персептрона Розенблатта и представляет собой вариант хеббовского алгоритма изменения весов связей с учителем. Метод функционирует следующим образом. Столбец весов W устанавливают в произвольное состояние. Поочередно на сетчатку подаются образы из обучающей выборки, которые преобразуются в выходной сигнал у решающего элемента. При верном отклике не производят никаких действий. При неверном отклике у = 0, веса всех этих связей от активных элементов сетчатки увеличивают, ну а при неправильном отзыве у = 1 – уменьшают. Степень трансформирования связи показывает степень адаптации. Если при этом решение существует, оно будет получено при циклической подаче образов обучающей выборки за фиксированное конечное число тактов при абсолютно любом начальном выборе связей. Подводя итоги, если два класса образов будут разделены гиперплоскостью, то при достаточно длительном процессе обучения персептрон начнет различать их верно. Но в таком случае линейная разделяющая поверхность, упрощающая сам анализ персептрона, урезает решаемый им спектр задач. Этот момент подробно исследовали Минский и Пейперт, доказав, какие виды задач в принципе не способен решить персептрон лишь с одним слоем обучаемых связей. Одним из таких примеров является исполнение логической функции «исключающее ИЛИ». Многослойный персептрон. Как говорилось выше, элементарный персептрон с одним слоем обучаемых связей генерирует границы областей решений в форме гиперплоскостей. Двухслойный персептрон способен исполнять функцию логического «И» над полупространствами, сформированными гиперплоскостями первого слоя весов. Все это позволяет сформировать абсолютно любые, теоретически неограниченные, выпуклые области в пространстве входных сигналов. При использовании трехслойного персептрона, варьируя логическими «ИЛИ» необходимые выпуклые области, возможно получить уже области решений абсолютно произвольной формы и сложности, такие как невыпуклые и несвязные. Тот факт, что многослойные персептроны с необходимым множеством внутренних нейроподобных элементов и соответствующим массивом связей теоретически способны выполнять любое отображение вход – выход, что отмечали еще Минский и Пейперт, но при этом они сомневались в том, что возможно открыть для них мощный аналог алгоритма обучения простого персептрона. На данный момент времени в результате возрождения интереса к многослойным сетям было предложено несколько таких процедур.Подробно остановимся на описании детерминированнго случая, получившего название «error back propagation» – метод обратного распространения ошибки. Этот алгоритм являет собой обобщение одной из процедур обучения простого персептрона, более известной как правило Уидроу – Хоффа (или дельта- правило), для которой требуются представления обучающей выборки. Выборка состоит из совокупности пар образов, между которыми необходимо определенить соответствие, и может быть рассматрено как обширное задание векторной функции, область решения которой – совокупность входных образов, а множество значений – набор выходов. Рассмотрим подробнее многослойную с прямыми связями нейроподобную сеть (рис. 1.1). Входные элементы (блоки) образуют собой последний уровень сети, выходные – верхний. Между этими уровнями возможно наличие многих слоев скрытых блоков. Каждый из этих блоков может быть соединен изменяемой связью с каждым блоком соседних слоев, однако между блоками одного слоя нет связей. Каждый из этих блоков способен посылать выходной сигнал только в напралении вышележащих слов и обрабатывать входные сигналы только от нижележащих слоев. Входной вектор посылается на нижний уровень, а выходной вектор может быть определен путем поочередного расчета уровней активности элементов каждого слоя (снизу вверх) с использованием уже определенных идексов активности элементов предидущих уровней. Заходя с позиции распознавания образов входной вектор может быть сопоставлен набору признаков, а выходной – классу образов. Скрытый слой обычно используется для отображения области знаний. Перед тем, как начать обучение, связям присваиваются небольшие случайные значения. Каждая отдельная итерация процедуры состоит из двух состояний(фаз). Во время исполнения первой фазы на сеть совершается подача входного вектора методом установки в необходимое состояние входных элементов. После чего входные сигналы распределяются по сети, создавая некоторый выходной вектор. Для корректной работы алгоритма необходимо, чтобы характеристика вход – выход нейроподобных элементов была неубывающей и обладала ограниченной производной. Как правило для этого используют сигмоидную нелинейность в виде выражения (1.4). Созданный таким образом выходной вектор сравнивается с требуемым. В случае из совпадения, обучение не происходит. В обратном случае определяется различие между фактическими и требуемыми выходными значениями, которая передается соответственно последовательно от выходного слоя к входному. С учетом этой информации об ошибке происходит модификация этих связей в соответствии с обобщенным дельта-правилом, которое может быть выражено так: (1.6) где разница в силе связи wij для р-й обучающей пары пропорци онально произведению сигнала ошибки δ j-го блока, который получает входной сигнал по этой связи, и выходного сигнала блока i, который посылает сигнал по этой связи. Вычисление сигнала ошибки является рекурсивным процессом, который берет начало с выходных блоков. Для выходного блока сигнал ошибки вычисляется по формуле: где и – желаемое и действительное значения выходного сигнала j-го блока; – производная нелинейности блока. Сигнал ошибки для скрытого блока может быть определен рекурсивно через сигнал ошибки блоков, соединенными с его выходом, и веса этих связей определяюся следующим образом: Для используемой в этом выражении сигмоидной нелинейности = (1 – ), поэтому для 0 ≤ ≤ 1 производная становится максимальна при = 0, 5 и обнуляется при = 0 или = 1. Поэтому веса изменяются максимально для блоков, которые еще не приобрели свое состояние. Важно, что при конечных весах выходные сигналы блоков не способны достигать значений 0 или 1, и поэтому за 0 как правило принимают значения уj < 0, 1, а за 1 – значения уj > 0, 9. Преобразования весов производятся после предъявления каждой пары вход – выход. Но в этом случае, если коэффициент η, определяющий скорость обучения, достаточно мал, то можно показать, что обобщенное дельта-правило достаточно неплохо сглаживает минимизацию общей ошибки работы сети D методом градиентного спуска в пространстве весов. Общая ошибка функционирования сети вычисляется по выражению: 2 Обучение сети продолжается до тех пор, пока ошибка не уменьшится до заданной величины соответственно. Опытные результаты показывают то, что при малых η система способна находить довольно хороший минимум D. Стоит отметить, что одним из самых основных недостатков алгоритма обратного распространения является то, что во некоторых случаях для сходимости может понадобиться многократное (сотни раз) предъявление всей обучающей выборки. Увеличения темпа обучения добиваются, к примеру, использованием данных о второй производной D, увеличением параметра η. В последнем методе избежать ненужных осцилляций позволяет инерционный член:
где α – экспоненциально затухающий множитель, определяющий от- носительное воздействие текущего и предыдущих градиентов на формирование веса. В последнее время предпринимаются попытки использовать метод обратного распространения ошибки для обучения нейросетей с обратными связями вычисления последовательностей образов. Основным элементом для этого представляется эквивалентность многослойной сети с прямыми связями и синхронной сети с обратными связями на ограниченном временном промежутке (слой соответствует промежутку времени). Известны также варианты алгоритмов обучения, более оправданные с биологической точки зрения. Одним из таких является алгоритм рециркуляции, разработанный для сетей, в которых скрытые блоки связаны со входными. При обучении такой сети веса связей передвигаются таким образом, чтобы сделать минимальной частоту смены активности каждого из блоков. Следовательно, обученная нейросеть имеет более стабильные состояния и способна функционировать в режиме ассоциативной памяти. На данный момент многослойные персептроны являют собой наиболее популярную модель нейронных сетей. Это в значительной мере объясняется тем, что с их помощью получилось показать решение спектра задач, в том числе и классической для персептронов задачи «исключающего ИЛИ», задачи синтеза речи по тексту, также таких задач, которые требуют принятия экспертных решений. Вполне вероятно, что похожие на многослойные персептроны нейронные структуры могут использоваться мозгом для начальной обработки сенсорной информации, к примеру, при обособлении признаков.
Популярное:
|
Последнее изменение этой страницы: 2017-03-03; Просмотров: 430; Нарушение авторского права страницы