Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

激活

딥러닝 신경망 계층 활성화 계산

설명

CPU 또는 GPU에서 딥러닝 신경망 계층 활성화를 계산할 수 있습니다.GPU를사용하려면并行计算工具箱™와지원되는gpu장치가필요필요。지원되는장치에대한자세한내용은릴리스별 GPU 지원(Parallel Computing Toolbox)항목을참조하십시오。하드웨어 요구 사항은ExecutionEnvironment이름-값 쌍 인수를 사용하여 지정하십시오.

act= activations(,imds,layer)는 훈련된 신경망과영상데이터저장소imds의 영상 데이터를 사용하여 특정 계층에 대한 신경망의 활성화 결과를 반환합니다.

act= activations(,ds,layer)는데이터저장소ds의 데이터를 사용하여 신경망 활성화 결과를 반환합니다.

act= activations(,X,layer)는 숫자형 배열X의 영상 또는 특징 데이터를 사용하여 신경망 활성화 결과를 반환합니다.

act= activations(,X1,...,XN)은 다중 입력값 신경망에 대해 숫자형 배열X1, ...,XN의 데이터에 대한 신경망 활성화 결과를 반환합니다. 입력값Xi는신경망입력값net.inputnames(i)에대응됩니다。

act= activations(,序列,layer)는 순환 신경망(예: LSTM 또는 GRU 신경망)에 대해 신경망 활성화 결과를 반환합니다. 여기서序列는 시퀀스 또는 시계열 예측 변수를 포함합니다.

act= activations(,tbl,layer)는 테이블tbl의 데이터를 사용하여 신경망 활성화 결과를 반환합니다.

예제

act= activations(___,Name,Value)는 하나 이상의 이름-값 쌍 인수로 지정된 추가 옵션을 사용하여 신경망 활성화 결과를 반환합니다. 예를 들어,'outputas','行'는 활성화 출력 형식을'rows'로 지정합니다. 이름-값 쌍 인수는 다른 모든 입력 인수 다음에 지정하십시오.

예제

모두 축소

이예제에서는사전훈련훈련컨벌루션신경망학습학습영상을추출추출다음추출특징사용하여하여영상분류기훈련시키는방법을보여분류기를시키는방법을보여보여특징 추출은 사전 훈련된 심층 신경망의 강력한 표현 기능을 가장 쉽고 빠르게 사용하는 방법입니다.예를들어,추출된특징에대해Fitcecoc.(Statistics and Machine Learning Toolbox™)를 사용하여 서포트 벡터 머신(SVM)을 훈련시킬 수 있습니다. 특징 추출은 데이터를 한 번만 통과하면 되기 때문에 신경망 훈련을 가속할 GPU가 없을 때 시도할 수 있는 좋은 출발점이 됩니다.

데이터 불러오기

샘플 영상의 압축을 풀고 영상 데이터저장소로서 불러옵니다.imageDatastore는 폴더 이름을 기준으로 영상에 자동으로 레이블을 지정하고 데이터를ImageDatastore객체로저장합니다。영상이터저장소를사용하면하면메모리에담을수없는터를포함하여다량다량영상영상터를저장저장수수아이터를를데이터70%와테스트데이터30%로분할합니다。

unzip('MerchData.zip');imds = imageDatastore('MerchData',...'upplyubfolders',true,...'labelsource','foldernames');[imdsTrain,imdsTest] = splitEachLabel(imds,0.7,'随机');

이 매우 작은 데이터 세트에는 이제 55개의 훈련 영상과 20개의 검증 영상이 있습니다. 샘플 영상 몇 개를 표시합니다.

numImagesTrain = numel(imdsTrain.Labels); idx = randperm(numImagesTrain,16); I = imtile(imds,'Frames', idx); figure imshow(I)

Figure contains an axes object. The axes object contains an object of type image.

사전 훈련된 신경망 불러오기

