このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
长短期记忆(LSTM)层
LSTM层は,时系列データおよびシーケンスデータのタイムステップ间の长期的な依存关系を学习します。
この層により交互作用が付加され,学習中の長いシーケンスでの勾配フローの改善に役立ちます。
NumHiddenUnits
- - - - - -(隠隠れユニットの数れサイズとも呼ばれる)。正の整数として指定します。 隠れユニットの数は,タイムステップ间に记忆された情报(隠れ状态)の量に相当します。隠れ状态には,シーケンス长に关系なく,以前のすべてのタイムステップからの情报を含めることができます。隠れユニットの数が大きすぎる场合,层が学习データに対して过适合する可能性があります。この値は数十から数千までさまざまな数になります。 隠れ状態によって1回の反復で処理されるタイムステップ数が制限されることはありません。シーケンスを学習用のより小さいシーケンスに分割するには, 例:培训选项
“SequenceLength”
OutputMode
- - - - - -“序列”
(既定値)|“最后一次”
出力の形式。次のいずれかに指定します。
“序列”
“最后一次”
输入
- - - - - -“汽车”
(既定値)|入力サイズ。正の整数または 例:“汽车”
StateActivationFunction
- - - - - -的双曲正切
(既定値)|“softsign”
セル状態と隠れ状態を更新する活性化関数。次のいずれかに指定します。 層は,セル状態と隠れ状態を更新する計算における関数
的双曲正切
“softsign”
GateActivationFunction
- - - - - -“乙状结肠”
(既定値)|“hard-sigmoid”
ゲートに適用する活性化関数。次のいずれかに指定します。
を使用します。 層は,層のゲートの計算における関数
“乙状结肠”
“hard-sigmoid”
Cellstate.
- - - - - -セル状態の初期値。 このプロパティの設定後に関数
HiddenState
- - - - - -隠れ状態の初期値。 このプロパティの設定後に関数
InputWeightsInitializer
- - - - - -“glorot”
(既定値)|“他”
“正交”
“缩小正常”|“零”|'那些'|关数ハンドル
入力の重みを初期化する关数。次のいずれかに指定します。 关数ハンドル - カスタム关数で入力の重みを初期化します关数ハンドルを指定する场合,关数は この層では, データ型:
“glorot”
“他”
“正交”
“缩小正常”
“零”
'那些'
字符
RecurrentWeightsInitializer
- - - - - -“正交”
(既定値)|“glorot”
“他”
“缩小正常”|“零”|'那些'|关数ハンドル
再帰重みを初期化する关数。次のいずれかに指定します。 关数ハンドル - カスタム关数で再帰重みを初期化します关数ハンドルを指定する场合,关数は この層では, データ型:
“正交”
“glorot”
“他”
“缩小正常”
“零”
'那些'
字符
BiasInitializer
- - - - - -“unit-forget-gate”
(既定値)|“缩小正常”
'那些'
バイアスを初期化する関数。次のいずれかに指定します。 关数ハンドル - カスタム关数でバイアスを初期化します关数ハンドルを指定する场合,关数は この層では, データ型:
“unit-forget-gate”
“缩小正常”
'那些'
字符
InputWeights
- - - - - -[]
(既定値)|入力の重み。行列として指定します。 この入力重み行列は,LSTM层にあるコンポーネント(ゲート)の4つの入力重み行列の连结です0.4つの行列は,以下の顺で垂直に连结されています。 入力ゲート 忘却ゲート セル候补 出力ゲート 入力の重みは学習可能なパラメーターです。ネットワークの学習時に, 学習時、
trainNetwork
RecurrentWeights
- - - - - -[]
(既定値)|再帰重み。行列として指定します。 この再帰重み行列は,LSTM層にあるコンポーネント(ゲート)の4つの再帰重み行列の連結です。4つの行列は,以下の順で垂直に連結されています。 入力ゲート 忘却ゲート セル候补 出力ゲート 再帰重みは学習可能なパラメーターです。ネットワークの学習時に, 学習時、
trainNetwork
偏见
- - - - - -[]
(既定値)|LSTM层の层のバイアス。数値ベクトルとして指定します。 このバイアスベクトルは,LSTM層にあるコンポーネント(ゲート)の4つのバイアスベクトルの連結です。4つのベクトルは,以下の順で垂直に連結されています。 入力ゲート 忘却ゲート セル候补 出力ゲート 層のバイアスは学習可能なパラメーターです。ネットワークの学習時に, 学習時、
trainNetwork
InputWeightsLearnRateFactor
- - - - - -入力の重みの学習率係数。数値スカラーまたは 1 行 4 列の数値ベクトルとして指定します。
この系数にグローバル学习率が乘算されて,层の入力の重みの学习率系数が决定されます。たとえば, 入力ゲート 忘却ゲート セル候补 出力ゲート すべての行列に同じ値を指定するには,非負のスカラーを指定します。 例: 例:培训选项
InputWeights
2
[1 2 1 1]
RecurrentWeightsLearnRateFactor
- - - - - -再帰重みの学習率係数。数値スカラーまたは 1 行 4 列の数値ベクトルとして指定します。
この係数にグローバル学習率が乗算されて,層の再帰重みの学習率が決定されます。たとえば, 入力ゲート 忘却ゲート セル候补 出力ゲート すべての行列に同じ値を指定するには,非負のスカラーを指定します。 例: 例:培训选项
RecurrentWeights
2
[1 2 1 1]
BiasLearnRateFactor
- - - - - -バイアスバイアス学习率数。非负非负のスカラー1行4列の数码ベクトルとしてしし。 この係数にグローバル学習率が乗算されて,この層のバイアスの学習率が決定されます。たとえば, 入力ゲート 忘却ゲート セル候补 出力ゲート すべてのベクトルに同じ値を指定するには,非负のスカラーを指定します。 例: 例:培训选项
偏见
2
[1 2 1 1]
InputWeightsL2Factor
- - - - - -入力の重みのL2正則化係数。数値スカラーまたは 1 行 4 列の数値ベクトルとして指定します。
この係数にグローバルL2正則化係数が乗算されて,層の入力の重みのL2正則化係数が決定されます。たとえば, 入力ゲート 忘却ゲート セル候补 出力ゲート すべての行列に同じ値を指定するには,非負のスカラーを指定します。 例: 例:培训选项
InputWeights
2
[1 2 1 1]
RecurrentWeightsL2Factor
- - - - - -再帰重みのL2正則化係数。数値スカラーまたは 1 行 4 列の数値ベクトルとして指定します。
この係数にグローバルL2正則化係数が乗算されて,層の再帰重みのL2正則化係数が決定されます。たとえば, 入力ゲート 忘却ゲート セル候补 出力ゲート すべての行列に同じ値を指定するには,非負のスカラーを指定します。 例: 例:培训选项
RecurrentWeights
2
[1 2 1 1]
BiasL2Factor
- - - - - -バイアスのL2正則化係数。非負のスカラーまたは 1 行 4 列の数値ベクトルとして指定します。
この係数にグローバルL2正則化係数が乗算されて,この層のバイアスのL2正則化が決定されます。たとえば, 入力ゲート 忘却ゲート セル候补 出力ゲート すべてのベクトルに同じ値を指定するには,非负のスカラーを指定します。 例: 例:培训选项
偏见
2
[1 2 1 1]
的名字
- - - - - -”
(既定値)|層の名前。文字ベクトルまたは字符串スカラーとして指定します。 データ型:字符
NumInputs
- - - - - -層の入力の数。この層は単一の入力のみを受け入れます。 データ型:双
InputNames
- - - - - -{'在'}
(既定値)層の入力名。この層は単一の入力のみを受け入れます。 データ型:细胞
NumOutputs
- - - - - -層の出力の数。この層には単一の出力のみがあります。 データ型:双
输出名称
- - - - - -{'出去'}
(既定値)層の出力名。この層には単一の出力のみがあります。 データ型:细胞
名前が层= 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 (
net = trainnetwork(xtrain,ytrain,图层,选项);
[xtest,ytest] =日本韦沃尔斯特迪塔
XTest YPred =分类(净,
acc = sum(YPred == YTest)./numel(YTest)
acc = 0.9514
sequence-to-label分類用のLSTMネットワークを作成するには,シーケンス入力層,LSTM層,全結合層,ソフトマックス層,および分類出力層を含む層配列を作成します。 シーケンス入力層のサイズを入力データの特徴の数に設定します。全結合層のサイズをクラスの数に設定します。シーケンス長を指定する必要はありません。 LSTM层では,隠れユニットの数と出力モード 序列至标签分类について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层は,时系列データおよびシーケンスデータのタイムステップ间の长期的な依存关系を学习します。
层の状态は,
以下のコンポーネントは,层のセル状态および隠れ状态を制御します。 次の図は,タイムステップ吨でのデータのフローを示しています。この図は,ゲートがセル状态や隠れ状态をどのように忘却,更新,および出力するかを示しています。 LSTM層の学習可能な重みは,入力の重みW (
ここで,f, g,およびoはそれぞれ,入力ゲート,忘却ゲート,セル候補,および出力ゲートを表します。 タイムステップ吨でのセル状态は次で与えられます。
ここで, タイムステップ吨での隠れ状态は次で与えられます。
ここで, 次の式は,タイムステップ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.施米德休伯,1997.长短期记忆。神经计算,9(8),pp.1735-1780。
[4] Glorot,泽维尔,和约书亚·本焦。“了解培训深前馈神经网络的难度。”在人工智能和统计,249-356第十三届国际会议论文集。撒丁岛,意大利:AISTATS,2010。
[5]他,开明,象屿张,少卿仁和健太阳“深入研究了整流器:超越人类水平的性能上ImageNet分类。”在计算机视觉,一○二六年至1034年的2015年IEEE国际会议论文集。华盛顿特区:IEEE计算机视觉协会,2015年。
[6]萨克斯,安德鲁M.,詹姆斯L.麦克莱兰,和瑟亚·甘加利。“精确解在深线金宝搏官方网站性神经网络学习的非线性动力学。”预印本的arXiv的arXiv:1312.6120(2013)。
使用上の注意および制限:
英特尔
StateActivationFunction
GateActivationFunction
使用上の注意および制限: GPUコード生成の場合, GPUコード生成の場合,
sequenceInputLayer
|bilstmLayer
|gruLayer
|classifyAndUpdateState
|predictandanddatestate.
|重置静止
|sequenceFoldingLayer
|flattenLayer
|sequenceUnfoldingLayer
|
次のMATLABコマンドに対応するリンクがクリックされました。 コマンドをMATLABコマンドウィンドウに入力して実行してください。WebブラウザーはMATLABコマンドをサポートしていません。
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:
您还可以从以下列表中选择一个网站: 选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。如何获得最佳的网站性能
欧洲