なぜテンソルに突然魅了されるのですか?


171

最近、多くの人々が多くの方法(テンソル因数分解、テンソルカーネル、トピックモデリングのテンソルなど)のテンソル等価物を開発していることに気付きました。なぜ世界は突然テンソルに魅了されるのでしょうか。これをもたらした特に驚くべき最近の論文/標準結果はありますか?以前に疑われていたよりも計算上はるかに安価ですか?

私はglibではありません、私は心から興味があり、これに関する論文へのポインタがあれば、私はそれらを読みたいです。


25
「ビッグデータテンソル」が通常の数学的定義と共有する唯一の保持機能は、それらが多次元配列であることのようです。機械学習の人々は、数学と物理学の通常のテンソル、特にその有用性が享受する対称性または変換の法則のいずれかを気にするのではないかと思うので、ビッグデータテンソルは「多次元配列」と言う市場性のある方法だと思います。座標自由方程式の作成。
アレックスR.

2
@AlexR。変換に不変がない場合、テンソルはありません
-Aksakal

2
@Aksakal私は確かに物理学におけるテンソルの使用にある程度精通しています。私のポイントは、物理テンソルの対称性は物理の対称性に由来し、テンソルの定義に不可欠なものではないということです。
aginensky

3
@aginenskyテンソルが多次元配列に過ぎない場合、数学の教科書で見られるテンソルの定義がなぜそれほど複雑に聞こえるのでしょうか?ウィキペディアから:「多次元配列の数値は、テンソルのスカラー成分として知られています。ベクトル空間の基底を変更するとベクトルの成分が変化するのと同様に、テンソルの成分もそのような条件下で変化します。変換。各テンソルには、テンソルのコンポーネントが基底の変化にどのように応答するかを詳述する変換則が備わっています。」数学では、テンソルは単なる配列ではありません。
littleO

4
この議論に関するいくつかの一般的な考え:ベクトルや行列の場合と同様に、実際のアプリケーションは、はるかに単純化された、より豊富な理論の具体化になることが多いと思います。私はこの論文をより深く読んでいます:epubs.siam.org/doi/abs/10.1137/07070111X?journalCode=sireadそして本当に印象に残っていることの1つは、マトリックスの「表現」ツール(固有値および特異値分解)です高次で興味深い一般化があります。さらに多くのインデックス用の素敵なコンテナを超えて、さらに多くの美しいプロパティがあると確信しています。:)
YS

回答:


89

テンソルは多くの場合、データのより自然な表現を提供します。たとえば、時間の経過とともに明らかに相関する画像で構成されるビデオを検討します。これをマトリックスに変えることはできます、それは自然なものでも直観的なものでもありません(ビデオのマトリックス表現の因数分解とはどういう意味ですか?)。

