이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
fullyConnectedLayer
완전 연결 계층
설명
완전 연결 계층은 입력값에 가중치 행렬을 곱한 다음 편향 벡터를 더합니다.
생성
설명
는 완전 연결 계층을 반환하고 layer
= fullyConnectedLayer(outputSize
)OutputSize
속성을 지정합니다.
는 하나 이상의 이름-값 인수를 사용하여 선택적 속성을 설정합니다.layer
= fullyConnectedLayer(outputSize
,Name=Value
)
입력 인수
완전 연결 계층의 출력 크기로, 양의 정수로 지정됩니다.
예: 10
이름-값 인수
선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN
으로 지정합니다. 여기서 Name
은 인수 이름이고 Value
는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.
R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name
을 따옴표로 묶으십시오.
예: fullyConnectedLayer(10,Name="fc1")
은 출력 크기가 10이고 이름이 'fc1'
인 완전 연결 계층을 만듭니다.
가중치를 초기화하는 함수로, 다음 중 하나로 지정됩니다.
"glorot"
– Glorot 이니셜라이저[1](Xavier 이니셜라이저라고도 함)를 사용하여 가중치를 초기화합니다. Glorot 이니셜라이저는 평균이 0이고 분산이2/(InputSize + OutputSize)
인 균등분포에서 독립적으로 샘플링합니다."he"
– He 이니셜라이저[2]를 사용하여 가중치를 초기화합니다. He 이니셜라이저는 평균이 0이고 분산이2/InputSize
인 정규분포에서 샘플링합니다."orthogonal"
– 단위 정규분포에서 샘플링된 확률 행렬 Z에 대한 Z = QR의 QR 분해로 주어지는 직교 행렬 Q를 사용하여 입력 가중치를 초기화합니다. [3]"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
속성으로 지정된 이니셜라이저가 사용됩니다.
훈련 시점에 Weights
는 OutputSize
×InputSize
행렬입니다.
데이터형: single
| double
초기 계층 편향으로, 행렬로 지정됩니다.
계층 편향은 학습 가능한 파라미터입니다. 신경망을 훈련시킬 때 Bias
가 비어 있지 않으면 trainnet
및 trainNetwork
함수는 Bias
속성을 초기값으로 사용합니다. Bias
가 비어 있으면 BiasInitializer
로 지정된 이니셜라이저가 사용됩니다.
훈련 시점에 Bias
는 OutputSize
×1
행렬입니다.
데이터형: single
| double
가중치에 대한 학습률 인자로, 음이 아닌 스칼라로 지정됩니다.
이 인자에 전역 학습률을 곱하여 이 계층의 가중치에 대한 학습률이 결정됩니다. 예를 들어, WeightLearnRateFactor
가 2
인 경우, 이 계층의 가중치에 대한 학습률은 현재 전역 학습률의 2배입니다. trainingOptions
함수를 사용하여 지정한 설정을 기반으로 전역 학습률이 결정됩니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
편향에 대한 학습률 인자로, 음이 아닌 스칼라로 지정됩니다.
이 인자에 전역 학습률을 곱하여 이 계층의 편향에 대한 학습률이 결정됩니다. 예를 들어, BiasLearnRateFactor
가 2
인 경우, 이 계층의 편향에 대한 학습률은 현재 전역 학습률의 2배입니다. trainingOptions
함수를 사용하여 지정한 설정을 기반으로 전역 학습률이 결정됩니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
가중치에 대한 L2 정규화 인자로, 음이 아닌 스칼라로 지정됩니다.
이 인자에 전역 L2 정규화 인자를 곱하여 이 계층의 가중치에 대한 L2 정규화가 결정됩니다. 예를 들어, WeightL2Factor
가 2
인 경우, 이 계층의 가중치에 대한 L2 정규화는 전역 L2 정규화 인자의 2배입니다. 전역 L2 정규화 인자는 trainingOptions
함수를 사용하여 지정할 수 있습니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
편향에 대한 L2 정규화 인자로, 음이 아닌 스칼라로 지정됩니다.
이 인자에 전역 L2 정규화 인자를 곱하여 이 계층의 편향에 대한 L2 정규화가 결정됩니다. 예를 들어, BiasL2Factor
가 2
인 경우, 이 계층의 편향에 대한 L2 정규화는 전역 L2 정규화 인자의 2배입니다. trainingOptions
함수를 사용하여 지정한 설정을 기반으로 전역 L2 정규화 인자가 결정됩니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
속성
완전 연결
완전 연결 계층의 출력 크기로, 양의 정수로 지정됩니다.
예: 10
완전 연결 계층의 입력 크기로, 양의 정수 또는 'auto'
로 지정됩니다. InputSize
가 'auto'
이면 훈련 중에 입력 크기가 자동으로 결정됩니다.
파라미터 및 초기화
가중치를 초기화하는 함수로, 다음 중 하나로 지정됩니다.
"glorot"
– Glorot 이니셜라이저[1](Xavier 이니셜라이저라고도 함)를 사용하여 가중치를 초기화합니다. Glorot 이니셜라이저는 평균이 0이고 분산이2/(InputSize + OutputSize)
인 균등분포에서 독립적으로 샘플링합니다."he"
– He 이니셜라이저[2]를 사용하여 가중치를 초기화합니다. He 이니셜라이저는 평균이 0이고 분산이2/InputSize
인 정규분포에서 샘플링합니다."orthogonal"
– 단위 정규분포에서 샘플링된 확률 행렬 Z에 대한 Z = QR의 QR 분해로 주어지는 직교 행렬 Q를 사용하여 입력 가중치를 초기화합니다. [3]"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
속성이 비어 있는 경우에만 편향을 초기화합니다.
FullyConnectedLayer
객체는 이 속성을 문자형 벡터 또는 함수 핸들로 저장합니다.
데이터형: char
| string
| function_handle
계층 가중치로, 행렬로 지정됩니다.
계층 가중치는 학습 가능한 파라미터입니다. 계층의 Weights
속성을 사용하여 가중치의 초기값을 직접 지정할 수 있습니다. 신경망을 훈련시킬 때 계층의 Weights
속성이 비어 있지 않으면 trainnet
함수는 Weights
속성을 초기값으로 사용합니다. Weights
속성이 비어 있으면 계층의 WeightsInitializer
속성으로 지정된 이니셜라이저가 사용됩니다.
훈련 시점에 Weights
는 OutputSize
×InputSize
행렬입니다.
데이터형: single
| double
계층 편향으로, 행렬로 지정됩니다.
계층 편향은 학습 가능한 파라미터입니다. 신경망을 훈련시킬 때 Bias
가 비어 있지 않으면 trainnet
함수가 Bias
속성을 초기값으로 사용합니다. Bias
가 비어 있으면 BiasInitializer
로 지정된 이니셜라이저가 사용됩니다.
훈련 시점에 Bias
는 OutputSize
×1
행렬입니다.
데이터형: single
| double
학습률 및 정규화
가중치에 대한 학습률 인자로, 음이 아닌 스칼라로 지정됩니다.
이 인자에 전역 학습률을 곱하여 이 계층의 가중치에 대한 학습률이 결정됩니다. 예를 들어, WeightLearnRateFactor
가 2
인 경우, 이 계층의 가중치에 대한 학습률은 현재 전역 학습률의 2배입니다. trainingOptions
함수를 사용하여 지정한 설정을 기반으로 전역 학습률이 결정됩니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
편향에 대한 학습률 인자로, 음이 아닌 스칼라로 지정됩니다.
이 인자에 전역 학습률을 곱하여 이 계층의 편향에 대한 학습률이 결정됩니다. 예를 들어, BiasLearnRateFactor
가 2
인 경우, 이 계층의 편향에 대한 학습률은 현재 전역 학습률의 2배입니다. trainingOptions
함수를 사용하여 지정한 설정을 기반으로 전역 학습률이 결정됩니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
가중치에 대한 L2 정규화 인자로, 음이 아닌 스칼라로 지정됩니다.
이 인자에 전역 L2 정규화 인자를 곱하여 이 계층의 가중치에 대한 L2 정규화가 결정됩니다. 예를 들어, WeightL2Factor
가 2
인 경우, 이 계층의 가중치에 대한 L2 정규화는 전역 L2 정규화 인자의 2배입니다. 전역 L2 정규화 인자는 trainingOptions
함수를 사용하여 지정할 수 있습니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
편향에 대한 L2 정규화 인자로, 음이 아닌 스칼라로 지정됩니다.
이 인자에 전역 L2 정규화 인자를 곱하여 이 계층의 편향에 대한 L2 정규화가 결정됩니다. 예를 들어, BiasL2Factor
가 2
인 경우, 이 계층의 편향에 대한 L2 정규화는 전역 L2 정규화 인자의 2배입니다. trainingOptions
함수를 사용하여 지정한 설정을 기반으로 전역 L2 정규화 인자가 결정됩니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
계층
읽기 전용 속성입니다.
계층에 대한 입력값의 개수로, 1
로 저장됩니다. 이 계층은 단일 입력값만 받습니다.
데이터형: double
읽기 전용 속성입니다.
입력값 이름으로, {'in'}
으로 저장됩니다. 이 계층은 단일 입력값만 받습니다.
데이터형: cell
읽기 전용 속성입니다.
계층의 출력값 개수로, 1
로 저장됩니다. 이 계층은 단일 출력값만 가집니다.
데이터형: double
읽기 전용 속성입니다.
출력값 이름으로, {'out'}
으로 저장됩니다. 이 계층은 단일 출력값만 가집니다.
데이터형: cell
예제
출력 크기가 10이고 이름이 fc1
인 완전 연결 계층을 만듭니다.
layer = fullyConnectedLayer(10,Name="fc1")
layer = FullyConnectedLayer with properties: Name: 'fc1' Hyperparameters InputSize: 'auto' OutputSize: 10 Learnable Parameters Weights: [] Bias: [] Show all properties
Layer
배열에 완전 연결 계층을 포함시킵니다.
layers = [ ...
imageInputLayer([28 28 1])
convolution2dLayer(5,20)
reluLayer
maxPooling2dLayer(2,Stride=2)
fullyConnectedLayer(10)
softmaxLayer]
layers = 6×1 Layer array with layers: 1 '' Image Input 28×28×1 images with 'zerocenter' normalization 2 '' 2-D Convolution 20 5×5 convolutions with stride [1 1] and padding [0 0 0 0] 3 '' ReLU ReLU 4 '' 2-D Max Pooling 2×2 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
속성을 사용하십시오.
초기화 함수 지정하기
출력 크기가 10인 완전 연결 계층을 만들고 가중치 이니셜라이저를 He 이니셜라이저로 지정합니다.
outputSize = 10; layer = fullyConnectedLayer(outputSize,'WeightsInitializer','he')
layer = FullyConnectedLayer with properties: Name: '' Hyperparameters InputSize: 'auto' OutputSize: 10 Learnable Parameters Weights: [] Bias: [] Show all properties
Weights
속성과 Bias
속성은 비어 있는 것을 볼 수 있습니다. 이러한 속성은 지정된 초기화 함수를 사용하여 훈련 시점에 초기화됩니다.
사용자 지정 초기화 함수 지정하기
가중치와 편향에 대해 자신만의 고유한 초기화 함수를 지정하려면 WeightsInitializer
속성과 BiasInitializer
속성을 함수 핸들로 설정하십시오. 이러한 속성에 대해, 가중치와 편향의 크기를 입력값으로 받고 초기화된 값을 출력하는 함수 핸들을 지정합니다.
출력 크기가 10인 완전 연결 계층을 만들고, 표준편차가 0.0001인 가우스 분포에서 가중치와 편향을 샘플링하는 이니셜라이저를 지정합니다.
outputSize = 10; weightsInitializationFcn = @(sz) rand(sz) * 0.0001; biasInitializationFcn = @(sz) rand(sz) * 0.0001; layer = fullyConnectedLayer(outputSize, ... 'WeightsInitializer',@(sz) rand(sz) * 0.0001, ... 'BiasInitializer',@(sz) rand(sz) * 0.0001)
layer = FullyConnectedLayer with properties: Name: '' Hyperparameters InputSize: 'auto' OutputSize: 10 Learnable Parameters Weights: [] Bias: [] Show all properties
이번에도 Weights
속성과 Bias
속성은 비어 있습니다. 이러한 속성은 지정된 초기화 함수를 사용하여 훈련 시점에 초기화됩니다.
가중치와 편향을 직접 지정하기
출력 크기가 10인 완전 연결 계층을 만들고, MAT 파일 FCWeights.mat
에서 가중치와 편향을 각각 W
와 b
로 설정합니다.
outputSize = 10; load FCWeights layer = fullyConnectedLayer(outputSize, ... 'Weights',W, ... 'Bias',b)
layer = FullyConnectedLayer with properties: Name: '' Hyperparameters InputSize: 720 OutputSize: 10 Learnable Parameters Weights: [10×720 double] Bias: [10×1 double] Show all properties
여기서는 Weights
속성과 Bias
속성에 지정된 값이 포함되어 있습니다. 이러한 속성이 비어 있지 않으면 지정된 값이 훈련 시점에 초기 가중치 및 편향으로 사용됩니다. 이 경우 소프트웨어가 이니셜라이저 함수를 사용하지 않습니다.
알고리즘
완전 연결 계층은 입력값에 가중치 행렬을 곱한 다음 편향 벡터를 더합니다.
이름에서 알 수 있듯이 완전 연결 계층의 모든 뉴런은 직전 계층의 모든 뉴런에 연결됩니다. 이 계층은 이전 계층이 영상에서 학습한 특징(국소 정보)들을 조합하여 보다 큰 패턴을 식별합니다. 분류 문제의 경우, 마지막 완전 연결 계층은 특징들을 조합하여 영상을 분류합니다. 이러한 동작으로 인해 신경망의 마지막 완전 연결 계층의 outputSize
인수가 데이터 세트의 클래스 개수와 같게 됩니다. 회귀 문제의 경우, 출력 크기는 응답 변수의 개수와 같아야 합니다.
완전 연결 계층을 만들 때 관련 이름-값 쌍 인수를 사용하여 계층의 학습률과 정규화 파라미터를 조정할 수도 있습니다. 이러한 파라미터를 조정하지 않은 경우, trainingOptions
함수로 정의된 전역 훈련 파라미터가 사용됩니다.
계층의 입력값이 시퀀스인 경우(예: LSTM 신경망), 완전 연결 계층은 각 시간 스텝에서 독립적으로 동작합니다. 예를 들어, 완전 연결 계층의 직전 계층이 크기가 D×N×S인 배열 X를 출력하는 경우, 완전 연결 계층은 크기가 outputSize
×N×S인 배열 Z를 출력합니다. 시간 스텝 t에서 Z의 대응되는 요소는 입니다. 여기서 는 X의 시간 스텝 t를 나타냅니다.
완전 연결 계층이 출력값을 평탄화합니다. 이 계층은 채널 차원에서 공간 데이터를 인코딩하고 출력값의 공간 차원을 제거합니다.
계층 배열 또는 계층 그래프의 계층은 뒤에 오는 계층에 데이터를 전달할 때 형식이 지정된 dlarray
객체로 전달합니다. dlarray
객체의 형식은 문자들로 구성된 문자열로, 각 문자는 데이터의 대응되는 차원을 설명합니다. 형식은 다음 문자 중 하나 이상으로 구성됩니다.
"S"
— 공간"C"
— 채널"B"
— 배치"T"
— 시간"U"
— 지정되지 않음
4차원 배열로 표현되는 2차원 영상 데이터를 예로 들면 처음 2개 차원은 영상의 공간 차원, 3번째 차원은 영상의 채널, 4번째 차원은 배치 차원에 대응되며, "SSCB"
(공간, 공간, 채널, 배치) 형식으로 설명할 수 있습니다.
functionLayer
객체를 사용하여 사용자 지정 계층을 개발하거나, dlnetwork
객체에 forward
및 predict
함수를 사용하는 경우와 같은 자동 미분 워크플로에서 이러한 dlarray
객체와 상호 작용할 수 있습니다.
이 표는 FullyConnectedLayer
객체의 지원되는 입력 형식과 그에 대응되는 출력 형식을 보여줍니다. 계층의 출력이 nnet.layer.Formattable
클래스를 상속하지 않는 사용자 지정 계층에 전달되거나 Formattable
속성을 0
(false
)으로 설정한 FunctionLayer
객체에 전달될 경우 이 계층은 이 표에 나와 있는 형식에 따라 순서가 지정된 차원을 갖는, 형식이 지정되지 않은 dlarray
객체를 수신합니다. 여기에 나와 있는 형식은 일부에 불과합니다. 계층은 다른 형식도 지원할 수 있습니다(예: 추가적인 "S"
(공간) 또는 "U"
(미지정) 차원을 갖는 형식).
입력 형식 | 출력 형식 |
---|---|
|
|
| |
| |
| |
|
|
|
|
| |
| |
|
|
| |
| |
|
|
| |
| |
|
참고 문헌
[1] 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
[2] 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
[3] Saxe, Andrew M., James L. McClelland, and Surya Ganguli. "Exact Solutions to the Nonlinear Dynamics of Learning in Deep Linear Neural Networks.” Preprint, submitted February 19, 2014. https://arxiv.org/abs/1312.6120.
확장 기능
사용법 관련 참고 및 제한 사항:
코드 생성 시 미지정(U) 차원을 가진 dlarray
객체를 이 계층으로 전달하는 것은 지원되지 않습니다.
C/C++ 코드 생성 섹션의 사용법 관련 참고 및 제한 사항을 참조하십시오. GPU 코드 생성에도 동일한 제한 사항이 적용됩니다.
버전 내역
R2016a에 개발됨R2024a부터 DAGNetwork
객체와 SeriesNetwork
객체는 권장되지 않습니다. 대신 dlnetwork
객체를 사용하십시오.
DAGNetwork
객체와 SeriesNetwork
객체에 대한 지원을 제거할 계획은 없습니다. 하지만 다음과 같은 이점이 있는 dlnetwork
객체가 대신 권장됩니다.
dlnetwork
객체는 신경망 구축, 예측, 기본 제공 훈련, 시각화, 압축, 검증 및 사용자 지정 훈련 루프를 지원하는 통합 데이터형입니다.dlnetwork
객체는 외부 플랫폼에서 만들거나 가져올 수 있는 더 넓은 범위의 신경망 아키텍처를 지원합니다.dlnetwork
객체는trainnet
함수에서 지원되기 때문에 손실 함수를 쉽게 지정할 수 있습니다. 내장 손실 함수 중에서 선택하거나 사용자 지정 손실 함수를 지정할 수 있습니다.일반적으로
dlnetwork
객체를 사용한 훈련과 예측이LayerGraph
와trainNetwork
를 사용하는 워크플로보다 더 빠릅니다.
훈련된 DAGNetwork
또는 SeriesNetwork
객체를 dlnetwork
객체로 변환하려면 dag2dlnetwork
함수를 사용하십시오.
완전 연결 계층은 DAGNetwork
객체 및 SeriesNetwork
객체와 비교할 때 dlnetwork
객체에서 약간 다르게 동작합니다. 완전 연결 계층이 출력값을 평탄화합니다. 이 계층은 출력 데이터의 형태를 변경하여 채널 차원에서 공간 데이터를 인코딩합니다. SeriesNetwork
객체와 DAGNetwork
객체의 완전 연결 계층은 크기가 1인 공간 차원을 갖는 데이터를 출력하여 입력값과 같은 개수의 공간 차원을 갖는 데이터를 출력합니다. dlnetwork
객체의 완전 연결 계층은 출력값의 공간 차원을 제거합니다.
R2019a부터, 기본적으로 이 계층의 계층 가중치는 Glorot 이니셜라이저를 사용하여 초기화됩니다. 이 동작은 훈련을 안정화하는 데 도움이 되며, 일반적으로 심층 신경망의 훈련 시간을 줄여 줍니다.
이전 릴리스에서는 기본적으로 계층 가중치가 평균이 0이고 분산이 0.01인 정규분포에서 샘플링하여 초기화되었습니다. 이 동작을 재현하려면 계층의 'WeightsInitializer'
옵션을 'narrow-normal'
로 설정하십시오.
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)