データ サイエンティスト向けの自動化された機械学習ライブラリ 20 選

データ サイエンティスト向けの自動化された機械学習ライブラリ 20 選

[[358537]]

  「機械学習の究極の目標の 1 つは、特徴エンジニアリング プロセスをますます自動化することです。」

ペドロ・ドミンゴス

導入

AutoML は自動機械学習を指します。組織レベルと教育レベルの両方で機械学習のエンドツーエンドのプロセスを自動化する方法について説明します。機械学習モデルは基本的に次の手順で構成されます。

  • データが読み取られ、結合されて使用可能になります。
  • データ前処理とは、データのクリーニングとデータの整理を指します。
  • 最適化機能とモデル選択プロセスの場所。
  • これをアプリケーションに適用して正確な値を予測します。

当初、これらの手順はすべて手動で実行されていました。しかし、今では AutoML の登場により、これらの手順を自動化できるようになりました。 AutoML は現在、次の 3 つのカテゴリに分類されます。

  • 自動パラメータチューニング用AutoML(比較的基本的なタイプ)
  • AutoSKlearn などの非ディープラーニング用の AutoML。このタイプは主に、データの前処理、自動特徴分析、自動特徴検出、自動特徴選択、自動モデル選択に使用されます。
  • NAS および ENAS を含むディープラーニング/ニューラル ネットワーク用の AutoML、およびフレームワーク用の Auto-Keras。

AutoML が必要な理由は何ですか?

機械学習の需要は日々高まっています。組織はすでにアプリケーション レベルで機械学習を導入しています。現在も多くの改良が行われており、機械学習モデルの導入のためのより優れたソリューションを提供するために懸命に取り組んでいる企業も数多くあります。

これを導入するには、企業は高額の給与を期待できる経験豊富なデータ サイエンティストのチームを用意する必要があります。たとえ企業に優秀なチームがあったとしても、どのモデルが企業にとって最適かを判断するには、AI の知識よりも経験が必要になることがよくあります。さまざまなアプリケーションにおける機械学習の成功により、機械学習システムの需要が高まっています。専門家でなくても簡単に使えるはずです。 AutoML は、ML パイプライン内の可能な限り多くのステップを自動化し、最小限の人的労力で優れたモデル パフォーマンスを維持する傾向があります。

AutoML には主に 3 つの利点があります。

  • 最も反復的なタスクを自動化することで効率が向上します。これにより、データ サイエンティストはモデルよりも問題に多くの時間を費やすことができます。
  • 自動化された ML パイプラインは、手作業によって発生する潜在的なエラーを回避するのにも役立ちます。
  • AutoML は、機械学習を民主化し、誰もが ML 機能を利用できるようにするための大きな一歩です。

さまざまなプログラミング言語で利用できる最も一般的な AutoML ライブラリをいくつか見てみましょう。

パイソン

1. オートスクラーン


auto-sklearn は、自動化された機械学習ツールキットであり、scikit-learn 推定器の代替品です。 Auto-SKLearn は、機械学習ユーザーをアルゴリズムの選択とハイパーパラメータの調整から解放します。これには、ワンストップ、デジタル特徴正規化、PCA などの特徴エンジニアリング手法が含まれます。このモデルは、分類および回帰問題に SKLearn 推定器を使用します。 Auto-SKLearn はパイプラインを作成し、ベイズ検索を使用してそのパイプラインを最適化します。 ML フレームワークでは、ベイズ推論によるハイパーパラメータ調整のために 2 つのコンポーネントが追加されています。ベイズを使用してオプティマイザーを初期化するためにメタ学習が使用され、最適化プロセス中に構成の自動アンサンブル構築が評価されます。

Auto-SKLearn は小規模および中規模のデータセットでは優れたパフォーマンスを発揮しますが、大規模なデータセットでは最先端のパフォーマンスを備えた最新のディープラーニング システムを生成することはできません。

