Deep Learning と アンサンブル学習法
Deep Learning で用いられるアンサンブル学習法とは、どのような学習法だったでしょうか。あの Alpha Go もアンサンブル学習法を用いて推論を行っています。それほど高性能なアルゴリズムですが、一体、どの様な理論に基づくものなのでしょうか。検証してみましょう。
まず、「アンサンブル学習法」という名前ですが、このアンサンブルとは言わずと知れたアンサンブルの事です。
アンサンブル
(フランスensemble「共に」の意)
1 音楽用語。①二人以上でする歌唱または演奏。重唱。重奏。②小人数の合奏団、または室内楽や管弦楽の中のあるグループ。③演奏の調和の具合。「アンサンブルがいい」
2 ドレスとコート、またはスカートとジャケットを、共通な生地、材質、柄、デザインなどで調和よくそろえた組合わせの婦人服。
Kokugo Dai Jiten Dictionary. Shinsou-ban (Revised edition) © Shogakukan 1988/国語大辞典(新装版)© 小学館 1988
Deep Learning における意味も、ほぼ同じであり複数のモデルを組み合わせて学習・推論を行うものとなっています。
最近用いられているアンサンブル学習法の種類には、大きく分けて3つあり、①バギング ②ブースティング ③スタッキング です。以下に図を示します。
バギング [ bagging ]
これはバギングをチャートで表したものです。ひとつの同じデータセットを複数のモデルを用いて学習・推論させ、その出力のコンセンサス(多数決)を取るイメージです。
ブースティング [ boosting ]
これはブースティングをチャートで示したものです。これは複数のデータセットを用いています。一回目はデータセットA、二回目はデータセットB、三回目はデータセットCの学習を行っていますが、モデルはひとつの同じ物です。学習済みのモデルを更に別のデータセットで学習させると言うと分かり易いのではないでしょうか。二回目以降は、正しく推論されなかったデータについて個別に学習を行ったりもします。
スタッキング [ stacking ]
これはスタッキングをチャートで示したものです。説明がないと分かりにくいかも知れませんが、学習するデータセットはひとつです。そして、複数の違うモデルを用いますが、二段目以降では、一段前の推論結果をデータセットAに加えて学習を行います。
アンサンブル学習法の示唆すること
そして、これらについては解り易く詳細な解説が他のウェブサイトにたくさんありますので、ここからが今回の NOTE の主要な部分となります。上記アンサンブル学習法のひとつを取って、以下のように書き換えてみます。例として解り易いバギングを用いてみます。
Deep Learning は、生物の神経細胞の数理モデルですから、当然、このように置き換えることも可能なはずです。現在研究されている Deep Learning では、色々なモデルが考案されており、人間の眼を「超えた」と言われるようなモデルもありますが、Alpha Go に代表されるように、一般に高い精度を出している学習法は、アンサンブル学習法です。人間の Neural Network は物理的に拡張は困難と思われますが、アンサンブル学習法を用いることで、拡張・精度向上が可能なことが、この例から分かるのではないでしょうか。ですから、ひとりの指揮官による決定よりも、有能な参謀を複数配置することや、国民投票による過半数のようにコンセンサスによって決定することは、理にかなった高性能なアルゴリズムと言うことができます。
以上
この記事が気に入ったらサポートをしてみませんか?