4つのディープラーニングフレームワークの紹介:初心者はどのように選択すべきか?

4つのディープラーニングフレームワークの紹介:初心者はどのように選択すべきか?

  [[381945]]

01 テアノ

Theano は、BSD ライセンスの下でリリースされたオープン ソース プロジェクトです。カナダのケベック州にあるモントリオール大学の LISA 研究所で誕生し、ギリシャの数学者にちなんで名付けられました。

Theano は、特に多次元配列 (numpy.ndarray) 上で数式を定義、最適化、評価するために使用できる Python ライブラリです。大量のデータを伴う問題を解決する場合、Theano を使用すると、C で手動でコーディングするよりも高速にプログラミングできます。 GPU アクセラレーションを使用すると、Theano は CPU 計算に基づく C 言語よりも数桁高速化できます。

Theano はコンピュータ代数システム (CAS) と最適化コンパイラを組み合わせ、さまざまな数学演算用のカスタマイズされた C 言語コードを生成することもできます。繰り返し計算を伴う複雑な数式を扱うタスクでは計算速度が重要なので、CAS と最適化コンパイラの組み合わせが役立ちます。

それぞれの異なる数式を一度ずつ計算する必要がある状況では、Theano はコンパイル/解析計算の量を最小限に抑えながら、自動微分などの記号機能を提供することができます。

長い間、Theano はディープラーニングの開発と研究における業界標準となってきました。 Theano は学術界で生まれたため、もともと学術研究用に設計されており、ディープラーニング分野の多くの学者が今でも Theano を使用しています。

しかし、TensorFlow が Google のサポートを受けて大きく成長したため、Theano は徐々に衰退し、使用する人も少なくなっています。このプロセスにおける画期的な出来事は、Theano の創設者の 1 人である Ian Goodfellow が Theano を放棄し、Google に移って TensorFlow を開発したことでした。

2017 年 9 月 28 日、Theano 1.0 の正式リリース前夜、LISA 研究所の所長であり、ディープラーニングの 3 大巨頭の 1 人である Yoshua Bengio 氏が、Theano の開発を中止すると発表しました。「Theano は死んだ」。

Theano は歴史の舞台から徐々に消えつつありますが、最初の Python ディープラーニング フレームワークとして、その使命を十分に果たし、初期のディープラーニング研究者に多大な支援を提供しました。また、計算グラフをフレームワークの中核として使用し、GPU アクセラレーション コンピューティングを使用するという、その後のディープラーニング フレームワークの開発の基本的な設計方向も確立しました。

要約: ディープラーニングの初心者は練習のために Theano を使用できますが、プロの開発者には、他の主流のディープラーニング フレームワークを使用することをお勧めします。

02 テンソルフロー

2015 年 11 月 10 日、Google は新しいオープンソースの機械学習ツール TensorFlow のリリースを発表しました。 TensorFlow はもともと、Google の機械知能研究部門である Google Brain チームによって、2011 年に Google が開発したディープラーニング インフラストラクチャである DistBelief に基づいて構築されました。

TensorFlow は、多くの数学演算を伴うアルゴリズム ライブラリであり、最も広く使用されている機械学習ツールの 1 つです。 Google は、ほとんどのアプリケーションで機械学習を実装するために TensorFlow を使用しています。たとえば、Google カメラや Google 音声検索を使用する場合、大規模な Google ハードウェア クラスターで動作し、認識タスクに強力な TensorFlow モデルを間接的に使用しています。

TensorFlow は、共通の開発者が多数いるだけでなく、計算グラフに基づく自動微分システムを実装するという類似の設計コンセプトを持っていることから、Theano の後継として広く見なされています。

TensorFlow プログラミング インターフェースは、Python と C++ をサポートしています。バージョン 1.0 のリリースにより、Java、Go、R、Haskell API のアルファ バージョンがサポートされました。さらに、TensorFlow は Google Cloud と AWS でも実行されます。 TensorFlow は、Windows 7、Windows 10、Windows Server 2016 もサポートしています。

TensorFlow は C++ Eigen ライブラリを使用するため、ライブラリは ARM アーキテクチャ上でコンパイルおよび最適化できます。つまり、ユーザーは、別のモデルデコーダーを実行したり、Python インタープリターをロードしたりすることなく、トレーニング済みのモデルをさまざまなサーバーやモバイルデバイスに展開できます。

