주요 콘텐츠

image3dInputLayer

3차원 영상 입력 계층

설명

3차원 영상 입력 계층은 신경망에 3차원 영상 또는 3차원 볼륨을 입력하고 데이터 정규화를 적용합니다.

2차원 영상 입력의 경우 imageInputLayer를 사용하십시오.

생성

설명

layer = image3dInputLayer(inputSize)는 3차원 영상 입력 계층을 반환하고 InputSize 속성을 지정합니다.

layer = image3dInputLayer(inputSize,Name=Value)는 하나 이상의 이름-값 인수를 사용하여 추가 옵션을 설정합니다.

예제

입력 인수

모두 확장

입력 데이터의 크기로, 정수로 이루어진 행 벡터 [h w d c]로 지정됩니다. 여기서 h, w, d, c는 각각 높이, 너비, 깊이 및 채널 개수입니다.

  • 회색조 입력의 경우 c1인 벡터를 지정하십시오.

  • RGB 입력의 경우 c3인 벡터를 지정하십시오.

  • 다중분광 입력이나 초분광 입력의 경우 c가 채널 개수인 벡터를 지정하십시오.

2차원 영상 입력의 경우 imageInputLayer를 사용하십시오.

이 인수는 InputSize 속성을 설정합니다.

예: [132 132 116 3]

이름-값 인수

모두 확장

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

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

예: image3dInputLayer([132 132 116 3],Name="input")은 132×132×116 컬러 3차원 영상을 위해 이름이 "input"인 3차원 영상 입력 계층을 만듭니다.

데이터가 입력 계층을 통과하여 순방향으로 전파될 때마다 적용할 데이터 정규화로, 다음 값 중 하나로 지정됩니다.

  • "zerocenter"Mean으로 지정된 평균값을 뺍니다.

  • "zscore"Mean으로 지정된 평균값을 빼고 StandardDeviation으로 나눕니다.

  • "rescale-symmetric"Min으로 지정된 최솟값과 Max로 지정된 최댓값을 사용하여 입력값이 [-1, 1] 범위 내에 오도록 다시 스케일링합니다.

  • "rescale-zero-one"Min으로 지정된 최솟값과 Max로 지정된 최댓값을 사용하여 입력값이 [0, 1] 범위 내에 오도록 다시 스케일링합니다.

  • "none" — 입력 데이터를 정규화하지 않습니다.

  • 함수 핸들 — 지정된 함수를 사용하여 데이터를 정규화합니다. 함수는 Y = f(X) 형식이 되어야 합니다. 여기서 X는 입력 데이터이고 출력값 Y는 정규화된 데이터입니다.

입력 데이터가 복소수 값이고 SplitComplexInputs 속성이 0(false)인 경우 Normalization 속성은 "zerocenter", "zscore", "none" 또는 함수 핸들이어야 합니다. (R2024a 이후)

R2024a 이전: 복소수 값 데이터를 신경망에 입력하려면 SplitComplexInputs 속성이 1(true)이어야 합니다.

기본적으로 trainnet 함수를 사용할 때 자동으로 정규화 통계량이 계산됩니다. 훈련 중에 시간을 절약하려면 정규화에 필요한 통계량을 지정하고 trainingOptions 함수의 ResetInputNormalization 인수를 0(false)으로 설정하십시오.

이 인수는 Normalization 속성을 설정합니다.

데이터형: char | string | function_handle

정규화 차원으로, 다음 값 중 하나로 지정됩니다.

  • "auto"ResetInputNormalization 훈련 옵션이 0(false)이고 정규화 통계량 중 하나(Mean, StandardDeviation, Min 또는 Max)를 지정한 경우, 통계량과 일치하는 차원에 대해 정규화합니다. 그렇지 않은 경우, 훈련 시점에 통계량을 다시 계산하고 채널별 정규화를 적용합니다.

  • "channel" — 채널별 정규화.

  • "element" — 요소별 정규화.

  • "all" — 스칼라 통계량을 사용하여 모든 값을 정규화합니다.

이 인수는 NormalizationDimension 속성을 설정합니다.

중심 0 및 z-점수 정규화에서의 평균값으로, h×w×d×c 배열, 채널당 평균값으로 구성된 1×1×1×c 배열, 숫자형 스칼라 또는 []로 지정됩니다. 여기서 h, w, d, c는 각각 평균값의 높이, 너비, 깊이, 채널 개수입니다.

Mean 속성을 지정하려면 Normalization 속성값이 "zerocenter" 또는 "zscore"여야 합니다.

