🕸️ Архитектуры нейросетей
MLP, CNN, RNN, LSTM, Transformer, автоэнкодеры, GAN, диффузия, GNN: для чего каждая.
Теория · ИИ · #neural-networks #deep-learning #architecture
Обзор
| Архитектура | Идея | Типичные задачи |
|---|---|---|
| MLP (полносвязная) | слои нейронов, каждый с каждым | табличные данные, простая классификация |
| CNN (свёрточная) | фильтры скользят по изображению, находят локальные признаки | изображения, видео, звук как спектрограмма |
| RNN | состояние передаётся по шагам последовательности | временные ряды, текст (устарело) |
| LSTM / GRU | RNN с «воротами» для долгой памяти | ряды, речь, текст |
| Transformer | внимание (attention): каждый элемент смотрит на все остальные | текст, код, изображения, звук, мультимодальность |
| Автоэнкодер | сжатие в вектор и восстановление | снижение размерности, шумоподавление, аномалии |
| VAE | автоэнкодер с вероятностным пространством | генерация, представления |
| GAN | генератор и дискриминатор соревнуются | генерация изображений (ранние модели) |
| Диффузионные | постепенно убирают шум из случайного вектора | изображения, видео, звук |
| GNN | обмен информацией по рёбрам графа | молекулы, соцсети, рекомендации |
| U-Net | CNN «энкодер–декодер» со связями | сегментация, основа диффузионных моделей |
| Mixture of Experts (MoE) | на токен активируются несколько «экспертов» | большие языковые модели с экономией вычислений |
Строительные блоки
| Блок | Роль |
|---|---|
| Нейрон | взвешенная сумма + активация |
| Активации | ReLU, GELU, SiLU, sigmoid, tanh, softmax |
| Нормализация | BatchNorm, LayerNorm, RMSNorm |
| Dropout | случайное отключение для борьбы с переобучением |
| Residual (skip) | обход слоя, облегчает обучение глубоких сетей |
| Embedding | вектор для слова, токена, категории |
| Pooling | сжатие карты признаков |
| Attention | взвешивание важности элементов |
Transformer подробнее
- Текст делится на токены, каждому соответствует эмбеддинг.
- Добавляется позиционная информация (RoPE, ALiBi).
- Блок: самовнимание (multi-head attention) → нормализация → полносвязная сеть (FFN), с residual-связями.
- Блоки повторяются десятки раз.
Виды:
| Вид | Примеры | Применение |
|---|---|---|
| Только энкодер | BERT | классификация, поиск, эмбеддинги |
| Только декодер | GPT, Llama, Claude, Qwen | генерация текста и чат |
| Энкодер-декодер | T5, Whisper | перевод, распознавание речи |
| Vision Transformer (ViT) | ViT, CLIP | изображения, мультимодальность |
Обучение
- Цель: подобрать веса, минимизируя функцию потерь (градиентный спуск, обратное распространение ошибки).
- Режимы: с учителем, без учителя, самообучение (предсказание следующего токена), с подкреплением (RLHF).
- Типичный путь LLM: предобучение → дообучение на инструкциях (SFT) → выравнивание (RLHF, DPO).
- Приёмы: разбиение на батчи, планировщик скорости обучения, ранняя остановка, аугментация, смешанная точность (fp16, bf16).
Выбор под задачу
| Данные | Начните с |
|---|---|
| Таблицы | градиентный бустинг (XGBoost, LightGBM), затем MLP |
| Изображения | предобученные CNN (ResNet, EfficientNet) или ViT |
| Текст | предобученный трансформер (BERT-подобный или LLM) |
| Временные ряды | градиентный бустинг, TCN, LSTM, трансформеры для рядов |
| Звук | Whisper, wav2vec |
| Графы | GNN (PyG, DGL) |
| Генерация картинок | диффузия (Stable Diffusion, Flux) |
Проблемы
Переобучение (регуляризация, больше данных), исчезающие градиенты (ReLU, residual, нормализация), нехватка данных (transfer learning, аугментация), вычислительная стоимость (квантование, дистилляция, LoRA).