2014-10-17 3 views
0

Обычно обратное распространение NN имеет проблему исчезновения градиентов. Я обнаружил, что Свернующий NN (CNN) каким-то образом избавляется от этих исчезающих проблем градиента (почему?).Почему предварительная подготовка для сверточных нейронных сетей

Также в некоторых документах для CNN обсуждались некоторые подходы к предварительной обработке. Может ли кто-нибудь объяснить мне следующее?

(1) the resons for pretraining in CNN and 
    (2) what are the problems/limitations with CNN? 
    (3) any relavent papers talking about the limitation of CNN? 

Заранее спасибо.

+0

как раз в отношении первый пункт. CNN, поскольку другие типы методов глубокого обучения пытаются узнать много узлов и слоев, которые разбавляют силу алгоритма backpropagation. разность ошибок 10% в выходном узле может привести к обновлению 0,000001% в первых слоях. Предварительная подготовка (неконтролируемые методы) не страдает от этих проблем и может быть использована для обновления сети, чтобы иметь значимые веса перед использованием backpropagation для точной настройки (и связывания шаблонов с нашим желаемым результатом). – ASantosRibeiro

+0

попробуйте найти это в перекрестном подтверждении: http://stats.stackexchange.com/search?q=cnn – killogre

ответ

3
  1. Pretraining - это методика регуляризации. Это улучшает точность обобщения вашей модели. Поскольку сеть подвергается большому количеству данных (у нас есть огромное количество неконтролируемых данных во многих таках), весовые параметры переносятся в пространство, которое с большей вероятностью будет представлять распределение данных в целом, а не переназначение определенного подмножества базовых данных распределение. Нейронные сети, особенно те, которые обладают высокой способностью представления модели с количеством скрытых единиц, имеют тенденцию перегружать ваши данные и уязвимы для случайных инициализаций параметров. Кроме того, поскольку начальные уровни правильно инициализируются контролируемым способом, проблема разбавления градиента уже не такая уж серьезная. Вот почему предварительная предварительная обработка используется в качестве начального шага к контролируемой задаче, которая обычно выполняется с алгоритмом градиентного спуска.

  2. CNN разделяют ту же участь с другими нейронными сетями. Слишком много параметров для настройки; оптимальный размер исправления ввода, количество скрытых слоев, количество карт функций на каждый слой, размеры пула и шага, окна нормализации, скорость обучения и другие. Таким образом, проблема выбора модели относительно сложнее по сравнению с другими методами ML. Обучение крупных сетей осуществляется либо на графических процессорах, либо в кластере процессоров.

+0

Я не уверен в других нейронных сетях, но я считаю, что CNN не может быть обучен кластерам эффективно. Обычно это делается на графических процессорах. Хотелось бы, конечно, исправить. –

+1

Я тренировал их на кластере, что, очевидно, не является эффективным способом сделать это. Но по-прежнему ведется работа по обучению глубоких сетей на очень больших машинах без использования графических процессоров. Если вам интересно, я хотел бы направить вас к статье: http://cs.stanford.edu/people/ang/?portfolio=large-scale-distributed-deep-networks – Cylonmath

+0

ах я вижу. Спасибо. –

Смежные вопросы