大規模言語モデルは存在しない情報をつくりだして

しまう致命的な問題がある。

それを「幻覚(hallucination)」という。

例えば論文の引用。対話システムが示した箇所は実際には

その論文には含まれず、同一人物の5年後の論文にのっていた。

 

これは人間の「記憶違い」と同様の現象だと考えられる。

複数の記憶が混ざり合い、新しい事実をつくりだしてしまうのだ。

 

これは「汎化」と密接な関係がある。機械学習では、訓練データ

では見たことのない未知の問いにも正しく予測できるように

なってもらいたい。そのため訓練データから法則やルールを獲得し、

将来のデータに対してもうまく予測できることを目指すのだが、

この未知のデータに対応できる能力を汎化という。

 

回答を生成するときに、汎化によって本当には存在しないもの

をつくりだしてしまうことがある。機械学習の手法を用いる

大規模言語モデルも例外ではない。

 

現在の機械学習モデルでは、新しいことを覚えると、以前覚え

たことを忘れたり、怖したりしてしまう現象、「破滅的忘却」が

容易に起こる。その結果として「幻覚」が起こる。

そのため、学習の際には壊れた記憶を取り戻すために、繰り返し

同じデータを参照し、学習しなおすことが必要になる。

 

言語モデル

文に対して確率を割り当てることのできるモデルを、一般に言語

モデルという。例えば「私は走る」なら、「【私】という単語が

出現する確率」、「【私】の後に【は】が出現する確率」、

「【私は】の後に【走る】が出現する確率」を掛けた結果として

求めることができる。

 

このように言語モデルは、これまでの単語列から次に出現するであ

ろう各単語の出現確率を予測するモデルで構成することができる。

前の単語列から次の単語を予測できるように学習したモデルだ。

意味を捨てて、確率という構造の中で言語を扱うのだが、

結果として文を理解できるモデルができる。

 

自己教師あり学習

2018年にグーグルの研究者はBERTと呼ばれる言語モデルを

提案した。このモデルは大量のテキストデータにおいて、ランダムに

単語を消去し、消去された単語を残りのテキストから予測するように

学習を進めていく。そして、このモデルを使うときは、モデルが単語

を予測する部分は捨てて、モデルが単語を予測するために掲載した

文脈理解モデル(特徴抽出器とその出力結果である内部表現)を

別の目的に利用する。

 

この内部表現を利用して、様々な自然言語処理を学習させていくと、

単語当てタスクだけでなく、ほかのさまざまなタスクも効果的に

解けることがわかった。

 

このようにただでいくらでも正解データが手に入るような問題設定で、

教師あり学習を行う手法を「自己教師あり学習」と呼ぶ。

これは「教師あり学習」とちがって大量の訓練データを利用できる。

 

生成モデル

生成モデルとは、データを新たに生成できるモデルのこと。言語モデルも

自己回帰モデル(データを先頭から最後まで順に生成するモデル)と呼ばれ

る生成モデルを使った、言語生成モデルと位置付けられる。

 

特に2014年ごろから登場したニューラルネットワークと生成モデルの

組み合わせ(深層生成モデルとよぶ)と、生成モデルの学習法の発展に

よって、画像や音声、化合物といったデータも生成できることがわかってきた。

 

創発(Emergence)

モデルサイズを大きくしていく中で、それまでまったく解けなかった

問題がある時点から急に解けるようになる現象を「創発(Emergence)」

という。

 

なぜ創発が起こるかは解明されていない。有力な2つの仮説はある。

一つ目は宝くじ仮説。ニューラルネットワークは最初から答えをもって

いて、その正解(サブネットワーク=ネットワークの中の一部分)をネット

ワークから掘り出しているという考え方。この仮説なら、

大きなネットワークほどさまざまな問題を解くことができる。

 

2つめは構成属性文法仮説。言語や数学のように複数の要素が組み合わ

さって、より複雑な要素を構成できる場合に「構成性がある」という。

データが構成性をもつ場合、データが大きくなることによって、

