Список форумов neuroproject.ru neuroproject.ru
Форум сайта компании НейроПроект
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Артефакт BackPropogation or кривые руки

 
Начать новую тему   Ответить на тему    Список форумов neuroproject.ru -> Нейронные сети
Предыдущая тема :: Следующая тема  
Автор Сообщение
comm
Новый посетитель
Новый посетитель


Зарегистрирован: 05 Авг 2010
Сообщения: 2

СообщениеДобавлено: Чт Авг 05, 2010 1:16 pm    Заголовок сообщения: Артефакт BackPropogation or кривые руки Ответить с цитатой

Приветствую!
Я пишу программу по моделированию ИНН, при реализации у меня возник следующий вопрос реализации BackPropogation:
На сколько я понимаю BackPropogation - это градиентный метод, это означает, что каждый шаг обучения ведет в сторону антиградиента, то есть должен приводить к уменьшению ошибки целевой функции. Но при анализе процесса обучения я иногда(!) наблюдаю появление "горбов" при в функции ошибки. Часто этот эффект усиливается при перемешивании обучающих векторов на каждом шаге. Также значительно чаще это явление встречается при пакетном обучении нежели при адаптации.
Теперь собственно вопрос:
Является ли это артефактом BP (в следствии искажения его градиентной сущности, для обучения ИНН) или это ошибка в моей реализации алгоритма?
[/img]
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Victor G. Tsaregorodtsev
Эксперт
Эксперт


Зарегистрирован: 28 Июн 2005
Сообщения: 248
Откуда: Красноярск

СообщениеДобавлено: Чт Авг 05, 2010 4:29 pm    Заголовок сообщения: Ответить с цитатой

Если всё запрограммировано правильно - то эффект увеличения ошибки может возникать из-за слишком большого значения шага обучения. Уменьшите размер шага (в 2-10 раз) и попробуйте снова.

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

Ну а по рисунку видно, что сеть ничему не учится. Хотя, конечно, если эта сеть была из одного нейрона - тогда всё получилось правильно, а вот если в сети был скрытый слой нейронов - то где-то в бэкпропе случилась ошибка. Колебания ошибки вверх-вниз на этом графике - это "естественное" поведение при попримерном обучении и ничему не обучающейся сети (т.е. я надеюсь, что под горбами в функции ошибки Вы понимали всё же иную картину).
_________________
neuropro.ru - нейронные сети, анализ данных, прогнозирование
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
comm
Новый посетитель
Новый посетитель


Зарегистрирован: 05 Авг 2010
Сообщения: 2

СообщениеДобавлено: Чт Авг 05, 2010 10:22 pm    Заголовок сообщения: Ответить с цитатой

Да действительно, на появление горбов влияет параметр скорости обучения! Спасибо

А на рисунке изображен график обучения достаточно сложной сети с 2я скрытыми слоями, как не странно такой график получается только при пакетном обучении. При менее сложных топологиях и при поштучном обучении такого не наблюдается...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов neuroproject.ru -> Нейронные сети Часовой пояс: GMT + 4
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Rambler's Top100 Rambler's Top100