Перейти к содержимому
Compvision.ru
_me_

Нейронные сети в matlab

Recommended Posts

Добрый день,

Пытаюсь обучить следующую нейронную сеть, имеющую один выходной нейрон, на множестве из 200 образцов:

net = newff(X,outputs,[2500, 1000, 500],{'logsig','logsig','logsig','logsig'},'traingd');

net.trainParam.show = 50;

net.trainParam.lr = 0.5;

net.trainParam.epoch = 100;

net.trainParam.goal = 0.01;

net.trainParam.max_fail = 6;

В начале обучения значение ошибки уменьшается достаточно быстро, а потом начинает изменяться очень медленно. В итоге за полчаса обучения ошибка равняется значению где-то около 0,12. Подскажите пожалуйста, что можно попробовать изменить, чтобы сеть обучалась?

До этого моделировала сеть с использованием библиотеки FANN - все довольно быстро работало и обучалось, при этом структура сети и обучающее множество были точно такими же.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Думаю что чистый градиентный спуск не самый быстрый метод оптимизации. Попробуйте TRAINLM или TRAINBFG, мне думается будет побыстрее.

Можно попробовать еще уменьшить скорость обучения до 0.1 вполне может быть что перелетает минимум.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

2. Так же могу посоветовать trainrp -- быстрая и простая функция обучения которая обычно дает неплохую точность (за счет того же невилирует некоторые недостатки сигмоидальных функций активации; и меняет шаг обучения для каждого веса). TRAINLM -- классический способ обучения если хватает оперативной памяти. В матлабе не так просто сделать минипакетный minibatch, который можно былобы обучать по методу TRAINLM

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте учётную запись или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать учётную запись

Зарегистрируйтесь для создания учётной записи. Это просто!

Зарегистрировать учётную запись

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×