사전전훈련挤压Zenet신경망을불러옵니다。1백만개가넘는영상에대해훈련된挤压仪은영상을키보드,마우스,연필,각종동물등1,000가지사물범주로범주로분류수수수수수그 결과 이 모델은 다양한 영상을 대표하는 다양한 특징을 학습했습니다.

网= squeezenet;

신경망아키텍처를분석합니다。

分析(网)

첫번째계층인영상입력계층에입력되는영상은크기가227×227×3이어야합니다。여기서3은색채널의개수개수。

InputSize =.网.Layers(1).InputSize
InputSize =.1×3227 227 3

영상특징추출하기

신경망은 입력 영상에 대한 계층 표현을 생성합니다. 보다 심층의 계층에는 앞쪽 계층의 하위 수준 특징을 사용하여 생성한 상위 수준의 특징이 포함됩니다. 훈련 영상과 테스트 영상의 특징 표현을 가져오려면 전역 평균값 풀링 계층'池10'에서激活를사용하십시오. 영상의 하위 수준 표현을 가져오려면 신경망의 앞쪽 계층을 사용하십시오.

이 신경망의 입력 영상은 크기가 227×227×3이 되어야 하는데 영상 데이터저장소의 영상은 이와 다른 크기를 갖습니다. 신경망에 입력하기 전에 훈련 영상과 테스트 영상의 크기를 자동으로 조정하려면 증대 영상 데이터저장소를 만들고 원하는 영상 크기를 지정한 다음 이러한 데이터저장소를激活에 대한 입력 인수로 사용하십시오.

augimdsTrain = augmentedImageDatastore(inputSize(1:2),imdsTrain); augimdsTest = augmentedImageDatastore(inputSize(1:2),imdsTest); layer ='池10'; featuresTrain = activations(net,augimdsTrain,layer,'outputas','rows');featuresTest = activations(net,augimdsTest,layer,'outputas','rows');

훈련 데이터와 테스트 데이터로부터 클래스 레이블을 추출합니다.

YTrain = imdsTrain.Labels; YTest = imdsTest.Labels;

영상 분류기 피팅하기

훈련 영상으로부터 추출한 특징을 예측 변수로 사용하고Fitcecoc.(统计和机器学习工具箱)를사용하여다중클래스서포트(svm)을피팅합니다。

mdl = fitcecoc(featuresTrain,YTrain);

테스트영상분류하기

훈련된SVM모델과테스트영상으로부터추출한특징을사용하여테스트영상을분류합니다。

YPred = predict(mdl,featuresTest);

4개의샘플테스트영상을된레이블레레표시합니다。

Idx = [1 5 10 15];数字fori = 1:numel(idx) subplot(2,2,i) I = readimage(imdsTest,idx(i)); label = YPred(idx(i)); imshow(I) title(label)end

图包含4个轴对象。轴对象1具有标题MathWorks帽包含类型图像的对象。轴对象2具有标题MathWorks Cube包含类型图像的对象。带有标题Mathworks播放卡的轴对象3包含类型图像的对象。轴对象4带标题MathWorks螺丝刀包含类型图像的对象。

테스트세트에대한분류정확도를계산합니다。정확도는이올바르게올바르게하는레이블의의비율。

精度=意味着(YPred = =次)
accuracy = 1

이 SVM은 높은 정확도를 갖습니다. 특징 추출을 사용했을 때의 정확도가 충분히 높지 않다면 그 대신 전이 학습을 사용해 보십시오.

입력인수

모두 축소

훈련된신경망으로,SeriesNetwork또는DAGNetwork객체로 지정됩니다. 사전 훈련된 신경망을 가져오거나(예:googlenet함수사용)trainNetwork를사용하여하여자신만의고유한신경망을훈련시켜된신경망을을얻을수

영상 데이터저장소로,ImageDatastore객체로 지정됩니다.

ImageDatastore는 프리페치 작업을 사용한 JPG 또는 PNG 영상 파일의 배치 읽기를 허용합니다.영상읽기를위해사용자지정함수사용하는하는,ImageDatastore는 프리페치를 수행하지 않습니다.

