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.

Смотрите также

| (Deep Learning Toolbox) | (Deep Learning Toolbox) | (Deep Learning Toolbox) | (Deep Learning Toolbox)

Введенный в R2020b