GotAI.NET

Форум: Проблемы искусственного интеллекта

 

Регистрация | Вход

 Все темы | Новая тема Стр.1 (1)   Поиск:  
 Автор Тема: Скрытые слои: количества нейронов
euph0ria
Сообщений: 4
Скрытые слои: количества нейронов
Добавлено: 02 окт 06 19:29
Реализую НС, аппроксимирующую несколько функций от нескольких переменных (несколько нейронов во входном слое и несколько (1-5) в выходном). НС обучается на основе алгоритма обратного распространения.

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

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

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

Спасибо!
[Ответ][Цитата]
Victor G. Tsaregorodtsev
Сообщений: 3187
На: Скрытые слои: количества нейронов
Добавлено: 03 окт 06 7:55
Цитата:
количество нейронов в скрытом слое не стоит делать бОльшим количества обучающих пар, дабы сеть не постигло переобучение.


По-хорошему, и общее число синапсов в сети тоже не должно превосходить числа обучающих примеров

Цитата:

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


От количества обучающих пар ничего реально не зависит, все формулы-оценки на этой основе идут лесом однозначно.
"Узкие" места в сети определяются после её обучения на основании NIC-критерия Мураты и Амари, критерия Бартлетта (вернее, послойной детализации этих критериев). Качество работы (прогнозирования, классификации) нейросети и доверительные интервалы прогноза зависят только от "внутренних" свойств сети - весов синапсов, производных по ним и по входам (отсюда и написал, что от числа примеров обучения ничего не зависит), поэтому все внешние по отношению к уже созданной и обученной нейросетке формулы являются грубым надувательством.
Так что Вам остается только работа методом тыка, т.к. нужных инструментов для целенаправленного пошагового уточнения структуры у Вас нет.

Если не хочется оптимизировать структуру сети в ручном режиме - возьмите алгоритмы построения растущих нейросетей (метод каскадной корреляции и иже с ним)


--------------------------
нейронные сети, анализ данных, прогнозирование
[Ответ][Цитата]
euph0ria
Сообщений: 4
На: Скрытые слои: количества нейронов
Добавлено: 03 окт 06 19:00
Хм.. кое-что прояснилось =)

А есть ли какая-нибудь тенденция для распределения количества нейронов по слоям? (это я пытаюсь избежать использования растущих нейросетей =) , ручной же метод просто неприемлем)

Допустим, сеть с одним скрытым слоем лучше всего обучается с 20 нейронами в скрытом слое. Можно ли попробовать "вслепую" статически создать ее, но с двумя-тремя скрытыми слоями, чтобы увеличить точность? Если да, сколько нейронов лучше им давать (5-10, 5-10-15, 5-10-5)? Или это все бессмысленно?
[Ответ][Цитата]
Victor G. Tsaregorodtsev
Сообщений: 3187
На: Скрытые слои: количества нейронов
Добавлено: 04 окт 06 8:34
Да я бы не сказал, что есть какая-то тенденция. Эмпирика-то конечно есть, но не теория. Теория только может показать узкое место (в обученной сети!), а сколько нейронов придется добавить в это узкое место - не покажет, это надо будет тоже пробовать понейронным наращиванием, поэтому и смысл теории тут тоже относительно невелик.

И непонятно, что значит "лучше всего обучается" - имеется в виду число эпох обучения, ошибка обучения, ошибка обобщения или какой-то эмпирический критерий на их основе?


--------------------------
нейронные сети, анализ данных, прогнозирование
[Ответ][Цитата]
euph0ria
Сообщений: 4
На: Скрытые слои: количества нейронов
Добавлено: 04 окт 06 12:30
Лучше всего обучается - имел ввиду наименьшую ошибку аппроксимации =)

Выходит, правильно будет созавать сеть понейронным наращиванием. Насколько я понял, там берется поначалу несложная сеть, обучается, затем в эту обученную сеть добавляют необученный нейрон или еще один слой, дообучают и смотрят на изменение ошибки. В принципе, конечно, лучше всего это смотреть самому, но сразу беспокоит вопрос, на сколько при этом затягивается процесс обучения? В моем случае НС с двумя скрытыми слоями может обучаться, скажем, 6 часов. На сколько эта цифра возрастет, если она будет строится понейронным наращиванием?
[Ответ][Цитата]
Victor G. Tsaregorodtsev
Сообщений: 3187
На: Скрытые слои: количества нейронов
Добавлено: 04 окт 06 14:45
Наверно, проще будет вручную перебрать несколько вариантов-размеров слоистой сети, чем программировать растущие сети. Тем более, что для наименьшей ошибки аппроксимации чем больше размер сети, тем лучше, однозначно


--------------------------
нейронные сети, анализ данных, прогнозирование
[Ответ][Цитата]
euph0ria
Сообщений: 4
На: Скрытые слои: количества нейронов
Добавлено: 04 окт 06 14:52
Понятно. =)

Огромное спасибо за ответы!!
[Ответ][Цитата]
 Стр.1 (1)