パラメータと重みの説明書

AIの紹介でよく見る「〇〇億パラメータ」。この数が何を数えているのかを、専門知識がなくても読めるように、図で順に説明します。

このページで分かること

  • 「重み」と「パラメータ」が、それぞれ何を指すのか
  • 「〇〇億パラメータ」という数が、何を数えているのか
  • 学習で何が起きているのか、数が多いと何が変わるのか
第1章 重み

重みは、入力をどれだけ効かせるかの強さです

アイスの売れ行きを予想する、小さな計算
入力A:気温の高さ(10段階)
8 × 重みA
1.0
= 8.0
0効かない ← → 強く効く2
入力B:人通りの多さ(10段階)
5 × 重みB
1.0
= 5.0
0効かない ← → 強く効く2
出力:売れ行きの予想13.0
気温の効き人通りの効き

スライダーを動かすと、つまみ(重み)が回り、同じ入力でも出力が変わります。

AIの中では、入力に重みという数を掛けて足し合わせる計算が、膨大な回数くり返されています。

重みが大きい入力ほど、結果に強く効きます。0なら、その入力は無視されます。実際には、重みがマイナスになり、逆向きに効くこともあります。

たとえるなら、料理の味付けの分量です

塩
小さじ 1
砂糖
大さじ 1
しょうゆ
大さじ 2
できた味
分量しだい
料理AI
材料(塩・しょうゆ)→入力
分量(小さじ何杯か)→重み
できた味→出力
味見して分量を直す→学習(第4章)

同じ材料でも、分量を変えると味が変わります。重みも同じ働きをします。

実際は:料理の分量は人が決めますが、AIの重みは学習で自動的に決まります。数も数十億個以上と、桁違いに多くなります。

第2章 パラメータ

パラメータは、学習で決まる数値をまとめた呼び名です

パラメータ
学習で決まる数値の全部
重み
入力を効かせる強さ
バイアス
最後に足す底上げの数
人が決める設定
学習の進め方、回答の出方など
パラメータに含まない
入力×重み+バイアス→出力

重みもバイアスも、学習で決まる数値です。この2つを合わせてパラメータと呼びます。

バイアスは、入力に関係なく足される数です。アイスの例なら「気温も人通りもゼロでも、少しは売れる分」にあたります。

ここでのバイアスは「偏見」の意味ではありません。計算式の中の、足し算の数の名前です。

第3章 両者の関係

重みはパラメータの一種で、「〇〇億パラメータ」はその合計の数です

ごく小さなAIの中身
入力中間出力
  • 線の数=重み20
  • 色つきの丸=バイアス6
  • パラメータ数26

線1本に重みが1個、色つきの丸1個にバイアスが1個あります。入力の丸は受け取るだけなので数えません。

つまみに置きかえると:つまみ全部の数=パラメータ数
重み 20バイアス 6合計 26
つまみの数の目安
上の図
26
小さめの言語AI
70億
大きな言語AI
数千億

「7B」という書き方は、70億パラメータのことです(Bは英語のbillion=10億)。

「70億パラメータ」とは、重みとバイアスなどを全部数えると70億個になる、という意味です。大半は重みが占めます。

実際の丸(ニューロンと呼びます)は、足し算の結果に簡単な変換をかけてから次へ渡します。ただし、その変換は数えるつまみを持ちません。

重みパラメータ
何か入力を効かせる強さ学習で決まる数値の全部
含むもの重みだけ重み+バイアスなど
図での数20個(線)26個(線+丸)
関係パラメータの一部重みを含む全体

重みはパラメータの一部です。会話の中で「重み」と「パラメータ」がほぼ同じ意味で使われることもあります。

第4章 学習

学習とは、たくさんの例を見ながら重みを少しずつ直すことです

1
例を見る
問題と正解の組
2
答えを出す
今の重みで計算
3
ずれを測る
正解との差
4
重みを直す
ずれが減る向きに少し
例を変えて、何度もくり返す
試してみる:重みを1個だけ学習させる

