I’m not sure, if adaptive pooling was proposed in a scientific paper or if frameworks just implemented it to support variable sized inputs.
This is just speculation, but I think I came across adaptive pooling layers for the first time in the Network in Network 18 paper. They use a global adaptive pooling and skip the linear layers at the end, argumenting that this might prevent overfitting to some degree.
PyTorch’s adaptive pooling layers are more flexible as you can set the output size yourself, instead of pooling globally over the whole spatial size.