🔴 Сложный ⏱️ 25 минут

Архитектуры нейронных сетей: от персептрона до трансформеров

Архитектуры нейронных сетей: от персептрона до трансформеров

🎯 Зачем это нужно?

Представь, что ты создаёшь нового ассистента-бота 🤖. Для распознавания твоего голоса нужна одна архитектура сети, для понимания текста - другая, а для генерации изображений - третья!

Реальные примеры:

  • 📸 Instagram фильтры = CNN (свёрточные сети) для работы с изображениями
  • 🎵 Spotify рекомендации = Рекуррентные сети для анализа последовательностей
  • 💬 ChatGPT = Трансформеры для понимания и генерации текста

📚 История вопроса

В 1943 году Маккалок и Питтс создали первый искусственный нейрон - математическую модель биологического 🧠. Но настоящий прорыв случился в 2012 году, когда AlexNet выиграл ImageNet, используя GPU для обучения глубоких сетей. С тех пор архитектуры развиваются со скоростью света!

Интересный факт: GPT-3 содержит 175 миллиардов параметров - это в 1000 раз больше нейронов в мозге пчелы! 🐝

💡 Интуиция

Думай об архитектуре нейросети как о специализированном инструменте:

🔨 Молоток (персептрон) - простые задачи классификации
🪚 Пила (CNN) - “разрезает” изображения на паттерны
🧲 Магнит (RNN) - “притягивает” информацию из прошлого
🔬 Микроскоп (Attention) - фокусируется на важных деталях

[МЕДИА: image_01] Описание: Схема эволюции архитектур нейросетей от персептрона до трансформеров Промпт: “evolution timeline of neural network architectures, from simple perceptron to transformers, colorful modern design, icons representing different architectures, clean educational style, timeline format”

📐 Основные архитектуры

1️⃣ Персептрон (1958) - “Лампочка” 💡

Суть: Один нейрон, принимает решение “да/нет” Формула: y = f(w₁x₁ + w₂x₂ + … + wₙxₙ + b)

Где используется:

  • Простая классификация (спам/не спам)
  • Логические операции AND, OR

2️⃣ Многослойный персептрон (MLP) - “Команда” 👥

Суть: Несколько слоёв нейронов, каждый со всеми связан Проблема: Градиенты “затухают” в глубоких сетях

# Простейший MLP
class MLP:
    def __init__(self):
        self.W1 = random_weights(784, 128)  # вход → скрытый
        self.W2 = random_weights(128, 10)   # скрытый → выход
    
    def forward(self, x):
        h = relu(x @ self.W1)  # скрытый слой
        y = softmax(h @ self.W2)  # выходной слой
        return y

3️⃣ Свёрточные сети (CNN, 1989) - “Фотоаппарат” 📷

Суть: Фильтры “сканируют” изображение, ищут паттерны Архитектура: Свёртка → Активация → Пулинг → Повтор

[МЕДИА: image_02] Описание: Визуализация работы CNN - как фильтры находят края, текстуры, объекты Промпт: “CNN architecture visualization, convolutional layers detecting edges and features in images, feature maps progression, modern educational diagram, blue and orange color scheme”

Прорывы:

  • AlexNet (2012) - первая глубокая CNN на ImageNet
  • ResNet (2015) - решил проблему затухающих градиентов
  • EfficientNet (2019) - оптимальное соотношение точность/скорость

4️⃣ Рекуррентные сети (RNN) - “Память” 🧠

Суть: Нейроны “помнят” предыдущие состояния Формула: hₜ = f(Whx·xₜ + Whh·hₜ₋₁ + b)

Проблема: Забывают долгосрочные зависимости

LSTM (1997) - решение через “ворота”:

  • 🚪 Forget gate - что забыть
  • 📥 Input gate - что запомнить
  • 📤 Output gate - что вывести

5️⃣ Трансформеры (2017) - “Революция” 🚀

Суть: “Attention is All You Need” - механизм внимания заменяет всё!

Self-Attention: каждое слово “смотрит” на все остальные

Attention(Q,K,V) = softmax(QK^T/√d)V

Где: Q=запросы, K=ключи, V=значения

Применения:

  • BERT - понимание языка
  • GPT - генерация текста
  • DALL-E - генерация изображений
  • AlphaFold - предсказание структуры белков

🔍 Примеры с разбором

Пример 1: Выбор архитектуры для задачи

Задача: Создать систему модерации комментариев в соцсети

Анализ:

  1. Входные данные: Текст (последовательность слов)
  2. Выход: Токсичный/Нормальный (бинарная классификация)
  3. Особенности: Нужно понимать контекст и сарказм

