Используйте ГА, чтобы спроектировать структуру сети (определить, должно ли быть ребро между двумя нейронами или нет).
В общем, вы, кажется, говорите о сетях прямой связи, предположительно MLP.
С этой структурой сети связано количество нейронов и слоев, а также связи между нейронами. Обычно они располагаются полностью связанными, так что каждый нейрон в слое n связан с каждым нейроном в слое n+1. Метод обучения устраняет частичную связность, обучая некоторые веса до нуля или до очень малых чисел.
Есть несколько правил настройки ИНС в зависимости от сложности данных и того, что вы хотите от них делать. Они могут дать вам хорошую отправную точку. Алгоритмы обучения будут определять связь между нейронами, но не будут влиять на количество нейронов или слоев.
Поэтому GA можно использовать для экспериментов с параметрами, влияющими на размер сети.
Используйте GA для расчета оптимальных весов.
GA не гарантирует этого. «оптимальных весов» на самом деле не существует. Обученная сеть даст вам баланс между распознаванием и ошибкой. Вы могли бы сказать «оптимальные веса», чтобы получить целевую ошибку.
Для MLP с прямой связью GA займет больше времени на обработку, чем обратное распространение.
Я также столкнулся с тем, что GA также не настраивается точно, поэтому у вас может быть сеть, которая менее устойчива к шуму при использовании GA, чем BP.
Ни один из подходов не гарантирует штрафа за абсолютный минимум или даже приемлемый минимум. Оба могут застрять в локальных минимумах. Существуют методы повторного запуска как GA, так и BP, если это произойдет. Но помните, что архитектура вашей сети может не позволить получить допустимую ошибку для ваших данных. В весах ограничено количество памяти/пространства, и решения у меня просто нет. Поэтому, когда вы думаете, что находитесь в локальном минимуме, на самом деле вы можете быть в абсолютном минимуме, но выше приемлемой ошибки.
Я также узнал, что GA имеет смысл только в случае нерегулярных сетей. Если сеть состоит из слоев, рекомендуется использовать обратное распространение, так как оно быстрее.
Вы здесь правы, и не только с ВР. Большинство сетевых архитектур, имеющих специальный алгоритм обучения, подходят для этого лучше, чем ГА.
Но для нерегулярных сетей может не быть отдельного алгоритма обучения. Для них ГА позволяет вам экспериментировать и тренироваться. Тестирование архитектур, чтобы увидеть, возможно ли решение, прежде чем пытаться написать специальный алгоритм обучения.
Помните, что до изобретения BP был десятилетний перерыв в ИНС, потому что не было метода обучения МЛП!
Если обратное распространение быстрее и требует сети, состоящей из слоев, зачем мне выбирать GA для обучения или проектирования сети?
Если вы используете сеть FF, BP обычно является лучшим выбором для ОБУЧЕНИЯ. Однако обучение включало только манипулирование весами. Генеральный анализ можно использовать для проектирования структуры и изменения других элементов, таких как смещение, функция сжатия и т. д.
Следует отметить, что часто упускается из виду, что обратное распространение обучает одну сеть, регулируя веса. ГА представляет собой совокупность множества сетей с фиксированными весами, он развивает решение, которое представляет собой сеть, «рожденную» с фиксированными весами. Нет фактического сетевого обучения/обучения.
При этом исходные параметры одиночной сети; количество нейронов, слоев, смещение, начальные веса могут потребовать внимания и экспериментов. Параметры ГА; размер популяции, начальные значения, частота мутаций, кроссовер... все это влияет на время эволюции и результат вероятного или возможного решения.
person
Niccolo
schedule
14.08.2014