Mean[]이면 초기화 시점에 속성값이 업데이트됩니다.

  • initialize 함수는 속성값을 0으로 설정합니다.

  • dlnetwork 함수를 사용하고 Initialize 이름-값 인수 값이 1(true)이면, 속성값이 0으로 설정됩니다.

  • trainnet 함수를 사용하고 ResetInputNormalization 훈련 옵션 값이 1(true)이면, 훈련 데이터를 사용하여 평균이 계산되고 결과 값이 사용됩니다.

  • trainnet 함수를 사용하고 ResetInputNormalization 훈련 옵션 값이 0(false)이면, 속성값이 0으로 설정됩니다.

Mean은 복소수 값일 수 있습니다 (R2024a 이후). Mean이 복소수 값이면 SplitComplexInputs 속성값은 0(false)이어야 합니다.

R2024a 이전: SplitComplexInputs 속성값을 1(true)로 설정하여 평균을 실수부와 허수부로 분할하고 입력 데이터를 실수부와 허수부로 분할할 수 있습니다.

이 인수는 Mean 속성을 설정합니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
복소수 지원 여부:

z-점수 정규화에서의 표준편차로, h×w×d×c 배열, 채널당 평균값으로 구성된 1×1×1×c 배열, 숫자형 스칼라 또는 []로 지정됩니다. 여기서 h, w, d, c는 각각 표준편차의 높이, 너비, 깊이, 채널 개수입니다.

StandardDeviation 속성을 지정하려면 Normalization 속성이 "zscore"이어야 합니다.

StandardDeviation[]이면 초기화 시점에 속성이 업데이트됩니다.

  • initialize 함수와 dlnetwork 함수는 Initialize 옵션이 1(true)인 경우 속성을 1로 설정합니다.

  • trainnet 함수를 사용하고 ResetInputNormalization 훈련 옵션 값이 1(true)이면, 훈련 데이터를 사용하여 표준편차가 계산되고 결과 값이 사용됩니다.

  • trainnet 함수를 사용하고 ResetInputNormalization 훈련 옵션 값이 0(false)이면, 속성이 1로 설정됩니다.

이 인수는 StandardDeviation 속성을 설정합니다.

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

다시 스케일링하기 위한 최솟값으로, h×w×d×c 배열, 채널당 최솟값으로 구성된 1×1×1×c 배열, 숫자형 스칼라 또는 []로 지정됩니다. 여기서 h, w, d, c는 각각 국소 최솟값의 높이, 너비, 깊이, 채널 개수입니다.

Min 속성을 지정하려면 Normalization"rescale-symmetric" 또는 "rescale-zero-one"이어야 합니다.

Min[]이면 초기화 시점에 속성이 업데이트됩니다.

  • Initialize 옵션이 1(true)인 경우 initialize 함수와 dlnetwork 함수는 Normalization"rescale-symmetric""rescale-zero-one"일 때 속성을 각각 -10으로 설정합니다.

  • trainnet 함수를 사용하고 ResetInputNormalization 훈련 옵션 값이 1(true)이면, 훈련 데이터를 사용하여 최솟값이 계산되고 결과 값이 사용됩니다.

  • trainnet 함수를 사용하고 ResetInputNormalization 훈련 옵션 값이 0(false)이면, Normalization"rescale-symmetric""rescale-zero-one"일 때 속성은 각각 -10으로 설정됩니다.

이 인수는 Min 속성을 설정합니다.

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

다시 스케일링하기 위한 최댓값으로, h×w×d×c 배열, 채널당 최댓값으로 구성된 1×1×1×c 배열, 숫자형 스칼라 또는 []로 지정됩니다. 여기서 h, w, d, c는 각각 최댓값의 높이, 너비, 깊이, 채널 개수입니다.

Max 속성을 지정하려면 Normalization"rescale-symmetric" 또는 "rescale-zero-one"이어야 합니다.

Max[]이면 초기화 시점에 속성이 업데이트됩니다.

  • initialize 함수와 dlnetwork 함수는 Initialize 옵션이 1(true)인 경우 속성을 1로 설정합니다.

  • trainnet 함수를 사용하고 ResetInputNormalization 훈련 옵션 값이 1(true)이면, 훈련 데이터를 사용하여 최댓값이 계산되고 결과 값이 사용됩니다.

  • trainnet 함수를 사용하고 ResetInputNormalization 훈련 옵션 값이 0(false)이면, 속성이 1로 설정됩니다.

이 인수는 Max 속성을 설정합니다.

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

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

이 인수는 Name 속성을 설정합니다.

데이터형: char | string

속성

모두 확장

3차원 영상 입력

이 속성은 객체 생성 후에는 읽기 전용입니다. 이 속성을 설정하려면 Image3DInputLayer 객체를 만들 때 대응되는 위치 입력값 인수를 사용하십시오.

입력 데이터의 크기로, 정수로 이루어진 행 벡터 [h w d c]로 지정됩니다. 여기서 h, w, d, c는 각각 높이, 너비, 깊이 및 채널 개수입니다.

  • 회색조 입력의 경우 c1인 벡터를 지정하십시오.

  • RGB 입력의 경우 c3인 벡터를 지정하십시오.

  • 다중분광 입력이나 초분광 입력의 경우 c가 채널 개수인 벡터를 지정하십시오.

