Remix.run Logo
A polynomial autoencoder beats PCA on transformer embeddings(ivanpleshkov.dev)
43 points by timvisee 3 days ago | 14 comments
mentalgear 2 minutes ago | parent | next [-]

Geometric Algebra (GA) also has high potential to transform neural architectures. Models like the Geometric Algebra Transformer (GATr) and Versor (2026) demonstrate it can enhance or restructure the Attention Mechanism.

By representing data as multivectors, translational and rotational symmetries are encoded natively which allows them to handle geometric hierarchies with massive efficiency gains (reports of up to 78x speedups and 200x parameter reductions) compared to standard Transformers.

folderquestion 28 minutes ago | parent | prev | next [-]

This sound like projecting data into the linear space spanned by {x_i, x_i*x_j} where x_i are the features variables, and then applying standard regularization methods to remove noise and low value coefficients.

Anisotropy and the cone ideas may explain why PCA underperforms, but it does not uniquely justify this particular quadratic decoder. The geometric story is not doing explanatory work beyond “data is nonlinear,” and the real substance is simply that second-order reconstruction empirically helps.

yobbo 3 hours ago | parent | prev | next [-]

My understanding after scanning the code examples is the technique expands the dimensionality of each data point with a set consisting of the quadratic coefficients of its existing dimensions. I thought it sounded like kernel PCA.

ekjhgkejhgk an hour ago | parent [-]

I think that kernel PCA is a strict superset of PCA. That would make it trivially true that it beats PCA.

pleshkov 3 days ago | parent | prev | next [-]

Author here — questions and pushback both welcome.

afxuh an hour ago | parent | next [-]

Cool idea. But it only works when the data never changes. could you make a streaming/incremental version? One that updates the math cheaply when new data arrives, instead of recomputing everything, or does the math fundamentally prevent it?

stephantul 27 minutes ago | parent | prev | next [-]

Really cool! I was investigating PCA on retrieval, thanks for the references.

yorwba 2 hours ago | parent | prev | next [-]

You should benchmark the retrieval speed of each method in terms of queries per second. I suspect that the gain in bandwidth you get from slightly better compression will be defeated by decompression being much more expensive.

Devilstro 2 hours ago | parent | prev [-]

In the article, you mention this approach requires no search over hyper-parameter, because the method comprises a closed-form solution with "simple" linear algebra. I agree with this, but do you not in think need to tune the L2-regularization strength? That would for me be a hyper-parameter you would need to do a CV over (or similarly).

teiferer 2 hours ago | parent | prev | next [-]

I came here from a discussion about CS students who should not be bothered to set up email filters. How can they ever expect to be able to digest just the first paragraph in that article?

whywhywhywhy 19 minutes ago | parent | next [-]

This kind of attitude isn’t long for this world. The time for this knowledge locked up in academia is over and in 15 years we’ll look back on this time as the dark ages as open code and models eclipses it.

None of this stuff is as difficult to understand as people claim it is once you work with it.

perching_aix an hour ago | parent | prev | next [-]

Definitely not by furthering their email client wrangling skills.

magicalhippo 2 hours ago | parent | prev [-]

FWIW I found it quite straight forward. But then I did have some linear algebra back at uni.

That said I do think it's a good habit to either write out abbreviations in full or link to say Wikipedia, eg for PCA[1]. It's a well-known tool but still if you come from a slightly different field it might not ring a bell.

[1]: https://en.wikipedia.org/wiki/Principal_component_analysis

magicalhippo 4 hours ago | parent | prev [-]

I'm just a casual LLM user, but your description of the anisotropy made me think about the recent work on KV cache quantization techniques such as TurboQuant where they apply a random rotation on each vector before quantizing, as I understood it precisely to make it more isotropic.

But for RAG that might be too much work per vector?