экстремальная архитектура нейронной сети - PullRequest
0 голосов
/ 17 декабря 2018

У меня быстрый простой вопрос о нейронной сети.Как мы все знаем, лучше сделать сеть глубже, чем шире.Так что же произойдет, если я назначу каждый скрытый слой только одним нейроном и расширим свою сеть действительно глубоко?

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

спасибо!

1 Ответ

0 голосов
/ 20 декабря 2018

Очевидно, что пример с одним нейроном не работает - иначе это то, что мы использовали бы.

Ядра каждого слоя в CNN используют пространственные отношения и оценивают эти сопоставления с помощью нелинейные функции, которые являются основным дифференцированием CNN по простой линейной комбинации NN.Без этих нелинейных операций слои CNN являются просто удобством программирования.

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

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

Теперь параметризуйте все постоянные коэффициенты в этом массовом расчете.Получите 10 ^ 6 реальных наблюдений и обучите свою модель только на этом входе и метках (сумма налога / возврата).Вы не получите каких-либо промежуточных результатов для проверки, только этой окончательной суммы.

Это возможно, но не так просто написать, отладить или поддерживать.

...