diffGrad

diffGrad implements an adaptive gradient-based optimizer that adjusts per-parameter step sizes using differences between consecutive gradients to improve training convergence of deep neural networks, particularly convolutional neural networks (CNNs).


Key Features:

  • Adaptive Step Sizes: Dynamically adjusts learning rates for each parameter, assigning larger steps to parameters with rapidly changing gradients and smaller steps to parameters with stable gradients.
  • Gradient Difference Utilization: Uses the difference between the current gradient and the immediate past gradient to modulate per-parameter updates.
  • Convergence Analysis: Provides a theoretical convergence analysis based on a regret bound within the online learning framework.
  • Empirical Performance: Demonstrates superior convergence properties on synthetic complex nonconvex functions and in image categorization experiments.
  • Benchmark Comparisons: Evaluated against SGDM, AdaGrad, AdaDelta, RMSProp, AMSGrad, and Adam in comparative experiments.
  • Architecture and Activation Robustness: Validated on ResNet-based CNN architectures and shown to maintain performance across different activation functions.

Scientific Applications:

  • Image Classification: Training and optimization of ResNet-based CNNs for image categorization on CIFAR10 and CIFAR100 datasets.
  • Optimizer Benchmarking: Evaluation on synthetic complex nonconvex functions to assess and compare convergence behavior of optimization algorithms.
  • Activation Function Studies: Assessing optimizer robustness across different neural network activation functions.

Methodology:

Per-parameter updates are modulated using the difference between the current gradient and the immediate past gradient to adapt step sizes, and convergence is analyzed via a regret bound within the online learning framework.

Topics

Details

License:
MIT
Programming Languages:
Python
Added:
1/14/2020
Last Updated:
12/22/2020

Operations

Publications

Dubey SR, Chakraborty S, Roy SK, Mukherjee S, Singh SK, Chaudhuri BB. diffGrad: An Optimization Method for Convolutional Neural Networks. IEEE Transactions on Neural Networks and Learning Systems. 2020;31(11):4500-4511. doi:10.1109/tnnls.2019.2955777. PMID:31880565.

Links