機械学習用語集: TensorFlow

このページには、TensorFlow の用語集の用語が記載されています。用語集のすべての用語については、こちらをクリックしてください。

C

Cloud TPU

#TensorFlow
#GoogleCloud

Google Cloud での ML ワークロードの高速化を目的として設計された特殊なハードウェア アクセラレータ。

D

Dataset API(tf.data)

#TensorFlow

データを読み取り、機械学習アルゴリズムが必要とする形式に変換するための高レベルの TensorFlow API。tf.data.Dataset オブジェクトは、要素のシーケンスを表します。各要素には 1 つ以上の Tensor が含まれています。tf.data.Iterator オブジェクトは、Dataset の要素へのアクセスを提供します。

デバイス

#TensorFlow
#GoogleCloud

次の 2 つの定義が考えられるオーバーロードされた用語。

  1. CPU、GPU、TPU など、TensorFlow セッションを実行できるハードウェアのカテゴリ。
  2. アクセラレータ チップ(GPU または TPU)で ML モデルをトレーニングする場合、テンソルエンベディングを実際に操作するシステムの部分。デバイスはアクセラレータ チップで動作します。一方、ホストは通常 CPU で実行されます。

E

Eager Execution

#TensorFlow

オペレーションがすぐに実行される TensorFlow プログラミング環境。一方、グラフ実行で呼び出されたオペレーションは、明示的に評価されるまで実行されません。Eager 実行は、ほとんどのプログラミング言語のコードと同様に、命令型インターフェースです。一般に、積極的実行プログラムはグラフ実行プログラムよりもデバッグがはるかに簡単です。

Estimator

#TensorFlow

非推奨の TensorFlow API。Estimator ではなく tf.keras を使用します。

F

2つのステップが含まれます

#fundamentals
#TensorFlow

次の手順を含むプロセス。

  1. モデルのトレーニングに役立つ可能性のある特徴を特定する。
  2. データセットの元データを、それらの特徴の効率的なバージョンに変換します。

たとえば、temperature が便利な機能であると判断できます。次に、バケット化を試して、モデルがさまざまな temperature 範囲から学習できる内容を最適化します。

特徴量エンジニアリングは、特徴量抽出または特徴量化と呼ばれることもあります。

詳細については、ML 集中講座の数値データ: モデルが特徴ベクトルを使用してデータを読み込む方法をご覧ください。

機能仕様

#TensorFlow

tf.Example プロトコル バッファから特徴データを抽出するために必要な情報について説明します。tf.Example プロトコル バッファはデータのコンテナにすぎないため、次の指定が必要です。

  • 抽出するデータ(つまり、特徴のキー)
  • データ型(float や int など)
  • 長さ(固定または可変)

G

グラフ

#TensorFlow

TensorFlow の計算仕様。グラフ内のノードはオペレーションを表します。エッジは有向であり、オペレーションの結果(Tensor)を別のオペレーションのオペランドとして渡すことを表します。TensorBoard を使用してグラフを可視化します。

グラフ実行

#TensorFlow

プログラムが最初にグラフを構築し、そのグラフの全部または一部を実行する TensorFlow プログラミング環境。グラフ実行は、TensorFlow 1.x のデフォルトの実行モードです。

eager 実行と比較してください。

H

ホスト

#TensorFlow
#GoogleCloud

アクセラレータ チップ(GPU または TPU)で ML モデルをトレーニングする場合、次の両方を制御するシステムの一部:

  • コードの全体的なフロー。
  • 入力パイプラインの抽出と変換。

ホストは通常、アクセラレータ チップではなく CPU で実行されます。デバイスは、アクセラレータ チップ上のテンソルを操作します。

L

Layers API(tf.layers)

#TensorFlow

レイヤの構成としてディープ ニューラル ネットワークを構築するための TensorFlow API。Layers API を使用すると、次のようなさまざまなタイプのレイヤを構築できます。

Layers API は、Keras レイヤ API の規則に準拠しています。つまり、接頭辞が異なることを除き、Layers API のすべての関数は、Keras レイヤ API の対応する関数と同じ名前とシグネチャを持ちます。

M

メッシュ

#TensorFlow
#GoogleCloud

ML 並列プログラミングで、データとモデルを TPU チップに割り当て、これらの値のシャーディングまたは複製方法を定義することに関連する用語。

メッシュは、次のいずれかを意味するオーバーロードされた用語です。

  • TPU チップの物理レイアウト。
  • データとモデルを TPU チップにマッピングするための抽象的な論理構造。

どちらの場合も、メッシュはシェイプとして指定されます。

指標

#TensorFlow
#Metric

重視すべき統計情報。

目標は、ML システムが最適化しようとする指標です。

N

ノード(TensorFlow グラフ)

#TensorFlow

TensorFlow グラフ内のオペレーション。

O

オペレーション(op)

#TensorFlow

TensorFlow で、Tensor を作成、操作、破棄するプロシージャ。たとえば、行列乗算は 2 つの Tensor を入力として受け取り、1 つの Tensor を出力として生成するオペレーションです。

P

パラメータ サーバー(PS)

#TensorFlow

分散設定でモデルのパラメータを追跡するジョブ。

Q

キュー

#TensorFlow

キュー データ構造を実装する TensorFlow オペレーション。通常は I/O で使用されます。

R

rank(Tensor)

#TensorFlow

Tensor のディメンションの数。たとえば、スカラーのランクは 0、ベクトルのランクは 1、行列のランクは 2 です。

ランク(順序)と混同しないでください。

ルート ディレクトリ

