Wolfram言語

回帰ネットで柔軟に作業する

Wolfram言語は,性能を犠牲にしなくても異なる長さの入力のバッチがシームレスに効率よく扱える,高レベルの回帰層を提供する.さらに,NetStateObjectNetFoldOperator等のツールによって,回帰評価やカスタムの高レベル回帰層の定義に簡単にアクセスできる.

まず簡単な回帰層の作成および使用方法を示す.2成分のベクトルの可変長数列に作用する回帰層を定義する.

可変長の数列のバッチで層を評価する.

文字の可変長列を取りそれぞれの列に対して数を生成するネットを定義する.

可変長文字列のバッチで層を評価する.

NetChainまたはNetGraphで定義された回帰層,回帰ネットはデフォルトでは状態がない.これらの初期の内部状態は零ベクトルであり,評価の度にリセットされるため,同じ入力で繰返し評価すると同じ結果が出る.

ネットの回帰層は,NetStateObjectで状態のあるオブジェクトにすることができる.NetStateObjectは評価後それ自身の状態を保つので,同じ入力を繰返し評価しても一般に異なる結果となる.このようにして回帰層の内部状態を保ち,例えば,テキストを効率的に生成する.

NetFoldOperatorを使って既存のNetGraphからカスタムの回帰層を生成する方法を説明する.乗算型LSTMの中核単位を定義する.

完全なWolfram言語入力を表示する

乗算型LSTMを生成する.

長さ64のベクトルの可変長数列のバッチで層を評価する.

関連する例

de en es fr pt-br zh