Мультиклассовые нейронные сети: Softmax

Напомним, что логистическая регрессия дает десятичную дробь между 0 и 1,0. Например, результат логистической регрессии 0,8 из классификатора электронной почты предполагает 80-процентную вероятность того, что электронное письмо является спамом, и 20-процентную вероятность того, что оно не является спамом. Очевидно, что сумма вероятностей того, что электронное письмо является спамом или не является спамом, равна 1,0.

Softmax расширяет эту идею до многоклассового мира. То есть Softmax присваивает десятичные вероятности каждому классу в задаче с несколькими классами. Эти десятичные вероятности должны составлять в сумме 1,0. Это дополнительное ограничение помогает обучению сходиться быстрее, чем в противном случае.

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

Учебный класс Вероятность
яблоко 0,001
медведь 0,04
конфеты 0,008
собака 0,95
яйцо 0,001

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

Глубокая нейронная сеть с входным слоем, двумя невзрачными скрытыми слоями, затем слоем Softmax и, наконец, выходным слоем с тем же количеством узлов, что и слой Softmax.

Рисунок 2. Слой Softmax в нейронной сети.

Параметры софтмакс

Рассмотрим следующие варианты Softmax:

  • Полный Softmax — это Softmax, который мы обсуждали; то есть Softmax вычисляет вероятность для каждого возможного класса.

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

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

Одна этикетка против множества этикеток

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

  • Вы не можете использовать Softmax.
  • Вы должны полагаться на множественные логистические регрессии.

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