ホーム » LSTM » 正弦波 (sine wave) の RNN (LSTM) による予測の TensorFlow による実装

正弦波 (sine wave) の RNN (LSTM) による予測の TensorFlow による実装

正弦波 (sine wave) の RNN (LSTM) による予測の TensorFlow による実装

定番ですが、sine wave の RNN による予測をやっていなかったので、例によって TensorFlow で簡単に実装してみました。普通の regression と異なるのは、履歴 sequence から next value を予測することです。

訓練サンプルデータは以下のように安直に生成。取りあえずノイズなしです :

x = np.sin(np.arange(0, 10*math.pi, 0.01))

seq = []
next_val = []

steps_of_history = 100
for i in range(0, len(x) - steps_of_history, 1):
    seq.append(x[i: i + steps_of_history])
    next_val.append(x[i + steps_of_history])

seq = np.reshape(seq, [-1, steps_of_history, 1])
next_val = np.reshape(next_val, [-1, 1])

trainX = np.array(seq)
trainY = np.array(next_val)

モデルは下左図の tensorboard の出力のように LSTM 層を3つ並べて FC (全結合)層を追加してみましたが、実際には simple な RNN 層 + FC 層でも十分だったようです。
下右図は損失グラフで、20 epochs も必要なし。

sine_lstm_graph

sine_lstm_loss

問題が単純過ぎたようですが、一応 matplotlib で描画してみました。
履歴 sequence の長さは 100 です :

sine_lstm2

 

以上

AI導入支援 #2 ウェビナー

スモールスタートを可能としたAI導入支援   Vol.2
[無料 WEB セミナー] [詳細]
「画像認識 AI PoC スターターパック」の紹介
既に AI 技術を実ビジネスで活用し、成果を上げている日本企業も多く存在しており、競争優位なビジネスを展開しております。
しかしながら AI を導入したくとも PoC (概念実証) だけでも高額な費用がかかり取組めていない企業も少なくないようです。A I導入時には欠かせない PoC を手軽にしかも短期間で認知度を確認可能とするサービの紹介と共に、AI 技術の特性と具体的な導入プロセスに加え運用時のポイントについても解説いたします。
日時:2021年10月13日(水)
会場:WEBセミナー
共催:クラスキャット、日本FLOW(株)
後援:働き方改革推進コンソーシアム
参加費: 無料 (事前登録制)
人工知能開発支援
◆ クラスキャットは 人工知能研究開発支援 サービスを提供しています :
  • テクニカルコンサルティングサービス
  • 実証実験 (プロトタイプ構築)
  • アプリケーションへの実装
  • 人工知能研修サービス
◆ お問合せ先 ◆
(株)クラスキャット
セールス・インフォメーション
E-Mail:sales-info@classcat.com