「ChatGPTについて考える」シリーズのイントロダクションに続く第1回目では「記号処理と単語ベクトル」について取り上げたいと思います。
とはいえ、「単語ベクトル」はGPTに限らず、深層学習を自然言語に対して用いる場合の基本技術になります。
もともと人工知能は、数値処理と違って、知識を記号と記号の関係で表現する記号処理ととらえられていました。言語は文字と単語という記号であり、単語のリストとして文が表現されていますので、記号処理の対象として相性が良いと考えていました。記号の関係も、単語の活用や、文法理論として言語学、国語学で研究されてきた蓄積があります。どの理論を使うかの選択はありましたが、一から理論を構築する必要はありませんでした。もちろん理論に収まり切れない例外があることはわかっていましたが、「例外」として処理できない種類の多さに悩まされることになります。
これに対して、音声認識/画像認識は、連続量である音波/画素の並びから、音素/(認識結果の)ラベルという記号を取り出すことになります。特徴量をみつけ特徴量の組み合わせでパターンを認識するのに苦労をしているように見えました。
それに対して2010年代、深層学習を用いることにより画像認識が飛躍的に性能を上げることになりました[岡谷 2013]。音声認識も2010年代から深層学習が取り入れられているようです[河原 2018]。
深層学習の要件に「微分可能」というのがあります。記号のままでは微分可能ではありませんから、ここで単語をベクトル表現にすることになります。ベクトル表現は単語の類似度が計算できるLSIなど以前からありましたが、Word2Vecでking - man + woman = queen単語間の計算ができるようにもなりました。
Word2Vecで単語間の関係を表現できているように見えますが、WrodNet、分類語彙表、EDR電子化辞書のような階層的な語彙体系は明示的には表現できていません。意味の上位下位関係が定義されていれば、含意関係を用いた論理的な文の解釈が可能になります。もちろんNLIタスクでTransformerベースの研究が上位を占めているように、含意関係も扱えているようにみえますが、あくまで大量の学習データで学習する中で含意関係 (の一部) が含まれているということでしょう。少ない出現数の単語ではうまくいかないと予想されます。
単語ベクトルは深層学習の導入に必要でしたが、これまで構築した語彙体系が使えないことになりました。ChatGPT (GPT) で上位下位関係を教えていけばよいのかもしれません。
参照:
岡谷 2013 「画像認識のための深層学習」人工知能学会誌 28巻6号 https://www.jstage.jst.go.jp/article/jjsai/28/6/28_962/_pdf
河原 2018 「音声認識技術の変遷と最先端——深層学習による End-to-End モデル——」日本音響学会誌 74巻7号
https://www.jstage.jst.go.jp/article/jasj/74/7/74_381/_pdf