訓練データ

記事数:(2)

エポック(Epoch)とは?機械学習の学習回数を決める重要概念を解説 機械学習

エポック(Epoch)とは?機械学習の学習回数を決める重要概念を解説

機械学習、とりわけ深層学習では、「エポック」という言葉をよく耳にします。これは、作った学習の模型を鍛える際に、学習に使うデータ全体を何回使ったかを示す回数です。例として、百枚の絵を使って絵の内容を判別する模型を鍛える場面を想像してみましょう。この百枚の絵を全て使って学習が一巡したら、一エポックが終わったことになります。もし、この百枚の絵を二巡使って学習すれば、二エポック、三巡なら三エポックと数えます。エポックは、模型の学習の進み具合を測る大切なものです。学習の模型は、与えられたデータから規則性やパターンを見つけ出すことで賢くなっていきます。一度全てのデータを使っただけでは、十分に学習できない場合があります。ちょうど、教科書を一度読んだだけでは全てを理解し、覚えられないのと同じです。繰り返し読むことで、より深く理解し、記憶に定着していくように、学習の模型もデータを繰り返し学習することで、より正確な判別ができるようになります。これがエポック数を増やす理由です。しかし、エポック数を多くすれば良いというものでもありません。あまりにも多くの回数、同じデータで学習を繰り返すと、過学習という状態に陥ることがあります。これは、学習に用いたデータは完璧に判別できるようになるものの、新しいデータに対してはうまく判別できない状態です。例えるなら、過去問ばかりを勉強して、本番の試験では全く違う問題が出題されて解けないといった状況に似ています。ですから、適切なエポック数を見つけることが、精度の高い模型を作る上で重要になります。ちょうど料理で、適切な火加減と加熱時間を見極めるのと同じように、エポック数も注意深く調整する必要があるのです。
機械学習の学習曲線とは?過学習・学習不足の診断方法と実装例を解説 機械学習

機械学習の学習曲線とは?過学習・学習不足の診断方法と実装例を解説

学習曲線とは、機械学習のモデルがどれくらい上手に学習できているかを示す、いわば成績表のようなものです。これはグラフで表され、横軸には学習に使ったデータの量、縦軸にはモデルの成績を示します。成績は、例えば、どれくらい正確に答えを出せるか、あるいはどれくらい間違えるかで測ります。このグラフは、モデルの成長過程を視覚的に捉えるための便利な道具です。グラフの線が右上がりであれば、学習データが増えるほどモデルの成績も良くなっている、つまり学習がうまく進んでいることを示します。逆に、グラフの線が平らになっていれば、データを増やしてもモデルの成績が向上していない、つまり学習の効果が頭打ちになっていることを意味します。学習曲線を見ることで、私たちはモデルにどのくらいの量のデータを与えればよいかを判断できます。もし、曲線がまだ右上がりで伸びしろがありそうなら、もっと多くのデータを与えて学習させることで、さらに良い成績を期待できます。しかし、曲線がすでに平らになっているなら、データを増やしても効果は薄いため、他の方法、例えばモデルの構造を変えるなどを検討する必要があります。学習曲線には、大きく分けて二つの種類があります。一つは学習データに対する成績を示す「訓練曲線」、もう一つは学習に使っていない未知のデータに対する成績を示す「検証曲線」です。訓練曲線はモデルが学習データをどれだけうまく覚えているかを示すのに対し、検証曲線はモデルが新しいデータに対してどれだけうまく対応できるか、つまりモデルの本当の力を示します。理想的な学習曲線は、訓練曲線と検証曲線がどちらも右上がりで、かつ互いに近い状態です。これは、モデルが学習データを過度に暗記することなく、新しいデータにもうまく対応できる汎化能力が高いことを示しています。もし、訓練曲線は右上がりなのに検証曲線が平ら、あるいは下がっている場合は、モデルが学習データを暗記しすぎて新しいデータに対応できていない「過学習」の状態になっている可能性があります。