On the variance of the adaptive learning rate and beyond

optimization
learning-rate

#1

On the Variance of the Adaptive Learning Rate and Beyond

Liyuan Liu, Haoming Jiang, Pengcheng He, Weizhu Chen, Xiaodong Liu, Jianfeng Gao, Jiawei Han

(Submitted on 8 Aug 2019)

The learning rate warmup heuristic achieves remarkable success in stabilizing training, accelerating convergence and improving generalization for adaptive stochastic optimization algorithms like RMSprop and Adam. Here, we study its mechanism in details. Pursuing the theory behind warmup, we identify a problem of the adaptive learning rate (i.e., it has problematically large variance in the early stage), suggest warmup works as a variance reduction technique, and provide both empirical and theoretical evidence to verify our hypothesis. We further propose RAdam, a new variant of Adam, by introducing a term to rectify the variance of the adaptive learning rate. Extensive experimental results on image classification, language modeling, and neural machine translation verify our intuition and demonstrate the effectiveness and robustness of our proposed method. All implementations are available at: this https URL.

Subjects: Machine Learning (cs.LG); Computation and Language (cs.CL); Machine Learning (stat.ML)
Cite as: arXiv:1908.03265 [cs.LG]
(or arXiv:1908.03265v1 [cs.LG] for this version)

#2

Đây là một bài review rất là dài …

Kết luận tổng quan, nếu RAdam được adopt trong thuật toán optimize của các thư viện chính như Tensorflow, hay Pytorch, thì hãy không ngại ngần gì mà thử nó đi nhé

Introduction

Như mọi người cũng biết là tuy deep learing (DL) đạt chất lượng cao ở nhiều tác vụ, nó có điểm dở là có khá nhiều biến hyperparameter cần phải tinh chỉnh (tuning). Và việc hướng tới việc bộ thông số tối ưu, hoặc kỹ thuật học máy mà ít nhạy cảm với bộ thông số sẽ giúp việc training/tuning nhẹ nhàng hơn rất nhiều. [1, 2]

Và nhắc tới hyperparameter thì không thể nào không khắc tới learning rate bà con nhỉ?

image Hình 1. Tác động của learning rate

Việc lựa chọn learning rate không cẩn thận có thể dẫn đến việc thuật toán bị mắc bẫy vô cái gọi là local optima hay là rơi vào tối ưu cục bộ tệ. Nói theo cách khác là giá trị tối ưu mình huấn luyện được còn cách xa kết quả tối ưu toàn cục cả KM

HÌnh 2. Tối ưu dễ rơi vào cục bộ.

Và vì kỹ thuật gradient descent không đảm bảo được tính tối ưu toàn cục cho hàm nonconvex kể trên, vì thế việc chọn khởi tạo thích hợp sẽ ảnh ưởng khá lớn tới chất lượng học máy. Từ đó ta có nhiều thuật toán khởi tạo dạng - heuristic (thực nghiệm, ko có chứng minh) [3].

Và đó chính là động lực cho tác giả bài báo trên

  1. nghiên cứu về "hội tụ’’ dưới ảnh hưởng của learning rate & kỹ thuật heuristic warmup (mà ở đây đó là set learning rate nhỏ ở một vài epoch đầu tiên).
  2. Đưa ra kỹ thuật tối ưu dựa trên biến thể của Adam, gọi là Rectified Adam (RAdam)

Motivation

Thuật toán tổng quan về adaptive optimization.

Về cơ bản, phương thức tối ưu này tính ra giá trị learning rate cho từng tham số dựa trên momentum \phi_t(\cdot) và hàm adaptive rate \psi_t(\cdot).

Ví dụ ở Adam (Các bạn tham khảo thêm [4] cho dễ hiểu), thì hàm \phi_t(\cdot), \psi_t(\cdot).được định nghĩa dưới dạng 1st order và 2nd order moment.

Kỹ thuật Warmup

Thông thường giá trị learning rate được hoạch định trước, và thường giảm dần theo số epoch. Kỹ thuật warmup sử dụng [3] là dùng learning rate nhỏ ở các epoch đầu tiên sau đó tăng lên và giảm dần.


Hình 3. Training loss và accuracy của các thuật toán tối ưu

