AutoML-Zero:誤差逆伝播法をゼロから再発見した進化的アルゴリズム(1/2)

入門/解説

1.AutoML-Zero:誤差逆伝播法をゼロから再発見した進化的アルゴリズム(1/2)まとめ

・従来のAutoMLは人間が設計した部品を組み合わせて新たな解決策を構築することに焦点を当てた
・部品そのものを探索する事は大きな利点があるが計算量が莫大になるため困難と考えられてきた
・しかし、1990年代とは利用可能な計算機資源量は大きく変わり部品探索が可能になってきた

2.AutoML-Zeroとは?

以下、ai.googleblog.comより「AutoML-Zero: Evolving Code that Learns」の意訳です。元記事の投稿は2020年7月9日、Esteban RealさんとChen Liangさんによる投稿です。

スクラッチ(scratch)、とはIT業界だと「既存のプログラムを元に改良していくのではなく、ゼロからプログラムを作り上げる事」を意味しますが、スクラッチ宝くじなんてものがあるように、元々の意味は引っかくとか掘り出すの意味なんですよね。

今回のお話のAutoML-Zeroは、従来のAutoMLが「人間が過去に発見した部品を組み合わせてより優れたニューラルネットワークの構造を発見する」事を主目的にしていたのに対して、「スクラッチから部品自体の構造を発見する」ように進化したとの事なので、人間が想定していなかったスクラッチが行われている様をアイキャッチ画像で表現してみました、クレジットはPhoto by Srinivasan Venkataraman on Unsplash

機械学習(ML)は近年、途方もない成功を収めてきました。この成功は、専門家が何十年もの研究を通じて発見したディープニューラルネットワークなどのMLアルゴリズムによって可能になりました。

この研究に伴う困難さは、MLアルゴリズムの設計の自動化を目的とするAutoMLの研究動機となりました。

これまでのところ、AutoMLは人間が設計した洗練された部品を組み合わせて解決策を構築することに焦点を当ててきました。

典型的な例は、ニューラルネットワークの構造の探索です。すなわち、人間が発見した複雑なレイヤー(たたみ込み、バッチノルム、ドロップアウトなど)を部品として組み合わせて、より効率的なニューラルネットワーク構造を自動的に構築する研究です。その他にもモデルの規模拡大を探求するEfficientNetなどの多くの研究トピックがあります。

AutoMLで、人間が設計した部品を使用するのとは別のアプローチは、ゼロからアルゴリズム全体を探索することです。広大でまばらな探索空間を探索対象とする必要があるため、これは挑戦的ですが、大きな潜在的利点があります。既にわかっている事だけに偏らず、新しいより優れたML構造を発見する可能性があるのです。

これは、注文住宅として家を一から建設する方が、プレハブのように既製部品を組み合わせて家を建設するよりも、柔軟性や改善可能性が高くなる事に似ています。ただし、既成のデザインを組み合わせて部屋全体を設計するよりも、レンガとモルタルを組み合わせて部屋を設計する方がはるかに組み合わせのパターンが多いため、このようにして住宅デザインを発見する事はより困難な場合があります。

そのため、ゼロからアルゴリズムを学習する研究の初期のアプローチは、学習ルールなどのアルゴリズムの1つの側面に焦点をあて、探索空間と必要になる計算量の削減をしてきました。

この傾向は、1990年代の初め以降、現在まであまり見直されていません。

ICML 2020で発表予定の論文「AutoML-Zero: Evolving Machine Learning Algorithms From Scratch」では、AutoMLを進化させるように拡張し、MLアルゴリズムをゼロから進化させて成功する事が可能であることを示しています。

私達が提案するアプローチはAutoML-Zeroと呼ばれ、何もない状態から開始し、基本的な数学的演算のみを部品として使用して、進化的方法を適用し、完全なMLアルゴリズムのコードを自動的に見つけます。

小さな画像分類問題を与えたところ、私達の手法は、誤差逆伝播法(backpropagation)と2層ニューラルネットワーク、線形回帰等の研究者が長い間研究して発見した基本的なMLテクニックを再発見しました。

この結果は、将来のより困難な問題に対処するために、より新しいMLアルゴリズムを自動的に発見出来る可能性を示唆しています。

ゼロから進化する学習アルゴリズム
アルゴリズム空間を探索するために、古典的な進化的手法の一種を使用します。

これらの手法は、1980年代以降、コンピュータープログラムの発見に役立つことが証明されています。 そのシンプルさと拡張可能性により、学習アルゴリズムの発見に特に適しています。

私達の場合、母集団は空のプログラムで初期化されます。 その後、繰り返しサイクルで進化し、より優れた学習アルゴリズムを生成します。

各サイクルで、2つ(またはそれ以上)のランダムモデルが競い合い、最も正確なモデルが親になります。親は自分自身を複製して子を生成し、子は突然変異します。

つまり、子のコードはランダムに変更されます。これは、例えば、プログラムに行を任意に挿入、削除、または変更することを意味します。次に、突然変異したアルゴリズムが画像分類タスクで評価されます。


母集団は空のプログラムで初期化されます。多くの世代を経た後、より進化した母集団が得られ、その中の2つのアルゴリズムを競争させます。もっとも正確な画像分類を行ったアルゴリズムが子供を産みます。このようなイベントを多く繰り返した後、最終的な母集団には非常に正確な分類器が含まれます。

3.AutoML-Zero:誤差逆伝播法をゼロから再発見した進化的アルゴリズム(1/2)関連リンク

1)ai.googleblog.com
AutoML-Zero: Evolving Code that Learns

2)arxiv.org
AutoML-Zero: Evolving Machine Learning Algorithms From Scratch

 

コメント

タイトルとURLをコピーしました