初心者向け!AIが過去を記憶する仕組み「RNN」と「BPTT」を徹底解説
こんにちは。ゆうせいです。
最近、AIが自然な文章を作ったり、音声を正確に認識したりするニュースをよく耳にしませんか。あの裏側で大活躍している技術があるのをご存知でしょうか。今日は、AIに「記憶力」を持たせる魔法のような仕組みについてお話ししましょう!
AIに記憶力を持たせる「RNN」とは?
RNNは「リカレント・ニューラル・ネットワーク」の略称です。リカレントとは「繰り返す」という意味を持っています。
人間が本を読むとき、前のページのあらすじを覚えているからこそ、今のページの内容がスッと頭に入ってきますよね。もし前のページを毎回完全に忘れてしまったら、物語は全く理解できないはずです。
従来のAIは、まさに「毎回記憶をリセットしてしまう読者」でした。そこで画期的な仕組みが登場します。過去の情報をグルグルとループさせて、次のステップに引き継ぐことができるようになったのです。
AIの頭の中の計算を数式でイメージすると、以下のようになります。
現在の状態 過去の状態
重み
新しい入力
式の計算によって導き出された記憶を、次から次へとバケツリレーのように渡していくイメージですね。
失敗から学ぶタイムトラベル「BPTT」
さて、ここからが今日一番の山場です!RNNが賢くなるためには、学習という特訓をしなければなりません。そこで登場する必殺技が「BPTT」です。
BPTTは「バックプロパゲーション・スルー・タイム」と読みます。日本語に直訳すると「時間を遡る誤差逆伝播法」という、必殺技のようなかっこいい名前ですね。
どういう意味なのか、リレー競走で例えてみましょう。
アンカーがゴールしたとき、予想よりタイムが遅かったとします。監督は「誰のバトンパスが下手だったのか」を突き止めるため、ゴール地点から時間を巻き戻すようにビデオを見直しますよね。
「アンカーは悪くない、第三走者のスタートが遅いぞ。いや、第二走者がバトンを渡す角度が悪かったんだ」というように、過去に遡って原因を探り、それぞれの選手のフォームを修正していきます。
BPTTはまさに同じ仕組みをAIの中で行っています。最終的な予測が間違っていたとき、時間を遡って「過去のどの時点の記憶の使い方が悪かったのか」を計算し、修正していく技術なのです。時間を超えて反省会をするAIの姿、なんだか健気だと思いませんか。
RNNとBPTTのメリットとデメリット
どんなに優れた技術にも、良いところと苦手なところが存在します。しっかりと両面を把握しておきましょう。
メリット
- 時間の流れがあるデータを扱える音声や文章、株価の動きなど、順番に意味があるデータを処理するのが大得意です。過去の文脈を読み取れるので、自然な翻訳や予測が可能になります。
デメリット
- 昔のことを忘れてしまうリレーの人数が100人、1000人と増えたらどうなるでしょうか。最初の人のバトンパスのミスを、ゴール地点から正確に指摘するのは至難の業ですよね。AIも同じで、時間が長すぎると一番最初の情報を忘れてしまうという弱点があります。専門用語では「勾配消失問題」と呼びます。
- 学習に時間がかかる毎回ビデオを巻き戻して全員の動きをチェックするため、とにかく計算に膨大な時間がかかってしまいます。
これからの学習に向けて
今回はRNNとBPTTという、AIの記憶と反省のメカニズムについてお伝えしました。少しでもイメージを掴んでいただけたなら嬉しいです。
「昔のことを忘れてしまう」という弱点について触れましたが、実は現在、弱点を克服した「LSTM」というさらに進化した技術が第一線で活躍しています。
セイ・コンサルティング・グループでは新人エンジニア研修のアシスタント講師を募集しています。
投稿者プロフィール
- 代表取締役
-
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。
学生時代は趣味と実益を兼ねてリゾートバイトにいそしむ。長野県白馬村に始まり、志賀高原でのスキーインストラクター、沖縄石垣島、北海道トマム。高じてオーストラリアのゴールドコーストでツアーガイドなど。現在は野菜作りにはまっている。