예: [132 132 116 3]

이 속성은 객체 생성 후에는 읽기 전용입니다. 이 속성을 설정하려면 Image3DInputLayer 객체를 만들 때 대응되는 이름-값 인수를 사용하십시오.

데이터가 입력 계층을 통과하여 순방향으로 전파될 때마다 적용할 데이터 정규화로, 다음 값 중 하나로 지정됩니다.

  • "zerocenter"Mean으로 지정된 평균값을 뺍니다.

  • "zscore"Mean으로 지정된 평균값을 빼고 StandardDeviation으로 나눕니다.

  • "rescale-symmetric"Min으로 지정된 최솟값과 Max로 지정된 최댓값을 사용하여 입력값이 [-1, 1] 범위 내에 오도록 다시 스케일링합니다.

  • "rescale-zero-one"Min으로 지정된 최솟값과 Max로 지정된 최댓값을 사용하여 입력값이 [0, 1] 범위 내에 오도록 다시 스케일링합니다.

  • "none" — 입력 데이터를 정규화하지 않습니다.

  • 함수 핸들 — 지정된 함수를 사용하여 데이터를 정규화합니다. 함수는 Y = f(X) 형식이 되어야 합니다. 여기서 X는 입력 데이터이고 출력값 Y는 정규화된 데이터입니다.

입력 데이터가 복소수 값이고 SplitComplexInputs 속성이 0(false)인 경우 Normalization 속성은 "zerocenter", "zscore", "none" 또는 함수 핸들이어야 합니다. (R2024a 이후)

R2024a 이전: 복소수 값 데이터를 신경망에 입력하려면 SplitComplexInputs 속성이 1(true)이어야 합니다.

기본적으로 trainnet 함수를 사용할 때 자동으로 정규화 통계량이 계산됩니다. 훈련 중에 시간을 절약하려면 정규화에 필요한 통계량을 지정하고 trainingOptions 함수의 ResetInputNormalization 인수를 0(false)으로 설정하십시오.

Image3DInputLayer 객체는 이 속성을 문자형 벡터 또는 함수 핸들로 저장합니다.

정규화 차원으로, 다음 값 중 하나로 지정됩니다.

  • "auto"ResetInputNormalization 훈련 옵션이 0(false)이고 정규화 통계량 중 하나(Mean, StandardDeviation, Min 또는 Max)를 지정한 경우, 통계량과 일치하는 차원에 대해 정규화합니다. 그렇지 않은 경우, 훈련 시점에 통계량을 다시 계산하고 채널별 정규화를 적용합니다.

  • "channel" — 채널별 정규화.

  • "element" — 요소별 정규화.

  • "all" — 스칼라 통계량을 사용하여 모든 값을 정규화합니다.

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

중심 0 및 z-점수 정규화에서의 평균값으로, h×w×d×c 배열, 채널당 평균값으로 구성된 1×1×1×c 배열, 숫자형 스칼라 또는 []로 지정됩니다. 여기서 h, w, d, c는 각각 평균값의 높이, 너비, 깊이, 채널 개수입니다.

Mean 속성을 지정하려면 Normalization 속성값이 "zerocenter" 또는 "zscore"여야 합니다.

Mean[]이면 초기화 시점에 속성값이 업데이트됩니다.

  • initialize 함수는 속성값을 0으로 설정합니다.

  • dlnetwork 함수를 사용하고 Initialize 이름-값 인수 값이 1(true)이면, 속성값이 0으로 설정됩니다.

  • trainnet 함수를 사용하고 ResetInputNormalization 훈련 옵션 값이 1(true)이면, 훈련 데이터를 사용하여 평균이 계산되고 결과 값이 사용됩니다.

  • trainnet 함수를 사용하고 ResetInputNormalization 훈련 옵션 값이 0(false)이면, 속성값이 0으로 설정됩니다.

Mean은 복소수 값일 수 있습니다 (R2024a 이후). Mean이 복소수 값이면 SplitComplexInputs 속성값은 0(false)이어야 합니다.

R2024a 이전: SplitComplexInputs 속성값을 1(true)로 설정하여 평균을 실수부와 허수부로 분할하고 입력 데이터를 실수부와 허수부로 분할할 수 있습니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
복소수 지원 여부:

z-점수 정규화에서의 표준편차로, h×w×d×c 배열, 채널당 평균값으로 구성된 1×1×1×c 배열, 숫자형 스칼라 또는 []로 지정됩니다. 여기서 h, w, d, c는 각각 표준편차의 높이, 너비, 깊이, 채널 개수입니다.

StandardDeviation 속성을 지정하려면 Normalization 속성이 "zscore"이어야 합니다.