テンソルはいくつかの理由でトレンドになっています:

  • 多重線形代数の理解は、特にさまざまなタイプの因数分解で急速に改善されており、新しい潜在的なアプリケーションを特定するのに役立ちます(たとえば、多元成分分析
  • ソフトウェアツールが登場し(例:Tensorlab)、歓迎されています
  • ビッグデータアプリケーションは、推奨システムなどのテンソルを使用して解決できることが多く、ビッグデータ自体はホットです
  • いくつかのテンソル操作が重くなる可能性があるため、計算能力が向上します(これは、ディープラーニングが今とても人気がある主な理由の1つでもあります)

9
計算能力に関して:最も重要なことは、線形代数がGPU上で非常に高速になり、最近では大きくて高速なメモリが得られることです。これが大きなデータを処理する際の最大の制限です。
-Davidmh

6
Marc Claesenの答えは良いものです。デュークの統計学の名誉教授であるデイビッド・ダンソンは、このプレゼンテーションのベイジアンテンソル回帰のように、モデリングに対するテンソルベースのアプローチの重要な指数の1つです。 icerm.brown.edu/materials/Slides/sp-f12-w1/...
マイク・ハンター

Davidが述べたように、Tensorアルゴリズムは並列処理に適していることが多く、どのハードウェア(GPUアクセラレータなど)がますます良くなっています。
トーマスラッセル

1
優れたメモリ/ CPU機能が役割を果たしていると思いましたが、ごく最近の注目の爆発は興味深いものでした。これは、レコメンダーシステム、およびおそらくSVMのカーネルなどでの最近の多くの驚くべき成功によるものだと思います。リンクをお寄せいただきありがとうございます。このことについて学び始めるのに最適な場所
YS

5
ビデオを多次元配列として保存する場合、この多次元配列がテンソルが持つはずの不変性プロパティをどのように持っているかわかりません。この例では、「テンソル」という言葉は適切ではないようです。
littleO

73

あなたの質問は、質問自体と同じように自由に流れ、開かれた答えと一致すべきだと思います。だから、ここに私の二つのアナロジーがあります。

まず、あなたが純粋な数学者でない限り、おそらく最初に単変量の確率と統計を教えられたでしょう。例えば、最も可能性の高いあなたの最初のOLSの例では、このようなモデルにおそらくだった:

yi=a+bxi+ei
ほとんどの場合、あなたが実際に最小二乗和を最小化することによって推定値を導出することを通して行ってきました:
TSS=i(yia¯b¯xi)2
、あなたが書き込みFOCをパラメータのためのsおよびソリューションを取得する:
TTSa¯=0

その後、ベクトル(行列)表記でこれを行う簡単な方法があると言われます:

y=Xb+e

そしてTTSになる:

TTS=(yXb¯)(yXb¯)

FOCSである:

2X(yXb¯)=0

その溶液は、

b¯=(XX)1Xy

線形代数が得意な場合は、習得したら2番目のアプローチに固執します。これは、特に多変量統計を取得した後は、最初のアプローチですべての合計を書き留めるよりも簡単だからです。

したがって、私の類推は、行列からテンソルへの移動は、ベクトルから行列への移動に似ているということです。

第二に、テンソルはどこから来ますか?私はこのことの歴史全体についてはわかりませんが、それらを理論力学で学びました。確かに、テンソルのコースがありましたが、数学のコースでインデックスを交換するこれらすべての素晴らしい方法とはどういう関係があるのか​​わかりませんでした。それはすべて、張力を研究するという文脈で意味をなし始めました。

だから、物理それらはまた、従って、単位面積当たりの力として定義される圧力の簡単な例で始まる:

F=pdS
これはあなたの力ベクトルを計算できることを意味F圧力乗じてp領域単位で(スカラー)dS(法線ベクトル)。これは、無限平面が1つしかない場合です。この場合、垂直力は1つだけです。大きな風船が良い例です。

ただし、材料内部の張力を研究している場合は、考えられるすべての方向と表面を処理しています。この場合、垂直方向だけでなく、あらゆる方向に引っ張ったり押したりする任意の表面に力がかかります。いくつかの面は、などだから、あなたの方程式が「横」接線方向の力によって引き裂かれています。

F=PdS
力がまだベクトルであるFと表面積は、まだその法線ベクトルで表されるdSが、Pありますスカラーではなくテンソルになりました。

OK、スカラーとベクトルもテンソルです:)

テンソルが自然に現れる別の場所は、共分散または相関行列です。考えてみてください:相関行列C0を別のC1に変換する方法は?:あなたは、この方法で私達はちょうどそれを行うことはできません実現

Cθj=C0j+θC1jC0j
θ[01]私たちはすべて維持する必要があるため、Cθ半正定値。

そこで、我々は道を見つける必要があるだろうδCθようにC1=C0+θδCθ、どこ δCθ行列に小さな障害です。さまざまなパスがあり、最短のパスを検索できます。これが、リーマン幾何学、多様体、そして...テンソルに到達する方法です。

更新:とにかくテンソルとは何ですか?

@amoebaと他の人たちは、テンソルの意味と、それが配列と同じかどうかについて活発な議論を始めました。だから、私は例が秩序だと思った。

たとえば、バザーに行って食料品を買います。2人の商人、d1d2ます。私たちは、気づいた私たちが払っているのであればというバツ1にドルをd1およびバツ2ドルd2 その後、d1私たちを販売しているy1=2x1x2りんごのポンド、及びd2私たちを販売しているy2=0.5x1+2x2オレンジ。たとえば、1ドル、つまりx1=x2=1両方を支払う場合、1ポンドのリンゴと1.5ポンドのオレンジを取得する必要があります。

