じゃんけんで理解するAIの重み付け
AIの学習は、ものすごく単純に言えば、 「正解に近づくように、つながりの強さを変えていくこと」です。
この「つながりの強さ」を、機械学習では重みと呼びます。
今回は、あえて逆伝搬は使いません。
人間が手動で重みを調整することで、機械学習の基本を理解します。
人間が手動で重みを調整することで、機械学習の基本を理解します。
じゃんけんAIを作る
相手の手を見て、自分が勝つ手を出すAIを考えます。
| 相手の手 | AIが出すべき手 |
|---|---|
| ✊ グー |
✋ パー |
| ✌️ チョキ |
✊ グー |
| ✋ パー |
✌️ チョキ |
最初は何も知らない
最初のAIは、どの手を出せばいいか分かりません。 そこで、相手の手と自分の手の組み合わせに点数をつけます。
| 相手\自分 | グー | チョキ | パー |
|---|---|---|---|
| グー | 0 | 0 | 0 |
| チョキ | 0 | 0 | 0 |
| パー | 0 | 0 | 0 |
この数字が重みです。 数字が大きいほど、その手を選びやすくなります。
正解の重みを増やす
相手
✊
グー
✊
グー
→
正解
✋
パー
✋
パー
→
グー→パー
重み +1
重み +1
相手
✌️
チョキ
✌️
チョキ
→
正解
✊
グー
✊
グー
→
チョキ→グー
重み +1
重み +1
相手
✋
パー
✋
パー
→
正解
✌️
チョキ
✌️
チョキ
→
パー→チョキ
重み +1
重み +1
| 相手\自分 | グー | チョキ | パー |
|---|---|---|---|
| グー | 0 | 0 | 1 |
| チョキ | 1 | 0 | 0 |
| パー | 0 | 1 | 0 |
何度も学習すると重みが強くなる
同じルールを何度も学習すると、正解の重みだけが強くなります。
| 相手\自分 | グー | チョキ | パー |
|---|---|---|---|
| グー | 0 | 0 | 10 |
| チョキ | 10 | 0 | 0 |
| パー | 0 | 10 | 0 |
これでAIは、相手の手に対して一番重みが大きい手を選べば、 じゃんけんに勝てるようになります。
逆伝搬との違い
| 手動学習 | 逆伝搬 |
|---|---|
| 人間が重みを調整する | 誤差から自動で重みを調整する |
| 小さい例なら理解しやすい | 大量の重みに対応できる |
| 教材向き | 実用向き |
まとめ
- 重みとは、入力と出力のつながりの強さ
- 重みが大きいほど、その出力が選ばれやすい
- 学習とは、正解に近づくように重みを変えること
- 逆伝搬は、その重み調整を自動化する仕組み

0 件のコメント:
コメントを投稿