딥러닝딥러닝을위해영상을을효율적으로전처리(영상영상조정포함)augmentedImageDatastore를사용하십시오.

imageDatastorereadfcn.옵션은 일반적으로 상당히 느리므로 전처리나 크기 조정을 위해 사용하지 마십시오.

메모리에 담을 수 없는 큰 데이터 및 전처리를 위한 데이터저장소. 데이터저장소는 데이터를 테이블 또는 셀형 배열로 반환해야 합니다. 데이터저장소 출력값의 형식은 신경망 아키텍처에 따라 달라집니다.

신경망 아키텍처 데이터저장소 출력값 출력값의 예
단일 입력값

테이블 또는 셀형 배열로, 여기서 첫 번째 열은 예측 변수를 지정합니다.

테이블 요소는 스칼라 또는 행 벡터이거나 숫자형 배열을 포함하는 1×1 셀형 배열이어야 합니다.

사용자용자데이터저장소는테이블을을해야해야

data = read(ds)
data = 4×1 table Predictors __________________ {224×224×3 double} {224×224×3 double} {224×224×3 double} {224×224×3 double}
data = read(ds)
data = 4×1 cell array {224×224×3 double} {224×224×3 double} {224×224×3 double} {224×224×3 double}
다중 입력값

열열付款numinputs.개 이상인 셀형 배열로, 여기서numinputs.는신경망입력값의 개수입니다.

처음numinputs.개의 열은 각 입력값에 대한 예측 변수를 지정합니다.

입력값의순서는신경망의输入名称속성으로 지정됩니다.

data = read(ds)
data = 4×2 cell array {224×224×3 double} {128×128×3 double} {224×224×3 double} {128×128×3 double} {224×224×3 double} {128×128×3 double} {224×224×3 double} {128×128×3 double}

예측변수의 형식은 데이터의 유형에 따라 달라집니다.

데이터 예측변수의 형식
2차원영상

h×w×c 숫자형 배열로, 여기서 h, w, c는 각각 영상의 높이, 너비, 채널 개수입니다.

3차원 영상

h×w×d×c 숫자형 배열로, 여기서 h, w, d, c는 각각 영상의 높이, 너비, 깊이, 채널 개수입니다.

벡터 시퀀스

c×s 행렬로, 여기서 c는 시퀀스의 특징 개수이고, s는 시퀀스 길이입니다.

1차원영상시퀀스

H×C×S배열로,여기서h,c는는영상의이와채널채널이고,s는시퀀스길이입니다。

미니 배치의 각 시퀀스는 시퀀스 길이가 같아야 합니다.

2차원영상시퀀스

H×W×C×S배열로,여기서H,W,C는는영상의이,너비,채널개수이고,s는시퀀스길이입니다。

미니 배치의 각 시퀀스는 시퀀스 길이가 같아야 합니다.

3차원 영상 시퀀스

h×w×d×c×s 배열로, 여기서 h, w, d, c는 각각 영상의 높이, 너비, 깊이, 채널 개수이고, s는 시퀀스 길이입니다.

미니 배치의 각 시퀀스는 시퀀스 길이가 같아야 합니다.

특징

c×1 열 벡터로, 여기서 c는 특징의 개수입니다.

자세한 내용은Datastores for Deep Learning항목을참조하십시오。

영상데이터또는특징데이터로, 숫자형 배열로 지정됩니다. 배열의 크기는 입력값의 유형에 따라 달라집니다.

입력 설명
2차원영상 h×w×c×N 숫자형 배열로, 여기서 h, w, c는 각각 영상의 높이, 너비, 채널 개수이고 N은 영상 개수입니다.
3차원 영상 h×w×d×c×N 숫자형 배열로, 여기서 h, w, d, c는 각각 영상의 높이, 너비, 깊이, 채널 개수이고 N은 영상 개수입니다.
특징 numFeatures숫자형배열,여기여기n은관측값개수이고,numFeatures는 입력 데이터의 특징의 개수입니다.

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

