пятница, 31 августа 2018 г.

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

Вспомним, что логистическая регрессия производит результаты между 0 и 1. Например, вывод логистической регрессии равный 0.8 от классификатора писем предполагает, что шанс того, что письмо спам равен 80%, а шанс того, что письмо не спам равен 20%. Очевидно, что сумма вероятностей того, что письмо будет спамом или не спамом будет равна 1.0.

Софтмакс (Softmax) расширяет эту идею в мульти-классовый мир. То есть, софтмакс назначает дробные вероятности каждому классу в мультиклассовой проблеме. Эти дробные вероятности должны составлять вместе 1.0. Это дополнительное ограничение помогает тренировке сойтись быстрее.

Например, для анализа картинок из прошлого поста софтмакс может произвести следующие вероятности того что картинка принадлежит конкретному классу:

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

Софтмакс слой в нейронной сети

Софтмакс опции

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

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

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

Одна метка против многих меток

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

  • Можно не использовать софтмакс.
  • Необходимо основываться на многих логистических регрессиях.

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