AutoML、AutoKeras... これら 4 つの「自動」自動機械学習手法の違いがわかりますか?

AutoML、AutoKeras... これら 4 つの「自動」自動機械学習手法の違いがわかりますか?

まずは短いおとぎ話から始めましょう...

昔々、今では誰も使っていないプログラミング言語を使い、今では誰も使っていないフレームワークでモデルをトレーニングした魔法使いがいました。ある日、一人の老人が彼に近づき、謎のデータセット用のモデルをトレーニングするよう依頼しました。

ウィザードは精力的に作業し、モデルをトレーニングするために何千もの異なる方法を試しましたが、残念ながら、どれも成功しませんでした。そこで彼は解決策を探すために魔法の図書館へ行きました。突然、彼は魔法の呪文に関する本を見つけました。この呪文により、彼は隠された次元に送られ、そこではすべてを知り、あらゆるモデルを試し、あらゆる最適化手法を実行できるようになります。彼はためらうことなく呪文を唱え、その神秘的な空間へと送られた。彼はそれ以来、より良いモデルを得る方法を理解し、そのアプローチを採用してきました。帰還する前に、彼はこの力をすべて持ち帰りたいという誘惑に抵抗することができず、この空間のすべての知恵を「オート」と呼ばれる石に託し、帰還の旅に出ました。

昔々、魔石「オート」を持つ魔法使いがいました。伝説によれば、この魔法の石の力を習得した者は、どんなモデルでも訓練できるそうです。

[[249121]]

ハリー・ポッターと死の秘宝

こんな話は怖すぎますよね。この話が本当かどうかは分かりませんが、現代では機械学習分野のトッププレイヤーたちが、このような話を(多少の修正を加えて)現実のものにすることにとても興味を持っているようです。この記事では、何ができるかをお伝えし、その設計哲学を直感的に理解できるようにします (すべてのツールの名前に「auto」という単語が含まれていますが、共通点はなさそうです)。

モチベーション – 人生は厳しい

通常、特定のデータセットで最先端のモデル パフォーマンスを実現するには、ユーザーが適切なデータ前処理タスクを慎重に選択し、適切なアルゴリズム、モデル、アーキテクチャを選択し、それらを適切なパラメーター セットと一致させる必要があります。このエンドツーエンドのプロセスは、機械学習パイプラインと呼ばれることがよくあります。どの方向に進むべきかを教えてくれる経験則はなく、モデルが開発されるにつれて、適切なモデルを選択することさえもますます困難になっています。ハイパーパラメータの調整には通常、すべての可能な値を反復処理するか、サンプリングして試してみる必要があります。ただし、これを行うことで何か有用なものが見つかるという保証はありません。このような状況において、機械学習ワークフローを自動的に選択して最適化することは、長い間、機械学習研究コミュニティの目標の 1 つでした。このタスクは、学習についての学習を意味する「メタ学習」と呼ばれることがよくあります。

Azure による自動機械学習 (トライアル)

  • オープンソースかどうか: いいえ
  • クラウド プラットフォームに基づいていますか: はい (あらゆるコンピューティング ターゲットのモデルの評価とトレーニングを完了できます)
  • サポートされているモデルカテゴリ: 分類、回帰
  • 使用される技術: 確率的行列分解 + ベイズ最適化
  • トレーニングフレームワーク: sklearn

このアプローチの背後にある考え方は、2 つのデータセットが一部のワークフローで同様の (つまり関連する) 結果を出す場合、他のワークフローでも同様の結果が出る可能性が高いというものです。これは聞き覚えがあるかもしれません。これまでにレコメンデーション システムの協調フィルタリングに取り組んだことがある場合、「2 人のユーザーが過去に同じアイテムを気に入った場合、将来も同様のアイテムを気に入る可能性が高い」ということをご存知でしょう。

ワークフロー P とデータセット D で構成される入力マトリックスの視覚化。数字は、ワークフロー P のデータセット D で取得されたバランスの取れた平均に対応します。

この問題を解決するには、2 つのことが必要です。異なるデータセットと異なる機械学習ワークフローの関係を捉える潜在表現を学習して、特定のデータセットでワークフローが達成する精度を予測すること、そして次にどのワークフローを試すべきかを正確に判断できる関数を学習することです。最初のタスクは、バランスのとれた精度のマトリックスを作成することによって達成され、さまざまなワークフローでさまざまなデータセットを処理できます。論文「自動機械学習のための確率的行列因数分解」では、600 を超えるデータセットで試した 42,000 種類の機械学習ワークフローの詳細を説明した手法が説明されています。これは、現在 Azure の試用版で表示される内容とは異なるかもしれませんが、概要は伝わります。著者らは、隠し表現がモデルに関する情報だけでなく、ハイパーパラメータやデータセットの特性に関する情報もうまく捕捉できることを示しています (この学習プロセスは教師なしで実行されることに注意してください)。

