Main Content

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

convolution2dLayer

2차원 컨벌루션 계층

설명

2차원 컨벌루션 계층은 2차원 입력값에 슬라이딩 컨벌루션 필터를 적용합니다. 이 계층은 입력값의 세로와 가로 방향을 따라 필터를 이동하면서 가중치와 입력값의 내적을 계산한 다음 편향 항을 추가하여 입력값을 컨벌루션합니다.

계층이 컨벌루션하는 차원은 계층 입력값에 따라 다릅니다.

  • 2차원 영상 입력값의 경우(2개 공간 차원의 픽셀, 채널, 관측값에 상응하는 4차원 데이터), 계층은 공간 차원에 대해 컨벌루션합니다.

  • 2차원 영상 시퀀스 입력값의 경우(2개 공간 차원의 픽셀, 채널, 관측값, 시간 스텝에 상응하는 5차원 데이터), 계층은 2개 공간 차원에 대해 컨벌루션합니다.

  • 1차원 영상 시퀀스 입력값의 경우(1개 공간 차원의 픽셀, 채널, 관측값, 시간 스텝에 상응하는 4차원 데이터), 계층은 공간 차원과 시간 차원에 대해 컨벌루션합니다.

생성

설명

layer = convolution2dLayer(filterSize,numFilters)는 2차원 컨벌루션 계층을 만들고 FilterSizeNumFilters 속성을 설정합니다.

layer = convolution2dLayer(filterSize,numFilters,Name,Value)는 이름-값 쌍을 사용하여 선택 사항인 Stride, DilationFactor, NumChannels, 파라미터 및 초기화, 학습률 및 정규화, Name 속성을 설정합니다. 입력값 채우기를 지정하려면 'Padding' 이름-값 쌍 인수를 사용하십시오. 예를 들어, convolution2dLayer(11,96,'Stride',4,'Padding',1)은 크기가 [11 11]인 필터 96개와 크기가 [4 4]인 스트라이드를 가지며 계층 입력값의 모든 가장자리에 크기 1의 채우기를 적용하는 2차원 컨벌루션 계층을 만듭니다. 여러 개의 이름-값 쌍을 지정할 수 있습니다. 각 속성 이름을 작은따옴표로 묶습니다.

예제

입력 인수

모두 확장

이름-값 인수

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name을 따옴표로 묶으십시오.

예: convolution2dLayer(3,16,'Padding','same')은 크기가 [3 3]인 필터 16개를 가지며 'same' 채우기를 적용하는 2차원 컨벌루션 계층을 만듭니다. 훈련 시점에 계층 출력 크기가 입력 크기와 같아지는 채우기 크기가 계산되고 설정됩니다.

입력값 가장자리 채우기로, 'Padding'과 함께 다음 값 중 하나가 쉼표로 구분되어 지정됩니다.

  • 'same' — 스트라이드가 1인 경우 출력 크기가 입력 크기와 같아지도록 훈련 또는 예측 시점에 계산한 크기의 채우기가 적용됩니다. 스트라이드가 1보다 큰 경우, 출력 크기는 ceil(inputSize/stride)가 됩니다. 여기서 inputSize는 입력값의 높이 또는 너비이고 stride는 대응되는 차원의 스트라이드입니다. 가능한 경우 상하좌우에 동일한 양의 채우기가 적용됩니다. 세로 방향으로 더해야 하는 채우기가 홀수 값을 갖는 경우, 아래에 추가로 채우기가 적용됩니다. 가로 방향으로 더해야 하는 채우기가 홀수 값을 갖는 경우, 오른쪽에 추가로 채우기가 적용됩니다.

  • 음이 아닌 정수 p — 입력값의 모든 가장자리에 크기가 p인 채우기를 더합니다.

  • 음이 아닌 정수로 구성된 벡터 [a b] — 입력값의 위와 아래에 크기가 a인 채우기를 더하고 왼쪽과 오른쪽에 크기가 b인 채우기를 더합니다.

  • 음이 아닌 정수로 구성된 벡터 [t b l r] — 입력값의 위에 크기가 t인 채우기를, 아래에 크기가 b인 채우기를, 왼쪽에 크기가 l인 채우기를, 오른쪽에 크기가 r인 채우기를 더합니다.

