dlnetwork
딥러닝 신경망
설명
dlnetwork
객체는 딥러닝 신경망 아키텍처를 지정합니다.
팁
대부분의 딥러닝 작업의 경우, 사전 훈련된 신경망을 사용하고 이를 사용자 자신의 데이터에 맞게 적응시킬 수 있습니다. 새로운 영상 세트를 분류할 수 있도록 전이 학습을 사용하여 컨벌루션 신경망을 다시 훈련시키는 방법을 보여주는 예제는 Retrain Neural Network to Classify New Images 항목을 참조하십시오. 또는 trainnet
함수와 trainingOptions
함수를 사용하여 신경망을 처음부터 만들고 훈련시킬 수 있습니다.
trainingOptions
함수가 작업에 필요한 훈련 옵션을 제공하지 않는다면 자동 미분을 사용하여 사용자 지정 훈련 루프를 만들 수 있습니다. 자세한 내용은 사용자 지정 훈련 루프를 사용하여 신경망 훈련시키기 항목을 참조하십시오.
trainnet
함수가 작업에 필요한 손실 함수를 제공하지 않는다면 사용자 지정 손실 함수를 trainnet
에 함수 핸들로 지정할 수 있습니다. 예측값과 목표값보다 더 많은 입력값이 필요한 손실 함수(예: 신경망 또는 추가 입력값에 액세스해야 하는 손실 함수)의 경우 사용자 지정 훈련 루프를 사용하여 모델을 훈련시킵니다. 자세한 내용은 사용자 지정 훈련 루프를 사용하여 신경망 훈련시키기 항목을 참조하십시오.
Deep Learning Toolbox™가 작업에 필요한 계층을 제공하지 않는다면 사용자 지정 계층을 만들 수 있습니다. 자세한 내용은 사용자 지정 딥러닝 계층 정의하기 항목을 참조하십시오. 계층 신경망으로 지정할 수 없는 모델의 경우 모델을 함수로 정의할 수 있습니다. 자세한 내용은 Train Network Using Model Function 항목을 참조하십시오.
어느 훈련 방법을 어느 작업에 사용해야 하는지에 대한 자세한 내용은 Train Deep Learning Model in MATLAB 항목을 참조하십시오.
생성
구문
설명
빈 신경망
는 계층이 없는 net
= dlnetworkdlnetwork
객체를 만듭니다. 신경망을 처음부터 만들려면 이 구문을 사용하십시오. (R2024a 이후)
입력 계층이 있는 신경망
는 지정된 계층을 사용하여 신경망을 만들고 설정되지 않은 학습 가능한 파라미터와 상태 파라미터를 초기화합니다. 이 구문은 net
= dlnetwork(layers
)layers
의 입력 계층을 사용하여 신경망의 학습 가능한 파라미터와 상태 파라미터의 크기와 형식을 결정합니다.
layers
가 완전한 단일 입력 신경망을 정의하고 계층이 직렬로 배열되어 있으며 입력 계층이 있는 경우, 이 구문을 사용하십시오.
는 net
= dlnetwork(layers
,OutputNames=names)OutputNames
속성도 설정합니다. OutputNames
속성은 계층을 지정하거나, 신경망 출력값에 대응하는 계층 출력값을 지정합니다.
layers
가 완전한 단일 입력 다중 출력 신경망을 정의하고 계층이 직렬로 배열되어 있으며 입력 계층이 있는 경우, 이 구문을 사용하십시오.
미연결 입력이 있는 신경망
는 net
= dlnetwork(layers
,X1,...,XN
,OutputNames=names)OutputNames
속성도 설정합니다.
layers
가 완전한 신경망을 정의하고 여러 개의 출력값을 가지며 계층이 직렬로 배열되어 있고 입력 계층과 연결되지 않은 입력이 있는 경우, 이 구문을 사용하십시오.
변환
은 net
= dlnetwork(prunableNet
) prunableNet
의 컨벌루션 계층에서 가지치기를 하기 위해 선택된 필터를 제거하여 TaylorPrunableNetwork
를 dlnetwork
객체로 변환한 다음, 학습 가능한 파라미터가 적고 크기가 더 작은 압축된 dlnetwork
객체를 반환합니다.
은 Statistics and Machine Learning Toolbox™ 머신러닝 모델을 net
= dlnetwork(mdl
)dlnetwork
객체로 변환합니다.
입력 인수
속성
객체 함수
addInputLayer | Add input layer to network |
addLayers | 신경망에 계층 추가하기 |
removeLayers | 신경망에서 계층 제거 |
connectLayers | 신경망에서 계층 연결하기 |
disconnectLayers | 신경망에서 계층 연결 끊기 |
replaceLayer | Replace layer in neural network |
getLayer | Look up a layer by name or path |
expandLayers | Expand network layers |
groupLayers | Group layers into network layers |
summary | 신경망 요약 출력 |
plot | 신경망 아키텍처 플로팅 |
initialize | Initialize learnable and state parameters of neural network |
predict | Compute deep learning network output for inference |
forward | Compute deep learning network output for training |
resetState | 신경망의 상태 파라미터 재설정 |
setL2Factor | 계층의 학습 가능한 파라미터의 L2 정규화 인자 설정 |
setLearnRateFactor | 계층의 학습 가능한 파라미터에 대한 학습률 인자 설정 |
getLearnRateFactor | 계층의 학습 가능한 파라미터에 대한 학습률 인자 가져오기 |
getL2Factor | 계층의 학습 가능한 파라미터의 L2 정규화 인자 가져오기 |