Main Content

Predict

훈련된 딥러닝 신경망을 사용하여 응답 변수 예측

R2020b 이후

  • Predict block

라이브러리:
Deep Learning Toolbox / Deep Neural Networks

설명

Predict 블록은 블록 파라미터를 통해 지정된 훈련된 신경망을 사용하여 입력값에 대한 데이터의 응답 변수를 예측합니다. 이 블록을 사용하면 MAT 파일 또는 MATLAB® 함수에서 사전 훈련된 신경망을 Simulink® 모델에 불러올 수 있습니다.

참고

Predict 블록을 사용하여 Simulink에서 예측을 수행합니다. MATLAB 코드를 사용하여 프로그래밍 방식으로 예측을 수행하려면 minibatchpredict 함수 또는 predict 함수를 사용하십시오.

포트

입력

모두 확장

Predict 블록의 입력 포트는 불러온 신경망의 입력 계층 이름을 받습니다. 예를 들어, MATLAB functionimagePretrainedNetwork를 지정하면 Predict 블록의 입력 포트의 레이블은 data입니다. 불러온 신경망에 따라 Predict 블록에 대한 입력값은 영상, 시퀀스 또는 시계열 데이터일 수 있습니다.

입력값의 레이아웃은 데이터의 유형에 따라 달라집니다.

데이터예측 변수의 레이아웃
2차원 영상h×w×c×N 숫자형 배열로, 여기서 h, w, c는 각각 영상의 높이, 너비, 채널 개수이고 N은 영상 개수입니다.
벡터 시퀀스s×c 행렬로, 여기서 s는 시퀀스 길이이고 c는 시퀀스의 특징 개수입니다.
2차원 영상 시퀀스h×w×c×s 배열. 여기서 h, w, c는 영상의 높이, 너비, 채널 개수이고 s는 시퀀스 길이입니다.
특징numFeatures 숫자형 배열로, 여기서 N은 관측값의 개수이고, numFeatures는 입력 데이터의 특징의 개수입니다.

배열에 NaN이 포함되어 있는 경우, 이 값이 신경망 끝까지 전파됩니다.

출력

모두 확장

Predict 블록의 출력 포트는 불러온 신경망의 출력 계층 이름을 받습니다. 예를 들어, MATLAB functionimagePretrainedNetwork를 지정하면 Predict 블록의 출력 포트에 prob_flatten이라는 레이블이 지정됩니다. 불러온 신경망에 따라 Predict 블록의 출력값은 예측 점수 또는 응답 변수를 나타낼 수 있습니다.

예측 점수 또는 응답 변수는 K×N 배열로 반환됩니다. 여기서 K는 클래스의 개수이고 N은 관측값의 개수입니다.

신경망 계층에 대해 Activations를 활성화하면 Predict 블록이 선택된 신경망 계층의 이름으로 새 출력 포트를 생성합니다. 이 포트는 선택된 신경망 계층의 활성화 결과를 출력합니다.

신경망 계층의 활성화 결과는 숫자형 배열로 반환됩니다. 출력 형식은 입력 데이터의 유형과 계층 출력값의 유형에 따라 달라집니다.

2차원 영상 출력값에 대해, 활성화 결과는 h×w×c×n 배열입니다. 여기서 h, w, c는 선택한 계층 출력값의 높이, 너비, 채널 개수이고, n은 영상 개수입니다.

벡터 데이터를 포함하는 단일 시간 스텝에 대해, 활성화 결과는 c×n 행렬입니다. 여기서 c는 시퀀스에 있는 특징의 개수이고 n은 시퀀스의 개수입니다.

벡터 데이터를 포함하는 다중 시간 스텝에 대해, 활성화 결과는 c×n×s 행렬입니다. 여기서 c는 시퀀스에 있는 특징의 개수이고 n은 시퀀스의 개수이며 s는 시퀀스 길이입니다.

2차원 영상 데이터를 포함하는 단일 시간 스텝에 대해, 활성화 결과는 h×w×c×n 배열입니다. 여기서 n은 시퀀스 개수이고, h, w, c는 각각 영상의 높이, 너비, 채널 개수입니다.

파라미터

모두 확장

훈련된 신경망의 출처를 지정합니다. 다음 중 하나를 선택합니다.

  • MAT 파일에서 가져온 신경망dlnetwork 객체를 포함하는 MAT 파일에서 훈련된 신경망을 가져옵니다.

  • MATLAB 함수에서 가져온 신경망 — MATLAB 함수에서 사전 훈련된 신경망을 가져옵니다. 예를 들어, 사전 훈련된 GoogLeNet을 사용하려면 함수 pretrainedGoogLeNet을 MATLAB M 파일로 만든 다음 이 함수를 가져옵니다.

    function net = pretrainedGoogLeNet
      net = imagePretrainedNetwork("googlenet");
    end

