Сеть на рисунке источника
Проект с пингвинами
Проект использует 342 записи Palmer с нужными измерениями: 240 для обучения, 102 для проверки. Выбранные примеры для обучения определяют масштабирование и параметры модели. Исходный CSV
Этот проект обучает веса с помощью softmax, в отличие от лаборатории на главной странице, где используются ближайшие средние по видам. Те же измерения пингвинов, но разные методы классификации. Предсказания могут различаться.
Правила предсказания и слои · Описывают или применяют правила предсказания, слои и параметры.
Проект использует линейное правило с двумя признаками. Обученные веса дают оценки или нормированную массу.
Рассмотрите понятие рядом с проектом: предположения источника могут отличаться. Эти наблюдения не доказывают теорему.
Вход: 12 × 2; Проверка на новых данных: 102 · #58 · 40.6 мм, 193 мм. Известный ответ: Адели; Прогноз: Адели · [≈0,7383; ≈0,2444; ≈0,01737].
Используется в разделах источника: 1.2 Обучение на примерах · 3.3 Другие способы измерить выразительность
Рисунок источника содержит 3 входа, скрытые слои шириной 4 и 6 и 1 выход. Каждый слой имеет матрицу весов и вектор смещений.
Первый слой имеет 16 параметров, второй 30, а выходной слой 7, всего 53.
Формы определяют, как операции слоёв сети согласуются друг с другом.
Пример формулы источника
Иллюстрация · Архитектура соответствует рисунку источника. Численные веса, смещения и вход вымышлены для демонстрации.
Обозначения
- Ширины слоёв [3,4,6,1].
- Веса с одной строкой на нейрон и одним столбцом на значение предыдущего слоя.
- Одно смещение для каждого выхода слоя.
- Значение до активации нейрона i в слое ℓ.
- Соответствующее активированное значение.
Пример формулы источника
Этот пример использует свои входные данные и предположения. Его изменение не меняет проект.
Измените значение или код и запустите пример. Это конечная иллюстрация, а не доказательство теоремы.
Поток данных в этом примере
Код изменён. Сбросьте его, чтобы вернуть схему примера.
Вы выбираете
input.x= 1
Начальные значения в коде
widths=[3, 4, 6, 1]
Вычисляется здесь
Выражение результата: {
x,
widths,
counts,
total: counts.reduce((a, b) => a + b, 0),
firstPre,
first,
secondPre,
second,
output,
}
x=[input.x, 0, 0]Использует:input.xmatrices=widths .slice(1) .map((rows, i) => Array.from({ length: rows }, (_, r) => Array.from({ length: widths[i] }, (_, c) => (r === 0 && c === 0 ? 1 : 0)), ), )Использует:widthsbiases=widths.slice(1).map((size) => Array(size).fill(0))Использует:widthsfirstPre=affine(matrices[0], biases[0], x)Использует:affine,matrices,biases,xfirst=firstPre.map((value) => Math.max(0, value))Использует:firstPresecondPre=affine(matrices[1], biases[1], first)Использует:affine,matrices,biases,firstsecond=secondPre.map((value) => Math.max(0, value))Использует:secondPreoutput=affine(matrices[2], biases[2], second)Использует:affine,matrices,biases,second
Другие выражения в коде
Возвращает
x- массив (3 элементов): [1, 0, 0]
widths- массив (4 элементов): [3, 4, 6, 1]
counts- массив (3 элементов): [16, 30, 7]
total- 53
firstPre- массив (4 элементов): [1, 0, 0, 0]
first- массив (4 элементов): [1, 0, 0, 0]
secondPre- массив (6 элементов): [1, 0, 0, 0, …]
second- массив (6 элементов): [1, 0, 0, 0, …]
Прочитайте числа из input и верните результат. Основы JavaScript.
Результат
Техническая формулировка
Для каждого слоя умножьте предыдущие значения на W и прибавьте b. В примере ReLU применяется к скрытым значениям до активации. 53 параметра источника включают нулевые веса и смещения; число зависит от доступных позиций, а не от того, какие позиции ненулевые.
Источник: Формула из статьи