TensorFlow、Theano、Torch、Keras: ディープ ラーニング ライブラリ

2016年以降、人工知能の人気が高まっており、大企業の20%がビジネスにAIを使用しています(マッキンゼー レポート、2018)。 同じレポートによると、AI は業界全体で大きな価値を生み出すことができます。 たとえば銀行業界では、AI の可能性は次のように推定されています。 $300億ドル、小売業ではその数は $600億円となりました。

AI の潜在的な価値を引き出すには、企業は適切な深層学習フレームワークを選択する必要があります。 このチュートリアルでは、深層学習タスクの実行に使用できるさまざまなライブラリについて学習します。 いくつかのライブラリは何年​​も前から存在していますが、TensorFlow のような新しいライブラリは近年登場しています。

ベスト 8 の深層学習ライブラリ/フレームワーク

このリストでは、トップのディープラーニングフレームワークを比較します。これらはすべてオープンソースであり、データサイエンティストのコミュニティで人気があります。また、人気のML as a Serviceプロバイダーも比較します。

トーチ

Torch は古いオープンソースの機械学習ライブラリです。最初にリリースされたのは 15 年前です。主なプログラミング言語は LUA ですが、C での実装もあります。PyTorch と TensorFlow を比較すると、深層学習を含む機械学習アルゴリズムの膨大なライブラリをサポートしています。並列計算用の CUDA 実装をサポートしています。

Torchディープラーニングツールは、Facebook、Google、Twitter、Nvidiaなどの主要な研究室のほとんどで使用されています。Torchにはライブラリがあります。 Python 名前はPytorchです。

Infer.net

Infer.net は次によって開発および保守されています。 MicrosoftInfer.netはベイズ統計に主眼を置いたライブラリです。Infer.netはディープラーニングの可視化ツールで、最先端の確率モデル化アルゴリズムを実践者に提供するために設計されています。ライブラリには以下が含まれています。 分析ツール ベイズ分析、隠れマルコフ連鎖、クラスタリングなど。

ケラス

Kerasは Python ディープラーニングのフレームワーク。あらゆるディープラーニングアルゴリズムを構築できる便利なライブラリです。Kerasの利点は、同じ Python CPU または GPU で実行するコード。さらに、コーディング環境は純粋であり、コンピューター ビジョン、テキスト認識などの最先端のアルゴリズムをトレーニングできます。

Keras は、Google の研究者である François Chollet によって開発されました。 Keras は CERN、Yelp、Square、Google などの著名な組織で使用されています。 Netflix、およびウーバー。

ケラス

テアノ

Theano は、2007 年にモントリオール大学によって開発されたディープラーニング ライブラリです。Theano と TensorFlow を比較すると、Theano は高速な計算を提供し、CPU と GPU の両方で実行できます。Theano は、ディープ ニューラル ネットワーク アルゴリズムをトレーニングするために開発されました。

Microsoft コグニティブ ツールキット (CNTK)

Microsoft 以前は CNTK として知られていたツールキットは、によって開発された深層学習ライブラリです。 Microsoft。 による Microsoft、このライブラリは市場で最も高速なライブラリの XNUMX つです。 Microsoft ツールキットはオープンソース ライブラリですが、 Microsoft などの製品に広く使用されています Skype、Cortana、Bing、Xboxで利用可能です。このツールキットは、 Python と C++.

MXNet

MXnetは最新のディープラーニングライブラリです。以下の複数のプログラミング言語でアクセス可能です。 C++、ジュリア、 Python MXNetはCPUとGPUの両方で動作するように構成できます。MXNetには、畳み込みニューラルネットワークやLong Short-Term Memoryなどの最先端のディープラーニングアーキテクチャが含まれています。MXNetは、 harmony 動的なクラウドインフラストラクチャを備えています。 MXNet の主なユーザーは次のとおりです。 Amazon

コー​​ヒー

Caffeは、Yangqing Jiaがバークレーの博士課程の学生だったときに作成したライブラリです。CaffeとTensorFlowを比較すると、Caffeは C++ CPU と GPU の両方で計算を実行できます。Caffe の主な用途は畳み込みニューラル ネットワークです。ただし、2017 年に Facebook は Caffe を拡張し、リカレント ニューラル ネットワークなどのよりディープラーニング アーキテクチャを導入しました。Caffe は学術機関やスタートアップ企業だけでなく、Yahoo! などの大企業でも使用されています。

TensorFlow

TensorFlow は Google のオープンソース プロジェクトです。 TensorFlow は、最近最も有名な深層学習ライブラリです。 2015年末に一般公開されました

TensorFlow

TensorFlowは、 C++ 便利な Python APIですが、 C++ APIも利用可能。エアバス、グーグルなどの有名企業が、 IBM などでは、TensorFlow を使用してディープラーニング アルゴリズムを作成しています。

TensorFlow、Theano、Torch、Keras、infer.net、CNTK、MXNet、Caffe: 主な違い

図書室へようこそ プラットフォーム で書かれている Cuda サポート 並列実行 トレーニング済みのモデルがある Rnn CNN
トーチ Linuxでは、 macOS, Windows Luaの はい はい はい はい はい
推論ネット Linuxでは、 macOS, Windows Visual Studioの いいえ いいえ いいえ いいえ いいえ
ケラス Linuxでは、 macOS, Windows Python はい はい はい はい はい
テアノ クロスプラットフォーム Python はい はい はい はい はい
TensorFlow Linuxでは、 macOS, Windows, Android C++, Python、CUDA はい はい はい はい はい
マイクロソフト コグニティブ ツールキット Linuxでは、 Windows、Docker を搭載した Mac C++ はい はい はい はい はい
コー​​ヒー Linuxでは、 macOS, Windows C++ はい はい はい はい はい
MXNet Linuxでは、 Windows, macOS, Android、IOS、 Javascript C++ はい はい はい はい はい

