テンソルとは?
テンソル(Tensor) とは、多次元配列(multi-dimensional array) のことです。数学的には「ベクトルや行列をさらに拡張したもの」と考えるとわかりやすいです。
次元ごとのイメージ
- スカラー(0次元)
単一の数値
例:3.14 -
ベクトル(1次元テンソル)
数値の並び(1列)
例:[1, 2, 3] -
行列(2次元テンソル)
2次元の表形式データ
例:[[1, 2, 3], [4, 5, 6]] - 3次元テンソル
行列を何枚も重ねたもの(画像のRGBチャンネルなど)
例:[[[1,2,3], [4,5,6]], [[7,8,9], [10,11,12]]] - n次元テンソル
ディープラーニングでは4次元(バッチ × チャンネル × 高さ × 幅)や5次元などもしばしば登場します。
PyTorchでのテンソル例
import torch
# スカラー(0次元)
a = torch.tensor(5)
# ベクトル(1次元)
b = torch.tensor([1, 2, 3])
# 行列(2次元)
c = torch.tensor([[1, 2, 3], [4, 5, 6]])
# 3次元テンソル(例:画像データ)
d = torch.rand(3, 64, 64) # チャンネル3, 高さ64, 幅64
ディープラーニングとテンソル
ディープラーニングでは、入力データやモデルの重み、計算結果などすべてをテンソルで扱います。
例えば、画像は [バッチサイズ, チャンネル, 高さ, 幅] という 4次元テンソル で表されます。
まとめ
- テンソルは 多次元配列 のこと
- ベクトルや行列の概念を一般化したもの
- PyTorchではテンソルを中心にデータを扱う