【初心者】ネコでも分かる「学習回数」ってなに?【図解】
はじめに
人工知能の記事を見ていると「学習回数」という言葉が多く出てきます。
どの記事も難しい言葉を使って説明されているので、分かりにくい!と思った方も多いと思います。
今回は「学習回数」を分かりやすく説明します。
Created by NekoAllergy
書いてあること
- 学習回数とは?
- バッチサイズとイテレーションとは?
- まとめ
1. 学習回数とは?
学習回数とは、モデルにデータを見せた回数のことです。学習回数 100 回、学習回数 1000 回、といった感じで使われます。
1 つずつ説明していきます。
例えば、今あなたは、イヌとネコの画像を仕分ける人工知能(AI)を作ろうとしています。
イヌの画像を 3,000 枚、ネコの画像を 3,000 枚、合計 6,000 枚用意しました。
しかしモデルは、 6,000 枚を一度見ただけで賢くなることはできません。 これは、先生が授業で言った内容を、一度で覚えられないことと同じです。
そこで、この 6,000 枚を何回も何回も、繰り返し見ることで、特徴や違いを覚えようとします。簡単に言えば、この 「何回見せたか」 を、学習回数と呼びます。
この時、全データである 6,000 枚を、1 セットとして扱います。つまり、
6,000 枚の画像を 3 回見たら、学習回数 3 回。
(合計 18,000 枚)
6,000 枚の画像を 5 回見たら、学習回数 5 回。
(合計 30,000 枚)
6,000 枚の画像を 100 回見たら、学習回数 100 回。
(合計 600,000 枚)
学習回数は、このように数えていきます。
学習回数が多くなれば、AI はその分賢くなっていきます。1 回目の学習、つまり、最初の 6,000 枚は、「イヌなのかネコなのか、分からない…」、となっていた画像も、2 回、3 回と繰り返し見せていくと、「さっきは分からなかったけど、今ならわかるぞ!」という感じで、徐々に賢くなっていきます。
学習回数の基本はこんな感じですが、実際は少し違った方法で学習しています。数年前にどこかの偉い人が、「もっと効率よく賢くなる方法」を考えました。それが、「バッチサイズ」を使用する方法です。
2.バッチサイズとは?
もっと効率よく覚えるために、バッチサイズ という考え方を使います。例えば、バッチサイズ=600 の場合は、下のようになります。
まず、6,000 枚の画像を、600 枚ずつのグループに分けます。この時の、600 という数値がバッチサイズにあたります。バッチには「束」という意味があります。6,000 枚を 600 枚ずつの束にまとめるので、全部で 10 個のグループができることになります。
モデルは、このグループごとに学習していきます。最初の 600 枚のグループから、画像を 1 枚ずつ学習し、全て終わったらパラメータの調整をします。そして次のグループの学習を始めます。グループごとにモデルに見せていき、10 グループ全てが終わった段階で、学習回数 1 回とカウントされます。600 枚 ×10 グループなので、最終的にモデルが学習するデータの数は変わらず、6,000 枚です。
また、6,000 枚をバッチサイズ=600 で分けると、10 個のグループができますが、この「10」のことを「イテレーション」と呼びます。イテレーションは日本語で「繰り返し」という意味になります。「1 回、2 回、3 回」のように、「イテレーション 1、イテレーション 2、イテレーション 3」という雰囲気で使います。つまり、今回の例だと、6,000 枚のデータセットを、バッチサイズ=600、イテレーション=10 で学習させた。という風になります。イテレーションの数は、バッチサイズが決まれば自動的に決まる数値です。
ここで注意すべき点があります。グループ分けされる画像は、最初の画像から順番に選ばれていくのではなく、6,000 枚から「ランダム」に選ばれていくという点です。
6,000 枚から適当に 600 枚を選ぶ
→ グループ 1
6,000 枚から適当に 600 枚を選ぶ
→ グループ 2
6,000 枚から適当に 600 枚を選ぶ
→ グループ 3
このようにして 10 個のグループを作ります。この時、イヌが何枚ずつで、ネコが何枚ずつ、という風に決める必要はありません。めちゃくちゃ適当に 600 枚ずつのグループを作ります。
「そうやってランダムに選んでいくと、2.3 回選ばれる画像とか、1 回も選ばれない画像が出てくるのでは?」と、疑問に思った方もいると思います。
その通りです。
このように、ランダムに選ぶことによって、柔軟な AI を作ることができます。
ちなみにプログラマ達は、学習回数のことを「エポック数」と呼びます。
学習回数 3 回はエポック 3、
学習回数 10 回はエポック 10、
学習回数 100 回はエポック 100、
のようになります。
3.まとめ
エポック、バッチサイズ、イテレーションを図解しました。
学習回数とバッチサイズは、またまだ奥が深いですが、基本となる考え方は今回の内容となります。このような基礎用語についてのイメージを持っているだけでも、その後の内容をスムーズに取り入れることができます。
人工知能の記事や論文を見たときに「学習回数」という単語が出てきたときでも理解できるはずです!
機械学習をもっと詳しく
DeepLearning の基礎を本にまとめています。手に取って頂けるととても喜びます ↓
ねこアレルギーの AI
YouTube で機械学習について発信しています。お時間ある方は覗いていただけると喜びます。
参考文献
Created by NekoAllergy
Discussion