このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
長短期記憶層(LSTM)
LSTM層は,時系列データおよびシーケンスデータのタイムステップ間の長期的な依存関係を学習します。
この層により交互作用が付加され,学習中の長いシーケンスでの勾配フローの改善に役立ちます。
NumHiddenUnits
- - - - - -(隠隠れユニットの数れサイズとも呼ばれる)。正の整数として指定します。 隠れユニットの数は,タイムステップ間に記憶された情報(隠れ状態)の量に相当します。隠れ状態には,シーケンス長に関係なく,以前のすべてのタイムステップからの情報を含めることができます。隠れユニットの数が大きすぎる場合,層が学習データに対して過適合する可能性があります。この値は数十から数千までさまざまな数になります。 隠れ状態によって1回の反復で処理されるタイムステップ数が制限されることはありません。シーケンスを学習用のより小さいシーケンスに分割するには, 例:trainingOptions
“SequenceLength”
OutputMode
- - - - - -“序列”
(既定値) |“最后一次”
出力の形式。次のいずれかに指定します。
“序列”
“最后一次”
InputSize
- - - - - -“汽车”
(既定値) |入力サイズ。正の整数または 例:“汽车”
StateActivationFunction
- - - - - -的双曲正切
(既定値) |“softsign”
セル状態と隠れ状態を更新する活性化関数。次のいずれかに指定します。 層は,セル状態と隠れ状態を更新する計算における関数
的双曲正切
“softsign”
GateActivationFunction
- - - - - -“乙状结肠”
(既定値) |“hard-sigmoid”
ゲートに適用する活性化関数。次のいずれかに指定します。
を使用します。 層は,層のゲートの計算における関数
“乙状结肠”
“hard-sigmoid”
CellState
- - - - - -セル状態の初期値。 このプロパティの設定後に関数
HiddenState
- - - - - -隠れ状態の初期値。 このプロパティの設定後に関数
InputWeightsInitializer
- - - - - -“glorot”
(既定値) |“他”
“正交”
“narrow-normal”|“零”|“的”|関数ハンドル
入力の重みを初期化する関数。次のいずれかに指定します。 関数ハンドル——カスタム関数で入力の重みを初期化します。関数ハンドルを指定する場合,関数は この層では, データ型:
“glorot”
“他”
“正交”
“narrow-normal”
“零”
“的”
字符
RecurrentWeightsInitializer
- - - - - -“正交”
(既定値) |“glorot”
“他”
“narrow-normal”|“零”|“的”|関数ハンドル
再帰重みを初期化する関数。次のいずれかに指定します。 関数ハンドル——カスタム関数で再帰重みを初期化します。関数ハンドルを指定する場合,関数は この層では, データ型:
“正交”
“glorot”
“他”
“narrow-normal”
“零”
“的”
字符
BiasInitializer
- - - - - -“unit-forget-gate”
(既定値) |“narrow-normal”
“的”
バイアスを初期化する関数。次のいずれかに指定します。 関数ハンドル——カスタム関数でバイアスを初期化します。関数ハンドルを指定する場合,関数は この層では, データ型:
“unit-forget-gate”
“narrow-normal”
“的”
字符
InputWeights
- - - - - -[]
(既定値) |入力の重み。行列として指定します。 この入力重み行列は,LSTM層にあるコンポーネント(ゲート)の4つの入力重み行列の連結です。4つの行列は,以下の順で垂直に連結されています。 入力ゲート 忘却ゲート セル候補 出力ゲート 入力の重みは学習可能なパラメーターです。ネットワークの学習時に, 学習時、
trainNetwork
RecurrentWeights
- - - - - -[]
(既定値) |再帰重み。行列として指定します。 この再帰重み行列は,LSTM層にあるコンポーネント(ゲート)の4つの再帰重み行列の連結です。4つの行列は,以下の順で垂直に連結されています。 入力ゲート 忘却ゲート セル候補 出力ゲート 再帰重みは学習可能なパラメーターです。ネットワークの学習時に, 学習時、
trainNetwork
偏见
- - - - - -[]
(既定値) |LSTM層の層のバイアス。数値ベクトルとして指定します。 このバイアスベクトルは,LSTM層にあるコンポーネント(ゲート)の4つのバイアスベクトルの連結です。4つのベクトルは,以下の順で垂直に連結されています。 入力ゲート 忘却ゲート セル候補 出力ゲート 層のバイアスは学習可能なパラメーターです。ネットワークの学習時に, 学習時、
trainNetwork
InputWeightsLearnRateFactor
- - - - - -入力の重みの学習率係数。数値スカラーまたは 1 行 4 列の数値ベクトルとして指定します。
この係数にグローバル学習率が乗算されて,層の入力の重みの学習率係数が決定されます。たとえば, 入力ゲート 忘却ゲート セル候補 出力ゲート すべての行列に同じ値を指定するには,非負のスカラーを指定します。 例: 例:trainingOptions
InputWeights
2
[1 2 1 1]
RecurrentWeightsLearnRateFactor
- - - - - -再帰重みの学習率係数。数値スカラーまたは 1 行 4 列の数値ベクトルとして指定します。
この係数にグローバル学習率が乗算されて,層の再帰重みの学習率が決定されます。たとえば, 入力ゲート 忘却ゲート セル候補 出力ゲート すべての行列に同じ値を指定するには,非負のスカラーを指定します。 例: 例:trainingOptions
RecurrentWeights
2
[1 2 1 1]
BiasLearnRateFactor
- - - - - -バイアスの学習率係数。非負のスカラーまたは 1 行 4 列の数値ベクトルとして指定します。
この係数にグローバル学習率が乗算されて,この層のバイアスの学習率が決定されます。たとえば, 入力ゲート 忘却ゲート セル候補 出力ゲート すべてのベクトルに同じ値を指定するには,非負のスカラーを指定します。 例: 例:trainingOptions
偏见
2
[1 2 1 1]
InputWeightsL2Factor
- - - - - -入力の重みのL2正則化係数。数値スカラーまたは 1 行 4 列の数値ベクトルとして指定します。
この係数にグローバルL2正則化係数が乗算されて,層の入力の重みのL2正則化係数が決定されます。たとえば, 入力ゲート 忘却ゲート セル候補 出力ゲート すべての行列に同じ値を指定するには,非負のスカラーを指定します。 例: 例:trainingOptions
InputWeights
2
[1 2 1 1]
RecurrentWeightsL2Factor
- - - - - -再帰重みのL2正則化係数。数値スカラーまたは 1 行 4 列の数値ベクトルとして指定します。
この係数にグローバルL2正則化係数が乗算されて,層の再帰重みのL2正則化係数が決定されます。たとえば, 入力ゲート 忘却ゲート セル候補 出力ゲート すべての行列に同じ値を指定するには,非負のスカラーを指定します。 例: 例:trainingOptions
RecurrentWeights
2
[1 2 1 1]
BiasL2Factor
- - - - - -バイアスのL2正則化係数。非負のスカラーまたは 1 行 4 列の数値ベクトルとして指定します。
この係数にグローバルL2正則化係数が乗算されて,この層のバイアスのL2正則化が決定されます。たとえば, 入力ゲート 忘却ゲート セル候補 出力ゲート すべてのベクトルに同じ値を指定するには,非負のスカラーを指定します。 例: 例:trainingOptions
偏见
2
[1 2 1 1]
的名字
- - - - - -''
(既定値) |層の名前。文字ベクトルまたは字符串スカラーとして指定します。 データ型:字符
NumInputs
- - - - - -層の入力の数。この層は単一の入力のみを受け入れます。 データ型:双
InputNames
- - - - - -{'在'}
(既定値)層の入力名。この層は単一の入力のみを受け入れます。 データ型:细胞
NumOutputs
- - - - - -層の出力の数。この層には単一の出力のみがあります。 データ型:双
OutputNames
- - - - - -{“出”}
(既定値)層の出力名。この層には単一の出力のみがあります。 データ型:细胞
名前が层= lstmLayer (100
layer = LSTMLayer with properties: Name: 'lstm1' Hyperparameters InputSize: 'auto' NumHiddenUnits: 100 OutputMode: 'sequence' StateActivationFunction: 'tanh' GateActivationFunction: 'sigmoid' Learnable Parameters inputwights: [] recurrentwights: [] Bias: [] State Parameters HiddenState: [] CellState:[]显示所有属性
层
inputSize = 12;numHiddenUnits = 100;numClasses = 9;层= [
Layer = 5x1 Layer array with layers: 1 " Sequence Input Sequence Input with 12 dimensions 2 " LSTM LSTM with 100 hidden units 3 " Fully Connected 9 Fully Connected Layer 4 " Softmax Softmax 5 " Classification Output crossentropyex . LSTM与100个隐藏单元
sequence-to-label分類について深層学習LSTMネットワークに学習をさせます。 [1]および[2]に記載のある日本元音データセットを読み込みます。 最初の時系列をプロットで可視化します。各ラインは特徴に対応しています。 LSTMネットワークアーキテクチャを定義します。入力サイズを12(入力データの特徴の数) に指定します。100 個の隠れユニットを含み、シーケンスの最後の要素を出力するように LSTM 層を指定します。最後に、サイズが 9 の全結合層を含めることによって 9 個のクラスを指定し、その後にソフトマックス層と分類層を配置します。 学習オプションを指定します。ソルバーを ミニバッチが小さく,シーケンスが短いため,学習にはCPUが適しています。 学習オプションを指定してLSTMネットワークに学習させます。 テストセットを読み込み,シーケンスを話者別に分類します。 テストデータを分類します。学習に使用されるサイズと同じミニバッチサイズを指定します。 予測の分類精度を計算します。XTrain
[XTrain, YTrain] = japaneseVowelsTrainData;
图绘制(XTrain{1}”)标题(
inputSize = 12;numHiddenUnits = 100;numClasses = 9;层= [
Layer = 5×1 Layer array with layers: 1 " Sequence Input Sequence Input with 12 dimensions 2 " LSTM LSTM with 100 hidden units 3 " Fully Connected 9 Fully Connected Layer 4 " Softmax Softmax 5 " Classification Output crossentropyex . jpg
maxEpochs = 70;miniBatchSize = 27个;选择= trainingOptions (
网= trainNetwork (XTrain、YTrain层,选择);
[XTest,欧美]= japaneseVowelsTestData;
XTest YPred =分类(净,
acc = sum(YPred == YTest)./numel(YTest)
acc = 0.9514
sequence-to-label分類用のLSTMネットワークを作成するには,シーケンス入力層,LSTM層,全結合層,ソフトマックス層,および分類出力層を含む層配列を作成します。 シーケンス入力層のサイズを入力データの特徴の数に設定します。全結合層のサイズをクラスの数に設定します。シーケンス長を指定する必要はありません。 LSTM層では,隠れユニットの数と出力モード sequence-to-label分類についてLSTMネットワークに学習をさせ,新しいデータを分類する方法の例については, sequence-to-sequence分類用のLSTMネットワークを作成するには,sequence-to-label分類の場合と同じアーキテクチャを使用しますが,LSTM層の出力モードをnumFeatures = 12;numHiddenUnits = 100;numClasses = 9;层= [
numFeatures = 12;numHiddenUnits = 100;numClasses = 9;层= [
sequence-to-one回帰用のLSTMネットワークを作成するには,シーケンス入力層,LSTM層,全結合層,および回帰出力層を含む層配列を作成します。 シーケンス入力層のサイズを入力データの特徴の数に設定します。全結合層のサイズを応答の数に設定します。シーケンス長を指定する必要はありません。 LSTM層では,隠れユニットの数と出力モード sequence-to-sequence回帰用のLSTMネットワークを作成するには,sequence-to-one回帰の場合と同じアーキテクチャを使用しますが,LSTM層の出力モードを sequence-to-sequence回帰についてLSTMネットワークに学習をさせて,新しいデータを予測する方法の例については,numFeatures = 12;numHiddenUnits = 125;numResponses = 1;层= [
numFeatures = 12;numHiddenUnits = 125;numResponses = 1;层= [
出力モードが sequence-to-label分類ネットワークでは,最後のLSTM層の出力モードは sequence-to-sequence分類ネットワークでは,最後のLSTM層の出力モードはnumFeatures = 12;numHiddenUnits1 = 125;numHiddenUnits2 = 100;numClasses = 9;层= [
numFeatures = 12;numHiddenUnits1 = 125;numHiddenUnits2 = 100;numClasses = 9;层= [
LSTM層は,時系列データおよびシーケンスデータのタイムステップ間の長期的な依存関係を学習します。
層の状態は,
以下のコンポーネントは,層のセル状態および隠れ状態を制御します。 次の図は,タイムステップtでのデータのフローを示しています。この図は,ゲートがセル状態や隠れ状態をどのように忘,却更新,および出力するかを示しています。 LSTM層の学習可能な重みは,入力の重みW (
ここで,f, g,およびoはそれぞれ,入力ゲート,忘却ゲート,セル候補,および出力ゲートを表します。 タイムステップtでのセル状態は次で与えられます。
ここで, タイムステップtでの隠れ状態は次で与えられます。
ここで, 次の式は,タイムステップtでのコンポーネントを記述しています。 これらの計算では,
コンポーネント 目的
入力ゲート(我) セル状態の更新レベルを制御
忘却ゲート(f) セル状態のリセット(忘却)レベルを制御
セル候補(g) セル状態に情報を追加
出力ゲート(o) 隠れ状態に追加されるセル状態のレベルを制御
コンポーネント 式
入力ゲート
忘却ゲート
セル候補
出力ゲート
R2019aでの動作変更
R2019a以降では,既定で,Glorot初期化子を使用してこの層の入力の重みが初期化されます。この動作は,学習を安定化させるのに役立ち,通常は深いネットワークの学習時間を短縮します。 以前のリリースでは,既定で,平均0分散0.01の正規分布からサンプリングを行って,層の入力の重みが初期化されます。この動作を再現するには,層の
R2019aでの動作変更
R2019a以降では,既定で,直交行列问を使用してこの層の再帰重みが初期化されます。この直交行列は,単位正規分布からサンプリングされた乱数行列Zに対するZ = QRのQR分解によって与えられます。この動作は,学習を安定化させるのに役立ち,通常は深いネットワークの学習時間を短縮します。 以前のリリースでは,既定で,平均0分散0.01の正規分布からサンプリングを行って,層の再帰重みが初期化されます。この動作を再現するには,層の
工藤、富山、新保。“使用通过区域的多维曲线分类”。模式识别字母。第20卷,第11-13期,第1103-1111页。
[2] UCI机器学习知识库:日语元音数据集。https://archive.ics.uci.edu/ml/datasets/Japanese+Vowels
[3] Hochreiter, S,和J. Schmidhuber, 1997。短期记忆。神经网络计算,9(8),pp.1735-1780。
[4]格洛洛,泽维尔,还有约书亚·本吉奥。理解训练深度前馈神经网络的困难第十三届人工智能与统计国际会议论文集,249-356。撒丁岛,意大利:AISTATS, 2010。
何开明,张翔宇,任少青,孙健深入研究整流器:在图像网分类上超越人类水平的表现。计算机工程与应用,2015,35(6):733 - 741。计算机视觉,2015。
Saxe, Andrew M., James L. McClelland和Surya Ganguli。“深度线性神经金宝搏官方网站网络中学习的非线性动力学的精确解”,arXiv preprint arXiv:1312.6120(2013)。
使用上の注意および制限:
英特尔
StateActivationFunction
GateActivationFunction
使用上の注意および制限: GPUコード生成の場合, GPUコード生成の場合,
sequenceInputLayer
|bilstmLayer
|gruLayer
|classifyAndUpdateState
|predictAndUpdateState
|resetState
|sequenceFoldingLayer
|flattenLayer
|sequenceUnfoldingLayer
|
次のMATLABコマンドに対応するリンクがクリックされました。 コマンドをMATLABコマンドウィンドウに入力して実行してください。WebブラウザーはMATLABコマンドをサポートしていません。
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:
你也可以从以下列表中选择一个网站: 选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。如何获得最佳的网站性能
欧洲