自動化された機械学習は、過去 1 年間で大きな関心を集めるトピックになりました。 KDnuggets はこのトピックに関するブログ コンテストを開催しています。結果は有望なものとなり、多くの興味深いアイデアやプロジェクトが提案されました。いくつかの自動学習ツールも人々の興味をそそり、誰もが求めています。 この記事では、Matthew Mayo が自動学習について簡単に紹介し、その根拠と導入について検討し、現在使用されているツールを紹介し、予想される将来の開発の方向性について説明します。
自動化された機械学習とは何ですか?次に、自動化された機械学習がどのような科学に属し、どのような科学に属していないかを探ります。 自動化された機械学習は自動化されたデータサイエンスではありません。自動化されたデータ サイエンスと重複する部分があることは間違いありません。それでも、機械学習はデータ サイエンス ツールキットの中の 1 つのツールにすぎません。すべてのデータ サイエンス タスクに機能するわけではありません。たとえば、機械学習は予測データサイエンスのタスクに適しています。しかし、記述分析などのデータ サイエンスのタスクには適していません。 予測的なデータ サイエンスのタスクであっても、単なる予測以上のものが含まれます。私たちは、自動化された機械学習と自動化されたデータサイエンスを混同しています。データサイエンティストの Sandro Saitta 氏は次のように考えています。 この誤解は、データ サイエンスのプロセス全体 (CRISP-DM など)、データの準備のサブプロセス (特徴抽出など)、およびモデリング (機械学習とも呼ばれます) を混同していることから生じます。 データサイエンスを自動化するツールやデータサイエンスのコンテストに関するニュースを読むと、業界経験のない人は混乱するかもしれません。データサイエンスはモデリングがすべてなので、完全に自動化できると考えるかもしれません。 彼は完全に正しく、それは単なる言葉の意味の問題ではありません。機械学習とデータサイエンスをより明確に理解したい場合は、これを読んでください。 さらに、データ サイエンティストであり、自動機械学習のリーダーでもある Randy Olson 氏は、効率的な機械学習設計ソリューションを得るには、次のことを行う必要があると考えています。
以上のことを考慮すると、自動機械学習のタスクは、アルゴリズムの選択、ハイパーパラメータの調整、反復モデリング、モデル評価であると考えられます。このように、自動機械学習を次のように定義することができます。自動化された機械学習の定義はさまざまですが (データ サイエンスと比較すると、10 人にデータ サイエンスとは何かを尋ねると 11 通りの答えが返ってきます)、これは良いスタートだと言えます。 なぜそれが必要なのでしょうか?自動化された機械学習とは何か、それがどのようなメリットをもたらすかはわかっていますが、それでも機械学習が難しい理由を理解する必要があります。 AI 研究者でありスタンフォード大学の博士課程の学生でもある S. Zayd Enam 氏は最近、「機械学習はなぜこんなに「難しい」のか?」というタイトルの奇妙なブログを執筆しました。この記事で彼は次のように書いています(太字部分に注目してください)。
Enam 氏は主に機械学習の研究について言及していますが、ユースケースにおける既成アルゴリズムの実装についても言及していることに注意してください (太字を参照)。 その後、エナム氏は機械学習の課題について詳しく説明し、アルゴリズムの特性に焦点を当てました (太字部分)。 機械学習の課題の 1 つは、直感を養うことです。直感を養うということは、問題に対処するために特定のツールを採用することを意味します。 これには、利用可能なアルゴリズム、モデル、リスクのトレードオフ、およびすべての制約を知る必要があります。 … 難しいのは、機械学習は根本的にデバッグが難しいことです。機械学習の場合、デバッグは次の 2 つの状況で発生します。1) アルゴリズムが機能しない。2) アルゴリズムがうまく機能していない。 … アルゴリズムがすぐに機能することはめったにないので、私たちの時間のほとんどはアルゴリズムの作成に費やされます。 その後、エナム氏はアルゴリズム研究の観点からフレームワークの問題について詳しく説明しました。ここでも彼はアルゴリズムの適用について話しています。アルゴリズムが機能しない、またはパフォーマンスがあまり良くない場合は、アルゴリズムを反復して、つまり再選択して再定義する必要があります。これにより自動化が生まれ、自動化されたアルゴリズムが生まれます。 自動化された機械学習アルゴリズムの性質についての私の以前の理解は次のとおりです。 Sebastian Raschka 氏が説明しているように、コンピュータ プログラミングが自動化に関するものであるならば、機械学習は「自動化の自動化」と見なすことができます。つまり、自動化された機械学習は、自動化の自動化そのものです。プログラムは反復的なタスクを管理することで私たちのストレスを軽減します。機械学習は、コンピューターがこれらの反復的なタスクを最適に処理する方法を学習するのに役立ちます。自動化された機械学習は、コンピューターが上記の結果を最適化する方法を学習するのに役立ちます。 このアイデアは非常に便利ですが、以前はパラメータとハイパーパラメータの調整について心配していました。自動化された機械学習は、一連の異なる方法を試し、最終的に最良の結果を得るためにパラメータを調整する最適な方法を使用します。 自動化された機械学習の理論的根拠は、次のような考え方から生まれています。大量の機械学習モデルを作成し、多数のアルゴリズムを使用し、さまざまなハイパーパラメータ構成を使用する必要がある場合、自動化された方法を使用してモデル化することができます。パフォーマンスと精度も比較できます。 簡単ですよね? 自動化された機械学習ツールの比較これで、自動化された機械学習とは何か、そしてなぜそれを使用する必要があるのかがわかりました。では、自動化された機械学習モデルをどのように作成できるでしょうか?以下では、2 つの自動化された機械学習ツールキットの概要とそれらの比較について説明します。これらのツールキットは Python で書かれています。これら 2 つのツールは、機械学習プロセスを自動化するという同じ目標を達成するために、異なるアプローチを使用します。 自動学習Auto-sklearn は自動機械学習用のツールキットであり、scikit-learn の推定器を置き換えるために使用されます。最近、KDnuggets が主催する機械学習ブログ コンテストで優勝しました。
上記の情報はプロジェクトのドキュメントから引用したものです。Auto-sklearn は、ベイズ最適化を通じてハイパーパラメータを最適化できます。これは、次の手順を繰り返すことです。
このプロセスがどのように機能するかについて、さらに詳しく説明します。 このプロセスは、アルゴリズム、前処理方法、ハイパーパラメータを共同で選択することとして要約できます。詳細は次のとおりです。分類/回帰の選択、前処理方法が最優先、分類ハイパーパラメータ、選択した方法のハイパーパラメータが有効になります。ベイズ最適化手法を使用して組み合わせ空間を検索します。ベイズ最適化手法は、高次元の条件付き空間の処理に適しています。私たちはランダムフォレストに基づく SMAC を使用しており、これがこの種の問題を解決する最善の方法です。 実用性という点では、Auto-sklearn は scikit-learn の推定値を直接置き換えるため、この利点を活用できるように scikt-learn にこの機能をインストールする必要があります。 Auto-sklearn は分散ファイルシステムでの並列コンピューティングもサポートしており、scikit-learn モデルの永続性機能も活用できます。推定器の代わりに Auto-sklearn を効率的に使用するには、4 行のコードだけが必要です。著者はこう書いている。
注目すべきは、Auto-sklearn が ChaLearn AutoML チャレンジの自動ユニットと tweakathon トラック ユニットのダブル チャンピオンになったことです。 最近、Kdnuggets は自動化されたデータ サイエンスと機械学習に関するブログ コンテストを開催しました。Auto-sklearn 開発チームが提出したブログ投稿がコンテストで優勝しました。こちらをクリックしてブログ記事をお読みください。また、こちらをクリックして、彼らへのインタビューを読むこともできます。 Auto-sklearn はフライブルク大学によって開発されました。 Auto-sklearn は GitHub でホストされており、ドキュメントと API が見つかります。 TPOTTPOT は「データ サイエンス アシスタント」と見なされます (「データ サイエンスの代替」ではないことに注意してください)。これは Python ツールです。 「遺伝的プログラミングを使用して、機械学習パイプラインを自動的に作成および最適化します。」 TPOT は Auto-sklearn に似ており、scikit-learn で動作します。これは scikit-learn のラッパーのようなものです。 この記事では、これら 2 つのツールは同様の目標を達成するために異なる方法を使用していることを説明しました。どちらもオープンソースで、Python で書かれており、自動化された機械学習を使用することで機械学習プロセスを簡素化すると主張しています。ただし、Auto-sklearn はベイズ最適化を使用するのに対し、TPOT は遺伝的プログラミングを使用します。 使用されるアプローチは異なりますが、最終結果は同じです。つまり、自動化されたハイパーパラメータの選択、一連のアルゴリズムを使用したモデリング、多数の機能の探索、これらすべてが反復的なモデリングとモデルの進化につながります。
以下は、MNIST データセットを使用した TPOT の例です。
TPOT のリーダーである Randy Olson が、Kdnuggets に TPOT と AutoML (自動機械学習) に関する記事を書きました。記事はここからご覧いただけます。ランディへのインタビューもここにあります。 TPOT はペンシルバニア大学の生物医学情報科学研究所で開発され、NIH の資金提供を受けました。 もちろん、自動化された機械学習には、これら 2 つのツール以外にもさまざまなものがあります。他にも、Hyperopt (Hyperopt-sklearn)、Auto-WEKA、Spearmint などのツールがあります。今後数年間で、研究と産業の両方において、さらに多くのプロジェクトが生まれると確信しています。 自動化された機械学習の未来自動化された機械学習の将来はどうなるのでしょうか? 私は最近、次のような公式声明を発表しました(私の記事「2017 年の機械学習の予測」に基づく)。 自動化された機械学習は重要な技術になるでしょう。部外者にとっては、ディープニューラルネットワークほど優れていないかもしれません。しかし、自動化された機械学習は、機械学習、人工知能、データサイエンスに大きな影響を与えます。この影響は2017年に明らかになると思われます。 同じ記事の中で、ランディ・オルソン氏も 2017 年の自動化された機械学習に対する期待を表明しました。さらに、ランディは最近のインタビューで彼の予測をさらに詳しく語った。 近い将来、自動化された機械学習が機械学習のモデリング プロセスに取って代わると思います。データセットの形式が比較的明確になれば、自動化された機械学習は 99% の人間よりも速く機械学習パイプラインを設計および最適化できるようになります。 … 機械学習では、自動化された機械学習システムが主流になると言っても過言ではありません。 しかし、自動化された機械学習はデータサイエンティストに取って代わるのでしょうか?ランディは続けた。 自動機械学習の目標はデータサイエンティストを置き換えることではないと思います。スマートコード補完ツールの目標がプログラマーを置き換えることではないのと同じです。それどころか、私にとって、自動化された機械学習の目標は、データ サイエンティストの負担を軽減し、反復的で時間のかかるタスク (機械学習パイプラインの設計やハイパーパラメータの最適化など) に多くの労力を費やさなくても済むようにすることです。これにより、自動化できないタスクに時間を費やすことができます。 このアイデアはとても良いです。 auto-sklearn の開発者は彼の見解に同意しています。 私たちは、データ サイエンティストを置き換えるのではなく、支援するための自動化された機械学習手法を開発しています。これらの方法により、データ サイエンティストは、機械でうまく解決できる面倒で複雑なタスク (ハイパーパラメータの最適化など) から解放されます。しかし、データ分析と結論の取得の作業は、依然として人間の専門家によって完了される必要があります。アプリケーションドメインを理解しているデータサイエンティストは、今後も非常に重要になります。 これは非常に心強いことです。データ サイエンティストが大量に置き換えられるわけではなく、自動化された機械学習がデータ サイエンティストの仕事をより良いものにするのに役立つはずです。これは、自動化された機械学習がすでに進んでいるということではありません。自動機械学習に改善の余地があるかどうかを尋ねたところ、Auto-sklearn チームは次のように答えました。 機械学習パイプラインのハイパーパラメータを調整する方法はありますが、新しいパイプラインを発見するための研究はこれまでほとんど行われていません。 Auto-sklearn は、事前定義されたプリプロセッサと分類子のセットを固定された順序で使用します。ある方法が新しいパイプラインを見つけるのに効果的であれば、この方法は非常に役立ちます。もちろん、この考え方を継続して、新しいアルゴリズムを自動的に見つけようとすることもできます。最近、いくつかの論文がこれを行いました。たとえば、勾配降下法による学習の学習。(Leiphone.com でもこの論文について以前触れており、この論文は RedditML グループが選んだ「年間最優秀論文タイトル賞」を受賞しました) 自動化された機械学習はどこに向かっているのでしょうか?説明するのは難しいです。遅かれ早かれそれが起こることは間違いありません。すべてのデータ サイエンティストが自動機械学習に精通しているわけではありませんが、自動機械学習に精通することで大きなメリットが得られます。忘れないでください。自動化された機械学習を学習し、ほとんどの人が気付く前にテクノロジーの波に乗ることができれば、将来の不確実性のために仕事について心配する必要がなくなります。これらのテクノロジーを習得すると、将来的に仕事をより良くこなすのに役立ちます。自動化された機械学習を学ぶのに、これ以上の理由は思いつきません。 |
<<: Google、オンライン上の有害なコメントを削除する新しい機械学習アプリをリリース
>>: 医療の荒野での賭け:百度は人工知能で危機を乗り切った
技術導入への困難な道のりは、特定の客観的な法則に従わなければならず、それはいかなる利害関係者の意見に...
多様体学習は、2000 年に有名な科学雑誌 Science で初めて提案されて以来、情報科学の分野に...
2020 年にどのディープラーニング フレームワークを選択すべきでしょうか?今、新たな選択肢がありま...
ニューラル アーキテクチャ検索は、常に高い計算能力の代表例と考えられてきました。微分可能アーキテクチ...
2020年はニュース速報に事欠かなかったが、人工知能は依然として包囲網を突破し、主流の視野に入り込...
快手は10月26日、「AI小快」アカウントの内部テストを正式に開始し、ショートビデオコメントエリアで...
[[398991]]アルゴリズムの紹介分割統治アルゴリズムは非常に重要です。文字通りの説明は「分割...
前回の記事では、GoogLeNet InceptionV1のネットワーク構造を紹介しました。この記事...
どの国が終末的な災害映画を撮影したとしても、人工知能はさまざまな大量破壊兵器を操作して人類と戦い、最...
自動化された機械学習はどれほど優れたものになるのでしょうか?たとえば、MobileNet1.0 バッ...
1. 人工知能技術の定義人工知能技術は、複雑な生産労働において機械が人間に取って代わることを可能にす...
18歳の時に撮った写真が様々な賞賛を浴びる中、また新たな年を迎えました。 [[215597]]本来な...