Pushing the Limits of Gradient Descent for Efficient Learning on Large Images

Abstract

Traditional deep learning models are trained and tested on relatively low-resolution images (< 300 px), and cannot be directly operated on large-scale images due to compute and memory constraints. We propose Patch Gradient Descent (PatchGD), an effective learning strategy that allows us to train the existing CNN and transformer architectures (hereby referred to as deep learning models) on large-scale images in an end-to-end manner. PatchGD is based on the hypothesis that instead of performing gradient-based updates on an entire image at once, it should be possible to achieve a good solution by performing model updates on only small parts of the image at a time, ensuring that the majority of it is covered over the course of iterations. PatchGD thus extensively enjoys better memory and compute efficiency when training models on large-scale images. PatchGD is thoroughly evaluated on PANDA, UltraMNIST, TCGA, and ImageNet datasets with ResNet50, MobileNetV2, ConvNeXtV2, and DeiT models under different memory constraints. Our evaluation clearly shows that PatchGD is much more stable and efficient than the standard gradient-descent method in handling large images, especially when the compute memory is limited. Code is available at https://github.com/nyunAI/PatchGD.

Cite

Text

Gupta et al. "Pushing the Limits of Gradient Descent for Efficient Learning on Large Images." Transactions on Machine Learning Research, 2024.

Markdown

[Gupta et al. "Pushing the Limits of Gradient Descent for Efficient Learning on Large Images." Transactions on Machine Learning Research, 2024.](https://mlanthology.org/tmlr/2024/gupta2024tmlr-pushing/)

BibTeX

@article{gupta2024tmlr-pushing,
  title     = {{Pushing the Limits of Gradient Descent for Efficient Learning on Large Images}},
  author    = {Gupta, Deepak and Mago, Gowreesh and Chavan, Arnav and Prasad, Dilip and Thomas, Rajat Mani},
  journal   = {Transactions on Machine Learning Research},
  year      = {2024},
  url       = {https://mlanthology.org/tmlr/2024/gupta2024tmlr-pushing/}
}