Векторный градиент: Создание градиентов в Illustrator

Нахождение градиента вектор-функции


  Перевод


  Ссылка на автора

Название изображения: Источник

В Часть 1 Нам поставили задачу: вычислить градиент этой функции потерь:

Изображение 1: функция потери

Чтобы найти градиент, мы должны найти производную функцию. В Часть 2 мы научились вычислять частную производную функции по каждой переменной. Однако большинство переменных в этой функции потерь являются векторами. Возможность найти частную производную векторных переменных особенно важна, поскольку нейронная сеть работает с большими объемами данных. Векторные и матричные операции — это простой способ представления операций с таким большим количеством данных. Как именно вы можете найти градиент вектор-функции?


Градиент скалярной функции

Скажи, что у нас есть функция,f (x, y) = 3x²y, Наши частные производные:

Изображение 2: Частичные производные

Если мы организуем эти части в горизонтальный вектор, мы получимградиентизР (х, у), или∇ f (x, y):

Изображение 3: Градиент f (x, y)

6yxэто изменение вР (х, у)в отношении изменения вИкс, в то время как3x²это изменение вР (х, у)в отношении изменения вY,

Что происходит, когда у нас есть две функции? Давайте добавим еще одну функцию,g (x, y) = 2x + y⁸, Частные производные:

Изображение 4: Частицы для g (x, y)

Таким образом, градиент g (x, y):

Изображение 5: градиент g (x, y)


Представляющие функции

Когда у нас есть несколько функций с несколькими параметрами, часто полезно представлять их более простым способом. Мы можем объединить несколько параметров функций в один векторный аргумент,Иксэто выглядит следующим образом:

Изображение 6: ВекторИкс

Следовательно,Р (х, у, г)станетF (x₁, x₂, x₃)который становитсяе (Икс).

Мы также можем объединить несколько функций в вектор, например так:

Изображение 7: ВекторY

В настоящее время,у = F (X)гдеF (X)является вектором из [f₁ (Икс), f₂ (Икс), f₃ (Икс) … п (Икс)]

