機械学習用語集: TensorFlow

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

B

バッチ推論

#TensorFlow
#GoogleCloud

複数のラベルの付いていないサンプルを予測した、より小さなサブセット(「バッチ」)に分割されたプロセス。

バッチ推論では、アクセラレータ チップの並列化機能を利用できます。つまり、複数のアクセラレータが、ラベルの付いていないサンプルの異なるバッチの予測を同時に推測できる場合、1 秒あたりの推論数が劇的に増加します。

C

Cloud TPU

#TensorFlow
#GoogleCloud

Google Cloud Platform で機械学習ワークロードを高速化するために設計された専用のハードウェア アクセラレータ。

D.

Dataset API(tf.data)

#TensorFlow

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

Dataset API の詳細については、TensorFlow プログラマー ガイドtf.data: Build TensorFlow input pipeline をご覧ください。

device

#TensorFlow
#GoogleCloud

次の 2 つの定義で定義される過負荷の用語。

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

E

積極的実行

#TensorFlow

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

Estimator

#TensorFlow

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

F

特徴エンジニアリング

#fundamentals
#TensorFlow

次のステップを含むプロセス

  1. モデルのトレーニングでどの特徴が有用かを判断する。
  2. データセットの元データを特徴の効率的なバージョンに変換する。

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

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

機能仕様

#TensorFlow

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

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

G

グラフ

#TensorFlow

TensorFlow の演算仕様。グラフ内のノードはオペレーションを表します。エッジは方向を持ち、別のオペレーションへのオペランドとしてオペレーション(テンソル)の結果を渡すことを表します。TensorBoard を使用してグラフを可視化します。

グラフの実行

#TensorFlow

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

積極的実行とは対照的です。

H

ホスト

#TensorFlow
#GoogleCloud

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

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

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

L

Layers API(tf.layers)

#TensorFlow

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

Layers API は、Keras レイヤの API 規則に従います。つまり、接頭辞が異なるほか、Layers API のすべての関数には、Keras Layers API の関数の名前と同じ名前と署名が存在します。

M

メッシュ

#TensorFlow
#GoogleCloud

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

メッシュは過負荷の用語で、次のいずれかを意味する可能性があります。

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

いずれの場合も、シェイプとしてメッシュを指定します。

指標

#TensorFlow

関心のある統計。

目標は、機械学習システムが最適化を試みる指標です。

N

ノード(TensorFlow グラフ)

#TensorFlow

TensorFlow のグラフの演算。

O

オペレーション(op)

#TensorFlow

TensorFlow では、Tensor の作成、操作、破棄を行うプロシージャがあります。たとえば、行列乗算は 2 つのテンソルを入力として受け取り、1 つのテンソルを出力として生成する演算です。

P

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

#TensorFlow

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

Q

キュー

#TensorFlow

キューのデータ構造を実装する TensorFlow Operation。通常、I/O で使用されます。

(右)

ランク(テンソル)

#TensorFlow

Tensor 内の次元数。たとえば、スカラーのランクは 0、ベクトルのランクは 1、行列のランクは 2 です。

ランク(順位)と混同しないようにしてください。

ルート ディレクトリ

#TensorFlow

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

S

SavedModel

#TensorFlow

TensorFlow モデルの保存と復元に推奨される形式。SavedModel は、言語に依存せず、復元可能なシリアル化形式であり、高レベルのシステムやツールで TensorFlow モデルを生成、消費、変換できます。

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

割安便

#TensorFlow

モデル チェックポイントの保存を行う TensorFlow オブジェクト

シャード

#TensorFlow
#GoogleCloud

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

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

概要

#TensorFlow

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

Tensor

#TensorFlow

TensorFlow プログラムの主なデータ構造。テンソルは N 次元のデータ構造(N はきわめて大きい)であり、最も一般的なスカラー、ベクトル、行列などです。テンソル要素の要素は、整数値、浮動小数点値、または文字列値を保持できます。

TensorBoard

#TensorFlow

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

TensorFlow

#TensorFlow

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

TensorFlow は主に機械学習に使用されますが、Dataflow グラフを使用して数値計算を必要とする ML 以外のタスクにも TensorFlow を使用できます。

TensorFlow Playground

#TensorFlow

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

TensorFlow Serving

#TensorFlow

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

TPU(Tensor Processing Unit)

#TensorFlow
#GoogleCloud

機械学習ワークロードのパフォーマンスを最適化するアプリケーション固有の集積回路(ASIC)。これらの ASIC は、複数の TPU チップとして TPU デバイスにデプロイされています。

テンソル ランク

#TensorFlow

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

テンソルの形状

#TensorFlow

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

テンソルのサイズ

#TensorFlow

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

tf.Example

#TensorFlow

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

tf.keras

#TensorFlow

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

TPU

#TensorFlow
#GoogleCloud

Tensor Processing Unit の略。

TPU チップ

#TensorFlow
#GoogleCloud

機械学習ワークロード用に最適化されたプログラム可能な線形代数アクセラレータ。オンチップの高帯域幅メモリを備えています。複数の TPU チップが TPU デバイスにデプロイされています。

TPU デバイス

#TensorFlow
#GoogleCloud

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

TPU マスター

#TensorFlow
#GoogleCloud

TPU ワーカーに対してデータ、結果、プログラム、パフォーマンス、システムのヘルス情報を送受信するホストマシンで実行される中央調整プロセス。TPU マスターは、TPU デバイスのセットアップとシャットダウンも管理します。

TPU ノード

#TensorFlow
#GoogleCloud

特定の TPU タイプの Google Cloud Platform の 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 Platform 上の TPU エンティティ。たとえば、TPU ノードTPU タイプは TPU リソースです。

TPU スライス

#TensorFlow
#GoogleCloud

TPU スライスは、TPU PodTPU デバイスの一部の一部です。TPU スライス内のすべてのデバイスは、専用の高速ネットワークを介して相互に接続されています。

TPU タイプ

#TensorFlow
#GoogleCloud

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

TPU ワーカー

#TensorFlow
#GoogleCloud

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