#автоматическое_дифференцирование — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #автоматическое_дифференцирование, aggregated by home.social.
-
Дискретные тригонометрические функции, машинный эпсилон и автоматическое дифференцирование
Попалась мне недавно статья Синус, косинус, квадратный корень FixedPoint . Автор размышляет как можно не затратно рассчитывать координаты и углы в микроконтроллере. Попробовал я подсказать автору пару аппроксимаций, но он оказался разговорчив только на тему "упадка автоматизации в РФ", а по делу как то не сложился диалог. Посмотрел, такие статьи не редкость. Например, очень хорошая статья Как посчитать синус быстрее всех на Xабре . В общем разгрузил себе голову на майских праздниках от главного хобби - геометрической алгебры. В процессе изучения всего этого, возник у меня вопрос - а зачем вообще нужно аппроксимировать sin,cos, arctan и еще и в привязке к числу в двоичной системе, если есть декартовы координаты? Из ответа на этот вопрос родилась идея этой статьи. Будет длинно, но если на примере подробно разбираться с работой машинного эпсилон и автоматическим дифференцированием, короче не получится. Следите за мыслью по ходу изложения. Начну с главного тезиса, и разверну по шагам как это работает на примере операций с единичной окружностью. Автоматическим дифференцированием можно назвать любую конечную разность, например dy=(y(x+ε)-y(x-ε))/(2*ε). Разность взята центральная, так как она дает меньшую погрешность. ε это машинный ноль . За счет округления до младшего бита его главное свойство: ε^2=0. Эта статья по сути не более, чем описание основных моментов идеи. И если у кого то появится желание поставить эту идею на строгие математические рельсы, с удовольствием готов поучаствовать. Кто в этом случае опубликует финальную версию мне искренне не важно.
https://habr.com/ru/articles/907936/
#автоматическое_дифференцирование #машинный_эпсилон #дискретная_математика #единичная_окружность
-
Глубокое обучение: Слой линейного преобразования и полносвязная нейросеть. Теория и реализация на самодельном autograd
Всем привет. В этой статье я расскажу про слой линейного преобразования. Идею для реализации я взял из книги «Грокаем глубокое обучение». Здесь рассмотрим как использовать самодельный алгоритм автоматического дифференцирования при создании и обучении нейросети, про который я сделал разбор ранее. Меня зовут Алмаз Хуснутдинов. Я занимаюсь проектом "Теория цифрового интеллекта" - бесплатный и открытый проект, направленный на развитие мышления в направлении создания программы, обладающей интеллектом. Если вам не нужно разбираться в том, как работает нейросеть на низком уровне, то просто прочитайте ту часть статьи, где рассказывается про использование слоев и реализацию нейросети. Содержание: идея слоя прямого распространения, новые операции: операция умножения и деления матрицы на число, линейный слой и дополнительный функционал, задача «логическое или», как происходит обучение линейного слоя и набор данных digits.
https://habr.com/ru/articles/885466/
#полносвязный_слой #обучение_нейросети #полносвязная_нейросеть #autograd #автоматическое_дифференцирование
-
Глубокое обучение: Автоматическое дифференцирование. Теория и реализация. С нуля, на Python
Всем привет. Меня зовут Алмаз Хуснутдинов. В этой статье я сделал разбор алгоритма автоматического дифференцирования для глубокого обучения. Идею для реализации я взял из книги «Грокаем глубокое обучение». Я разобрал как вычисляются производные для основных операций и показал, как сделать простую реализацию. Содержание: граф вычислений, операции и производные по ним, прямой и обратный проход по графу ручное вычисление, реализация прямого и обратного прохода по графу, пример использования.
-
Математическая продлёнка. Изобретаем параболические числа
Курс начальной школы приучает нас к тому, что числа пригодны для счёта. В средней школе, когда к математике подключаются физика и химия, мы узнаём, что числами можно моделировать всевозможные явления от наполнения бассейнов и движения велосипедистов, до количества тепла, которое выделится, если дать соединиться двум молям водорода и одному молю кислорода. А в старших классах на смену числам приходят функции, векторы и другие замечательные математические объекты, которыми можно моделировать ещё более сложные процессы и явления. Однако, если заглянуть в «большую» математику, обитающую в университетах, а также в статьях и книгах, посвящённых специальным разделам математики, то можно обнаружить что числа, вернее числовые системы: кольца, поля, их расширения и модули над ними, сами по себе оказываются способны на многое. Ими можно моделировать целые пространства, геометрические объекты и их преобразования (комплексные числа, кватернионы, алгебры Клиффорда), регулярные структуры, обладающие пространственной симметрией (числа Гаусса, Эйзенштейна) или преобразования специальной теории относительности (дуальные числа, алгебра пространства-времени). В этой статье мы поговорим о том, как с помощью дуальных чисел можно решать задачи, в которых есть величины с погрешностями. Кроме того, добавим к чистой математике немного генеративного искусства и познакомимся с самой простой работающей системой автоматического дифференцирования.
https://habr.com/ru/articles/863068/
#теория_чисел #автоматическое_дифференцирование #вычисления_с_погрешностями #дуальные_числа #рациональные_дроби #теория_расширений #фрактал_Ньютона #julia_language