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

Скрытые признаки и интерполяция

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

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

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

Признаки · Преобразуют входы в признаки для правила.

Из длины клюва и крыла вычитаем средние по обучающим примерам, затем делим на их стандартные отклонения. Получается вектор из двух чисел.

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

Вход: 12 × 2; Проверка на новых данных: 102 · #58 · 40.6 мм, 193 мм. Известный ответ: Адели; Прогноз: Адели · [≈0,7383; ≈0,2444; ≈0,01737].

Используется в разделах источника: 1.2.2 Может ли сеть представить нужную функцию? · 1.2 Обучение на примерах

Поместите выходы скрытых нейронов для каждого обучающего входа в один столбец. В доказательстве источника обратимая квадратная подматрица A позволяет выбрать выходные веса для воспроизведения целевых меток.

Учебный пример использует входы 0 и 1 и признаки ReLU(x), ReLU(1−x). Его матрица признаков обратна самой себе.

Подходящая матрица признаков позволяет сети точно подогнаться под конечный набор различных примеров.

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

A~≔[ϱ(W~(1)(x(1))+b~(1)))…ϱ(W~(1)(x(m))+b~(1)))]∈Rn×m.\widetilde{A}\coloneqq\begin{bmatrix}\varrho(\widetilde{W}^{(1)}(x^{(1)})+\tilde{b}^{(1)}))\dots\varrho(\widetilde{W}^{(1)}(x^{(m)})+\tilde{b}^{(1)}))\end{bmatrix}\in{\mathbb{R}}^{n\times m}.

Иллюстрация · Здесь строится один маленький пример с известной обратной матрицей. Он не устанавливает обратимость произвольных матриц признаков и не доказывает общее утверждение об интерполяции.

Обозначения

A~\tilde{A}
Матрица с n скрытыми нейронами в строках и m обучающими точками в столбцах.
AA
Обратимая подматрица m на m, выбранная в доказательстве.
W(2)W^{(2)}
Матрица выходных весов с одним столбцом на скрытый признак.

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

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

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

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

Вы выбираете

  • input.firstLabel = 2

Начальные значения в коде

  • inputs = [0, 1]
  • inverse = [ [0, 1], [1, 0], ]

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

Выражение результата: { matrix, inverse, labels, outputWeights, outputBias: 0, proofOutputMatrix, matrixProduct, predictions, }

  • labels = [input.firstLabel, 3] Использует: input.firstLabel
  • features = inputs.map((x) => [Math.max(0, x), Math.max(0, 1 - x)]) Использует: inputs
  • matrix = [ [features[0][0], features[1][0]], [features[0][1], features[1][1]], ] Использует: features
  • outputWeights = inverse[0].map((_, j) => labels.reduce((sum, y, i) => sum + y * inverse[i][j], 0), ) Использует: inverse, labels
  • predictions = features.map((column) => column.reduce((sum, value, i) => sum + value * outputWeights[i], 0), ) Использует: features, outputWeights
  • proofOutputMatrix = inverse Использует: inverse
  • matrixProduct = proofOutputMatrix.map((row) => matrix[0].map((_, j) => row.reduce((sum, value, k) => sum + value * matrix[k][j], 0)), ) Использует: proofOutputMatrix, matrix

Возвращает

Пример результата
matrix
массив (2 элементов): [массив (2 элементов): [0, 1], массив (2 элементов): [1, 0]]
inverse
массив (2 элементов): [массив (2 элементов): [0, 1], массив (2 элементов): [1, 0]]
labels
массив (2 элементов): [2, 3]
outputWeights
массив (2 элементов): [3, 2]
outputBias
0
proofOutputMatrix
массив (2 элементов): [массив (2 элементов): [0, 1], массив (2 элементов): [1, 0]]
matrixProduct
массив (2 элементов): [массив (2 элементов): [1, 0], массив (2 элементов): [0, 1]]
predictions
массив (2 элементов): [2, 3]

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

Результат

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

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

Утверждение источника требует различных входов и непрерывной неполиномиальной активации. Оно утверждает существование подходящих параметров первого слоя для любых меток; затем доказательство выбирает W² = [y¹ … yᵐ]A⁻¹. Пример вычисляет конкретный случай ReLU и точную конечную обратную матрицу. Сеть доказательства имеет архитектуру (1,2,2), веса первого слоя [1,−1], смещения [0,1], выходную матрицу два на два и нулевые выходные смещения. Умножение выходной матрицы на матрицу признаков даёт единичную матрицу два на два. Отдельная итоговая подгонка меток использует один выход и нулевое выходное смещение.

Источник: Формула из статьи