LSTM (Long Short Term Memory、長短期記憶)ネットワークは、たとえばテキストの文字や音楽の音符など、連続しそのつながりの順番が意味を持つデータを扱うときに有用なニューラルネットワークのアーキテクチャの1タイプです。このクラスを使用すると、テキスト本体に訓練済みモデルを実行し、新しいテキストを生成させることができます。
自分のモデルがある場合、このチュートリアルを参考にするとモデルが訓練できます。また訓練済みモデルを使用することもできます。
ml5.LSTMGenerator()は廃止されたようで、サンプルコードはml5.charRNN()に置き換えられています。しかし公式のドキュメントは古いまま更新されていません。以下ではml5.LSTMGenerator()をml5.charRNN()に置き換えて訳しています。
目次
シンタックス
ml5.LSTMGenerator(model, ?callback)
ml5.charRNN(model, ?callback)
パラメータ
model – 訓練されたLSTMモデルへのパス
callback – オプション。モデルがロードされたときに呼び出される関数。callbackが与えられない場合には、モデルがロードされたときに解決するPromiseを返す。
プロパティ
.ready – モデルがロードされたかどうかを表すブール値。
.model – 訓練済みのLSTMモデル
.vocabSize – ボキャブラリのサイズ(使用可能な文字の総数)
メソッド
.generate(options, ?callback) – 元になるテキスト(シードテキスト)をベースに、内容を生成する。文字列を返す。
options – seed、length、temperatureの入力パラメータを指定するオブジェクト。デフォルトのlengthは20、temperatureは0.5。seedはモデルからのランダムな文字。オブジェクトは次のようになる。
{
seed: 'The meaning of pizza is'
length: 20,
temperature: 0.5
}
callback – オプション。モデルが内容を生成したときに呼び出される関数。callbackが与えられない場合には、モデルが新しい内容を生成したときに解決するPromiseを返す。
このほか、reset()やfeed()、predict()などのメソッドがあるようですが、ドキュメント化されていません。