9.9. Случайные признаки и признаки,
обученные без учителя
Обычно самой дорогостоящей частью обучения сверточной сети является обучение
признаков. Выходной слой, как правило, обходится относительно недорого, потому
что ему на вход подается небольшое число признаков, прошедших несколько слоев
пулинга. Если производится обучение с учителем методом градиентного спуска, то на
каждом шаге необходимо выполнить полный цикл прямого и обратного распростра-
нений по всей сети. Один из способов уменьшить стоимость обучения сверточной
сети – использовать признаки, для которых не применялось обучение с учителем.
Есть три основные стратегии получения сверточных ядер без обучения с учите-
лем. Первый – просто инициализировать случайным образом. Второй – спроекти-
ровать вручную, настроив каждое ядро на обнаружение границ определенной ори-
ентации или в определенном масштабе. Наконец, можно обучать ядра без учителя.
Например, в работе Coates et al. (2011) кластеризация методом
k
средних применена
к малым патчам изображения, а затем каждый обученный центроид использовался
в качестве ядра свертки. В части III мы опишем много других подходов к обучению
без учителя. Обучение признаков без учителя позволяет определять их отдельно от
слоя классификации, занимающего верхнее место в архитектуре. Следовательно,
можно выделить признаки для всего обучающего набора только один раз, по суще-
ству построив новый обучающий набор для последнего слоя. Тогда обучение послед-
него слоя часто оказывается задачей выпуклой оптимизации в предположении, что
этот слой реализует логистическую регрессию, метод опорных векторов или что-то
подобное.
Случайные фильтры нередко работают на удивление хорошо в сверточных сетях
(Jarrett et al., 2009; Saxe et al., 2011; Pinto et al., 2011; Cox and Pinto, 2011). В работе
Saxe et al. (2011) показано, что слои, состоящие из свертки, за которой следует пулинг,
естественно становятся частотно-избирательными и инвариантными относительно
параллельного переноса, если им приписать случайные веса. Авторы предлагают сле-
дующий дешевый способ выбора архитектуры сверточной сети: сначала оценить ка-
чество нескольких архитектур, обучив только последний слой, а затем взять лучшую
архитектуру и обучить ее целиком, применив более дорогой способ.
Промежуточное решение – обучить признаки, но не использовать методов, требую-
щих полного прямого и обратного распространений на каждом шаге вычисления
градиента. Как и в многослойных перцептронах, мы применяем жадное послойное
предобучение, чтобы обучить первый слой отдельно, затем выделяем все признаки
только из первого слоя, потом обучаем отдельно второй слой, зная эти признаки, и т. д.
В главе 8 мы описали, как выполняется жадное послойное предобучение с учителем,
а в части III обобщим эту идею на жадное послойное предобучение, применяя в каж-
дом слое критерий, не требующий учителя. Канонический пример жадного послой-
ного предобучения сверточной модели дает сверточная глубокая сеть доверия (Lee et
al., 2009). Сверточные сети дают возможность продвинуть стратегию предобуче ния
на шаг дальше, чем было возможно в многослойных перцептронах. Вместо обуче ния
Do'stlaringiz bilan baham: |