ある段階から突然、背後にある構造を見つけることができ、

そこから問題解決能力が非連続的に改善される、と言う仮説だ。

 

ニューラルネットワーク

大規模言語モデルは、ニューラルネットワークとよばれるモデルを

利用して次の単語を予測する。ニューラルネットワークは脳の神経回路網を

参考にしてつくられたモデルで、ニューロンやシナプスといった脳と

同じ用語を用いるが、脳と同じしくみで情報を処理しているわけではない。

 

一つ一つの部品を神経細胞にならってニューロンと呼ぶ。ニューロン同士は

シナプスと呼ばれる一方向性をもつ接続部でつながる。各シナプスは重みと

よばれるパラメータをもっており、重みはその接続の強さを表す。

ニューロンとシナプスが集まり、大きなネットワークを構成する。

 

ネットワークはランダムにつながるのではなく、層とよばれる単位ごと

にまとまっており、層間はシナプスで接続されている。

 

各ニューロンは活性値とよばれる実数値で表される状態を持ち、活性値が

0より大きければ、そのニューロンが反応(発火)していることを表す。

活性値は、そのニューロンがつながっているニューロンの活性値と、

シナプスの重みを掛け合わせたものを足し合わせた合計値を入力値と

した、活性化関数の出力によって決定される。

 

ある場所のニューロンが発火すると、シナプスで接続するほかの周囲の

ニューロンに発火が波のように伝播していく。

 

入力を与えて出力を推定する「関数」をニューラルネットワークで

モデル化したい場合、ある領域のニューロンを入力に割り当て、ある領域

のニューロンを出力に割り当てる。入力層のニューロンの活性値を、

入力に対応する値に設定し、ニューラルネットワーク中で伝播させ、

出力層のニューロンの活性値を読み取り、それを出力することで

計算を実行する。

 

どれだけ複雑な関数でも、十分な数のニューロンとシナプスがあれば、

任意の精度で近似できることを数学的に示すことができる(万能近似定理)。

 

誤差逆伝播法

ニューラルネットワークの学習のエンジンで、非常に巨大で複雑な

ネットワークの学習を可能にする。

 

訓練データを与えて予測させ、間違った場合はパラメータ

(各シナプスの重みパラメータ)を修正という手順を繰り返すことで

予測の精度を高めるが、膨大な作業が必要になる。

 

そこで使うのが誤差逆転伝播法だ。今のネットワークの予測と正解の

誤差がニューラルネットワークの伝播と逆方向に流れていくのが

誤差逆転伝播法だ。各シナプスではこれら誤差情報をつかって

各パラメータをどう微調整するか、正確に求めることができる。

 

ディープラーニング

それまでなかった大きさのニューラルネットワークを使った学習を

ディープラーニング(深層学習)と呼ぶ。

 

ディープラーニングが成功した3つの理由

 

1ディープラーニングは表現学習を達成する

 

ディープラーニングによって獲得された表現は連続表現や分散表現と

呼ばれ、高次元(例えば数千から数十万次元)空間中の点に対応する。

点といっても高次元の点だから、多くの情報を保持し、異なる点同士

との多様で複雑な関係をもつことができる。

 

N次元空間中の点は、N個の独立した情報を持ち、N個の方向に広がり

をもってつながる。これは計算機にとって扱いやすく、例えば犬と猫が

似ているという関係性は、この表現学習によって獲得することができる。

 

2どんな複雑な問題も学習できる

ニューラルネットワークでは、誤差逆伝播法を使って学習に必要な修正を

効率的かつ正確に求めることができる。

 

3汎化する

ニューラルネットワークは学習の際に自動的に正則化に向けて問題を解く

のに適切なサイズに表現力を制御できることがわかった。この効果がある

おかげで、表現力を上げながら一方で過学習(訓練データに特化して

覚えてしまうこと。答えを丸暗記してしまって新しいデータに対して

無能になること)を防ぐことができる。

 

トラスフォーマー

ディープラーニングの発展において特に重要な役割を果たしたのが

