Предварительная подготовка в глубокой сверточной нейронной сети?

33

Кто-нибудь видел какую-нибудь литературу по предварительной подготовке в глубокой сверточной нейронной сети? Я видел только неконтролируемую предварительную подготовку в автоэнкодере или ограниченных машинах Больцмана.

RockTheStar
источник

Ответы:

39

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

f(x)=max(0,x)

Статья Glorot, Bordes и Bengio использовала ReLU для многослойных персептронов, а не Conv Nets. Предыдущая статья Какова лучшая многоступенчатая архитектура для распознавания объектов Джарретом и другими из группы Нью-Йорка Янна ЛеКуна, в которой использовались выпрямляющие нелинейности, но для сигмоидальных единиц, поэтому у них были функции активации видаи т. д. В обеих статьях отмечалось, что использование выпрямляющих нелинейностей, по-видимому, закрывает большую часть разрыва между чисто контролируемыми методами и неконтролируемыми предварительно обученными методами.f(x)=|tanh(x)|

Еще одно новшество заключается в том, что мы нашли гораздо лучшие инициализации для глубоких сетей. Используя идею стандартизации дисперсии между уровнями сети, хорошие правила были установлены за эти годы. Одним из первых, наиболее популярных из них были Глорот и Бенжио, понимающие трудность обучения глубоких сетей с прямой связью, которые предоставили способ инициализации глубоких сетей в соответствии с гипотезой линейной активации, а затем и в Delving Deep Into Rectifiers.группой членов исследовательской группы Microsoft, которые изменяют инициализацию весов Glorot и Bengio для учета выпрямляющих нелинейностей. Инициализация веса очень важна для очень глубоких сетей. Для 30-слойной сети инициализация веса MSR была намного лучше, чем инициализация веса Glorot. Имейте в виду, что статья Glorot вышла в 2010 году, а статья MSR вышла в 2015 году.

Я не уверен, что статья Алексея Крижевского, Ильи Суцкевера и Джеффа Хинтона, в статье « Классификация ImageNet с глубокими сверточными нейронными сетями », первой использовала ReLU для сетей, но это имело наибольшее влияние. В этой статье мы видим, что ReLU для сетей ускоряют обучение, о чем свидетельствует один из их графиков CIFAR-10, который показывает, что сети ReLU могут достигать более низких коэффициентов ошибок обучения быстрее, чем сети без ReLU. Эти ReLU не страдают от исчезающих градиентных / насыщающих сигмоидальных проблем и могут использоваться для обучения гораздо более глубоких сетей. Еще одним важным нововведением стало использование обучения Dropout, стохастической инъекции шума или метода усреднения моделей (в зависимости от вашей точки зрения), который позволяет нам тренироваться в более глубоких, больших нейронных сетях дольше без чрезмерной подгонки.

И убедительные инновации продолжались стремительными темпами, почти во всех методах с использованием ReLU (или некоторых модификаций, таких как PReLU из Microsoft Research), Dropout и чисто контролируемого обучения (SGD + Momentum, возможно, некоторых адаптивных методов обучения, таких как RMSProp или ADAGrad ).

Таким образом, на данный момент многие наиболее эффективные сети, по-видимому, носят чисто контролируемый характер. Это не значит, что неконтролируемая предварительная подготовка или использование неконтролируемых методов могут не иметь большого значения в будущем. Но некоторые невероятно глубокие сети были обучены, соответствовали или превосходили показатели человеческого уровня на очень богатых наборах данных, просто используя контролируемое обучение. На самом деле, я считаю, что последняя презентация Microsoft Research на конкурс ImageNet 2015 состояла из 150 слоев. Это не опечатка. 150.

Если вы хотите использовать неконтролируемую предварительную подготовку для ловли, я думаю, что вам лучше всего найти задачу, в которой «стандартная» тренировка контролируемых неэффективно работает, и попробуйте неконтролируемую предварительную подготовку.

В отличие от моделирования на естественном языке, кажется, что трудно найти неконтролируемую задачу, которая помогает соответствующей контролируемой задаче, когда дело доходит до данных изображения. Но если вы достаточно осмотритесь в Интернете, вы увидите, что некоторые из пионеров глубокого обучения (Йошуа Бенжио, Янн ЛеКун и многие другие) говорят о том, насколько важно, по их мнению, обучение без надзора, и какое оно будет.

