Как работает Softmax: математика и логика мультиклассовых нейросетей

DeepLearning.AI 179 тыс. 11 мин 3 мин 25.08.2017
Главное

Эндрю Ын, основатель DeepLearning.AI, представляет глубокий разбор алгоритма регрессии Softmax — расширения логистической регрессии для задач мультиклассовой классификации. В рамках учебного курса рассматривается переход от простого бинарного выбора (0 или 1) к распознаванию множества объектов, что является фундаментом для современных систем компьютерного зрения и обработки естественного языка.

🐾 От бинарного выбора к множественным классам 0:00

До этого момента большинство примеров классификации в нейронных сетях ограничивались бинарным подходом: является ли объект кошкой (1) или нет (0) . Однако реальные задачи часто требуют распознавания одного из множества возможных классов. Регрессия Softmax (Softmax regression) — это математическое обобщение логистической регрессии, которое позволяет модели предсказывать принадлежность входных данных к одному из $C$ классов .

Эндрю Ын приводит наглядный пример классификации изображений животных:

Для формализации задачи используется переменная $C$, обозначающая общее количество классов. Индексация классов в такой системе обычно идет от $0$ до $C-1$ . В примере с животными $C = 4$, а метки принимают значения 0, 1, 2 или 3 .

🏗️ Архитектура выходного слоя Softmax 1:36

Для реализации мультиклассовой классификации структура нейронной сети претерпевает изменения. В выходном слое (обозначаемом как $L$) количество нейронов теперь должно соответствовать количеству классов $C$ . Каждый узел выходного слоя отвечает за вычисление вероятности принадлежности объекта к конкретному классу при заданных входных данных $X$ .

Ключевые особенности выходных данных:

  1. Векторный формат: Прогноз модели ($\hat{y}$) представляет собой вектор размерности $4 \times 1$ (в случае четырех классов) .
  2. Сумма вероятностей: Все значения в выходном векторе должны быть положительными и в сумме давать ровно 1 (100%) .
  3. Интерпретация: Первый узел выводит вероятность класса «прочее», второй — «кошка» и так далее .

🔢 Математический алгоритм вычислений 2:55

Процесс получения вероятностей в слое Softmax разделен на несколько этапов. Сначала, как и в любом другом слое, вычисляется линейная часть $Z^{[L]}$ : $$Z^{[L]} = W^{[L]} \cdot A^{[L-1]} + b^{[L]}$$

После получения вектора $Z$ (который в примере имеет размерность $4 \times 1$) применяется специфическая функция активации Softmax . Эндрю Ын описывает этот процесс через временную переменную $T$:

Математически это выражается формулой для каждого элемента $i$: $$a_i^{[L]} = \frac{t_i}{\sum_{j=1}^{C} t_j}$$

Это гарантирует, что на выходе мы получим распределение вероятностей .

🧮 Практический пример: расчет вероятностей 5:08

Для закрепления материала Эндрю Ын разбирает конкретный числовой пример. Предположим, вектор $Z^{[L]}$ после линейных вычислений принял вид $[5, 2, -1, 3]$ .

  1. Вычисление $T$ (экспоненты):
    • $e^5 \approx 148,4$
    • $e^2 \approx 7,4$
    • $e^{-1} \approx 0,4$
    • $e^3 \approx 20,1$ .
  2. Суммирование: Общая сумма элементов вектора $T$ составляет $176,3$ .
  3. Финальный расчет $\hat{y}$:
    • $148,4 / 176,3 = 0,842$ (84,2% — вероятность класса 0).
    • $7,4 / 176,3 = 0,042$ (4,2% — класс 1).
    • $0,4 / 176,3 = 0,002$ (0,2% — класс 2).
    • $20,1 / 176,3 = 0,114$ (11,4% — класс 3) .

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

📈 Визуализация решающих границ 8:40

Если рассмотреть нейронную сеть без скрытых слоев, где входные данные $X$ напрямую подаются на слой Softmax, модель будет строить линейные решающие границы . Эндрю Ын демонстрирует графики, где пространство разделено на несколько зон (для 3, 4, 5 и 6 классов) .

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

💬 Цитаты

«Необычность функции активации Softmax в том, что она принимает на вход вектор и выдает на выходе тоже вектор.»

«Решающая граница между любыми двумя классами в Softmax будет линейной, если у вас нет скрытых слоев.»

👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
Softmax
Функция активации в нейронных сетях, превращающая вектор произвольных чисел в вектор вероятностей.
Мультиклассовая классификация
Задача машинного обучения по распределению объектов по трем и более непересекающимся категориям.
Нормализация
В данном контексте — процесс приведения набора чисел к виду, где их сумма равна единице.
Решающая граница
Линия или поверхность в пространстве признаков, которая разделяет различные классы данных.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект Softmax Эндрю Ын DeepLearning.AI Мультиклассовая классификация Функция активации