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

Рекомендуемый фон

  • Базовое понимание нейронных сетей. Если вам нужна дополнительная информация в этой области, прочтите Введение в нейронные сети.
  • Тщательное понимание разницы между мультиклассовой и многозначной классификацией. Если вы не знакомы с этой темой, прочтите статью Мультиклассовая и мультиклассовая классификация: сигмоид против Softmax. Краткое напоминание заключается в следующем: в мультиклассовой классификации мы хотим назначить один класс для входа, поэтому мы применяем функцию softmax к необработанному выходу нашей нейронной сети. В многозначной классификации мы хотим назначить несколько классов входу, поэтому мы применяем поэлементную сигмовидную функцию к необработанному выходу нашей нейронной сети.

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

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

Источник изображения кошки: Википедия.

Вероятность

Допустим, мы выбрали определенную архитектуру нейронной сети для решения этой задачи классификации нескольких классов - например, VGG, ResNet, GoogLeNet и т. Д. Выбранная нами архитектура представляет собой семейство возможных моделей, где каждый член Семейство имеет разные веса (разные параметры) и поэтому представляет разные отношения между входным изображением x и некоторыми предсказаниями выходного класса y. Мы хотим выбрать члена семейства, у которого есть хороший набор параметров для решения нашей конкретной задачи [изображение] - ›[самолет, поезд или кошка].

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

Вероятность отрицательного журнала

Таким образом, отрицательная логарифмическая вероятность - это буквально отрицательная величина логарифма вероятности:

Справочник по настройке, вероятности и отрицательному журналу правдоподобия: « Перекрестная энтропия и логарифм правдоподобия Эндрю Уэбб»

Дополнительное примечание об оценке максимального правдоподобия (MLE)

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

Таким образом, когда вы минимизируете вероятность отрицательного журнала, вы выполняете оценку максимального правдоподобия. Согласно статье в Википедии о MLE,

оценка максимального правдоподобия (MLE) - это метод оценки параметров распределения вероятностей путем максимизации функции правдоподобия, так что в рамках предполагаемой статистической модели наблюдаемые данные являются наиболее вероятными. Точка в пространстве параметров, которая максимизирует функцию правдоподобия, называется оценкой максимального правдоподобия. […] С точки зрения байесовского вывода, MLE - это частный случай максимальной апостериорной оценки (MAP), который предполагает однородное априорное распределение параметров.

А вот еще одно резюме из Джонатана Гордона на Quora:

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

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

Разница между MLE и кросс-энтропией заключается в том, что MLE представляет собой структурированный и принципиальный подход к моделированию и обучению, а кросс-энтропия в двоичном коде / softmax просто представляет собой особые случаи применения к проблемам, которые обычно волнуют людей.

Энтропия

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

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

Ссылки на разделы: Википедия Перекрестная энтропия, « Перекрестная энтропия и логарифмическая вероятность Эндрю Уэбба»

Дивергенция Кульбака-Лейблера (KL)

Дивергенция Кульбака-Лейблера (KL) часто концептуализируется как измерение того, как одно распределение вероятностей отличается от второго распределения вероятностей, т.е. как измерение расстояния между двумя распределениями вероятностей. Технически говоря, дивергенция KL не является истинной метрикой, потому что она не подчиняется неравенству треугольника и D_KL (g || f) не равно D_KL (f || g) - но, тем не менее, интуитивно это может показаться более естественным способом представления потерь, поскольку мы хотим, чтобы распределение, которое обучается нашей модели, было очень похоже на истинное распределение (т.е. мы хотим, чтобы расхождение KL было быть маленьким - мы хотим минимизировать расхождение KL.)

Вот уравнение для расхождения KL, которое можно интерпретировать как ожидаемое количество дополнительных битов, необходимых для передачи значения, взятого случайной величиной X (распределенной как g (x)) если мы используем оптимальную кодировку для f (x), а не оптимальную кодировку для g (x):

Дополнительные способы подумать о дивергенции KL D_KL (g || f):

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

В машинном обучении g обычно представляет истинное распределение данных, а f представляет аппроксимацию распределения модели. Таким образом, для нашей нейронной сети мы можем записать расхождение KL следующим образом:

Обратите внимание, что второй член (окрашенный в синий цвет) зависит только от данных, которые являются фиксированными. Поскольку этот второй член НЕ зависит от вероятности y-hat (предсказанных вероятностей), он также не зависит от параметров модели. Следовательно, параметры, которые минимизируют расхождение KL, такие же, как параметры, минимизирующие перекрестную энтропию и отрицательное логарифмическое правдоподобие! Это означает, что мы можем минимизировать функцию потерь кросс-энтропии и получить те же параметры, что и при минимизации расхождения KL.

Ссылки на разделы: Расхождение Кульбака-Лейблера в Википедии, Перекрестная энтропия и логарифмическое правдоподобие Эндрю Уэбба »

А как насчет «потери сигмовидной перекрестной энтропии»?

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

Как мы только что видели, перекрестная энтропия определяется между двумя распределениями вероятностей f (x) и g (x). Но это не имеет смысла в контексте сигмоида, применяемого к выходному слою, поскольку сумма десятичных знаков на выходе не будет равна 1, и поэтому у нас действительно нет выходного «распределения».