StandardDeviation[]이면 초기화 시점에 속성이 업데이트됩니다.

  • initialize 함수와 dlnetwork 함수는 Initialize 옵션이 1(true)인 경우 속성을 1로 설정합니다.

  • trainnet 함수를 사용하고 ResetInputNormalization 훈련 옵션 값이 1(true)이면, 훈련 데이터를 사용하여 표준편차가 계산되고 결과 값이 사용됩니다.

  • trainnet 함수를 사용하고 ResetInputNormalization 훈련 옵션 값이 0(false)이면, 속성이 1로 설정됩니다.

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

다시 스케일링하기 위한 최솟값으로, h×w×d×c 배열, 채널당 최솟값으로 구성된 1×1×1×c 배열, 숫자형 스칼라 또는 []로 지정됩니다. 여기서 h, w, d, c는 각각 국소 최솟값의 높이, 너비, 깊이, 채널 개수입니다.

Min 속성을 지정하려면 Normalization"rescale-symmetric" 또는 "rescale-zero-one"이어야 합니다.

Min[]이면 초기화 시점에 속성이 업데이트됩니다.

  • Initialize 옵션이 1(true)인 경우 initialize 함수와 dlnetwork 함수는 Normalization"rescale-symmetric""rescale-zero-one"일 때 속성을 각각 -10으로 설정합니다.

  • trainnet 함수를 사용하고 ResetInputNormalization 훈련 옵션 값이 1(true)이면, 훈련 데이터를 사용하여 최솟값이 계산되고 결과 값이 사용됩니다.

  • trainnet 함수를 사용하고 ResetInputNormalization 훈련 옵션 값이 0(false)이면, Normalization"rescale-symmetric""rescale-zero-one"일 때 속성은 각각 -10으로 설정됩니다.

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

다시 스케일링하기 위한 최댓값으로, h×w×d×c 배열, 채널당 최댓값으로 구성된 1×1×1×c 배열, 숫자형 스칼라 또는 []로 지정됩니다. 여기서 h, w, d, c는 각각 최댓값의 높이, 너비, 깊이, 채널 개수입니다.

Max 속성을 지정하려면 Normalization"rescale-symmetric" 또는 "rescale-zero-one"이어야 합니다.

Max[]이면 초기화 시점에 속성이 업데이트됩니다.

  • initialize 함수와 dlnetwork 함수는 Initialize 옵션이 1(true)인 경우 속성을 1로 설정합니다.

  • trainnet 함수를 사용하고 ResetInputNormalization 훈련 옵션 값이 1(true)이면, 훈련 데이터를 사용하여 최댓값이 계산되고 결과 값이 사용됩니다.

  • trainnet 함수를 사용하고 ResetInputNormalization 훈련 옵션 값이 0(false)이면, 속성이 1로 설정됩니다.

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

계층

계층 이름으로, 문자형 벡터로 지정됩니다. Layer 배열 입력값에 대해 trainnetdlnetwork 함수는 이름이 지정되지 않은 계층에 자동으로 이름을 할당합니다.

데이터형: char

읽기 전용 속성입니다.

계층의 입력값 개수. 이 계층에는 입력값이 없습니다.

데이터형: double

읽기 전용 속성입니다.

계층의 입력값 이름. 이 계층에는 입력값이 없습니다.

데이터형: cell

읽기 전용 속성입니다.

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

데이터형: double

읽기 전용 속성입니다.

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

데이터형: cell

예제

모두 축소

132×132×116 컬러 3차원 영상을 위해 3차원 영상 입력 계층을 만듭니다.

layer = image3dInputLayer([132 132 116])
layer = 
  Image3DInputLayer with properties:

                      Name: ''
                 InputSize: [132 132 116 1]

   Hyperparameters
             Normalization: 'zerocenter'
    NormalizationDimension: 'auto'
                      Mean: []

Layer 배열에 3차원 영상 입력 계층을 포함합니다.

layers = [
    image3dInputLayer([28 28 28 3])
    convolution3dLayer(5,16,Stride=4)
    reluLayer
    maxPooling3dLayer(2,Stride=4)
    fullyConnectedLayer(10)
    softmaxLayer]
layers = 
  6×1 Layer array with layers:

     1   ''   3-D Image Input   28×28×28×3 images with 'zerocenter' normalization
     2   ''   3-D Convolution   16 5×5×5 convolutions with stride [4  4  4] and padding [0  0  0; 0  0  0]
     3   ''   ReLU              ReLU
     4   ''   3-D Max Pooling   2×2×2 max pooling with stride [4  4  4] and padding [0  0  0; 0  0  0]
     5   ''   Fully Connected   Fully connected layer with output size 10
     6   ''   Softmax           Softmax

알고리즘

모두 확장

버전 내역

R2019a에 개발됨

모두 확장