この関係を行列P形式で表現できます。

 2   -1
-0.5  2 

その後、商人は、xドルを支払えば、これだけのリンゴとオレンジを生産します

y=Px

これは、ベクトル乗算による行列とまったく同じように機能します。

さて、これらの商人から商品を個別に購入する代わりに、利用する支出バンドルが2つあると宣言します。0.71ドルの両方を支払うか、d1 0.71ドルを支払い、d2から0.71ドルを要求します。最初の場合と同様に、バザーに行き、バンドル1z1を、バンドル2z2を費やします。

それでは、バンドル1にz1=2だけを費やす例を見てみましょう。この場合、最初の商人はx1=1ドルを受け取り、2番目の商人は同じバツ2=1受け取ります。したがって、上の例のように同じ量の農産物を手に入れる必要がありますよね?

多分そうでないかもしれません。P行列が対角線でないことに気付きました。これは、何らかの理由で、ある商人が自分の農産物に請求する金額が、他の商人に支払った金額にも依存することを示しています。彼らは、たぶん噂を通して、いくら払うのかを考えなければなりませんか?この場合、バンドルで購入を開始すると、バンドルをバザーに宣言するため、それぞれの金額を確実に支払うことができます。この場合、P行列が同じままであることをどのように知ることができますか?

市場での支払いに関する完全な情報があれば、価格設定の式も変わるかもしれません!これにより、マトリックスPが変更され、どの程度正確かを言うことはできません。

ここで、テンソルを入力します。基本的に、テンソルを使用すると、各商人と直接取引するのではなく、バンドルで取引を開始しても計算は変わらないと言います。それが制約であり、これはPに変換規則を課します。これをテンソルと呼びます。

特に、我々は正規直交基底持っていることに気づくかもしれd¯1d¯2d商人に1ドルの支払いを意味しと何も他にします。我々はまた、バンドルはまた、正規直交基底を形成することありd¯1d¯2、これはまた、反時計回りに45度ずつ第1基底を単純に回転させます。また、最初の基底のPC分解です。したがって、バンドルへの切り替えは単純な座標の変更であり、計算を変更すべきではないと言っています。これは、モデルに課した外部制約であることに注意してください。それは、行列の純粋な数学特性からではありませんでした。

今、我々の買い物は、ベクトルとして表現することができx=x1d¯1+x2d¯2。ベクトルもテンソルです。テンソルは興味深いことである:それは次のように表すことができる。

P=ijpijd¯id¯j
として、及び食料品y=y1d¯1+y2d¯2。食料品yi支払われたドルではなく、商人iからの農産物のポンドを意味します。

座標をバンドルに変更しても、テンソル方程式は同じままです:

y=Pz

それはうれしいですが、支払ベクトルが異なる根拠に今ある:

z=z1d¯1+z2d¯2
、我々は古い基準で生産ベクトルを保つかもしれないがy=y1d¯1+y2d¯2。テンソルは、あまりにも変更されます。
P=ijpijd¯id¯j
。それはために起こって、テンソルを変換する必要がありますどのように導出することは簡単ですPA回転行列は次のように定義され、d¯=Ad¯。私たちの場合、それはバンドルの係数です。

テンソル変換の式を計算すると、x1=x2=1およびz1=0.71,z2=0の例と同じ結果が得られます。


2
私はここで混乱しました:So, let's look at an example where we spend just z1=1.42 on bundle 1. In this case, the first merchant gets x1=1 dollars, and the second merchant gets the same x2=1.先ほど、最初のバンドルは私たちであると言いましたpay both 0.71 dollars。だから、最初のバンドルに1.42を費やすと、1ではなくそれぞれ0.71になるはずですよね?
アメーバ

@ameba、アイデアは、バンドル1であることだなので、d¯1/2+d¯2/2バンドル1あなたが得る ˉ dは 1+ ˉ D 2、すなわち1$それぞれ2d¯1+d¯2
Aksakal