#TensorFlow

複数のモデルの TensorFlow チェックポイントとイベント ファイルのサブディレクトリをホストするために指定するディレクトリ。

S

SavedModel

#TensorFlow

TensorFlow モデルの保存と復元に推奨される形式。SavedModel は言語に依存しない復元可能なシリアル化形式です。これにより、高水準のシステムとツールで TensorFlow モデルを生成、使用、変換できます。

詳細については、TensorFlow プログラマー ガイドの保存と復元のセクションをご覧ください。

割安便

#TensorFlow

モデルのチェックポイントの保存を担当する TensorFlow オブジェクト

シャード

#TensorFlow
#GoogleCloud

トレーニング セットまたはモデルの論理分割。通常、何らかのプロセスによって、またはパラメータを(通常は)同じサイズのチャンクに分割してシャードが作成されます。各シャードは異なるマシンに割り当てられます。

モデルのシャーディングはモデル並列処理と呼ばれ、データのシャーディングはデータ並列処理と呼ばれます。

概要

#TensorFlow

TensorFlow では、特定のステップで計算された値または値のセット。通常は、トレーニング中にモデル指標を追跡するために使用されます。

T

Tensor

#TensorFlow

TensorFlow プログラムの主要なデータ構造。テンソルは N 次元(N は非常に大きくなる可能性があります)のデータ構造で、通常はスカラー、ベクトル、行列です。Tensor の要素には、整数値、浮動小数点値、文字列値を保持できます。

TensorBoard

#TensorFlow

1 つ以上の TensorFlow プログラムの実行中に保存された概要を表示するダッシュボード。

TensorFlow

#TensorFlow

大規模な分散型機械学習プラットフォーム。この用語は、TensorFlow スタックのベース API レイヤも指します。このレイヤは、データフロー グラフでの一般的な計算をサポートします。

TensorFlow は主に ML に使用されますが、データフロー グラフを使用した数値計算を必要とする ML 以外のタスクにも使用できます。

TensorFlow Playground

#TensorFlow

さまざまなハイパーパラメータがモデル(主にニューラル ネットワーク)のトレーニングにどのように影響するかを可視化するプログラム。 http://playground.tensorflow.org にアクセスして、TensorFlow Playground を試してみましょう。

TensorFlow Serving

#TensorFlow

トレーニング済みモデルを本番環境にデプロイするためのプラットフォーム。

TPU(Tensor Processing Unit)

#TensorFlow
#GoogleCloud

ML ワークロードのパフォーマンスを最適化する特定用途向け集積回路(ASIC)。これらの ASIC は、TPU デバイス上の複数の TPU チップとしてデプロイされます。

テンソルのランク

#TensorFlow

ランク(テンソル)をご覧ください。

テンソルの形状

#TensorFlow

Tensor に含まれる要素の数(さまざまなディメンション)。たとえば、[5, 10] テンソルは、1 つの次元で 5、別の次元で 10 の形状になります。

テンソルのサイズ

#TensorFlow

Tensor に含まれるスカラーの合計数。たとえば、[5, 10] テンソルのサイズは 50 です。

tf.Example

#TensorFlow

ML モデルのトレーニングまたは推論用の入力データを記述するための標準の プロトコル バッファ

tf.keras

#TensorFlow

TensorFlow に統合された Keras の実装。

TPU

#TensorFlow
#GoogleCloud

Tensor Processing Unit の略語。

TPU チップ

#TensorFlow
#GoogleCloud

ML ワークロード用に最適化されたオンチップ高帯域幅メモリを備えたプログラマブル線形代数アクセラレータ。複数の TPU チップが TPU デバイスにデプロイされます。

TPU デバイス

#TensorFlow
#GoogleCloud

複数の TPU チップ、高帯域幅ネットワーク インターフェース、システム冷却ハードウェアを備えたプリント基板(PCB)。

TPU ノード

#TensorFlow
#GoogleCloud

特定の TPU タイプの Google Cloud 上の TPU リソース。TPU ノードは、ピア VPC ネットワークから VPC ネットワークに接続します。TPU ノードは、Cloud TPU API で定義されたリソースです。

TPU Pod

#TensorFlow
#GoogleCloud

Google データセンター内の TPU デバイスの特定の構成。TPU Pod 内のすべてのデバイスは、専用の高速ネットワークで相互に接続されています。TPU Pod は、特定の TPU バージョンで使用可能な TPU デバイスの最大構成です。

TPU リソース

#TensorFlow
#GoogleCloud

作成、管理、使用する Google Cloud 上の TPU エンティティ。たとえば、TPU ノードTPU タイプは TPU リソースです。

TPU スライス

#TensorFlow
#GoogleCloud

TPU スライスは、TPU Pod 内の TPU デバイスの断片的な部分です。TPU スライス内のすべてのデバイスは、専用の高速ネットワークで相互に接続されています。

TPU タイプ

#TensorFlow
#GoogleCloud

特定の TPU ハードウェア バージョンの 1 つ以上の TPU デバイスの構成。TPU タイプは、Google Cloud で TPU ノードを作成するときに選択します。たとえば、v2-8 TPU タイプは 8 個のコアを持つ単一の TPU v2 デバイスです。v3-2048 TPU タイプには、256 個のネットワーク接続された TPU v3 デバイスと合計 2,048 個のコアがあります。TPU タイプは、Cloud TPU API で定義されたリソースです。

TPU ワーカー

#TensorFlow
#GoogleCloud

ホストマシンで実行され、TPU デバイスで機械学習プログラムを実行するプロセス。