TensorFlow は現在主流のディープラーニングフレームワークとして大きな成功を収めていますが、読者は学習プロセス中に以下の問題にも注意する必要があります。

  1. TensorFlow インターフェースは絶えず反復されており、バージョン間に非互換性があるため、開発およびデバッグのプロセス中に問題が発生する可能性があります (多くのオープンソース コードは、新しいバージョンの TensorFlow では実行できません)。
  2. TensorFlow の基本的な動作メカニズムを学習したい読者は、心の準備が必要です。GitHub コード リポジトリ内の TensorFlow のコードの総量は 100 万行を超えており、システム設計も比較的複雑なので、学習には長い時間がかかります。
  3. コード レベルでは、TensorFlow は同じ関数に対して複数の実装を提供します。これらの実装は品質が異なり、使用方法にも微妙な違いがあります。読者は、その違いに注意することをお勧めします。さらに、TensorFlow は、グラフ、セッション、名前空間、プレースホルダーなど、一般のユーザーには理解が難しい抽象的な概念を多数作成します。

要約: Google の強力なプロモーション機能により、TensorFlow は現在最も人気のあるディープラーニング フレームワークになりました。完璧ではありませんが、最も人気があります。現在、各社で使用されているフレームワークは統一されていません。読者は知識の蓄えとして、いくつかの一般的なフレームワークを学習する必要があります。TensorFlow は良い選択肢です。

03 ケラス

Keras は、純粋な Python で記述された高レベルのニューラル ネットワーク API であり、バックエンドとして TensorFlow、Theano、CNTK を使用します。 Keras は迅速な実験をサポートするために誕生し、アイデアを素早く結果に変換できます。 Keras はおそらく最も使いやすいディープラーニング フレームワークです。一貫性のある簡潔な API が提供され、一般的なアプリケーションでのユーザーの作業負荷を大幅に軽減し、ユーザーが車輪の再発明をする手間を省くことができます。

厳密に言えば、Keras はディープラーニング フレームワークとは言えません。サードパーティのフレームワーク上に構築されたディープラーニング インターフェースのようなものです。 Keras の欠点は明らかです。過剰なカプセル化により柔軟性が失われます。

Keras は Theano の高レベル API として始まり、後に TensorFlow と CNTK をバックエンドとして追加しました。バックエンドの違いを隠蔽し、一貫したユーザー インターフェースを提供するために、Keras はレイヤーごとにカプセル化を行っており、ユーザーが新しい操作を追加したり、基礎となるデータ情報を取得したりすることが非常に困難になっています。

同時に、過度のカプセル化により、Keras プログラムの実行速度も非常に遅くなります。カプセル化には多くのバグが隠れています。ほとんどのシナリオでは、Keras はこの本で紹介されているすべてのフレームワークの中で最も遅いです。

Keras を学ぶのは簡単ですが、柔軟性が欠けているため、すぐにボトルネックに遭遇します。また、Keras を使用する場合、ユーザーは主にインターフェースを呼び出すことがほとんどであり、ディープラーニングの内容を実際に学習することは困難です。

まとめ:ディープラーニングのフレームワークとしてはKerasの方が適していますが、過度なカプセル化は初心者の学習には適さない(ディープラーニングの本当の意味を理解できない)ため、お勧めしません。

04 パイトーチ

PyTorch は、強力な GPU アクセラレーション基盤上にテンソルと動的ニューラル ネットワークを実装する Python ファーストのディープラーニング フレームワークです。

PyTorch は、次の 2 つの高レベル機能を提供する Python パッケージです。

  • 強力な GPU アクセラレーション Tensor 計算 (Numpy と同様) を使用します。
  • テープ フレームワークに基づく autograd システムを使用してディープ ニューラル ネットワークを構築します。

さらに、PyTorch は完全な公式ドキュメント、ユーザーが段階的に学習できるようにするためのユーザー ガイド、およびユーザーがコミュニケーションしてアドバイスを求めるために作成者が管理するフォーラムを提供します。

