Основная причина im2col заключается в том, что вход и ядра могут быть представлены в виде двух больших матриц, а свертка может быть выполнена в умножении одной матрицы. Это ускоряет процесс, потому что умножение матриц может быть очень хорошо распараллелено.
Только доступ к памяти не является проблемой, и, как вы сказали, im2col должен обращаться к исходным тензорам так же, как и простая операция свертки.