2
@Aksakal、私はこの議論がかなり古いことを知っていますが、私もそうは思いません(私は本当にやろうとしていました)。どこにそのアイデアバンドル1であることをから来る?詳しく説明してもらえますか?バンドルの1.42を支払うと、両方のマーチャントが1を獲得します。d¯1/2+d¯2/2
マテック

@Aksakalこれはすごい、ありがとう!最後の行にタイプミスがあると思います。x1= x2 = 1(正しい)およびz1 = 0.71、z2 = 0と言います。 2 ^ 0.5)。
マイクウィリアムソン

71

これはあなたの質問に対する答えではありませんが、異なる人々のコメントでここで提起された問題に関する拡張コメントです。つまり、機械学習の「テンソル」は数学のテンソルと同じものですか?

さて、Cichoki 2014によると、ビッグデータ処理の時代:テンソルネットワークとテンソル分解を介した新しいアプローチ、およびCichoki et al。2014年、信号処理アプリケーションのテンソル分解

高次テンソルは多方向配列として解釈できます、[...]

テンソルはマルチインデックス数値配列と考えることができます、[...]

テンソル(すなわち、多方向配列)[...]

機械学習のいわゆるテンソル

そのため、機械学習/データ処理では、テンソルは単純に多次元数値配列として定義されているように見えます。このような3Dテンソルの例は、640 × 480サイズのビデオフレームです。通常のn × pデータ行列は、この定義による2Dテンソルの例です。1000640×480n×p

これは、数学と物理学でテンソルが定義される方法ではありません!

VVVp×pp×p×ppV

3×34×44×4×4×4 V

VWpVqW

V

p×ppVn×pX

XWVWnVpXVWXWV

XRn×pRn×pn×p

私の結論は:(a)機械学習テンソルは数学/物理テンソルではなく、(b)それらをテンソル積の要素として見ることはほとんど役に立たない。

代わりに、それらは行列の多次元一般化です。残念ながら、そのための数学用語は確立されていないため、この「テンソル」の新しい意味は今も残っているようです。


19
p

10
n3n

4
@amoeba、多次元行列のプログラミングでは、通常配列と呼ばれますが、MATLABなどの一部の言語では、これらを行列と呼びます。たとえば、FORTRANでは、配列に2つ以上の次元を含めることができます。C / C ++ / Javaなどの言語では、配列は1次元ですが、配列の配列を使用して、多次元配列のように機能させることもできます。MATLABは、構文で3次元以上の配列をサポートします。
アクサカル

3
それはとても興味深いです。その点を強調してください。ただし、統計では区別が重要であるため、セットとそれが決定するベクトル空間を混同しないように注意してください。特に(例の1つを取り上げます)、人の線形結合は意味がありませんが、人の集合に対する実数値関数の線形結合は意味があり重要です。たとえば、線形回帰を解決するための鍵です。
whuberの

8
T. Kolda、B、Bada、「Tensor Decompositions and Applications」SIAM Review 2009、 epubs.siam.org / doi / pdf / 10.1137 / 07070111Xによれば、 「テンソルは多次元配列です。より正式には、NウェイまたはN次のテンソルは、N個のベクトル空間のテンソル積の要素であり、それぞれが独自の座標系を持ちます。テンソルのこの概念一般的に数学のテンソル場と呼ばれている(例えば、応力テンソルのような)物理学や工学におけるテンソル,,と混同していません」
マーク・L・ストーン

14

ニューラルネットワークを研究して構築し、この質問を繰り返し尋ねた人として、私はテンソル表記法の有用な側面を借りるという結論に達しました。なぜなら、それらは導出をはるかに簡単にし、グラデーションをネイティブな形に保つからです。テンソルチェーンルールは、私が今まで見た中で最もエレガントな派生ツールの1つです。さらにテンソル表記法は、ベクトル計算の一般的な拡張バージョンを使用する場合に見つけるのが単に悪夢のような計算効率の高い単純化を促進します。

