AIはどう学ぶか
「AIが学習する」と聞くと、何か特別なことが起きているように思えます。実際にやっているのは、答えとのずれを測り、そのずれが小さくなるように数値を調整することです。その調整を、自分の手で動かして確かめます。
- 直線を当てはめる: 傾きと切片をスライダーで動かし、点と直線のずれを一辺とする正方形の面積として誤差を見ます。これが二乗誤差です。最小二乗法の答えとも比べられます。
- 勾配降下法: 誤差の谷を、少しずつ下り坂の向きへ降りていきます。学習率が小さすぎると進まず、大きすぎると底を飛び越えて発散します。
- k-means: 「近い重心に入れる」「重心を真ん中へ動かす」を繰り返すだけで、かたまりを見つけられます。ただし重心の初期位置によって結果が変わります。
- 過学習: 式を複雑にするほど、学習に使ったデータへのずれは小さくなりますが、学習に使っていないデータでのずれは逆に大きくなります。だから機械学習では、データを学習用と評価用に分けて判断します。
- 決定木: 「天気は」「湿度は」と質問で分けていき、答えにたどり着く木を作ります。どの質問を先にするかは、その質問で迷いがどれだけ減るか(情報利得)で決めます。
学習とは、正解とのずれが小さくなるようにモデルの中の数値を調整することです。実際のAIでは調整する数値が何億個もありますが、やっていることは同じです。