Reverse operation of pooling in QCNN

In this tutorial Quantum Convolutional Neural Networks — PennyLane, it is clear how to do down-sampling or pooling with gate operations and measurement. Is it possible to do a reverse operation like unpooling or simply speaking upsampling with quantum gates? I attached a pipeline about it.

Is it reasonable to think about the quantum version of upsampling (unpooling)?

Hey @sassan_moradi,

Interesting! I’m not sure, but my intuition says no (at least it’s not obvious to me). Pooling methods appear to be irreversible (e.g., replacing blocks of the data with their maximum or average values. Once that is done, it’s hard to reconstruct the discarded information that once surrounded the maximum value). I suppose you could maybe come up with a technique for how to best unpool (e.g., figure out a probability distribution to sample from that would best represent the pre-pooled configuration). Maybe that technique itself could be learned / trained. Nevertheless, an interesting idea!

Many thanks Isaac. I agree with you. Since measurement is not reversible, it would be impossible to define uppooling with quantum gates. If i could come up with a solution, i will share it with you here.

Awesome! I did a quick literature search and I’m not coming up with anything for unpooling either. Upsampling is possible, though. That’s a well-known ML trick (not sure if that’s been applied anywhere with QML techniques?)