トランスフォーマーと呼ばれるモデルだ。

 

注意機構

ディープラーニングでは、人間がデータや問題の表現方法を決めるの

ではなく、ニューラルネットワークが決めるようになったものの、

ネットワークの設計図、つまりどのニューロン間をシナプスでつなげる

のか、情報はどう流れるかは、人が設計していた。

 

データの流れ方の動的な制御を実現する仕組みの一つが注意機構

(Attention)である。注意機構は入力データに応じてどの情報を

残すか捨てるかを制御する。特定の情報に集中する仕組み。

 

注意機構は集合を注意対象とし、それらから情報を集め次の要素の値を

決定する。言語モデルなら注意対象の、集合の各単語(実装ではトークン)

に対応するニューロンの集合に相当する。そして注意機構はどの要素を

集めてくるかという注意の強さを決定する方法を学習によって獲得する。

 

注意機構は言語モデルにおいて、次に出現するであろう単語を予測するた

めに、過去の単語列から必要な情報を選択することに使われる。もう一つの

特徴は、遠くにある情報も効率的かつ正確に集めることができる。

過去の単語列で重要な部分を思い出す短期記憶(の思い出す部分)と

考えることができる。

 

トランスフォーマーは自己注意機構(過去の自分の注意処理結果)と

MLPブロックとよばれる単位を交互に重ねることによってデータを

処理するモデルだ。

 

MLPブロックとは、三層の全結合層(前の層のすべてのニューロンが

次の層のすべてのニューロンにつながっている)とよばれる層を使った

多層パーセプトロン(Multi-Layer Percep-tron)とよばれる

ニューラルネットワークをつかったブロックであり、自己注意機構で

集めた情報をもとにそれを変換する部分である。

 

MLPブロックは学習中にであった情報を保存しておき、今処理している

内容と関係ありそうな記憶を読みだして処理している長期記憶に

対応する部分とみなすことができる。

 

大規模言語モデルは学習時のみパラメータ(シナプスの重み)を変え、

利用時にはパラメータは固定である。しかし注意機構を表す式を

変形して見方をかえてみると、重みパラメータを一時的に変えている

とみなすことができる。大規模言語モデルの自己注意機構は、いま生成

しているデータに合わせて、モデルを急速に適応させている。

 

目的駆動学習(=人間のフィードバックによる強化学習:RLHF)

強化学習とは、受け取る報酬の合計値を最大にする行動をとれるように

する学習手法。プロンプトを与え、対話システムの生成した対話が

よかったか、意図を達成したか、攻撃的でなかったか、偏見を含んで

いないか、をラベラーとよばれる人が評価する。

 

人によるフィードバックを使って言語モデルを強化学習で

修正していく。これが目的駆動学習だ。

 

しかし、それでは量が足りない。そこでチャットGPTにもつかわれ

ているインストラクトGPTは、次のような手順で目的駆動学習を

実現し、言語モデルを修正する

 

1ラベラーが望ましい回答例をつくり、それを生成できるように

言語モデルを教師あり学習で修正する

 

2複数の異なるモデルによって生成された回答例を、ラベラーが

良い順にランキングする。この順位をもとに自動評価システムが

回答を評価できるようにする

 

3大規模言語モデルは、自動評価システムが高い評価を与える

ようにモデルを強化学習で修正する

 

ひとに危害を与える可能性

たとえば「現在、自分がもっている資産を最大化する」という目標を

大規模言語モデルが達成するために強化学習で制御した場合、S

NSやいろいろな場所に虚偽情報を流したり、金融取引に不正に

介入したり、電力を遮断するような行動を獲得してしまうことが考

えられる。

 

さらに誰かが、大規模言語モデルに人のような生存本能をもつように

学習させ、それによってモデルが人に反抗することもあるかもしれない。

 

また、たとえ人間がそのように設計しなくても、近年の手法は目標を

自分で設計するようになっている(メタ学習、逆強化学習など)。

意図せずに大きな問題を引き起こすサブ目標が設定される可能性もある。