Метод оптимизации второго порядка для крупномасштабного глубокого обучения

В этой статье я обобщаю Аппроксимированную кривизну с учетом фактора Кронекера (K-FAC) (Джеймс Мартенс и др., 2015), один из наиболее эффективных методов оптимизации второго порядка для глубокого обучения.

Обзор

Тяжелые вычисления кривизны ограничили количество применений методов оптимизации второго порядка в глубоком обучении. Приблизительная кривизна с поправкой на коэффициент Кронекера (K-FAC) - это метод оптимизации второго порядка для глубокого обучения, предложенный Джеймсом Мартенсом и Роджером Гроссе из Университета Торонто в ICML2015, который аппроксимирует кривизну по Факторизация Кронекера и снижает вычислительную сложность обновления параметров. Благодаря эффективным методам второго порядка, включая K-FAC, исследователи машинного обучения теперь начинают пересматривать преимущества быстрой конвергенции методов второго порядка для сокращения времени обучения глубокому обучению.

Естественный градиентный спуск

Естественный градиентный спуск (NGD) - это метод оптимизации, предложенный Шун-Ичи Амари в 1998 году на основе информационной геометрии. NGD правильно получает ландшафт потерь, используя информационную матрицу Фишера (FIM) в качестве кривизны функции потерь, и сходится быстрее в терминах итераций, чем простой метод первого порядка, например, стохастический градиентный спуск. Следовательно, можно рассматривать NGD как эффективную реализацию оптимизации второго порядка.

FIM вероятностной модели, которая выводит условную вероятность y с учетом x, определяется следующим образом:

Это определение, которое принимает ожидаемое значение для данных, называется эмпирическим методом Фишера (когда вы используете мини-пакет, вы вычисляете среднее значение среди данных в нем, чтобы получить FIM). В задаче классификации изображений, поскольку люди часто используют среднее значение отрицательной логарифмической вероятности в качестве функции потерь, можно рассматривать FIM как приближение кривизны функции потерь. Уравнение ниже показывает взаимосвязь между FIM и гессианом отрицательной потери логарифма правдоподобия E (θ):

Правило обновления NGD:

Здесь обратное FIM применяется к градиенту потерь, а градиент, предварительно обусловленный FIM, называется естественным градиентом. Для параметров N размер FIM равен N x N, а нейронные сети, используемые в глубоком обучении, как правило, имеют огромное количество параметров (например, 60 миллионов параметров в AlexNet для классификации ImageNet), поэтому обратное FIM трудноразрешимо. , и это ограничивает количество приложений NGD для глубокого обучения.

Методы аппроксимации естественного градиента

В последние годы в некоторых работах были предложены методы, которые приближают (или избегают) инверсию FIM, и исследователи глубокого обучения пересмотрели« быструю конвергенцию NGD».

Грубо говоря, существует три вида методов аппроксимации (я сослался на эту статью для этой категоризации.)

  1. Приближенная информационная матрица Фишера (чтобы легко вычислить обратную матрицу)
  2. Повторно параметризуйте, чтобы сделать FIM ближе к единичной матрице.
  3. Непосредственно приблизьте естественный градиент.

Аппроксимация с использованием факторизации Кронекера (K-FAC)

Можно рассматривать K-FAC как один из методов аппроксимации естественного градиента, что соответствует «1. приближенная информационная матрица Фишера (чтобы было легко вычислить обратную матрицу) ». В частности, это наиболее эффективный метод аппроксимации, основанный на математическом принципе, по сравнению с другими методами аппроксимации естественного градиента.

Во-первых, K-FAC блок-диагонализует FIM, где каждый диагональный блок соответствует параметрам каждого уровня нейронной сети. Например, K-FAC аппроксимирует FIM для трехуровневой сети как блочно-диагональную матрицу с тремя блоками.

Затем K-FAC аппроксимирует каждый блок с помощью произведения Кронекера двух матриц (это называется факторизация Кронекера).

Наконец, K-FAC использует критическое свойство произведения Кронекера матриц:

Короче говоря, K-FAC аппроксимирует инверсию FIM как блочно-диагональную матрицу, где каждый диагональный блок является инверсией крошечных факторов Кронекера (по сравнению с FIM).

Чтобы прояснить размер факторов Кронекера (насколько вы можете уменьшить сложность для обратного), я объясняю механизм факторизации Кронека. Взяв в качестве примера полностью связанный слой, вы можете увидеть, как факторизовать диагональный блок FIM (для удобства, называемый блоком Фишера), соответствующий этому слою. Блок Фишера в i-м слое выражается как

(Обозначение математического ожидания упрощено.) Где ∇i - градиент для параметров i-го слоя. Используя метод обратного распространения, который является эффективным методом вычисления градиентов в глубокой нейронной сети, градиент логарифмической вероятности (для каждого образца) представляется как произведение Кронекера двух векторов:

Используя это соотношение, блок Фишера можно преобразовать в форму «математического ожидания продукта Кронекера»:

K-FAC аппроксимирует «ожидаемую стоимость продукта Кронекера» как «произведение Кронекера ожидаемой стоимости» (факторизация Кронекера).

Как объяснялось выше, факторизация Кронекера значительно снижает вычислительную сложность инверсии блока Фишера. Вы можете более четко увидеть этот эффект, взяв в качестве примера AlexNet, архитектуру, часто используемую в области классификации изображений. На следующем рисунке показан результат сравнения размеров матриц для всех слоев и последнего слоя (полностью подключенного уровня) AlexNet для ImageNet (классификация 1000).

Подводя итог, можно сказать, что K-FAC - это метод аппроксимации естественного градиента, который выполняет следующие три процедуры.

  1. Путем блочной диагонализации информационной матрицы Фишера (каждый диагональный блок соответствует каждому слою) игнорируется корреляция параметров по слоям.
    * Существует также метод, использующий трехдиагональный блок (с учетом корреляции параметров соседних слоев).
  2. С помощью факторизации Кронекера каждого диагонального блока (блока Фишера) игнорируйте корреляцию между «входным» и «выходным градиентом» в каждом слое.
  3. Используя приближение 1, 2, эффективно вычислите обратную матрицу информационной матрицы Фишера, чтобы получить естественный градиент.

Здесь я ввел K-FAC для полносвязного слоя, но в K-FAC для сверточного слоя применяется большее приближение в дополнение к 2 (см. Статью.)

Наконец, я показываю эффективность K-FAC на примере задачи классификации (классификация 10 классов) набора данных изображения CIFAR-10. На рисунке ниже показано сравнение тренировочных кривых метода стохастического градиентного спуска (SGD), естественного градиентного спуска без какого-либо приближения (NGD) и K-FAC.

Вы можете видеть, что NGD сходится быстрее, чем SGD по «количеству итераций», но в NGD время вычислений на итерацию велико, поэтому вы также можете видеть, что «прошедшее время» позже, чем SGD. С другой стороны, K-FAC хорошо воспроизводит тренировочную кривую NGD по «количеству итераций», а также быстрее, чем «SGD» по «затраченному времени».

Эта быстрая сходимость мотивирует введение метода аппроксимации естественного градиента, такого как K-FAC, но применение K-FAC ограничено в крупномасштабном глубоком обучении, таком как ImageNet, и никто раньше не проверял эффективность против SGD.

Применение K-FAC

Реализации K-FAC

Заключение

В этой статье я объяснил схему K-FAC, который является одним из методов аппроксимации метода естественного градиента. Я пожертвовал математической строгостью и стремился к интуитивному пониманию.