Существует ли правило большого пальца для проектирования нейронных сетей?

12

Я знаю, что архитектура нейронной сети в основном основана на самой проблеме и типах ввода / вывода, но все же - всегда есть «квадратная», когда начинается ее создание. Итак, мой вопрос - учитывая входной набор данных MxN (M - количество записей, N - количество объектов) и C возможных классов вывода - существует ли правило большого пальца, с какого количества слоев / единиц мы должны начать?

shakedzy
источник
Возможные ответы на этот вопрос очень специфичны для конкретной проблемы. Могут быть некоторые полезные правила для распознавания объекта изображения, но эти правила могут не работать с другим набором данных.
18:00

Ответы:

10

На этот вопрос подробно ответили на CrossValidated: Как выбрать количество скрытых слоев и узлов в нейронной сети с прямой связью?

Однако позвольте мне добавить свои два цента:

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

Лучшее место для поиска - официальные или неофициальные примеры использования популярных библиотек нейронных сетей, таких как Keras, PyTorch или Tensorflow, и архитектуры, описанные в научной литературе. keras / examples на github - отличный ресурс.

Эти архитектуры, вероятно, были выбраны после большого количества проб и ошибок, поэтому большая часть работы будет выполнена для вас.

Имран
источник
5
Одним из предостережений к ответу CrossValidated является то, что ему уже 7 с лишним лет, и он указывает на 15 с лишним лет часто задаваемых вопросов для «отличного резюме» по настройке скрытых слоев. Сказать, что за последние 7-15 лет была проделана большая работа по настройке NN, - значит немного преуменьшить. Растет число приложений, которые выходят за пределы режима « достаточно одного скрытого слоя ». - Тем не менее, для множества проблем подход глубокого обучения может быть излишним. Начинать с одного скрытого слоя и углубляться только в случае необходимости - это надежная стратегия.
RM
1
Хорошие моменты, Р.М. - Второй ответ там гораздо более недавний, однако.
Имран,
@ Имран, я думаю, ты никогда не отвечаешь на вопрос ОП. Выбор скрытых узлов и архитектуры - это очень глубокий вопрос, который до сих пор не очень хорошо понят. Посмотрите ResNet и широкий ResNet с межуровневыми подключениями.
18:00
Спасибо за ваш комментарий, @horaceT. Мой попытанный ответ означал: «Эмпирического правила не существует, но есть эвристика, которую можно применить». Я в курсе Res Rests. Пожалуйста, дайте мне знать, как еще я могу улучшить свой ответ.
Имран
3

Я прочитал статью, в которой исследуется идея использования нейронных сетей для проектирования других нейронных сетей, исследуя, какая конфигурация узлов и слоев была наиболее эффективной. Вот страница, где вы можете скачать PDF https://arxiv.org/abs/1611.02120

Даниэль Эфрат
источник
2

После ответа @ Imran я нашел эту статью в одном из комментариев к сообщению CrossValidated, на которое он ссылался. Помимо попытки найти правильную архитектуру с использованием генетических моделей (вместо использования эмпирического правила), в разделе 2.1 даются некоторые теоретические границы того, сколько скрытых единиц должно быть в системе с одним / двумя скрытыми слоями.

РЕДАКТИРОВАТЬ: Я проверил эту теорему и обнаружил, что использование генетических моделей так же хорошо, как выбор случайной архитектуры.

shakedzy
источник