예: 'Padding',1은 입력값의 위와 아래에 채우기 한 행을 더하고, 왼쪽과 오른쪽에 채우기 한 열을 더합니다.

예: 'Padding','same'은 (스트라이드가 1인 경우) 출력 크기가 입력 크기와 같아지도록 채우기를 더합니다.

속성

모두 확장

2차원 컨벌루션

필터의 높이와 너비로, 2개의 양의 정수로 구성된 벡터 [h w]로 지정됩니다. 여기서 h는 높이이고 w는 너비입니다. FilterSize는 입력값에서 뉴런이 연결되는 국소 영역의 크기를 정의합니다.

계층을 만들 때 높이와 너비에 같은 값을 사용하려면 FilterSize를 스칼라로 지정하면 됩니다.

예: [5 5]는 높이가 5이고 너비가 5인 필터를 지정합니다.

읽기 전용 속성입니다.

필터 개수로, 양의 정수로 지정됩니다. 이 수치는 계층에서 입력값의 동일한 영역에 연결되는 뉴런의 개수에 대응됩니다. 이 파라미터는 계층의 출력값에 있는 채널(특징 맵)의 개수를 결정합니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

입력값을 세로와 가로 방향으로 순회하는 스텝 크기로, 2개의 양의 정수로 구성된 벡터 [a b]로 지정됩니다. 여기서 a는 세로 스텝 크기이고 b는 가로 스텝 크기입니다. 계층을 만들 때 세로, 가로 스텝 크기에 모두 같은 값을 사용하려면 Stride를 스칼라로 지정하면 됩니다.

예: [2 3]은 세로 스텝 크기를 2로, 가로 스텝 크기를 3으로 지정합니다.

팽창된 컨벌루션(아트루스 컨벌루션이라고도 함) 인자로, 2개의 양의 정수로 구성된 벡터 [h w]로 지정됩니다. 여기서 h는 세로 팽창이고 w는 가로 팽창입니다. 계층을 만들 때 세로와 가로 팽창에 모두 같은 값을 사용하려면 DilationFactor를 스칼라로 지정하면 됩니다.

파라미터의 개수나 연산량을 늘리지 않으면서 계층의 수용 영역(입력값에서 계층이 볼 수 있는 영역)을 늘리려는 경우 팽창된 컨벌루션을 사용할 수 있습니다.

이 계층은 각 필터 요소 사이에 0을 삽입하여 필터를 확장합니다. 팽창 인자는 입력값 추출을 위한 스텝 크기 또는 이와 동등한 필터 업샘플링 인자를 결정합니다. 팽창 인자에 따라 필터 크기가 (Filter Size – 1) .* Dilation Factor + 1로 정해집니다. 예를 들어, 팽창 인자가 [2 2]인 3×3 필터는 요소들 사이에 0이 삽입된 5×5 필터와 같습니다.

예: [2 3]

입력값 테두리에 적용할 채우기 크기로, 4개의 음이 아닌 정수로 구성된 벡터 [t b l r]로 지정됩니다. 여기서 t는 위에 적용할 채우기이고 b는 아래에 적용할 채우기이고 l은 왼쪽에 적용할 채우기이고 r은 오른쪽에 적용할 채우기입니다.

계층을 만들 때 'Padding' 이름-값 쌍 인수를 사용하여 채우기 크기를 지정합니다.

예: [1 1 2 2]는 입력값의 위와 아래에 채우기 한 행을 더하고, 왼쪽과 오른쪽에 채우기 두 열을 더합니다.

채우기 크기를 결정하는 방법으로, 'manual' 또는 'same'으로 지정됩니다.

계층을 만들 때 사용자가 지정한 'Padding' 값을 기준으로 자동으로 PaddingMode의 값이 설정됩니다.

  • 'Padding' 옵션을 스칼라 또는 음이 아닌 정수로 구성된 벡터로 설정한 경우, 자동으로 PaddingMode'manual'로 설정됩니다.

  • 'Padding' 옵션을 'same'으로 설정한 경우, 자동으로 PaddingMode'same'으로 설정되고, 스트라이드가 1인 경우 출력 크기가 입력 크기와 같아지도록 채우기 크기가 훈련 시점에 계산됩니다. 스트라이드가 1보다 큰 경우, 출력 크기는 ceil(inputSize/stride)가 됩니다. 여기서 inputSize는 입력값의 높이 또는 너비이고 stride는 대응되는 차원의 스트라이드입니다. 가능한 경우 상하좌우에 동일한 양의 채우기가 적용됩니다. 세로 방향으로 더해야 하는 채우기가 홀수 값을 갖는 경우, 아래에 추가로 채우기가 적용됩니다. 가로 방향으로 더해야 하는 채우기가 홀수 값을 갖는 경우, 오른쪽에 추가로 채우기가 적용됩니다.

