テンソルフロー

コンテンツへジャンプ
フリー百科事典『ウィキペディア』より
( DistBeliefからリダイレクト)

テンソルフロー
開発者Google Brainチーム[ 1 ]
初回リリース2015年11月9日; 10年前 (2015年11月9日
安定版リリース
2.20.0 / 2025年8月19日; 4か月前 (2025年8月19日
リポジトリgithub .com /テンソルフロー/テンソルフロー
書かれたPythonC++CUDA
プラットフォームLinuxmacOSWindowsAndroidJavaScript [ 2 ]
タイプ機械学習 ライブラリ
ライセンスアパッチ 2.0
Webサイトテンソルフロー.org Wikidataで編集する

TensorFlowは、機械学習人工知能のためのソフトウェアライブラリです。様々なタスクに使用できますが、主にニューラルネットワーク学習推論に使用されます。[ 3 ] [ 4 ] PyTorchなどと並んで、最も人気のあるディープラーニングフレームワークの一つです[ 5 ] Apache License 2.0に基づいてリリースされている無料のオープンソースソフトウェアです

これは、 Google BrainチームによってGoogle社内の研究および生産での使用のために開発されました。[ 6 ] [ 7 ] [ 8 ]最初のバージョンは2015年にApache License 2.0の下でリリースされました。 [ 1 ] [ 9 ] Googleは2019年9月に更新バージョンのTensorFlow 2.0をリリースしました。[ 10 ]

TensorFlowは、 PythonJavaScriptC++Javaなど幅広いプログラミング言語で使用できるため[ 11 ]多くの分野のさまざまなアプリケーションでの使用が容易になります。

歴史

[編集]

不信感

[編集]

2011年より、Google Brainはディープラーニングニューラルネットワークに基づく独自の 機械学習システムとしてDistBeliefを構築しました。その利用は、研究と商用アプリケーションの両方で、Alphabet傘下の様々な企業で急速に拡大しました。 [ 12 ] [ 13 ] Googleは、 Jeff Deanを含む複数のコンピュータサイエンティストに、 DistBeliefのコードベースを簡素化およびリファクタリングし、より高速で堅牢なアプリケーショングレードのライブラリ(後のTensorFlow)に仕上げるよう指示しました。 [ 14 ] 2009年には、 Geoffrey Hinton率いるチームが一般化バックプロパゲーションなどの改良を実装し、音声認識のエラーが25%削減されるなど、大幅に精度の高いニューラルネットワークの生成を可能にしました。[ 15 ]

テンソルフロー

[編集]

TensorFlowはGoogle Brainの第2世代システムです。バージョン1.0.0は2017年2月11日にリリースされました。[ 16 ]リファレンス実装は単一のデバイスで動作しますが、TensorFlowは複数のCPUGPUで動作できます(グラフィックス処理装置での汎用コンピューティングのためのオプションのCUDAおよびSYCL拡張機能を使用)。[ 17 ] TensorFlowは、64ビットLinuxmacOSWindows 、およびAndroidiOSを含むモバイルコンピューティングプラットフォームで利用できます[ 18 ] [ 19 ]

柔軟なアーキテクチャにより、さまざまなプラットフォーム (CPU、GPU、TPU )、デスクトップからサーバー クラスター、モバイル デバイス、エッジ デバイスまで、コンピューティングを簡単に展開できます。

TensorFlowの計算は、状態のある データフロー グラフとして表現されます。TensorFlowという名前は、このようなニューラルネットワークがテンソルと呼ばれる多次元データ配列に対して実行する演算に由来しています。[ 20 ] 2016年6月のGoogle I/Oカンファレンスで、ジェフ・ディーンはGitHub上の1,500のリポジトリがTensorFlowに言及していると述べましたが、そのうちGoogleのものはわずか5つでした。[ 21 ]

2018年3月、GoogleはJavaScriptでの機械学習向けTensorFlow.jsバージョン1.0を発表しました。[ 22 ]

2019年1月、GoogleはTensorFlow 2.0を発表しました。[ 23 ] 2019年9月に正式に利用可能になりました。[ 10 ]

2019年5月、Googleはコンピュータグラフィックスにおけるディープラーニング用のTensorFlow Graphicsを発表しました。[ 24 ]

テンソル処理ユニット(TPU)

[編集]

2016年5月、GoogleはTensor Processing Unit(TPU)を発表しました。これは機械学習専用に構築され、TensorFlow向けにカスタマイズされた特定用途向け集積回路ASIC 、ハードウェアチップ)です。TPUは、低精度演算(例:8ビット)の高スループットを提供するように設計されたプログラム可能なAIアクセラレータであり、モデルのトレーニングではなく、使用または実行に重点を置いています。Googleは、1年以上前から自社のデータセンター内でTPUを運用しており、機械学習においてワットあたりのパフォーマンスが桁違いに最適化されたことを明らかにしました[ 25 ]

2017年5月、Googleは第2世代のTPUと、Google Compute EngineでのTPUの提供開始を発表しました。[ 26 ]第2世代TPUは最大180テラフロップスの性能を発揮し、64個のTPUをクラスタ化することで最大11.5ペタフロップスの性能を発揮します。[要出典]

2018年5月、Googleは最大420テラフロップスの性能と128GBの高帯域幅メモリ(HBM)を搭載した第3世代TPUを発表しました。Cloud TPU v3 Podは100ペタフロップス以上の性能と32TBのHBMを提供します。 [ 27 ]

2018年2月、GoogleはGoogle Cloud PlatformでTPUをベータ版として提供すると発表しました[ 28 ]

エッジTPU

[編集]

2018年7月、Edge TPUが発表されました。Edge TPUは、Googleが独自に開発したASICチップで、スマートフォンなどの小型クライアントコンピューティングデバイス(エッジコンピューティング)上でTensorFlow Lite機械学習(ML)モデルを実行するように設計されています[ 29 ]

TensorFlow Lite

[編集]

2017 年 5 月、Google はモバイルおよび組み込みデバイス向けの機械学習モデルをサポートするソフトウェア スタックとして TensorFlow Lite を発表し、2017 年 11 月には開発者プレビューを提供しました。[ 30 ] [ 31 ] 2019 年 1 月、TensorFlow チームは Android デバイスでは OpenGL ES 3.1 Compute Shader、iOS デバイスでは Metal Compute Shader を搭載したモバイル GPU 推論エンジンの開発者プレビューをリリースしました。[ 32 ] 2019 年 5 月、Google は TensorFlow Lite Micro(別名 TensorFlow Lite for Microcontrollers)とARM のuTensor を統合すると発表しました。[ 33 ] 2024 年に LiteRT に改名されました。 [ 34 ]

テンソルフロー 2.0

[編集]

研究論文におけるTensorFlowのシェアがPyTorchに取って代わられるにつれ、[ 35 ] TensorFlowチームは2019年9月にライブラリの新しいメジャーバージョンのリリースを発表しました。TensorFlow 2.0では多くの変更が導入されましたが、最も重要なのはTensorFlow Eagerで、自動微分化スキームが静的計算グラフから、Chainer、後にPyTorchによって普及した「Define-by-Run」スキームに変更されました。[ 35 ]その他の主要な変更には、古いライブラリの削除、異なるバージョンのTensorFlowで訓練されたモデル間の相互互換性、GPUでのパフォーマンスの大幅な向上が含まれます。[ 36 ]

特徴

[編集]

自動微分化

[編集]

自動微分化とは、モデルのパラメータごとに勾配ベクトルを自動的に計算するプロセスです。この機能により、TensorFlowはモデル内のパラメータの勾配を自動的に計算できます。これは、パフォーマンスを最適化するために勾配を必要とするバックプロパゲーションなどのアルゴリズムに役立ちます。[ 37 ]そのためには、フレームワークはモデル内の入力テンソルに対して行われた演算の順序を追跡し、適切なパラメータに関する勾配を計算する必要があります。[ 37 ]

熱心な実行

[編集]

TensorFlowには「積極的実行」モードが含まれています。これは、演算が計算グラフに追加されて後で実行されるのではなく、すぐに評価されることを意味します。[ 38 ]積極的実行されたコードは、計算グラフの後ではなく、コードの各行でデータが拡張されるため、デバッガーを使用してステップごとに調べることができます。[ 38 ]この実行パラダイムは、ステップごとの透明性のため、デバッグが容易であると考えられています。[ 38 ]

配布する

[編集]

TensorFlowは、Eager実行とグラフ実行の両方において、様々な分散戦略を用いて複数のデバイスに計算を分散するためのAPIを提供しています。[ 39 ]この分散コンピューティングは、 TensorFlowモデルのトレーニングと評価の実行を高速化できるため、AI分野では一般的な手法となっています。[ 39 ] [ 40 ]

損失

[編集]

TensorFlowは、モデルの訓練と評価のために、損失関数(コスト関数とも呼ばれる)のセットを提供しています[ 41 ]一般的な例としては、平均二乗誤差(MSE)やバイナリクロスエントロピー(BCE)などがあります。[ 41 ]

メトリクス

[編集]

TensorFlowは、機械学習モデルの性能を評価するために、一般的に使用される指標へのAPIアクセスを提供しています。例えば、様々な精度指標(バイナリ、カテゴリカル、スパースカテゴリカル)に加え、適合率、再現率積和集合(IoU)などの指標が含まれます。[ 42 ]

TF.nn

[編集]

TensorFlow.nnは、モデルに対して基本的なニューラルネットワーク演算を実行するためのモジュールです[ 43 ]これらの演算には、畳み込みのバリエーション(1/2/3D、Atrous、深さ方向)、活性化関数SoftmaxRELU、GELU、Sigmoidなど)とそのバリエーション、その他の演算(max-pooling、bias-addなど)が含まれます。[ 43 ]

