[51CTO.com クイック翻訳] バージョン r1.5 のリリースにより、Google のオープンソース機械学習およびニューラル ネットワーク ライブラリは、機能がさらに強力になり、成熟度が高まり、学習と使用の障壁が低くなりました。
昨年、TensorFlow ディープラーニング フレームワークに注目していたなら、始めるのが非常に難しく、成熟度も限られていることに気づいたでしょう。しかし現在、Google が作成したこのソリューションは完全に変化しました。 2016 年 10 月に TensorFlow r0.10 をレビューして以来、Google のオープンソース ディープラーニング フレームワークはより成熟し、アルゴリズムやデプロイメント オプションが増え、プログラミングがはるかに簡単になりました。 TensorFlow は現在、r1.4.1 (安定バージョンと Web ドキュメント)、r1.5 (候補リリース)、およびプレリリース r1.6 (マスター ブランチとデイリー ビルド) で利用できます。 TensorFlow プロジェクトは非常に動的です。大まかな計算によると、GitHub 上の TensorFlow ライブラリには現在、27,000 件のコミット、85,000 件の星評価、42,000 件のフォークがあります。これらの数字は印象的で、TensorFlow プロジェクトに対する関心の高さを反映しており、Node.js ライブラリの人気を上回っています。対照的に、Amazon が支援する別の競合フレームワークである MXNet は、比較的活動が鈍く、コミット数は 7,000 未満、スター数は約 13,000、フォーク数は 5,000 未満です。2017 年 2 月の TensorFlow r1.0 リリースの別の統計によると、TensorFlow は現在 6,000 を超えるオンライン オープン ソース コード リポジトリで使用されています。 今日のレビューでは、2018 年 1 月時点の TensorFlow の現状に焦点を当てながら、過去 1 年間に追加された重要な機能についても説明します。 TensorFlow関数TensorFlow は、手書き数字の分類、画像認識、単語の埋め込み、再帰型ニューラル ネットワーク、シーケンス間機械翻訳モデル、自然言語処理、PDE (偏微分方程式) ベースのシミュレーションを実装できます。さらに、CPUとNVIDIA GPUもサポートしています。シーケンスツーシーケンス プロジェクトは、Ubuntu Linux、MacOS、Android、iOS、および Windows で実行されます (以前よりもはるかに優れています)。また、トレーニングで使用されるモデルと組み合わせて、より柔軟に大規模な生産予測をサポートします。さらに、自動微分機能も保持され、TensorBoard でモデル視覚化ツールが提供され、Python 言語が完全にサポートされます (R および Scala プログラマーには申し訳ありません)。 TensorFlow はバージョン r0.10 以降、多数の改善、機能強化、追加機能をリリースし、さまざまなバグを修正しました。以下では、いくつかの重要な問題について説明します。たとえば、各バージョンでは CUDA および cuDNN ライブラリのサポートがアップグレードされ、最新の NVIDIA GPU を使用してコードを最適化し、パフォーマンスを向上させています。さらに、DHFS (Hadoop File System) サポートも実装され、Windows 実装が改善され、新しいソルバーとより優れた Go サポートが導入されています。数か月の期待の後、TensorFlow グラフのパフォーマンスを向上させるための専用コンパイラである XLA と TensorFlow デバッガーがリリースされました。同時に、TensorFlow プロジェクトは、PyPl や pip などの標準的な Python インフラストラクチャとの統合も強化され、科学計算で広く使用されている NumPy ツールキットにも適合できるようになりました。 また、RNN(自然言語処理で一般的に使用されるリカレント ニューラル ネットワーク)のサポートと、ディープラーニングの分野で CPU パフォーマンスを大幅に向上させる新しい Intel MKL(Math Kernel Library)統合機能も搭載されています。プログラミングの容易さの点では、複数の回帰器や分類器を含む組み込み推定器 (定義済みモデル レイヤー) が追加されました。統計分布、信号処理プリミティブ、画像の微分可能な再サンプリングのためのいくつかの新しいライブラリが TensorFlow に追加されました。 Keras は、TensorFlow (専用の高レベル ニューラル ネットワーク API を提供し、MXNet、Deeplearning4j、Microsoft Cognitive Tooltit、Teano でも実行可能) の特定の実装として開発されました。コミュニティ開発プロセスでは、現在、優れた実用的な結果を提供できることが示されています。複数の関連する貢献モジュールがカーネル ライブラリに組み込まれており、実稼働展開の最適化を実現できるサーバー ライブラリのセットもあります。 TensorFlow プロジェクトには、下位互換性のあるトレーニング データセットのライブラリがあります。これは、標準のトレーニング データセットを使用して新しいモデルを開発する上で重要です。さらに、Java サポートも何度か実装され、強化されてきました。 ***、TensorFlow r 1.5 では、Eager Execution (TensorFlow が NumPy などの命令型プログラミング スタイルをサポートできるようにする実験的なインターフェース) と TensorFlow Lite (モバイル デバイスと組み込みデバイスの予測機能を有効にする) のプレビュー バージョンが正式に利用可能になりました。 TensorFlow のインストール全体的に、TensorFlow のインストール方法が大幅に改善されました。これまでと同様に、TensorFlow では、Python 仮想環境、「ネイティブ」 pip、Docker、ソースからのビルドなど、複数のインストール方法が提供されています。 TensorFlow チームは、インストールに仮想環境を使用することを推奨しています。私は個人的に「ネイティブ」 pip を使用することを選択しました。これは、MacBook Pro にインストールされていて、ディスク容量が不足したときにアンインストールする手間を省きたかったからです。 IDG Mac 用の TensorFlow のナイトリー ビルドをインストールするのは、比較的新しいインストール オプションですが、うまく機能します。インストール/アップグレード後、標準の TensorFlow 機能を使用してインタラクティブにテストしました。 リリース バイナリに加えて、TensorFlow チームは現在、Linux、Mac、Windows 用のマスター ブランチのナイトリー ビルドを提供しています。 Mac での Nightly インストールは、次のコマンドで簡単に実行できます。
現在のマスター ブランチのドキュメントでは、3 つのプラットフォームすべてに対して CPU および GPU ライブラリ バージョンのナイトリー ビルドが存在すると記載されていますが、Mac-pip を使用して Mac プラットフォームの GPU バージョンを見つけてインストールすることはできませんでした。私の経験では、Mac GPU バージョンはインストールを試みても成功しません。Mac GPU バージョンが正式に廃止されたのは、r 1.2 になってからです。 r1.6 で Mac GPU バージョンを復元する予定があるかどうか、または TensorFlow チームによってリリースされたナイトリービルドのドキュメントにエラーがあるかどうかはわかりません。いずれにせよ、現在のインストール条件を変更せずに、現在の GPU バージョンのクイック インストール効果は確かに以前よりも優れています。 それでも、MacBook Pro は TensorFlow を使用したディープラーニング モデルのトレーニングに最適なデバイスではないことは明らかです。新しいハイエンド NVIDIA GPU を 1 つ以上搭載した Linux ボックスを使用すると、さらに優れた結果を達成できます。あるいは、数千ドルでディープラーニング専用の PC を独自に構築することもできます。モデルを時々トレーニングする必要がある場合は、AWS、Azure、Google Compute Engine、または IBM Cloud 上の GPU を搭載したインスタンスで TensorFlow を簡単に実行できます。 TensorFlowの使用1 年前、TensorFlow プロジェクトには 2 つの大きな問題がありました。学習が難しく、記述するコードが多すぎることです。今日、これらの問題は両方とも解決されました。 TensorFlow の学習のハードルを低くするために、TensorFlow チームはより多くの学習教材を作成し、既存の入門チュートリアルを改善しました。さらに、一部のサードパーティは独自の TensorFlow チュートリアルを公開しています。さらに、TensorFlow に関する書籍も多数出版されており、高度な TensorFlow コースも多数あります。スタンフォード大学の TensorFlow for Deep Learning Research (CS 20) コースを受講することもできます。このコースでは、すべてのプレゼンテーションと講義ノートをオンラインで利用できます。 TensorFlow ライブラリに新たに追加されたいくつかの機能では、コーディングの手間が少ないモデルの作成とトレーニングのためのインターフェースも提供され始めています。これらには、エンジン中立の Keras ツールキットの純粋な TensorFlow バージョンを提供する tf.kera や、さまざまな高度なモデル処理関数 (線形、ディープ ニューラル ネットワーク (DNN) 用の回帰関数と分類関数、線形と DNN の組み合わせ、および独自の推定器を構築するための基本クラス) を提供する tf.estimator が含まれます。さらに、Dataset API を使用すると、ユーザーはシンプルで再利用可能な部分から複雑な入力パイプラインを構築できるため、どちらか一方を選択する必要がなくなります。 TensorFlow-Keras チュートリアルで述べたように、tf.keras、tf.data.dataset、tf.estimator を簡単に組み合わせて使用できます。 テンソルフローライト TensorFlow Lite は現在、開発者プレビュー段階にあります。これは、モバイル デバイスや組み込みデバイスで実行できる TensorFlow の軽量バージョンであり、低レイテンシと低リソース要件 (トレーニングではない) でデバイス上の機械学習推論を可能にします。 TensorFlow Lite は、Android Neural Networks API のハードウェア アクセラレーションもサポートしています。 TensorFlow Lite モデルはモバイル デバイスで実行できるほど小さく、オフラインでのユース ケースもサポートします。 IDG TensorFlow Lite を使用すると、コンパクトなニューラル ネットワーク モデルを Android および iOS デバイスでオフラインでも実行できます。このライブラリは現在開発者プレビュー段階であり、上位互換性または下位互換性は保証されていません。 TensorFlow Lite の基本的な考え方は、ユーザーが完全な TensorFlow モデルをトレーニングし、それを TensorFlow Lite 形式に変換すると、変換されたファイルを Android または iOS 上のモバイル アプリケーションで使用できるようになるというものです。 もちろん、事前トレーニング済みの TensorFlow Lite モデルを使用して、画像分類やインテリジェントな返信を実装することもできます。スマート リプライはコンテキスト情報を使用して関連性の高いメッセージを提供します。これは、Google が Gmail クライアントで提供する返信予測機能と基本的に同じです。 もう 1 つの使用オプションは、新しいラベル付きデータセットを使用して既存のモデルを再トレーニングすることです。これにより、トレーニング時間が大幅に短縮されます。 TensorFlow サービング TensorFlow Serving は、機械学習モデル向けに特別に設計され、実稼働環境に適した、柔軟で高性能なサービング システムです。単一のモデルを提供するだけでなく、複数のバージョンの servable を同時に使用することもできます。クライアントは最新バージョンを直接使用したり、特定のバージョン ID に基づいて特定のモデルを呼び出したりします。これにより、新しいアルゴリズムを試すための実験プロセスが大幅に簡素化されます。 複合モデルを複数の独立したサーバブルとして、または単一の複合サーバブルとして表すこともできます。 servable へのアクセスはソースによって制御され、ソースは任意のストレージ システムから servable を検出できます。 TensorFlow 熱心な Eager Execution は TensorFlow に導入された実験的なインターフェースで、NumPy に似た命令型プログラミング スタイルを提供します。即時実行を有効にすると、TensorFlow 操作が直ちに実行されます。つまり、事前に構築されたグラフを実行するために Session.run() を使用する必要はありません。 このアプローチは TensorFlow 行列演算とモデル コードを効果的に簡素化できますが、現時点では上位および下位互換性が保証されたプレビュー/予備バージョンは提供されていません。実行中のセッションと比較して、Eager 実行では TensorFlow コードのデバッグ プロセスも効果的に簡素化されます。 即時実行は、NumPy 配列、GPU アクセラレーション、自動微分化、および tf.layers モジュールで使用される Keras スタイルのレイヤー クラスと互換性があります。サマリーを公開して TensorBoard で使用することはできますが、サマリー クラスの新しい分散バージョンを使用する必要があります。熱心な実行に関するドキュメントでは、「分散型およびマルチ GPU トレーニングと CPU パフォーマンスのサポートに引き続き積極的に取り組んでいます」と警告しています。 TensorFlowとその他の競合製品全体として、TensorFlow は常に機械学習とディープラーニング フレームワークの最前線にあります。前述したように、過去 1 年間で、TensorFlow はパフォーマンス、デプロイメント、学習と使用の容易さ、プログラミングの容易さ、一般的な Python ライブラリおよびユーティリティとの互換性において大きな改善を遂げてきました。 しかし、同じ期間に、他の競合するディープラーニング フレームワークも改善を続けました。 MXNet は Apache Foundation に組み込まれ、機能とパフォーマンスの向上を実現しました。 Microsoft Cognitive Toolkit も、Keras や TensorBoard のサポートなど、多くの面で進歩を遂げています。 Facebook の Caffe2 は Caffe を大幅に書き直したもので、画像処理畳み込みネットワークにおける再帰ネットワークと LSTM (長短期記憶) ネットワークのサポートが追加されています。 オープンソースの H2O.ai 予測エンジンは、優れた独自のハイパーパラメータ調整と機能エンジニアリング レイヤーによって強化され、リソースを大量に消費しながらもコスト効率に優れた機能エンジニアリング レイヤーである Drverless AI を導入しました。 Scikit-learn は、機械学習(ディープラーニングではない)というニッチな分野で成長を続けています。 Spark MLlib は、すでに Spark を使用しており、ディープ ニューラル ネットワークをトレーニングする必要がないユーザーにとっても適した選択肢です。 TensorFlow プログラミングに必要なスキルがあれば、TensorFlow は間違いなくディープラーニング モデルの構築、トレーニング、および制作に最適な選択肢です。ただし、TensorFlow を初めて使用する場合は、まず tf.keras、tf.data.dataset、tf.estimator によって提供される高レベル API を試してください。低レベルの API が必要な場合は、スムーズに使用できるようになる前に、プラットフォームにさらに慣れる必要がある場合があります。 コスト: Apache Licesne 2.0 に基づく無料のオープン ソース プロジェクト。 適用可能なプラットフォーム: Ubuntu 14.04+、MacOS 10.11+、Windows 7+、NVIDIA GPU および CUDA が推奨されます。現在、ほとんどのクラウド ソリューションは、NVIDIA GPU で使用するために TensorFlow をサポートしています。 TensorFlow Lite は、Android および iOS デバイスで事前トレーニング済みのモデルを実行できます。 プロジェクト概要TensorFlow r1.5: Google のオープンソース ディープラーニング フレームワークは、アルゴリズムとデプロイメント オプションが増えて成熟し、プログラミングが容易になりました。 利点:
欠点:
オリジナルリンク: https://www.infoworld.com/article/3250165/machine-learning/tensorflow-review-the-best-deep-learning-library-gets-better.html AIに関するその他のコンテンツについては、公式アカウント「AI Pusher」をフォローしてください。 [51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください] |
<<: 未来学者が2099年に世界がどのように変化するかを予測
>>: PaddlePaddle と TensorFlow の比較分析
[[393090]]この記事はWeChatの公開アカウント「Qianyu's IT Hou...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
自動化の需要が継続的に高まっているため、ロボット産業の発展は加速段階に入り、わが国のロボット市場は最...
人工知能 (AI) はコンピューティングとデータ分析の世界を変えています。機械学習、自然言語処理、コ...
[[409976]]今日の多言語翻訳モデルのほとんどは、英語中心のデータセットで統合モデルをトレーニ...
[[319769]]今日、デジタルサイエンスは企業にとってますます魅力的になっています。しかし、デジ...
[[248113]]画像出典: IDG Capital最近開催された2018年の「IDGキャピタル...
ニュージーランド政府は、政府機関がアルゴリズムを使用する方法のガイドとなることを目的とした一連の標準...
人工知能とロボット工学はテクノロジー分野に大きな変化をもたらしています。 20年前に人々が夢見ていた...
クラウド コンピューティング サービス プロバイダーの Rackspace Technology が...