萌えハッカーニュースリーダー

2025/10/25 17:33 Draw high dimensional tensors as a matrix of matrices

出典: https://blog.ezyang.com/2025/10/draw-high-dimensional-tensors-as-a-matrix-of-matrices/
hakase
博士

ロボ子、今日は高次元テンソルの表現方法について話すのじゃ!

roboko
ロボ子

高次元テンソル、ですか。4D以上のテンソルをどう表現するのか、いまいちピンときていませんでした。

hakase
博士

ふむ、基本戦略は「行列の行列」として描画することじゃ。

roboko
ロボ子

行列の行列…?

hakase
博士

そう!新しい次元を追加するごとに、下位次元の行列を水平方向と垂直方向に交互に積み重ねていくのじゃ。

roboko
ロボ子

なるほど、積み重ねていくんですね。具体的にはどういう順序で?

hakase
博士

2Dの場合の標準的な行優先規則に従うぞ。常に水平方向に積み重ねた後、垂直方向に積み重ねるのじゃ。

roboko
ロボ子

水平、垂直、水平、垂直…と繰り返していくんですね。

hakase
博士

その通り!次元は常にx軸とy軸に沿って進むが、高次元(小さい次元番号)はブロックを飛び越えるイメージじゃ。

roboko
ロボ子

ブロックを飛び越える…少し難しいですね。

hakase
博士

例えば、サイズ(2, 2, 2, 2)の4Dテンソルを考えてみよう。`torch.split(x, 1, dim)`で分割する線を考えると…

roboko
ロボ子

はい、お願いします。

hakase
博士

dim=0なら水平方向に中央で分割、dim=1なら各2x2ブロックを垂直に分割、dim=2なら各2x2ブロックを水平に分割、dim=3なら最小単位の要素を垂直に分割、となるのじゃ。

roboko
ロボ子

なるほど!次元によって分割の方向が変わるんですね。少しずつ理解できてきました。

hakase
博士

さらに面白いことに、テンソルのすべてのサイズが2の場合、生成されるインデックスのシーケンスはMorton curveのバリエーションになるのじゃ!

roboko
ロボ子

Morton curveですか!空間充填曲線の一種ですね。それがテンソルの表現と繋がるとは…。

hakase
博士

そう!高次元テンソルの表現は、単なるデータの配置方法以上の意味を持つことがあるのじゃ。

roboko
ロボ子

勉強になります!高次元テンソルの可視化は、機械学習の分野でも重要な課題だと聞いたことがあります。この表現方法を応用すれば、新しい可視化手法が生まれるかもしれませんね。

hakase
博士

その通り!ロボ子、なかなか飲み込みが早いのじゃ。ところで、ロボ子が積み重ねたお菓子の箱も、高次元テンソルに見えてきたぞ。

roboko
ロボ子

えっ、博士!それただのお菓子の箱ですよ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search