История ИИ. Дополнения
Claude Opus 4.5Основной текст:
https://telegra.ph/Ot-tyuring-testa-do-ChatGPT-polnaya-istoriya-II-12-16
Практически полностью совпадает с выдачей Claude Opus 4.5 на запрос об истории ИИ для простого программиста. Только ключевой раздел про DeepLearning я заменил после уточняющих вопросов, т.к. Claude забыл главное -- почему оно deep и ещё некоторые детали. А ниже исходная часть ответа, на мой взгляд более удачная как дополнение.
Глубокое обучение: революция 2006-2012 годов
ImageNet и AlexNet — переломный момент
ImageNet — база из 14 миллионов размеченных изображений в 22,000 категориях, созданная под руководством Фэй-Фэй Ли (Стэнфорд, завершена в 2009). Для соревнования ILSVRC использовался подмножество: 1.2 млн изображений, 1000 классов. Neurohive
В сентябре 2012 года команда «SuperVision» — Алекс Крижевский, Илья Суцкевер, Джеффри Хинтон — представила AlexNet: Pinecone 8 слоёв (5 свёрточных + 3 полносвязных), 60 миллионов параметров. NeurIPS Ошибка top-5 составила 15.3% против 26.2% у второго места Turing Post — разрыв в 10.8 процентных пунктов был беспрецедентным. Pinecone
Три фактора сошлись: большие данные (ImageNet), GPU (две NVIDIA GTX 580), и улучшенные методы обучения (ReLU, dropout, аугментация). IEEE Spectrum После 2012 года все победители ImageNet использовали CNN — символический AI был окончательно вытеснен.
Моё дополнение: количество перешло в качество. Спасибо компьютерным играм за доступные мощные видеокарты (см. про сравнительный рост производительности CPU и GPU и начало судьбоносной NVidia CUDA в паре статей из 2008 года, когда ещё никто не знал, к чему это приведёт). На рубеже 2000-х и 2010-х GPU и нейронки нашли друг друга -- сперва в "родных" для GPU задачах обработки изображений, где лучше всего взлетела свёрточная архитектура: Convolutional Neural Network, CNN.
Свёрточные нейросети (CNN): что такое свёртка
Свёртка — это скользящее окно (kernel/filter) размером, например, 3×3, которое проходит по изображению. В каждой позиции значения фильтра поэлементно умножаются на пиксели под ним и суммируются, давая одно число. Результат — карта признаков (feature map).
Пример edge-detection фильтра:
[-1, -1, -1]
[-1, 8, -1]
[-1, -1, -1]
Ключевая идея: фильтры обучаются автоматически, а не задаются вручную. Ранние слои учатся детектировать края и градиенты, средние — текстуры и формы, глубокие — сложные объекты (глаза, колёса, лица).
Pooling (обычно max pooling 2×2) уменьшает пространственное разрешение в 2 раза, беря максимум из каждого квадрата 2×2. Это даёт инвариантность к сдвигу — кошачье ухо распознаётся независимо от точной позиции.
Почему CNN эффективны для изображений:
- Parameter sharing: один и тот же фильтр применяется ко всему изображению (огромная экономия параметров vs полносвязных сетей)
- Локальность: каждый нейрон связан только с небольшой областью — соответствует структуре изображений
- Иерархия признаков: от простого к сложному, как в зрительной коре
Эволюция архитектур: от 8 до 152 слоёв
VGG (2014, Oxford): очень глубокие сети из однотипных блоков 3×3. VGG-16 имеет 16 слоёв и 138 млн параметров — много, но доказало, что глубина важна.
GoogLeNet/Inception (2014, Google): inception-модули — параллельные пути с фильтрами разных размеров (1×1, 3×3, 5×5), объединяемые конкатенацией. Всего 22 слоя, но только 6.8 млн параметров — в 12 раз меньше VGG при сравнимой точности. Ключевая техника: 1×1 свёртки для уменьшения размерности перед тяжёлыми операциями.
ResNet (2015, Microsoft): революция через skip connections — вход блока добавляется к его выходу: y = F(x) + x. Это позволило обучать сети со 152+ слоями, впервые превзойдя человеческую точность на ImageNet (~3.57% ошибка vs ~5% у людей).
Vanishing gradient и как её решили
Проблема затухающих градиентов: при backpropagation градиенты перемножаются послойно. Если каждое умножение даёт число <1 (производная sigmoid максимум 0.25), то к ранним слоям приходит почти ноль — они не обучаются.
Решения:
- ReLU (max(0, x)) вместо sigmoid: производная = 1 для положительных входов, градиенты не затухают Nature
- Batch Normalization (2015): нормализует активации внутри мини-батча к нулевому среднему и единичной дисперсии, затем обучает масштаб и сдвиг. Позволяет использовать более высокий learning rate
- Skip connections (ResNet): градиенты могут течь напрямую через «шоссе», минуя слои
GPU и роль NVIDIA
Нейросети — это в основе матричные умножения, идеально параллелизуемые. CPU имеет ~10 мощных ядер для последовательных задач; GPU — тысячи слабых ядер для параллельных. CUDA (2006) позволила программировать GPU общего назначения, а cuDNN — оптимизированная библиотека для свёрток, pooling, активаций — дала ещё 2-3× ускорения. AlexNet обучался 6 дней на двух GTX 580; на CPU это заняло бы месяцы.
Computer Vision: от R-CNN к Stable Diffusion
Claude не пояснил ни разу, а я поясню и второй раз (повторенье -- мать ученья): бум "глубоких" (deep learning) нейросетей начался с задач обработки изображений. LLM случились позже. Буква "R-" в "R-CNN" означает "recursive", то бичь нейросеть с т.н. "памятью". В первой половине 2010-х это был bleeding edge of progress, в задачах обработки текстов тоже, но об этом в следующем разделе.
Object detection: эволюция скорости
R-CNN (2014): генерация ~2000 «кандидатных областей» алгоритмом Selective Search → каждая область прогоняется через CNN → классификация SVM. Результат: 47 секунд на изображение — CNN запускается 2000 раз.
Fast R-CNN (2015): CNN запускается один раз на всё изображение, затем признаки для каждой области извлекаются из общей карты признаков. Скорость: ~2 секунды (25× быстрее).
Faster R-CNN (2015): вместо Selective Search — нейросеть Region Proposal Network (RPN), предсказывающая области. Скорость: ~0.2 секунды.
YOLO (You Only Look Once, 2015): радикально другой подход — изображение делится на сетку S×S, каждая ячейка предсказывает bounding boxes и вероятности классов за один проход. Результат: 45+ FPS — реальное время! Точность ниже, чем у Faster R-CNN, но для видеонаблюдения и автономных машин скорость критичнее.
GANs: генератор vs дискриминатор
В 2014 году Иан Гудфеллоу представил Generative Adversarial Networks — две конкурирующие нейросети:
- Генератор (G): принимает случайный шум z, выдаёт изображение. Цель — обмануть дискриминатор
- Дискриминатор (D): отличает реальные изображения от сгенерированных. Цель — не дать себя обмануть
Это игра с нулевой суммой: G и D итеративно улучшаются, пока G не научится генерировать изображения, неотличимые от реальных (в теории D угадывает с вероятностью 50%).
Mode collapse — главная проблема: генератор может «застрять», производя только несколько типов изображений, которые обманывают дискриминатор, игнорируя разнообразие данных.
StyleGAN (NVIDIA, 2018-2021) достиг фотореалистичной генерации лиц через «style-based» архитектуру: случайный вектор z преобразуется в промежуточное пространство w, которое через Adaptive Instance Normalization (AdaIN) контролирует стиль на каждом уровне разрешения.
Diffusion models: почему победили GANs
Диффузионные модели (DDPM, Ho et al., 2020) работают иначе:
- Прямой процесс: постепенно добавляем гауссовский шум к изображению за T шагов, пока не получим чистый шум
- Обратный процесс: обучаем нейросеть предсказывать и удалять шум на каждом шаге, итеративно восстанавливая изображение из шума
Почему лучше GANs:
- Стабильность обучения: нет adversarial динамики, простая MSE-loss для предсказания шума
- Разнообразие: лучшее покрытие распределения, меньше mode collapse
- Теоретическая обоснованность: чёткая вероятностная формулировка
Latent Diffusion (2022): диффузия в сжатом латентном пространстве (после VAE-энкодера) вместо пиксельного — в 10-100 раз быстрее при том же качестве.
CLIP, DALL-E, Stable Diffusion — текст-в-изображение
CLIP (OpenAI, январь 2021): обучен на 400 млн пар изображение-текст из интернета. Два энкодера (текстовый и визуальный) проецируют входы в общее embedding-пространство. CLIP позволяет zero-shot классификацию: опишите любые категории текстом — CLIP найдёт, какое изображение к какой ближе.
DALL-E 2 (апрель 2022): CLIP-эмбеддинги текста → prior-модель → диффузионный декодер. Драматический скачок качества.
Stable Diffusion (август 2022, Stability AI): первая open-source text-to-image модель. Архитектура: CLIP-энкодер текста + VAE + U-Net в латентном пространстве (860 млн параметров). Работает на consumer GPU (8GB+ VRAM), породила экосистему из тысяч fine-tuned моделей, LoRA-адаптеров, расширений. Stable Diffusion 3 (2024) перешёл на Transformer-архитектуру (DiT).
NLP: от bag-of-words к трансформерам
LLM это, если что, тоже NLP (Natural Language Processing, т.е. текстовые задачи). Вот тут-то мы к этим вашим ChatGPT (и тому самому Claude Opus 4.5, что сгенерил этот самый текст) и подберёмся.
Ранние подходы и их ограничения
Bag-of-words: документ = неупорядоченный набор слов. Теряет порядок: «собака кусает человека» = «человек кусает собаку». Результат — разреженный вектор размерности |словарь| (~100,000+).
TF-IDF улучшает BoW: слова взвешиваются по TF × IDF, где IDF = log(всего_документов / документов_со_словом). «The» получает низкий вес, редкие термины — высокий. Но семантика по-прежнему отсутствует: «автомобиль» и «машина» — разные, несвязанные слова.
N-граммы частично восстанавливают порядок: биграммы [«the cat», «cat sat»], триграммы… Но словарь взрывается экспоненциально, большинство n-грамм встречается редко (проблема разреженности).
Word embeddings — семантика в векторах
Word2Vec (Миколов и др., Google, 2013): каждое слово представляется плотным вектором (100-300 измерений), где семантически близкие слова имеют близкие векторы.
Знаменитый пример: king - man + woman ≈ queen. Векторная арифметика работает, потому что измерения неявно кодируют атрибуты: [royalty=0.8, male=0.9] для king, [royalty=0.8, female=0.9] для queen.
Две архитектуры:
- CBOW: по контексту предсказываем центральное слово («The ___ sat on the mat» → «cat»)
- Skip-gram: по центральному слову предсказываем контекст («cat» → «the», «sat», «meow»)
GloVe (Стэнфорд) строит эмбеддинги из глобальной матрицы совстречаемости слов. Практически взаимозаменяем с Word2Vec.
RNN и проблема долгосрочных зависимостей
Recurrent Neural Networks обрабатывают последовательности, сохраняя скрытое состояние (hidden state) — «память» о прочитанном:
h_t = f(W_h × h_{t-1} + W_x × x_t)
Аналогия для программиста: функция (previousState, currentInput) → newState, применяемая итеративно.
Проблема: при backpropagation через 100 шагов градиенты затухают (или взрываются). Информация от начала предложения теряется к концу.
LSTM: ворота для управления памятью
Long Short-Term Memory (Хохрайтер, Шмидхубер, 1997) решает проблему через cell state — отдельный канал памяти, управляемый тремя воротами:
- Forget gate: «что забыть из долгосрочной памяти?» (значения 0-1 для каждой ячейки)
- Input gate: «что добавить из текущего входа?»
- Output gate: «что выдать на выход?»
Аналогия: база данных с операциями DELETE, INSERT, SELECT. Cell state — это конвейер, по которому информация может течь неизменённой через множество шагов; ворота выборочно её модифицируют.
GRU (2014) — упрощённый вариант с двумя воротами (update, reset), часто сравнимый по качеству, но быстрее в обучении.
Attention: прорыв 2014-2015
Проблема bottleneck: в encoder-decoder архитектурах (например, машинный перевод) всё входное предложение сжимается в один вектор фиксированной длины — как пересказать книгу одним предложением, а потом по нему писать перевод.
Attention (Бахданау и др., 2014) позволяет декодеру «смотреть назад» на все состояния энкодера и фокусироваться на релевантных частях для каждого выходного слова.
Интуиция Query-Key-Value (как запрос к базе данных):
- Query (Q): «что я ищу?» — текущее состояние декодера
- Key (K): «индекс» — состояния энкодера
- Value (V): «данные» — тоже состояния энкодера
Attention(Q, K, V) = softmax(Q × K^T / √d) × V
Softmax нормализует «похожести» Q·K в веса (сумма = 1), затем эти веса взвешивают Values.
Уточнение по RNN, LSTM и GRU
Вот этого в исходном ответе Claude уже не было, дополнил после наводящего вопроса.
Иерархия рекуррентных архитектур:
RNN (Recurrent Neural Networks)
├── Vanilla RNN (простейший вариант)
│ └── Проблема: vanishing/exploding gradients
│ └── На практике почти не использовался для длинных последовательностей
│
├── LSTM (Long Short-Term Memory) — 1997, Hochreiter & Schmidhuber
│ └── Решение: cell state + 3 ворот (forget, input, output)
│ └── Де-факто стандарт для NLP до трансформеров
│
└── GRU (Gated Recurrent Unit) — 2014, Cho et al.
└── Упрощённый LSTM: 2 ворот (update, reset)
└── Сравнимое качество, быстрее обучается
Vanilla RNN — это простейшая формула:
h_t = tanh(W_h × h_{t-1} + W_x × x_t + b)
Проблема в том, что при backpropagation через 100 шагов градиенты умножаются 100 раз. Если множители < 1 — градиент затухает до нуля (ранние слои не обучаются). Если > 1 — взрывается до infinity.
LSTM добавляет отдельный «канал памяти» (cell state), который может передавать информацию через произвольно длинные последовательности почти без изменений. Ворота (gates) — это sigmoid-слои, выдающие числа 0-1, которые контролируют что забыть, что добавить, что выдать.
На практике до 2017 года: LSTM использовался почти везде в NLP — машинный перевод (seq2seq), sentiment analysis, language modeling, speech recognition. GRU — как более быстрая альтернатива с похожим качеством. Vanilla RNN — только в учебных примерах.
После 2017 (трансформеры) LSTM быстро вытеснился из большинства NLP-задач, но остаётся актуальным для некоторых временных рядов и edge-устройств с ограниченной памятью.
Если хотите разобраться, как все эти архитектуры устроены (там в принципе несложно... по меркам высшей математики) -- можете глянуть мой конспект 2021 года (не смотрите, что он опубликован в 2023, для 2023 он уже подотстал от жизни, об веяниях 2020-х будет ниже тут).
А ниже другие дополнения Claude после моих наводящих вопросов.
Self-Supervised Learning: ключ к масштабированию трансформеров
Узкое место supervised learning
До 2018 года машинное обучение упиралось в разметку данных. Supervised learning требует пар (вход, правильный ответ): для ImageNet 14 миллионов изображений размечали через Amazon Mechanical Turk годами. Для NLP — ещё сложнее: sentiment analysis требует читать тексты, NER — выделять сущности вручную, машинный перевод — параллельные корпуса от профессиональных переводчиков.
Масштабирование упиралось в человеческий труд: чтобы удвоить качество, нужно было удвоить размеченные данные — время, деньги, ошибки разметчиков.
Self-supervised learning: превращение интернета в датасет
Self-supervised learning (SSL) — парадигма, где модель сама генерирует «метки» из структуры данных:
- Языковое моделирование (GPT): задача — предсказать следующий токен. Метка — просто следующее слово в тексте. Весь интернет становится размеченным датасетом бесплатно
- Masked Language Modeling (BERT): скрыть 15% токенов, предсказать их. Метка — скрытые слова из самого текста
- Contrastive learning (CLIP, SimCLR): разные аугментации одного изображения должны быть близки в embedding-пространстве, разные изображения — далеки
Почему это революция: объём доступных данных вырос на порядки. CommonCrawl содержит петабайты текста; YouTube — миллиарды часов видео с субтитрами. Узкое место сместилось от данных к compute.
Ключевые вехи SSL-эры (2018-2023)

