Я только что увидел бумагу, в которой говорится, что эмпирическое минимальное число - \ sqrt_ {n_ {in} + n_ {out}} + 1. Андрей сказал, что каждый скрытый слой может иметь такое же количество нейронов. Итак, есть ли какое-нибудь хорошее представление об этом?Как определить количество нейронов в скрытом слое нейронных сетей BP?
ответ
Общим решением этой проблемы является поиск в сетке нескольких конфигураций скрытого слоя нейронной сети и использование набора проверки для сравнения коэффициентов ошибок. Это должно дать вам разумную оценку наиболее вероятной конфигурации сети, чтобы лучше обобщать новые данные.
В общем, слишком мало скрытых нейронов не позволит вашей нейронной сети изучить шаблоны в вашем наборе данных. Слишком много скрытых нейронов позволит вашей сети переназначить шаблоны в наборе данных, поскольку у него достаточно доступной «памяти», чтобы узнать ложные образцы шума.
Да, я знаю. Проблема в том, что время обучения NN часто довольно длительное, как несколько дней, поэтому поиск в сетке займет слишком много времени, потому что может быть много вариантов. – Crazymage
Существует нет «лучшего» ответа на этот вопрос, и это очень специфическая проблема. Джефф Хинтон говорит в два раза больше нейронов в первый скрытый слой, чем на исходном уровне, который дает результаты «большого количества времени». Но много лет назад было рекомендовано использовать пирамидальную форму: input> hidden> output. – FiReTiTi