オプティマイザー

[編集]

TensorFlowは、 ADAMADAGRAD確率的勾配降下法(SGD)など、ニューラルネットワークのトレーニング用の最適化ツールを提供しています。 [ 44 ]モデルをトレーニングする際には、異なる最適化ツールがさまざまなパラメータチューニングモードを提供し、モデルの収束やパフォーマンスに影響を与えることがよくあります。[ 45 ]

使用方法と拡張機能

[編集]

テンソルフロー

[編集]

TensorFlowは機械学習のコアプラットフォームおよびライブラリとして機能します。TensorFlowのAPIはKerasを使用して、ユーザーが独自の機械学習モデルを作成できるようにしています。[ 36 ] [ 46 ] TensorFlowは、モデルの構築とトレーニングに加えて、モデルのトレーニングに必要なデータの読み込みや、TensorFlow Servingを使用したデプロイも支援します。[ 47 ]

TensorFlowは安定したPython アプリケーションプログラムインターフェースAPI[ 48 ]ほか、JavaScript[ 49 ] C++、 [ 50 ] Java [ 51 ]向けに後方互換性が保証されていないAPIも提供しています[ 11 ]サードパーティ製の言語バインディングパッケージもC#[ 52 ] [ 53 ] Haskell、 [54 ] Julia[ 55 ] MATLAB[ 56 ] Object Pascal[ 57 ] R[ 58 ] Scala 、[ 59 ] Rust[ 60 ] OCaml[ 61 ] Crystal [ 62 ]向けに提供ています現在アーカイブ化されサポートされていないバインディングにはGo [ 63 ]Swift [ 64 ]があります

TensorFlow.js

[編集]

TensorFlowには、JavaScriptで機械学習を行うためのライブラリも用意されています。TensorFlow.jsでは、提供されているJavaScript APIを使用することで、Tensorflow.jsモデル、またはTensorFlowやTFLiteから変換したモデルを使用し、モデルを再学習してウェブ上で実行することができます。[ 47 ] [ 65 ]

ライトRT

[編集]

LiteRT(旧称TensorFlow Lite)[ 66 ]には、モバイルアプリや組み込みデバイスでTensorFlowモデルを生成・展開するためのAPIがあります。[ 67 ]これらのモデルは圧縮・最適化されており、より効率的に、小容量のデバイスでも高いパフォーマンスを発揮します。[ 68 ]

LiteRTは、ネットワークモデルのデータシリアル化形式としてFlatBuffersを使用し、標準のTensorFlowモデルで使用されるプロトコルバッファ形式を避けています。[ 68 ]

TFX

[編集]

TensorFlow Extended(略称TFX)は、エンドツーエンドの生産に必要なすべての操作を実行するための多数のコンポーネントを提供します。[ 69 ]コンポーネントには、データの読み込み、検証、変換、機械学習モデルのチューニング、トレーニング、評価、そしてモデル自体の生産へのプッシュが含まれます。[ 47 ] [ 69 ]

統合

[編集]

ナンピー

[編集]

Numpyは最も人気のあるPythonデータライブラリの一つであり、TensorFlowはそのデータ構造との統合と互換性を提供しています。[ 70 ]ライブラリのネイティブデータ型であるNumpy NDarrayは、TF操作においてTensorFlow Tensorに自動的に変換されます。逆も同様です。[ 70 ]これにより、ユーザーが明示的なデータ変換を記述することなく、2つのライブラリが連携して動作できるようになります。さらに、この統合はメモリ最適化にも拡張され、TF Tensorは可能な限りNumpy NDarrayのメモリ表現を共有します。[ 70 ]

拡張機能

[編集]

TensorFlowは、使用されるモデルや手法を進化させ、拡張するための様々なライブラリ拡張機能も提供しています。 [ 71 ]例えば、TensorFlow RecommendersとTensorFlow Graphicsは、それぞれの機能のためのライブラリです。 [ 72 ]その他のアドオン、ライブラリフレームワークには、TensorFlow Model Optimization、TensorFlow Probability、TensorFlow Quantum、TensorFlow Decision Forestsなどがあります。[ 71 ] [ 72 ]

Google Colab

[編集]

Googleはまた、セットアップが不要なTensorFlow Jupyterノートブック環境であるCollaboratoryもリリースした。 [ 73 ]これはGoogle Cloud上で実行され、ユーザーはGPUに無料でアクセスでき、 Google Driveにノートブックを保存して共有することができる[ 74 ]

グーグルジャックス

[編集]

Google JAXは、数値関数を変換するための機械学習フレームワークです。 [ 75 ] [ 76 ] [ 77 ]これは、 autograd(関数の微分による勾配関数の自動取得)の改良版とTensorFlowのXLA (Accelerated Linear Algebra)組み合わせたものと説明されています。NumPyの構造とワークフローに可能な限り忠実に従うように設計されており、TensorFlowだけでなくPyTorchなどの他のフレームワークでも動作します。JAXの主な機能は次のとおりです。[ 75 ]

  1. 大学院:自動微分
  2. jit: コンパイル
  3. vmap: 自動ベクトル化
  4. pmap: SPMDプログラミング

アプリケーション

[編集]

医学

[編集]

GEヘルスケアはTensorFlowを使用してMRIの特定の体の部位を識別する速度と精度を向上させました。 [ 78 ] GoogleはTensorFlowを使用して、ユーザーが皮膚の写真を撮って潜在的な健康上の合併症を特定できる無料のモバイルアプリケーションDermAssistを作成しました。[ 79 ] Sinovation VenturesはTensorFlowを使用して光干渉断層撮影(OCT)スキャンから眼疾患を特定および分類しました[ 79 ]

ソーシャルメディア

[編集]

TwitterはTensorFlowを実装し、特定のユーザーにとっての重要度でツイートをランク付けし、このランク順にツイートを表示するようにプラットフォームを変更しました。[ 80 ]以前は、ツイートは単に逆時系列で表示されていました。[ 80 ]写真共有アプリVSCOは、写真にカスタムフィルターを提案するためにTensorFlowを使用しました。[ 79 ]

検索エンジン

[編集]

Googleは2015年10月26日にTensorFlowを活用したRankBrainを正式にリリースした。 [ 81 ]

教育

[編集]

仮想学習プラットフォームのInSpaceは、TensorFlowを使用して教室内の有害なチャットメッセージをフィルタリングしました。[ 82 ]オンライン英語学習プラットフォームのLiulishuoは、TensorFlowを利用して各生徒に合わせた適応型カリキュラムを作成しました。[ 83 ] TensorFlowは、生徒の現在の能力を評価するために使用され、その能力に基づいてどのコンテンツを表示するかを決定するのにも役立ちました。[ 83 ]

小売り

[編集]

電子商取引プラットフォームのCarousellは、顧客にパーソナライズされた推奨事項を提供するためにTensorFlowを使用しました。[ 79 ]化粧品会社ModiFaceは、顧客が顔にさまざまな色合いのメイクを試すことができる拡張現実体験を作成するためにTensorFlowを使用しました。[ 84 ]

2016 年のオリジナルの写真(左)と TensorFlowニューラル スタイルを適用した写真(右)の比較

研究

[編集]

TensorFlowは、自動画像キャプション作成ソフトウェアDeepDreamの基盤となっています[ 85 ]

参照

[編集]

参考文献

