【てんそる】
テンソル とは?
💡 ディープラーニングの「データの入れ物」となる多次元配列
📌 このページのポイント
テンソルって行列とどう違うの?
行列は縦×横の2次元の表だよね。テンソルはそれを任意の次元に拡張したものなんだ。スカラー(ただの数)は0次元テンソル、ベクトルは1次元テンソル、行列は2次元テンソル、それ以上の次元があるものが「テンソル」と呼ばれることが多いよ。
画像はどんなテンソルになるの?
TensorFlowっていう名前はテンソルから来てるの?
そうだよ!「テンソルが流れる(flow)」という意味なんだ。ニューラルネットワークの計算はテンソルが層から層へと流れていくイメージで、それがそのまま名前になったんだよ。PyTorchも内部ではテンソル演算を使っているよ。
テンソルの計算って、なんでGPUが得意なの?
GPUは何千もの小さな計算コアを持っていて、同じ演算を大量のデータに対して同時に実行するのが得意なんだ。テンソルの演算(行列の掛け算など)はまさに「同じ計算を大量の要素に一斉に適用する」パターンだから相性がいい。ただこれは「データ並列性」があるケースに限った話で、計算が前の結果に依存するような「逐次的な処理」はGPUが苦手なんだ。ニューラルネットワークの設計がGPUに合った形に進化してきたとも言えるよ。
📖 おまけ:英語の意味
「tensor」 = 張力・引き伸ばすもの
💬 ラテン語の「tendere(引き伸ばす)」から来ている。もともとは物理学の応力テンソルから始まった概念で、Googleの「TensorFlow」の名前もここから来ているよ