例:

  1. sklearn.model_selectionをインポートする
  2. sklearn.datasetsをインポートする
  3. sklearn.metricsをインポートする
  4.  
  5. autosklearn.regressionをインポートする
  6.  
  7. main() を定義します:
  8. X, y = sklearn.datasets.load_boston ( return_X_y = True )
  9. 特徴タイプ= (['数値'] * 3) + ['カテゴリ'] + (['数値'] * 9)
  10. X_train、X_test、y_train、 y_test = \
  11. sklearn.model_selection.train_test_split(X, y,ランダム状態= 1 )
  12.  
  13. automl = autosklearn.regression.AutoSklearnRegressor (
  14. このタスクの残り時間= 120
  15. 実行時間制限= 30
  16. tmp_folder = '/tmp/autosklearn_regression_example_tmp'
  17. 出力フォルダ= '/tmp/autosklearn_regression_example_out'
  18. automl.fit(X_train, y_train,データセット名= 'boston' ,
  19. feat_type =機能タイプ)
  20.  
  21. 印刷(automl.show_models())
  22. 予測= automl.predict (X_test)
  23. print("R2 スコア:", sklearn.metrics.r2_score(y_test, 予測))
  24.  
  25.  
  26. __name__ == '__main__' の場合:
  27. 主要()

2. フィーチャーツール


これは自動特徴エンジニアリング用の Python ライブラリです。

(1)インストール:

pip でインストールします:

  1. python -m pip でfeaturetoolsをインストールします

または、conda の Conda-forge チャネル経由:

  1. conda をインストール -c conda-forge 機能ツール

(2)追加コンポーネント

アドオンを個別に、または一度にすべてインストールするには、次のコマンドを実行します。

  1. python -m pip install featuretools[完了]

アップデート チェッカー — FeatureTools の新しいバージョンに関する自動通知を受け取る

  1. python -m pip インストール featuretools[update_checker]

TSFresh プリミティブ - FeatureTools で TSFresh の 60 以上のプリミティブを使用

  1. python -m pip インストール featuretools[tsfresh]

例:

  1. >> featuretoolsをftとしてインポート
  2. > >   es = ft .demo.load_mock_customer( return_entityset = True )
  3. >> es.plot ()

Featuretoolsは、任意の「ターゲットエンティティ」のフィーチャテーブルを自動的に作成できます。

  1. >> feature_matrix、 features_defs = ft .dfs (エンティティセット= es
  2. target_entity = "顧客" )
  3. >>フィーチャーマトリックス.head(5 )

公式サイト: https://featuretools.alteryx.com/cn/stable/

3. MLボックス


MLBox は、自動化された機械学習のための強力な Python ライブラリです。公式ドキュメントによると、次の機能があります。

  • 高速読み取りと分散データの前処理/クリーニング/フォーマット
  • 非常に強力な特徴選択と漏れ検出、および正確なハイパーパラメータ最適化
  • 最新の分類および回帰予測モデル(ディープラーニング、スタッキング、LightGBM など)
  • 予測にモデル解釈を使用することで、MLBox は Kaggle でテストされ、優れたパフォーマンスを示しています。
  • パイプライン

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 は現在も活発に開発中です。

例: 分類

以下は手書き数字データセットの光学認識の例です。

  1. tpotからTPOTClassifierをインポートする
  2. sklearn.datasetsからload_digitsをインポートする
  3. sklearn.model_selection から train_test_split をインポートします
  4. 桁数= load_digits ()
  5. X_train、X_test、y_train、 y_test = train_test_split (digits.data、digits.target、
  6. トレーニングサイズ= 0.75 テストサイズ= 0.25 ランダム状態= 42 )
  7. tpot = TPOTClassifier (世代= 5 人口サイズ= 50 詳細度= 2 ランダム状態= 42 )
  8. tpot.fit(X_train、y_train) を使います。
  9. tpot.score(X_test, y_test) を印刷します。
  10. tpot.export('tpot_digits_pipeline.py')

このコードは、98% のテスト精度を達成するパイプラインを見つけます。対応する Python コードは tpot_digits_pipeline.py ファイルにエクスポートされ、次のようになります。

  1. numpyをnpとしてインポートする
  2. pandasをpdとしてインポートする
  3. sklearn.ensemble から RandomForestClassifier をインポートします
  4. sklearn.linear_model から LogisticRegression をインポートします
  5. sklearn.model_selection から train_test_split をインポートします
  6. sklearn.pipeline から make_pipeline、make_union をインポートします
  7. sklearn.preprocessing から PolynomialFeatures をインポートします
  8. tpot.builtins から StackingEstimator をインポートします
  9. tpot.export_utils から set_param_recursive をインポートします
  10. # 注意: データファイル内の結果列に「ターゲット」というラベルが付いていることを確認してください
  11. tpot_data = pd .read_csv('PATH/TO/DATA/FILE', sep = 'COLUMN_SEPARATOR', dtype = np .float64)
  12. 特徴= tpot_data .drop('target',= 1 )
  13. トレーニング機能、テスト機能、トレーニングターゲット、テストターゲット= \
  14. train_test_split(特徴、tpot_data['target']、ランダム状態= 42 )
  15. # トレーニング セットの平均 CV スコアは 0.9799428471757372 でした
  16. エクスポートされたパイプライン=パイプラインを作成する(
  17. 多項式機能(次数= 2 バイアスを含める= False 相互作用のみ= False )、
  18. StackingEstimator(推定値= LogisticRegression ( C = 0.1 デュアル= False ペナルティ= "l1"))、
  19. RandomForestClassifier( bootstrap = True criterion = "entropy" 、 max_features = 0 .350000000000000003 、 min_samples_leaf = 20 min_samples_split = 19 n_estimators = 100 )
  20. # エクスポートされたパイプラインのすべてのステップのランダムな状態を修正
  21. set_param_recursive(エクスポートされたパイプラインのステップ、'random_state'、42)
  22. エクスポートされたパイプラインに適合(トレーニング機能、トレーニングターゲット)
  23. 結果= exported_pipeline .predict(testing_features)

戻る

TPOT はパイプラインを最適化して回帰問題を解決できます。以下は、ボストンの住宅価格データセットを使用した最小限の動作例です。

  1. tpotからTPOTRegressorをインポートする
  2. sklearn.datasets から load_boston をインポートします
  3. sklearn.model_selection から train_test_split をインポートします
  4. ハウジング= load_boston ()
  5. X_train、X_test、y_train、 y_test = train_test_split (housing.data、housing.target、
  6. トレーニングサイズ= 0.75 テストサイズ= 0.25 ランダム状態= 42 )
  7. tpot = TPOTRegressor (世代= 5 population_size = 50 verbosity = 2 random_state = 42 )
  8. tpot.fit(X_train、y_train) を使います。
  9. tpot.score(X_test, y_test) を印刷します。
  10. tpot.export('tpot_boston_pipeline.py')

これにより、平均二乗誤差 (MSE) が約 12.77 になるパイプラインが作成されます。tpot_boston_pipeline.py の Python コードは次のようになります。

  1. numpyをnpとしてインポートする
  2. pandasをpdとしてインポートする
  3. sklearn.ensemble から ExtraTreesRegressor をインポートします
  4. sklearn.model_selection から train_test_split をインポートします
  5. sklearn.pipeline から make_pipeline をインポートします
  6. sklearn.preprocessing から PolynomialFeatures をインポートします
  7. tpot.export_utils から set_param_recursive をインポートします
  8. # 注意: データファイル内の結果列に「ターゲット」というラベルが付いていることを確認してください
  9. tpot_data = pd .read_csv('PATH/TO/DATA/FILE', sep = 'COLUMN_SEPARATOR', dtype = np .float64)
  10. 特徴= tpot_data .drop('target',= 1 )
  11. トレーニング機能、テスト機能、トレーニングターゲット、テストターゲット= \
  12. train_test_split(特徴、tpot_data['target']、ランダム状態= 42 )
  13. # トレーニング セットの平均 CV スコアは -10.812040755234403 でした
  14. エクスポートされたパイプライン=パイプラインを作成する(
  15. 多項式機能(次数= 2 バイアスを含める= False 相互作用のみ= False )、
  16. ExtraTreesRegressor(ブートストラップ= False 最大特徴= 0.5 最小サンプルリーフ= 2 最小サンプル分割= 3 n_estimators = 100 )
  17. # エクスポートされたパイプラインのすべてのステップのランダムな状態を修正
  18. set_param_recursive(エクスポートされたパイプラインのステップ、'random_state'、42)
  19. エクスポートされたパイプラインに適合(トレーニング機能、トレーニングターゲット)
  20. 結果= exported_pipeline .predict(testing_features)

Github リンク:- https://github.com/EpistasisLab/tpot

5. ライトウッド


Lightwood は機械学習のレゴのようなものです。

Pytorch ベースのフレームワークで、機械学習の問題を小さなチャンクに分割し、シームレスに結合します。その目的は、わずか 1 行のコードで予測モデルを簡単に構築できるようにすることです。

インストール

pip から Lightwood をインストールできます:

  1. pip3 ライトウッドをインストール

注: 環境によっては、上記のコマンドで pip3 ではなく pip を使用する必要がある場合があります。

シンプルなsensor_data.csvが与えられれば、sensor3の値を予測できます。


Lightwood からの予測子のインポート

  1. ライトウッドインポート予測子から

モデルをトレーニングします。

  1. パンダをインポートする
  2. sensors3_predictor =予測子(出力=['sensor3'])
  3. .learn( from_data = pandas .read_csv('sensor_data.csv'))

これで、sensor3 の値を予測できます。

  1. 予測=センサー3_predictor .predict( ={'センサー1':1、'センサー2':-1}の場合)

公式リンク: https://github.com/mindsdb/lightwood

6. マインドDB


MindsDB は、既存のデータベース用のオープンソース AI レイヤーであり、SQL クエリを使用して最先端の機械学習モデルを簡単に開発、トレーニング、展開できます。


公式リンク: https://github.com/mindsdb/mindsdb

7. mljar監督


mljar-supervised は、表形式のデータを操作するための自動化された機械学習 Python パッケージです。データ サイエンティストの時間を節約するために設計されています。データの前処理、機械学習モデルの構築、ハイパーパラメータ調整の実行といった一般的な方法を抽象化し、最適なモデル共通点を見つけます。 ML パイプラインがどのように構築されているかを正確に確認できるため、ブラック ボックスではありません (各 ML モデルには詳細な Markdown レポートがあります)。

mljar 監督では、次のことが役立ちます:

  • データを解釈し理解する
  • さまざまな機械学習モデルを試し、
  • 分析されたすべてのモデルに関する詳細情報を含むMarkdownレポートを作成します。
  • 分析と ML モデルを保存、再実行、読み込みます。

3 つの動作モードが組み込まれています。

  • データの説明と理解に最適な説明モードには、決定木の視覚化、線形モデル係数の表示、順列の重要性、データのSHAP説明など、多くのデータ説明が含まれています。
  • 本番環境のMLパイプラインのビルドを実行する
  • 競争モードは、アンサンブルおよびスタッキング機能を備えた高度な ML モデルをトレーニングするためのもので、ML 競争で使用することを目的としています。

公式リンク:- 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 は都市を建設するための建物を提供し、利用可能な建物の中から選択したり、利用可能な建物に独自の建物を追加したりすることができます。

  • コーディングは不要: モデルをトレーニングし、それを使用して予測を得るためにコーディング スキルは必要ありません。
  • 汎用性: ディープラーニング モデル設計に対する新しいデータ タイプ ベースのアプローチにより、このツールはさまざまなユース ケースで使用できるようになります。
  • 柔軟性: 経験豊富なユーザーはモデルの構築とトレーニングを広範囲に制御でき、新しいユーザーも簡単に使用できます。
  • 拡張性: 新しいモデル アーキテクチャと新しい機能データ タイプを簡単に追加できます。
  • 理解しやすさ: ディープラーニング モデルの内部はブラック ボックスであると考えられることがよくありますが、Ludwig はパフォーマンスを理解し、予測を比較するための標準的な視覚化を提供します。
  • オープンソース: Apache ライセンス 2.0

公式リンク:- https://github.com/uber/ludwig

11. アダネット


AdaNet は、専門家の介入を最小限に抑えて高品質のモデルを自動的に学習する、TensorFlow に基づく軽量フレームワークです。 AdaNet は、AutoML の最近の取り組みに基づいて構築されており、高速で柔軟な学習保証を提供します。重要なのは、AdaNet はニューラル ネットワーク アーキテクチャを学習するだけでなく、それらをアンサンブルしてより優れたモデルを取得することを学習するための一般的なフレームワークも提供するという点です。

AdaNet の目標は次のとおりです。

  • 使いやすさ: モデルのトレーニング、評価、提供に使い慣れた API (Keras、Estimator など) を提供します。
  • 速度: 利用可能なコンピューティング能力により、迅速に拡張して高品質のモデルを生成できます。
  • 柔軟性: 研究者や実務者が 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 には、機械学習のワークロードを高速化するための次のライブラリがパッケージ化されています。

  • チューニング: スケーラブルなハイパーパラメータチューニング
  • RLlib: スケーラブルな強化学習
  • RaySGD: 分散トレーニングラッパー
  • Ray Serve: スケーラブルでプログラム可能なサービス

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マスターのジェフ・ディーン氏は謝罪すべき!

>>:  AIは多くの仕事を「置き換える」のでしょうか?

ブログ    
ブログ    

推薦する

...

モバイルアプリケーションでディープラーニングを加速するにはどうすればよいでしょうか?この記事を読めば分かるだろう

現在、ディープラーニング技術を使用するモバイルアプリケーションは、通常、すべての DNN コンピュー...

...

ディープラーニングの「記憶喪失」に応えて、科学者たちは類似性に基づく重み付けインターリーブ学習を提案し、PNASに掲載された。

人間とは異なり、人工ニューラル ネットワークは新しいことを学習するときに以前に学習した情報をすぐに忘...

時空間予測に適した時系列表現学習法

最近、香港科技大学、上海AIラボなどの組織が共同で時系列の教師なし事前トレーニングに関する論文を発表...

コンパクトなBEVインスタンス予測フレームワーク: PowerBEV

この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...

人類はまたもやAIに敗北:ドローンレースの世界チャンピオンが人工知能に敗北

8月31日、人工知能(AI)がチェスやビデオゲームなどの分野で人間に勝利した。そして今回初めて、人間...

...

IoTとAIのトレンドが今日のビジネスに及ぼす影響

IoT と AI の誇大宣伝サイクルは、企業が大きな価値を認識し始める段階まで進んでいます。 IoT...

人工知能技術に注目し導入すべき3つの理由

AI の導入が拡大しているにもかかわらず、多くの IT リーダーは AI のリスクと機会を取り巻く不...

AIは当面、都市のゴミ出しを支援できないかもしれない

上海がゴミの分別を推進し始めて以来、クレイジーな上海寧は多くのジョークや絵文字を投稿し、大多数のネッ...

5分でわかるReLU: 最も人気のある活性化関数

この記事は、公開アカウント「Reading the Core」(ID: AI_Discovery)か...

この記事では人工知能とは何かを徹底的に解説します!

人工知能 (AI) は、自然科学のさまざまな分野を網羅しており、主に特定の種類の知的な人間の活動をモ...

AIは単なる機械学習ですか?機械学習とは何かを3000語でわかりやすく説明します

コンピューター科学者は、人工知能の中核技術である機械学習とディープラーニングにおいて大きな進歩を遂げ...