Многослойный персептрон

Одна из наиболее часто используемых в настоящее время архитектур нейронной сети – многослойный персептрон (MLP network). Этот тип сетей был предложен Rumelhart, McClellan (1986). Чаще всего эта сеть состоит из входного слоя искусственных нейронов (с линейной функцией активации), служащего для пре-процессирования входных данных и передаче их в скрытый слой; скрытого слоя искусственных нейронов (с сигмоидной или логистической функцией активации), служащего для нелинейного преобразования входных значений в выходные; выходного слоя искусственных нейронов (чаще всего с линейной функцией активации), служащего для пост-процессирования данных. В некоторых задачах используют более одного скрытого слоя, однако обычно не более трех. В большинстве случаев в MLP сетях используется прямая передача сигналов: сигналы проходят от входов через скрытые элементы на выход нейронной сети. Такая структура имеет устойчивое поведение. Кроме такой архитектуры возможны рекуррентные сети (сети с обратной связью), которые, обладая высокими возможностями в моделировании, в то же время могут быть неустойчивыми. В связи с тем, что достаточно развитой теории обучения и функционирования этих динамических сетей до сих пор не существует, то при решении практических задач наиболее полезными являются статические сети с прямой связью. MLP сети с одинаковым успехом применяются как в задачах регрессии, так и в задачах классификации

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

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

Необходимо также остановиться на вопросе о количестве обучающих примеров. Этот вопрос теоретически не проработан, однако полезно пользоваться правилом, что общее число весов нейросетевой модели всегда должно быть меньше числа обучающих примеров, в противном случае сеть просто «запомнит» входные данные и утратит способность к обобщению

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

Вопросы построения нейросетевой модели не заканчиваются выбором “правильной” архитектуры сети. Для построения необходимо выбрать эффективный алгоритм обучения. Самым известным из них является алгоритм обратного распространения, где важно выбрать скорость обучения: с одной стороны она не должна быть очень маленькой (чтобы провести оптимизацию за приемлемое время), с другой стороны при большом шаге есть опасность перепрыгнуть через решение, особенно при сложной структуре поверхности ошибок. Кроме этого существуют современные алгоритмы второго порядка, такие как метод сопряженных градиентов, метод Левенберга-Маркара (Bishop, 1995; Shepherd, 1997) и другие, которые во многих случаях обеспечивают более быструю сходимость решения.

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: