exponenta event banner

regressionLayer

Создание выходного уровня регрессии

Описание

Уровень регрессии вычисляет потери в полусреднем квадрате для задач регрессии.

layer = regressionLayer возвращает уровень регрессионного вывода для нейронной сети в виде RegressionOutputLayer объект.

Прогнозирование ответов обученной регрессионной сети с использованием predict. Нормализация ответов часто помогает стабилизировать и ускорить обучение нейронных сетей регрессии. Дополнительные сведения см. в разделе Конволюционная нейронная сеть поезда для регрессии.

пример

layer = regressionLayer(Name,Value) устанавливает необязательный Name и ResponseNames с использованием пар имя-значение. Например, regressionLayer('Name','output') создает слой регрессии с именем 'output'. Заключите каждое имя свойства в отдельные кавычки.

Примеры

свернуть все

Создание выходного слоя регрессии с именем 'routput'.

layer = regressionLayer('Name','routput')
layer = 
  RegressionOutputLayer with properties:

             Name: 'routput'
    ResponseNames: {}

   Hyperparameters
     LossFunction: 'mean-squared-error'

Функция потерь по умолчанию для регрессии - среднеквадратичная ошибка.

Включение выходного уровня регрессии в массив Layer.

layers = [ ...
    imageInputLayer([28 28 1])
    convolution2dLayer(12,25)
    reluLayer
    fullyConnectedLayer(1)
    regressionLayer]
layers = 
  5x1 Layer array with layers:

     1   ''   Image Input         28x28x1 images with 'zerocenter' normalization
     2   ''   Convolution         25 12x12 convolutions with stride [1  1] and padding [0  0  0  0]
     3   ''   ReLU                ReLU
     4   ''   Fully Connected     1 fully connected layer
     5   ''   Regression Output   mean-squared-error

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

свернуть все

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

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

Пример: regressionLayer('Name','output') создает слой регрессии с именем 'output'

Имя слоя, указанное как символьный вектор или строковый скаляр. Чтобы включить слой в график слоев, необходимо указать непустое уникальное имя слоя. Если вы обучаете последовательную сеть с уровнем и Name имеет значение ''затем программа автоматически присваивает имя слою во время обучения.

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

Имена ответов, заданный массив ячеек символьных векторов или строковый массив. Во время обучения программа автоматически устанавливает имена ответов в соответствии с данными обучения. Значение по умолчанию: {}.

Типы данных: cell

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

свернуть все

Уровень регрессионного вывода, возвращаемый как RegressionOutputLayer объект.

Подробнее

свернуть все

Выходной уровень регрессии

Уровень регрессии вычисляет потери в полусреднем квадрате для задач регрессии. Для типичных проблем регрессии уровень регрессии должен следовать за окончательным полностью соединенным слоем.

Для одного наблюдения среднеквадратичная ошибка задается следующим образом:

MSE=∑i=1R (ti yi) 2R,

где R - количество откликов, ti - целевой выходной сигнал, и yi - предсказание сети для отклика i.

Для регрессионных сетей «изображение - последовательность - один» функция потерь регрессионного слоя представляет собой среднеквадратичную ошибку прогнозируемых откликов, не нормализованную по R:

loss=12∑i=1R (ti yi) 2.

Для регрессионных сетей «изображение-изображение» функция потерь регрессионного слоя представляет собой половину среднеквадратичной ошибки прогнозируемых откликов для каждого пикселя, не нормализованную по R:

loss=12∑p=1HWC (tp yp) 2,

где H, W и C обозначают высоту, ширину и количество каналов выхода, соответственно, и p-индексы в каждом элементе (пикселе) t и y линейно.

Для регрессионных сетей «последовательность-последовательность» функция потерь регрессионного слоя представляет собой половину среднеквадратичной ошибки прогнозируемых откликов для каждого временного шага, не нормализованную по R:

loss=12S∑i=1S∑j=1R (tij yij) 2,

где S - длина последовательности.

При обучении программное обеспечение вычисляет средние потери по наблюдениям в мини-партии.

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.

Создание кода графического процессора
Создание кода CUDA ® для графических процессоров NVIDIA ® с помощью Coder™ графических процессоров

.
Представлен в R2017a