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

Скрытые слои: количества нейронов

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


Зарегистрирован: 01 Окт 2006
Сообщения: 2
Откуда: Minsk

СообщениеДобавлено: Пн Окт 02, 2006 6:57 pm    Заголовок сообщения: Скрытые слои: количества нейронов Ответить с цитатой

Реализую НС, аппроксимирующую несколько функций от нескольких переменных (несколько нейронов во входном слое и несколько (1-5) в выходном). НС обучается на основе алгоритма обратного распространения.

Встает проблема выбора количества слоев и количества нейронов в скрытых слоях.
Было установлено, что при число слоев больше 4 (3 скрытых, соответственно) брать нецелесообразно - сеть обучается только хуже.
С другой стороны, количество нейронов в скрытом слое не стоит делать бОльшим количества обучающих пар, дабы сеть не постигло переобучение.

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

Может есть литература, где именно этот вопрос был бы понятно разобран?

Спасибо!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Victor G. Tsaregorodtsev
Эксперт
Эксперт


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

СообщениеДобавлено: Вт Окт 03, 2006 7:59 am    Заголовок сообщения: Ответить с цитатой

Ответил на другом форуме http://gotai.net/forum/Default.aspx?postid=931#931
_________________
www.neuropro.ru - нейросети, анализ данных, прогнозирование
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Oleg Agapkin
Администратор
Администратор


Зарегистрирован: 10 Июн 2005
Сообщения: 112
Откуда: Москва

СообщениеДобавлено: Ср Окт 04, 2006 7:27 pm    Заголовок сообщения: Ответить с цитатой

Цитата:
НС обучается на основе алгоритма обратного распространения
....
Было установлено, что при число слоев больше 4 (3 скрытых, соответственно) брать нецелесообразно - сеть обучается только хуже.

Согласен. Больше слоев ставить просто нецелесообразно.
Сеть с одним скрытым слоем по соотношению Качество работы/Сложность обучения - безусловный фаворит. Иногда на одних и тех же данных сети с двумя и тремя слоями дают чуть меньшую ошибку, но скорость их обучения и их "капризность" выше намного.

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

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

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

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


Таким образом вполне разумные критерии остановки тренировки, которые используются в большинстве нейроэмуляторов (например, остановка когда ошибка на тестовом наборе не уменьшалась в течении n эпох) могут тормознуть обучение еще до того, как сеть "нащупает" серьезный минимум на энергетическом ландшафте.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
euph0ria
Новый посетитель
Новый посетитель


Зарегистрирован: 01 Окт 2006
Сообщения: 2
Откуда: Minsk

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

Oleg Agapkin, спасибо и Вам! Теперь многое прояснилось! =)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Eugeen
Эксперт
Эксперт


Зарегистрирован: 15 Ноя 2005
Сообщения: 66
Откуда: Москва

СообщениеДобавлено: Пт Окт 06, 2006 8:05 am    Заголовок сообщения: Re: Скрытые слои: количества нейронов Ответить с цитатой

Примерно Ваш случай я исследовал в: http://neuralnetwork.narod.ru/besucher.html

Примечательно, что кривую для ошибки обучения, которую приводит Oleg Agapkin у меня давал только метод сопряженных градиентов. А Левенберг-Маквардт давал плавную кривую (без ступенек). Видимо это скорее эффект метода поиска минимума функционала ошибки, а не свойство НС.
_________________
Мелочи не играют решающей роли. Они решают все.
"Жизнь среди акул", Х. Маккей.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Oleg Agapkin
Администратор
Администратор


Зарегистрирован: 10 Июн 2005
Сообщения: 112
Откуда: Москва

СообщениеДобавлено: Пн Окт 09, 2006 12:53 pm    Заголовок сообщения: Re: Скрытые слои: количества нейронов Ответить с цитатой

Eugeen писал(а):
Примечательно, что кривую для ошибки обучения, которую приводит Oleg Agapkin у меня давал только метод сопряженных градиентов. А Левенберг-Маквардт давал плавную кривую (без ступенек). Видимо это скорее эффект метода поиска минимума функционала ошибки, а не свойство НС.

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

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


Rambler's Top100 Rambler's Top100