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] Srivastava, N., Г. Хинтон, А. Крижевский, я. Sutskever, Р. Салахутдинов. "Уволенный: Простой Способ Препятствовать тому, чтобы Нейронные сети Сверхсоответствовали". Журнал Исследования Машинного обучения. Издание 15, стр 1929-1958, 2014.

[2] Krizhevsky, A. i. Sutskever и Г. Э. Хинтон. "Классификация ImageNet с глубокими сверточными нейронными сетями". Усовершенствования в нейронных системах обработки информации. Издание 25, 2012.

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

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

Введенный в R2016a