Активационные функции. Суммирование и умножение сами по себе не дают возможности обрабатывать нелинейные задачи. Поэтому используются специальные функции вроде ReLU, Sigmoid, Tanh. Они привносят нелинейность, что позволяет сети обнаруживать сложные закономерности.
Обратное распространение ошибки. Обучение сети происходит итеративно. Сначала сеть делает прямой проход (forward pass), выдаёт результат. Затем ошибка между фактическим и ожидаемым результатом вычисляется с помощью функции потерь (Loss Function). Алгоритм оптимизации (SGD, Adam и пр.) по очереди корректирует веса слоёв, чтобы ошибка становилась меньше. Так сеть «учится» предсказывать правильно.
Глубокое обучение. Когда количество слоёв в сети велико, говорят о глубоком обучении (Deep Learning). Благодаря росту вычислительной мощности (GPU, облачные кластеры) и объёму доступных данных (Big Data) глубокие сети могут обучаться на миллионах и миллиардах образцов, достигая результатов, ранее считавшихся недостижимыми.
В качестве примера можно привести задачу классификации изображений «кот vs. собака». Сеть получает на вход пиксели, несколько свёрточных слоёв выделяют контуры, уши, нос, форму морды, далее идут полносвязные слои, и в конце – выходной слой с вероятностями (например, 0.7 кот, 0.3 собака). По мере обучения сеть всё лучше распознаёт визуальные признаки, уменьшая ошибку.
Для обработки текста, например в переводе предложений, трансформер использует блоки Encoder и Decoder с механизмом внимания, который определяет, какие слова в исходном предложении наиболее важны для текущего шага перевода. Это позволяет модели формировать контекст более гибко, чем классические рекуррентные сети.
В сфере генерации изображений нейросети могут превращать случайный шум в осмысленные картинки (GAN, диффузионные модели), а в случае MidJourney – ориентируются на текстовый запрос, чтобы пошагово «дорисовывать» и уточнять изображение.
Под капотом современных архитектур содержится множество инструментов для стабилизации и улучшения обучения: оптимизаторы (Adam, RMSProp), регуляризация (Dropout, Weight Decay, Data Augmentation), нормализации (Batch Norm, Layer Norm), различные трюки с инициализацией весов. Всё это позволяет сети искать глобально лучший набор параметров.
Благодаря такому механизму и колоссальным объёмам данных мы пришли к эпохе, когда нейросети могут синтезировать речь, генерировать реалистичные изображения, помогать врачам диагностировать болезни, управлять беспилотными автомобилями, переводить тексты на десятки языков и решать бесчисленное множество других задач.