Ответ
Это три фундаментальные архитектуры нейронных сетей, каждая из которых доминировала в своей области благодаря особому механизму обработки данных.
-
CNN (Сверточная нейронная сеть)
- Ключевая идея: Использование сверточных фильтров (ядер) для автоматического обнаружения локальных пространственных или временных паттернов с помощью операции свертки.
- Индуктивное смещение: Трансляционная инвариантность и локальность — важный признак может находиться в любом месте изображения и определяется соседними пикселями.
- Основная область: Компьютерное зрение (классификация, детекция, сегментация), но также успешно применяется к 1D-данным (например, анализ временных рядов, текстов на уровне символов).
-
RNN (Рекуррентная нейронная сеть) и её варианты (LSTM, GRU)
- Ключевая идея: Наличие скрытого состояния (hidden state), которое передается от одного шага последовательности к следующему. Это позволяет сети сохранять "память" о предыдущих элементах.
- Индуктивное смещение: Последовательная зависимость — текущий элемент зависит от предыдущих.
- Основная область: Обработка последовательных данных, где важен порядок и контекст: машинный перевод, генерация текста, анализ временных рядов. Главный недостаток — сложность параллелизации из-за последовательной природы.
-
Трансформер (Transformer)
- Ключевая идея: Полный отказ от рекуррентности и свертки в пользу механизма внимания (attention), в частности самовнимания (self-attention). Этот механизм позволяет модели напрямую вычислять зависимости между всеми элементами последовательности, независимо от расстояния между ними.
- Индуктивное смещение: Глобальная зависимость — любой элемент может напрямую влиять на любой другой.
- Основная область: Доминирует в NLP (BERT, GPT, T5), но также проникает в компьютерное зрение (Vision Transformer) и другие области. Его главное преимущество — высокая степень параллелизации на GPU, что ускоряет обучение на больших объемах данных.
Сравнительный пример подхода к обработке предложения "The cat sat on the mat":
- CNN (1D): Будет скользить фильтрами по последовательности слов/токенов, улавливая локальные n-граммы ("the cat", "cat sat").
- RNN: Будет обрабатывать слова по очереди, обновляя скрытое состояние, чтобы к слову "mat" в памяти была информация о "cat" и "sat".
- Трансформер: На этапе самовнимания напрямую вычислит, что слово "sat" сильно связано с "cat", а "on" — с "mat", взвешивая все слова одновременно.