Keras を用いるとLSTMの学習も簡単に実行出来ます(ソース 1)。

なお前ページの例では出力層の活性化関数として softmax ではなくて linear を指定していますので、今回の例では損失関数としてカテゴリカル・クロスエントロピーではなくて「最小二乗誤差(tf.keras.losses.MeanSquaredError)」を使っています。

また正解率を計算することも出来ないので、評価関数の指定は省略しています。

ソース 1: Keras によるディープラーニングの実行(最小二乗誤差の場合)
# 学習設定
loss = tf.keras.losses.MeanSquaredError()  # 最小二乗誤差
opt = tf.keras.optimizers.Adam( learning_rate=r )
model.compile(loss=loss, optimizer=opt)
    
# ディープラーニング実行
# 学習中の経過を表示したい場合は verbose=1 にする
model.fit(data_training, label_training, epochs=E, batch_size=B,  verbose=0)

※1 r : 学習率
※2 data_training, label_training : 学習用入力信号全体とラベル全体、
※3 E : エポック数
※4 B : バッチサイズ

では各行の意味について順を追って説明していきたいと思います。

# 学習設定
loss = tf.keras.losses.MeanSquaredError() # 最小二乗誤差
opt = tf.keras.optimizers.Adam( learning_rate=r )
model.compile(loss=loss, optimizer=opt)

の行で学習の各種設定をしています。

具体的には、最初の行(loss = 〜)で損失関数として「最小二乗誤差」を指定しています。
2行目(opt = 〜)で最適化アルゴリズムとして「Adam」を指定しています。
そして最後の行(model.compile〜)でモデルのコンパイルをしています。

モデルをコンパイルしたら、あとはいつもの様に学習データセットを与えて fit 関数で学習を開始します。