dropoutLayer

Описание

Выпадающий слой случайным образом устанавливает элементы входа для нуля с заданной вероятностью.

Создание

Описание

layer = dropoutLayer создает слой отсева.

layer = dropoutLayer(probability) создает слой отсева и устанавливает Probability свойство.

пример

layer = dropoutLayer(___,'Name',Name) устанавливает дополнительный Name свойство, использующее пару "имя-значение" и любой из аргументов в предыдущих синтаксисах. Для примера, dropoutLayer(0.4,'Name','drop1') создает слой отсева с вероятностью отсева 0,4 и именем 'drop1'. Заключайте имя свойства в одинарные кавычки.

Свойства

расширить все

Уволенный

Вероятность выпадения входных элементов, заданная как числовой скаляр в области значений 0-1.

Во время обучения слой случайным образом устанавливает входные элементы в нуль, заданный маской отсева rand(size(X))<Probability, где X является входом слоя, а затем масштабирует оставшиеся элементы по 1/(1-Probability). Эта операция эффективно изменяет базовую сетевую архитектуру между итерациями и препятствует сверхподбору кривой сети [1], [2]. Более высокое число приводит к падению большего количества элементов во время обучения. Во времени предсказания выход слоя равен его входу.

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

Пример: 0.4

Слой

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

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

Количество входов слоя. Этот слой принимает только один вход.

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

Входные имена слоя. Этот слой принимает только один вход.

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

Количество выходов слоя. Этот слой имеет только один выход.

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

Выходные имена слоя. Этот слой имеет только один выход.

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

Примеры

свернуть все

Создайте слой выпадения с 'drop1' имен.

layer = dropoutLayer('Name','drop1')
layer = 
  DropoutLayer with properties:

           Name: 'drop1'

   Hyperparameters
    Probability: 0.5000

Включите слой отсева в Layer массив.

layers = [ ...
    imageInputLayer([28 28 1])
    convolution2dLayer(5,20)
    reluLayer
    dropoutLayer
    fullyConnectedLayer(10)
    softmaxLayer
    classificationLayer]
layers = 
  7x1 Layer array with layers:

     1   ''   Image Input             28x28x1 images with 'zerocenter' normalization
     2   ''   Convolution             20 5x5 convolutions with stride [1  1] and padding [0  0  0  0]
     3   ''   ReLU                    ReLU
     4   ''   Dropout                 50% dropout
     5   ''   Fully Connected         10 fully connected layer
     6   ''   Softmax                 softmax
     7   ''   Classification Output   crossentropyex

Подробнее о

расширить все

Ссылки

[1] Шривастава, Н., Г. Хинтон, А. Крижевский, И. Суцкевер, Р. Салахутдинов. «Dropout: A Simple Way to Prevent Neural Networks From Overfitting». Журнал исследований машинного обучения. Том 15, стр. 1929 - 1958, 2014.

[2] Крижевский, А., И. Суцкевер, и Г. Е. Хинтон. «Классификация ImageNet с глубокими сверточными нейронными сетями». Усовершенствования в системах нейронной обработки информации. Том 25, 2012.

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

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

.

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

.
Введенный в R2016a