Расчет градиентного спуска вручную
Перевод Ссылка на автора
Название изображения: Источник
Вот наша проблема. У нас есть нейронная сеть с одним слоем (для простоты) и функцией потерь. Этот один слой является простым полностью связным слоем только с одним нейроном, многочисленными весамиw₁, w₂, w₃… Уклонби активация ReLU. Наша функция потерь — это обычно используемая средняя квадратическая ошибка (MSE). Зная нашу сеть и нашу функцию потерь, как мы можем настроить вес и смещение, чтобы минимизировать потери?
В Часть 1 мы узнали, что нам нужно найти наклон к нашей функции потерь (или затрат), чтобы минимизировать ее. Мы обнаружили, что наша функция стоимости:
Изображение 1: функция стоимостиВ Часть 2 мы узнали, как найти частную производную. Это важно, потому что в этой функции имеется более одного параметра (переменной), который мы можем настроить.
В Часть 3 мы узнали, как найти производные векторных уравнений. И весовые коэффициенты, и смещения в нашей функции стоимости являются векторами, поэтому важно научиться вычислять производную функций с участием векторов.
Теперь у нас наконец есть все инструменты, необходимые для нахождения производной (наклона) нашей функции стоимости!
Нам нужно подходить к этой проблеме шаг за шагом. Давайте сначала найдем градиент одного нейрона по отношению к весам и уклонам.
Функция нашего нейрона (в комплекте с активацией):
Изображение 2: наша функция нейроновГде это беретИксв качестве входных данных, умножает его на весвеси добавляет уклонб,
Эта функция действительно является композицией других функций. Если мы позволиме (Иксзнак равнож ∙ х+ Ь,
а такжег (х) = тах (0, х)тогда наша функциянейрон (Икс) = G (F (Икс)), Мы можем использовать правило цепочки векторов, чтобы найти производную этой композиции функций!Производная нашего нейрона просто:
Изображение 3: Производная нашей нейронной функции по правилу векторной цепигдег = е (Иксзнак равнож ∙ х+ б,
Эта производная состоит из двух частей: частичнойZв отношениивеси частичноеНейрон (г)в отношенииZ,
Какова частная производная z по отношению к
вес?Есть две частиZ:ж ∙ ха также+ б, Давайте посмотрим наж ∙ хпервый.
ж ∙ хили скалярное произведение на самом деле является просто суммированием поэлементного умножения каждого элемента в векторе. Другими словами:
Изображение 4: Расширенная версияж ∙ хили точечное произведениеЭто еще раз композиция функций, поэтому мы можем написатьvзнак равновес⊗Икса такжеи = (суммаv).Мы пытаемся найти производную отUв отношениивес, Мы узнали об обеих этих функциях — поэлементном умножении и суммировании — прежде чем в Часть 3, Их производные:
Изображение 5: Производная u по v и производная v по w; где u = сумма (вес⊗Икс)(Вернитесь и просмотрите их, если вы не помните, как они получены)
Следовательно, по правилу векторной цепочки:
Изображение 6: Производная от вас по отношению к шЭто оно! Теперь давайте найдем производную от z =и + бгде ты =ж ∙ хотносительно обоих весоввеси уклонб.
Помните, что производная функции по переменной, не входящей в эту функцию, равна нулю, поэтому:
Это оно! Эти два являются производными от u по весу и смещению.
Какова частная производная нейрона (z) по z?
Нейрон (z) = max (0, z) = max (0, сумма (вес⊗Икс) + Б).
Функция max (0, z) просто обрабатывает все отрицательные значения как 0 Таким образом, график будет выглядеть примерно так:
Изображение 8: Макс (0, z) // ИсточникГлядя на этот график, мы сразу видим, что производная является кусочной функцией: она равна 0 для всех значений z, меньших или равных 0, и 1 для всех значений z, превышающих 0, или:
Изображение 9: Производная max (0, z)Теперь, когда у нас есть обе части, мы можем умножить их вместе, чтобы получить производную нашего нейрона:
Изображение 10: Производная от веса нашего нейрона:max (0, сумма (вес⊗Икс) + Б)И подставить z =ж ∙ х+ бобратно в:
Изображение 11: Подставляяж ∙ х+ б за яВуаля! У нас есть производная для нейрона по весу! Точно так же мы можем использовать те же шаги для смещения:
Изображение 12: Производная нашего нейрона относительно смещенияИ вот, пожалуйста! Теперь у нас есть градиент нейрона в нашей нейронной сети!
Наша функция потерь, определенная в Часть 1, является:
Изображение 13: функция потериМы можем сразу идентифицировать это как композицию функций, которые требуют правила цепочки.
Мы определим наши промежуточные переменные как:
*Обратите вниманиеUа такжеvздесь отличаются отUа такжеvиспользуется в предыдущем разделе.
Давайте вычислим градиент по весамвеспервый.
Градиент по отношению к весам
Uэто просто наша нейронная функция, которую мы решили ранее. Следовательно:
Изображение 15: Производная от u =max (0, сумма (вес⊗Икс) + б) по отношению к весамv (у, и)это простоу-у, Следовательно, мы можем найти его производную (по отношению квес) используя свойство распределения и подставляя в производнуюU:
Изображение 16: Производная v = y-u по весамНаконец, нам нужно найти производную всей функции стоимости повес, Используя правило цепочки, мы знаем, что:
Изображение 17: Производная функции стоимостиДавайте найдем первую часть этого уравнения, частьРезюме)в отношенииvпервый:
Изображение 18: Производная функции стоимости по отношению к vСверху (изображение16), мы знаем производнуюvв отношениивес, Чтобы найти частичное C (v), мы умножим две производные вместе:
Изображение 19: Производная функции стоимости по отношению квесТеперь заменитьу-удляv, а такжемакс (0,ж ∙ х+б)дляU:
Рисунок 20: Производная функции стоимости по отношению квесПосколькуМаксимумфункция находится на второй строке нашей кусочной функции, гдеж ∙ х+ббольше 0, тоМаксимумФункция всегда будет просто выводить значениеж ∙ х+б:
Изображение 21: Производная функции стоимости по отношению квесНаконец, мы можем переместить суммирование в нашу кусочную функцию и немного привести ее в порядок:
Изображение 22: Производная функции стоимости по отношению квесЭто оно! У нас есть производная по весам! Однако что это значит?
ж ∙ х+поможет быть истолковано как термин ошибки — разница между прогнозируемым выходом нейронной сети и фактическим выходом.
Если мы назовем этот термин ошибки ei, наша окончательная производная будет:
Здесь, чем больше ошибка, тем выше производная. Другими словами, производная представляет наклон или то, на сколько мы должны переместить наши веса, чтобы минимизировать нашу ошибку. Если наша нейронная сеть только начала обучение и имеет очень низкую точность, ошибка будет высокой, и, следовательно, производная также будет большой. Поэтому нам придется сделать большой шаг, чтобы минимизировать нашу ошибку.
Вы можете заметить, что этот градиент указывает в сторону более высокой стоимости, а это означает, что мы не можем добавить градиент к нашим текущим весам — это только увеличит ошибку и унесет нас на шаг от локального минимума. Поэтому мы должны вычесть наши текущие веса из производной, чтобы приблизиться на один шаг к минимизации нашей функции потерь:
Изображение 24: функция градиентного спускаЗдесь η представляет скорость обучения, которую мы, программисты, можем установить.
Чем больше скорость обучения, тем больше шаг. Однако установка слишком большой скорости обучения может привести к тому, что вы сделаете слишком большой шаг и выйдете за пределы локального минимума. Для получения дополнительной информации ознакомьтесь с эта статья о градиентном спуске а также эта статья о настройке скорости обучения,
Градиент с учетом предвзятости
Еще раз, у нас есть промежуточные переменные:
Рисунок 25: Промежуточные переменные для функции потерьУ нас также есть значение производнойUв отношении смещения, которое мы рассчитали ранее:
Изображение 26: Производная от вас в отношении смещенияТочно так же мы можем найти производнуюvв отношениибиспользуя свойство распределения и подставляя в производную
Опять же, мы можем использовать правило цепочки векторов, чтобы найти производнуюС:
Рисунок 28: Производная функции стоимости по отношению к смещениюПроизводная отСв отношенииvидентична той, которую мы рассчитали для весов:
Изображение 29: Производная функции стоимости по отношению к vУмножая два вместе, чтобы найти производнуюСв отношенииби подставляя ву-удляv, а такжемакс (0,ж ∙ х+б)дляU, мы получаем:
Изображение 30: Производная функции стоимости по отношению к смещениюЕще раз, потому что вторая строка явно заявляет, чтож ∙ х+б> 0Максимумфункция всегда будет просто значениемж ∙ х+б.
Как и раньше, мы можем подставить в ошибочный член e =ж ∙ х+по:
изображение 32: Производная функции стоимости относительно смещения, представленная с ошибкойКак и производная по весам, величина этого градиента также пропорциональна ошибке: чем больше ошибка, тем больший шаг к локальному минимуму мы должны сделать. Это также указывает на направление более высокой стоимости, что означает, что мы должны вычесть градиент из нашего текущего значения, чтобы приблизиться на один шаг к локальному минимуму:
Изображение 33: функция градиентного спуска для смещенияПоздравляем с окончанием этой статьи! Скорее всего, это было непросто, но вы сохранялись до конца и вам удалось выполнить градиентный спуск вручную!
Как я уже сказал в Часть 1 из этой серии, не понимая основную математику и вычисления, стоящие за каждой строкой кода, мы не можем по-настоящему понять, что на самом деле означает «создание нейронной сети», или оценить сложные сложности, которые поддерживают каждую функцию, которую мы пишем.
Я надеюсь, что эти уравнения и мои объяснения имеют смысл и помогли вам лучше понять эти вычисления. Если у вас есть какие-либо вопросы или предложения, не стесняйтесь оставлять комментарии ниже!
Если вы еще этого не сделали, прочитайте части 1, 2 и 3 здесь:
- Часть 1: Введение
- Часть 2: Частичные производные
- Часть 3: Векторное исчисление
Скачать оригинал статьи Вот,
Если вам понравилась эта статья, не забудьте оставить несколько хлопков! Оставьте комментарий ниже, если у вас есть какие-либо вопросы или предложения 🙂
Тарифный Пакет «Salem» — Лёгкий Старт для Бизнеса
Выгодный пакет для новых клиентов
не удалять
Лучшие условия для лёгкого старта
все платежи в тенге
подключение к Onlinebank Start
открытие и пополнение счета
выпуск корпоративной карты
cнятие Cash by code
онлайн бухгалтерия
Получите максимальную выгоду по минимальной стоимости
Salem — новый выгодный пакет услуг от Halyk Bank, разработанный специально для владельцев микро и малого бизнеса.
Мы собрали все самое лучшее: безлимитные платежи в тенге, кассовые операции и выпуск корпоративной карты
Тарифный пакет Salem
| Абонентская плата в месяц |
1 500 тенге |
| Открытие счета
|
0 тенге |
| Интернет-банкинг Onlinebank START
|
0 тенге |
| Платежи и переводы в тенге | 0 тенге |
| Пополнение счета | 0 тенге |
| Пенсионные, социальные платежи и ОСМС
|
0 тенге |
| Карта для бизнеса
|
0 тенге |
| Снятие Cash by code
|
0 тенге |
| Снятие с карты в банкоматах
|
До 1 млн.тенге/мес бесплатно, далее 0,4% от суммы
|
| Снятие со счета в отделениях банка
|
0,4% мин 200 тенге
|
Бесплатные сервисы в пакете
- Мобильное приложение Onlinebank
- ОБухгалтер
- Светофор и Kompra
Круглосуточные платежи и переводы для юридических лиц:
- оплата пенсионных, социальных и налоговых платежей
- перечисление заработной платы и других выплат сотрудникам
- таможенные платежи (по ЕЛС)
- импорт и экспорт платежных документов
Онлайн-бухгалтерия для пользователей Onlinebank:
- сдача декларации 910.
00 онлайн, автоматический расчет суммы налогов, отчислений и отправка в УГД. - ведение первичной документации: акты, счета на оплату, приходные и расходные ордеры
Подробнее obuhgalter.kz
Сервисы проверки надежности партнеров из России и Казахстана:
- Kompra – проверка компаний из Казахстана: поиск юридических лиц в реестрах, истории участия в закупках, лицензии и судебные разбирательства.
- Светофор – проверка компаний из России: определение уровня риска и надёжности компаний. Поиск по 16 базам данных РФ, включая налоговые, федеральные и исполнительные органы.
Как подключить пакет
Теперь чтобы открыть счет и подключить тарифный пакет не нужно идти в банк, это можно сделать в несколько кликов пройдя по ссылке.
Кроме того, в считанные минуты после открытия счета, вы сможете выпустить корпоративную карту и удаленно управлять своими финансами в приложении Onlinebank для бизнеса
Всего три шага для подключения
Установите приложение Onlinebank
Перейдите по вкладке «Открыть счет»
Выберите нужный тарифный пакет и нажмите «Подключить»
Установить Onlinebank
- Скачать для iOS
- Скачать для Android
AlleBilderVideosBücherMapsNewsShopping
suchoptionen
Калькулятор производных • С шагами!
www.
derivative-calculator.net
Решите производные с помощью этого бесплатного онлайн-калькулятора. Пошаговое решение и графики прилагаются!
Переменная дифференцирования: ax_____abcdfghjklmnopqrstuvwxyz
Сколько раз дифференцировать?: 1 2 3 4 5
Ableitung (Производная)
In der Mathematik misst die Ableitung einer Funktion einer reellen Variablen die Änderungsempfindlichkeit des Funktionswerts in Bezug auf eine Änderung seines Arguments. Ableitungen sind ein grundlegendes Werkzeug der Analysis. Википедия (на английском языке)
Калькулятор производных — Symbolab
www.symbolab.com › Step-by-Step › Исчисление
Бесплатный калькулятор производных — дифференцирование функций со всеми шагами. Введите любую производную функции, чтобы получить решение, шаги и график.
Первая производная · Калькулятор первообразной производной · Калькулятор производной в точке
Калькулятор производной — Wolfram|Alpha
www.
wolframalpha.com производные порядка и более высокого порядка, предоставляя информацию, необходимую для понимания производных …
Калькулятор производных — Mathway
www.mathway.com › Калькулятор › производный-калькулятор
Калькулятор производных поддерживает вычисление первой, второй…., четвертой производной, а также неявное дифференцирование и нахождение нулей/корней.
Калькулятор производных с шагами | Калькулятор дифференциации
calculate-derivative.com
Калькулятор производных поможет вам оценить производные онлайн. Калькулятор дифференцирования с шагами показывает промежуточные шаги, графики, корни, домен и т. д.
Калькулятор производных — MathPapa
www.mathpapa.com › калькулятор производных
Калькулятор производных дает пошаговую помощь в поиске производных. Этот калькулятор находится в стадии бета-тестирования. Мы ценим ваши отзывы, чтобы помочь нам улучшить его.
Калькулятор производных с шагами — Open Omnia
openomnia.
com › Калькулятор производных
Вычисление производной функции. Получите пошаговые решения. Попробуйте Open Omnia сегодня.
Калькулятор производных — eMathHelp
www.emathhelp.net › калькуляторы › исчисление-1 › вывод…
Онлайн-калькулятор вычислит производную любой функции по общепринятым правилам дифференцирования (правило произведения, правило частного, правило цепи и т. д.)
Ähnliche Fragen
Как рассчитать производные?
Какой калькулятор может вычислять производные?
Могу ли я найти производную в калькуляторе?
Калькулятор и решатель производных — SnapXam
www.snapxam.com › калькуляторы › вычисление производных…
Калькулятор производных онлайн с решением и шагами. Подробные пошаговые решения ваших задач с производными в режиме онлайн с помощью нашего математического решателя и калькулятора …
Калькулятор деривативов — Börse Frankfurt
www.boerse-frankfurt.
de › производные › производные-…
Калькулятор производных. С помощью калькулятора деривативов вы можете проанализировать, как цена вашего дериватива будет вести себя в будущем, если цена базового …
Ähnlichesuchanfragen
Integral Calculator
Implicit differentiation calculator
Calculate derivative Python
Matrix derivative calculator
Derivative rules
Antiderivative calculator
Wolfram Alpha derivative
Derivative meaning
pde calculator — Google Suche
AlleBilderShoppingVideosMapsNewsBücher
Suchoptionen
уравнение в частных производных — Wolfram|Alpha
www.wolframalpha.com › input
Вычисляйте ответы, используя передовые технологии и базу знаний Wolfram, на которые полагаются миллионы студентов и профессионалов. Для математики, науки, питания, …
Калькулятор частных производных — Symbolab
www.
symbolab.com › … › Исчисление › Производные
Бесплатный калькулятор частных производных — пошаговое решение для решения частных производных.
Решатели дифференциальных уравнений в частных производных — Institute for Future Intelligence
intofuture.org › ifflow-pde-solvers
Одномерные зависящие от времени УЧП. В iFlow блок Transient State FDM Solver (1D) можно использовать для решения зависимых от времени линейных уравнений в частных производных в одном измерении.
Кто-нибудь может предложить мне решатель PDE? — ResearchGate
www.researchgate.net › post › Can_anyone_please_…
Для решения уравнений в частных производных вы можете использовать MATLAB со специальным набором инструментов для PDF (уравнения в частных производных), …
Калькулятор частных производных с шагами онлайн
калькулятор-производных.com › вычисление частных производных…
Калькулятор частных производных оценивает первую, вторую и кратные частные производные и вычисляет частное дифференцирование онлайн с шагами.
Знакомство с неполным… · Процесс использования второго… · Формулы, используемые в частичном…
Калькулятор частных производных — eMathHelp
Этот онлайн-калькулятор рассчитает частную производную функции с показанными шагами. Вы можете указать любой порядок интегрирования.
Решение дифференциальных уравнений с частными производными — MATLAB и Simulink
www.mathworks.com › help › matlab › math › parti… пространственная переменная x и время t. Вы можете думать об этом как об ODE …
Набор инструментов для дифференциальных уравнений в частных производных — MathWorks
www.mathworks.com › продукты › pde
… набор инструментов содержит решатель прямого интегрирования по времени. … Вы можете решать УЧП с помощью метода конечных элементов и постобрабатывать результаты для изучения и …
Ähnliche Fragen
Трудно ли решать УЧП?
Какая формула для решения PDE?
Какую программу использовать для решения PDE?
Уравнение в частных производных — из Wolfram MathWorld
mathworld.

00 онлайн, автоматический расчет суммы налогов, отчислений и отправка в УГД.