[編集]
  1. ^ a b 「クレジット」 . TensorFlow.org . 2015年11月17日時点のオリジナルよりアーカイブ2015年11月10日閲覧。
  2. ^ “TensorFlow.js” . 2018年5月6日時点のオリジナルよりアーカイブ2018年6月28日閲覧。
  3. ^ Abadi, Martín; Barham, Paul; Chen, Jianmin; Chen, Zhifeng; Davis, Andy; Dean, Jeffrey; Devin, Matthieu; Ghemawat, Sanjay; Irving, Geoffrey; Isard, Michael; Kudlur, Manjunath; Levenberg, Josh; Monga, Rajat; Moore, Sherry; Murray, Derek G.; Steiner, Benoit; Tucker, Paul; Vasudevan, Vijay; Warden, Pete; Wicke, Martin; Yu, Yuan; Zheng, Xiaoqiang (2016). TensorFlow: 大規模機械学習システム(PDF) . Proceedings of the 12th USENIX Symposium on Operating Systems Design and Implementation (OSDI '16). arXiv : 1605.08695 . 2020年12月12日時点のオリジナルよりアーカイブ(PDF) 。 2020年10月26日閲覧
  4. ^ TensorFlow: オープンソースの機械学習。Google。2015年。2021年11月11日時点のオリジナルよりアーカイブ。「これは、様々な知覚や言語理解のタスクに利用されている機械学習ソフトウェアです」 - ジェフリー・ディーン、YouTubeクリップの0:47 / 2:17
  5. ^ 「オープンソースプロジェクトトップ30」。CNCFによるオープンソースプロジェクト速度2023年9月3日時点のオリジナルよりアーカイブ。 2023年10月12日閲覧
  6. ^ TensorFlow 2015 に関する Google のビデオクリップ( 0:15/2:17 分)
  7. ^ TensorFlow 2015 に関する Google のビデオクリップ( 0:26/2:17 分)
  8. ^ ディーン他 2015、p.2
  9. ^ Metz, Cade (2015年11月9日). 「Google、人工知能エンジンTensorFlowをオープンソース化」 . Wired . 2015年11月9日時点のオリジナルよりアーカイブ2015年11月10日閲覧。
  10. ^ a b TensorFlow (2019年9月30日). 「TensorFlow 2.0が利用可能になりました!」 . Medium . 2019年10月7日時点のオリジナルよりアーカイブ2019年11月24日閲覧。
  11. ^ a b “APIドキュメント” . 2015年11月16日時点のオリジナルよりアーカイブ2018年6月27日閲覧。
  12. ^ Dean, Jeff ; Monga, Rajat ; et al. (2015年11月9日). 「TensorFlow: 異種システムにおける大規模機械学習」(PDF) . TensorFlow.org . Google Research. 2015年11月20日時点のオリジナルよりアーカイブ(PDF) . 2015年11月10日閲覧.
  13. ^ Perez, Sarah (2015年11月9日). 「Google Googleフォト検索、スマートリプライなどを支える機械学習技術をオープンソース化」TechCrunch . 2015年11月9日時点のオリジナルよりアーカイブ。 2015年11月11日閲覧
  14. ^ Oremus, Will (2015年11月9日). 「TensorFlowとは何か、そしてなぜGoogleはこれほど注目しているのか?」 . Slate . 2015年11月10日時点のオリジナルよりアーカイブ。 2015年11月11日閲覧
  15. ^ Ward-Bailey, Jeff (2015年11月25日). 「Google会長:人工知能において『真の進歩』を遂げている」 . CSMonitor . 2015年9月16日時点のオリジナルよりアーカイブ。 2015年11月25日閲覧
  16. ^ TensorFlow Developers (2022). 「Tensorflow Release 1.0.0」 . GitHub . doi : 10.5281/zenodo.4724125 . 2021年2月27日時点のオリジナルよりアーカイブ。 2017年7月24日閲覧
  17. ^ Metz, Cade (2015年11月10日). 「TensorFlow、GoogleのオープンソースAI、急速に変化するハードウェアの世界を示す」 . Wired . 2015年11月11日時点のオリジナルよりアーカイブ。 2015年11月11日閲覧
  18. ^ Kudale, Aniket Eknath (2020年6月8日). 「TensorFlow.jsを使った表情認識アプリの構築」 . Open Source For U. 2024年10月11日時点のオリジナルよりアーカイブ。 2025年4月19日閲覧
  19. ^ MSV, Janakiram (2021年2月24日). 「機械学習フレームワークの究極ガイド」 . The New Stack . 2024年12月24日時点のオリジナルよりアーカイブ。 2025年4月19日閲覧
  20. ^ “テンソル入門” . tensorflow.org. 2024年5月26日時点のオリジナルよりアーカイブ。 2024年3月3日閲覧
  21. ^ 機械学習:Google I/O 2016 Minute 07:30/44:44 .2016年12月21日アーカイブ、 Wayback Machine . 2016年6月5日閲覧。
  22. ^ TensorFlow (2018年3月30日). 「TensorFlow.jsの紹介:JavaScriptでの機械学習」 . Medium . 2018年3月30日時点のオリジナルよりアーカイブ2019年5月24日閲覧。
  23. ^ TensorFlow (2019年1月14日). 「TensorFlow 2.0の新機能」 . Medium . 2019年1月14日時点のオリジナルよりアーカイブ2019年5月24日閲覧。
  24. ^ TensorFlow (2019年5月9日). 「TensorFlow Graphicsの紹介:コンピューターグラフィックスとディープラーニングの融合」 . Medium . 2019年5月9日時点のオリジナルよりアーカイブ2019年5月24日閲覧。
  25. ^ Jouppi, Norm . 「Google、TPUカスタムチップで機械学習タスクを強化」 Google Cloud Platformブログ. 2016年5月18日時点のオリジナルよりアーカイブ。 2016年5月19日閲覧
  26. ^ 「新しいGoogle Cloud TPUで機械学習モデルを構築・トレーニング」。Google 2017年5月17日。2017年5月17日時点のオリジナルよりアーカイブ2017年5月18日閲覧。
  27. ^ “Cloud TPU” . Google Cloud . 2017年5月17日時点のオリジナルよりアーカイブ2019年5月24日閲覧。
  28. ^ 「Cloud TPU機械学習アクセラレータがベータ版で利用可能になりました」。Google Cloud Platformブログ2018年2月12日時点のオリジナルよりアーカイブ。 2018年2月12日閲覧
  29. ^ Kundu, Kishalaya (2018年7月26日). 「Google、Cloud Next 2018でEdge TPUとCloud IoT Edgeを発表」 . Beebom . 2024年5月26日時点のオリジナルよりアーカイブ。 2019年2月2日閲覧
  30. ^ Vincent, James (2017年5月17日). 「Googleの新しい機械学習フレームワークは、あなたのスマートフォンにさらに多くのAIを搭載するだろう」 . The Verge . 2017年5月17日時点のオリジナルよりアーカイブ。 2017年5月19日閲覧
  31. ^ 「TensorFlow Lite の発表 - Google Developers Blog」 . developers.googleblog.com . 2017年11月14日. 2025年11月23日閲覧
  32. ^ TensorFlow (2019年1月16日). 「TensorFlow Lite、モバイルGPUでさらに高速化(開発者プレビュー)」 . Medium . 2019年1月16日時点のオリジナルよりアーカイブ2019年5月24日閲覧。
  33. ^ “uTensor and Tensor Flow Announcement | Mbed” . os.mbed.com . 2019年5月9日時点のオリジナルよりアーカイブ2019年5月24日閲覧。
  34. ^ https://developers.googleblog.com/en/tensorflow-lite-is-now-litert/
  35. ^ a b He, Horace (2019年10月10日). 「2019年の機械学習フレームワークの現状」 . The Gradient. 2019年10月10日時点のオリジナルよりアーカイブ2020年5月22日閲覧。
  36. ^ a b Ciaramella, Alberto ; Ciaramella, Marco (2024年7月). 『人工知能入門:データ分析から生成AIまで』 Intellisemantic Editions. ISBN 9788894787603
  37. ^ a b 「勾配と自動微分化の紹介」TensorFlow . 2021年10月28日時点のオリジナルよりアーカイブ2021年11月4日閲覧
  38. ^ a b c “Eager execution | TensorFlow Core” . TensorFlow . 2021年11月4日時点のオリジナルよりアーカイブ2021年11月4日閲覧。
  39. ^ a b “Module: tf.distribute | TensorFlow Core v2.6.1” . TensorFlow . 2024年5月26日時点のオリジナルよりアーカイブ2021年11月4日閲覧。
  40. ^ Sigeru, Omatu (2014).分散コンピューティングと人工知能、第11回国際会議. Springer International Publishing. ISBN 978-3-319-07593-8. OCLC  980886715 .
  41. ^ a b “Module: tf.losses | TensorFlow Core v2.6.1” . TensorFlow . 2021年10月27日時点のオリジナルよりアーカイブ2021年11月4日閲覧。
  42. ^ “Module: tf.metrics | TensorFlow Core v2.6.1” . TensorFlow . 2021年11月4日時点のオリジナルよりアーカイブ。 2021年11月4日閲覧
  43. ^ a b “Module: tf.nn | TensorFlow Core v2.7.0” . TensorFlow . 2024年5月26日時点のオリジナルよりアーカイブ。 2021年11月6日閲覧
  44. ^ “Module: tf.optimizers | TensorFlow Core v2.7.0” . TensorFlow . 2021年10月30日時点のオリジナルよりアーカイブ。 2021年11月6日閲覧
  45. ^ Dogo, EM; Afolabi, OJ; Nwulu, NI; Twala, B.; Aigbavboa, CO (2018年12月). 「畳み込みニューラルネットワークにおける勾配降下法に基づく最適化アルゴリズムの比較分析」. 2018 International Conference on Computational Techniques, Electronics and Mechanical Systems (CTEMS) . pp.  92– 99. doi : 10.1109/CTEMS.2018.8769211 . ISBN 978-1-5386-7709-4. S2CID  198931032 .
  46. ^ “TensorFlow Core | 初心者とエキスパートのための機械学習” . TensorFlow . 2023年1月20日時点のオリジナルよりアーカイブ2021年11月4日閲覧。
  47. ^ a b c 「TensorFlow入門」 . TensorFlow . 2023年1月20日時点のオリジナルよりアーカイブ。 2021年10月28日閲覧
  48. ^ “All symbol in TensorFlow 2 | TensorFlow Core v2.7.0” . TensorFlow . 2021年11月6日時点のオリジナルよりアーカイブ。 2021年11月6日閲覧
  49. ^ “TensorFlow.js” . js.tensorflow.org . 2024年5月26日時点のオリジナルよりアーカイブ2021年11月6日閲覧。
  50. ^ “TensorFlow C++ APIリファレンス | TensorFlow Core v2.7.0” . TensorFlow . 2023年1月20日時点のオリジナルよりアーカイブ2021年11月6日閲覧。
  51. ^ “org.tensorflow | Java” . TensorFlow . 2021年11月6日時点のオリジナルよりアーカイブ。 2021年11月6日閲覧
  52. ^ Icaza, Miguel de (2018年2月17日). 「TensorFlowSharp: .NET言語向けTensorFlow API」 . GitHub . 2017年7月24日時点のオリジナルよりアーカイブ2018年2月18日閲覧。
  53. ^ Chen, Haiping (2018年12月11日). 「TensorFlow.NET: TensorFlow の .NET Standard バインディング」 . GitHub . 2019年7月12日時点のオリジナルよりアーカイブ。 2018年12月11日閲覧
  54. ^ "haskell: Haskell bindings for TensorFlow" . tensorflow. 2018年2月17日. 2017年7月24日時点のオリジナルよりアーカイブ。 2018年2月18日閲覧
  55. ^ Malmaud, Jon (2019年8月12日). 「TensorFlow用のJuliaラッパー」 . GitHub . 2017年7月24日時点のオリジナルからのアーカイブ。 2019年8月14日閲覧sin、*(行列乗算)、.*(要素ごとの乗算)などの演算が不要です。Pythonでは、tf.matmulのような特殊な名前空間関数を学習する必要があります。
  56. ^ 「TensorFlow Core 用の MATLAB ラッパー」 GitHub 2019年11月3日. 2020年9月14日時点のオリジナルよりアーカイブ2020年2月13日閲覧。
  57. ^ “Use TensorFlow from Pascal (FreePascal, Lazarus, etc.)” . GitHub . 2023年1月19日. 2023年1月20日時点のオリジナルよりアーカイブ。 2023年1月20日閲覧
  58. ^ "tensorflow: TensorFlow for R" . RStudio. 2018年2月17日. 2017年1月4日時点のオリジナルよりアーカイブ。 2018年2月18日閲覧
  59. ^ Platanios, Anthony (2018年2月17日). 「tensorflow_scala: Scalaプログラミング言語用のTensorFlow API」 . GitHub . 2019年2月18日時点のオリジナルよりアーカイブ。 2018年2月18日閲覧
  60. ^ "rust: TensorFlow 向け Rust 言語バインディング" . tensorflow. 2018年2月17日. 2017年7月24日時点のオリジナルよりアーカイブ2018年2月18日閲覧。
  61. ^ Mazare, Laurent (2018年2月16日). 「tensorflow-ocaml: OCaml bindings for TensorFlow」 . GitHub . 2018年6月11日時点のオリジナルよりアーカイブ2018年2月18日閲覧。
  62. ^ "fazibear/tensorflow.cr" . GitHub . 2018年6月27日時点のオリジナルよりアーカイブ2018年10月10日閲覧。
  63. ^ “tensorflow package - github.com/tensorflow/tensorflow/tensorflow/go - pkg.go.dev” . pkg.go.dev . 2021年11月6日時点のオリジナルよりアーカイブ。 2021年11月6日閲覧
  64. ^ “Swift for TensorFlow (アーカイブモード)” . TensorFlow . 2021年11月6日時点のオリジナルよりアーカイブ2021年11月6日閲覧。
  65. ^ “TensorFlow.js | JavaScript開発者のための機械学習” . TensorFlow . 2021年11月4日時点のオリジナルよりアーカイブ。 2021年10月28日閲覧
  66. ^ 「LiteRT の概要 | Google AI Edge」。Google AI for Developers 。 2025年5月7日閲覧
  67. ^ “TensorFlow Lite | モバイルおよびエッジデバイス向けML” . TensorFlow . 2021年11月4日時点のオリジナルよりアーカイブ。 2021年11月1日閲覧
  68. ^ a b “TensorFlow Lite” . TensorFlow . 2021年11月2日時点のオリジナルよりアーカイブ。 2021年11月1日閲覧
  69. ^ a b “TensorFlow Extended (TFX) | ML Production Pipelines” . TensorFlow . 2021年11月4日時点のオリジナルよりアーカイブ2021年11月2日閲覧。
  70. ^ a b c 「カスタマイズの基本:テンソルと演算 | TensorFlow Core」 . TensorFlow . 2021年11月6日時点のオリジナルよりアーカイブ。 2021年11月6日閲覧
  71. ^ a b “Guide | TensorFlow Core” . TensorFlow . 2019年7月17日時点のオリジナルよりアーカイブ。 2021年11月4日閲覧
  72. ^ a b 「ライブラリと拡張機能」 . TensorFlow . 2021年11月4日時点のオリジナルよりアーカイブ2021年11月4日閲覧。
  73. ^ “Colaboratory – Google” . research.google.com . 2017年10月24日時点のオリジナルよりアーカイブ2018年11月10日閲覧。
  74. ^ “Google Colaboratory” . colab.research.google.com . 2021年2月3日時点のオリジナルよりアーカイブ2021年11月6日閲覧。
  75. ^ a b Bradbury, James; Frostig, Roy; Hawkins, Peter; Johnson, Matthew James; Leary, Chris; MacLaurin, Dougal; Necula, George; Paszke, Adam; Vanderplas, Jake; Wanderman-Milne, Skye; Zhang, Qiao (2022年6月18日) 「JAX: Autograd and XLA」Astrophysics Source Code Library、Google、Bibcode : 2021ascl.soft11002B 、 2022年6月18日時点のオリジナルよりアーカイブ。2022年6月18日閲覧。
  76. ^ 「JAXを使用して研究を加速する」 www.deepmind.com 2020年12月4日. 2022年6月18日時点のオリジナルよりアーカイブ2022年6月18日閲覧。
  77. ^ 「なぜGoogleのJAXはこんなに人気があるのか​​?」 Analytics India Magazine . 2022年4月25日. 2022年6月18日時点のオリジナルよりアーカイブ2022年6月18日閲覧。
  78. ^ 「MRI向けディープラーニングを用いたインテリジェントスキャン」2021年11月4日時点のオリジナルよりアーカイブ2021年11月4日閲覧。
  79. ^ a b c d 「ケーススタディと言及」 . TensorFlow . 2021年10月26日時点のオリジナルよりアーカイブ2021年11月4日閲覧。
  80. ^ a b 「TensorFlowでツイートをランク付けする」2021年11月4日時点のオリジナルよりアーカイブ2021年11月4日閲覧。
  81. ^ Davies, Dave (2020年9月2日). 「Google RankBrainアルゴリズム完全ガイド」 . Search Engine Journal . 2021年11月6日時点のオリジナルよりアーカイブ2024年10月15日閲覧。
  82. ^ 「InSpace:チャットの毒性フィルターにTensorFlow.jsを使用する新しいビデオ会議プラットフォーム」2021年11月4日時点のオリジナルよりアーカイブ。 2021年11月4日閲覧
  83. ^ a b 徐林。「TensorFlow に基づく流利说の自己应系实実践」Weixin公式アカウントプラットフォーム2021年11月6日のオリジナルからアーカイブ2021 年11 月 4 日に取得
  84. ^ 「ModifaceがTensorFlow.jsを活用し、ブラウザでARメイクアップを試せるようにした方法」2021年11月4日時点のオリジナルよりアーカイブ2021年11月4日閲覧。
  85. ^ Byrne, Michael (2015年11月11日). 「Google、機械学習ライブラリ全体をオープンソースソフトウェアとして提供」 . Vice . 2021年1月25日時点のオリジナルよりアーカイブ2015年11月11日閲覧。

さらに読む

[編集]
[編集]

    テンソルフロー
    開発者Google Brainチーム[1]
    初回リリース2015年11月9日; 10年前 (2015-11-09)
    安定版リリース
    2.20.0 / 2025年8月19日; 4か月前 (2025-08-19)
    リポジトリgithub.com/tensorflow/tensorflow
    書かれたPythonC++CUDA
    プラットフォームLinuxmacOSWindowsAndroidJavaScript [2]
    タイプ機械学習 ライブラリ
    ライセンスアパッチ 2.0
    Webサイトテンソルフロー

    TensorFlowは、機械学習人工知能のためのソフトウェアライブラリです。様々なタスクに使用できますが、主にニューラルネットワーク学習推論に使用されます。[3] [4] PyTorchなどと並んで、最も人気のあるディープラーニングフレームワークの一つです[5] Apache License 2.0に基づいてリリースされている無料のオープンソースソフトウェアです

    これは、 Google BrainチームによってGoogle社内の研究および生産での使用のために開発されました。[6] [7] [8]最初のバージョンは2015年にApache License 2.0の下でリリースされました。[1] [9] Googleは2019年9月に更新版であるTensorFlow 2.0をリリースしました。[10]

    TensorFlowは、 PythonJavaScriptC++Javaなど幅広いプログラミング言語で使用できるため[11]多くの分野のさまざまなアプリケーションでの使用が容易になります。

    歴史

    不信感

    2011年より、Google Brainはディープラーニングニューラルネットワークに基づく独自の 機械学習システムとしてDistBeliefを構築しました。その利用は、研究用途と商用用途の両方で、Alphabet傘下の様々な企業に急速に広がりました。 [12] [13] Googleは、 Jeff Deanを含む複数のコンピュータサイエンティストに、 DistBeliefのコードベースを簡素化およびリファクタリングし、より高速で堅牢なアプリケーショングレードのライブラリ(後のTensorFlow)に仕上げるよう指示しました。 [14] 2009年には、 Geoffrey Hinton率いるチームが一般化バックプロパゲーションなどの改良を実装し、音声認識のエラーが25%削減されるなど、大幅に精度の高いニューラルネットワークの生成を可能にしました。[15]

    テンソルフロー

    TensorFlowはGoogle Brainの第2世代システムです。バージョン1.0.0は2017年2月11日にリリースされました。[16]リファレンス実装は単一のデバイスで動作しますが、TensorFlowは複数のCPUGPUで動作可能です(グラフィックス処理装置での汎用コンピューティングのためのオプションのCUDAおよびSYCL拡張機能を使用)。[17] TensorFlowは、64ビットLinuxmacOSWindows 、およびAndroidiOSを含むモバイルコンピューティングプラットフォームで利用できます[18] [19]

    柔軟なアーキテクチャにより、さまざまなプラットフォーム (CPU、GPU、TPU )、デスクトップからサーバー クラスター、モバイル デバイス、エッジ デバイスまで、コンピューティングを簡単に展開できます。

    TensorFlowの計算は、ステートフルな データフロー グラフとして表現されます。TensorFlowという名前は、このようなニューラルネットワークがテンソルと呼ばれる多次元データ配列に対して実行する演算に由来しています。[20] 2016年6月のGoogle I/Oカンファレンスで、ジェフ・ディーンはGitHub上の1,500のリポジトリがTensorFlowに言及していると述べましたが、そのうちGoogleのものはわずか5つでした。[21]

    2018年3月、GoogleはJavaScriptでの機械学習向けTensorFlow.jsバージョン1.0を発表しました。[22]

    2019年1月、GoogleはTensorFlow 2.0を発表しました。[23] 2019年9月に正式に利用可能になりました。[10]

    2019年5月、Googleはコンピュータグラフィックスにおけるディープラーニング用のTensorFlow Graphicsを発表しました。[24]

    テンソル処理ユニット(TPU)

    2016年5月、GoogleはTensor Processing Unit(TPU)を発表しました。これは、機械学習専用に構築され、TensorFlow向けにカスタマイズされた特定用途向け集積回路ASIC 、ハードウェアチップ)です。TPUは、低精度演算(例:8ビット)の高スループットを提供するように設計されたプログラム可能なAIアクセラレータであり、モデルのトレーニングではなく、使用または実行に重点を置いています。Googleは、1年以上前から自社のデータセンター内でTPUを運用しており、機械学習においてワットあたりのパフォーマンスが桁違いに最適化されていることを確認したと発表しました[25]

    2017年5月、Googleは第2世代のTPUと、Google Compute EngineでのTPUの提供を発表しました。[26]第2世代TPUは最大180テラフロップスの性能を発揮し、64個のTPUのクラスターに編成すると最大11.5ペタフロップスを実現します。[要出典]

    2018年5月、Googleは最大420テラフロップスの性能と128GBの高帯域幅メモリ(HBM)を搭載した第3世代TPUを発表しました。Cloud TPU v3 Podは、100ペタフロップス以上の性能と32TBのHBMを提供します。 [27]

    2018年2月、GoogleはGoogle Cloud PlatformでTPUをベータ版として提供すると発表しました[28]

    エッジTPU

    2018年7月、Edge TPUが発表されました。Edge TPUは、Googleが独自に開発したASICチップで、スマートフォンなどの小型クライアントコンピューティングデバイス(エッジコンピューティング)上でTensorFlow Lite機械学習(ML)モデルを実行するように設計されています[ 29]

    TensorFlow Lite

    2017年5月、Googleはモバイルおよび組み込みデバイス向けの機械学習モデルをサポートするソフトウェアスタックとしてTensorFlow Liteを発表し、2017年11月に開発者プレビューを提供しました。[30] [31] 2019年1月、TensorFlowチームはAndroidデバイスでOpenGL ES 3.1コンピュートシェーダー、iOSデバイスでMetalコンピュートシェーダーを搭載したモバイルGPU推論エンジンの開発者プレビューをリリースしました。[32] 2019年5月、GoogleはTensorFlow Lite Micro(TensorFlow Lite for Microcontrollersとも呼ばれる)とARMのuTensorを統合すると発表しました。[33] 2024年にLiteRTに改名されました。 [34]

    テンソルフロー 2.0

    研究論文におけるTensorFlowのシェアがPyTorchに取って代わられるにつれ、[35] TensorFlowチームは2019年9月にライブラリの新しいメジャーバージョンのリリースを発表しました。TensorFlow 2.0では多くの変更が導入されましたが、最も重要なのはTensorFlow Eagerで、自動微分化スキームが静的計算グラフから、Chainer、後にPyTorchによって普及した「Define-by-Run」スキームに変更されました。[35]その他の主要な変更には、古いライブラリの削除、異なるバージョンのTensorFlowで訓練されたモデル間の相互互換性、GPUでのパフォーマンスの大幅な向上が含まれます。[36]

    特徴

    自動微分化

    自動微分化とは、モデルのパラメータごとに勾配ベクトルを自動的に計算するプロセスです。この機能により、TensorFlowはモデル内のパラメータの勾配を自動的に計算できます。これは、パフォーマンスを最適化するために勾配を必要とするバックプロパゲーションなどのアルゴリズムに役立ちます。[37]そのためには、フレームワークはモデル内の入力テンソルに対して行われた演算の順序を追跡し、適切なパラメータに関する勾配を計算する必要があります。[37]

    熱心な実行

    TensorFlowには「イーガー実行」モードが含まれています。これは、演算が計算グラフに追加されて後で実行されるのではなく、すぐに評価されることを意味します。[38]イーガー実行されたコードは、計算グラフの後でではなく、コードの各行でデータが拡張されるため、デバッガーを使用してステップごとに調べることができます。[38]この実行パラダイムは、ステップごとの透明性のため、デバッグが容易であると考えられています。[38]

    配布する

    TensorFlowは、Eager実行とグラフ実行の両方において、様々な分散戦略を用いて複数のデバイスに計算を分散するためのAPIを提供しています。[39]この分散コンピューティングは、 TensorFlowモデルのトレーニングと評価の実行を高速化できるため、AI分野では一般的な手法となっています。[39] [40]

    損失

    TensorFlowは、モデルの訓練と評価のために、損失関数(コスト関数とも呼ばれる)のセットを提供します[41]一般的な例としては、平均二乗誤差(MSE)とバイナリクロスエントロピー(BCE)があります。[41]

    メトリクス

    TensorFlowは、機械学習モデルのパフォーマンスを評価するために、一般的に使用される指標へのAPIアクセスを提供しています。例えば、様々な精度指標(バイナリ、カテゴリカル、スパースカテゴリカル)に加え、適合率、再現率積和集合(IoU)などの指標が含まれます。[42]

    TF.nn

    TensorFlow.nnは、モデルに対して基本的なニューラルネットワーク演算を実行するためのモジュールです[43]これらの演算には、畳み込みのバリエーション(1/2/3D、Atrous、深さ方向)、活性化関数SoftmaxRELU、GELU、Sigmoidなど)とそのバリエーション、その他の演算(max-pooling、bias-addなど)が含まれます。[43]

    オプティマイザー

    TensorFlowは、 ADAMADAGRAD確率的勾配降下法(SGD)など、ニューラルネットワークのトレーニングのための最適化ツールを提供しています。 [44]モデルをトレーニングする際には、異なる最適化ツールがそれぞれ異なるパラメータ調整モードを提供し、モデルの収束性やパフォーマンスに影響を与えることがよくあります。[45]

    使用方法と拡張機能

    テンソルフロー

    TensorFlowは機械学習のコアプラットフォームおよびライブラリとして機能します。TensorFlowのAPIはKerasを使用して、ユーザーが独自の機械学習モデルを作成できるようにしています。[36] [46] TensorFlowは、モデルの構築とトレーニングに加えて、モデルのトレーニングに必要なデータの読み込みや、TensorFlow Servingを使用したデプロイも支援します。[47]

    TensorFlowは安定したPython アプリケーションプログラムインターフェースAPI[48]を提供するほか、JavaScript[49] C++[50] Java [51 ]向けに後方互換性が保証されていないAPIも提供する[11] C#[52] [53] Haskell[54] Julia、 [ 55] MATLAB[56] Object Pascal[57] R、 [58] Scala 、 [59] Rust[ 60] OCaml、 [61] Crystal [62 ]向けにサードパーティの言語バインディングパッケージも利用可能である現在アーカイブ化されサポートされていないバインディングにはGo [63]Swift [64]がある。

    TensorFlow.js

    TensorFlowには、JavaScriptで機械学習を行うためのライブラリも用意されています。TensorFlow.jsは、提供されているJavaScript APIを使用することで、Tensorflow.jsモデル、またはTensorFlowやTFLiteから変換されたモデルを使用し、モデルを再学習してウェブ上で実行することを可能にします。[47] [65]

    ライトRT

    LiteRT(旧称TensorFlow Lite)[66]には、モバイルアプリや組み込みデバイス向けのTensorFlowモデルを生成・展開するためのAPIがあります。[67]これらのモデルは、より効率的に動作し、小容量デバイスでも高いパフォーマンスを発揮できるように圧縮・最適化されています。[68]

    LiteRTは、ネットワークモデルのデータシリアル化形式としてFlatBuffersを使用し、標準のTensorFlowモデルで使用されるプロトコルバッファ形式を避けています。[68]

    TFX

    TensorFlow Extended(略称TFX)は、エンドツーエンドのプロダクションに必要なすべての操作を実行するための多数のコンポーネントを提供します。[69]コンポーネントには、データの読み込み、検証、変換、機械学習モデルのチューニング、トレーニング、評価、そしてモデル自体のプロダクションへのプッシュが含まれます。[47] [69]

    統合

    ナンピー

    Numpyは最も人気のあるPythonデータライブラリの一つであり、TensorFlowはそのデータ構造との統合と互換性を提供しています。[70]ライブラリのネイティブデータ型であるNumpy NDarrayは、TF演算においてTensorFlow Tensorに自動的に変換されます。逆も同様です。[70]これにより、ユーザーが明示的なデータ変換を記述することなく、2つのライブラリが連携して動作できるようになります。さらに、この統合はメモリ最適化にも拡張され、TF Tensorは可能な限りNumpy NDarrayのメモリ表現を共有します。[70]

    拡張機能

    TensorFlowは、使用されるモデルや手法を進化させ、拡張するための様々なライブラリ拡張機能も提供しています。 [71]例えば、TensorFlow RecommendersとTensorFlow Graphicsは、それぞれの機能のためのライブラリです。 [72]その他のアドオン、ライブラリフレームワークには、TensorFlow Model Optimization、TensorFlow Probability、TensorFlow Quantum、TensorFlow Decision Forestsなどがあります。[71] [72]

    Google Colab

    Googleはまた、セットアップ不要のTensorFlow Jupyterノートブック環境であるCollaboratoryもリリースした。 [73]これはGoogle Cloud上で実行され、ユーザーはGPUに無料でアクセスでき、 Google Driveにノートブックを保存して共有することができる[74]

    グーグルジャックス

    Google JAXは、数値関数を変換するための機械学習フレームワークです。 [75] [76] [77]これは、autograd(関数の微分による勾配関数の自動取得)の改良版とTensorFlowのXLA(Accelerated Linear Algebra)を組み合わせたものと説明されています。NumPyの構造とワークフローに可能な限り忠実に従うように設計されており、 TensorFlowだけでなく、 PyTorchなどの他のフレームワークでも動作します。JAXの主な機能は次のとおりです。[75]

    1. 大学院:自動微分
    2. jit: コンパイル
    3. vmap: 自動ベクトル化
    4. pmap: SPMDプログラミング

    アプリケーション

    医学

    GEヘルスケアはTensorFlowを使用して、 MRIによる特定の身体部位の識別速度と精度を向上させました。 [78] GoogleはTensorFlowを使用して、ユーザーが皮膚の写真を撮って潜在的な健康上の合併症を特定できる無料のモバイルアプリケーションDermAssistを開発しました。[79] Sinovation VenturesはTensorFlowを使用して、光干渉断層撮影(OCT)スキャンから眼疾患を特定および分類しました[79]

    ソーシャルメディア

    TwitterはTensorFlowを実装し、特定のユーザーにとっての重要度に基づいてツイートをランク付けし、そのランク順にツイートを表示するようにプラットフォームを変更しました。[80]以前は、ツイートは単に時系列の逆順で表示されていました。[80]写真共有アプリVSCOは、写真にカスタムフィルターを提案するためにTensorFlowを使用しました。[79]

    検索エンジン

    Googleは2015年10月26日にTensorFlowを活用したRankBrainを正式にリリースした。 [81]

    教育

    仮想学習プラットフォームであるInSpaceは、TensorFlowを使用して教室内の有害なチャットメッセージをフィルタリングしました。[82]オンライン英語学習プラットフォームであるLiulishuoは、TensorFlowを利用して各生徒に合わせた適応型カリキュラムを作成しました。[83] TensorFlowは、生徒の現在の能力を評価するために使用され、その能力に基づいてどのコンテンツを表示するかを決定するのにも役立ちました。[83]

    小売り

    電子商取引プラットフォームのCarousellは、顧客にパーソナライズされた推奨事項を提供するためにTensorFlowを使用しました。[79]化粧品会社ModiFaceは、顧客が顔にさまざまな色合いのメイクを試すことができる拡張現実体験を作成するためにTensorFlowを使用しました。[84]

    2016 年のオリジナルの写真(左)と TensorFlowニューラル スタイルを適用した写真(右)の比較

    研究

    TensorFlowは、自動画像キャプション作成ソフトウェアDeepDreamの基盤となっています[85]

    参照

    参考文献

    1. ^ ab "Credits". TensorFlow.org . 2015年11月17日時点のオリジナルよりアーカイブ2015年11月10日閲覧。
    2. ^ “TensorFlow.js”. 2018年5月6日時点のオリジナルよりアーカイブ2018年6月28日閲覧。
    3. ^ Abadi, Martín; Barham, Paul; Chen, Jianmin; Chen, Zhifeng; Davis, Andy; Dean, Jeffrey; Devin, Matthieu; Ghemawat, Sanjay; Irving, Geoffrey; Isard, Michael; Kudlur, Manjunath; Levenberg, Josh; Monga, Rajat; Moore, Sherry; Murray, Derek G.; Steiner, Benoit; Tucker, Paul; Vasudevan, Vijay; Warden, Pete; Wicke, Martin; Yu, Yuan; Zheng, Xiaoqiang (2016). TensorFlow: 大規模機械学習システム(PDF) . Proceedings of the 12th USENIX Symposium on Operating Systems Design and Implementation (OSDI '16). arXiv : 1605.08695 . 2020年12月12日時点のオリジナルよりアーカイブ(PDF) 。 2020年10月26日閲覧
    4. ^ TensorFlow: オープンソースの機械学習。Google。2015年。2021年11月11日時点のオリジナルよりアーカイブ。「これは、様々な知覚や言語理解のタスクに利用されている機械学習ソフトウェアです」 - ジェフリー・ディーン、YouTubeクリップの0:47 / 2:17
    5. ^ 「オープンソースプロジェクト トップ30」。CNCFによるオープンソースプロジェクト速度。2023年9月3日時点のオリジナルよりアーカイブ。 2023年10月12日閲覧
    6. ^ TensorFlow 2015 に関する Google のビデオクリップ(0:15/2:17 分)
    7. ^ TensorFlow 2015 に関する Google のビデオクリップ(0:26/2:17 分)
    8. ^ ディーン他 2015、2ページ
    9. ^ Metz, Cade (2015年11月9日). 「Google、人工知能エンジンTensorFlowをオープンソース化」. Wired . 2015年11月9日時点のオリジナルよりアーカイブ2015年11月10日閲覧。
    10. ^ ab TensorFlow (2019年9月30日). 「TensorFlow 2.0が利用可能になりました!」. Medium . 2019年10月7日時点のオリジナルよりアーカイブ2019年11月24日閲覧。
    11. ^ ab “APIドキュメント”. 2015年11月16日時点のオリジナルよりアーカイブ2018年6月27日閲覧。
    12. ^ Dean, Jeff ; Monga, Rajat ; et al. (2015年11月9日). 「TensorFlow: 異種システムにおける大規模機械学習」(PDF) . TensorFlow.org . Google Research. 2015年11月20日時点のオリジナルよりアーカイブ(PDF) . 2015年11月10日閲覧.
    13. ^ Perez, Sarah (2015年11月9日). 「Google、Googleフォト検索、スマートリプライなどを支える機械学習技術をオープンソース化」TechCrunch . 2015年11月9日時点のオリジナルよりアーカイブ。 2015年11月11日閲覧
    14. ^ Oremus, Will (2015年11月9日). 「TensorFlowとは何か、そしてなぜGoogleはTensorFlowにこれほど注目しているのか?」Slate . 2015年11月10日時点のオリジナルよりアーカイブ。 2015年11月11日閲覧
    15. ^ Ward-Bailey, Jeff (2015年11月25日). 「Google会長:人工知能において『真の進歩』を遂げている」. CSMonitor . 2015年9月16日時点のオリジナルよりアーカイブ。 2015年11月25日閲覧
    16. ^ TensorFlow Developers (2022). 「Tensorflow Release 1.0.0」. GitHub . doi :10.5281/zenodo.4724125. 2021年2月27日時点のオリジナルよりアーカイブ。 2017年7月24日閲覧
    17. ^ Metz, Cade (2015年11月10日). 「TensorFlow、GoogleのオープンソースAIは急速に変化するハードウェアの世界を示している」. Wired . 2015年11月11日時点のオリジナルよりアーカイブ。 2015年11月11日閲覧
    18. ^ Kudale, Aniket Eknath (2020年6月8日). 「TensorFlow.jsを使った表情認識アプリの構築」. Open Source For U. 2024年10月11日時点のオリジナルよりアーカイブ。 2025年4月19日閲覧
    19. ^ MSV, Janakiram (2021年2月24日). 「機械学習フレームワークの究極ガイド」. The New Stack . 2024年12月24日時点のオリジナルよりアーカイブ。 2025年4月19日閲覧
    20. ^ “テンソル入門”. tensorflow.org. 2024年5月26日時点のオリジナルよりアーカイブ。 2024年3月3日閲覧
    21. ^ 機械学習:Google I/O 2016 Minute 07:30/44:44 . 2016年12月21日アーカイブ、Wayback Machine . 2016年6月5日閲覧。
    22. ^ TensorFlow (2018年3月30日). 「TensorFlow.jsの紹介:JavaScriptでの機械学習」Medium . 2018年3月30日時点のオリジナルよりアーカイブ2019年5月24日閲覧。
    23. ^ TensorFlow (2019年1月14日). 「TensorFlow 2.0の新機能」Medium . 2019年1月14日時点のオリジナルよりアーカイブ。 2019年5月24日閲覧
    24. ^ TensorFlow (2019年5月9日). 「TensorFlow Graphicsの紹介:コンピュータグラフィックスとディープラーニングの融合」Medium . 2019年5月9日時点のオリジナルよりアーカイブ。 2019年5月24日閲覧
    25. ^ Jouppi, Norm . 「Google、TPUカスタムチップで機械学習タスクを強化」Google Cloud Platform ブログ. 2016年5月18日時点のオリジナルよりアーカイブ。 2016年5月19日閲覧
    26. ^ 「新しいGoogle Cloud TPUで機械学習モデルを構築・トレーニング」Google 2017年5月17日. オリジナルより2017年5月17日時点のアーカイブ。 2017年5月18日閲覧
    27. ^ “Cloud TPU”. Google Cloud . 2017年5月17日時点のオリジナルよりアーカイブ2019年5月24日閲覧。
    28. ^ 「Cloud TPU機械学習アクセラレータがベータ版で利用可能になりました」。Google Cloud Platformブログ。2018年2月12日時点のオリジナルよりアーカイブ。 2018年2月12日閲覧
    29. ^ Kundu, Kishalaya (2018年7月26日). 「Google、Cloud Next 2018でEdge TPUとCloud IoT Edgeを発表」. Beebom . 2024年5月26日時点のオリジナルよりアーカイブ。 2019年2月2日閲覧
    30. ^ Vincent, James (2017年5月17日). 「Googleの新しい機械学習フレームワークは、スマートフォンにさらに多くのAIを搭載することになる」The Verge . 2017年5月17日時点のオリジナルよりアーカイブ。 2017年5月19日閲覧
    31. ^ 「TensorFlow Lite の発表 - Google Developers Blog」。developers.googleblog.com。2017年11月14日。 2025年11月23日閲覧
    32. ^ TensorFlow (2019年1月16日). 「TensorFlow Lite、モバイルGPUでさらに高速化(開発者プレビュー)」. Medium . 2019年1月16日時点のオリジナルよりアーカイブ2019年5月24日閲覧。
    33. ^ “uTensor and Tensor Flow Announcement | Mbed”. os.mbed.com . 2019年5月9日時点のオリジナルよりアーカイブ2019年5月24日閲覧。
    34. ^ https://developers.googleblog.com/en/tensorflow-lite-is-now-litert/
    35. ^ ab He, Horace (2019年10月10日). 「2019年の機械学習フレームワークの現状」The Gradient. 2019年10月10日時点のオリジナルよりアーカイブ。 2020年5月22日閲覧
    36. ^ ab Ciaramella, Alberto ; Ciaramella, Marco (2024年7月). 『人工知能入門:データ分析から生成AIまで』 Intellisemantic Editions. ISBN 9788894787603
    37. ^ ab 「勾配と自動微分化入門」TensorFlow . 2021年10月28日時点のオリジナルよりアーカイブ2021年11月4日閲覧。
    38. ^ abc “Eager execution | TensorFlow Core”. TensorFlow . 2021年11月4日時点のオリジナルよりアーカイブ。 2021年11月4日閲覧
    39. ^ ab “Module: tf.distribute | TensorFlow Core v2.6.1”. TensorFlow . 2024年5月26日時点のオリジナルよりアーカイブ。 2021年11月4日閲覧
    40. ^ Sigeru, Omatu (2014).分散コンピューティングと人工知能、第11回国際会議. Springer International Publishing. ISBN 978-3-319-07593-8. OCLC  980886715.
    41. ^ ab “Module: tf.losses | TensorFlow Core v2.6.1”. TensorFlow . 2021年10月27日時点のオリジナルよりアーカイブ2021年11月4日閲覧。
    42. ^ “Module: tf.metrics | TensorFlow Core v2.6.1”. TensorFlow . 2021年11月4日時点のオリジナルよりアーカイブ。 2021年11月4日閲覧
    43. ^ ab “Module: tf.nn | TensorFlow Core v2.7.0”. TensorFlow . 2024年5月26日時点のオリジナルよりアーカイブ2021年11月6日閲覧。
    44. ^ “Module: tf.optimizers | TensorFlow Core v2.7.0”. TensorFlow . 2021年10月30日時点のオリジナルよりアーカイブ。 2021年11月6日閲覧
    45. ^ Dogo, EM; Afolabi, OJ; Nwulu, NI; Twala, B.; Aigbavboa, CO (2018年12月). 「畳み込みニューラルネットワークにおける勾配降下法に基づく最適化アルゴリズムの比較分析」. 2018 International Conference on Computational Techniques, Electronics and Mechanical Systems (CTEMS) . pp.  92– 99. doi :10.1109/CTEMS.2018.8769211. ISBN 978-1-5386-7709-4. S2CID  198931032。
    46. ^ “TensorFlow Core | 初心者とエキスパートのための機械学習”. TensorFlow . 2023年1月20日時点のオリジナルよりアーカイブ2021年11月4日閲覧。
    47. ^ abc 「 TensorFlow入門」。TensorFlow . 2023年1月20日時点のオリジナルよりアーカイブ。 2021年10月28日閲覧
    48. ^ “All symbol in TensorFlow 2 | TensorFlow Core v2.7.0”. TensorFlow . 2021年11月6日時点のオリジナルよりアーカイブ。 2021年11月6日閲覧
    49. ^ “TensorFlow.js”. js.tensorflow.org . 2024年5月26日時点のオリジナルよりアーカイブ2021年11月6日閲覧。
    50. ^ “TensorFlow C++ API リファレンス | TensorFlow Core v2.7.0”. TensorFlow . 2023年1月20日時点のオリジナルよりアーカイブ2021年11月6日閲覧。
    51. ^ “org.tensorflow | Java”. TensorFlow . 2021年11月6日時点のオリジナルよりアーカイブ。 2021年11月6日閲覧
    52. ^ Icaza, Miguel de (2018年2月17日). 「TensorFlowSharp: .NET言語向けTensorFlow API」. GitHub . 2017年7月24日時点のオリジナルよりアーカイブ2018年2月18日閲覧。
    53. ^ Chen, Haiping (2018年12月11日). 「TensorFlow.NET: TensorFlow の .NET Standard バインディング」. GitHub . 2019年7月12日時点のオリジナルよりアーカイブ。 2018年12月11日閲覧
    54. ^ "haskell: Haskell bindings for TensorFlow". tensorflow. 2018年2月17日. 2017年7月24日時点のオリジナルよりアーカイブ。 2018年2月18日閲覧
    55. ^ Malmaud, Jon (2019年8月12日). 「TensorFlow用のJuliaラッパー」. GitHub . 2017年7月24日時点のオリジナルからのアーカイブ。 2019年8月14日閲覧sin、*(行列乗算)、.*(要素ごとの乗算)などの演算が不要です。Pythonでは、tf.matmulのような特殊な名前空間関数を学習する必要があります。
    56. ^ “A MATLAB wrapper for TensorFlow Core”. GitHub . 2019年11月3日. 2020年9月14日時点のオリジナルよりアーカイブ2020年2月13日閲覧。
    57. ^ “Use TensorFlow from Pascal (FreePascal, Lazarus, etc.)”. GitHub . 2023年1月19日. 2023年1月20日時点のオリジナルよりアーカイブ。 2023年1月20日閲覧
    58. ^ "tensorflow: TensorFlow for R". RStudio. 2018年2月17日. 2017年1月4日時点のオリジナルよりアーカイブ。 2018年2月18日閲覧
    59. ^ Platanios, Anthony (2018年2月17日). 「tensorflow_scala: Scalaプログラミング言語用のTensorFlow API」. GitHub . 2019年2月18日時点のオリジナルよりアーカイブ。 2018年2月18日閲覧
    60. ^ “rust: TensorFlow 向け Rust 言語バインディング”. tensorflow. 2018年2月17日. 2017年7月24日時点のオリジナルよりアーカイブ2018年2月18日閲覧。
    61. ^ Mazare, Laurent (2018年2月16日). 「tensorflow-ocaml: OCaml bindings for TensorFlow」. GitHub . 2018年6月11日時点のオリジナルよりアーカイブ2018年2月18日閲覧。
    62. ^ "fazibear/tensorflow.cr". GitHub . 2018年6月27日時点のオリジナルよりアーカイブ2018年10月10日閲覧。
    63. ^ “tensorflow package - github.com/tensorflow/tensorflow/tensorflow/go - pkg.go.dev”. pkg.go.dev . 2021年11月6日時点のオリジナルよりアーカイブ。 2021年11月6日閲覧
    64. ^ “Swift for TensorFlow (アーカイブモード)”. TensorFlow . 2021年11月6日時点のオリジナルよりアーカイブ2021年11月6日閲覧。
    65. ^ “TensorFlow.js | JavaScript開発者のための機械学習”. TensorFlow . 2021年11月4日時点のオリジナルよりアーカイブ。 2021年10月28日閲覧
    66. ^ 「LiteRTの概要 | Google AI Edge」。Google AI for Developers . 2025年5月7日閲覧
    67. ^ “TensorFlow Lite | モバイルおよびエッジデバイス向けML”. TensorFlow . 2021年11月4日時点のオリジナルよりアーカイブ。 2021年11月1日閲覧
    68. ^ ab “TensorFlow Lite”. TensorFlow . 2021年11月2日時点のオリジナルよりアーカイブ2021年11月1日閲覧。
    69. ^ ab “TensorFlow Extended (TFX) | ML Production Pipelines”. TensorFlow . 2021年11月4日時点のオリジナルよりアーカイブ2021年11月2日閲覧。
    70. ^ abc 「カスタマイズの基本:テンソルと演算 | TensorFlow Core」。TensorFlow . 2021年11月6日時点のオリジナルよりアーカイブ2021年11月6日閲覧
    71. ^ ab “Guide | TensorFlow Core”. TensorFlow . 2019年7月17日時点のオリジナルよりアーカイブ。 2021年11月4日閲覧
    72. ^ ab “ライブラリと拡張機能”. TensorFlow . 2021年11月4日時点のオリジナルよりアーカイブ2021年11月4日閲覧。
    73. ^ “Colaboratory – Google”. research.google.com . 2017年10月24日時点のオリジナルよりアーカイブ2018年11月10日閲覧。
    74. ^ “Google Colaboratory”. colab.research.google.com . 2021年2月3日時点のオリジナルよりアーカイブ2021年11月6日閲覧。
    75. ^ ab Bradbury, James; Frostig, Roy; Hawkins, Peter; Johnson, Matthew James; Leary, Chris; MacLaurin, Dougal; Necula, George; Paszke, Adam; Vanderplas, Jake; Wanderman-Milne, Skye; Zhang, Qiao (2022年6月18日)、「JAX: Autograd and XLA」、Astrophysics Source Code Library、Google、Bibcode :2021ascl.soft11002B、2022年6月18日時点のオリジナルよりアーカイブ。2022年6月18日閲覧。
    76. ^ 「JAXを使用して研究を加速する」www.deepmind.com . 2020年12月4日. 2022年6月18日時点のオリジナルよりアーカイブ。 2022年6月18日閲覧
    77. ^ “なぜGoogleのJAXはこんなに人気があるのか​​?” Analytics India Magazine . 2022年4月25日. 2022年6月18日時点のオリジナルよりアーカイブ2022年6月18日閲覧。
    78. ^ “Intelligent Scanning Using Deep Learning for MRI”. 2021年11月4日時点のオリジナルよりアーカイブ2021年11月4日閲覧。
    79. ^ abcd 「ケーススタディと言及」TensorFlow . 2021年10月26日時点のオリジナルよりアーカイブ。 2021年11月4日閲覧
    80. ^ ab “Ranking Tweets with TensorFlow”. 2021年11月4日時点のオリジナルよりアーカイブ2021年11月4日閲覧。
    81. ^ Davies, Dave (2020年9月2日). 「Google RankBrainアルゴリズム完全ガイド」. Search Engine Journal . 2021年11月6日時点のオリジナルよりアーカイブ2024年10月15日閲覧。
    82. ^ 「InSpace:チャットの毒性フィルターにTensorFlow.jsを使用する新しいビデオ会議プラットフォーム」。2021年11月4日時点のオリジナルよりアーカイブ。 2021年11月4日閲覧
    83. ^ ab シューリン。 「TensorFlow に基づく流利说の自己应系实実践」。Weixin公式アカウントプラットフォーム。 2021年11月6日のオリジナルからアーカイブ2021 年11 月 4 日に取得
    84. ^ 「ModifaceがTensorFlow.jsを活用したブラウザでのARメイクアップ試着の制作方法」。2021年11月4日時点のオリジナルよりアーカイブ2021年11月4日閲覧。
    85. ^ Byrne, Michael (2015年11月11日). 「Google、機械学習ライブラリ全体をオープンソースソフトウェアとして提供」. Vice . 2021年1月25日時点のオリジナルよりアーカイブ2015年11月11日閲覧。

    さらに読む

    • モロニー、ローレンス(2020年10月1日)『AIと機械学習:コーダーのための入門』(第1版)O'Reilly Media 365ページISBN 9781492078197. 2021年6月7日時点のオリジナルよりアーカイブ2020年12月21日閲覧。
    • ジェロン、オーレリアン(2019年10月15日)『Scikit-Learn、Keras、TensorFlowによる実践機械学習(第2版)』O'Reilly Media、p.856、ISBN 9781492032632. 2021年5月1日時点のオリジナルよりアーカイブ2019年11月25日閲覧。
    • Ramsundar, Bharath; Zadeh, Reza Bosagh (2018年3月23日). TensorFlow for Deep Learning (第1版). O'Reilly Media . p. 256. ISBN 9781491980446. 2021年6月7日時点のオリジナルよりアーカイブ2019年11月25日閲覧。
    • Hope, Tom; Resheff, Yehezkel S.; Lieder, Itay (2017年8月27日). 『TensorFlowを学ぶ:ディープラーニングシステム構築ガイド』(第1版). O'Reilly Media . 242ページ. ISBN 9781491978504. 2021年3月8日時点のオリジナルよりアーカイブ2019年11月25日閲覧。
    • シュクラ、ニシャント(2018年2月12日)『TensorFlowによる機械学習(第1版)』Manning Publications、272ページ。ISBN 9781617293870
    • 公式サイト
    • TensorFlow.js を学ぶための本(英語)
    Retrieved from "https://en.wikipedia.org/w/index.php?title=TensorFlow&oldid=1327628828#DistBelief"
    Original text
    Rate this translation
    Your feedback will be used to help improve Google Translate