これまでに説明したモデルは、すでに評価されたワークフローの関数として各機械学習ワークフローの予想されるパフォーマンスを予測できますが、次にどのワークフローを試すべきかについてのガイダンスはまだ提供されていません。このアプローチでは、行列分解の確率バージョンを使用しているため、ワークフローのパフォーマンスに関する予測事後分布を生成でき、獲得関数 (ベイズ最適化) を使用して機械学習ワークフローの空間の探索をガイドできます。基本的に、この方法では、期待される精度の向上を最大化する次のワークフローが選択されます。

しかし、レコメンデーション システムには、コールド スタートという非常に特殊な問題があります。システムに新しいデータセット (つまり、自分のデータセット) が表示された場合、モデルにはこの新しいデータセットが何に類似しているかを知る方法がありません。コールド スタートの問題に対処するには、データセットからいくつかのメタ機能を計算して、観測数、分類されたカテゴリの数、値の範囲などの機能を取得します。これらの指標は、既知のデータセットの空間内で閉じたデータセットを識別するために使用されます。彼らは、自動機械学習システムに次にどのデータセットを試すかを指示する取得関数を使い始める前に、5 つの異なるワークフローを試しました。このアプローチでは、実際のデータセットにアクセスする必要はなく、ローカルで計算されたメタ機能のみにアクセスすればよいことに注意してください (これにより、オーバーヘッドが大幅に削減されます)。

Google の AUTOML (ベータ版)

  • オープンソースかどうか: いいえ
  • クラウド プラットフォームに基づいていますか: はい (トレーニングと評価)
  • サポートされているモデル カテゴリ: 分類用の畳み込みニューラル ネットワーク (CNN)、再帰型ニューラル ネットワーク (RNN)、長短期記憶ネットワーク (LSTM)
  • 使用される技術: 勾配ポリシー更新による強化学習
  • トレーニングフレームワーク: TensorFlow

ニューラル ネットワークに関して言えば、最近の最先端モデルの成功は、機能設計からアーキテクチャ設計へのパラダイム シフトと切り離せません。つまり、そのような機能を直接設計するのではなく (これは複雑で、データに関する多くの事前知識が必要です)、教師なし方式でデータから最適な表現を学習できる機械学習アーキテクチャを構築します。ただし、アーキテクチャの設計には依然として多くの知識と時間が必要です。 Google AutoML のソリューションは、対象のデータセットで優れたパフォーマンスを実現できるサブモデルのアーキテクチャを設計および生成する方法を学習できるメタモデルを作成することです。

彼らは、RNN として実装されたニューラル アーキテクチャ検索を使用して、可変長トークン (「文字列」の言い換え) のシーケンスとしてエンコードするアーキテクチャを生成しました。

この方法を使用して生成された CNN のエンコード。色付きの各ボックスは、RNN によって生成された提案されたアーキテクチャのパラメータ (またはトークン) に対応します。

アーキテクチャが生成されると、提案されたモデルが構築およびトレーニングされ、達成された精度が最終的に記録されます。 RNN は、時間の経過とともに RNN のパラメータを更新してより優れたアーキテクチャを生成する強化学習戦略を使用してトレーニングされます。

生成されたトークン シーケンスは、アーキテクチャを生成するときに実行する必要がある一連のアクションとして表示できます。モデルは最終的にデータセットで精度 R を取得します。強化学習アルゴリズムとともに RNN をトレーニングするための報酬信号として R を使用することを検討できます。しかし、そのような報酬は微分化できないため、いくつかの改善策を通じてポリシー勾配法(1992 年に Williams らが提案)を使用してパラメータを反復的に更新することを提案しています。トレーニング プロセスには非常に時間がかかるため、2012 年に Dean らが発表した論文で提案された方法のように、分散トレーニングと非同期パラメーター更新を使用して学習プロセスを高速化します。