여러 개의 입력값을 갖는 신경망의 경우, 여러 개의 배열X1,......,XN을 지정할 수 있습니다. 여기서N은 신경망 입력값의 개수이고, 입력값Xi는신경망입력값net.inputnames(i)에대응됩니다。

영상 입력값의 경우,'outputas'옵션이'channels'이면 입력 데이터X의 영상은 신경망의 영상 입력 계층의 입력 크기보다 클 수 있습니다. 그 밖의 다른 출력 형식의 경우에는X의 영상 크기가 신경망의 영상 입력 계층의 입력 크기와 같아야 합니다.

시퀀스 또는 시계열 데이터로, 숫자형 배열로 구성된 N×1 셀형 배열, 단일 시퀀스를 나타내는 숫자형 배열 또는 데이터저장소로 지정됩니다. 여기서 N은 관측값 개수입니다.

셀형 배열 또는 숫자형 배열 입력값에 대해, 시퀀스를 포함하는 숫자형 배열의 차원은 데이터 유형에 따라 달라집니다.

입력 설명
벡터 시퀀스 c×s 행렬. 여기서 c는 시퀀스의 특징 개수이고 s는 시퀀스 길이입니다.
1차원영상시퀀스 H×C×S배열。여기서h,c는는영상의의이,채널개수이고s는시퀀스시퀀스이입니다
2차원영상시퀀스 h×w×c×s 배열. 여기서 h, w, c는 영상의 높이, 너비, 채널 개수이고 s는 시퀀스 길이입니다.
3차원 영상 시퀀스 h×w×d×c×s 배열. 여기서 h, w, d, c는 3차원 영상의 높이, 너비, 깊이, 채널 개수이고 s는 시퀀스 길이입니다.

데이터저장소 입력값의 경우, 데이터저장소는 데이터를 시퀀스로 구성된 셀형 배열 또는 첫 번째 열이 시퀀스를 포함하는 테이블로 반환해야 합니다. 시퀀스 데이터의 차원은 위 표와 같아야 합니다.

영상데이터또는특징데이터로 구성된 테이블. 테이블의 각 행은 관측값 하나에 대응됩니다.

테이블 열에서 예측 변수의 배치되는 방식은 입력 데이터의 유형에 따라 달라집니다.

입력 예측변수
영상 데이터
  • 영상에 대한 상대 또는 절대 파일 경로로, 단일 열에 있는 문자형 벡터로 지정됩니다.

  • 영상으로, 3차원 숫자형 배열로 지정됩니다.

예측변수는 단일 열에 지정하십시오.

특징 데이터

숫자형 스칼라.

예측변수를테이블의 처음numFeatures개열에지정하십시오。여기서numFeatures는 입력 데이터의 특징의 개수입니다.

이 인수는 입력값이 하나만 있는 신경망을 지원합니다.

데이터형:桌子

활성화 결과를 추출할 계층으로, 숫자형 인덱스 또는 문자형 벡터로 지정됩니다.

SeriesNetwork객체의 활성화 결과를 구하려면 layer를 숫자형 인덱스로 지정하거나 계층 이름에 해당하는 문자형 벡터로 지정하십시오.

DAGNetwork객체의 활성화 결과를 구하려면 layer를 계층 이름에 해당하는 문자형 벡터로 지정하십시오. 계층에 여러 개의 출력값이 있다면 계층 이름을 지정하고, 문자 “/”를 입력하고, 이어서 계층 출력값의 이름을 지정하여 계층과 출력값을 지정합니다. 즉,layer'layerName/outputName'과 같은 형식으로 지정합니다.

예:3

예:'conv1'

예:'mpool/out'

이름 - 값값

예:激活(net,x,图层,'outputas','行')

