AI(人工知能)用語集

3分でわかる!AI分野でよく聞く逐次学習(オンライン学習)とは

逐次学習(オンライン学習)

現在ブームになっているAI(機械学習)について学んでいると逐次学習(オンライン学習)という言葉が出てきますよね。文中で当然のように使われていることも多いこの単語ですが、「オンラインで学習させる方法なのかな〜」などと曖昧に捉えている人も多いかもしれません。

実際僕自身がそんな風に思っていたこともありましたが、それは大きな間違いだと知って驚いたことがあります。今回はそんな逐次学習(オンライン学習)について整理していきましょう。

一言で言うと「逐次学習(オンライン学習)」とは・・・

データを一つずつ読み込んでその都度モデルの更新を繰り返すことで学習を行う手法です。
逐次学習(オンライン学習)は、教師データを一つずつ与えて、その都度最適な重みを計算していくやり方で学習を進めていく手法です。モデルの学習を行う際に毎回ゼロからモデルを構築するのではなく、データを一つずつ与えることで現状のモデルのパラメータを随時更新していきます。
逐次学習(オンライン学習)と対照的な学習方法として一括学習(バッチ学習)がありますが、一括学習(バッチ学習)はオンライン学習のように一つずつデータを与えるというやり方はせず、重みの計算のために全ての教師データを使って、つまり全てのデータを用いて最適な重みを計算します。
つっちー
つっちー
一般的に、一括学習(バッチ学習)では教師データが増えると必要とするメモリ量もその分増加していきます。
オンライン学習のメリットとしては、
  • 1回あたりの学習コストが低い
  • 学習データを全て蓄えておかなくても良い
  • データの変化に対応しやすい

といった点が挙げられます。逆にデメリットとしては、

  • 外れ値やノイズに影響されてしまう
  • 新たなデータによる影響を強く受けてしまう

といった点が挙げられるでしょう。

まとめ

つまり、オンライン学習とは

データを一つずつ読み込んでその都度モデルの更新を繰り返すことで学習を行う手法であり、1回あたりの学習コストが低くデータの変化に対応しやすいなどの特徴があります

<参考>

つっちー
つっちー

AI(人工知能)って「なにそれ美味しいの?」ってレベルだった僕が、AIエンジニアを目指してステップを踏んだり踏まれたりしている記事を書いてます。よかったら読んでみてください(実話)。

「歩く負債」と言われた僕がゼロからAIエンジニアになる為のステップを実践してみた!
みんなのAI(人工知能)用語集
AI(人工知能)用語集

コメントをどうぞ

  1. 通りがかり より:

    > 一般的に、一括学習(バッチ学習)では教師データが増えると必要とするメモリ量もその分増加していきます。

    間違っています。メモリに教師データを丸読みすることはバッチ学習にとって必須条件ではありません。
    (例えばHDDから教師データを1つずつ読み込みながら勾配を計算して、すべての教師データを読み込み終わってからモデルを更新すれば、バッチ学習であってもメモリ使用量はオンライン学習とほとんど変わりません。)

    • つっちー つっちー より:

      通りがかりさん、親切にご指摘くださってありがとうございます。大変勉強になりました。
      ご指摘頂きました誤った内容の箇所については、削除線を引かせて頂きました。
      今後ともよろしくお願いします。

AIZINE(エーアイジン)

コメントをどうぞ

  1. 通りがかり より:

    > 一般的に、一括学習(バッチ学習)では教師データが増えると必要とするメモリ量もその分増加していきます。

    間違っています。メモリに教師データを丸読みすることはバッチ学習にとって必須条件ではありません。
    (例えばHDDから教師データを1つずつ読み込みながら勾配を計算して、すべての教師データを読み込み終わってからモデルを更新すれば、バッチ学習であってもメモリ使用量はオンライン学習とほとんど変わりません。)

    • つっちー つっちー より:

      通りがかりさん、親切にご指摘くださってありがとうございます。大変勉強になりました。
      ご指摘頂きました誤った内容の箇所については、削除線を引かせて頂きました。
      今後ともよろしくお願いします。

トップへ戻る
タイトルとURLをコピーしました