Предположения прореживания на конечной сети
Проект с пингвинами
Проект использует 342 записи Palmer с нужными измерениями: 240 для обучения, 102 для проверки. Выбранные примеры для обучения определяют масштабирование и параметры модели. Исходный CSV
Этот проект обучает веса с помощью softmax, в отличие от лаборатории на главной странице, где используются ближайшие средние по видам. Те же измерения пингвинов, но разные методы классификации. Предсказания могут различаться.
Прореживание · Описывает удаление весов сети и связанные границы ошибки.
Проект использует линейное правило с двумя признаками. Обученные веса дают оценки или нормированную массу.
Рассмотрите понятие рядом с проектом: предположения источника могут отличаться. Эти наблюдения не доказывают теорему.
Вход: 12 × 2; Проверка на новых данных: 102 · #58 · 40.6 мм, 193 мм. Известный ответ: Адели; Прогноз: Адели · [≈0,7383; ≈0,2444; ≈0,01737].
Используется в разделах источника: 6.5 Удаление связей
Проверьте условия источника для одной сети ReLU и подсчитайте параметры, удалённые выбранной маской.
Этот пример делает обозначение или условие источника конкретным.
Пример формулы источника
Иллюстрация · Эта конкретная построенная сеть удовлетворяет предположениям и иллюстрирует результат с 99% разреженных параметров; произвольные маски не обязаны давать оценку ошибки источника.
Обозначения
- Исходное число скрытых элементов, не менее 100.
- Входящие вес и смещение элемента i.
- Вектор выходных весов.
- Множество сохранённых элементов.
- Вероятностная мера с носителем на единичном шаре.
- Масштабированный скрытый признак.
Пример формулы источника
Этот пример использует свои входные данные и предположения. Его изменение не меняет проект.
Измените значение или код и запустите пример. Это конечная иллюстрация, а не доказательство теоремы.
Поток данных в этом примере
Код изменён. Сбросьте его, чтобы вернуть схему примера.
Вы выбираете
input.hiddenWeight= 0,5
Начальные значения в коде
n=100bias=0.5keep=[0]
Вычисляется здесь
Выражение результата: {
n,
hiddenWeight,
bias,
hiddenNorm: Math.abs(hiddenWeight),
weightBound: Math.abs(hiddenWeight) <= 0.5,
biasBound: bias <= 0.5,
keepCount: keep.length,
keepBound: keep.length <= n / 100,
zeroOutputWeights: keptOutputWe...
hiddenWeight=input.hiddenWeightИспользует:input.hiddenWeightoriginalOutputWeights=Array(n).fill(1)Использует:nkeptOutputWeights=originalOutputWeights.map((_, i) => (i === 0 ? 100 : 0))Использует:originalOutputWeightsoriginalValue=originalOutputWeights.reduce( (s, w) => s + w * Math.max(0, bias), 0, )Использует:originalOutputWeights,biasprunedValue=keptOutputWeights.reduce((s, w) => s + w * Math.max(0, bias), 0)Использует:keptOutputWeights,biasfeature=100 * Math.max(0, bias)Использует:bias
Возвращает
n- 100
hiddenWeight- 0,5
bias- 0,5
hiddenNorm- 0,5
weightBound- истина
biasBound- истина
keepCount- 1
keepBound- истина
Прочитайте числа из input и верните результат. Основы JavaScript.
Результат
Техническая формулировка
Пример использует n=100 одинаковых скалярных скрытых весов и смещений, а μ сосредоточена в x=0. Ограничения нормы входящего веса и смещения выполняются. Все исходные выходные веса равны 1, поэтому их норма L1 равна 100 и fᵢ(0)=50. Сохранение одного элемента с выходным весом 100 воспроизводит исходный выход при x=0, а 99 выходных весов и все входящие параметры удалённых элементов можно обнулить. Набор знаковых признаков содержит fᵢ и −fᵢ; если все выходные веса нулевые, выход исходной сети равен нулю.
Источник: Выражение из статьи