참고

Padding 속성은 향후 릴리스에서 제거될 예정입니다. PaddingSize를 대신 사용하십시오. 계층을 만들 때 'Padding' 이름-값 쌍 인수를 사용하여 채우기 크기를 지정합니다.

입력값 테두리에 세로와 가로 방향으로 적용할 채우기 크기로, 2개의 음이 아닌 정수로 구성된 벡터 [a b]로 지정됩니다. 여기서 a는 입력 데이터의 위와 아래에 적용할 채우기이고 b는 왼쪽과 오른쪽에 적용할 채우기입니다.

예: [1 1]은 입력값의 위와 아래에 채우기 한 행을 더하고, 왼쪽과 오른쪽에 채우기 한 열을 더합니다.

데이터에 채울 값으로, 다음 중 하나로 지정됩니다.

PaddingValue설명
스칼라지정된 스칼라 값으로 채웁니다.

[314159265][0000000000000000314000015900002650000000000000000]

'symmetric-include-edge'가장자리 값을 포함해 미러링된 입력값을 사용하여 채웁니다.

[314159265][5115995133144113314415115995622655662265565115995]

'symmetric-exclude-edge'가장자리 값을 제외하고 미러링된 입력값을 사용하여 채웁니다.

[314159265][5626562951595141314139515951562656295159514131413]

'replicate'입력의 반복되는 테두리 요소를 사용하여 채웁니다.

[314159265][3331444333144433314441115999222655522265552226555]

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | char | string

읽기 전용 속성입니다.

입력 채널의 개수로, 다음 중 하나로 지정됩니다.

  • 'auto' — 훈련 시점에 자동으로 입력 채널의 개수가 결정됩니다.

  • 양의 정수 — 지정된 입력 채널의 개수에 맞게 계층을 구성합니다. NumChannels와 계층 입력 데이터의 채널 개수는 일치해야 합니다. 예를 들어, 입력값이 RGB 영상이면 NumChannels는 3이어야 합니다. 입력값이 16개의 필터가 있는 컨벌루션 계층의 출력값이면 NumChannels는 16이어야 합니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | char | string

파라미터 및 초기화

가중치를 초기화하는 함수로, 다음 중 하나로 지정됩니다.

  • 'glorot' – Glorot 이니셜라이저[4](Xavier 이니셜라이저라고도 함)를 사용하여 가중치를 초기화합니다. Glorot 이니셜라이저는 평균이 0이고 분산이 2/(numIn + numOut)인 균등분포에서 독립적으로 샘플링합니다. 여기서 numIn = FilterSize(1)*FilterSize(2)*NumChannels이고 numOut = FilterSize(1)*FilterSize(2)*NumFilters입니다.

  • 'he' – He 이니셜라이저[5]를 사용하여 가중치를 초기화합니다. He 이니셜라이저는 평균이 0이고 분산이 2/numIn인 정규분포에서 샘플링합니다. 여기서 numIn = FilterSize(1)*FilterSize(2)*NumChannels입니다.

  • 'narrow-normal' – 평균이 0이고 표준편차가 0.01인 정규분포에서 독립적으로 샘플링하여 가중치를 초기화합니다.

  • 'zeros' – 가중치를 0으로 초기화합니다.

  • 'ones' – 가중치를 1로 초기화합니다.

  • 함수 핸들 – 사용자 지정 함수를 사용하여 가중치를 초기화합니다. 함수 핸들을 지정할 경우, 함수는 weights = func(sz) 형식이 되어야 합니다. 여기서 sz는 가중치의 크기입니다. 예제는 Specify Custom Weight Initialization Function 항목을 참조하십시오.

계층은 Weights 속성이 비어 있는 경우에만 가중치를 초기화합니다.

데이터형: char | string | function_handle

