Максим Байтович – Нейросети. Роадмап (страница 3)
Данные — это таблицы чисел. Все ваши тексты, картинки и видео для компьютера — скучная числовая матрица.
Результат — это всегда вероятность. Нейросеть не «знает», она «предполагает». Иногда — очень удачно.
Всё, математика на сегодня закончилась. Выдыхайте.
В следующей главе мы перейдем к самому интересному — к анатомии. Мы посмотрим, как устроены разные типы нейросетей. Почему одни сети умеют видеть, другие — писать, а третьи — рисовать. Вы узнаете, чем сверточные сети отличаются от трансформеров, и почему «Внимание» — это не просто слово из заголовков статей, а механизм, который перевернул мир.
Обещаю: будет интересно. И ни одной формулы... почти.
Глава 3.
Архитектуры: Анатомия мозга машины
или «Почему одни сети рисуют, а другие считают налоги»
Не все нейросети одинаково полезны
Когда в разговоре кто-то говорит: «Нейросеть сгенерировала картинку», — на самом деле за этим стоит конкретная архитектура. Это как сказать «автомобиль перевёз груз», не уточняя, был это Ferrari или КамАЗ. И то, и другое — транспорт, но задачи у них разные.
Нейросети тоже бывают разные. Одни лучше работают с таблицами, другие — с фотографиями, третьи — с текстом. И если вы хотите понимать, что происходит внутри ChatGPT или Midjourney, вам нужно познакомиться с тремя-четырьмя главными «породами».
Мы пройдемся по эволюции: от простых трудяг до гениальных болтунов.
1. Полносвязные сети: Старые добрые трудяги
Самый простой и самый старый тип. Мы с вами уже встречались с ними в первой главе.
Представьте себе колонну солдат, стоящих в несколько шеренг.
Первая шеренга получает данные (например, размер дома и район).
Вторая шеренга получает сигналы от первой.
Третья — от второй.
Последняя шеренга выдает ответ (например, цену дома).
Главное правило: каждый нейрон в одной шеренге связан с каждым нейроном в следующей. Поэтому такие сети называются полносвязными.
Где они хороши?
Они прекрасно решают задачи, где данные уже разложены по полочкам: таблицы Excel, списки параметров, финансовые показатели. Если у вас есть таблица с данными о клиентах и вы хотите предсказать, кто из них уйдет к конкурентам, — полносвязная сеть справится отлично.
Где они бесполезны?
Покажите полносвязной сети фотографию кота. Она посмотрит на каждый пиксель отдельно. Пиксель 1 — серый. Пиксель 2 — серый. Пиксель 3 — белый. Но она не поймет, что эти пиксели складываются в ухо. Для неё это просто мешанина из миллиона независимых чисел.
И это главная трагедия полносвязных сетей: они не видят структуру. Не понимают, что пиксели, стоящие рядом, образуют контур. Поэтому для картинок пришлось изобрести кое-что получше.
2. Сверточные сети (CNN): Глаза машины
В 1980-х годах один умный француз по имени Ян Лекун посмотрел на полносвязные сети и сказал: «Ребята, вы неправильно смотрите на картинки». И он придумал свертку.
Как видит сверточная сеть?
Представьте, что вы смотрите на картину через маленькое окошко размером 3×3 пикселя. Вы смотрите на уголок картины, находите там диагональную линию. Затем передвигаете окошко на один пиксель вправо — опять линия. Ещё вправо — опять линия. Вы сканируете всю картину этим окошком и составляете карту линий.
Потом берете другое окошко и ищете на картине круги. Третье окошко ищет углы. Четвертое — пятна.
Потом вы берете результаты первого сканирования и сканируете их новыми окошками. Теперь вы ищете не просто линии, а комбинации линий: например, «две диагональные линии, сходящиеся под углом» — это крыша дома.
Зачем это нужно?
Потому что кошачье ухо — это не случайный набор пикселей. Это структура: изогнутая линия, которая находится в определенном месте относительно глаза. Сверточная сеть учится выхватывать эти структуры автоматически.
Где они живут сейчас?
Распознавание лиц в вашем телефоне.
Автопилот в машине (видит разметку, знаки, пешеходов).
Медицина: поиск опухолей на снимках МРТ (да, сети находят рак лучше некоторых врачей).
Но у сверточных сетей есть слабость: они видят пространство, но не видят время. Они не понимают последовательности. Поэтому для текста и речи понадобился другой зверь.
3. Рекуррентные сети (RNN): Память золотой рыбки
Когда вы читаете предложение «Я люблю свою собаку, потому что она...», — вы понимаете, что «она» — это собака. Вы помните начало предложения.
А полносвязная сеть не помнит. Она читает каждое слово как новое, с чистого листа. Ей скажешь «она» — и она спросит: «Кто — она?»
Рекуррентная сеть решает эту проблему элегантным образом:
У неё есть петля. Нейрон передает сигнал не только следующему слою, но и самому себе. Это как короткая память. Сеть получает слово «собака», кладет его себе в карман, а когда приходит слово «она» — залезает в карман и говорит: «Ага, раньше была собака, значит она — это про неё».
Проблемы с памятью
Одна беда: карман у такой сети маленький. Если вы спросите её: «В начале этого абзаца я упомянул серую кошку. О ком я говорю в последнем предложении?» — она уже забудет. Пять-десять шагов назад она ещё помнит, а вот сто — уже нет. Это называется проблемой долгой краткосрочной памяти.
Инженеры придумали улучшение — LSTM (Long Short-Term Memory). Это как рекуррентная сеть, но с отдельным механизмом «решать, что запомнить, а что выбросить». Как умный блокнот: что-то записал в черновик, что-то вычеркнул.
Рекуррентные сети долго были королями перевода и распознавания речи. Но потом пришли они.
4. Трансформеры: Революция внимания
В 2017 году группа инженеров из Google опубликовала статью с дерзким названием «Attention is All You Need» — «Внимание — это всё, что вам нужно».
Они предложили архитектуру, которая отказалась от петель и памяти. Вместо этого — механизм внимания.
Что такое внимание?
Когда вы читаете фразу: «The animal didn't cross the street because it was too tired», — как вы понимаете, к чему относится «it»? К животному или к улице?
Вы это делаете не просто запоминая предыдущие слова. Вы взвешиваете все слова одновременно. Ваш мозг смотрит на всё предложение целиком и подсвечивает: «animal» — важно, «street» — менее важно, «tired» — важно. Вы расставляете акценты.
Трансформер делает то же самое.
Он берет предложение и для каждого слова вычисляет: «Насколько слово А связано со словом Б?»
Он не читает текст слева направо, как рекуррентная сеть. Он смотрит на весь текст одновременно и строит карту связей.
Почему это гениально?
Во-первых, скорость. Рекуррентная сеть читает по одному слову, как человек, который водит пальцем по строчке. Трансформер видит всю страницу разом. Это можно распараллелить на видеокартах, что делает обучение в сотни раз быстрее.
Во-вторых, глубина понимания. Трансформер может уловить связь между словами, которые находятся друг от друга на расстоянии в тысячу слов. Потому что он «внимателен» ко всему тексту сразу.
Кто живет внутри трансформера?
Все современные звезды — это трансформеры:
GPT (Generative Pre-trained Transformer) — та самая модель, которая пишет тексты.
BERT — модель, которая отлично понимает запросы в поисковиках.
CLIP — модель, которая связывает текст и картинки (поэтому мы можем написать «кот в космосе» и получить картинку).
Когда вы пользуетесь ChatGPT, вы общаетесь с гигантским трансформером, который прошёл через механизм внимания миллиарды раз.
5. Диффузия: Художники, которые рисуют из шума