AIは言葉をどのように処理しているのか──「Word2vec」と「RNN」
画像認識や自然言語処理の技術革新に大きな貢献を果たした深層学習モデルに「Transformer」がある。その前に、自然言語処理がどのように進むかを確認しよう。
例えば「標高が高い山で紅葉が見頃に」という文章があったとする。これがニュースのタイトルだとして、何らかのジャンル(社会、気象、経済)に自動で分類したいなら、意味の理解が必要になる。
2013年に公開された「Word2vec」では、周囲のコンテキストから単語を予測することで、単語の分散表現を得る。上記の例なら「標高/が/?/山/で」と文章を分解し、「?」の部分の推論を繰り返すことで、単語の出現パターンを学習して単語の意味が含まれたベクトルを生成する。
単語をベクトルにするのは、深層学習(コンピュータ)で処理できるように数値化する必要があるため。原始的な方法は「ワンホットエンコーディング」と呼ばれる手法で、単語ごとに「0」または「1」のフラグで表現したベクトルになる。文章が長くなるとベクトルはとても長くなり、長さの割に情報量が少ない(sparse)ものとなってしまう。
そこで「Embedding」という手法にすると、固定長の数値で表現できる。よってよりコンパクトになり、数値が近いと意味も近いものになる。例えば「cinema」と「movie」は近い数値となる。こようにWord2vecは単語に注目した自然言語処理だ。
一方で、文章の意味表現に注目した自然言語処理に「RNN(Recurrent Neural Network)」がある。過去から現在、未来へとデータを継続的に処理することにより単語の順序を考慮し、下図の青い四角「h」の部分、「隠れ状態」と呼ばれる情報を記憶していくニューラルネットワークとなっている。ただしRNNでは単語を順に処理していくため、並列化が困難という課題があった。大量のプロセッサがあっても学習を高速化できないのだ。
2017年、「Attention is all you need」と題した論文で、大きなデータを扱えるTransformerモデルが紹介された。このTransformerモデルもニューラルネットワークアーキテクチャの一種で、単語の意味表現に注目しており、文書の順序を考慮するために「ポジショナルエンコーディング」という手法を採り入れているのが特徴だ。
なお「Attention」は2015年に発表されており、当時はRNNと一緒に使う必要があった。しかし先の論文ではRNNが必須ではなくなり、TransformerからBERT、GPT-2、T5などのLLM(Large Language Model)が派生している。なかでもPaLMはGoogleが発表した超巨大なLLMで5400億個のパラメーターで学習されている。
先の論文の共著者らが次々とLLMでスタートアップを起こし、また近年ではLLMはゲームやロボット制御という分野にも進出している。最近ではKaggleユーザーの半数以上がTransformerを使用しているという調査結果もある。