2019/04/23
2020/04/14
ニューラルネットワークのミニバッチ、オンライン学習
ニューラルネットワークではどれだけのデータを用いて重みパラメータの更新を行えばいいのでしょう。
学習するためのデータの扱い方によって、バッチ学習、ミニバッチ学習、オンライン学習といった学習手法が存在します。
オンライン学習は確率的勾配降下法、またはSGD(Stochastic Gradient Descent)と呼ばれることもあります。
この記事ではこれらの学習手法について説明します。
ニューラルネットワークの学習
ニューラルネットワークの重みパラメータを学習させるためにはデータが必要です。この学習に用いるデータを訓練データと呼びます。
ニューラルネットワークでは勾配法を用いた以下の作業を繰り返していました。
1 ある地点\( x_0 \)における傾きを求める。
2 新たに探索地点\( x_1 \)を傾きと学習率\( \eta \)を用いて更新する。
3 傾きが0となる\( x \)を見つけるまで1~2の作業を繰り返す。
すべての訓練データを用いて学習するのが最も効率的な方法なのでしょうか。用いるデータ量について工夫したらどうなるでしょうか。
用いるデータ数を減らせば損失関数の値や傾きを求めるための計算量が減ります。
バッチ学習
パラメータの更新にすべての訓練データを用いるのがバッチ学習です。以下のようにパラメータ更新を行います。
1 全ての訓練データを用いて地点\( x_0 \)における傾きを求める。
2 新たな探索地点\( x_1 \)を傾きと学習率\( \eta \)を用いて更新する。
3 傾きが0となる\( x \)が見つかるまで、1-2の更新を繰り返す。
バッチ学習の性質として学習結果が安定しやすいことがあげられます。これは全データを用いた損失関数の変化を考えるためです。
一方で新たな学習データを追加するたびに、全データを用いて再度計算を行わなければならないという欠点があります。
このバッチ学習は全データ数が少ないときに有効な学習手法です。
ミニバッチ学習
\( N \)個の訓練データのなかから一部、\( n \)個を取り出し、パラメータの更新をするのがミニバッチ学習です。取り出した訓練データをミニバッチと呼びます。また取り出すデータ数\( n \)をミニバッチサイズと呼びます。以下のように更新を行います。
1 N個のデータからランダムに\( n \)個を取り出す。
2 \( n \)個のデータを用いて地点\( x_0 \)における傾きを求める。
3 新たな探索地点\( x_1 \)を傾きと学習率\( \eta \)を用いて求める。
4 新たに\( n \)個のデータを取り出して2-3の更新を行う。
5 1-4の更新を繰り返す。
ミニバッチ学習の性質として学習の停滞に陥りにくいことがあげれらます。学習の停滞は局所地点における傾きが0となることによって、パラメータの更新が行われなくなる現象を指します。
学習が停滞しづらい理由として以下のように考えることができます。
ミニバッチ学習は用いるデータ数が少ないため、パラメータの変化に対して損失関数が敏感に反応します。そのため、傾きが0となる局所地点が少なく結果として学習が停滞しづらくなります。
ミニバッチ学習はニューラルネットワークでよく用いられる学習手法です。
オンライン学習
訓練データの一つを取り出してパラメータの更新をするのがオンライン学習です。以下のように更新を行います。
1 N個のデータからランダムに1つのデータを取り出す。
2 \( 1 \)個のデータを用いて地点\( x_0 \)における傾きを求める。
3 新たな探索地点\( x_1 \)を傾きと学習率\( \eta \)を用いて更新する。
4 新たに一つのデータを取り出して2-3の更新を行う。
5 1-4の更新を繰り返す。
オンライン学習はミニバッチ学習と同様、局所解に陥りにくいという性質があります。
一方で結果が不安定になりやすいという欠点があります。不安定になる原因として一つ一つのデータに対して更新を行うため、はずれ値にも反応しやすいことが挙げられます。
まとめ
今回はバッチ、ミニバッチ、オンライン学習といった学習手法について説明してました。
各学習手法によって損失関数を求める、更新に用いるためのデータサイズが異なると理解するとよいでしょう。
最新投稿記事
-
E資格・領域特化コース受講体験談:山田裕之さん 「E資格で基礎知識を、領域特化コースで実務への応用を」 2021年1月8日
-
AI導入とは?RPAとの関係、プロセス、事例、メリット、費用を詳細に解説 2020年12月7日
-
注目のAI開発企業11社!支援領域や提供方法など検証! 2020年10月28日
-
AI人材を育成できる研修プログラムを一挙紹介! 2020年10月20日
-
【2021年版】期待のAI資格11選!就職・転職にも使える! 2020年10月18日
-
JDLAとは?G検定、E資格の認定プログラム、合格者の会など紹介! 2020年10月14日
-
G検定(2020#3)受験申し込み開始、11月7日(土)実施-JDLA 2020年10月1日
-
【独占】コロナ禍で人材登録急増、アノテーション単月売上高は4倍超-パソナJOB HUB 2020年10月1日
-
E資格を転職に活用!評判とデータを徹底調査! 2020年9月29日
-
E資格とは?大注目のディープラーニングの資格を解説! 2020年9月29日
週間ランキング
【2021年版】期待のAI資格11選!就職・転職にも使える! 2020年10月18日
【2021年版】コスパ重視のG検定対策!おすすめの本・講座・教材を一挙紹介! 2020年6月6日
注目のAI開発企業11社!支援領域や提供方法など検証! 2020年10月28日
G検定に短期間・独学で合格した勉強法を解説! 2020年8月3日
最弱オセロを初めて攻略した天才オセロ高校生。負け方を解説! 2020年7月31日
効率重視のE資格対策!参考書・模擬試験・過去問を徹底解説! 2020年8月7日
E資格の難易度を、合格率と問題から徹底分析! 2020年8月11日
G検定は難しい?難易度・合格ライン・問題を徹底解説! 2020年6月19日
MLOpsとは|定義、メリット、課題、ツール、ワークフローを分かりやすく解説 2020年9月18日
FRONTEO、AI解析の新型コロナ治療候補薬を公表ー「プラニケル」など 2020年5月13日
