LSTM レイヤーを使用して、複数のメモリ セルを多重化しています。とはいえ、いくつかの入力オプションがあるので、そのうちの 1 つだけを非表示レイヤーにフィードしたいと考えています。このような方法で LSTM への入力を調整したので、cell_input に加えて、input_gate、forget_gate、および output_gate に基づいて適切なセルが選択されます。
ただし、LSTM レイヤーはメモリ セルの値を変換するようですが、そのまま出力に渡すことを期待しています。
たとえば、便宜上、input_gate、forget_gate、cell_input、および output_gate に対応するグループに出力した次の入力を渡します。
ig: [ 0. 1. 0. 0. 0. 0.]
fg: [ 0. 0. 0. 0. 0. 0.]
ci: [ 0.5 0.5 0.5 0.5 0.5 0. ]
og: [ 1. 1. 0. 0. 0. 1.]
グループが示すように、LSTM レイヤーがci[0]
、ci[1]
、およびのみをci[5]
出力に渡すようにしog
ます。ただし、出力バッファーに表示される内容は異なります。
LSTM out: [ 0.16597414 0.23799096 0.1135163 0.1135163 0.1135163 0.]
私にとってまったく無意味というわけではありませんが (0 番目と 1 番目のエントリは残りのエントリよりわずかに大きい)、この出力は[.5 .5 0. 0. 0.]
私が期待したものではありません。
私が LSTM について学んだことから、メモリ セルから実際の出力への遷移機能はないようです。