선택적으로Name,Value인수가 쉼표로 구분되어 지정됩니다. 여기서Name은인수이름이고价值는대응값입니다。Name은 따옴표 안에 표시해야 합니다.Name1,Value1,...,NameN,ValueN과 같이 여러 개의 이름-값 쌍의 인수를 어떤 순서로든 지정할 수 있습니다.

활성화결과출력형식으로,'outputas'와 함께'channels','rows'또는'columns'가쉼표로 구분되어 지정됩니다. 여러 출력 형식에 대한 설명은act를참조하십시오.

영상 입력값의 경우,'outputas'옵션이'channels'이면 입력 데이터X의 영상은 신경망의 영상 입력 계층의 입력 크기보다 클 수 있습니다. 그 밖의 다른 출력 형식의 경우에는X의 영상 크기가 신경망의 영상 입력 계층의 입력 크기와 같아야 합니다.

예:'outputas','行'

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

예:'MiniBatchSize',256

입력시퀀스를 채우거나 자르거나 분할하는 옵션으로, 다음 중 하나로 지정됩니다.

  • 'longest'- 각미니배치의시퀀스가가장긴시퀀스와이같아지도록채웁니다。이옵션은채우기로인해신경망에이포함되더라도데이터를를버리지。

  • 'shortest'- 각미니배치의시퀀스가가장짧은시퀀스와이같아지도록자릅니다。이옵션은데이터를버리게되더라도채우기를가하지하지。

  • 양의정수 - 각미니배치에대해,미니미니가장긴시퀀스이보다큰지정된길이의가장가까운길로시퀀스를채운,지정다음에에갖는작은의시퀀스로분할합니다시퀀스로합니다합니다분할합니다합니다합니다분할분할분할분할분할분할분할분할이이루어지면소프트웨어가미니배치를가로만듭니다。전체전체가메모리메모리맞지않으면이옵션을照片하십시오。또는'MiniBatchSize'옵션을 더 낮은 값으로 설정하여 미니 배치당 시퀀스 개수를 줄여 보십시오.

입력시퀀스 채우기, 자르기, 분할의 효과에 대한 자세한 정보는시퀀스채우기,자르기및분할항목을참조하십시오。

예:'seameLength','shortest'

입력시퀀스에채울값으로, 스칼라로 지정됩니다. 이 옵션은Sequencelength.'longest'또는양의정수인 경우에만 유효합니다. 시퀀스를NaN으로 채우면 신경망 전체로 오류가 전파될 수 있으므로 유의하십시오.

예:'SequencePaddingValue',-1

채우기채우기또는자르기방향,다음중하나로됩니다。

  • 'right'- 시퀀스들을오른쪽에서채우거나자릅니다。시퀀스들은 동일한 시간 스텝에서 시작하며 소프트웨어가 시퀀스들의 끝 부분에서 자르기나 채우기를 수행합니다.

  • '剩下'— 시퀀스들을 왼쪽에서 채우거나 자릅니다. 시퀀스들이 동일한 시간 스텝에서 끝나도록 소프트웨어가 시퀀스들의 시작 부분에서 자르기나 채우기를 수행합니다.

LSTM계층은시퀀스데이터를를한번에에하나시간스텝씩처리하기때문때문계층계층계층OutputMode속성이'last'인 경우 마지막 시간 스텝에서의 채우기가 계층 출력에 부정적인 영향을 줄 수 있습니다.시퀀스데이터를를왼쪽왼쪽에서채우거나'SequencePaddingDirection'옵션을'剩下'로 설정하십시오.

sequence-to-sequence 신경망의 경우(각 LSTM 계층의OutputMode속성이'sequence'인 경우), 첫 시간 스텝들에서의 채우기가 앞쪽에 있는 시간 스텝들의 예측에 부정적인 영향을 줄 수 있습니다. 시퀀스 데이터를 오른쪽에서 채우거나 자르려면'SequencePaddingDirection'옵션을'right'로 설정하십시오.

