Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
НЕЙРОСЕТИ_уч_Боровков.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
2.73 Mб
Скачать

Выбор архитектуры сети

В пакете ST Neural Networks возможны два варианта выбора архитектуры сети: метод проб и ошибок и использование автоматического конструкто­ра сети.

При выборе архитектуры методом проб и ошибок стоит придерживаться определенных описанных ниже эвристических правил. Кроме того, в па­кете ST Neural Networks имеется встроенная функция Советник - Network Advisor, которая предложит начальную конфигурацию сети, основываясь на свойствах исходных данных. Пока вы экспериментируете, программа будет автоматически хранить лучшую из сетей, полученных к данному моменту. После окончания поиска ее можно будет снова вызвать и рабо­тать с ней. Метод проб и ошибок описан в следующих разделах.

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

Если вы располагаете только входными переменными, необходимо ис­пользовать сеть Кохонена. Для всех остальных случаев мы дадим не­сколько общих советов.

Типы сетей

Тип сети

Преимущества

Недостатки

MLP

Небольшие,

быстро работают.

Медленно обучаются.

RBF

Быстро

обучаются.

Большие по размерам. Не могут экстраполировать.

Линейные

Простые,

быстро обучаются.

Не могут решать нелинейные задачи.

Байесовы

Обучаются очень быстро, имеют хорошую теорети­ческую основу.

Очень большие, медленно работают, не экстраполируют.

Первый шаг

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

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

Второй шаг

Теперь можно попробовать другие архитектуры сетей. Иногда сети MLP дают гораздо лучшие результаты, чем байесовы (благодаря нерадиальным элементам), в то время как радиальные базисные функции аналогичны по своей структуре байесовым сетям и дают похожие результаты. Поэтому хорошим вторым шагом будет попробовать MLP и посмотреть, есть ли существенная разница. Если MLP-сети дают результаты хуже, чем байесовы, имеет смысл обратиться к RBF: в них используется тот же радиаль­ный подход, что и в байесовых сетях, но они компактнее.

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

Окончательный выбор зависит и от того, какая требуется скорость выпол­нения. Как правило, чем меньше сеть, тем дольше она обучается и тем быстрее работает.

Самое трудное - выбрать число промежуточных слоев и число элементов в них. Вот несколько советов, которые могут вам помочь.

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

• Чем больше число скрытых элементов в сети, тем более сложную за­дачу она может моделировать, но при этом потребуется более дли­тельное обучение и возникнет опасность переобучения. При экспери­ментировании следите за тем, как меняются обучающая и контроль­ная ошибки. Если при добавлении новых элементов уменьшаются обе ошибки, то, по-видимому, сеть пока слишком мала. Если же кон­трольная ошибка стала намного больше, чем ошибка обучения (и, в частности, если она увеличивается при дальнейшем обучении), то, ве­роятно, что данная сеть слишком большая.

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

Автоматический конструктор сети

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

Автоматический конструктор сети пакета ST Neural Networks подходит к этому как к задаче оптимизации, и с помощью довольно сложных методов осуществляет автоматический поиск подходящего устройства сети. Этот метод не может уменьшить сложность исходной задачи или присутст­вующий в ней уровень помех, поэтому нет гарантии, что будет найдено абсолютно лучшее решение. Кроме того, метод требует большого време­ни счета, потому что при этом выполняется очень большое число экспе­риментов.

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

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

Сначала, путем выявления минимумов, ищется «удовлетворительное» решение задачи. На это уходит обычно 10-20 итераций. На этом этапе могут попадаться локальные минимумы в пространстве поиска, вызванные помехами в данных.

Затем для более тщательного поиска применяется один из вариантов ме­тода «отжига». Здесь последовательно пробуются различные варианты архитектур; и при этом поиск концентрируется на наиболее перспектив­ных участках. Этот алгоритм уже вполне может справиться с локальными минимумами и не подвержен влиянию помех.

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

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