Современная математика глубокого обученияобъяснение для тех, кто не занимается математикой

Шаг градиентного спуска

Проект с пингвинами

Проект использует 342 записи Palmer с нужными измерениями: 240 для обучения, 102 для проверки. Выбранные примеры для обучения определяют масштабирование и параметры модели. Исходный CSV

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

Классификация предсказывает три вида; гребневая регрессия предсказывает массу в граммах по тем же наблюдениям. Это разные модели. Прогнозы обучения поступают в целевую функцию; 102 отдельных тестовых прогноза не обновляют веса.

Обучение и обновление параметров · Выбирают правило или обновляют параметры с помощью правила обучения.

Текущая целевая функция даёт градиент для обновления параметров.

Обновление

Вход
Градиент: [≈0,004056; ≈0,01907; ≈0,008327; ≈-0,008829; ≈-0,0138; ≈0,01504; ≈0,004773; ≈-0,005269; ≈-0,02337]; Размер шага: 0,1
Выход
[≈-0,2899; ≈-2,054; ≈-1,017; ≈0,6924; ≈1,558; ≈-1,663; ≈-0,4025; ≈0,4955; ≈2,68]

Операция проекта

Вычисление проекта использует эти записи; формула и пример источника приведены ниже. Изменения кода действуют на этой странице; настройки проекта передаются между страницами.

Градиент → Обновление → Прогноз

Вход проекта

Показаны первые три элемента; операция получает весь массив. Предпросмотр округлён; операция использует полную точность.

input.weights · Модель
[≈-0,2895; ≈-2,052; ≈-1,016] … (9 элементов)
input.gradient · Градиент
[≈0,004056; ≈0,01907; ≈0,008327] … (9 элементов)
input.rate · Обновление
0,1

Результат

[≈-0,2899; ≈-2,054; ≈-1,017] … (9 элементов)

Используется в разделах источника: 1.2.1 Поиск более удачных параметров · 2.3 Путь обучения имеет значение

Градиент задаёт направление наиболее быстрого роста целевой функции. Вычтите масштабированный градиент, чтобы сделать шаг.

Для учебной функции r(θ) = θ² градиент равен 2θ.

Этот шаг — один из основных способов уменьшения целевой функции.

Пример формулы источника

θk+1=θk−η∇r(θk)\theta_{k+1}=\theta_k-\eta\nabla r(\theta_k)

Иллюстрация · Это один шаг для конкретной квадратичной функции. Шаг не обязан уменьшать любую целевую функцию при любом размере шага.

Пример формулы источника

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

Измените значение или код и запустите пример. Это конечная иллюстрация, а не доказательство теоремы.

Поток данных в этом примере

Вы выбираете

  • input.theta = 2
  • input.rate = 0,1

Вычисляется здесь

Выражение результата: { gradient, next, before: input.theta ** 2, after: next ** 2 }

  • gradient = 2 * input.theta Использует: input.theta
  • next = input.theta - input.rate * gradient Использует: input.theta, input.rate, gradient

Возвращает

Пример результата
gradient
4
next
1,6
before
4
after
2,56

Прочитайте числа из input и верните результат. Основы JavaScript.

Результат

Включите JavaScript, чтобы запустить пример.

Техническая формулировка

Измените вход и снова запустите тот же код. Показанный результат получен для приведённых выше значений.

Источник: Градиентный спуск