입력시퀀스 채우기, 자르기, 분할의 효과에 대한 자세한 정보는시퀀스채우기,자르기및분할항목을참조하십시오。

성능최적화로,'Acceleration'과 함께 다음 중 하나가 쉼표로 구분되어 지정됩니다.

  • 'auto'— 입력 신경망 및 하드웨어 리소스에 적합한 여러 최적화를 자동으로 적용합니다.

  • 'mex'— MEX 함수를 컴파일하고 실행합니다. 이 옵션은 GPU를 사용하는 경우에만 사용할 수 있습니다.GPU를사용하려면并行计算工具箱와지원되는gpu장치가필요필요。지원되는장치에대한자세한내용은릴리스별 GPU 지원(Parallel Computing Toolbox)항목을참조하십시오。Parallel Computing Toolbox 또는 적당한 GPU를 사용할 수 없는 경우, 오류가 반환됩니다.

  • 'none'— 모든 가속을 비활성화합니다.

디폴트 옵션은'auto'입니다。'auto'가지정된 경우 MATLAB®은 호환되는 여러 최적화를 적용합니다.'auto'옵션을사용할할matlab은은mex함수를생성하지않습니다않습니다않습니다않습니다않습니다하지하지

'Acceleration'옵션'auto''mex'를사용하면 성능이 향상될 수 있는 대신 초기 실행 시간이 늘어납니다. 호환되는 파라미터를 사용한 후속 호출은 더 빨리 실행됩니다. 성능 최적화는 새 입력 데이터를 사용하여 함수를 여러 번 호출해야 하는 경우에 사용하십시오.

'mex'옵션은 신경망과 함수 호출에서 사용된 파라미터에 따라 MEX 함수를 생성하고 실행합니다. 단일 신경망에 한 번에 여러 개의 MEX 함수가 연결되어 있을 수 있습니다. 신경망 변수를 지우면 해당 신경망에 연결된 모든 MEX 함수도 지워집니다.

'mex'옵션은 GPU를 사용하는 경우에만 사용할 수 있습니다. MEX 가속은 이름-값 옵션'刽子手evironment','gpu'만 사용하여 단일 GPU 실행을 지원합니다.

'mex'옵션을 사용하려면 C/C++ 컴파일러가 설치되어 있어야 하며 GPU Coder™ Interface for Deep Learning Libraries 지원 패키지가 필요합니다. MATLAB의 애드온 탐색기를 사용하여 지원 패키지를 설치하십시오. 설정 지침은MEX设置(GPU编码器)항목을참조하십시오。GPU编码器는는하지않습니다。

'mex'옵션은모든계층을지원하지않습니다않습니다。지원되는계층목록은Supported Layers(GPU编码器)항목을참조하십시오。imageInputLayer를갖는신경망만지원됩니다。

'mex'옵션을 사용할 때는Matlab Compiler™를사용하여 신경망을 배포할 수 없습니다.

예:'Acceleration','mex'

하드웨어리소스로,'ExecutionEnvironment'와와다음중하나가쉼표로구분되어지정됩니다。

  • 'auto'— GPU를 사용할 수 있으면 GPU를 사용하고 그렇지 않으면 CPU를 사용합니다.

  • 'gpu'— GPU를 사용합니다.GPU를사용하려면并行计算工具箱와지원되는gpu장치가필요필요。지원되는장치에대한자세한내용은릴리스별 GPU 지원(Parallel Computing Toolbox)항목을참조하십시오。Parallel Computing Toolbox 또는 적당한 GPU를 사용할 수 없는 경우, 오류가 반환됩니다.

  • 'cpu'— CPU를 사용합니다.

  • 'multi-gpu'- 디폴트클러스터프로파일에따라따라풀을사용하여하여컴퓨터컴퓨터대에서여러개gpu를사용합니다기존 병렬 풀이 없는 경우 소프트웨어는 사용 가능한 GPU의 개수와 동일한 풀 크기로 병렬 풀을 시작합니다.

  • 'parallel'— 디폴트 클러스터 프로파일에 따라 로컬 또는 원격 병렬 풀을 사용합니다. 기존 병렬 풀이 없는 경우 소프트웨어는 디폴트 클러스터 프로파일을 사용하여 병렬 풀을 시작합니다. 풀이 GPU를 사용할 수 있는 경우, 고유한 GPU를 갖는 워커만 계산을 수행합니다. 풀에 GPU가 없는 경우, 대신 사용 가능한 모든 CPU 워커에서 계산이 이루어집니다.