Решение: Трансформер (BERT) ✅ Почему не CNN? Текст - это не изображение, порядок слов критичен Почему не RNN? Трансформеры лучше улавливают длинные зависимости

Пример 2: Архитектура для рекомендательной системы

Задача: Рекомендовать музыку пользователю Spotify

[МЕДИА: image_03] Описание: Схема рекомендательной системы с разными типами данных Промпт: “recommendation system architecture diagram, multiple data types (audio, text, user behavior), neural network components, modern tech illustration, purple and green colors”

Гибридная архитектура:

class MusicRecommender:
    def __init__(self):
        self.audio_cnn = CNN()      # анализ аудио
        self.text_bert = BERT()     # анализ текстов песен  
        self.collab_mlp = MLP()     # коллаборативная фильтрация
        self.fusion_net = MLP()     # объединение всех фич
    
    def recommend(self, user_id, song_features):
        audio_emb = self.audio_cnn(song_features["audio"])
        text_emb = self.text_bert(song_features["lyrics"])
        collab_emb = self.collab_mlp(user_id)
        
        combined = torch.cat([audio_emb, text_emb, collab_emb])
        score = self.fusion_net(combined)
        return score

🎮 Практика

Базовый уровень 🟢

Задача 1: У тебя есть датасет из 10,000 изображений кошек и собак 28×28 пикселей. Какую архитектуру выбрать? a) RNN b) CNN c) Трансформер d) MLP

💡 Подсказка Изображения = пространственные данные. Какая архитектура специализируется на них?
✅ Ответ **b) CNN** - свёрточные сети созданы для работы с изображениями. Они могут находить паттерны независимо от позиции в изображении.

Задача 2: Нужно предсказать цену акции на завтра по данным за последние 30 дней. Что выбрать?

Задача 3: Переводчик с английского на русский. Входная последовательность: “Hello world”, выходная: “Привет мир”. Архитектура?

Задача 4: Система распознавания рукописного текста. На вход - изображение строки, на выход - текст. Какую архитектуру использовать?

Продвинутый уровень 🟡

Задача 5: Объясни, почему ResNet использует skip connections. Какую проблему они решают?

💡 Подсказка Подумай о проблеме затухающих градиентов в глубоких сетях

Задача 6: В чём принципиальное отличие self-attention от обычного внимания в seq2seq моделях?

Задача 7: Почему трансформеры вытеснили RNN в большинстве NLP задач? Назови минимум 3 преимущества.

Задача 8: Спроектируй архитектуру для системы автопилота. У тебя есть:

  • Камеры (4 изображения)
  • Лидар (3D точки)
  • GPS координаты
  • Скорость, направление

Нужно предсказать: руль, газ, тормоз

Челлендж 🔴

Задача 9: Vision Transformer (ViT) разбивает изображение на патчи и обрабатывает как последовательность. Почему это работает лучше CNN на больших датасетах?

Задача 10: Объясни архитектуру CLIP (OpenAI). Как одна модель понимает и текст, и изображения?

Задача 11: Почему GPT использует decoder-only архитектуру, а BERT - encoder-only? В чём фундаментальная разница?

⚠️ Частые ошибки

Ошибка: “Трансформеры всегда лучше RNN” ✅ Правильно: Трансформеры требуют больше данных и вычислений 💡 Почему: На малых датасетах простые архитектуры могут работать лучше

Ошибка: “CNN только для изображений”
Правильно: CNN отлично работают с любыми пространственными данными 💡 Почему: Звуковые сигналы, временные ряды, графы - везде есть локальные паттерны

Ошибка: Использовать архитектуру без понимания данных ✅ Правильно: Сначала анализируй природу задачи, потом выбирай архитектуру
💡 Почему: Неправильная архитектура = плохое качество, даже с хорошими данными

Ошибка: “Глубже = лучше” ✅ Правильно: Оптимальная глубина зависит от задачи и данных 💡 Почему: Переобучение, затухающие градиенты, вычислительная сложность

🎓 Главное запомнить

Архитектура = инструмент под задачу: CNN для изображений, RNN для последовательностей, Трансформеры для языка
Attention механизм: Позволяет модели фокусироваться на важных частях входа
Эволюция: Персептрон → MLP → CNN/RNN → Трансформеры → Multimodal модели

🔗 Связь с другими темами

Откуда пришли: Урок 333 заложил основы нейронов и обучения Что дальше: Изучим конкретные архитектуры (ResNet, BERT, GPT), оптимизацию и deployment Математика: Матричные операции, свёртки, градиенты - всё связано!

Понял тему? Закрепи в боте! 🚀

Попрактикуйся на задачах и получи персональные рекомендации от AI

💪 Начать тренировку
💬 Есть вопрос? Спроси бота!