ruto on Nostr: ...
ツリーデータを高次元ベクトルに埋め込んでtransformerで扱う方法
https://arxiv.org/abs/2311.09387ノードの値をランダムベクトルで表して、エッジのラベルを直交行列で表す。ツリーを表すには、各ノードについて「ノードへのパス上の各ラベルに対応する直交行列の積とノードの値に対応するベクトルの積」の和を考える。
エンコードされた値vをデコードする際には、ノードの値の候補のうち、vとの内積が1/2以上になるものを根の値とする。子ノードについてはラベルに対応する直交行列の逆行列をvにかけて、再帰的にアルゴリズムを適用する。
高次元において異なるランダムベクトルの内積はほぼ0であることを利用している。
100通りの値がある長さ10の連結リストを表わす場合、1000次元程度あればほぼ確実に復元できるらしい。
(後半のtransformerのところは読んでない)
Published at
2023-11-19 08:27:00Event JSON
{
"id": "ae9b3f72c495050894d8fe394cd8d69045b9cc923a481353cba879b52661318d",
"pubkey": "2888961a564e080dfe35ad8fc6517b920d2fcd2b7830c73f7c3f9f2abae90ea9",
"created_at": 1700382420,
"kind": 1,
"tags": [],
"content": "ツリーデータを高次元ベクトルに埋め込んでtransformerで扱う方法\nhttps://arxiv.org/abs/2311.09387\n\nノードの値をランダムベクトルで表して、エッジのラベルを直交行列で表す。ツリーを表すには、各ノードについて「ノードへのパス上の各ラベルに対応する直交行列の積とノードの値に対応するベクトルの積」の和を考える。\nエンコードされた値vをデコードする際には、ノードの値の候補のうち、vとの内積が1/2以上になるものを根の値とする。子ノードについてはラベルに対応する直交行列の逆行列をvにかけて、再帰的にアルゴリズムを適用する。\n高次元において異なるランダムベクトルの内積はほぼ0であることを利用している。\n100通りの値がある長さ10の連結リストを表わす場合、1000次元程度あればほぼ確実に復元できるらしい。\n(後半のtransformerのところは読んでない)",
"sig": "0ad32cdc6cc2818ac1c6ee807ef3b4b88257a13da0d5ca4a9b2263abbfb2ec610d068221fe3643ce837568a1988e3332440c1538b37c6804d6ec862ca2f448ce"
}