서로 다른 실행 환경을 사용해야 하는 경우에 대한 자세한 내용은Scale Up Deep Learning in Parallel, on GPUs, and in the Cloud항목을참조하십시오。

'gpu'옵션,'multi-gpu'옵션,'parallel'옵션을 사용하려면 Parallel Computing Toolbox가 필요합니다.딥러닝을 위해 GPU를 사용하려면 지원되는 GPU 장치도 필요합니다. 지원되는 장치에 대한 자세한 내용은릴리스별 GPU 지원(Parallel Computing Toolbox)항목을참조하십시오。이러한옵션옵션중하나를를并行计算工具箱또는적당한gpu가없는경우,오류가반환됩니다。

'multi-gpu''parallel'옵션은lstmLayer객체,Bilstmlayer.객체또는gruLayer객체객체를포함하는순환(RNN)을을하지않습니다。

예:'ExecutionEnvironment','cpu'

출력 인수

모두 축소

신경망 계층의 활성화 결과로, 숫자형 배열 또는 숫자형 배열로 구성된 셀형 배열로 반환됩니다.act의 형식은 입력 데이터의 유형, 계층 출력값의 유형 및'outputas'옵션에 따라 달라집니다.

영상출력값또는접힌시퀀스출력값

계층이 영상 또는 접힌 시퀀스 데이터를 출력하는 경우act는 숫자형 배열입니다.

'outputas' act
'channels'

2차원영상출력값에대해,act는 h×w×c×n 배열입니다. 여기서 h, w, c는 선택한 계층 출력값의 높이, 너비, 채널 개수이고, n은 영상 개수입니다. 이 경우act(:,:,:,i)i번째 영상에 대한 활성화 결과를 포함합니다.

3차원 영상 출력값에 대해,act는 h×w×d×c×n 배열입니다. 여기서 h, w, d, c는 각각 선택한 계층 출력값의 높이, 너비, 깊이, 채널 개수이고, n은 영상 개수입니다. 이 경우act(:,:,:,:,i)i번째 영상에 대한 활성화 결과를 포함합니다.

접힌2차원영상시퀀스출력값에대해대해대해,act는 h×w×c×(n*s) 배열입니다. 여기서 h, w, c는 각각 선택한 계층 출력값의 높이, 너비, 채널 개수이고, n은 시퀀스 개수이고, s는 시퀀스 길이입니다. 이 경우act(:,:,:,(t-1)*n+k)k번째시퀀스의시간스텝t에 대한 활성화 결과를 포함합니다.

접힌3차원영상시퀀스출력값에대해,act는 h×w×d×c×(n*s) 배열입니다. 여기서 h, w, d, c는 각각 선택한 계층 출력값의 높이, 너비, 깊이, 채널 개수이고, n은 시퀀스 개수이고, s는 시퀀스 길이입니다. 이 경우act(:,:,:,:,(t-1)*n+k)k번째시퀀스의시간스텝t에 대한 활성화 결과를 포함합니다.

'rows'

2차원및3차원영상출력값대해대해대해대해,act는 n×m 행렬입니다. 여기서 n은 영상의 개수이고,m은 계층의 출력값 요소 개수입니다. 이 경우act(i,:)i번째 영상에 대한 활성화 결과를 포함합니다.