Почему SSL + трансформеры = взрывной рост
Три фактора сошлись:
- Данные: SSL устранил bottleneck разметки — доступны триллионы токенов
- Архитектура: трансформеры параллелизуются на GPU лучше RNN (все позиции обрабатываются одновременно)
- Scaling laws: предсказуемое улучшение качества с ростом compute — можно планировать инвестиции
Критический инсайт: предсказание следующего токена заставляет модель неявно моделировать всё — грамматику, факты, логику, стиль, намерения авторов. Это компрессия знаний интернета в веса нейросети. Модель не «запоминает» тексты — она учится паттернам, из которых тексты состоят.
Почему трансформеры масштабируются лучше RNN
Честно говоря, этот подраздел не до конца понял. У меня есть подозрения, что здесь Claude имел в виду ванильный RNN, а не использовавшийся на практике (и широко, я сам использовал в бою) LSTM. Так что есть шанс, что это галлюцинация ИИ -- но если так, то пусть будет как демонстрация, что его возможности пока небезграничны... хотя скорее всё-таки неправ тут я. Это неважно -- в любом случае сейчас LSTM передал эстафету трансформероподобному (т.е. основанному на "внимании") как в больших, так и в не очень больших моделях. Поэтому я отправил этот подраздел в дополнения, хотя это часть исходного ответа.