편향을 초기화하는 함수로, 다음 값 중 하나로 지정됩니다.

  • "zeros" — 편향을 0으로 초기화합니다.

  • "ones" — 편향을 1로 초기화합니다.

  • "narrow-normal" — 평균이 0이고 표준편차가 0.01인 정규분포에서 독립적으로 샘플링하여 편향을 초기화합니다.

  • 함수 핸들 — 사용자 지정 함수를 사용하여 편향을 초기화합니다. 함수 핸들을 지정할 경우, 함수는 bias = func(sz) 형식을 가져야 합니다. 여기서 sz는 편향의 크기입니다.

계층은 Bias 속성이 비어 있는 경우에만 편향을 초기화합니다.

데이터형: char | string | function_handle

컨벌루션 계층의 계층 가중치로, 숫자형 배열로 지정됩니다.

계층 가중치는 학습 가능한 파라미터입니다. 계층의 Weights 속성을 사용하여 가중치의 초기값을 직접 지정할 수 있습니다. 신경망을 훈련시킬 때 계층의 Weights 속성이 비어 있지 않으면 trainnet 함수 및 trainNetwork 함수는 Weights 속성을 초기값으로 사용합니다. Weights 속성이 비어 있으면 계층의 WeightsInitializer 속성으로 지정된 이니셜라이저가 사용됩니다.

훈련 시점에 WeightsFilterSize(1)×FilterSize(2)×NumChannels×NumFilters 배열입니다.

데이터형: single | double

컨벌루션 계층의 계층 편향으로, 숫자형 배열로 지정됩니다.

계층 편향은 학습 가능한 파라미터입니다. 신경망을 훈련시킬 때 Bias가 비어 있지 않으면 trainnettrainNetwork 함수는 Bias 속성을 초기값으로 사용합니다. Bias가 비어 있으면 BiasInitializer로 지정된 이니셜라이저가 사용됩니다.

훈련 시점에 Bias는 1×1×NumFilters 배열입니다.

데이터형: single | double

학습률 및 정규화

가중치에 대한 학습률 인자로, 음이 아닌 스칼라로 지정됩니다.

이 인자에 전역 학습률을 곱하여 이 계층의 가중치에 대한 학습률이 결정됩니다. 예를 들어, WeightLearnRateFactor2인 경우, 이 계층의 가중치에 대한 학습률은 현재 전역 학습률의 2배입니다. trainingOptions 함수를 사용하여 지정한 설정을 기반으로 전역 학습률이 결정됩니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

편향에 대한 학습률 인자로, 음이 아닌 스칼라로 지정됩니다.

이 인자에 전역 학습률을 곱하여 이 계층의 편향에 대한 학습률이 결정됩니다. 예를 들어, BiasLearnRateFactor2인 경우, 이 계층의 편향에 대한 학습률은 현재 전역 학습률의 2배입니다. trainingOptions 함수를 사용하여 지정한 설정을 기반으로 전역 학습률이 결정됩니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

가중치에 대한 L2 정규화 인자로, 음이 아닌 스칼라로 지정됩니다.

이 인자에 전역 L2 정규화 인자를 곱하여 이 계층의 가중치에 대한 L2 정규화가 결정됩니다. 예를 들어, WeightL2Factor2인 경우, 이 계층의 가중치에 대한 L2 정규화는 전역 L2 정규화 인자의 2배입니다. 전역 L2 정규화 인자는 trainingOptions 함수를 사용하여 지정할 수 있습니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

편향에 대한 L2 정규화 인자로, 음이 아닌 스칼라로 지정됩니다.

이 인자에 전역 L2 정규화 인자를 곱하여 이 계층의 편향에 대한 L2 정규화가 결정됩니다. 예를 들어, BiasL2Factor2인 경우, 이 계층의 편향에 대한 L2 정규화는 전역 L2 정규화 인자의 2배입니다. trainingOptions 함수를 사용하여 지정한 설정을 기반으로 전역 L2 정규화 인자가 결정됩니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

계층

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

Convolution2DLayer 객체는 이 속성을 문자형 벡터로 저장합니다.

데이터형: char | string

읽기 전용 속성입니다.

계층에 대한 입력값의 개수로, 1로 반환됩니다. 이 계층은 단일 입력값만 받습니다.

데이터형: double

읽기 전용 속성입니다.

