maxxxzdn / implicit-steerable-kernels

Official repository of Implicit Neural Convolutional Kernels for Steerable CNNs, Zhdanov et al.
MIT License
23 stars 1 forks source link

Clarification on why only compact groups #1

Closed HiperMaximus closed 3 months ago

HiperMaximus commented 3 months ago

I was reading your paper and it mentions that the approach of implicit steerable kernels works for compact groups G<=O(n). I was wondering if it could work for bigger groups G<=GL(n), where GL is the general linear group. On a similar note, since many physical systems require equivariance/invariance to unitary transformations U(n), do you think this approach would work? Since it would require the use of complex numbers. Thank you! and sorry in advance if such questions are trivial, I was unable to find an answer.

maxxxzdn commented 3 months ago

To be honest, I don't think that G really needs to be compact. For the proof to work, we only require $\rho(g)^T = \rho(g)^{-1}$ (see Appendix A.2), which will also work for unitary groups.

You can also make it work for pseudo-Euclidean groups, although we achieved that not with irreps but with Clifford algebra: https://github.com/maxxxzdn/clifford-group-equivariant-cnns.

Regarding unitary groups, theoretically, there should be no problem. Unfortunately, you would need to build a G-MLP yourself since it is not supported by escnn at the moment. There are, however, MLPs I saw implemented for unitary groups, e.g. https://github.com/lie-nn/lie-nn

HiperMaximus commented 3 months ago

Thank you for your rapid answer! Since the transpose of the representation has to equal the inverse, I think that necessitates the group to be compact, in particular the unitary group is compact - and the inverse equals the conjugate transpose. Given this, would an implicit method not work for the general linear group GL(n)? I ask as I would rather prefer not to try to analytically derive the kernels for even more difficult groups. Thank you again!

maxxxzdn commented 3 months ago

I don't really have the answer for GL(n). As far as I know, people use group convolutions rather than steerable convolutions in many cases (see Table 14.1, thesis https://maurice-weiler.gitlab.io/), and I don't know if you can employ steerable convolutions there, for which implicit kernels are originally defined.

HiperMaximus commented 3 months ago

I see, I'll keep on searching. Thank you very much for your time!