Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

dropoutLayer

드롭아웃 계층

설명

드롭아웃 계층은 주어진 확률에 따라 입력 요소를 무작위로 0으로 설정합니다.

생성

설명

layer = dropoutLayer는 드롭아웃 계층을 만듭니다.

layer = dropoutLayer(probability)는 드롭아웃 계층을 만들고 Probability 속성을 설정합니다.

예제

layer = dropoutLayer(___,'Name',Name)은 위에 열거된 구문에 나와 있는 인수와 함께 이름-값 쌍을 사용하여 선택적 속성인 Name을 설정합니다. 예를 들어, dropoutLayer(0.4,'Name','drop1')은 드롭아웃 확률이 0.4이고 이름이 'drop1'인 드롭아웃 계층을 만듭니다. 속성 이름을 작은따옴표로 묶습니다.

속성

모두 확장

드롭아웃

입력 요소를 제외할 확률로, 1보다 작은 음이 아닌 숫자로 지정됩니다.

이 계층은 훈련 시점에 드롭아웃 마스크 rand(size(X))<Probability로 주어진 확률에 따라(X는 계층 입력) 입력 요소를 무작위로 0으로 설정한 후에 나머지 요소를 1/(1-Probability)만큼 스케일링합니다. 이 연산을 수행하면 실제로 각 반복 사이에 기본 신경망 아키텍처가 변경되고 신경망의 과적합이 방지됩니다[1], [2]. 수치가 높을수록 훈련 중에 제외되는 요소가 많아집니다. 예측 시점에는 계층의 출력값이 입력값과 동일합니다.

영상 입력의 경우, 계층은 각 영상의 각 채널에 대해 서로 다른 마스크를 적용합니다. 시퀀스 입력의 경우, 계층은 각 시퀀스의 각 시간 스텝에 대해 서로 다른 드롭아웃 마스크를 적용합니다.

예: 0.4

계층

계층 이름으로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. Layer 배열 입력값에 대해 trainNetwork, assembleNetwork, layerGraph, dlnetwork 함수는 이름이 ''인 계층에 자동으로 이름을 할당합니다.

데이터형: 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   ''   2-D 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., G. Hinton, A. Krizhevsky, I. Sutskever, R. Salakhutdinov. "Dropout: A Simple Way to Prevent Neural Networks from Overfitting." Journal of Machine Learning Research. Vol. 15, pp. 1929-1958, 2014.

[2] Krizhevsky, A., I. Sutskever, and G. E. Hinton. "ImageNet Classification with Deep Convolutional Neural Networks." Advances in Neural Information Processing Systems. Vol. 25, 2012.

확장 기능

C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

GPU 코드 생성
GPU Coder™를 사용하여 NVIDIA® GPU용 CUDA® 코드를 생성할 수 있습니다.

버전 내역

R2016a에 개발됨