입력값 이름으로, {'in'}으로 반환됩니다. 이 계층은 단일 입력값만 받습니다.

데이터형: cell

읽기 전용 속성입니다.

계층의 출력값 개수로, 1로 반환됩니다. 이 계층은 단일 출력값만 가집니다.

데이터형: double

읽기 전용 속성입니다.

출력값 이름으로, {'out'}으로 반환됩니다. 이 계층은 단일 출력값만 가집니다.

데이터형: cell

예제

모두 축소

높이와 너비가 11인 필터 96개를 갖는 컨벌루션 계층을 만듭니다. 가로 방향과 세로 방향에서 크기가 4인 스트라이드(스텝 크기)를 사용합니다.

layer = convolution2dLayer(11,96,'Stride',4)
layer = 
  Convolution2DLayer with properties:

              Name: ''

   Hyperparameters
        FilterSize: [11 11]
       NumChannels: 'auto'
        NumFilters: 96
            Stride: [4 4]
    DilationFactor: [1 1]
       PaddingMode: 'manual'
       PaddingSize: [0 0 0 0]
      PaddingValue: 0

   Learnable Parameters
           Weights: []
              Bias: []

Use properties method to see a list of all properties.

Layer 배열에 컨벌루션 계층을 포함시킵니다.

layers = [
    imageInputLayer([28 28 1])
    convolution2dLayer(5,20)
    reluLayer
    maxPooling2dLayer(2,'Stride',2)
    fullyConnectedLayer(10)
    softmaxLayer]
layers = 
  6x1 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   ''   2-D Max Pooling   2x2 max pooling with stride [2  2] and padding [0  0  0  0]
     5   ''   Fully Connected   10 fully connected layer
     6   ''   Softmax           softmax

가중치 이니셜라이저 함수와 편향 이니셜라이저 함수를 지정하려면 각각 WeightsInitializer 속성과 BiasInitializer 속성을 사용하십시오. 가중치와 편향을 직접 지정하려면 각각 Weights 속성과 Bias 속성을 사용하십시오.

초기화 함수 지정하기

높이와 너비가 5인 필터 32개를 갖는 컨벌루션 계층을 만들고 가중치 이니셜라이저를 He 이니셜라이저로 지정합니다.

filterSize = 5;
numFilters = 32;
layer = convolution2dLayer(filterSize,numFilters, ...
    'WeightsInitializer','he')
layer = 
  Convolution2DLayer with properties:

              Name: ''

   Hyperparameters
        FilterSize: [5 5]
       NumChannels: 'auto'
        NumFilters: 32
            Stride: [1 1]
    DilationFactor: [1 1]
       PaddingMode: 'manual'
       PaddingSize: [0 0 0 0]
      PaddingValue: 0

   Learnable Parameters
           Weights: []
              Bias: []

Use properties method to see a list of all properties.

Weights 속성과 Bias 속성은 비어 있는 것을 볼 수 있습니다. 이러한 속성은 지정된 초기화 함수를 사용하여 훈련 시점에 초기화됩니다.

사용자 지정 초기화 함수 지정하기

가중치와 편향에 대해 자신만의 고유한 초기화 함수를 지정하려면 WeightsInitializer 속성과 BiasInitializer 속성을 함수 핸들로 설정하십시오. 이러한 속성에 대해, 가중치와 편향의 크기를 입력값으로 받고 초기화된 값을 출력하는 함수 핸들을 지정합니다.

높이와 너비가 5인 필터 32개를 갖는 컨벌루션 계층을 만들고, 표준편차가 0.0001인 가우스 분포에서 가중치와 편향을 샘플링하는 이니셜라이저를 지정합니다.

filterSize = 5;
numFilters = 32;

layer = convolution2dLayer(filterSize,numFilters, ...
    'WeightsInitializer', @(sz) rand(sz) * 0.0001, ...
    'BiasInitializer', @(sz) rand(sz) * 0.0001)
layer = 
  Convolution2DLayer with properties:

              Name: ''

   Hyperparameters
        FilterSize: [5 5]
       NumChannels: 'auto'
        NumFilters: 32
            Stride: [1 1]
    DilationFactor: [1 1]
       PaddingMode: 'manual'
       PaddingSize: [0 0 0 0]
      PaddingValue: 0

   Learnable Parameters
           Weights: []
              Bias: []

Use properties method to see a list of all properties.

