TensorFlow vs Theano vs Torch vs Keras: ディープラーニングライブラリ
2016年以降、人工知能の人気が高まっており、大企業の20%がビジネスにAIを使用しています(マッキンゼー レポート、2018)。 同じレポートによると、AI は業界全体で大きな価値を生み出すことができます。 たとえば銀行業界では、AI の可能性は次のように推定されています。 $300億ドル、小売業ではその数は $600億円となりました。
AI の潜在的な価値を引き出すには、企業は適切な深層学習フレームワークを選択する必要があります。 このチュートリアルでは、深層学習タスクの実行に使用できるさまざまなライブラリについて学習します。 いくつかのライブラリは何年も前から存在していますが、TensorFlow のような新しいライブラリは近年登場しています。
ベスト 8 の深層学習ライブラリ/フレームワーク
このリストでは、トップのディープラーニングフレームワークを比較します。これらはすべてオープンソースであり、データサイエンティストのコミュニティで人気があります。また、人気のML as a Serviceプロバイダーも比較します。
Torch
Torch は古いオープンソースの機械学習ライブラリです。最初にリリースされたのは 15 年前です。主なプログラミング言語は LUA ですが、C 言語での実装もあります。TorchとTensorFlowを比較すると、chはディープラーニングを含む機械学習アルゴリズムのための膨大なライブラリをサポートしています。また、並列計算のためのCUDA実装もサポートしています。
Torch ディープラーニングツールは、Facebook などの主要な研究所のほとんどで使用されています。 GoogleTwitter、Nvidiaなど。 Torch にはライブラリがあります Python 名前はPytorchです。
Infer.net
Infer.net は次によって開発および保守されています。 MicrosoftInfer.netはベイズ統計に主眼を置いたライブラリです。Infer.netはディープラーニングの可視化ツールで、最先端の確率モデル化アルゴリズムを実践者に提供するために設計されています。ライブラリには以下が含まれています。 分析ツール ベイズ分析、隠れマルコフ連鎖、クラスタリングなど。
ケラス
Kerasは Python ディープラーニングのフレームワーク。あらゆるディープラーニングアルゴリズムを構築できる便利なライブラリです。Kerasの利点は、同じ Python CPU または GPU で実行するコード。さらに、コーディング環境は純粋であり、コンピューター ビジョン、テキスト認識などの最先端のアルゴリズムをトレーニングできます。
Kerasは、フランソワ・ショレ氏によって開発されました。 GoogleKerasは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 (NAIST) と 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は、 C++ 便利な Python APIですが、 C++ APIも利用可能です。エアバスなどの有名企業、 Google, IBM などでは、TensorFlow を使用してディープラーニング アルゴリズムを作成しています。
TensorFlow vs Theano vs Torch、Keras、infer.net、CNTK、MXNet、Caffeの主な違い
| 図書館 | Platform | で書かれている | Cuda サポート | 並列実行 | トレーニング済みのモデルがある | Rnn | CNN |
|---|---|---|---|---|---|---|---|
| Torch | 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 で実行されます。
Tensorflowtrac他の深層学習ライブラリと比較して、GitHub上で最も人気が高い。
サービスとしての機械学習の比較
以下は、DL as a Serviceプロバイダーとして人気のある4つのプロバイダーです。
Google Cloud ML
Google Cloud AutoML で利用可能な開発者向け事前学習済みモデルを提供します。このソリューションは、 機械学習開発者は最先端の技術を利用できます Googleは、自社のデータに基づいて事前学習済みのモデルを提供しています。これにより、あらゆる開発者がわずか数分で任意のモデルを学習および評価できます。
Google 現在、コンピュータビジョン、音声認識、翻訳、自然言語処理のためのREST APIを提供しています。
使い方 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 トレーニングと導入を最適化するためにリソースの割り当てを処理します。
Amazon アプリケーションにインテリジェンスを追加するために、開発者に API を提供します。場合によっては、クラウド内に強力な事前トレーニング済みモデルが存在するため、新しいモデルを一から構築することで車輪の再発明を行う必要がなくなります。 Amazon コンピュータービジョン、会話型チャットボット、言語サービス向けの API サービスを提供します。
利用可能な XNUMX つの主要な API は次のとおりです。
- Amazon 認識: アプリに画像とビデオの認識を提供します
- Amazon 理解する: テキストマイニングとニューラル言語処理を実行して、たとえば財務書類の合法性をチェックするプロセスを自動化します。
- Amazon レックス: アプリにチャットボットを追加する
Azure 機械学習スタジオ
おそらく機械学習への最もフレンドリーなアプローチの一つは Azure 機械学習スタジオ。このソリューションの大きな利点は、事前のプログラミング知識が不要なことです。
Microsoft Azure Machine Learning Studio は、機械学習ソリューションを作成、トレーニング、評価、展開するためのドラッグ アンド ドロップ共同ツールです。モデルは Web サービスとして効率的に展開でき、Excel などの複数のアプリで使用できます。
Azure 機械学習インターフェースはインタラクティブで、ユーザーはドラッグアンドドロップするだけでモデルを構築できます。ping 要素を素早く。
モデルの準備ができたら、開発者はそれを保存してプッシュすることができます。 Azure ギャラリー or Azure 市場。
Azure 機械学習はRに統合したり、 Python カスタム組み込みパッケージ。
IBM Watson ML
Watson Studio は、データ プロジェクトを合理化されたプロセスで簡素化し、tracデータから価値と洞察を引き出し、ビジネスの効率化とスピードアップを支援します。Watson Studioは、使いやすいコラボレーション型データサイエンスおよび機械学習環境を提供し、モデルの構築とトレーニング、データの準備と分析、そして洞察の共有をすべて一元管理できます。Watson Studioは、ドラッグ&ドロップによるコード操作で簡単に使用できます。
Watson Studio は、Tensorflow、Keras、Pytorch、Caffe などの最も人気のあるフレームワークのいくつかをサポートしており、深層学習アルゴリズムを Nvidia の最新の GPU にデプロイして、モデリングを高速化することができます。
評決
私たちの見解では、 Google クラウドソリューションが最も推奨される選択肢です。 Google クラウドソリューションは、データストレージと機械学習ソリューションにおいて、AWSよりも少なくとも30%低い価格を提供します。 Google AIの民主化に優れた取り組みを行っています。オープンソース言語であるTensorFlowを開発し、最適化しました。 データウェアハウス 接続により、データ視覚化、データ分析から機械学習まで、膨大なツールが提供されます。さらに、 Google コンソールは人間工学に基づいており、AWS よりもはるかに包括的です。 Windows.