Facebook 人工知能研究所 FAIR は、PyTorch に強力なサポートを提供しています。現在、世界トップ 3 のディープラーニング研究機関の 1 つである FAIR のサポートは、PyTorch が継続的な開発と更新のサポートを受けられることを保証するのに十分であり、個人によって開発された多くのフレームワークのように一時的な流行に終わることはありません。

必要に応じて、Numpy、scipy、Cython などのお気に入りの Python パッケージを使用して PyTorch を拡張することもできます。

TensorFlow と比較すると、PyTorch には大きな利点があります。つまり、PyTorch のグラフは動的ですが、TensorFlow は静的で拡張性がありません。同時に、PyTorch は非常に使いやすいです。

要約: TensorFlow の設計が「複雑にする」ことであり、Keras の設計が「複雑にして隠す」ことであるとすれば、PyTorch の設計はまさに「シンプルに保つ、愚か者」を実現しています。

概要: ディープラーニング フレームワークを選択するには?

初心者は、どのディープラーニング フレームワークの学習を開始するかを選択するのに苦労することがよくあります。ここで著者は、初心者には使いやすく、インターフェースを過度に呼び出さないフレームワークを選択することを推奨しています。さらに、初心者にとって、選択するフレームワークは、使いやすさ、優れたパフォーマンス、完全なコミュニティとプラットフォームのサポートなどの特性を備えている必要があります。

現在、業界の大手企業が使用しているフレームワークも異なるため、初心者は将来の職場の要件を満たすために複数のフレームワーク (PyTorch や TensorFlow など) を習得することを検討できます。

<<:  では、機械学習とディープラーニングの違いは何でしょうか?

>>:  米メディア:米国はAI戦争に備えるため同盟国を誘致

ブログ    
ブログ    

推薦する

35歳で機械学習と人工知能の分野に参入?

最近、友人とこの問題について話し合っています。ご存知のとおり、IT 業界は標準的な「若者の仕事」です...

...

BaiduのNLP自然言語処理技術の最も包括的な分析

[[209979]] AI時代には、コンピューターが視覚、聴覚、行動、言語の知能を持つようになること...

動作計画のための探索アルゴリズム: フロントエンド計画、バックエンド軌道生成から状態解まで

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

製薬業界はAI医薬品製造の時代に突入。医薬機械企業にどのような影響を与えるのでしょうか?

現在、莫大な研究開発費と長い研究開発サイクルが、製薬会社の研究開発とイノベーションにおける「障害」に...

Apple Store 店員から機械学習エンジニアへ: AI を学び始めた経緯

機械学習エンジニアの職は、AI 博士号取得者だけのものではありません。インターネット上の公開コースや...

...

Kubernetes にディープラーニング モデルをデプロイする方法

Kubermatic Kubernetes プラットフォームを使用して、画像認識予測用のディープラー...

DeepMind の新しい研究: ReST は大規模なモデルを人間の好みに合わせて調整し、オンライン RLHF よりも効果的です

過去数か月間、私たちは大規模言語モデル (LLM) が高品質のテキストを生成し、幅広い言語タスクを解...

...

AIは奥が深いので、早く田舎へ行きましょう

昨年末、「運命を変えるスクリーン」が話題になった。当時、賛成派も反対派もそれぞれ多くの見解を述べてい...

DAMOアカデミーAIが中国科学技術博物館に展示され、AIが認識した初のCOVID-19 CTスキャンが科学技術による防疫努力の歴史的証人となる

5月29日、全国科学技術労働者の日が近づく中、アリババDAMOアカデミーのAIによって識別されラベル...

インテリジェントな会話型ロボットは顧客サービス分野で成熟を続けている

会話型 AI ベンダーの Gnani は、会話型 AI ボットが今後 2 ~ 3 年で劇的に改善され...

スズメバチのように機敏! MITの中国人助教授が「センチメートルサイズ」の昆虫型ロボットを開発

目の前を飛んでいる蚊を手を振って追い払っても、また戻ってきて、とてもイライラします。しかし、蚊が飛び...

大学における人工知能への熱意を「クール」に振り返る

大学は関連専攻を開設する際に、教授委員会と学術委員会を組織し、国の人材政策、業界の人材需要、国内外の...