どのようなモデルを生成できるのでしょうか。Google Brain が公開した関連論文「NEURALARCHITECTURE SEARCH WITH REINFORCEMENT LEARNING」によると、畳み込みアーキテクチャに関しては、非線形モデルに正規化線形ユニット (Nair & Hinton、2010)、バッチ正規化 (Ioffe & Szegedy、2015)、スキップ接続 (Szegedy 他、2015 および He 他、2016a) が使用されています。各畳み込み層では、フィルタの高さを[1, 3, 5, 7]、フィルタの幅を[1, 3, 5, 7]、フィルタの数を[24, 36, 48]の範囲で選択できます。ステップサイズに関しては、[1, 2, 3]のステップサイズを予測する必要があります。 RNN および LSTM の場合、アーキテクチャは [identity、tanh、sigmoid、relu] から選択された活性化関数をサポートします。 RNN ニューロンの入力ペアの数(「カーディナリティ」)は 8 に設定されています。

オートケラス

  • オープンソース: はい
  • クラウドプラットフォームに基づいていますか: いいえ
  • サポートされているモデル カテゴリ: 分類用の畳み込みニューラル ネットワーク (CNN)、再帰型ニューラル ネットワーク (RNN)、長短期記憶ネットワーク (LSTM)
  • 使用される技術: 効率的なニューラル アーキテクチャ検索 (パラメータ共有による効率的なニューラル アーキテクチャ検索を参照)
  • トレーニングフレームワーク: Keras

AutoKeras は、Google の AutoML と同じアイデアに基づいて構築されています。ループでトレーニングされる RNN コントローラーを使用して候補アーキテクチャ (つまりサブモデル) をサンプリングし、目的のタスクでのパフォーマンスを測定するようにトレーニングします。コントローラーは、パフォーマンスをガイダンス信号として使用して、より有望なアーキテクチャを見つけます。しかし、この計算プロセスがいかにコストがかかるかについてはこれまで触れていませんでした。実際には、ニューラル アーキテクチャの検索は計算コストが高く、時間がかかります。たとえば、Zoph らによる 2018 年の論文では、450 個の GPU を使用して実行するのに約 40,000 GPU 時間がかかりました。一方、使用するリソースが少ないと、ダンプ結果が生成されることがよくあります。この問題を解決するために、AutoKeras は Efficient Neural Architecture Search (ENAS) を使用します。

ENAS は転移学習に似た概念を適用します。これは、特定のタスクの特定のモデル用に学習されたパラメータを、他のタスクの他のモデルに使用できるという考え方です。したがって、ENAS は生成されたすべてのサブモデルに重みを共有するように強制し、各サブモデルが最初からトレーニングされることを意図的に防止します。この論文の著者らは、ENAS がサブモデル間でパラメータを共有できるだけでなく、非常に強力なパフォーマンスも達成できることを示しています。

自動学習

  • オープンソース: はい
  • クラウドプラットフォームに基づいていますか: いいえ
  • サポートされているモデルカテゴリ: 分類、回帰
  • 使用される技術: ベイズ最適化 + 自動アンサンブル構築
  • トレーニングフレームワーク: sklearn