例:入力が 10 のとき、正解は 20

  • 重み0.50
  • 出力(入力×重み)5.0
  • 正解とのずれ15.0

ずれの大きさ
学習の回数

押すたびに重みが少し動き、ずれが小さくなります。一度に正解へ飛ばず、少しずつ近づきます。

学習の前、重みはでたらめな数から始まります。例を見るたびに、ずれが減る向きへ少しだけ動かします。

どの重みをどちら向きに動かせばよいかは、人ではなく計算で自動的に求めます。

実際は:上の体験は重み1個・例1つだけです。本物の学習では、膨大な数の例を使い、数十億個の重みを同時に少しずつ直します。

第5章 数の多さ

パラメータが多いほど複雑なことを表せますが、多ければ良いとは限りません

少なすぎる
形をとらえきれない
ちょうどよい
大まかな傾向をつかむ
データに比べて多すぎる
例を丸暗記してしまう

点は学習に使う例、線はAIが覚えた傾向です。右は例にぴったり合う一方、新しい例には外れやすくなります。

多いとできること

  • 複雑なパターンを表せる言葉の細かな使い分けなど
  • 多くの知識を取り込める大量の例から学んだ傾向を保てる
  • いろいろな作業に対応しやすい要約、翻訳、質問への回答など

多ければ良いとは限らない理由

  • 計算の手間と費用が増える70億個を保存するだけで約14GB(1個2バイトの場合)
  • 応答が遅くなりやすい答えるたびに大量の計算が必要
  • データの量と質が要る足りないと、丸暗記(過学習)に傾く
  • 数だけでは性能が決まらない学習のさせ方で、小さいほうが上回ることも

パラメータの数は、AIが表せることの「器の大きさ」の目安です。ただし、器を満たすには、良いデータと学習方法が欠かせません。

過学習とは、例を丸暗記して、新しい問題に弱くなることです。数を増やすほど、それを防ぐ工夫も大切になります。

第6章 よくある誤解

パラメータは、人が変える設定項目ではありません

誤解パラメータは、利用者が変える設定項目
実際は

学習で自動的に決まる数値です。回答の出方を変える設定や、人が選ぶ学習の条件(ハイパーパラメータと呼びます)とは別物です。

誤解パラメータ数が多いほど、必ず賢い
実際は

目安の1つにすぎません。データの質や学習のさせ方で、性能は大きく変わります。

誤解使うたびに、AIの重みが変わる
実際は

一般的な対話AIでは、使っている間に重みは変わりません。会話を覚えて見えるのは、それまでのやり取りを毎回読み直しているためです。

誤解重みの1つ1つに、決まった意味がある
実際は

「この重みは猫の担当」とは決まっていません。多数の重みが組み合わさって働くため、1個だけ見ても意味は読みにくいです。

誤解重みは、学習データをそのまま保存したもの
実際は

基本は、データから読み取った傾向を数値にしたものです。ただし、よく出てくる文章などを丸暗記してしまうこともあります。

誤解バイアスは「偏見」のこと
実際は

パラメータとしてのバイアスは、計算で足す数の名前です。AIの偏りを指す「バイアス」とは、別の意味の言葉です。

「パラメータ」は日常では「設定値」の意味でも使うため、混同されがちです。AIの話では、学習で決まる中身の数値を指すと覚えておくと安心です。

まとめ

  1. 1重みは、入力をどれだけ効かせるかの強さ。つまみ1個にあたります。
  2. 2パラメータは、重みとバイアスなど、学習で決まる数値の総称です。
  3. 3「〇〇億パラメータ」は、つまみ全部の数です。
  4. 4学習は、例を見ながら、ずれが減るように重みを少しずつ直すことです。
  5. 5数が多いほど表せることは増えますが、費用やデータの量と質も問われます。