- Posted by: Tommy Tran
- Wed, 15/02/2023, 15:48 (GMT+7)
- 0 Bình luận
Một số thuật toán tối ưu cơ bản trong deep learning – Basic Optimization Algorithms
Trong series này, chúng ta sẽ khảo sát về một số thuật toán tối ưu được sử dụng phổ biến trong các mô hình deep learning.
Để mô hình deep learning có thể học được từ dữ liệu đầu vào, ta cần định nghĩa có mô hình một hàm mất mát – loss function. Mục đích sử dụng thuật toán tối ưu để tối ưu hàm loss hay còn gọi là hàm mục tiêu (objective function).
Việc sử dụng các thuật toán tối ưu nhằm để tìm sai số nhỏ nhất của hàm loss của mô hình deep learning, tuy nhiên, về bản chất, mục đích của việc tối ưu hàm mất mát và deep learning là khác nhau. Mục đích của việc sử dụng thuật toán tối ưu liên quan đến việc đi tối thiểu hóa một hàm, trong khi, deep learning sử dụng thuật toán tối ưu để tìm ra một bộ tham số phù hợp với yêu cầu của bài toán trên một tập dữ liệu hữu hạn.
Các mô hình deep learning thường chia tập dữ liệu thành 2 phần train và test dùng cho việc huấn luyện và đánh giá. Thuật toán tối ưu sẽ đi tối ưu sai số của mô hình trên tập train. Tuy nhiên, mục đích mô hình deep learning học từ dữ liệu đầu vào là giảm thiểu sai số dự đoán trên toàn bộ tập dữ liệu (sai số khái quát).
>> Lý thuyết về thuật toán quay lui Back Track
>> Lý thuyết đồ thị - Đường đi - Chu trình - Đồ thị liên thông
Một số vấn đề của thuật toán tối ưu trong deep learning:
1. Local minima
Các hàm đối tượng được sử dụng để tối ưu trong mô hình deep learning thường rất phức tạp, liên quan đến các công thức toán học (phương pháp định lượng). Điều này dẫn đến một số vấn đề có thể gặp phải trong quá trình học ảnh hưởng đến chất lượng của mô hình deep learning như local minima, saddle points hay vanishing gradients.Local minima
Giả sử ta chọn một hàm f(x) làm hàm mục tiêu cho mô hình của mình. Nếu một giá trị nào đó của hàm f(x) tại điểm x nhỏ hơn bất kì giá trị của hàm f(x1) tại các điểm x1 là lân cận của x thì x là điểm local minimum (cực tiểu) mà tại đó hàm f đạt giá trị nhỏ nhất. Khái niệm global minimum là một trường hợp đặc biệt của local minimum. Nếu giá trị của hàm f(x) tại điểm x là nhỏ nhất trên toàn bộ miền giá trị của hàm số thì x là điểm global minimum.
Hàm mục tiêu trong các mô hình deep learning thường có rất nhiều điểm local minimum trên từng miền giá trị của hàm số. Một mô hình học có thể chỉ học được các tham số tại các điểm local minimum, thay vì tại điểm global minimum (khi đạo hàm của hàm số bằng 0). Đây cũng là lí do một số thuật toán tối ưu thường được sử dụng như SGD để giải quyết vấn đề này.
2. Saddle points
Saddle points (điểm yên ngựa) là một vấn đề khác cũng có thể gặp phải khi đi tối ưu hàm mục tiêu. Điểm yên ngựa là điểm trên đồ thị của hàm mà tại đó các sườn theo hướng trực giao đều bằng 0 nhưng không phải là điểm cực trị của hàm số.
3. Vanishing gradients
Một vấn đề được xem là phổ biến hay gặp phải khi tối ưu hàm mục tiêu đó là vanishing gradients (mất mát đạo hàm).
Chọn hàm f(x) = tanh(x) làm một ví dụ. Với x = 4, f'(x) = 1 – tanh2(x) = 0.0013. Nếu tiếp tục đạo hàm, giá trị nhận được càng ngày càng nhỏ, và tiến dần về 0. Tham số của mô hình sẽ không được cập nhật và mô hình sẽ không thể học tiếp được.
Hàm ReLU được sử dụng làm hàm kích hoạt phổ biến trong các mô hình deep learning hiện tại nhắm giải quyết vấn đề này.
Summary
Việc sử dụng các thuật toán tối ưu trong mô hình deep learning để tối ưu sai số huấn luyện (training error) không đảm bảo sẽ tìm ra được bộ tham số tốt nhất cho mô hình.
Vanishing gradients sẽ ngăn việc tìm được điểm cực tiểu của hàm mục tiêu. Vấn đề có thể được giảm thiểu bằng cách chọn khởi tạo bộ tham số đầu vào, dùng hàm kích hoạt ReLU trong kiến trúc của mô hình
Add Comment