主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

ディープネットワークデザイナーを使用したシンプルなシーケンス分類ネットワークの作成

この例では,ディープネットワークデザイナーを使用してシンプルな長短期記憶(LSTM)分類ネットワークを作成する方法を説明します。

シーケンスデータを分類するよう深層ニューラルネットワークに学習させるために,LSTMネットワークを使用できます。LSTMネットワークは,再帰型ニューラルネットワーク(RNN)の一種で,シーケンスデータのタイムステップ間の長期的な依存関係を学習します。

この例では,以下を実行する方法を示します。

  • シーケンスデータの読み込み。

  • ネットワークアーキテクチャの構築。

  • 学習オプションの指定。

  • ネットワークに学習をさせます。

  • 新しいデータのラベルの予測と分類精度の計算。

データの読み込み

[1]および[2]に記載のある日本元音データセットを読み込みます。予測子は,特徴次元12の可変長のシーケンスが含まれる细胞配列です。ラベルは,ラベル1,2,…、9 の categorical ベクトルです。

[XTrain, YTrain] = japaneseVowelsTrainData;[XValidation, YValidation] = japaneseVowelsTestData;

最初のいくつかの学習シーケンスのサイズを表示します。シーケンスは行列で,行数が12(特徴ごとに1行)で,列数が可変(タイムステップごとに1列)です。

XTrain (1:5)
ans =5×1单元阵列{12×20 double} {12×26 double} {12×22 double} {12×20 double} {12×21 double}

ネットワークアーキテクチャの定義

ディープネットワークデザイナーを開きます。

deepNetworkDesigner

(Sequence-to-Label)で一時停止し,[開く]をクリックします。これにより,シーケンス分類の問題に適したプリビルドネットワークが開きます。

ディープネットワークデザイナーがプリビルドネットワークを表示します。

このシーケンスネットワークを,日本元音データセットに簡単に適合させることができます。

(sequenceInputLayer)を選択し,(InputSize)が特徴次元と一致するように12に設定されていることを確認します。

(lstmLayer)を選択し,(NumHiddenUnits)100年をに設定します。

(fullyConnectedLayer)を選択し,(OutputSize)がクラス数の9に設定されていることを確認します。

ネットワークアーキテクチャの確認

ネットワークを確認して層の詳細を調べるには,[解析]をクリックします。

ネットワークアーキテクチャのエクスポート

ネットワークアーキテクチャをワークスペースにエクスポートするには,[デザイナー]タブの[エクスポート]をクリックします。ディープネットワークデザイナーによりネットワークが変数layers_1に保存されます。

[エクスポート][コード生成)を選択して,ネットワークアーキテクチャを構築するためのコードを生成することもできます。

ネットワークの学習

学習オプションを指定し,ネットワークに学習させます。

ミニバッチが小さく,シーケンスが短いため,学習にはCPUが適しています。“ExecutionEnvironment”“cpu”に設定します。GPUが利用できる場合,GPUで学習を行うには,“ExecutionEnvironment”“汽车”(既定値)に設定します。

miniBatchSize = 27个;选择= trainingOptions (“亚当”...“ExecutionEnvironment”“cpu”...“MaxEpochs”, 100,...“MiniBatchSize”miniBatchSize,...“ValidationData”{XValidation, YValidation},...“GradientThreshold”2,...“洗牌”“every-epoch”...“详细”假的,...“阴谋”“训练进步”);

ネットワークに学習をさせます。

网= trainNetwork (XTrain YTrain、layers_1选项);

ネットワークのテスト

テストデータを分類し,分類精度を計算します。学習の場合と同じミニバッチサイズを指定します。

XValidation YPred =分类(净,“MiniBatchSize”, miniBatchSize);acc = mean(YPred == YValidation)
acc = 0.9432

次のステップとして,双方向LSTM (BiLSTM)層を使用するか,より深いネットワークを作成して,精度の改善を試みることができます。詳細については,長短期記憶ネットワークを参照してください。

畳み込みネットワークを使用してシーケンスデータを分類する方法を示す例については,深層学習を使用した音声コマンド認識を参照してください。

参考文献

工藤、民一、富山俊和《新报》。“利用通行区域进行多维曲线分类”。模式识别字母20,no。11-13(1999年11月):1103-11。https://doi.org/10.1016/s0167 - 8655 (99) 00077 - x。

工藤、民一、富山俊和《新报》。日语元音数据集。由UCI机器学习知识库分发。https://archive.ics.uci.edu/ml/datasets/Japanese+Vowels

参考

関連するトピック