生成AI

AIエージェント
生成AI
ChatGPT連携サービス
AI受託開発
対話型AI -Conversational AI-
ボイスボット
バーチャルヒューマン
教師データ作成
AI研究開発
通訳・翻訳
声紋認証
機密情報共有・管理
契約書管理システム
ワークステーション
FAQシステム
AIカメラ
生体認証
インボイス制度対応システム
データセットの収集・購入
コールセンター
人事・総務向け
インバウンド対策
コンバージョンアップ
KYT・危険予知で労働災害防止
無料AI活用
顧客リスト自動生成
ロボットで自動化
LINE連携
セキュリティー強化
テレワーク導入
AI学習データ作成
配送ルート最適化
非接触AI
受付をAIで自動化、効率化
AIリテラシーの向上サービス
日本語の手書き文字対応AI-OCR
Windows作業の自動化RPAツール
リスク分析AIで与信管理
紙帳票仕分けAI-OCRサービス
サプライチェーン
AIコンサルティング
最終更新日:2024/02/08
LSTMとは?
第三次AIブームと呼ばれる昨今、さまざまな企業が積極的にAI(人工知能)を導入し始めており、私たちの生活にも溶け込みつつある状況です。スマートフォンでも気軽にAIを利用できるため、もはや欠かせない存在といっても過言ではないでしょう。
その中でも、チャットボットやスマートスピーカーに用いられている「自然言語処理」は、多くの価値を見出すことから特に注目されています。今回は、その自然言語処理に使われる「LSTM」について詳しくご紹介していきます。RNNとの違いについても解説していきますので、ぜひ参考にしてみてください。
ディープラーニングについて詳しく知りたい方は以下の記事もご覧ください。
ディープラーニングとは?仕組みやできること、実用例をわかりやすく紹介
LSTMとは、「Long Short Term Memory」を略した言葉であり、ニューラルネットワークに使用される層の一つです。このLSTM自体は、ディープラーニングが流行する前から存在していた手法であり、1997年に原著論文が発表されました。
そんなLSTMは、RNN(リカレントニューラルネットワーク)という、時系列を考慮する層を改良したものであり、もともとRNNが抱えていた勾配消失問題を解消しています。時系列を考慮することができるという特徴を活かし、主に自然言語処理や時系列データの予測といった場所で利用されている技術です。
LSTMと比較されることが多いのが、RNN(Recurrent Neural Network)です。日本語では再帰型ニューラルネットワークと呼ばれています。RNNは、ニューラルネットワークを拡張し、時系列データを扱えるようにしたものです。
時系列データとは、時間が経過するとともに値が変化していくデータのことです。たとえば、実店舗における1日の売上データ、ECサイトにおける1日のアクセス数、工場におけるセンサデータなど、さまざまなデータが時系列データとして挙げられます。なお、RNNについては以下の記事で詳しくご紹介していますので、あわせてご覧ください。
自然言語処理で一躍脚光を浴びたRNNとは?初心者に優しく解説!
LSTMは、どのような仕組みで成り立っている技術なのでしょうか。ここからは、LSTMの仕組みについて詳しくみていきましょう。
参考:Understanding LSTM Networks
忘却ゲートは、長期記憶から情報を忘却するときに必要となる制御を行うためのシグモイド層です。LSTMの最初のステップである「セル状態から捨てる情報の判定」において用いられます。
ht−1ht−1 と xtxt を見て、セル状態 Ct−1Ct−1 の中のそれぞれの数値のために 0 と 11の間の数値を出力します。 1が表すのは「完全に維持する」であり、0が表すのは「完全に取り除く」です。
次のステップで用いられるのが「入力ゲート」です。入力ゲート層では、セル状態で保存する新たな情報の判定が行われます。入力ゲート層もシグモイド層の一種で、どの値を更新するか判定するのが主な役割です。
そして、 tanh 層において、セル状態に加えることができる新しい候補値である「ベクトル C~t 」を作成します。次のステップでは、状態を更新するために、これら2つを組み合わせます。
出力するものを判定するために用いられるのが出力ゲートです。この出力は、セル状態に基づいて行われるものであり、フィルタリングされたバージョンとなります。
まず、シグモイド層を実行します。この層は、セル状態のどの部分を出力するか、判定していきます。そしてその後、判定された部分だけを出力する必要があるため、セル状態にtanhtanh を適用させ、それにシグモイド・ゲートの出力を行っていくわけです。
LSTMの大きな特徴として挙げられるのは、「y_{t-1}という古いアウトプットを次の段階でインプットとして使用する」というRNNの構造を維持していながらも、「C_{t-1}という長期記憶を少しずつ変えていくことができる」という点です。
また、これらを3つのゲートで管理している点も大きな特徴といえるでしょう。ここで用いられているゲートは、「Forget Gate」「Input Gate」「Output Gate」の3つです。
「Forget Gate」は、古いC_{t-1}のうちどの部分を忘れるかという部分の役割を担っています。「Input Gate」は、新しいインプットと一つ前のアウトプットを組み込むという役割を担っています。そして「Output Gate」は、更新された長期記憶をもう一度処理し、アウトプットを作るという役割を担っているわけです。
現在、LSTMはさまざまな分野で活用されています。実際にどのような場所で活用されているのか、その活用事例について詳しくみていきましょう。

