Main Content

stack

클래스: Autoencoder

여러 오토인코더의 인코더들을 한꺼번에 누적

설명

stackednet = stack(autoenc1,autoenc2,...)는 오토인코더 autoenc1, autoenc2 등의 인코더들을 누적하여 만든 network 객체를 반환합니다.

예제

stackednet = stack(autoenc1,autoenc2,...,net1)은 여러 오토인코더의 인코더들과 network 객체 net1을 누적하여 만든 network 객체를 반환합니다.

오토인코더와 network 객체는 차원이 같은 경우에만 누적할 수 있습니다.

입력 인수

모두 확장

훈련된 오토인코더로, Autoencoder 객체로 지정됩니다.

훈련된 오토인코더로, Autoencoder 객체로 지정됩니다.

훈련된 신경망으로, network 객체로 지정됩니다. net1trainSoftmaxLayer 함수를 사용하여 훈련된 소프트맥스 계층이 될 수 있습니다.

출력 인수

모두 확장

적층 신경망(심층 신경망)으로, network 객체로 반환됩니다.

예제

모두 확장

훈련 데이터를 불러옵니다.

[X,T] = iris_dataset;

은닉 계층 크기가 5이고 디코더에 대한 선형 전달 함수를 갖는 오토인코더를 훈련시킵니다. L2 가중치 정규화 함수를 0.001로, 희소 정규화 함수를 4로, 희소 비율을 0.05로 설정합니다.

hiddenSize = 5;
autoenc = trainAutoencoder(X, hiddenSize, ...
    'L2WeightRegularization', 0.001, ...
    'SparsityRegularization', 4, ...
    'SparsityProportion', 0.05, ...
    'DecoderTransferFunction','purelin');

{"String":"Figure Neural Network Training (24-Jul-2022 21:29:07) contains an object of type uigridlayout.","Tex":[],"LaTex":[]}

은닉 계층에 있는 특징을 추출합니다.

features = encode(autoenc,X);

features를 사용하여 분류를 위한 소프트맥스 계층을 훈련시킵니다.

softnet = trainSoftmaxLayer(features,T);

{"String":"Figure Neural Network Training (24-Jul-2022 21:29:32) contains an object of type uigridlayout.","Tex":[],"LaTex":[]}

인코더와 소프트맥스 계층을 누적하여 심층 신경망을 형성합니다.

stackednet = stack(autoenc,softnet);

적층 신경망을 표시합니다.

view(stackednet);

  • 오토인코더 하나의 은닉 표현의 크기는 함께 누적된 다음에 오는 오토인코더 또는 신경망의 입력 크기와 일치해야 합니다.

    적층 신경망의 첫 번째 입력 인수는 첫 번째 오토인코더의 입력 인수가 됩니다. 누적된 신경망의 첫 번째 오토인코더의 인코더의 출력 인수는 두 번째 오토인코더의 입력값이 됩니다. 적층 신경망의 두 번째 오토인코더의 인코더의 출력 인수는 세 번째 오토인코더의 입력값이 되는 식입니다.

  • 적층 network 객체 stacknet은 마지막 입력 인수 net1로부터 훈련 파라미터를 상속받습니다.

버전 내역

R2015b에 개발됨