QR алгоритм 🥸 Одна из жемчужин численных методов. Он используется для поиска собственных чисел матрицы. 🥰 Простой и стабильный, а при небольших модификациях ещё и быстрый. Qₖ, Rₖ = qr(Aₖ) - Вычисляем QR-разложение матрицы Aₖ₊₁ = RₖQₖ - Умножаем факторы в обратном порядке 😑 Для произвольной квадратной матрицы он сходится к верхнетреугольной матрице, на диагонали которой стоят её собственные числа (картинка слева) 👍 Если же матрица - симметричная, то он сходится вообще к диагональной матрице с...
fmin.xyz
Канал Дани Меркулова Интересные сюжеты из прикладной математики Красивые визуализации Полезные ссылки Буду выкладывать интересные штуки, с которыми сталкиваюсь в рамках исследований/ преподавания Сайт: fmin.xyz Автор канала: @bratishk
Графики
📊 Средний охват постов
📉 ERR % по дням
📋 Публикации по дням
📎 Типы контента
Лучшие публикации
20 из 20Нейронная сеть Хопфилда 🏆 На этой неделе нобелевскую премию по физике дали Джону Хопфилду и Джеффри Хинтону за основополагающие открытия и изобретения, которые позволяют использовать машинное обучение с помощью искусственных нейронных сетей. 😲 Я, как и многие в моем окружении, сначала недоумевал, почему так и причем здесь физика. И решил заботать, что вообще такое нейронная сеть Хопфилда, и получил дикое удовольствие. Оказывается, что сама концепция заметно отличается от т...
Почему все используют градиентные методы для обучения больших моделей? 🤩 Продемонстрирую наглядно на примере решения задачи Multidimensional Scaling (MDS). В этой задаче нам надо нарисовать на плоскости объекты, про которые мы знаем только насколько каждый из них далеко друг от друга. Т.е. на входе у нас матрица попарных расстояний, а на выходе координаты объектов на плоскости. Причем эти координаты должны быть такими, чтобы соотношения расстояний между объектами оставалось как можно более близ...
Наглядно о том, зачем нужна нормализация признаков Простая анимация, которая показывает фиксированное число итераций градиентного спуска, стартующего из одной и той же точки для хороших и плохих задач. В хороших задачах направления примерно одинаковы с точки зрения значений минимизируемой функции. Для квадратичной функции (aka линейная регрессия) это измеряется числом обусловленности гессиана. Явление характерно не только для квадратичных функций - это одна из главных причин наличия разных норма...
🧠 Самая наглядная демонстрация того, что AB ≠ BA С того самого момента, как в конце школы я узнал, что матричное умножение не коммутативно, меня одолевало возмущение. - Да как так-то? 😡 😭 Десятки игрушеных матриц 2х2, перемноженных вручную не оставляли сомнений в этом факте, но понимания не прибавлялось. 🤓 Потом выяснилось, что поворот плоскости может быть задан матрицей 2х2. И, конечно же, если вы посмотрите на любую плоскость, вам будет сразу очевидно, что если вы сначала все повернёте на ...
Подбор шага с помощью линейного поиска в градиентном спуске Если нам известны характеристики сильно выпуклой функции, то мы можем выбрать оптимальный постоянный шаг 2/(μ + L), где μ и L – наименьшее и наибольшее собственные значения гессиана функции. Однако на практике эти параметры почти никогда не известны. Да и функции бывают невыпуклые. Приходится подбирать learning rate вручную (перебор), линейным поиком или использовать эвристики/адаптивные алгоритмы (например, AdamW, NAG-GS). В первой час...
Почему стохастический градиентный спуск не сходится? 👍 Многие привыкли использовать SGD(stochastic gradient descent), но не все знают, что он гарантированно(!) не сходится в случае постоянного шага (learning rate) даже для самой приятной в мире функции - сильно выпуклой квадратичной (даже в среднем).😰 🧠 Почему так? Дело в том, что в SGD на каждой итерации на самом деле решается другая задача, построенная по выбранным данным. И эта задача на батче может радикально отличаться от полной задачи (...
🧬 Эволюционные алгоритмы Полтора месяца назад DeepMind выкатил AlphaEvolve, где LLM-агент генерирует, скрещивает и отбирает фрагменты кода на основе эволюционного подхода. Так появляются новые алгоритмы — от рекордов в матричном умножении до оптимальных расписаний вычислений и топологий печатных плат для TPU. Сообщество уже откликнулось опен-сорсным OpenEvolve — можно запустить тот же процесс самому и выращивать свои программы. На анимации — пример: генетический алгоритм оптимизирует распи...
Как ускоряли обучение GPT-2 S в 10 раз 🤩Очень интересный репозиторий Modded-NanoGPT, и набор тредов о том, как спидранили обучение GPT-2 (самой маленькой версии на 125М параметров). 😎 Результат был достигнут на 8xH100 за 4.7 минуты на PyTorch вместо 45 минут в бейзлайне (llm.c). В денежном выражении это экономия с ~$15 до ~$1.56. Представляете, обучение GPT-2 S с нуля теперь стоит $1.5 и занимает 5 минут. А обучение XL модели ~$200 и 10 часов. 😂 Стоит обратить внимание, чт...
Мам, я хочу double descent - у нас есть double descent дома! 💀 Феномен двойного спуска - явление, наблюдаемое в моделях машинного обучения, при котором при увеличении сложности модели на тестовых данных сначала наблюдается улучшение качества предсказаний (первый спуск), затем идёт ожидаемый рост ошибки (переобучение), а потом, внезапно, происходит улучшение обобщающей способности модели (второй спуск). Интересно, что похожую картинку можно получить на довольно простом примере полиномиальной рег...