Согласно книге Майкла Нильсена, глава 3, уравнение 63, можно рассматривать потерю сигмовидной перекрестной энтропии как суммированный набор перекрестных энтропий для каждого нейрона, при этом активация каждого нейрона интерпретируется как часть двух -элементное распределение вероятностей .

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

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

Наша сеть имеет выходные нейроны, соответствующие классам кошка, собака, диван, самолет, поезд и автомобиль.

После применения сигмоидной функции к необработанному значению нейрона кошки мы получаем 0,8 в качестве нашего значения. Мы можем считать, что это 0,8 является вероятностью класса «кошка», и мы можем представить неявное значение вероятности 1–0,8 = 0,2 как вероятность класса «НЕТ кошки». Это неявное значение вероятности НЕ соответствует реальному нейрону в сети. Это только воображаемое / гипотетическое.

Точно так же, после применения сигмовидной функции к необработанному значению нейрона собаки, мы получаем 0,9 в качестве нашего значения. Мы можем считать, что это 0,9 является вероятностью класса «собака», и мы можем представить неявное значение вероятности 1–0,9 = 0,1 как вероятность класса «НЕТ собаки».

Для нейрона самолета мы получаем вероятность 0,01 аут. Это означает, что у нас есть вероятность 1–0,01 = 0,99 «НЕТ самолета» - и так далее для всех выходных нейронов. Таким образом, каждый нейрон имеет свою собственную «перекрестную потерю энтропии», и мы просто суммируем перекрестные энтропии каждого нейрона, чтобы получить нашу общую сигмовидную перекрестную потерю энтропии.

Мы можем записать потерю сигмоидной перекрестной энтропии для этой сети следующим образом:

Сигмоидная кросс-энтропия иногда упоминается как бинарная кросс-энтропия. Эта статья обсуждает бинарную кросс-энтропию для задач классификации с несколькими метками и включает уравнение.

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

  • Если нейронная сеть не имеет скрытых слоев, а к необработанному выходному вектору применен softmax, то это эквивалентно полиномиальной логистической регрессии.
  • если нейронная сеть не имеет скрытых слоев, а необработанный вывод представляет собой одно значение с примененным сигмоидом (логистическая функция), то это логистическая регрессия.
  • таким образом, логистическая регрессия - это просто частный случай нейронной сети! (RefA, refB)
  • если в нейронной сети есть скрытые слои, а к необработанному выходному вектору применен softmax, и он обучен с использованием потери кросс-энтропии, то это «потеря кросс-энтропии softmax», которую можно интерпретировать как отрицательную логарифмическую вероятность, поскольку softmax создает вероятностное распределение.
  • если нейронная сеть действительно имеет скрытые слои, а необработанный выходной вектор имеет поэлементно примененные сигмоиды, и он обучен с использованием потери кросс-энтропии, то это «потеря кросс-энтропии сигмоида», которую НЕЛЬЗЯ интерпретировать как отрицательную логарифмическую вероятность, потому что во всех примерах нет распределения вероятностей. Результаты не сводятся к одному. Здесь нам нужно использовать интерпретацию, представленную в предыдущем разделе, в котором мы концептуализируем потерю как набор перекрестных энтропий для каждого нейрона, которые суммируются.

Ссылка на раздел: Stats StackExchange

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

Реализации кросс-энтропии

В Pytorch есть несколько реализаций кросс-энтропии:

Реализация A: torch.nn.functional.binary_cross_entropy (см .torch.nn.BCELoss): к входным значениям этой функции уже применен сигмоид, например

Реализация B: torch.nn.functional.binary_cross_entropy_with_logits (см. torch.nn.BCEWithLogitsLoss): 'эта потеря объединяет сигмоидальный слой и BCELoss в один единственный класс. Эта версия численно более стабильна, чем использование простого сигмоида, за которым следует BCELoss as, путем объединения операций в один слой, мы используем трюк логарифма-суммы-экспонирования для числовой стабильности ».

Реализация C: torch.nn.functional.nll_loss (см. torch.nn.NLLLoss): 'потеря вероятности отрицательного журнала. Полезно обучать задаче классификации с помощью классов C. [...] Ожидается, что ввод, полученный посредством прямого вызова, будет содержать логарифмические вероятности каждого класса ».

Реализация D: torch.nn.functional.cross_entropy (см. torch.nn.CrossEntropyLoss): 'этот критерий объединяет nn.LogSoftmax () и nn.NLLLoss () в одном классе. Это полезно при обучении задаче классификации с помощью классов C. [...] Ожидается, что входные данные будут содержать необработанные ненормализованные оценки для каждого класса. '

Заключение

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

Об избранном изображении

Поскольку темой этого поста были связи, показанное изображение является коннектомом. Коннектом - это исчерпывающая карта нейронных связей в мозгу, которую можно рассматривать как его« электрическую схему ». Ссылка: Википедия. Источник избранного изображения: Коннектом человека.

Первоначально опубликовано на http://glassboxmedicine.com 7 декабря 2019 г.