exponenta event banner

focalCrossEntropy

Вычислить фокальные потери перекрестной энтропии

Описание

пример

dlY = focalCrossEntropy(dlX,targets) вычисляет фокальную перекрестную энтропию между предсказаниями сети и целевыми значениями для задач классификации с одной и несколькими метками. Классы являются взаимоисключающими классами. Фокальные веса потерь перекрестной энтропии в сторону плохо классифицированных тренировочных образцов и игнорируют хорошо классифицированные образцы. Фокальные перекрестные энтропийные потери вычисляются как средние логарифмические потери, деленные на число ненулевых целей.

пример

dlY = focalCrossEntropy(dlX,targets,'DataFormat',FMT) также задает формат размера FMT когда dlX не является отформатированным dlarray.

пример

dlY = focalCrossEntropy(___,Name,Value) указывает параметры, использующие один или несколько аргументов пары имя-значение в дополнение к входным аргументам в предыдущих синтаксисах. Например, 'TargetCategories','independent' вычисляет потери перекрестной энтропии для задачи классификации с несколькими метками.

Примеры

свернуть все

Создайте входные данные классификации как 32 наблюдения случайных величин, принадлежащих 10 классам или категориям.

numCategories = 10;
observations = 32;
X = rand(numCategories,observations);

Создание форматированного массива глубокого обучения, имеющего формат данных с метками 'C' и 'B'.

dlX = dlarray(X,'CB');

Используйте softmax для установки всех значений во входных данных в значения между 0 и 1 эта сумма к 1 по всем каналам. Значения определяют вероятность принадлежности каждого наблюдения к определенной категории.

dlX = softmax(dlX);

Создайте целевые данные как неформатированный массив глубокого обучения, который содержит правильную категорию для каждого наблюдения в dlX. Установите целевые объекты, относящиеся ко второй категории, в качестве одноступенчатых кодированных векторов.

targets = dlarray(zeros(numCategories,observations));
targets(2,:) = 1;

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

dlY = focalCrossEntropy(dlX,targets,'Reduction','none');

Создайте входные данные классификации как 32 наблюдения случайных величин, принадлежащих 10 классам или категориям.

numCategories = 10;
observations = 32;
X = rand(numCategories,observations);

Создание неформатированного массива глубокого обучения.

dlX = dlarray(X);

Используйте softmax для установки всех значений во входных данных в значения между 0 и 1 эта сумма к 1 по всем каналам. Значения определяют вероятность принадлежности каждого наблюдения к определенной категории.

dlX = softmax(dlX,'DataFormat','CB');

Создайте целевые данные. Установите целевые объекты, относящиеся ко второй категории, в качестве одноступенчатых кодированных векторов.

targets = zeros(numCategories,observations);
targets(2,:) = 1;

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

dlY = focalCrossEntropy(dlX,targets,'DataFormat','CB')
dlY = 
  1x1 dlarray

    0.4769

Создайте входные данные классификации как 32 наблюдения случайных величин, принадлежащих 10 классам или категориям.

numCategories = 10;
observations = 32;
X = rand(numCategories,observations);

Создайте форматированный массив глубокого обучения, который имеет формат данных с метками «C» и «B».

dlX = dlarray(X,'CB');

Используйте sigmoid для установки всех значений во входных данных в значения между 0 и 1 эта сумма к 1 по всем каналам. Значения определяют вероятность принадлежности каждого наблюдения к определенной категории.

dlX = sigmoid(dlX);

Создайте целевые данные, которые содержат правильную категорию для каждого наблюдения в dlX. Установите целевые объекты, относящиеся ко второй и шестой категории, в качестве одноподвлеченных кодированных векторов.

targets = zeros(numCategories,observations);
targets(2,:) = 1;
targets(6,:) = 1;

Вычислите среднее значение потерь фокальной перекрестной энтропии, вычисленное между прогнозами и целями. Установите 'TargetCategories«значение для»independent'для классификации с несколькими метками.

dlY = focalCrossEntropy(dlX,targets,'TargetCategories','independent')
dlY = 
  1x1 dlarray

    2.4362

