Конспект лекций FAU по глубокому обучению
Убыток и оптимизация - Часть 1
Классификация и регрессионные потери
Это конспекты лекции FAU Глубокое обучение на YouTube. Это полный текст лекции и соответствующие слайды. Надеемся, вам понравится это не меньше, чем видео. Конечно, эта стенограмма была создана с помощью методов глубокого обучения в значительной степени автоматически, и были внесены лишь незначительные изменения вручную. Если вы заметили ошибки, сообщите нам об этом!
Навигация
Предыдущая лекция / Посмотрите это видео / Верхний уровень / Следующая лекция
Добро пожаловать в глубокое обучение! Итак, сегодня мы хотим продолжить разговор о различных потерях и оптимизации. Мы хотим продолжить и поговорить более подробно об этих интересных проблемах. Давайте сначала поговорим о функциях потерь. Функции потерь обычно используются для разных задач, и для разных задач у вас разные функции потерь.
Две наиболее важные задачи, с которыми мы сталкиваемся, - это регрессия и классификация. Итак, при классификации вы хотите оценивать дискретную переменную для каждого входа. Это означает, что вы хотите решить в этой двухклассной задаче здесь слева, будут ли это синие или красные точки. Итак, вам нужно смоделировать границу принятия решения.
В регрессии идея состоит в том, что вы хотите смоделировать функцию, которая объясняет ваши данные. Итак, у вас есть некоторая функция ввода, скажем x₂, и вы хотите предсказать x₁ по ней. Для этого вы вычисляете функцию, которая выдаст соответствующее значение x₁ для любого заданного x₂. В этом примере вы можете видеть, что это подгонка линии.
Мы говорили о функциях активации, последней активации как softmax и кросс-энтропийной потере. Каким-то образом мы их объединили, и очевидно, что есть разница между последней функцией активации в нашей сети и функцией потерь. Последняя функция активации применяется к отдельным образцам x каждой партии. Он также будет присутствовать во время обучения и тестирования. Таким образом, последняя функция активации станет частью сети и останется там, чтобы производить вывод / прогноз. Обычно он производит вектор.
Теперь функция потерь объединяет все M выборок и меток. В их комбинации они производят потери, которые показывают, насколько хорошо они подходят. Таким образом, он присутствует только во время обучения, и потеря, как правило, является скалярным значением, которое описывает, насколько хорошо подходит соответствие. Значит, он вам нужен только во время тренировки.
Интересно, что многие из этих функций потерь можно описать в рамках вероятностной модели. Это приводит нас к оценке максимального правдоподобия. При оценке максимального правдоподобия - просто напоминание - мы считаем все вероятностным. Итак, у нас есть набор наблюдений X, состоящий из отдельных наблюдений. Затем мы связали ярлыки. Они также происходят из некоторого распределения, и наблюдения обозначаются как Y. Конечно, нам нужна функция условной плотности вероятности, которая каким-то образом описывает, как связаны y и x. В частности, мы можем вычислить вероятность для y с учетом некоторого наблюдения x. Это будет очень полезно, например, если мы хотим определиться с конкретным классом. Теперь нам нужно как-то смоделировать этот набор данных. Они взяты из некоторого распределения, и совместная вероятность для данного набора данных может быть затем вычислена как произведение отдельных условных вероятностей. Конечно, если они независимы и одинаково распределены, вы можете просто описать это как большой продукт по всему набору обучающих данных. Итак, вы получаете этот продукт по всем образцам M, где это просто продукт условных операторов. Это полезно, потому что мы можем определить лучшие параметры, максимизируя совместную вероятность по всему набору обучающих данных. Мы должны сделать это, оценив этот большой продукт.
У этого большого продукта есть пара проблем. В частности, если у нас есть высокие и низкие значения, они могут очень быстро уравновеситься. Итак, может быть интересно преобразовать всю проблему в логарифмическую область. Поскольку логарифм является монотонным преобразованием, он не меняет положение максимума. Следовательно, мы можем использовать функцию журнала и знак минус, чтобы превратить максимизацию в минимизацию. Вместо того, чтобы смотреть на функцию правдоподобия, мы можем взглянуть на функцию отрицательного логарифмического правдоподобия. Тогда наш большой продукт внезапно представляет собой сумму всех наблюдений, умноженную на отрицательный логарифм условных вероятностей.
Теперь мы можем взглянуть на одномерную гауссовскую модель. Итак, теперь мы снова одномерны, и мы можем смоделировать это с помощью нормального распределения, в котором затем мы выберем выход нашей сети в качестве ожидаемого значения и 1 / β в качестве стандартного отклонения. Если мы это сделаем, мы сможем найти следующую формулировку: квадратный корень из беты из квадратного корня из 2 пи, умноженного на экспоненциальную функцию минус бета, умноженного на метку, минус предсказание в степени 2, деленное на 2.
Хорошо, давайте продолжим и поместим это в нашу функцию логарифмической вероятности. Помните, что это действительно то, что вы должны знать на устном экзамене. Каждому нужно знать нормальное распределение, и каждый должен уметь преобразовать такое гауссово распределение Вселенной в функцию потерь. Если мы это сделаем, вы увидите, что мы можем использовать логарифм. Это очень удобно, потому что позволяет нам разделить продукт здесь. Затем мы также видим, что логарифм сокращается с экспоненциальной функцией. Мы просто получаем эту бета-коэффициент, умножая на 2 подстрочный индекс y m минус y и подстрочный индекс m в степени 2. Мы можем еще больше упростить первый член, применив логарифм и вытащив квадратный корень 2 пи. Затем мы видим, что сумма первых двух членов не зависит от m, поэтому мы можем просто умножить на M, чтобы избавиться от суммы и переместить сумму только в последний член.
Теперь вы можете видеть, что только последняя часть здесь фактически зависит от w. Все остальное даже не содержит w. Итак, если мы стремимся оптимизировать w, мы можем просто пренебречь первыми двумя частями. Тогда у нас останется только часть с правой стороны. Вы видите, что если мы теперь примем β равным 1, мы получим ровно 1/2 и сумму квадратного корня из разностей. Это не что иное, как норма L2. Если бы вы записали это в векторной записи, вы бы получили вот это. Конечно, это эквивалентно многомерному распределению Гаусса с равномерной дисперсией.
Ладно, да ладно, тут не только L2-потери. Также есть потери L1. Итак, мы также можем заменить их, и мы также рассмотрим некоторые свойства различных L-норм в нескольких видеороликах. В целом это очень хороший подход, который сводит к минимуму ожидаемую вероятность ошибочной классификации. Это может вызвать медленную сходимость, потому что они не штрафуют за большие неверно классифицированные вероятности, но могут быть полезны в случае чрезмерного шума ярлыков.
А теперь давайте предположим, что мы хотим провести классификацию. Затем наша сеть предоставит нам некоторый вероятностный результат p. Скажем, мы классифицируем только на два класса. Затем мы можем смоделировать это как распределение Бернулли, где у нас есть классы ноль и один. Конечно, вероятность другого класса равна единице минус p. Это дает нам распределение вероятностей p ʸ раз (1 - p) ¹⁻ʸ. Обычно у нас не бывает только двух классов. Это означает, что нам нужно сделать обобщение на мультиинулевое или категориальное распределение. Затем y обычно снова моделируется вектором с горячим кодированием. Затем мы можем записать категориальное распределение как произведение по всем классам вероятности для каждого класса на степень основной метки истинности, которая равна либо нулю, либо единице.
Давайте посмотрим на пример категориального распределения. Пример, который мы хотим здесь взять, - это попытка Бернулли подбрасывать монету. Мы кодируем голову как (1 0) ᵀ и хвост как (0 1) ᵀ. Тогда у нас есть несправедливая монета, и эта несправедливая монета предпочитает решки с вероятностью 0,7. Вероятность выпадения орла - 0,3. Затем мы наблюдаем истинную метку y в виде хвостов. Теперь мы можем использовать приведенное выше уравнение и подключить эти наблюдения. Это означает, что мы получаем 0,3 в степени 0 и 0,7 в степени 1. Что-то в степени 0 всегда равно 1. Затем 0,7 в степени 1 конечно 0,7. Это дает нам 0,7, а это значит, что вероятность увидеть решку для нашей несправедливой монеты составляет 70%.
Мы всегда можем использовать функцию softmax в сети, чтобы преобразовать все в вероятности. Теперь мы можем посмотреть, как это ведет себя в нашей категориально распределенной системе. Здесь мы просто заменяем условное распределение категориальным. Это дает нам отрицательную функцию логарифмического правдоподобия. И снова то, что мы делаем здесь, имеет большое значение для устного экзамена. Таким образом, каждый должен быть в состоянии объяснить, как прийти из вероятностного допущения к соответствующей функции потерь, используя категориальное распределение. Итак, здесь мы снова применяем отрицательную логарифмическую вероятность. Мы подключаем определение категориального распределения, которое представляет собой просто произведение всех наших индексов y k на мощность основной метки истинности. Это можно еще больше упростить, поскольку произведение можно преобразовать в сумму, введя логарифм. Если мы это сделаем, вы увидите, что мощность наземной метки истинности на самом деле может быть поставлена перед логарифмом. Мы видим, что именно в итоге мы получаем кросс-энтропию. Теперь, если вы снова воспользуетесь трюком с горячим кодированием, вы увидите, что в конечном итоге мы получаем потерю кросс-энтропии, когда у нас есть сумма по всему набору наблюдений, умноженная на логарифм выходных данных в точной позиции где наша основная метка истинности была 1. Следовательно, мы пренебрегаем всеми другими членами в сумме классов.
Интересно, что это также можно сопоставить с Дивергенцией Кульбака-Лейблера (KL). KL-дивергенция - очень распространенная конструкция, которую можно найти во многих статьях по машинному обучению. Здесь вы можете увидеть определение. По сути, у нас есть интеграл по всей области определения x. Это интеграция вероятности p (x), умноженной на логарифм p (x), деленный на q (x). q (x) - эталонное распределение, с которым вы хотите сравнить. Теперь вы можете видеть, что вы можете разделить две части на две части, используя свойство логарифма. Итак, мы получаем минус в правой части, которая является кросс-энтропией. Левая часть - это просто энтропия. Итак, мы видим, что этот процесс обучения по сути идентичен минимизации кросс-энтропии. Итак, чтобы минимизировать расхождение KL, мы можем минимизировать кросс-энтропию. Помните, что такие отношения очень часто встречаются в статьях по машинному обучению. Так что вам будет легче их понять, если вы запомните эти вещи.
Теперь можем ли мы использовать кросс-энтропию для регрессии? Ну да, конечно, мы можем. Но вы должны убедиться, что ваши прогнозы будут в домене [0, 1] для всех ваших классов. Вы можете, например, сделать это с помощью функции активации сигмовидной кишки. Тогда вы должны быть осторожны, потому что при регрессии обычно вас больше не зашифровывают. Итак, это то, с чем вам нужно разобраться. Как было замечено ранее, эта потеря эквивалентна минимизации дивергенции KL.
Подведем итоги увиденного. Таким образом, потеря L2 обычно используется для регрессии. Потери перекрестной энтропии обычно используются для классификации, как правило, в сочетании с однократным кодированием. Конечно, вы можете получить их из оценок машинного обучения на основе строгих вероятностных предположений. Итак, то, что мы здесь делаем, полностью соответствует теории вероятностей. При отсутствии дополнительных знаний в предметной области это наш первый выбор. Если у вас есть дополнительные знания в предметной области, то, конечно, было бы неплохо использовать их для построения более точного оценщика. Потеря кросс-энтропии по своей природе многомерна. Итак, мы не остановились только на двухклассных задачах. Мы также можем перейти к задачам многомерной регрессии и классификации.
В следующий раз, когда мы будем заниматься глубоким обучением, мы хотим подробнее рассказать о функциях потерь и, в частности, выделить потерю шарнира. Это очень важная функция потерь, потому что она позволяет вставлять ограничения. Мы увидим, что есть также некоторые отношения к классическому машинному обучению и распознаванию образов, в частности, к машине опорных векторов. Надеюсь, вам понравилось это видео, и я с нетерпением жду встречи с вами в следующем »!
Если вам понравился этот пост, вы можете найти больше эссе здесь, больше образовательных материалов по машинному обучению здесь или взглянуть на нашу Лекцию Глубокое обучение. Я также был бы признателен за аплодисменты или подписку на YouTube, Twitter, Facebook или LinkedIn, если вы хотите получать информацию о новых эссе, видео и исследованиях в будущем. Эта статья выпущена под лицензией Creative Commons 4.0 Attribution License и может быть перепечатана и изменена при наличии ссылки.
использованная литература
[1] Кристофер М. Бишоп. Распознавание образов и машинное обучение (информатика и статистика). Secaucus, NJ, USA: Springer-Verlag New York, Inc., 2006.
[2] Анна Чороманска, Микаэль Хенафф, Майкл Матье и др. «Поверхности потерь в многослойных сетях». В: АИСТАТС. 2015.
[3] Янн Н. Дофин, Разван Паскану, Чаглар Гульчере и др. «Выявление и решение проблемы седловой точки в невыпуклой оптимизации большой размерности». В кн .: Достижения в области нейронных систем обработки информации. 2014, стр. 2933–2941.
[4] Yichuan Tang. «Глубокое обучение с использованием машин линейных опорных векторов». В: препринт arXiv arXiv: 1306.0239 (2013).
[5] Сашанк Дж. Редди, Сатьен Кале и Санджив Кумар. «О конвергенции Адама и загробного мира». В кн .: Международная конференция по обучающимся представлениям. 2018.
[6] Катажина Яноча и Войцех Мариан Чарнецкий. «О функциях потерь для глубоких нейронных сетей в классификации». В: препринт arXiv arXiv: 1702.05659 (2017).
[7] Джеффри Дин, Грег Коррадо, Раджат Монга и др. «Крупномасштабные распределенные глубокие сети». В кн .: Достижения в области нейронных систем обработки информации. 2012, стр. 1223–1231.
[8] Марен Махсеречи и Филипп Хенниг. «Поиск вероятностной линии для стохастической оптимизации». В: Достижения в системах обработки нейронной информации. 2015, стр. 181–189.
[9] Джейсон Уэстон, Крис Уоткинс и др. «Поддержка векторных машин для мультиклассового распознавания образов». В: ESANN. Vol. 99. 1999, pp. 219–224.
[10] Chiyuan Zhang, Samy Bengio, Moritz Hardt, et al. «Понимание глубокого обучения требует переосмысления обобщения». В: препринт arXiv arXiv: 1611.03530 (2016).