順列不変ニューラルネットワーク


14

入力としてn個のデータポイントを受け取るニューラルネットワークfx 1x nを考えます。次の場合、f順列不変であると言います。nx1,,xnf

f(x1...xn)=f(pi(x1...xn))

任意の順列pi

誰かが順列不変ニューラルネットワークの出発点(記事、例、または他の論文)を推奨できますか?


興味深い質問。入力をベクトルではなくセットとして扱います。入力がスカラーまたは他の比較可能なものであると仮定して、入力を並べ替えて順列不変の正準表現を作成し、それを通常のネットワークに供給することを検討しましたか?
mjul

@mjul私の入力はクライアントの一連の賭けです(各賭けは、いくつかのカテゴリー変数と連続変数のベクトルで表されます)。たとえば、時間順に並べることができますが、各クライアントの賭けの時間間隔は非常に異なるため、これはあまり意味がありません。これはおそらく、各ベットの係数を減衰させる時間の関数(固定または学習)を使用して解決できます。しかし、この場合、順序は実際には重要ではないと思うので、まず順序付けされていないデータを試したいと思いました。
ジョセフオンドレイ

ネットワーク出力とは何ですか?ネットワークが順列不変の場合、出力は入力の順序にかかわらず同じになります。これは、あなたの望むことですか?
BlueMoon93

@ BlueMoon93はい、それはまさに、私が欲しいものです。出力は、入力の順序に依存しない限り、何でもかまいません(数値、ベクトル)。
ジョセフオンドレイ

順列不変ニューラルネットワークが必要なのはなぜですか?
kc sayz 'kc sayz'

回答:


2

私の知る限り、ネットワークの構造上の理由により、これを試した人はいません。各入力には、より多くの入力に接続される重みのセットがあります。入力が切り替わると、出力も変わります。

ただし、この動作に近づくネットワークを構築できます。トレーニングセットでバッチ学習を使用し、トレーニングサンプルごとに、ネットワークに可能なすべての順列を与えて、順列不変であることを学習します。これは厳密には不変ではなく、近い場合があります。

これを行う別の方法は、すべての入力に対して重みを複製することです。たとえば、3つの入力(i0、i1、i2)があり、次の非表示レイヤーに2つのノード(hl0、hl1)とアクティベーション関数Fがあるとします。完全に接続されたレイヤーを想定すると、2つの重みw0とw1があります。隠れ層のノードhl0およびhl1は、それぞれによって与えられます

  • hl0 = F(i0w0 + i1w0 + i2w0)

  • hl1 = F(i0w1 + i1w1 + i2w1)

したがって、値が入力からの順列不変である非表示レイヤーを提供します。これからは、必要に応じてネットワークの残りの部分を学習および構築できます。これは、畳み込み層から派生したアプローチです。


オフトピック、これはクールなプロジェクトのようです。研究プロジェクトに協力したい場合は、私に連絡してください(私のプロフィールを確認してください)


提案された最初のアプローチは、私の場合、計算の複雑さのために実行不可能です。一方、2番目は制限が強すぎるようです。しかし、それは確かに良いスタートです。私がこれまでに思いついたのは、この論文で見つけたものと同様のアプローチです:arxiv.org/pdf/1612.04530.pdf まず、0 ... nの入力x_i、x_j、i、jのすべてのペア(一般にすべてのkタプル)を検討し、それらすべてにニューラルネットワークを適用します(各ペアに同じnn)。これにより、n ** 2個の出力f(x_i、x_j)が得られ、それらを平均(または最大値)して、結果にアノーターnnを適用します。
ジョセフオン

これは私がこれまでに思いついたものです:github.com/josefondrej/Symmetric-Layers
Josef Ondrej

5

あなたが探しているものがいくつかあります:


3

ここでKerasを使用してPermutational Layerを実装しました。 https //github.com/off99555/superkeras/blob/master/permutational_layer.py

PermutationalModule関数を呼び出して使用できます。

このペーパーに従って実装:https : //arxiv.org/pdf/1612.04530.pdf

アイデアは、すべての対比較することであるN ^ 2から対Nの、入力共有重みでモデルを使用し、その後、プール機能を使用N上回Nを入力します。プーリングを再び使用できる出力ですが、論文では、別のプーリングについては言及していません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.