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

Чтобы ответить на этот вопрос, во-первых, нам нужно знать об энтропии. Энтропия - это мера неопределенности случайной величины. Если у нас есть случайная величина X, и у нас есть функция массы вероятности p (x) = Pr [X = x ], мы определяем энтропию H (X) случайной величины X с помощью

Теперь как мы можем узнать, что это значение H (X) соответствует неопределенности X? Представьте себе, что существует один x с вероятностью 1. Мы должны точно знать, что значение X всегда должно быть x и ничего еще. Если мы поместим это в уравнение (1), мы получим

где первый член во второй строке равен 0 по log (1), а второй член равен 0 по p (x _hat), поскольку сумма p (x ) должно быть 1. Обратите внимание, что мы используем 0 log 0 = 0, что может быть оправдано x log x → 0 при x → 0. Следовательно, если мы очень уверены, что случайная величина будет иметь значение, это означает, что неопределенность будет очень низкой. Это понятие очень хорошо отражено на графике зависимости H (p) от p в распределении Бернулли.

Если мы внимательно посмотрим на определение энтропии случайной величины, мы увидим, что энтропия связана с математическим ожиданием случайной величины, то есть мы можем написать

Таким образом, энтропия случайной переменной - это ожидаемое значение журнала случайных величин (1 / p (x)), где X берется из p (x). Обратите внимание, что мы также можем обозначать энтропию как H (p).

Теперь предположим, что у нас есть неизвестное истинное распределение p (x), и мы смоделировали приближенное распределение q (x ), неэффективность предположения, что истинное распределение равно q (x), а не p (x ) можно измерить с помощью относительной энтропии или расстояния Кульбака-Лейблера. Другими словами, относительная энтропия - это мера расстояния между двумя распределениями. Относительная энтропия, обозначаемая D (p || q), определяется как

Если мы развернем журнал (p (x) / q (x)), мы получим

Где второй член в правой части - это энтропия распределения p (x), а первый член в правой части - это кросс-энтропия. . Мы видим, что кросс-энтропия тесно связана с относительной энтропией, и мы можем определить кросс-энтропию, обозначенную H (p, q ) как

Хорошо, это была кросс-энтропия, теперь как это согласуется с потерей нашей модели?

Нам нужно вернуться к нашему пониманию одного основного принципа машинного обучения, то есть оценки максимального правдоподобия (MLE). Предположим, что для задачи у нас есть набор примеров X_example = {x _1, x _2,…, x _m}, которые нарисованы независимо из истинного, но неизвестного распределения p_data (x). Затем мы пытаемся смоделировать истинное распределение с помощью параметрической модели p_model (x; 𝜃) с параметром 𝜃. Можно сказать, что p_model (x, 𝜃) отображает x для оценки истинных, но неизвестных p_data (x) с теми же данными. Чтобы получить лучшую модель, нам нужно найти такой 𝜃, который дает наиболее похожий результат p_model (x, 𝜃) на p_data (x). Мы можем использовать принцип MLE, чтобы найти такое, то есть используя оценку максимального правдоподобия для, которая определяется как

Поскольку каждый пример x _i в X_example не зависит друг от друга, мы можем записать 𝜃_ML как

Произведение p_model (x _i; 𝜃) будет очень близко к 0, когда размер набора примеров m велик, поскольку вероятность будет в диапазоне 0≤p_model (x _i; 𝜃) ≤1. Это может вызвать серьезную потерю информации в компьютере, что приведет к менее точной оценке модели. Один из способов избежать этой проблемы - вычислить сумму логарифма p_model (x _i; 𝜃).

Это решает проблему потери значимости, поскольку логарифм вероятности станет отрицательным значением вместо некоторого числа, например 1e-30. Мы также превращаем произведение в суммирование, что приводит к более управляемым вычислениям. Поскольку arg max будет таким же, уравнение 9 приведет к тому же параметру 𝜃_ML, что и уравнение 8, при наличии вышеуказанных преимуществ. Теперь, поскольку arg max также не изменяется при масштабировании логарифмической вероятности, мы можем написать

и по-прежнему дает то же значение 𝜃_ML, что и уравнения 8 и 9.

Уравнение 10 показывает отношение кросс-энтропии и принципа оценки максимального правдоподобия, то есть если мы возьмем p_example (x) как p (x) и p_model (x ; 𝜃) как q (x), мы можем записать уравнение 10 как

Мы знакомы с последним членом уравнения, поскольку это кросс-энтропия, определенная в уравнении 6. Это показывает, что мы можем видеть проблему получения наилучшего параметра 𝜃_ML с использованием оценки максимального правдоподобия как минимизацию кросс-энтропии между нашей параметрической моделью. p_model (x; 𝜃) и эмпирический пример распределения p_example (x).

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

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

  1. Т. М. Ковер, Дж. А. Томас, «Элементы теории информации, второе издание» (2006 г.)
  2. И. Гудфеллоу, Ю. Бенжио, А. Курвиль, «Глубокое обучение» (2015)
  3. С. Шалев-Шварц, С. Бен-Давид, «Понимание машинного обучения, от теории к алгоритмам» (2014)