LSTMは、文章生成の分野でも活用されています。その一例として、架空の名前から架空の人物の歴史概要を作成させたというものがあります。ここで用いられた方法は、wikipediaに掲載されている人物の概要部分を抜き出し、RNNにトレーニングさせるというものです。
トレーニングさせたモデルに対して名前を入力することで、その人物の概要を出力してくれるようになったといいます。文章を生成させるモデルの場合、多層パーセプトロンのようなモデルでは、出力の長さが一定になるため、正確には作れません。
ただし、RNNを使うことで、入力が単語(文字)、出力が次の単語(文字)として学習できるようになります。そのモデルに対して出力された単語を入力させると、文章の生成が可能になるのです。
そして、RNNは入力によって内部の重みを更新し、次の入力に対する準備を行います。これにより、例えば前の入力が「私/の/名前/は」と来たら次にくるものが女性の名前、「僕/の/名前/は」と来たら次にくるものが女性の名前、というようにモデルを作成することが可能になります。
ただし、RNNは情報を長く記憶することが得意ではありません。単語をいくつか入力するだけで、過去の情報は忘れてしまうのです。そのため、LSTMを活用すると、その問題を解消できます。
たとえば、「私の名前は真由美です。最近は~~~ところで…」といった長文を入力していくと、「ところで」をモデルに入力するタイミングで「真由美」という名前は忘れてしまう可能性が高くなるのです。

LSTMモデルを構築すれば、1時間ごとの株価を予測することも可能になります。その方法としては、まずデータのインポートを行い、株価データの波形を確認していきます。入力データは、数日分のデータを集めた「窓」と呼ばれる形に加工します。このためには、test,trainのデータをそれぞれ加工しなければなりません。これらの前準備を終えたら、実装していきます。
LSTMでは、予測値(青グラフ)が実測値(オレンジグラフ)を少し遅れる形で後追いするケースがあります。これは、LSTMにおいては頻繁に起こる現象といわれており、タイムラグがあるモデルのため、「Lag Model(ラグモデル)」とも呼ばれることがあるそうです。
RNNは、実店舗における毎日の売り上げデータ、ECサイトにおける訪問者数、また株価の動きや温度変化といったデータを取得して、その数字がどのように変化していくか予測していくものです。
それに対しLSTMは、RNNでは対応することができなかった長いデータでも、確実に読み込めるよう設計されているのが特徴です。RNNとの大きな違いとしては、隠れ層の仕組みが挙げられるでしょう。
RNNの隠れ層とは違い、LSTMの隠れ層は「LSTM block」と呼ばれるメモリが採用されています。また、3つのゲートを持つブロックが採用されている点も異なるポイントです。
これにより、長期の時系列データもしっかりと処理を行えるようになりました。そのため、RNNよりも高い実用性を実現しており、気象予報や株価の予測といったさまざまな分野での予測に活用されているのです。
GRUは、ゲート付き回帰ユニットとも呼ばれるもので、LSTMの変化形のネットワークです。LSTMと異なるポイントとしては、LSTMよりもゲートが1つ少ない点が挙げられます。また、配線も少し異なります。
さらに、入力ゲート、出力ゲート、忘却ゲートの代わりに更新ゲートがあるのも特徴です。更新ゲートは、最後の状態からどれくらいの情報を保持し、前の層からどれくらいの情報を取り込むかを決定していきます。なお、リセットゲートは、LSTMの忘却ゲートと同じように機能しますが、位置付けは異なります。
今回は、自然言語処理に使われる「LSTM」についてご紹介しました。RNNでは対応することができなかった長いデータでも、確実に読み込めるよう設計されているため、さまざまな分野で活用されていることがお分かりいただけたのではないでしょうか。
今後はどのような分野でLSTMが活躍していくのか、ますます期待が膨らみます。
なお、以下の記事ではBERTについて詳しくご紹介していますので、ぜひこちらもご覧ください。
Googleが誇る「BERT」とは?次世代の自然言語処理の特徴を解説
機械学習について詳しく知りたい方は以下の記事もご覧ください。
機械学習とは何か?種類や仕組みをわかりやすく簡単に説明
AIについて詳しく知りたい方は以下の記事もご覧ください。
AI・人工知能とは?定義・歴史・種類・仕組みから事例まで徹底解説
LSTMとは、「Long Short Term Memory」を略した言葉であり、ニューラルネットワークに使用される層の一つです。このLSTM自体は、ディープラーニングが流行する前から存在していた手法であり、1997年に原著論文が発表されました。
LSTMの活用事例として、以下が挙げられます。
LSTMは、RNN(リカレントニューラルネットワーク)という、時系列を考慮する層を改良したものであり、もともとRNNが抱えていた勾配消失問題を解消しています。時系列を考慮することができるという特徴を活かし、主に自然言語処理や時系列データの予測といった場所で利用されている技術です。
業務の課題解決に繋がる最新DX・情報をお届けいたします。
メールマガジンの配信をご希望の方は、下記フォームよりご登録ください。登録無料です。
AI製品・ソリューションの掲載を
希望される企業様はこちら