Потеря кросс-энтропии

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

Существует два основных типа потери кросс-энтропии: категориальная кросс-энтропия и бинарная кросс-энтропия.

Категориальная кросс-энтропийная потеря

В мультиклассовой классификации существует m классов или меток, и мы хотим выбрать один класс из M классов. Категориальная кросс-энтропийная потеря в основном используется в мультиклассовой классификации.

Категориальная кросс-энтропия является функцией слоя softmax и кросс-энтропии потерь. Функция Softmax преобразует все выходы нейронной сети в диапазоне [0, 1], и общее значение всех выходов складывает их до 1.

Например, у нас есть 3 класса: метка 1, метка 2 и метка 3, а их выходные данные softmax дают в сумме 1. Это наше прогнозируемое распределение вероятностей классов.

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

Потери могут быть рассчитаны путем вычисления кросс-энтропии между предсказанным распределением вероятностей классов из выходных данных softmax и истинным распределением вероятностей.

Давайте применим формулу потерь кросс-энтропии к приведенному выше примеру:

Если мы посмотрим на это внимательно, на величину потерь влияет один класс, который имеет самую высокую вероятность, 1. В этом случае label3 имеет только значение 1, а остальные равны нулю. Таким образом, мы можем переписать функцию потерь, формулу L, как показано ниже:

где y - класс, который имеет значение 1, а остальные равны нулю.

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

Потеря двоичной кросс-энтропии

Этот тип функции потерь в основном используется в классификации по нескольким меткам. В классификации с несколькими ярлыками может быть несколько ярлыков или может быть истинным класс. Например, изображения могут иметь несколько истинных меток, как показано ниже:

Это означает, что нам нужно вычислить потери каждого выходного блока нейронной сети независимо от результата других выходных блоков. В этом типе задачи классификации мы не можем использовать вывод softmax для кросс-энтропии, поскольку вывод softmax преобразует весь вывод таким образом, что общее значение вывода составляет в сумме 1. Здесь мы используем сигмоид, который преобразует каждую единицу вывода. NN между 0 и 1, который не зависит от других выходных единиц.

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

Например, рассмотрим нейронную сеть с тремя модулями вывода для меток: собака, кошка, самолет. Это проблема классификации с несколькими метками, когда входное изображение может быть классифицировано как несколько меток. Сигмоидальная функция сжимает значение каждой единицы вывода между 0 и 1, которое не зависит от других единиц вывода.

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

Пришло время вычислить потерю кросс-энтропии и обсудить уравнение

Где M - количество меток, а 1-yj - неявная вероятность меток.

Мы можем вычислить потери из приведенного выше примера, как показано ниже:

Это дает значение 0,049, и идея здесь состоит в том, чтобы свести к минимуму вычисленную потерю кросс-энтропии во время обучения нейронной сети.

REINFORCE - Градиент политики и категориальная кросс-энтропийная потеря

REINFORCE - это выборка методов градиента политики Моте-Карло. Это означает, что образец агента RL из начального состояния в целевое состояние напрямую из среды, а не самонастройка по сравнению с другими методами, такими как обучение временной разнице и динамическое программирование.

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

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

Вся мотивация здесь заключается в том, что одна только R (τ) не дифференцируема для обеспечения обучения на основе градиента. Умножая R (τ) на дифференцируемое уравнение, вознаграждение может повлиять на обучение.

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

Стохастическая политика π - это распределение вероятностей действия для данного состояния.

Если политика параметризуется с помощью θ.

Когда мы используем функцию softmax для вывода нейронной сети, мы можем получить распределение вероятностей на выходе. Это можно рассматривать как действия, сгенерированные с использованием политики π. Идея здесь состоит в том, чтобы скорректировать параметр политики θ, то есть вес в NN, чтобы найти оптимальную политику, которая максимизирует доход.

Логарифмическое выражение градиента политики, показанное ниже, эквивалентно логарифмическому выражению категориальных перекрестных энтропийных потерь. πθ (at, st) задает действие a, которое необходимо предпринять для достижения следующего состояния st + 1 из данного состояния s на временном шаге t.

Вот объяснение этому:

Это позволяет нам использовать потерю кросс-энтропии в алгоритмах градиента политики. Взяв градиент, ∇ уравнения, мы можем облегчить подход градиентного спуска так же, как и в любом обучении с учителем.

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

Если вам нравится моя статья, подпишитесь на меня в профилях Github, Linkedin и / или Medium.

Ссылка

  1. Https://glassboxmedicine.com/2019/12/07/connections-log-likelihood-cross-entropy-kl-divergence-logistic-regression-and-neural-networks/
  2. Https://gombru.github.io/2018/05/23/cross_entropy_loss/
  3. Http://machinelearningmechanic.com/deep_learning/reinforcement_learning/2019/12/06/a_mat Mathematical_introduction_to_policy_gradient.html