Неглубокая сеть ReLU
Проект с пингвинами
Проект использует 342 записи Palmer с нужными измерениями: 240 для обучения, 102 для проверки. Выбранные примеры для обучения определяют масштабирование и параметры модели. Исходный CSV
Этот проект обучает веса с помощью softmax, в отличие от лаборатории на главной странице, где используются ближайшие средние по видам. Те же измерения пингвинов, но разные методы классификации. Предсказания могут различаться.
Правила предсказания и слои · Описывают или применяют правила предсказания, слои и параметры.
Проект использует линейное правило с двумя признаками. Обученные веса дают оценки или нормированную массу.
Рассмотрите понятие рядом с проектом: предположения источника могут отличаться. Эти наблюдения не доказывают теорему.
Вход: 12 × 2; Проверка на новых данных: 102 · #58 · 40.6 мм, 193 мм. Известный ответ: Адели; Прогноз: Адели · [≈0,7383; ≈0,2444; ≈0,01737].
Используется в разделах источника: 3.2 Простые участки и много слоёв · 3.3 Другие способы измерить выразительность
Каждый скрытый нейрон применяет ReLU к линейной функции x. Умножьте каждый скрытый выход на его выходной вес, сложите их и прибавьте выходное смещение.
Эта форма показывает, как двухслойная сеть строит кусочно-линейную функцию.
Пример формулы источника
Точное вычисление · Результат точен для этих конечных учебных входов с учётом обычного компьютерного округления.
Обозначения
- Положительное целое число скрытых нейронов.
- Вес и смещение первого слоя для нейрона i.
- Выходной вес нейрона i и выходное смещение.
Пример формулы источника
Этот пример использует свои входные данные и предположения. Его изменение не меняет проект.
Измените значение или код и запустите пример. Это конечная иллюстрация, а не доказательство теоремы.
Поток данных в этом примере
Код изменён. Сбросьте его, чтобы вернуть схему примера.
Вы выбираете
input.x= 2
Начальные значения в коде
firstWeights=[1, -1]hiddenBiases=[0, 1]outputWeights=[1, 2]outputBias=1
Вычисляется здесь
Выражение результата: {
hidden,
output: hidden.reduce((sum, value, i) => sum + value * outputWeights[i], outputBias),
}
hidden=firstWeights.map((weight, i) => Math.max(0, weight * input.x + hiddenBiases[i]), )Использует:firstWeights,input.x,hiddenBiases
Возвращает
hidden- массив (2 элементов): [2, 0]
output- 3
Прочитайте числа из input и верните результат. Основы JavaScript.
Результат
Техническая формулировка
Измените вход и снова запустите тот же код. Показанный результат использует приведённые выше значения.
Источник: Выражение из статьи