접힌 2차원 및 3차원 영상 시퀀스 출력값에 대해,act는 (n*s)×m 행렬입니다. 여기서 n은 시퀀스 개수이고, s는 시퀀스 길이이고,m은 계층의 출력값 요소 개수입니다. 이 경우法案((t-1)* n + k,:)k번째시퀀스의시간스텝t에 대한 활성화 결과를 포함합니다.

'columns'

2차원및3차원영상출력값대해대해대해대해,act는 m×n 행렬입니다. 여기서 m은 선택한 계층의 출력값 요소 개수이고, n은 영상의 개수입니다. 이 경우act(:,i)i번째 영상에 대한 활성화 결과를 포함합니다.

접힌 2차원 및 3차원 영상 시퀀스 출력값에 대해,act는m×(n * s)행렬입니다。여기서서선택한의출력값개수이고,n은시퀀스개수이고,s는시퀀스길이입니다。이경우.ACT(:,(t-1)* n + k)k번째시퀀스의시간스텝t에 대한 활성화 결과를 포함합니다.

시퀀스출력값

layer에 시퀀스 출력값이 있는 경우(예: 출력 모드가'sequence'인lstm계층),act는셀형배열입니다。이경우.'outputas'옵션은'channels'여야합니다。

'outputas' act
'channels'

벡터 시퀀스 출력에 대해,act는C×s행렬로구성된n×1셀형배열。이고,C는시퀀스에있는특징개수개수이고,s는시퀀스길이입니다。

2차원영상시퀀스 출력에 대해,act는 h×w×c×s 행렬로 구성된 n×1 셀형 배열입니다. 여기서 n은 시퀀스 개수이고, h, w, c는 각각 영상의 높이, 너비, 채널 개수이고, s는 시퀀스 길이입니다.

3차원 영상 시퀀스 출력에 대해,act는 h×w×c×d×s 행렬로 구성된 n×1 셀형 배열입니다. 여기서 n은 시퀀스 개수이고, h, w, d, c는 각각 영상의 높이, 너비, 깊이, 채널 개수이고, s는 시퀀스 길이입니다.

위의 경우act{i}i번째 시퀀스에 대한 활성화 결과를 포함합니다.

단일 시간 스텝 출력값

layer가시퀀스시퀀스의단일단일시간스텝스텝출력하는(예:출력출력가'last'인lstm계층),act는 숫자형 배열입니다.

'outputas' act
'channels'

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

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

3차원영상데이터를를포함하는단일단일시간스텝에,act는H×W×C×D×D×N입니다。여기여기n은시퀀스개수이고,h,w,d,c는는영상의높이,너비,깊이,채널개수입니다。

'rows' n×m 행렬로, 여기서 n은 관측값의 개수이고m은 선택한 계층의 출력값 요소 개수입니다. 이 경우act(i,:)i번째 시퀀스에 대한 활성화 결과를 포함합니다.
'columns' m×n 행렬로, 여기서 m은 선택한 계층의 출력값 요소 개수이고 n은 관측값의 개수입니다. 이 경우act(:,i)i번째 영상에 대한 활성화 결과를 포함합니다.

알고리즘

trainNetwork함수를사용하여 신경망을 훈련시키거나DAGNetwork객체 및SeriesNetwork객체와 함께 예측 함수 또는 검증 함수를 사용할 때 소프트웨어는 단정밀도 부동소수점 연산방식을 사용하여 이러한 계산을 수행합니다.훈련,예측예측및검증검증을위한함수trainNetwork,预测,classify,激活등이 있습니다. CPU와 GPU를 모두 사용하여 신경망을 훈련시키는 경우, 단정밀도 연산방식이 사용됩니다.

참고문헌

[1] M. Kudo, J. Toyama, and M. Shimbo. "Multidimensional Curve Classification Using Passing-Through Regions." Pattern Recognition Letters. Vol. 20, No. 11–13, pages 1103–1111.

[2] UCI Machine Learning Repository: Japanese Vowels Dataset. https://archive.ics.uci.edu/ml/datasets/Japanese+Vowels

확장 기능

버전 내역

R2016A에개발됨