주요 콘텐츠

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를 사용하십시오.

예: [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는 정규화된 데이터입니다.

이 계층은 복소수 값 데이터를 지원합니다. (R2024a 이후) 복소수 값 데이터를 신경망에 입력하려면 Normalization 옵션이 "zerocenter", "zscore", "none" 또는 함수 핸들이어야 합니다.

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

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

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

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

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

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

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

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

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

Mean 속성을 지정하려면 Normalization 속성이 "zerocenter" 또는 "zscore"이어야 합니다. Mean[]이면 훈련 시점이나 초기화 시점에 속성이 자동으로 설정됩니다.

  • trainnet 함수는 훈련 데이터를 사용하여 평균을 계산하고 결과 값을 사용합니다.

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

R2024a 이전: 이 옵션은 복소수 값 데이터를 지원하지 않습니다.

데이터형: 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[]이면 훈련 시점이나 초기화 시점에 속성이 자동으로 설정됩니다.

  • trainnet 함수는 훈련 데이터를 사용하여 표준편차를 계산하고 결과 값을 사용합니다.

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

R2024a 이전: 이 옵션은 복소수 값 데이터를 지원하지 않습니다.

데이터형: 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[]이면 훈련 시점이나 초기화 시점에 속성이 자동으로 설정됩니다.

  • trainnet 함수는 훈련 데이터를 사용하여 최솟값을 계산하고 결과 값을 사용합니다.

  • Initialize 옵션이 1(true)인 경우 initialize 함수와 dlnetwork 함수는 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[]이면 훈련 시점이나 초기화 시점에 속성이 자동으로 설정됩니다.

  • trainnet 함수는 훈련 데이터를 사용하여 최댓값을 계산하고 결과 값을 사용합니다.

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

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

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

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

데이터형: char | string

속성

모두 확장

3차원 영상 입력

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

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

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

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

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

예: [132 132 116 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는 정규화된 데이터입니다.

이 계층은 복소수 값 데이터를 지원합니다. (R2024a 이후) 복소수 값 데이터를 신경망에 입력하려면 Normalization 옵션이 "zerocenter", "zscore", "none" 또는 함수 핸들이어야 합니다.

기본적으로 trainnet 함수를 사용할 때 자동으로 정규화 통계량이 계산됩니다. 훈련 중에 시간을 절약하려면 정규화에 필요한 통계량을 지정하고 trainingOptionsResetInputNormalization 옵션을 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[]이면 훈련 시점이나 초기화 시점에 속성이 자동으로 설정됩니다.

  • trainnet 함수는 훈련 데이터를 사용하여 평균을 계산하고 결과 값을 사용합니다.

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

R2024a 이전: 이 옵션은 복소수 값 데이터를 지원하지 않습니다.

데이터형: 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[]이면 훈련 시점이나 초기화 시점에 속성이 자동으로 설정됩니다.

  • trainnet 함수는 훈련 데이터를 사용하여 표준편차를 계산하고 결과 값을 사용합니다.

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

R2024a 이전: 이 옵션은 복소수 값 데이터를 지원하지 않습니다.

데이터형: 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[]이면 훈련 시점이나 초기화 시점에 속성이 자동으로 설정됩니다.

  • trainnet 함수는 훈련 데이터를 사용하여 최솟값을 계산하고 결과 값을 사용합니다.

  • Initialize 옵션이 1(true)인 경우 initialize 함수와 dlnetwork 함수는 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[]이면 훈련 시점이나 초기화 시점에 속성이 자동으로 설정됩니다.

  • trainnet 함수는 훈련 데이터를 사용하여 최댓값을 계산하고 결과 값을 사용합니다.

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

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

계층

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

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

데이터형: char | string

읽기 전용 속성입니다.

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

데이터형: 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   10 fully connected layer
     6   ''   Softmax           softmax

알고리즘

모두 확장

버전 내역

R2019a에 개발됨

모두 확장