導入 AutoML は自動機械学習を指します。組織レベルと教育レベルの両方で機械学習のエンドツーエンドのプロセスを自動化する方法について説明します。機械学習モデルは基本的に次の手順で構成されます。
当初、これらの手順はすべて手動で実行されていました。しかし、今では AutoML の登場により、これらの手順を自動化できるようになりました。 AutoML は現在、次の 3 つのカテゴリに分類されます。
AutoML が必要な理由は何ですか? 機械学習の需要は日々高まっています。組織はすでにアプリケーション レベルで機械学習を導入しています。現在も多くの改良が行われており、機械学習モデルの導入のためのより優れたソリューションを提供するために懸命に取り組んでいる企業も数多くあります。 これを導入するには、企業は高額の給与を期待できる経験豊富なデータ サイエンティストのチームを用意する必要があります。たとえ企業に優秀なチームがあったとしても、どのモデルが企業にとって最適かを判断するには、AI の知識よりも経験が必要になることがよくあります。さまざまなアプリケーションにおける機械学習の成功により、機械学習システムの需要が高まっています。専門家でなくても簡単に使えるはずです。 AutoML は、ML パイプライン内の可能な限り多くのステップを自動化し、最小限の人的労力で優れたモデル パフォーマンスを維持する傾向があります。 AutoML には主に 3 つの利点があります。
さまざまなプログラミング言語で利用できる最も一般的な AutoML ライブラリをいくつか見てみましょう。 パイソン 1. オートスクラーン auto-sklearn は、自動化された機械学習ツールキットであり、scikit-learn 推定器の代替品です。 Auto-SKLearn は、機械学習ユーザーをアルゴリズムの選択とハイパーパラメータの調整から解放します。これには、ワンストップ、デジタル特徴正規化、PCA などの特徴エンジニアリング手法が含まれます。このモデルは、分類および回帰問題に SKLearn 推定器を使用します。 Auto-SKLearn はパイプラインを作成し、ベイズ検索を使用してそのパイプラインを最適化します。 ML フレームワークでは、ベイズ推論によるハイパーパラメータ調整のために 2 つのコンポーネントが追加されています。ベイズを使用してオプティマイザーを初期化するためにメタ学習が使用され、最適化プロセス中に構成の自動アンサンブル構築が評価されます。 Auto-SKLearn は小規模および中規模のデータセットでは優れたパフォーマンスを発揮しますが、大規模なデータセットでは最先端のパフォーマンスを備えた最新のディープラーニング システムを生成することはできません。 例:
2. フィーチャーツール これは自動特徴エンジニアリング用の Python ライブラリです。 (1)インストール: pip でインストールします:
または、conda の Conda-forge チャネル経由:
(2)追加コンポーネント アドオンを個別に、または一度にすべてインストールするには、次のコマンドを実行します。
アップデート チェッカー — FeatureTools の新しいバージョンに関する自動通知を受け取る
TSFresh プリミティブ - FeatureTools で TSFresh の 60 以上のプリミティブを使用
例:
Featuretoolsは、任意の「ターゲットエンティティ」のフィーチャテーブルを自動的に作成できます。
公式サイト: https://featuretools.alteryx.com/cn/stable/ 3. MLボックス MLBox は、自動化された機械学習のための強力な Python ライブラリです。公式ドキュメントによると、次の機能があります。
MLBox アーキテクチャ: MLBox メイン パッケージには 3 つのサブ パッケージが含まれています。
公式サイト: https://github.com/AxeldeRomblay/MLBox 4. TPOT TPOT は Tree-based Pipeline Optimization Tool の略で、遺伝的アルゴリズムを使用して機械学習パイプラインを最適化します。TPOT は scikit-learn 上に構築されており、独自の回帰法と分類法を使用します。 TPOT は何千ものパイプラインの可能性を調査し、データに最も適したものを見つけます。 TPOT は、何千ものパイプラインをインテリジェントに探索し、データに最適なものを見つけることで、機械学習の最も面倒な部分を自動化します。 TPOT が検索を終了すると、見つかった最適なパイプラインの Python コードが提供されるので、そこからパイプラインを変更できます。 TPOT は scikit-learn 上に構築されているため、生成されるすべてのコードは、少なくとも scikit-learn に慣れていれば、馴染みのあるものになるはずです。 TPOT は現在も活発に開発中です。 例: 分類 以下は手書き数字データセットの光学認識の例です。
このコードは、98% のテスト精度を達成するパイプラインを見つけます。対応する Python コードは tpot_digits_pipeline.py ファイルにエクスポートされ、次のようになります。
戻る TPOT はパイプラインを最適化して回帰問題を解決できます。以下は、ボストンの住宅価格データセットを使用した最小限の動作例です。
これにより、平均二乗誤差 (MSE) が約 12.77 になるパイプラインが作成されます。tpot_boston_pipeline.py の Python コードは次のようになります。
Github リンク:- https://github.com/EpistasisLab/tpot 5. ライトウッド Lightwood は機械学習のレゴのようなものです。 Pytorch ベースのフレームワークで、機械学習の問題を小さなチャンクに分割し、シームレスに結合します。その目的は、わずか 1 行のコードで予測モデルを簡単に構築できるようにすることです。 インストール pip から Lightwood をインストールできます:
注: 環境によっては、上記のコマンドで pip3 ではなく pip を使用する必要がある場合があります。 シンプルなsensor_data.csvが与えられれば、sensor3の値を予測できます。 Lightwood からの予測子のインポート
モデルをトレーニングします。
これで、sensor3 の値を予測できます。
公式リンク: https://github.com/mindsdb/lightwood 6. マインドDB MindsDB は、既存のデータベース用のオープンソース AI レイヤーであり、SQL クエリを使用して最先端の機械学習モデルを簡単に開発、トレーニング、展開できます。 公式リンク: https://github.com/mindsdb/mindsdb 7. mljar監督 mljar-supervised は、表形式のデータを操作するための自動化された機械学習 Python パッケージです。データ サイエンティストの時間を節約するために設計されています。データの前処理、機械学習モデルの構築、ハイパーパラメータ調整の実行といった一般的な方法を抽象化し、最適なモデル共通点を見つけます。 ML パイプラインがどのように構築されているかを正確に確認できるため、ブラック ボックスではありません (各 ML モデルには詳細な Markdown レポートがあります)。 mljar 監督では、次のことが役立ちます:
3 つの動作モードが組み込まれています。
公式リンク:- https://github.com/mljar/mljar-supervised 8. オートケラス Auto-Keras は、DATA Lab が開発した自動機械学習 (AutoML) 用のオープンソース ソフトウェア ライブラリです。 Auto-Keras はディープラーニング フレームワーク Keras 上に構築されており、ディープラーニング モデルのアーキテクチャとハイパーパラメータを自動的に検索する機能を提供します。 Auto-Keras は従来の Scikit-Learn API 設計に従っているため、使いやすいです。現在のバージョンでは、ディープラーニング中にハイパーパラメータを自動的に検索する機能が提供されています。 Auto-Keras では、Automatic Neural Architecture Search (NAS) アルゴリズムを使用して ML を簡素化する傾向があります。 NAS は基本的に、一連のアルゴリズムを使用してモデルを自動的に調整し、ディープラーニングのエンジニアや実践者に代わるものです。 公式リンク: https://github.com/keras-team/autokeras 9. ニューラルネットワークインテリジェンス(NNI) ニューラル アーキテクチャの検索とハイパーパラメータの調整のためのオープン ソース AutoML ツールキット。 NNI は、トレーニング実験を管理するためのコマンドライン ツールとユーザーフレンドリーな WebUI を提供します。拡張可能な API を使用すると、独自の AutoML アルゴリズムとトレーニング サービスをカスタマイズできます。新規ユーザーが簡単に使用できるように、NNI では最先端の AutoML アルゴリズムのセットが組み込まれており、一般的なトレーニング プラットフォームをすぐにサポートできます。 公式サイト:- https://nni.readthedocs.io/en/latest/ 10. ルートヴィヒ Ludwig は、ユーザーがコードを記述せずにディープラーニング モデルをトレーニングおよびテストできるツールボックスです。 TensorFlow 上に構築された Ludwig は、拡張性の原則とデータ型の抽象化に基づいて構築されているため、新しいデータ型と新しいモデル アーキテクチャのサポートを簡単に追加でき、実践者はディープラーニング モデルを迅速にトレーニングおよびテストでき、研究者は比較のための強力なベンチマークを取得できます。実験設定では、同じデータ処理と評価を実行することで比較可能性が確保されます。 Ludwig は、特定のユースケースのエンドツーエンドのモデルを作成するために組み合わせることができる一連のモデル アーキテクチャを提供します。たとえば、ディープラーニング ライブラリが建物を建設するための基盤を提供するのに対し、Ludwig は都市を建設するための建物を提供し、利用可能な建物の中から選択したり、利用可能な建物に独自の建物を追加したりすることができます。
公式リンク:- https://github.com/uber/ludwig 11. アダネット AdaNet は、専門家の介入を最小限に抑えて高品質のモデルを自動的に学習する、TensorFlow に基づく軽量フレームワークです。 AdaNet は、AutoML の最近の取り組みに基づいて構築されており、高速で柔軟な学習保証を提供します。重要なのは、AdaNet はニューラル ネットワーク アーキテクチャを学習するだけでなく、それらをアンサンブルしてより優れたモデルを取得することを学習するための一般的なフレームワークも提供するという点です。 AdaNet の目標は次のとおりです。
公式リンク: https://github.com/tensorflow/adanet 12. Darts(差分アーキテクチャ検索) このアルゴリズムは、アーキテクチャ空間における連続緩和と勾配降下法に基づいています。これにより、画像分類 (CIFAR-10 および ImageNet) 用の高性能畳み込みアーキテクチャや、言語モデリング (Penn Treebank および WikiText-2) 用の再帰アーキテクチャを効率的に設計できるようになります。必要な GPU は 1 つだけです。 公式リンク:- https://github.com/quark0/darts 13. オートMLGS 入力 CSV ファイルと予測するターゲット フィールドを AutoML-GS に提供し、トレーニング済みの高性能な機械学習またはディープラーニング モデルと、そのモデルをあらゆる予測ワークフローに統合できるネイティブ Python コード パイプラインを取得します。ブラック ボックスはありません。データがどのように処理され、モデルがどのように構築されるかを正確に確認でき、必要に応じて調整できます。 automl-gs は、Microsoft の NNI、Uber の Ludwig、TPOT とは異なり、Python への依存を最小限に抑えながら、複数の一般的な ML/DL フレームワークで最適化されたモデルとデータ変換パイプラインを取得するためのゼロコード/モデル定義インターフェースを提供する AutoML ツールです。 公式リンク:- https://github.com/minimaxir/automl-gs 14. AutoKerasのRインターフェース AutoKeras は、自動機械学習 (AutoML) 用のオープンソース ソフトウェア ライブラリです。これは、テキサス A&M 大学の DATA Lab とコミュニティ貢献者によって開発されました。 AutoML の最終的な目標は、データ サイエンスや機械学習のバックグラウンドが限られているドメイン エキスパートが簡単にアクセスできるディープラーニング ツールを提供することです。 AutoKeras は、ディープラーニング モデルのアーキテクチャとハイパーパラメータを自動的に検索する機能を提供します。 RStudio TensorFlow for R ブログの AutoKeras ブログ投稿を参照してください。 公式ドキュメント: https://github.com/r-tensorflow/autokeras 15. トランスモグリフAI TransmogrifAI (発音は trăns-mŏgˈrə-fī) は、Apache Spark 上で実行される Scala で記述された AutoML ライブラリです。これは、機械学習の自動化と、コンパイル時の型安全性、モジュール性、再利用を強制する API を通じて機械学習開発者の生産性を向上させることに重点を置いて開発されました。自動化により、手動でモデルを調整した場合とほぼ同等の精度を、約 100 倍短い時間で実現します。 以下の目的で機械学習ライブラリが必要な場合は、TransmogrifAI を使用してください。
公式リンク: https://github.com/salesforce/TransmogrifAI 16. グラウコス Glaucus は、自動機械学習パイプラインを組み合わせ、機械学習アルゴリズムの複雑なプロセスを簡素化し、優れた分散データ処理エンジンを適用する、データフローベースの機械学習スイートです。さまざまな分野のデータサイエンスの専門家以外の人々が、強力な機械学習ツールのメリットを簡単な方法で得られるよう支援します。 ユーザーは、データのアップロード、簡単な構成、アルゴリズムの選択、自動または手動のパラメータ調整によるアルゴリズムのトレーニングのみを行う必要があります。このプラットフォームはトレーニング モデル用の豊富な評価指標も提供しているため、専門家以外の人でも自分の分野で機械学習の影響を最大限に引き出すことができます。プラットフォーム全体の構造を下図に示します。主な機能は次のとおりです。
公式サイト:- https://github.com/ccnt-glaucus/glaucus 17. H20 オートML H2O AutoML インターフェースは、パラメータが可能な限り少なくなるように設計されているため、ユーザーが行う必要があるのは、データセットを指定して応答列を識別し、オプションで時間制限またはトレーニングされるモデルの合計数の制限を指定することだけです。 R および Python API では、AutoML は他の H2O アルゴリズムと同じデータ関連パラメータ x、y、training_frame、validation_frame を使用します。ほとんどの場合、必要なのはデータ パラメータを指定することだけです。次に、max_runtime_secs および/または max_models の値を設定して、実行時に明示的に時間またはモデルの制限数を設定できます。 公式リンク: https://github.com//h2oai/h2o-3/blob/master/h2o-docs/src/product/automl.rst 18. ポケットフロー PocketFlow は、最小限の人的労力でディープラーニング モデルを圧縮および高速化するためのオープン ソース フレームワークです。ディープラーニングは、コンピュータービジョン、音声認識、自然言語翻訳など、さまざまな分野で広く使用されています。ただし、ディープラーニング モデルは通常、計算コストが高いため、計算リソースが限られているモバイル デバイスでのさらなる適用は制限されます。 PocketFlow は、パフォーマンスの低下をほとんどまたはまったく伴わずに推論効率を向上させる使いやすいツールキットを開発者に提供することを目指しています。開発者は、必要な圧縮率や高速化率を指定するだけで、PocketFlow は適切なハイパーパラメータを自動的に選択し、展開用の効率的な圧縮モデルを生成します。 公式リンク:- https://github.com/Tencent/PocketFlow 19. レイ Ray は、分散アプリケーションを構築するためのシンプルで汎用的な API を提供します。 Ray には、機械学習のワークロードを高速化するための次のライブラリがパッケージ化されています。
Ray をインストールするには、次のコマンドを使用します: pip install ray 公式リンク: https://github.com/ray-project/ray 20.SMAC3 (スマック3) SMAC は、一連のインスタンスにわたって任意のアルゴリズムのパラメータを最適化できるアルゴリズム プロファイリング ツールです。これには、ML アルゴリズムのハイパーパラメータの最適化も含まれます。メインコアには、ベイズ最適化と、2 つの構成のどちらがより優れたパフォーマンスを発揮するかを効果的に判断するための積極的なレース メカニズムが含まれています。 主なアイデアの詳細な説明については、以下を参照してください。 Hutter, F.、Hoos, HH、Leyton-Brown, K. 一般的なアルゴリズム構成のためのシーケンシャル モデル ベース最適化 In: 学習とインテリジェント最適化に関する会議 (LION 5) の議事録 SMAC v3 は Python 3 で記述されており、Python 3.6 および python3.6 で継続的にテストされています。ランダムフォレストは C++ で書かれています。 結論は AutoML ライブラリは、パイプラインの作成やハイパーパラメータの調整などの反復的なタスクを自動化するため重要です。これにより、データ サイエンティストの時間が節約され、ビジネス上の問題にさらに多くの時間を費やすことができるようになります。 AutoML を使用すると、少数の人ではなく誰もが機械学習テクノロジーを使用できるようになります。データ サイエンティストは、AutoML を使用して真に効果的な機械学習を実装することで、ML 開発を加速できます。 AutoML の成功が組織のユースケースとニーズにどのように依存するかを見てみましょう。運命は時が決める。しかし、現時点では機械学習の分野では AutoML が重要であると言えます。 |
<<: Google の内部対立が激化!従業員が共同書簡に署名:AIマスターのジェフ・ディーン氏は謝罪すべき!
[[402579]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitA...
現在、ディープラーニング技術を使用するモバイルアプリケーションは、通常、すべての DNN コンピュー...
人間とは異なり、人工ニューラル ネットワークは新しいことを学習するときに以前に学習した情報をすぐに忘...
最近、香港科技大学、上海AIラボなどの組織が共同で時系列の教師なし事前トレーニングに関する論文を発表...
この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...
8月31日、人工知能(AI)がチェスやビデオゲームなどの分野で人間に勝利した。そして今回初めて、人間...
IoT と AI の誇大宣伝サイクルは、企業が大きな価値を認識し始める段階まで進んでいます。 IoT...
AI の導入が拡大しているにもかかわらず、多くの IT リーダーは AI のリスクと機会を取り巻く不...
上海がゴミの分別を推進し始めて以来、クレイジーな上海寧は多くのジョークや絵文字を投稿し、大多数のネッ...
この記事は、公開アカウント「Reading the Core」(ID: AI_Discovery)か...
人工知能 (AI) は、自然科学のさまざまな分野を網羅しており、主に特定の種類の知的な人間の活動をモ...
コンピューター科学者は、人工知能の中核技術である機械学習とディープラーニングにおいて大きな進歩を遂げ...