Три идеи, которые сделали ИИ возможным
Современный ИИ кажется магией. Вы вводите предложение, и машина отвечает. Это кажется чем-то экзотическим.
Но это не так.
Современный ИИ существует благодаря тому, что инженеры решили конкретные проблемы. Они находили «сломанные» сети и исправляли их.
Вот три инженерных решения, которые легли в основу Transformer.
- Skip Connections
В 2014 году исследователи пытались сделать нейронные сети глубже. Они полагали, что больше слоев означает лучший результат. Это не сработало. Более глубокие сети на самом деле работали хуже.
Сигнал ошибки, используемый для обучения сети, либо затухал до нуля, либо раздувался до бесконечности при прохождении через множество слоев. Ранние слои не получали никакой полезной обратной связи.
Решение было простым. Вместо того чтобы заставлять каждый слой изменять входные данные, нужно было позволить им «перепрыгивать» через слои.
В блоке ResNet вы прибавляете исходный вход к результату. Это создает прямой путь для прохождения сигнала. Добавление новых слоев больше не ломает систему. Если слой не приносит пользы, он может просто пропустить входные данные без изменений.
- Normalization
По мере прохождения данных через сеть числа «дрейфуют». Один слой может выдать 0,01, в то время как следующий выдаст 5000. Когда числа достигают таких экстремальных значений, обучение останавливается.
Нормализация исправляет это, выравнивая значения. Она центрирует числа вокруг нуля и масштабирует их до определенного диапазона.
Это обеспечивает стабильность математических вычислений. Это позволяет использовать более высокие скорости обучения (learning rates) и обучаться гораздо быстрее. Это практичное решение, которое экономит бесчисленное количество часов отладки.
- Attention
Старые модели читали текст по одному слову за раз. Это было медленно, так как слова нельзя было обрабатывать параллельно. Кроме того, они были «забывчивыми», потому что к моменту достижения конца предложения модель теряла начало.
Attention меняет это. Вместо последовательного чтения каждое слово одновременно «смотрит» на все остальные слова в предложении.
Слово «it» может напрямую связаться со своим существительным, независимо от того, как далеко оно находится. Поскольку слова не зависят от последовательности, всё можно вычислить одновременно с помощью GPU.
Transformer объединяет все три решения. Он использует блоки attention, обернутые в skip connections, с нормализацией между ними.
Для ИИ не потребовался прорыв в понимании интеллекта. Потребовались три умных исправления для сломанных систем.
Optional learning community: https://t.me/GyaanSetuAi