exponenta event banner

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] Шривастава, Н., Г. Хинтон, А. Крижевский, И. Суцкевер, Р. Салахутдинов. «Отсев: простой способ предотвратить переоснащение нейронных сетей». Журнал исследований машинного обучения. Том 15, стр. 1929 - 1958, 2014.

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

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

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

.

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

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