見出し画像

第16週: 「モデル」、「学習」、「推論」について

 AIの分野においてよく使われる言葉に「モデル」、「学習」、「推論」という言葉がある。これら3つの言葉はさも当たり前のように使われてるが、実際に具体性を持って分かってる人は少ないと思う。これくらいの知識は知っていても損ではないので、自分のためにもこの3つの言葉を分かりやすく整理してみた。
 AIの分野では、①モデルを選定して、②そのモデルを学習(training)させて、③学習させたモデルを使って未知のデータに対して推論(inference)させる、というのが大まかな流れになる。これを人間に例えると、①子供(モデル)に、②勉強(学習)させて、③社会で活躍(未知のデータに対する推論)させる、という具合だ。以下にそれぞれ詳しく見ていく。

 まずはモデルの選定だ。人間にも目がいい子供、頭の回転が早い子供、足が速い子供、手先が器用な子供がいるように、画像認識が得意なモデルや言語処理が得意なモデルなど、多様性がある。モデルといっても中身は数式の羅列だ。DNAの塩基配列が人間の特徴を決めるように、アルゴリズムに沿って並んだ数式がモデルの多様性を生み出している。これらの中からタスクの種類(モデルに何をさせたいのか)や計算リソースの制約(自分のパソコンの性能など)に応じてモデルを選定する。例えば、絵が上手い人間を育てたいとして、ある程度手先が器用な子供(モデル)を選ぶとする。これがタスクに応じてモデルを選定するという意味だ。そして、一口に手先が器用な子供といっても、めっちゃ手先が器用な子供とまあまあ手先が器用な子供がいる。めっちゃ手先が器用な子供を選んで教育したいところだけど、その器用さを最大限発揮させるには、海外の大学に留学させたり最新の教育をたくさん受けさせるなど金も時間もかかるということになり、そんなに金も時間もかけてられないから、まあまあ手先が器用な子供を選んである程度の教育をさせときましょというのが、計算リソースの制約によるモデルの選定だ。これらを場合によって使い分けていくのである。

 モデルが決まったら学習(training)の段階だ。人間もトレーニングでより良くなっていくように、モデルもトレーニングにより改善されていく。具体的にはデータを大量に集めて、そのデータに沿うようにモデル内の数式が持つパラメータと言われる値をどんどん更新していくのだ。
 分かりにくいので、最もシンプルなモデルである線形回帰モデルを例に簡単に説明してみよう。線形回帰モデルとはy=ax+bで知られる一次関数を使うモデルだ。この式のxに「駅から徒歩何分かかるか」を入力して、家賃yを予測したいとする。ここで、aとbがパラメータと呼ばれる値で学習により更新していく対象である。例えば、aの初期値を-1、bの初期値を23とすると、線形回帰モデルの式はy=-x+23となる。このモデルは、駅から徒歩5分の物件の家賃は18万円(-5+23)、徒歩20分の物件の家賃は3万円(-20+23)と予測する。この式から予測された18万円や3万円といった金額と、大量に集めた家賃のデータセットの中から同じ条件の土地の家賃を比べて、その差が小さくなるようにaを-1.1にしてみたりbを18.2にしてみたりして値を修正していく。このようにモデルの出力と実際の家賃のズレが小さくなるようにパラメータを更新していくのが学習である。人間で例えるなら、こんな感じの絵を描いて欲しいと頼んだけどクオリティの低い絵を描いて(出力して)きたから、見本となる絵を見せて、筆の持ち方、絵の具の付け方、描き始める順番、影の大きさなど、その人間(モデル)が持っている性質(パラメータ)を更新していくのだ。経験が豊富なほど人間が成長するように、大量のデータを集めてトレーニングすることで精度の高いモデルになる。

 最後に推論(inference)の段階だ。この段階では、手塩にかけて育てた子供が十分なトレーニングを受けて社会で通用する立派な大人に成長している。未知の課題に対しても、今までの膨大なトレーニングで培ったパラメータを使って、推論データを出力できるようになっている。今まで金と時間をかけて育てた甲斐があったもんだ。こうして当初の目的通り絵が上手い人間を育てることができました、自分の指示通りきれいな絵を描いてくれます、めでたしめでたしだ。もしも計算リソースを増やすことができたなら、そのモデルをさらにトレーニングしてより精度の高いモデルにブラッシュアップしてもいい。

 最新のAIが世間で活用されるまではこのような道のりを辿る。最近世間を賑わせているChatGPTといったアプリも、自然言語処理が得意なモデルを大量のデータによりトレーニングしてアプリにしたものだ。そのパラメータ数はなんとGPT3.5で約3550億個であり、最新モデルのGPT4のパラメータ数は非公開だが、一説には1兆個以上とも言われている。最新のAIの中では、途方もない量の計算が行われているのである。しかしどのようなAIにおいても、大量のデータを用いてモデルをトレーニングし、推論させるという行程を踏むことに変わりはないのである。

この記事が気に入ったらサポートをしてみませんか?