Main Content

다중 입력 및 다중 출력 신경망

Deep Learning Toolbox™에서는 여러 개의 입력값(예: 여러 소스 및 데이터 유형에 대해 훈련된 신경망) 또는 여러 개의 출력값(예: 분류 응답 변수 및 회귀 응답 변수를 모두 예측하는 신경망)을 갖는 신경망 아키텍처를 정의할 수 있습니다.

다중 입력 신경망

신경망에서 여러 소스의 데이터 또는 다양한 형태의 데이터가 필요한 경우 다중 입력값을 갖는 신경망을 정의합니다. 예를 들어, 여러 센서에서 캡처한 다양한 해상도의 영상 데이터가 필요한 신경망입니다.

훈련

여러 개의 입력값을 갖는 딥러닝 신경망을 정의하고 훈련시키려면 각각 layerGraph 또는 dlnetwork 객체를 사용하여 신경망 아키텍처를 지정하고 trainNetwork 또는 trainnet 함수를 사용하여 훈련시킵니다.

여러 개의 입력 계층이 있는 신경망에 데이터저장소를 사용하려면 combine 함수와 transform 함수를 사용하여 (numInputs + 1개의) 열로 구성된 셀형 배열을 출력하는 데이터저장소를 만듭니다. 여기서 numInputs는 신경망 입력값의 개수입니다. 이 경우 처음 numInputs개의 열은 각 입력값에 대한 예측 변수를 지정하고 마지막 열은 응답 변수를 지정합니다. 입력값의 순서는 계층 그래프 layersInputNames 속성으로 지정됩니다.

영상 입력값과 특징 입력값을 모두 갖는 신경망을 훈련시키는 방법을 보여주는 예제는 영상 데이터와 특징 데이터로 신경망 훈련시키기 항목을 참조하십시오.

신경망이 여러 출력값을 갖는 경우 사용자 지정 훈련 루프를 사용해야 합니다. 자세한 내용은 다중 출력 신경망 항목을 참조하십시오.

예측

여러 개의 입력값을 갖는 훈련된 딥러닝 신경망에서 예측을 수행하려면 predict 함수 또는 classify 함수를 사용하십시오. 다음 중 하나를 사용하여 여러 개의 입력값을 지정합니다.

  • combinedDatastore 객체

  • transformedDatastore 객체

  • 여러 개의 숫자형 배열

다중 출력 신경망

다양한 형식의 여러 응답 변수가 필요한 작업의 경우 다중 출력값을 사용하여 신경망을 정의합니다. 예를 들면 categorical형과 숫자형 출력값이 모두 필요한 작업이 있을 수 있습니다.

훈련

여러 개의 출력값을 갖는 딥러닝 신경망을 훈련시키려면 사용자 지정 훈련 루프를 사용합니다. 예제는 Train Network with Multiple Outputs 항목을 참조하십시오.

예측

모델 함수를 사용하여 예측을 수행하려면 모델 함수와 함께 훈련된 파라미터를 직접 사용합니다. 예제는 Make Predictions Using Model Function 항목을 참조하십시오.

또는 assembleNetwork 함수를 사용하여 모델 함수를 DAGNetwork 객체로 변환합니다. 조합된 신경망을 사용하는 경우 다음을 수행할 수 있습니다.

  • DAGNetwork 객체에 대해 predict 함수를 사용하여 데이터저장소와 같은 다른 데이터형으로 예측을 수행합니다.

  • DAGNetwork 객체에 대해 predict 함수를 사용하여 미니 배치 크기와 같은 예측 옵션을 지정합니다.

  • MAT 파일에 신경망을 저장합니다.

예제는 Assemble Multiple-Output Network for Prediction 항목을 참조하십시오.

참고 항목

|

관련 항목