2.4.4.1. Gradient Descent [26]
Huấn luyện mạng giống như dạy con người cách học. Chúng ta đưa ra dữ liệu để mô mình hóa, nó sẽ dự đoán và phản hồi lại cho chúng ta có phải dự đoán đó là đúng hay không. Việc này sẽ lặp lại đến khi mô hình chạm đến độ chính xác mà chúng ta mong muốn. Mỗi lần lặp lại, “Optimizers” sẽ cập nhật trọng số để làm cho hàm mất mát là nhỏ nhất. Hàm mất mát đóng vai trò như người hướng dẫn để “optimizer” biết có phải nó đang đi đúng hướng để chạm đến đáy của đồ thị, giá trị vùng nhỏ nhất. Để đạt được điều này, chúng ta phải sử dụng Gradient Descent (GD) hoặc những thay đổi của GD.
GD là một thuật toán tối ưu của máy học, lặp đi lặp lại để giảm giá trị của hàm mất mát. Một vài loại GD thường gặp:
Stochastic gradient descent (SGD)
Batch gradient descent
Mini-batch gradient descent
2.4.4.2. Optimizer: Adam [27]
Adaptive Moment Estimation (Adam) là một tổ hợp của Adagrad, làm việc rất tốt trên những đoạn dóc thưa thớt, với RMSprop, làm viêc tốt trong việc cài đặt trực tuyến và thay đổi. Adam thiết lập một hàm số mũ trung bình cho độ dóc (gradient) để thay đổi “learning rate” thay vì một hằng số như trong Adagrad. Nó giúp giữ trung bình phân rã theo cấp số nhân của “gradient” trước đó.
Thuật toán Adam trước hết cập nhật một hàm số mũ trung bình trượt cho gradient (mt) và bình phương gradient (vt). Siêu tham số (hyper-
parameters) β1, β2 ∈ [0,
1) điều khiển tỉ lệ phân rả theo cấp số nhân của trung bình trượt được biểu diễn như sau:
=1∗ −1+(1−1)∗
Giá trị trung bình trượt được khởi tạo là 0 sẽ dẫn đến việc tính toán bị lệch xung quanh
1và đặc biệt là trong thời gian khởi tạo. Xu hướng khởi tạo này có thể dễ dàng bị phản tác dụng dẫn đến ước tính điều chỉnh bị sai lệch.
Trong đó: , là ướt tính điều chỉnh sai lệnh.
Tham số được cập nhật được biểu diễn theo công thức dưới đây:
∗ θ +1= −√ +