Инди AI
источник
1
Я видел в учебнике Стэнфорда на ConvNet, что в сверточных нейронных сетях есть предварительная подготовка. вот ссылка: cs231n.github.io/transfer-learning Они разные? так как они на самом деле делают то же самое правильно?
Рика
2
Привет, я извиняюсь за поздний ответ. Трансферное обучение сделано очень много. Он используется, чтобы избежать утомительной задачи обучения с нуля и вместо этого использовать функции, обученные в большом наборе данных, таком как ImageNet, и мы вместо этого обучаем классификатор только на основе этих функций. Я обновил свой ответ, чтобы указать, что в эти дни вы не видите много неконтролируемой предварительной подготовки , что не то же самое, что трансферное обучение. Спасибо за комментарий.
Инди AI
+1. Очень хороший ответ Чего мне не хватает, так это некоторого обсуждения или комментария относительно того, относится ли то, что вы говорите (то есть, что нет необходимости в предварительной подготовке), конкретно к сверточным нейронным сетям (если так, почему?) Или к любым глубоким сетям, включая не сверточные.
говорит амеба, восстанови Монику
14

Как можно понять из приведенных выше ответов, предварительное обучение было «вылеплено», когда происходило несколько вещей. Тем не менее, я хочу изменить мое понимание этого:

  1. Давным-давно, в 2010 году, все заботились о предварительной подготовке. Вот отличная статья на эту тему, которую я не видел.
  2. Незадолго до того, как Алекс Крижевский, Илья Суцкевер и Джефф Хинтон опубликовали свою статью под названием imagenet, люди все еще считали, что функции имеют значение, но были сосредоточены в основном на обучении без учителя и даже на обучении самообучению для создания этих функций.
  3. Нетрудно понять, почему - строительные блоки нейронных сетей в то время были не такими надежными и очень медленно сходились к полезным функциям. Много раз они даже эффектно провалились. Предварительное обучение было полезно, когда у вас было достаточно данных, и вы могли получить хорошую инициализацию для SGD.
  4. Когда Relu был поднят, сети сходятся быстрее. Когда появились утечки и новые решения, нейронные сети стали более надежными машинами, когда дело доходит до достижения жизнеспособного результата. Я настоятельно рекомендую вам поиграть с отличной демоверсией нейронных сетей , которую написал этот талантливый гуглер , вы поймете, о чем я говорю.
  5. Подходя к нашему главному, нельзя сказать, что какая-то форма предварительного обучения не важна для глубокого обучения. Если вы хотите получить самые современные результаты, вам необходимо выполнить предварительную обработку данных (например, ZCA) и правильно выбрать начальные веса - это очень хорошая статья по этому вопросу .

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

В заключение отметим, что машинное обучение очень модно. Лично я, как и Эндрю Нг, держу пари, что неконтролируемое и самоучка будет доминировать в будущем, поэтому не делайте это религией :)

rhadar
источник
13

Есть некоторые документы, но не так много, как авто-кодеры или RBMs. Я думаю, что причина - временная шкала NN. С накоплением RBM и autoencoder введены в 2006 и 2007 годах , соответственно. После трудоустройства ReLU в 2009 году неконтролируемое обучение частично прекращается (когда имеется достаточно данных для обучения в процессе непосредственного обучения). Несмотря на то, что сеть Convolution (или LeNet) была изобретена в 1989 году , она не может быть подготовлена ​​в качестве глубокой структуры до 2012 года, то есть после популяризации обучения под непосредственным руководством в ReLU. Таким образом, исследователи, я полагаю, обучили его в основном с помощью обучения под непосредственным руководством.

yasin.yazici
источник
Итак, вы согласны с тем, что в глубокой сверточной нейронной сети нет предварительной подготовки?
RockTheStar
4
@RockTheStar нет, есть, но не так много, как предыдущие два. research.microsoft.com/pubs/200804/CNN-Interspeech2013_pub.pdf это исследование использовало его. Вот короткая цитата; «Мы наблюдаем, что предварительная подготовка улучшает как DNN, так и CNN, за исключением CNN в TIMIT, где предварительная подготовка не помогла. В целом, относительное улучшение использования предварительной подготовки для CNN меньше, чем в DNN».
yasin.yazici