ベクトル/行列の計算例えば、行列積(アダマール、通常クロネッカー、および要素単位)の4種類があるが、内テンソル計算の乗算の一種類があるまだそれは、すべての行列乗算などを覆っています。寛大になりたい場合は、テンソルを、操作するオブジェクトがテンソルではなく、テンソルベースの計算を使用して導関数を見つけることを意図している多次元配列を意味すると解釈します

ほとんどの機械学習の専門家は、高レベルの数学や物理学の定義を順守することをあまり気にしないので、正直なところ、多次元配列テンソルを呼び出します。現実には、テンソルを記述するときに通常使用される、よく開発されたアインシュタインの和の規則と計算を借用しているだけであり、アインシュタインの和の規則に基づく計算を何度も繰り返したくありません。いつか、ニューラルネットワークの分析に特にテンソル計算から必要なものだけを盗む、時間のかかる若い分野として、新しい表記法と規則を開発するかもしれません。


アカウントを登録および/またはマージしてください(ヘルプセンターの[アカウント]セクションでこれを行う方法に関する情報を見つけることができます)。その後、自分の回答を編集およびコメントすることができます。
GUNG

10

今、私は実際に他の回答の内容のほとんどに同意します。しかし、私はある点で悪魔の支持者を演じるつもりです。繰り返しますが、それは自由に流れるので、謝罪します...

Googleは、ディープラーニング用のTensor Flowと呼ばれるプログラムを発表しました。これは、私が見た定義とのつながりを作ることができなかったため、ディープラーニングの「テンソル」とは何なのかと思いました。

ここに画像の説明を入力してください

y

y=σβjバツj

現在、アイデアは、元の座標の有用な表現に到達するために、そのような変換の束を連結することです。そのため、たとえば、画像の最後の変換後、単純なロジスティック回帰により優れた分類精度が得られます。一方、生の画像では間違いなくそうなります。

さて、視界から失われたと思われるものは、適切なテンソルで求められる不変性の性質です。特に、変換された変数の次元が層ごとに異なる場合があります。[たとえば、テンソルで見たもののいくつかは、非正方形ヤコビアンには意味がありません-いくつかの方法が欠けているかもしれません]

保持されているのは変数の変換の概念であり、ベクトルの特定の表現は特定のタスクに対して他の表現よりも有用である可能性があります。デカルト座標系または極座標系の問題に取り組む方が理にかなっているかどうかという類推です。


@Aksakalに応じて編集:

座標の数が変化するため、ベクトルを完全に保存することはできません。ただし、ある意味では、少なくとも有用な情報は変換中に保存されます。たとえば、PCAでは座標を削除する可能性があるため、変換を反転することはできませんが、それでも次元の削減は有用です。連続するすべての変換が可逆的である場合、最後から2番目のレイヤーから入力スペースにマップできます。現状では、サンプリングによってそれ(RBM)を可能にする確率モデルのみを見てきました。


1
ニューラルネットワークのコンテキストでは、常にテンソルが多次元配列として機能していると想定していました。不変性のプロパティがどのように分類/表現を支援しているかについて詳しく説明してください。
YS

上記のことは明確ではなかったかもしれませんが、解釈が正しい場合、不変のプロパティの目標は削除されたようです。維持されているように見えるのは、変数変換のアイデアです。
推測

r¯

しかし、それは変換のプロパティがテンソル以上ではありませんか?少なくとも、ニューラルネットでより一般的であると思われる線形および要素単位の型変換では、ベクトルと行列が等しく存在します。テンソルの追加の利点は何ですか?
YS

1
@ conjectures、PCAは単なる回転と投影です。これは、N次元空間をPCベースに回転してから、サブ空間に投影するようなものです。テンソルは、物理学などの同様の状況で使用されます。たとえば、身体内部の表面の力を見るときなどです
。– Aksakal

7

以下は、統計とコンピュータービジョンへの応用による非負テンソル因数分解の抜粋(コンテキスト用)です。A。シャシュアとT.ハザンは、少なくとも一部の人々がテンソルに魅了される理由の中心になります。

次元を連結することにより、n次元の問題を2次元形式で表すことができます。したがって、たとえば、画像のセットの非負の低ランク分解を見つける問題は、3-NTF(非負のテンソル分解)であり、画像は3Dキューブのスライスを形成しますが、次のように表すこともできます。画像(行列の列を形成する画像)をベクトル化することによるNMF(非負行列因子分解)問題。