RNN делает O(n) последовательных операций; трансформер — O(n²) параллельных операций, что на GPU гораздо быстрее для типичных длин.
Нейросети vs ансамбли: кто победил?
Раздел для тех, кто застал классический ML. Для входящих сразу в LLM/VLM (VLM = подвид LLM, работающий не только на тексте, но и, например, на изображениях) эпоху, наверное, неинтересен... хотя, как видим, нейросети ещё не везде победили.
Состояние на 2024-2025
Короткий ответ: нейросети победили на неструктурированных данных (изображения, текст, аудио, видео). На табличных данных — ничья или преимущество ансамблей.
Неструктурированные данные: безоговорочная победа нейросетей

Здесь нейросети выигрывают с огромным отрывом. Причина: они сами извлекают признаки из сырых данных (пиксели, токены), а для ансамблей нужен ручной feature engineering, который не масштабируется.
Табличные данные: ансамбли держатся
Типичная задача Kaggle на табличных данных:
- Данные: CSV с числовыми и категориальными признаками
- Размер: тысячи — миллионы строк
- Задача: классификация или регрессия
Что побеждает в 2024:
- XGBoost / LightGBM / CatBoost: табличные данные < 1M строк, смешанные типы признаков, интерпретируемость важна
- Нейросети (MLP, TabNet, FT-Transformer): очень большие датасеты, когда есть GPU, задачи с temporal/sequential структурой
- Ансамбли нейросетей + бустинга: соревнования, когда нужен последний 0.1% качества
Почему бустинг до сих пор силён на таблицах
- Эффективность на малых данных: XGBoost хорошо работает на 10K строк; нейросети требуют больше
- Устойчивость к гиперпараметрам: дефолтные параметры LightGBM часто дают 95% от оптимума; нейросети чувствительнее
- Скорость обучения: минуты vs часы на GPU
- Интерпретируемость: feature importance встроен; для нейросетей нужны отдельные методы (SHAP, LIME)
- Категориальные признаки: CatBoost обрабатывает их нативно; для нейросетей нужен embedding
Попытки нейросетей завоевать таблицы
TabNet (Google, 2019): attention-механизм для выбора признаков на каждом шаге. Сравним с бустингом, но не превосходит.
FT-Transformer (2021): трансформер где каждый признак — токен. На некоторых бенчмарках лучше бустинга, но не универсально.
TabPFN (2022): трансформер, предобученный на синтетических табличных задачах. Хорош для малых датасетов (<1000 строк), но не масштабируется.
Вывод: на табличных данных среднего размера XGBoost/LightGBM остаются default choice. Нейросети стоит пробовать на больших датасетах или когда есть специфическая структура (временные ряды, графы).
Интересный факт: ансамбли внутри нейросетей
Современные LLM используют идеи из ансамблевого обучения:
- Mixture of Experts (MoE): GPT-4, Mixtral — разные «эксперты» активируются для разных токенов. Это форма ансамблирования. В GPT-5 это ещё более развито.
- Dropout: случайное «выключение» нейронов при обучении — эквивалент усреднения экспоненциально многих подсетей.
- Ensemble of checkpoints: несколько сохранений модели с разных эпох усредняются для улучшения качества.
Так что граница размылась: лучшие нейросети заимствуют идеи ансамблей, а бустинг-библиотеки используют GPU-ускорение из мира deep learning.