이번에도 Weights 속성과 Bias 속성은 비어 있습니다. 이러한 속성은 지정된 초기화 함수를 사용하여 훈련 시점에 초기화됩니다.

가중치와 편향을 직접 지정하기

출력 크기가 10인 완전 연결 계층을 만들고, MAT 파일 Conv2dWeights.mat에서 가중치와 편향을 각각 Wb로 설정합니다.

filterSize = 5;
numFilters = 32;
load Conv2dWeights

layer = convolution2dLayer(filterSize,numFilters, ...
    'Weights',W, ...
    'Bias',b)
layer = 
  Convolution2DLayer with properties:

              Name: ''

   Hyperparameters
        FilterSize: [5 5]
       NumChannels: 3
        NumFilters: 32
            Stride: [1 1]
    DilationFactor: [1 1]
       PaddingMode: 'manual'
       PaddingSize: [0 0 0 0]
      PaddingValue: 0

   Learnable Parameters
           Weights: [5x5x3x32 double]
              Bias: [1x1x32 double]

Use properties method to see a list of all properties.

여기서는 Weights 속성과 Bias 속성에 지정된 값이 포함되어 있습니다. 이러한 속성이 비어 있지 않으면 지정된 값이 훈련 시점에 초기 가중치 및 편향으로 사용됩니다. 이 경우 소프트웨어가 이니셜라이저 함수를 사용하지 않습니다.

입력값의 크기가 28×28×1이라고 가정하겠습니다. 높이가 6이고 너비가 4인 필터 16개를 갖는 컨벌루션 계층을 만듭니다. 가로와 세로 방향의 스트라이드를 4로 설정합니다.

컨벌루션이 입력값을 완전히 덮도록 해야 합니다. 컨벌루션이 입력값을 완전히 덮으려면 가로와 세로 출력 크기가 모두 정수가 되어야 합니다. 가로 출력 크기가 정수가 되기 위해서는 영상의 위와 아래에 채우기 한 행이 필요합니다. (28 – 6+ 2 * 1)/4 + 1 = 7. 세로 출력 크기가 정수가 되기 위해서는 0 채우기가 필요하지 않습니다. (28 – 4+ 2 * 0)/4 + 1 = 7.

컨벌루션 계층을 생성합니다.

layer = convolution2dLayer([6 4],16,'Stride',4,'Padding',[1 0])
layer = 
  Convolution2DLayer with properties:

              Name: ''

   Hyperparameters
        FilterSize: [6 4]
       NumChannels: 'auto'
        NumFilters: 16
            Stride: [4 4]
    DilationFactor: [1 1]
       PaddingMode: 'manual'
       PaddingSize: [1 1 0 0]
      PaddingValue: 0

   Learnable Parameters
           Weights: []
              Bias: []

Use properties method to see a list of all properties.

알고리즘

모두 확장

참고 문헌

[1] LeCun, Y., B. Boser, J. S. Denker, D. Henderson, R. E. Howard, W. Hubbard, and L. D. Jackel. "Handwritten Digit Recognition with a Back-Propagation Network." In Advances in Neural Information Processing Systems 2 (D. Touretzky, ed.). San Francisco: Morgan Kaufmann, 1990.

[2] LeCun, Y., L. Bottou, Y. Bengio, and P. Haffner. ''Gradient-Based Learning Applied to Document Recognition.'' Proceedings of the IEEE. Vol. 86, Number 11, 1998, pp. 2278–2324.

[3] Murphy, K. P. Machine Learning: A Probabilistic Perspective. Cambridge, MA: MIT Press, 2012.

[4] Glorot, Xavier, and Yoshua Bengio. "Understanding the Difficulty of Training Deep Feedforward Neural Networks." In Proceedings of the Thirteenth International Conference on Artificial Intelligence and Statistics, 249–356. Sardinia, Italy: AISTATS, 2010. https://proceedings.mlr.press/v9/glorot10a/glorot10a.pdf

[5] He, Kaiming, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. "Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification." In 2015 IEEE International Conference on Computer Vision (ICCV), 1026–34. Santiago, Chile: IEEE, 2015. https://doi.org/10.1109/ICCV.2015.123

확장 기능

버전 내역

R2016a에 개발됨

모두 확장


1 Image credit: Convolution arithmetic (License)