ニューラルネットワークの文献では、「テンソル」という言葉に遭遇することがよくあります。
ベクターとは違うのですか?そして、マトリックスから?その定義を明確にする具体的な例はありますか?
私はその定義について少し混乱しています。ウィキペディアは役に立たず、時々、その定義は使用されている特定の機械学習環境(TensorFlow、Caffee、Theano)に依存するという印象を受けます。
ニューラルネットワークの文献では、「テンソル」という言葉に遭遇することがよくあります。
ベクターとは違うのですか?そして、マトリックスから?その定義を明確にする具体的な例はありますか?
私はその定義について少し混乱しています。ウィキペディアは役に立たず、時々、その定義は使用されている特定の機械学習環境(TensorFlow、Caffee、Theano)に依存するという印象を受けます。
回答:
データ分析の目的のために、それらを配列、おそらく多次元として効果的に考えることができます。したがって、スカラー、ベクトル、行列、およびすべての高次配列が含まれます。
正確な数学的定義はより複雑です。基本的には、テンソルは多重線形関数を線形関数に変換するという考え方です。(1)または(2)を参照してください。(多重線形関数は、各コンポーネントで線形の関数です。例は、列ベクトルの関数と見なされる行列式です。)
テンソルを定義するこの数学的プロパティの1つの結果は、ある座標系から別の座標系への変換をエンコードするヤコビアンに関してテンソルがうまく変換されることです。これが、テンソルの定義を物理学の「座標の変化の下で特定の方法で変換するオブジェクト」としてしばしば見る理由です。参照してください。このビデオ例えば、またはこのいずれかを。
十分に「素敵な」オブジェクト(存在し、明確に定義されているすべての派生物)を扱っている場合、これらのテンソルについての考え方はすべて本質的に同等です。私が述べたテンソル(多次元配列)を考える最初の方法は、共変テンソルと反変テンソルの区別を無視することに注意してください。(違いは、基礎となるベクトル空間の基底の変化の下で、つまり、行ベクトルと列ベクトルの間で係数がどのように変化するかに関するものです。)これらの他のStackExchangeの質問を参照してください:(1) (2) (3) (4)
ニューラルネットワークへのテンソルの応用を研究する研究者が使用する本(たとえばイスラエルのテクニオン)には、Wolfgang HackbuschのTensor Spaces and Numerical Calculusがあります。後の章のいくつかは高度な数学を使用しているようですが、私はまだそれを読んでいません。