Курс
Нейросети на t27: от одного нейрона до блока трансформера
Агенты этого проекта думают нейросетями, а здесь их части записаны спеками t27 с тестами, которые проверяет компилятор. Каждый виджет исполняет тела fn спеки из specs/ml, скомпилированные в WebAssembly: двигаете ползунок — отвечает спека.
Курс 10, 27 уроков, в каждом живой виджет и спека t27: функции активации, softmax и эмбеддинги, пулинг и пакетная нормализация, функции потерь, SGD, RMSProp и Adam, обратное распространение и XOR, рекуррентные ячейки, внимание, блок трансформера и PPO. Каждое число вычисляет скомпилированная спека.
Все уроки
Модуль 1 · Один нейрон
Нейрон складывает входы и изгибает сумму: ReLU, сигмоида и tanh, и где каждая перестаёт пропускать градиент назад.
Модуль 2 · Новые изгибы
Гладкие кривые нынешних моделей: GELU с провалом, Swish с ручкой и ELU с полом вместо обрыва.
Модуль 3 · Слой
Что окружает нейроны: softmax превращает оценки в выбор, эмбеддинг превращает слово в числа, dropout выключает нейроны.
Модуль 4 · Картинки
Чтение картинки по участкам: окно, усреднённое по участку, max pooling и пакетная нормализация признаков разного масштаба.
Модуль 5 · Ошибка
Насколько неверна догадка, одним числом: среднеквадратичная ошибка, перекрёстная энтропия для вероятностей и функция Хьюбера для выбросов.
Модуль 6 · Под гору
Спуск по функции потерь: градиентный спуск с моментом, RMSProp без оглядки на величину градиента и Adam, который соединяет оба.
Модуль 7 · Обучение
Откуда берутся градиенты и чего они добиваются: обратное распространение через слой, сеть, которая учит XOR, и LAMB для больших пакетов.
Модуль 8 · Память и внимание
Сети, которые читают последовательность: рекуррентная ячейка и её затухающее эхо, вентили LSTM и внимание ко всем позициям сразу.
Модуль 9 · Трансформер и награда
Части трансформера и агента: позиции как часы, один блок энкодера и PPO, который учится на награде без рывков.