Необходимый обзор некоторых важнейших концепций методов глубокого обучения.

Предварительные требования: дифференциальный анализ, линейная алгебра, задачи оптимизации

Давайте определим на высоком уровне, что такое алгоритм обучения:

Говорят, что алгоритм учится на опыте E в отношении некоторого класса задач T и производительности P, если его производительность при выполнении задач в T, измеряемая P, улучшается с опытом E.

Из вышеприведенного определения подчеркнуты три сущности:

T = {классификация, регрессия, кластеризация, обнаружение объектов, распознавание изображений, ответы на вопросы, исправление грамматики, …. }

P = {точность, показатель F-бета, кросс-энтропия, кривая точности-отзыва, ….}

E = {контролируемый, неконтролируемый, обучение с подкреплением, …}

Вышеприведенное определение является очень общим и даже если позволяет получить общее представление, ничего не говорит о том, как построить алгоритм обучения.

Это может быть полезно, начиная с базовой модели, чтобы подчеркнуть основное отличие модели глубокого обучения от общего машинного обучения.

Базовый пример: линейная регрессия

В алгоритме линейной регрессии окончательный результат дает предикторную функцию в форме:

Оптимальные параметры задачи получаются путем решения в аналитической форме уравнения:

Где функция потерь может быть следующей:

Поскольку линейная форма функции предиктора, уравнение градиента имеет аналитическое решение для весов следующим образом:

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

Приведенный выше алгоритм называется Линейный метод наименьших квадратов.

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

Подход к глубокому обучению:

В подходе DL конечная цель остается прежней: получить функцию аппроксимации f* реальной функции f. Нейронная сеть с прямой связью (FFN) определяет отображение

Однако окончательный вид отображения не навязывается, а определяется самой сетью автоматически.

Термин упреждающая связь основан на концепции, согласно которой информация проходит через функцию, оцениваемую по x, через промежуточные вычисления, используемые для определения f. Термин сети используется потому, что FFN обычно представляются путем объединения множества различных функций. Действительно, модель связана с Прямым ациклическим графом (DAG), описывающим, как функции складываются вместе. Термин нейронный происходит от того факта, что наименьшая модельная единица представляет собой математическое представление (модель наставника) функциональных актов нейрона головного мозга, как сообщает нейробиология.

Конечный результат FFN имеет форму рекурсивно вложенных функций композиции входов:

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

Модель FNN можно описать как серию функциональных преобразований, состоящую из M линейных комбинаций входных переменных.

Где k относится к номеру выбранного слоя, i идет от 1 до M (размерность входного вектора), w_ji — веса, а w_j0 — смещение. Термин a^k_j является j-й входной активацией k-го слоя. Затем каждая входная активация преобразуется с помощью дифференцируемой нелинейной функции, чтобы дать (функция активации):

Ниже приводится типичная нелинейная функция активации h, используемая в приложениях, она является дифференцируемой и нелинейной.

В структуре глубокого обучения оптимальные параметры получаются с помощью той же математической концепции наименьшего квадрата, что и выше. Определяется функция потерь, вычисляется ее градиент относительно параметров модели, однако, в отличие от Линейного метода наименьших квадратов, функция потерь является не более выпуклой, поэтому существование уникальный глобальный минимум, больше не гарантируется.

Стохастический градиентный спуск (SGD)

Процедура обучения DL требует решения задачи оптимизации. Веса модели изучаются путем их перемещения в направлении минимальных значений функции потерь:

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

Термин стохастический происходит от того факта, что алгоритм вычисляется для пакета из M входных значений, таких что M‹N, где N — общее количество входных данных. Наименьшая партия M элементов извлекается из общего подмножества N элементов случайным образом за число E эпох.

Использованная литература:

  1. Гудфеллоу, Ян, Йошуа Бенджио и Аарон Курвиль. Глубокое обучение. Массачусетский технологический институт, 2016.
  2. Линейная алгебра и оптимизация для машинного обучения: Чару С. Аггарвал