Эндрю Ын, основатель DeepLearning.AI, представляет глубокий разбор алгоритма регрессии Softmax — расширения логистической регрессии для задач мультиклассовой классификации. В рамках учебного курса рассматривается переход от простого бинарного выбора (0 или 1) к распознаванию множества объектов, что является фундаментом для современных систем компьютерного зрения и обработки естественного языка.
🐾 От бинарного выбора к множественным классам 0:00
До этого момента большинство примеров классификации в нейронных сетях ограничивались бинарным подходом: является ли объект кошкой (1) или нет (0) . Однако реальные задачи часто требуют распознавания одного из множества возможных классов. Регрессия Softmax (Softmax regression) — это математическое обобщение логистической регрессии, которое позволяет модели предсказывать принадлежность входных данных к одному из $C$ классов .
Эндрю Ын приводит наглядный пример классификации изображений животных:
- Класс 1: Кошки .
- Класс 2: Собаки.
- Класс 3: Цыплята.
- Класс 0: «Ничего из вышеперечисленного» (например, фото коалы) .
Для формализации задачи используется переменная $C$, обозначающая общее количество классов. Индексация классов в такой системе обычно идет от $0$ до $C-1$ . В примере с животными $C = 4$, а метки принимают значения 0, 1, 2 или 3 .
🏗️ Архитектура выходного слоя Softmax 1:36
Для реализации мультиклассовой классификации структура нейронной сети претерпевает изменения. В выходном слое (обозначаемом как $L$) количество нейронов теперь должно соответствовать количеству классов $C$ . Каждый узел выходного слоя отвечает за вычисление вероятности принадлежности объекта к конкретному классу при заданных входных данных $X$ .
Ключевые особенности выходных данных:
- Векторный формат: Прогноз модели ($\hat{y}$) представляет собой вектор размерности $4 \times 1$ (в случае четырех классов) .
- Сумма вероятностей: Все значения в выходном векторе должны быть положительными и в сумме давать ровно 1 (100%) .
- Интерпретация: Первый узел выводит вероятность класса «прочее», второй — «кошка» и так далее .
🔢 Математический алгоритм вычислений 2:55
Процесс получения вероятностей в слое Softmax разделен на несколько этапов. Сначала, как и в любом другом слое, вычисляется линейная часть $Z^{[L]}$ : $$Z^{[L]} = W^{[L]} \cdot A^{[L-1]} + b^{[L]}$$
После получения вектора $Z$ (который в примере имеет размерность $4 \times 1$) применяется специфическая функция активации Softmax . Эндрю Ын описывает этот процесс через временную переменную $T$:
- Экспоненциальное преобразование: Вычисляется $T = e^{Z^{[L]}}$ поэлементно. Если элемент в $Z$ был равен 5, то соответствующий элемент в $T$ станет $e^5$ .
- Нормализация: Каждый элемент вектора $T$ делится на сумму всех элементов этого вектора .
Математически это выражается формулой для каждого элемента $i$: $$a_i^{[L]} = \frac{t_i}{\sum_{j=1}^{C} t_j}$$
Это гарантирует, что на выходе мы получим распределение вероятностей .
🧮 Практический пример: расчет вероятностей 5:08
Для закрепления материала Эндрю Ын разбирает конкретный числовой пример. Предположим, вектор $Z^{[L]}$ после линейных вычислений принял вид $[5, 2, -1, 3]$ .
- Вычисление $T$ (экспоненты):
- Суммирование: Общая сумма элементов вектора $T$ составляет $176,3$ .
- Финальный расчет $\hat{y}$:
Главное отличие Softmax от других функций активации (таких как Sigmoid или ReLU) заключается в том, что она принимает на вход вектор и выдает вектор . В Sigmoid активация одного нейрона зависит только от его собственного значения $z$, в то время как в Softmax значение каждого выходного нейрона зависит от значений всех остальных узлов слоя из-за этапа нормализации .
📈 Визуализация решающих границ 8:40
Если рассмотреть нейронную сеть без скрытых слоев, где входные данные $X$ напрямую подаются на слой Softmax, модель будет строить линейные решающие границы . Эндрю Ын демонстрирует графики, где пространство разделено на несколько зон (для 3, 4, 5 и 6 классов) .
По словам лектора, решающая граница между любыми двумя классами в такой конфигурации будет линейной . Однако при добавлении глубоких скрытых слоев нейронная сеть становится способной изучать гораздо более сложные нелинейные границы для разделения множества классов . Это делает Softmax мощным инструментом в составе глубоких архитектур.