Для нашего предыдущего примера с двумя функциями,f (x, y) ⇒ f (Икс)а такжеg (x, y) ⇒ g (Икс).Здесь векторИкс= [x₁, x₂], гдеx₁ = х, а такжеx₂ = у, Чтобы упростить его еще больше, мы можем объединить наши функции: [f (Икс),г(Икс)] = [f₁ (Икс), f₂ (Иксзнак равноf (x) = y.

Изображение 8: Уравнения в векторной функцииY

Зачастую количество функций и количество переменных будет одинаковым, поэтому для каждой переменной существует решение.


Градиент вектор-функции

Теперь, когда у нас есть две функции, как мы можем найти градиент обеих функций? Если мы организуем оба их градиента в одну матрицу, мы переместимся из векторного исчисления в матричное исчисление. Эта матрица и организация градиентов нескольких функций с несколькими переменными, известна какМатрица Якобиана,

Изображение 9: Якобиан

Есть несколько способов представления якобиана. Этот макет, где мы укладываем градиенты по вертикали, известен какмакет числителя, но другие документы будут использоватьрасположение знаменателя, который просто переворачивает его по диагонали:

Изображение 10: Расположение знаменателя якобиана


Градиент функции идентичности

Давайте возьмем функцию идентичности,у = ф (х) = х, гдеFi (Икс) = xiи найдите его градиент:

Изображение 11: функция идентификации

Так же, как мы создали наш предыдущий якобиан, мы можем найти градиенты каждой скалярной функции и сложить их вертикально, чтобы создать якобиан тождественной функции:

Изображение 12: Якобиан тождественной функции

Поскольку это функция идентичности, f₁ (Икс) = x₁, f₂ (Икс) = х₂ и тд. Следовательно,

Изображение 13: Якобиан тождественной функции

Частичная производная функции по переменной, которой нет в функции, равна нулю. Например, частная производная 2x² по y равна 0. Другими словами,

Изображение 14: частная производная функции по переменной, которой нет в функции, равна нулю

Поэтому все, что не на диагонали якобиана, становится равным нулю. Между тем, частная производная любой переменной по отношению к себе равна 1. Например, частная производнаяИксв отношенииИксравен 1. Следовательно, якобиан становится:

Изображение 15: Якобиан тождественной функции


Градиент комбинаций вектор-векторных функций

Элементарные бинарные операторыявляются операциями (такими как сложениевес+Иксиливес>Икскоторый возвращает вектор единиц и нулей), который применяет оператор последовательно, начиная с первого элемента обоих векторов, чтобы получить первый элемент вывода, затем второго элемента обоих векторов, чтобы получить второй элемент вывода… и так далее.

Эта статья представляет поэлементные бинарные операции с такими обозначениями:

Изображение 16: Поэлементная двоичная операция с f (x) и g (x)

Здесь ◯ означает любой поэлементный оператор (например, +), а не композицию функций.

Итак, как вы находите градиент поэлементной операции двух векторов?

Поскольку у нас есть два набора функций, нам нужны два якобиана, один из которых представляет градиент относительноИкси один по отношению квес:

Изображение 17: Якобиан по отношению квеса такжеИкс

Большинство арифметических операций нам понадобятся простые, поэтомуе (ш)часто просто векторвес, Другими словами,Fi (Wi) = Wi, Например, операцияW + хподходит к этой категории, так как она может быть представлена ​​каке (ж) + д (х)гдеfi (wi) + gi (xi) = wi + xi.

При этом условии каждый элемент в двух якобианах упрощается до:

Изображение 18: Элементы в якобиане

На диагонали i = j, поэтому существует значение для частной производной. Вне диагонали, однако, i ≠ j, поэтому частные производные становятся равными нулю:

Изображение 19: Диагональный якобиан

Мы можем представить это более кратко как:

Изображение 20: Якобиан по отношению квеса такжеИкс

Попробуем найти градиент функцииW + х, Мы знаем, что все вне диагонали равно 0. Значения частичных по диагонали относительновеса такжеИксявляются:

Изображение 21: Частичное в отношениивеса такжеИкс

Итак, оба якобиана имеют диагональ 1. Это выглядит знакомо … это матрица тождеств!

Давайте попробуем это с умножением:ш * х, Значения частностей по диагонали относительновеса такжеИксявляются:

Изображение 22: Частичное в отношениивеса такжеИкс

Следовательно, градиент по отношению квесизш * хявляетсяDiag (Икс)в то время как градиент по отношению кИксизш * хявляетсяDiag (вес).

Применяя те же шаги для вычитания и деления, мы можем суммировать все это:

Изображение 23: Градиенты общих элементарных бинарных операций


Градиент векторных сумм

Одной из наиболее распространенных операций в глубоком обучении является операция суммирования. Как мы можем найти градиент функцииу = сумма (Икс)?

у = сумма (Икс)также может быть представлен как:

Изображение 24: у = сумма (Икс)

Следовательно, градиент может быть представлен как:

Изображение 25: Градиент у = сумма (Икс)

А так как частная производная функции по переменной, которой нет в функции, равна нулю, ее можно дополнительно упростить следующим образом:

Изображение 26: Градиент у = сумма (Икс)

Обратите внимание, что результатом является горизонтальный вектор.

Как насчет градиентау = сумма (Иксг)? Единственное отличие состоит в том, что мы умножаем каждый частный с константой, z:

Изображение 27: Градиент у = сумма (Икся) в отношенииИкс

Хотя это является производной по отношению кИкс, производная по скаляруZэто просто число:

Изображение 28: Градиент у = сумма (Иксz) относительно z


Градиент комбинаций векторных функций правила цепочки

В Часть 2 мы узнали о правилах цепей с несколькими переменными. Однако это работает только для скаляров. Давайте посмотрим, как мы можем интегрировать это в векторные вычисления!

Давайте возьмем векторную функцию,Yзнак равное(Икс)и найти градиент. Давайте определим функцию как:

Изображение 29:Yзнак равное(Икс)

И то и другоеf₁ (х)а такжеf₂ (х)являются составными функциями. Введем промежуточные переменные дляf₁ (х)а такжеf₂ (х)и переписать нашу функцию:

Изображение 30:Yзнак равное(г(Икс))

Теперь мы можем использовать наше правило цепочки переменных, чтобы вычислить производную вектораY, Просто вычислите производнуюf₁ (х)а такжеf₂ (х)и поместите их один над другим:

Изображение 31: ГрадиентYзнак равное(г(Икс))

Вуаля! У нас есть наш градиент. Однако мы пришли к нашему решению со скалярными правилами, просто сгруппировав числа в вектор. Есть ли способ представить правило цепи с несколькими переменными для векторов?

Прямо сейчас наш градиент вычисляется с помощью:

Изображение 32: ГрадиентYзнак равное(г(Икс))

Обратите внимание, что первый член градиентов обоихf₁ (х)а такжеf₂ (х)включает частичноеg₁надИкси второй член градиентов обоихf₁ (х)а такжеf₂ (х)включает частичноеg₂надИкс Это как умножение матриц! Поэтому мы можем представить это как:

Изображение 33: Векторное представление градиентаYзнак равное(г(Икс))

Давайте проверим наше новое представление правила цепочки векторов:

Изображение 34: Правило векторной цепи

Мы получаем тот же ответ, что и скалярный подход! Если вместо одного параметраИксу нас есть векторный параметрИкснам просто нужно немного изменить наше правило, чтобы получить полное правило цепочки векторов:

Изображение 35: Правило векторной цепи

Другими словами:

Изображение 36: Правило векторной цепи

В нашем примере выше,еэто чисто функцияг; то есть,фиявляется функциейсолдатно нетGJ(каждая функцияесоответствует ровно 1 функцииг),В этом случае все вне диагонали становится равным нулю, и:

Изображение 37: Особый случай векторного правила цепочки


Теперь у нас есть все части, которые мы находим в градиенте нейронной сети, с которой мы начали нашу серию:

Изображение 38: Функция стоимости

Проверять, выписываться Часть 4 чтобы узнать, как вычислить его производную!


Если вы еще этого не сделали, прочитайте части 1 и 2:

  • Часть 1: Введение
  • Часть 2: Частичные производные

Читать Часть 4 для грандиозного финала!

Скачать оригинал статьи Вот,

Если вам понравилась эта статья, не забудьте оставить несколько хлопков! Оставьте комментарий ниже, если у вас есть какие-либо вопросы или предложения 🙂

Растровый или векторный градиент? | Render.

ru

JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.