tscohen / GrouPy

Group Equivariant Convolutional Neural Networks
http://ta.co.nl
Other
349 stars 85 forks source link

What is the meaning of 'P4ConvZ2' in one word? #11

Closed prismformore closed 5 years ago

prismformore commented 5 years ago

Sorry that I did not catch the meaning of this function name quite well: P4ConvZ2, which is not mentioned in paper. Is there a one sentence illustration of what it means?

tscohen commented 5 years ago

In the first G-Conv layer, the input is a 2D image (a stack of feature maps on the plane Z^2) and the output is a stack of feature maps on the group G (e.g. p4). Hence, in the next layer the input is a stack of feature maps on G, and typically the output is also a stack of feature maps on G. Thus you would use P4ConvZ2 in the first layer in P4ConvP4 in later layers.

Concretely, the difference between a feature map on Z2 and a feature map on p4 is that each p4 feature map consists of 4 two-dimensional "orientation channels", one for each of the 4 rotations. Such a set of 4 channels has a specific transformation behaviour under rotations of the input: the 4 channels will undergo a cyclic shift in the channel dimension, and each channel gets rotated in the spatial dimensions. For this reason the later layers use a different kind of G-Conv (namely P4ConvP4).

prismformore commented 5 years ago

@tscohen Impressive clarity! Thank you and I would close this issue.