評決

TensorFlowは、誰もがアクセスできるように構築されているため、最高のライブラリです。TensorFlowライブラリには、CNNやRNNなどの大規模なディープラーニングアーキテクチャを構築するためのさまざまなAPIが組み込まれています。TensorFlowはグラフ計算に基づいており、開発者はニューラルネットワークの構築を視覚化できます。 テンソルボードこのツールは、プログラムのデバッグに役立ちます。最後に、Tensorflow は大規模に展開できるように構築されています。CPU と GPU で実行されます。

Tensorflow は、他の深層学習ライブラリと比較して、GitHub で最も人気を集めています。

サービスとしての機械学習の比較

以下は、DL as a Serviceプロバイダーとして人気のある4つのプロバイダーです。

Google Cloud ML

Googleは開発者向けに、Cloud AutoMLで利用可能な事前トレーニング済みモデルを提供しています。このソリューションは、 機械学習。 開発者は、データに対して最先端の Google の事前トレーニング済みモデルを使用できます。 これにより、開発者はわずか数分でモデルのトレーニングと評価を行うことができます。

Google は現在、コンピューター ビジョン、音声認識、翻訳、NLP 用の REST API を提供しています。

Google Cloud ML

使い方 Google Cloud、TensorFlow、Scikit-learn、XGBoost、または Keras 上に構築された機械学習フレームワークをトレーニングできます。 Google Cloud 機械学習はクラウド全体でモデルをトレーニングします。

Google クラウド コンピューティングを使用する利点は、機械学習を本番環境に導入するのが簡単なことです。Docker コンテナをセットアップする必要はありません。さらに、クラウドがインフラストラクチャを管理します。CPU、GPU、TPU を使用してリソースを割り当てる方法を知っています。並列計算により、トレーニングが高速化されます。

AWS セージメーカー

~に対する主要な競争相手 Google Cloud is Amazon 雲、 AWS. Amazon 開発しました Amazon SageMaker を使用すると、データ サイエンティストや開発者は、あらゆる機械学習モデルを構築、トレーニングし、本番環境に導入できるようになります。
SageMaker は、 Jupyter ノートブックには、最もよく使用される機械学習ライブラリ、TensorFlow、MXNet、Scikit-learn などが含まれています。 SageMaker で作成されたプログラムは、Docker コンテナ内で自動的に実行されます。 Amazon トレーニングと導入を最適化するためにリソースの割り当てを処理します。

AWS セージメーカー

Amazon アプリケーションにインテリジェンスを追加するために、開発者に API を提供します。場合によっては、クラウド内に強力な事前トレーニング済みモデルが存在するため、新しいモデルを一から構築することで車輪の再発明を行う必要がなくなります。 Amazon コンピュータービジョン、会話型チャットボット、言語サービス向けの API サービスを提供します。

利用可能な XNUMX つの主要な API は次のとおりです。

  • Amazon 認識: アプリに画像とビデオの認識を提供します
  • Amazon 理解する: テキストマイニングとニューラル言語処理を実行して、たとえば財務書類の合法性をチェックするプロセスを自動化します。
  • Amazon レックス: アプリにチャットボットを追加する

Azure 機械学習スタジオ

おそらく機械学習への最もフレンドリーなアプローチの一つは Azure 機械学習スタジオ。このソリューションの大きな利点は、事前のプログラミング知識が不要なことです。

Microsoft Azure Machine Learning Studio は、機械学習ソリューションを作成、トレーニング、評価、展開するためのドラッグ アンド ドロップ共同ツールです。モデルは Web サービスとして効率的に展開でき、Excel などの複数のアプリで使用できます。

Azure 機械学習インターフェースはインタラクティブで、ユーザーは要素をドラッグアンドドロップするだけでモデルをすばやく構築できます。

Azure 機械学習スタジオ

モデルの準備ができたら、開発者はそれを保存してプッシュすることができます。 Azure ギャラリー or Azure 市場。

Azure 機械学習はRに統合したり、 Python カスタム組み込みパッケージ。

IBM Watson ML

Watson Studio は、データから価値と洞察を抽出できる合理化されたプロセスでデータ プロジェクトを簡素化し、ビジネスをよりスマートかつ迅速に進めるのに役立ちます。 Watson Studio は、モデルの構築とトレーニング、データの準備と分析、洞察の共有をすべて XNUMX か所で行うための、使いやすい共同データ サイエンスおよび機械学習環境を提供します。 Watson Studio は、コードをドラッグ アンド ドロップするだけで簡単に使用できます。

IBM Watson ML

Watson Studio は、Tensorflow、Keras、Pytorch、Caffe などの最も人気のあるフレームワークのいくつかをサポートしており、深層学習アルゴリズムを Nvidia の最新の GPU にデプロイして、モデリングを高速化することができます。

評決

私たちの観点からすると、Googleクラウドソリューションが最も推奨されるものです。Googleクラウドソリューションは、データストレージと機械学習ソリューションに関してAWSよりも少なくとも30%安い価格を提供します。GoogleはAIの民主化に優れた取り組みを行っています。オープンソース言語であるTensorFlowを開発し、最適化しました。 データウェアハウス 接続は、データの視覚化、データ分析から機械学習までの膨大なツールを提供します。さらに、Google コンソールは人間工学に基づいており、AWS や Windows.