Auto-sklean は、Auto-Weka (https://www.automl.org/automl/autoweka/) で使用される CASH (組み合わせアルゴリズムの選択とハイパーパラメータの最適化) 問題の定義と、AzureAutomated ML と同じ考え方に基づいています。つまり、学習アルゴリズムの選択とハイパーパラメータの設定を同時に行う問題を考慮します。彼らが提案した主な違いは、論文「効率的で堅牢な自動機械学習」で詳しく説明されているように、最初のメタ学習ステップと最後の自動アンサンブル構築ステップという 2 つの追加ステップをメインプロセスに組み込むことです。

auto-sklearnAutoML メソッド

この方法では、データ ポイントの数、特性、分類、ターゲットのデータの歪度やエントロピーなどの単純、情報理論的、統計的なメタ機能を含む合計 38 個のメタ機能を使用してデータセットを記述します。この情報を使用して、ベイズ最適化の初期サンプリング ポイント (シード) として k 個のサンプリング ポイントを選択します。このメタ学習アプローチは、データセット リポジトリ (Azure Automated ML など) を使用することでその威力を発揮することに注意してください。

ベイズ最適化を完了した後、試行したすべてのモデルで構成されるアンサンブル モデルを構築します。このステップの目的は、各モデルのトレーニングに費やされた労力を保存することです。より優れたモデルを優先してこれらのモデルを破棄するのではなく、それらを保存し、最終的にそれらのアンサンブルを構築します。この自動アンサンブル構築方法は、単一のハイパーパラメータの設定に縛られることを回避し、したがってより堅牢になります(そして過剰適合しにくくなります)。彼らは、アンサンブル選択、つまり空のアンサンブルから始めて、アンサンブル検証のパフォーマンスを最大化するモデルを繰り返し追加する貪欲なプロセスを使用して、アンサンブル モデルを構築しました。

結論とコメント

それぞれの方法には長所と短所があり、また独自の軌跡もあります。 Azure Automatic ML と auto-sklearn は同じアイデアに基づいて構築されており、計算量が少なく実装コストが低い回帰タスクと分類タスクに使用されます。データセット全体を表示する必要はありません (構築されたモデルがそれを生成できる限り)。また、データのプライバシーが求められる場合は、これら 2 つのフレームワークを使用するのが適切です。しかし、それらはすでに取得されたデータセットに大きく依存しています。既存の機械学習ワークフロー以外では、新しいことを試すことはできません。個人的には、このようなアプローチがメタ学習と呼べるかどうか疑問に思います。

一方、Google AutoML と AutoKeras も同じアプローチを使用しており、モデルをゼロから構築する方法を学習しようとします。これはより野心的なアプローチであるため、アクション空間 (CNN、RNN、LSTM) がさらに制限されます。しかし、彼らが使用した強化学習法によって、モデルを構築する新しい方法を模索することができました (Google は、彼らの方法により、既存のモデルよりも 1.05 倍優れたモデルが見つかったと主張しています)。これはメタ学習に近いようです。ただし、強化学習法には大量の計算能力が必要になるため、1時間あたり20ドルの料金がかかります。この場合、精度を向上させるために AutoKeras が実行するパフォーマンスの最適化は非常に魅力的です (さらに、オープン ソースであるため、プライバシーを気にする人にとっても朗報です)。

オリジナルリンク:

https://medium.com/@santiagof/auto-is-the-new-black-google-automl-microsoft-automated-ml-autokeras-and-auto-sklearn-80d1d3c3005c

[この記事は51CTOコラム「Machine Heart」、WeChatパブリックアカウント「Machine Heart(id:almosthuman2014)」によるオリジナル翻訳です]

この著者の他の記事を読むにはここをクリックしてください

<<:  天猫双11:機械​​知能が上昇、ロボット1台は実在の人間70万人に相当

>>:  AIによる価格比較、本当にあなたに代わって価格を比較してくれるのでしょうか?

ブログ    
ブログ    

推薦する

毎日のアルゴリズム: 完全順列問題

[[435870]]繰り返しのない数字のシーケンスが与えられた場合、そのシーケンスのすべての可能な順...

...

顔認識の国家基準に関する意見募集:顔のスキャンや嗜好予測の義務化はなし

近年、顔認証が話題になっていますが、現実には、通知なく顔認証データを取得したり、強制的に顔認証させら...

Google が新たなブラック テクノロジー プロジェクトを立ち上げました。産業用ロボットへの賭け

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

ファーウェイと4つの主要パートナーが共同でAscend AIの大規模モデルトレーニングおよびプッシュ統合ソリューションをリリース

Ascend人工知能産業サミットフォーラムが上海で開催されました。フォーラムでは、ビッグモデルの共同...

ツールの選択からチームのコミュニケーションまで、ML エンジニアが実稼働レベルの機械学習を段階的に構築する様子をご覧ください。

機械学習がユーザーに真の価値をもたらすためには、それを本番システムに導入する必要があります。 AI ...

この AI ツールは最近、大騒ぎになっています!試してみますか?

Stable Diffusionをプレイしたことがある人は多いと思います。この製品はmjdjour...

シェア | Meituanのディープラーニングシステムのエンジニアリング実践

背景ディープラーニングは、AI時代の中核技術として、さまざまなシナリオに適用されてきました。システム...

ついに誰かが「組み込み人工知能」を明らかにした

組み込み人工知能とは、組み込み環境で人工知能を実行することです。アルゴリズムモデルは以前と同じですが...

機械学習のプライバシー研究における新たな進歩: データ強化のリスクは過小評価されており、新しいアルゴリズムは次元依存性を「克服」します

編集者注: 今日、データは人工知能のイノベーションを推進する中核的な要素です。ただし、データのセキュ...

...

人工知能は人間のキャリアにどのような影響を与えるのでしょうか? 11のトレンド予測はこちら

置き換えられるというよりは、スキルの反復の方が心配です。 2017年は、人工知能が世界中で大きな注目...

人工知能時代に対応するための知識と技術の蓄積を向上させる

記者がインタビューした専門家によると、人工知能などの知能化技術の応用が加速するにつれ、雇用への構造的...

...

AIが都市の発展にどのように役立つか

人工知能は、特に交通インフラに関して、都市開発の近代化という使命を変革することができます。現代社会に...