言葉の流れを理解し、記憶する技術の発展

AI

言葉の流れを理解し、記憶する技術の発展

みなさん、こんにちは。Cygnusです。
今回は、AIやディープラーニングと密接に関連しながら発展を遂げている自然言語処理の分野について、人間のように文脈を理解し、記憶しながら処理をしていく技術を紹介します。


文脈を理解する技術の発展

  • Recurrent Neural Networks

自然言語処理においてディープラーニングを起点として発展した技術として、「Recurrent Neural Networks:RNN(再帰型ニューラルネットワーク)」がありますが、多くの文献や実例、応用分野の広さがそのインパクトの大きさを物語っています。
従来のニューラルネットワークでは、複数の入力値(または出力値)がある場合、それぞれが独立した前提として計算・学習されてネットワークが作成されます。しかし、現実世界を表現する場合には、独立した前提は多くの場合適切ではありません。
例えば、ある単語の次に置かれる単語は、文法的・文脈的に決まりますし、配置や流れを考慮しない言葉では意思疎通は困難ですので、単文・文章は連続的な時系列データとしてとらえる必要があります。
このことを受け、前に計算された情報に基づいて次の情報を計算できるように改良したのがRNNです。
RNNは、「内部状態」を保持し、入力値と前の内部状態に基づいて次の状態に遷移させることができ、最後の入力値と最終状態に基づいて出力値を予測できるようにしたニューラルネットワークです。連続した要素で同じ作業を繰り返し行うため、再帰型と呼ばれています。

上図のように、時刻tの内部状態h_tは、入力値x_tと時刻t-1の入力で計算された内部状態h_t-1に基づいて計算され、状態を遷移させることができます。
初期の内部状態h_0は通常0からはじめ、最初の入力(時刻t=1)x_1の値を元にh_1が計算されます。その後、時刻t=2ではx_2とh_1を元にh_2が計算されて〜を繰り返して行きます。
入力x_tと内部状態h_t-1(t≧1)に基づき、時刻tにおけるアウトプットを予測することもできます。
(※上図のUnfoldは、「内部展開」の意味で、左のループしたネットワークを順序付けされたネットワークに展開します)
ただし、入力値の数が多くなると、ずっと以前の状態が学習に考慮されずに薄れていく問題があるため、長い文や連続した文章など現実的なデータへの適用には課題が残っていました。その問題を解決するのに生み出された代表的な技術が、「LSTM(Long short-term memory)」です。

  • Long short-term memory
  • LSTMは、例えば文の切れ目や段落の切れ目など、前の状態を考慮しなくてもよくなった時点で、「効果的に忘れる」ことができるように設計したニューラルネットワークです。

    上図のように、状態の計算に対して「ゲート」と呼ばれる情報の取捨選択機構を設置し、ゲートの透過率を0~1のシグモイド関数で設定します(※シグモイド関数の詳細については参考記事「シグモイド関数の意味と簡単な性質」参照)。たとえば、忘却ゲート(図中のf_t(Forget Gate))が1で、入力ゲート(図中のi_t(Input Gate)が0であれば、状態は永久に保持されます(内部状態を忘却しない、という設定になります)。
    実際の文脈に応じて、各ゲートでの取捨選択を設定して実現するものです。文が変わったり話題が変わったりした場合に内部状態を忘却し、新たに内部状態を計算し始めて効果的な範囲での学習を行って行きます。

  • 応用事例
  • このRNNやLSTMをベースに、連続する言葉の中で、直前の言葉に基づき次の言葉の出現を予測することのできる「言語モデル」が作成されています。「言語モデル」を使用すると、単語、文の並びの妥当性を評価すること、入力された文から新たな文を生成することが可能となるため、以下を代表として、様々な応用がされています。

    機械翻訳:
     入力を原文、出力を訳文として学習し、入力された文章に対する出力を訳文として生成する「Seq2Seq」という技術で応用されている
    音声認識:
     次に来る可能性の高い音節のいくつかを予測して待ち構えておき、認識率を劇的に向上させることに成功している

    記憶しながら処理をする技術

    RNN、LSTMによって、文の並びや文脈を考慮した言語の理解ができる技術が発展し、今後も精度の向上や応用分野の拡張が見込まれます。次のステップとして、我々人間が会話するときにお互いが言ったことを「記憶して」活用していることを踏まえて、新たに記憶機能を作り上げて発展させている動きがあります。これは人間の脳でいう「海馬」にあたり、短期記憶を機械上で実現するものです。

    例えば、短期記憶が必要となる例はこのようなものがあります。
    「雄介はサッカーボールを持った」
    「真一は庭に行った」
    「雄介は寝室に行った」
    「洋子は二階に上がった」
    「雄介はリビングに行った」

    質問:「サッカーボールはどこにある?」
    回答:「リビングにある」

    • Dynamic Memory Network
    • 短期記憶を実現した有名なモデルとして、リチャード・ソッチャー(MetaMind創業者)らが2015年に発表した「Dynamic Memory Network」があります。
      LSTMのネットワークの外部にメモリを用意し、状態の計算の際にメモリから読み込みを実施し、計算後の結果を制御してメモリに書き込む機構を組み込んだモデルです。読み込み、書き出しの双方で、何をどの程度読み込むか、書き出すかを制御することで、必要な情報を長期的に保持しながら学習していきます。(場所や人、時間など重要な情報をしっかり覚えておき、助詞など重要でない情報は覚える必要がない、など制御していく)
      この成果の一部として、上記の例のような単文を複数覚えさせ、単文の理解だけでは回答できない質問に対し見事に回答するという様々な実例を挙げています。

    総論

    自然言語処理の分野は、一時期の冬の時代をディープラーニングの活用により抜け、質問応答、要約、機械翻訳、音声認識といった今後のAI発展に必要な技術は日々進歩しています。
    今回ご紹介した技術は、人間が言語をどのようにとらえているか、それに基づいてモデル化の試行錯誤を重ね、今後の要素技術となっていくことを大いに期待させてくれるものです。この技術を生み出し、育んできたのは、世界のトップ研究所で実績を上げ続けている研究者、そして技術とその恩恵を世界中の多くの人に届けるべく起業した実業家の方々です。

    世界の最先端を追っていく日本においても今、研究者、実業家・企業、これからの未来を担う学生の各々が理念を持って結びつき、技術の発展を実現し続けることが必要とされていると考え、貢献していきたいです。


    参考記事