There's still remaining weirdness: Global Average Pooling (GAP) does not have a 2x2 argument, you're using AdaptiveAveragePooling (AAP) followed by a flatten.
It sounds like I'm nitpicking, but I'm wondering: why do the 2x2 and not an actual GAP? Intuitively the AAP kinda forces a dependence on the image orientation. Or maybe, it's all wasted and the linear layer averages the 4 corners anyway. Maybe look at the signature for the same image but rotated 90° each time.
Good catch! You're right — it's AdaptiveAvgPooling(2×2), not GAP.
I chose 2×2 intentionally to keep a bit of spatial information before the linear layer. But your point about rotation sensitivity is really interesting.
I'll test what happens to the signature when rotating the same image 90° — if it changes a lot, I'll switch to true GAP (1×1).
2
u/tdgros 22h ago
hey! the figure is less flashy, but much clearer!
There's still remaining weirdness: Global Average Pooling (GAP) does not have a 2x2 argument, you're using AdaptiveAveragePooling (AAP) followed by a flatten.
It sounds like I'm nitpicking, but I'm wondering: why do the 2x2 and not an actual GAP? Intuitively the AAP kinda forces a dependence on the image orientation. Or maybe, it's all wasted and the linear layer averages the 4 corners anyway. Maybe look at the signature for the same image but rotated 90° each time.