画像のコレクションのマトリックス表現が適切でない理由は2つあります。

  1. 空間的な冗長性(ピクセル、必ずしも隣接していない、同様の値を持っている)はベクトル化で失われるため、効率の悪い分解が期待されます。
  2. NMF分解は一意ではないため、(ローカルパーツの)生成モデルが存在する場合でも、NMFは必ずしもその方向に移動するわけではありません。これは、Chu、M.、Diele、F.、Plemmons、R。 &Ragni、S.「非負行列因子分解の最適性、計算、解釈」SIAM Journal on Matrix Analysis、2004。たとえば、画像セットの不変部分はすべての因子にゴーストを形成し、スパース性効果を汚染する傾向があります。NTFはほとんど常に一意であるため、NTFスキームは生成モデルに向かって移動し、特に不変部分の影響を受けないことが予想されます。

6

[編集] Peter McCullagh著、Tensor Methods in Statisticsの本を発見しました。

テンソルは、信号(または画像)の未知の混合識別、特にCanonical Polyadic(CP)テンソル分解の概念周辺の関心プロパティを表示します。たとえば、Tensors:a Brief Introduction、P. Comon、2014を参照してください。 「ブラインドソース分離(BSS)」という名前で:

テンソル分解は、明示的または暗黙的に、多くのブラインドソース分離(BSS)アルゴリズムの中核です。特に、Canonical Polyadic(CP)テンソル分解は、未決定の混合物の識別に中心的な役割を果たします。いくつかの類似点にもかかわらず、CPと特異値分解(SVD)はまったく異なります。より一般的には、この簡単な紹介で指摘したように、テンソルと行列は異なる特性を持っています。

最近、3次テンソルに対していくつかの一意性の結果が導き出されました。3次テンソルの標準的なポリアディック分解の一意性について(パート1パート2)、I 、2013。

テンソル分解は、例えば、非一意性に対応するために、分解因子(直交性、ヴァンダーモンド、ハンケル)および低ランクに構造を課すことによって、しばしばスパース分解に結び付けられます。

不完全なデータ分析およびセンサーアレイからの複雑な測定値の決定に対するニーズの高まりに伴い、テンソルは、マトリックスの完成、潜在変数分析、およびソースの分離にますます使用されています。

付記:明らかに、Canonical Polyadic分解は、システム同定(ブロック構造化、並列Wiener-Hammersteinまたは非線形状態空間モデル)のアプリケーションで、線形形式のべきの和としての同次多項式のWaring分解とも同等です。


3

Kroonenberg、PM Applied Multiway Data Analysis and Smilde et al。多方向分析。化学科学での応用(両方ともWiley)。興味深いのは私の記事もあります:Kroonenberg、PM(2014)。多方向コンポーネント分析と3方向コレスポンデンス分析の歴史。ブラジウス、J。およびグリーンエーカー、MJ(編)。データの視覚化と言語化(pp。77〜94)。ニューヨーク:チャップマン&ホール/ CRC。ISBN 9781466589803。

これらの参考文献は、テンソルではなくマルチウェイデータについて述べていますが、同じ研究分野について言及しています。


-1

機械学習の人々は、数学者や医師と同じ注意を払ってテンソルを見ないのは事実です。この不一致を明らかにする可能性のある論文を次に示します。ComonP。、「Tensors:a brief Introduction」IEEE Sig。手続き 雑誌、2014年5月31日


5
数学/物理学のテンソルと機械学習のテンソルの違いは、実際には「ケア」の1つですか?機械学習の人々は、数値の配列(スカラー、ベクトル、行列、3つ以上の軸を持つ配列(TensorFlowなど))の総称として「テンソル」を使用しているようですが、数学/物理学コンテキストの「テンソル」は、意味。「ケア」に関する質問であることを示唆するのは、実際には機械学習のコンテキストが数学/物理学の使用法を正確に複製する意図を持たない場合、機械学習能力の使用法を「誤った」と誤解することです。
Sycorax
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.