Như hình ví dụ trên, Adam-warmup (đường đứt màu xanh) có train loss và accuracy tốt hơn với Adam thông thường (Adam Vanilla, đường màu xanh da trời). .

Tác giả tiến hành phân tích thêm về đặc tính phân bố của giá trị gradient ở hệ log (Hình dưới). Ta thấy rõ dàng khi không thực hiên wamup, giá trị gradient sai khác rất nhiều về phân bố chung so ở iteration đầu tiên so với các iteration sau.

HÌnh 4. Giá trị tuyệt đối gradient ở hệ log

Và từ đó, tác giả đưa ra một giả thuyết là

"Vì những iteration đầu tiên, do việc tính toán dựa trên số mẫu hạn chế, dẫn đến các hệ số adaptive learning rate của \psi(\cdot) có phương sai rất lớn (large variance), và dẫn đến hệ lụy là rơi vào tối ưu cục bộ rất tệ."

Vậy nếu mình giảm phương sai của adaptive learnign rate thì sao? Tác giả đề suất update giá trị \psi(\cdot) thôi, và cố định \phi(\cdot)\theta cho 2000 iteration đầu tiên (tên gọi là Adam-2K). Như ở hình 3.

Hình 5. Giá trị absolute gradient ở hệ log

Một cách khác để giảm phương sai của adaptive learning rate đó là Giảm giá trị 𝜖 , từ đó đề suất kỹ thuật Adap-eps bằng cách tăng giá trị 𝜖 lên 10^{-4}

Và như các bạn thấy trong hình 4 và 5 là cả Adam-2K và Adam-eps đều hoạt động khá là tốt.

Adaptive Learning variance

Với hai kỹ thuật heuristic kể trên, tác giả mô hình theo dạng tổng quát hơn để thể hiện việc thiếu các mẫu dữ liệu là nguyên nhân dẫn đến biến đổi về variance của \psi(.) hay Var[\psi(.)].

Họ đưa ra một định lý về

Và với phép mô phỏng cũng cho thấy rằng giá trị Var[\psi(.)] nhỏ dần khi có nhiều degree of freedom hơn, hay nhiều mẫu biến số hơn. image

Từ đó tác giả đưa ra phép tính xấp xỉ của \rho dựa trên số lượng iteration t và giá trị tối ưu \rho_\inf image

Và để ép phương sai luôn ở cùng mức với các iteration khác nhau, tác giả giới thiệu hệ số rectify unit

Thực hiện các phép toán xấp xỉ dựa trên giả thuyết phân bố Scaled inverser chisquare của hàm \psi^2(.), họ đưa ra được

Từ đó giá trị r_t sẽ được nhân thêm vào với mỗi adaptive learning rate.

Kết quả

Kết quả thu được khá lạc quan. Về mặt tổng thể kỹ thuật Rectify Adam (RAdam) luôn luôn tốt hơn Adam ở tốc độ hội tụ và chất lượng. RAdam ít nhạy cảm với learning rate mình gán.

So sánh với phép heuristic warmup, RAdam cho kết quả tương tự nhưng cũng đồng thời không cần thông số heuristic về learning rate nhỏ cũng như thời gian warmup.

Kết luận tổng quan, nếu RAdam được adopt trong thuật toán optimize của các thư viện chính như Tensorflow, hay Pytorch, thì hãy không ngại ngần gì mà thử nó đi nhé

Few.

Reference

[1] S. Seong et al… Towards flatter loss surface via nonmonotonic learning rate scheduling. UAI2018

[2] Leslie N Smith. Cyclical learning rates for training neural networks. WACV 2017.

[3] A. Vaswani et al. “Attention is all you need.” In Advances in neural information processing systems, 2017.

[4] https://towardsdatascience.com/adam-latest-trends-in-deep-learning-optimization-6be9a291375c


#3

Em thắc mắc tại sao những biểu đồ thường có 1 đoạn gấp khúc giảm đột ngột ? Phải chăng họ hạ lr đi 10 lần ? Em cảm ơn.


#4

Mình cũng nghĩ như vậy.

Learning rate dạng hoạch định cơ bản thường giảm ở một số epoch định trước. Như bạn thấy là tất cả các thuật toán đều giảm cùng lúc --> learning rate setting giảm.