Входные аргументы

свернуть все

Прогнозы, указанные как dlarray с метками размеров или без них или числовым массивом. Когда dlX не является отформатированным dlarray, необходимо указать формат размера с помощью 'DataFormat',FMT. Если dlX - числовой массив, targets должно быть dlarray.

Типы данных: single | double

Целевые метки классификации, указанные как форматированные или неформатированные dlarray или числовой массив.

Если targets является отформатированным dlarray, его формат измерения должен совпадать с форматом dlX, или то же самое, что 'DataFormat' если dlX является неформатированным

Если targets является неформатированным dlarray или числовой массив, размер targets должен точно соответствовать размеру dlX. Формат dlX или значение 'DataFormat' неявно применяется к targets.

Типы данных: single | double

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: 'TargetCategories','independent','DataFormat','CB' оценивает фокальные потери перекрестной энтропии для задач классификации с несколькими метками и определяет порядок измерения входных данных как 'CB'

Параметр фокусировки функции фокальных потерь, определяемый как разделенная запятыми пара, состоящая из 'Gamma' и положительное реальное число. Увеличение значения Gamma повышает чувствительность сети к ошибочным наблюдениям.

Параметр балансировки функции фокальных потерь, определяемый как разделенная запятыми пара, состоящая из 'Alpha' и положительное реальное число. Alpha значение линейно масштабирует функцию потерь и обычно устанавливается в 0.25. При уменьшении Alpha, увеличение Gamma.

Тип потери выходного сигнала, указанный как разделенная запятыми пара, состоящая из 'Reduction' и одно из следующих:

  • 'mean' - Среднее значение потерь на выходе для каждого прогноза. Функция вычисляет среднее значение потерь, вычисленное для каждого прогноза на входе. dlX. Функция возвращает среднюю потерю как неформатированную dlarray. Наблюдения со всеми нулевыми целевыми значениями по размерности канала исключаются из вычисления средних потерь.

  • 'none' - Потери на выходе для каждого прогноза. Функция возвращает значения потерь для каждого наблюдения в dlX. Выборки для вычисления фокальных потерь перекрестной энтропии также содержат наблюдения, целевыми значениями которых являются нули вдоль измерения канала. Если dlX является отформатированным dlarray, вывод dlY является отформатированным dlarray с теми же метками размеров, что и dlX. Если dlX является неформатированным dlarray, вывод dlY является неформатированным dlarray.

Значение по умолчанию: 'mean'.

Пример: 'Reduction','mean'

Типы данных: char | string

Тип задачи классификации, указанный как разделенная запятыми пара, состоящая из 'TargetCategories' и одно из следующих:

  • 'exclusive' - Однометочная классификация. Каждое наблюдение в прогнозах dlX присваивается исключительно одной категории.

  • 'independent'- Классификация по нескольким меткам. Каждое наблюдение в прогнозах dlX может быть присвоен одной или нескольким независимым категориям.

Значение по умолчанию: 'exclusive'.

Размерный порядок неформатированных входных данных, указанный как разделенная запятыми пара, состоящая из 'DataFormat' и символьный массив или строку FMT с меткой для каждого измерения данных. Каждый символ в FMT должен быть одним из следующих:

  • 'S' - Пространственный

  • 'C' - Канал

  • 'B' - Партия (например, пробы и наблюдения)

  • 'T' - Время (например, последовательности)

  • 'U' - Не указано

Можно указать несколько размеров с метками 'S' или 'U'. Можно использовать метки 'C', 'B', и 'T' максимум один раз.

Необходимо указать 'DataFormat' когда входные данные dlX не является отформатированным dlarray.

Пример: 'DataFormat','SSCB'

Типы данных: char | string

Выходные аргументы

свернуть все

Фокальная перекрестная энтропия, возвращенная как dlarray скаляр без меток размеров. Продукция dlY имеет тот же базовый тип данных, что и входной dlX.

См. также

| (инструментарий глубокого обучения) | (инструментарий для глубокого обучения) | (инструментарий для глубокого обучения) | (инструментарий для глубокого обучения)

Представлен в R2020b