2024年08月07日
こんにちは。新入社員のIです。
今回は私が大学時代に研究で利用していた時系列データにおけるAIモデルの利用についてまとめていきます。
時系列データとは、1日ごとに記録されるお店の売り上げデータや、音声のデータなどの時間が経過するに連れて変化していくデータのことを指します。
古典的な時系列モデルとしては自己回帰モデルという名前の予測が多く使われていました。これは、前の1時点や2時点に影響するというモデルです。このモデルは時系列予測としては非常に有名でしたが、予測精度に限界があったり、複数の情報を一度に処理するという点で不利な点がありました。
AIモデルの基礎となるニューラルネットワークでは、多くの入力の情報を同時に用いることで高い精度を実現しています。一方、時系列モデルでは、直前のデータを用いて未来を予測するといった作業が必要になっていきます。
そこで、時系列予測におけるAIモデルとしてRNN(再帰型ニューラルネットワーク)と呼ばれるものが開発されました。これは以下の図のように、直前の情報が次の時点に影響していくという構造を保ったまま学習していくモデルです。
しかしこのモデルでは、過去の情報がどんどん蓄積されていったり、逆に時間がたつにつれて情報を失ってしまったりなどという問題がありました。そこでLSTMというモデルが開発されました。これはRNNの構造に加えて「入出力ゲート」や「忘却ゲート」という構造を追加することで、過去の情報を取捨選択しながら未来に伝えていくという構造のモデルが作られました。人間の脳にも、過去の情報や重要でない情報を忘れていくことで記憶を残していくという性質を持っています。
LSTMのおかげで長期間の時系列データを扱うことができるようになり、たくさんのデータから学習していくというAIの利点をより活かしやすくなりました。
また、LSTMにおける「忘却ゲート」と「入力ゲート」を「更新ゲート」としてまとめたGRUというモデルも作られ、これはLSTMと近い精度でありながらLSTMよりも軽いモデルとして注目されました。
その一方で、Transformerと呼ばれるモデルも開発され、これはのちにLLM(大規模言語モデル)で非常に注目を集めるものとなりました。TransformerはAttentionという構造を持つことで、入力同士の「相互関係のようなもの」をモデルに組みこむことができるようになりました。これによって、例えば言語モデルの世界では、お互いに関連の強い単語をモデル化することでよりリアリティのある会話モデルを作成することができるようになりました。
近年はこれらのようなモデルだけでなく、NeuralProhetやDeepSSMといった時系列の周期性やトレンドもモデルに取り入れたモデルも注目されつつあります。NeuralProphetは、Facebook社(現Meta社)の開発したProphetというモデルに深層学習の技術を取り入れたモデルです。これは、時系列を「トレンド」「季節性」「周期性」に分離することができるため、季節変動や周期変動(曜日の効果)などを取り除いた売り上げの傾向などを分析することができます。DepepSSMはSSM(状態空間モデル)に深層学習を取り入れたモデルで、Prophetと比較してより柔軟な構造を設定することができるという利点があります。
時系列予測のAIモデルでは、これを使っておけば必ず予測がうまくいくといった最強のモデルが存在するわけではなく、学習させる前にデータをうまく変換したり、予測したい時系列以外のデータをうまく組み合わせるなども必要になってきます。
【2023/12 勉強会】 時系列予測方法とECサイトについてのお勉強