●膨大なパラメータを使って出力を調整する
―― 機械学習という話も、だいぶ聞く言葉にはなってきたのですけれど、実際それがどう学習しているのかというところが、たぶん多くの方にとっては分からないところだと思うのです。機械というのはどうやって学習するものなのですか。
岡野原 私の本の中でも書いた例で説明しますと、その機械は、AIといっても、結局はたくさんのパラメータがあるようなシステムになっています。例えば、大きいシンセサイザーがあって、シンセサイザーにいろいろなつまみがある。それぞれのつまみを少しずつ変えると、出てくる音が少し変わる。少しずつ変えると、入れた入力に対して出力が変わると。
機械学習がやっているのは、結局はこのパラメータの数がものすごくたくさんあるようなことで、何か入力を入れたら出力が出るような関数になっています。
例えば、先ほど(第1話)の犬猫分類の例でいいますと、最初に画像を入れたら、何に分類するのかがほぼランダムに決まるというようなモデルがあって、そのシステムに対して、「今『犬』と言ったけれど、本当は『猫』だよ」と、間違えたときに、次から間違えないように「犬ではなく猫」と出せるようにパラメータを変えましょうと。そのパラメータをどうやって変えたら次から同じデータに対して犬と間違えずに猫を出せるかという技術が進んでいまして、機械学習にはそのパラメータの変え方がある(ということ)です。
たくさんデータを見せて、この場合は犬です、この場合は猫です、というのを見せていくと、どんどんパラメータの調整が進んでいって、究極的には、見たことがない、いろいろなデータに対しても、犬とか猫とか、ちゃんとそういったものが正しく出せるようになるのです。
これは、小さい規模だと想像しにくく、そこまでできるのかという話なのですけれど、実際に今、生成AI、例えば大規模言語モデルで使われているようなものですと、つまみの数、(つまり)パラメータ数というのはだいたい数千億から1兆といった、ものすごい数、人の想像も及ばないような数になっています。それらのパラメータを調整することによって、入力に対してどういう生成をするのかということが、外から見ると非常に賢くやっているように見えるものができています。
―― なるほど。