프로그래밍 방식 사용

블록 파라미터: Network
유형: 문자형 벡터, string형
값: 'Network from MAT-file' | 'Network from MATLAB function'
디폴트 값: 'Network from MAT-file'

이 파라미터는 불러올 훈련된 딥러닝 신경망을 포함하는 MAT 파일의 이름을 지정합니다. 파일이 MATLAB 경로에 있지 않으면 찾아보기 버튼을 사용하여 파일을 찾습니다.

종속 관계

이 파라미터를 활성화하려면 신경망 파라미터를 MAT 파일에서 가져온 신경망으로 설정하십시오.

프로그래밍 방식 사용

블록 파라미터: NetworkFilePath
유형: 문자형 벡터, string형
값: MAT 파일 경로 또는 이름
디폴트 값: 'untitled.mat'

이 파라미터는 사전 훈련된 딥러닝 신경망의 MATLAB 함수 이름을 지정합니다. 예를 들어, 사전 훈련된 GoogLeNet을 사용하려면 함수 pretrainedGoogLeNet을 MATLAB M 파일로 만든 다음 이 함수를 가져옵니다.

function net = pretrainedGoogLeNet
  net = imagePretrainedNetwork("googlenet");
end

종속 관계

이 파라미터를 활성화하려면 신경망 파라미터를 MATLAB 함수에서 가져온 신경망으로 설정하십시오.

프로그래밍 방식 사용

블록 파라미터: NetworkFunction
유형: 문자형 벡터, string형
값: MATLAB 함수 이름
디폴트 값: 'squeezenet'

예측에 사용할 미니 배치의 크기로, 양의 정수로 지정됩니다. 미니 배치가 클수록 메모리가 더 많이 필요하지만 예측 속도는 빨라질 수 있습니다.

프로그래밍 방식 사용

블록 파라미터: MiniBatchSize
유형: 문자형 벡터, string형
값: 양의 정수
디폴트 값: '128'

예측 점수 또는 응답 변수를 반환하는 출력 포트를 활성화합니다.

프로그래밍 방식 사용

블록 파라미터: Predictions
유형: 문자형 벡터, string형
값: 'off' | 'on'
디폴트 값: 'on'

이 파라미터는 훈련된 dlnetwork에 필요한 입력 데이터 형식을 지정합니다.

데이터 형식으로, string형 스칼라 또는 문자형 벡터로 지정됩니다. 문자열의 각 문자는 다음 차원 레이블 중 하나여야 합니다.

  • "S" — 공간

  • "C" — 채널

  • "B" — 배치

  • "T" — 시간

  • "U" — 지정되지 않음

예를 들어, 첫 번째, 두 번째, 세 번째 차원이 각각 채널, 관측값, 시간 스텝에 대응되는 시퀀스 배치를 포함하는 배열의 경우 "CBT" 형식을 갖도록 지정할 수 있습니다.

"S" 또는 "U" 레이블의 차원은 여러 개 지정할 수 있습니다. 레이블 "C", "B", "T"는 최대 한 번만 사용할 수 있습니다. 두 번째 차원 뒤의 한원소 후행 "U" 차원은 무시됩니다.

자세한 내용은 Deep Learning Data Formats 항목을 참조하십시오.

기본적으로 이 파라미터는 신경망이 요구하는 데이터 형식을 사용합니다.

종속 관계

이 파라미터를 활성화하려면 신경망 파라미터를 MAT 파일에서 가져온 신경망으로 설정하여 MAT 파일에서 훈련된 dlnetwork 객체를 가져오십시오.

프로그래밍 방식 사용

블록 파라미터: InputDataFormats
유형: 문자형 벡터, string형
값: 하나 이상의 입력값이 있는 신경망의 경우 "{'inputlayerName1', 'SSC'; 'inputlayerName2', 'SSCB'; ...}" 형식의 텍스트를 지정합니다. 입력 계층이 없고 입력 포트가 여러 개인 신경망의 경우 "{'inputportName1/inport1, 'SSC'; 'inputportName2/inport2, 'SSCB'; ...}" 형식의 텍스트를 지정합니다.
디폴트 값: 신경망이 요구하는 데이터 형식. 자세한 내용은 Deep Learning Data Formats 항목을 참조하십시오.

활성화 목록을 사용하여 특징을 추출할 계층을 선택합니다. 선택한 계층이 Predict 블록의 출력 포트로 표시됩니다.

프로그래밍 방식 사용

블록 파라미터: Activations
유형: 문자형 벡터, string형
값: '{'layerName1',layerName2',...}' 형식의 문자형 벡터
디폴트 값: ''

확장 기능

버전 내역

R2020b에 개발됨

모두 확장