Андрей Карпаты | Ч.3 Активации, Градиенты и Пакетная Нормализация (BatchNorm) | Создание makemore

12+
12+

1 просмотр

4 дня назад

ПожаловатьсяНарушение авторских прав
12+
12+

1 просмотр

4 дня назад

ПожаловатьсяНарушение авторских прав
12+
12+

1 просмотр

4 дня назад

Мы погружаемся во внутреннее устройство многослойных перцептронов (MLP) и подробно изучаем статистику активаций при прямом проходе, градиентов при обратном проходе, а также проблемы, возникающие при их неправильном масштабировании. Мы также рассмотрим типичные инструменты диагностики и визуализации, которые помогают понять, насколько хорошо работает глубокая нейросеть. Разберёмся, почему обучение глубоких нейросетей может быть нестабильным, и познакомимся с одной из первых современных инноваций, значительно упростивших этот процесс, — пакетной нормализацией (Batch Normalization, BatchNorm). Остаточные связи (Residual Connections) и оптимизатор Adam пока оставим на будущее — к ним мы вернёмся в следующих видео. makemore на GitHub: github.com/karpathy/makemore Jupyter из видео: github.com/karpathy/nn-zero-to-hero?utm_source=chatgpt.com Ссылка на источник с оригиналом: https://www.youtube.com/watch?v=P6sfmUTpUmc&list=TLPQMjEwODIwMjaHOy47VoDEHA&index=16 Упражнения: E01. В видео я так и не успел посмотреть, что произойдёт, если инициализировать все веса и смещения нулями. Попробуйте сделать это и обучить нейросеть. Можно предположить, что: 1. Сеть будет обучаться совершенно нормально; 2. Сеть вообще не будет обучаться. Но на самом деле правильный ответ — 3. Сеть будет обучаться, но лишь частично и в итоге покажет довольно плохой результат. Изучите градиенты и активации, чтобы разобраться, что именно происходит, почему сеть обучается лишь частично и какая именно её часть всё-таки обучается. E02. BatchNorm, в отличие от других методов нормализации, таких как LayerNorm и GroupNorm, обладает большим преимуществом: после завершения обучения параметры gamma/beta пакетной нормализации можно «встроить» в веса предшествующих линейных слоёв, фактически устранив необходимость выполнять BatchNorm во время работы обученной модели. Создайте небольшую трёхслойную MLP с BatchNorm и обучите её. Затем «встройте» параметры gamma/beta BatchNorm в W и b предшествующего линейного слоя, создав новые W2 и b2, после чего удалите BatchNorm Убедитесь, что во время инференса результат прямого прохода остаётся тем же. Таким образом мы увидим, что BatchNorm нужен для стабилизации процесса обучения, а после его завершения от него можно избавиться. Довольно круто. Я делаю эти переводы в первую очередь потому, что сам хочу слушать на русском людей, которые прямо сейчас создают ИИ-индустрию и определяют её будущее. А раз перевожу для себя — почему бы не выкладывать и для вас. Без пересказов и чужих интерпретаций: просто первоисточник на русском. Если вам такое интересно — подписывайтесь на канал. #КосИбрагимов #нейросети #ии #андрейкарпаты #andrejkarpathy 00:00:00 — Введение 00:01:22 — Исходный код 00:04:19 — Исправляем начальное значение функции потерь 00:12:59 — Исправляем насыщение tanh 00:27:53 — Рассчитываем масштаб начальных весов: инициализация Кайминга 00:40:40 — Пакетная нормализация (BatchNorm) 01:03:07 — Пакетная нормализация: подводим итоги 01:04:50 — Реальный пример: разбираем ResNet-50 01:14:10 — Подводим итоги лекции 01:18:35 — Часть 2: переписываем код в стиле PyTorch 01:26:51 — Визуализация №1: статистика активаций при прямом проходе 01:30:54 — Визуализация №2: статистика градиентов при обратном проходе 01:32:07 — Полностью линейный случай: сеть без нелинейностей 01:36:15 — Визуализация №3: статистика параметров, активаций и градиентов 01:39:55 — Визуализация №4: изменение соотношения «обновление / значение параметра» во времени 01:46:04 — Возвращаем BatchNorm и изучаем визуализации 01:51:34 — Теперь уже действительно подводим итоги лекции Ссылка на МОЙ канал - https://www.youtube.com/channel/UChXRIWC1D4rrxLJym2Z8hGQ Ссылка на ЭТО видео - https://www.youtube.com/watch?v=I5YUhvLYGuI Подписывайтесь на канал и ставьте лайк — так YouTube поймёт, что такие видео стоит показывать чаще. А я пойму, что стоит делать их дальше.

Название:

Андрей Карпаты | Ч.3 Активации, Градиенты и Пакетная Нормализация (BatchNorm) | Создание makemore

Категория:

Разное