Tối ưu không ràng buộc (3) – Xuống đồi theo hướng đạo hàm (gradient descent)
Đăng bởi tqlong on Tháng Tư 23, 2008
Trong bài này, ta xem xét một phương pháp tối ưu hóa hay được sử dụng nhất, đó là phương pháp xuống đồi theo hướng véctơ đạo hàm (gradient descent). Đúng như tên gọi của nó, tại mỗi bước lặp, hướng được lựa chọn để giảm giá trị hàm mục tiêu là . Như vậy, nghiệm hiện tại được cập nhật tại bước thứ
bằng luật sau:
Các phương pháp xuống đồi khác nhau ở việc chọn bước nhảy . Cụ thể, ta sẽ tìm hiểu 2 phương pháp:
- Sử dụng bước nhảy Armijo (Armijo Gradient Descent – ArD): Cho
tìm
sao cho:
- Sử dụng bước nhảy tốt nhất có thể được bằng tìm kiếm chính xác (Steepest Descent – StD): tìm
sao cho:
.
Ví dụ: Hình sau (nguồn Wikipedia) là quá trình cực đại hóa hàm số theo hướng đạo hàm (thuật toán StD):
Nhận xét:
- Trên thực tế, ít khi ta sử dụng phương pháp tìm kiếm chính xác (trừ trường hợp
là hàm có dạng đơn giản như hàm tuyến tính, hàm bậc 2, dạng nón ngửa, v.v…).
- Trong cài đặt, nhiều khi người ta sử dụng bước nhảy cố định,
để giảm khối lượng tính toán. Tuy nhiên, các thuật toán xuống đồi với bước nhảy cố định không có đảm bảo hội tụ đến các điểm KKT.
- Các phương pháp sử dụng đạo hàm không làm thay đổi nghiệm hiện tại khi
. Như vậy, các phương pháp sử dụng đạo hàm cho ta các nghiệm thỏa mãn điều kiện cần Karush-Kuhn-Turker (lưu ý là điều kiện KKT chỉ là điều kiện đủ khi hàm mục tiêu là hàm lồi).
- Cũng vì vậy, một thước đo sai số hay được sử dụng trong các phương pháp dùng đạo hàm là
.
- Phương pháp tối ưu sử dụng đạo hàm được ứng dụng rất rộng rãi. Khi áp dụng phương pháp này, cần tính toán được đạo hàm
. Lưu ý là số chiều
có thể rất lớn hoặc cấu trúc của
rất phức tạp nên việc tính toán đạo hàm không phải lúc nào cũng dễ dàng. Một ví dụ là mạng nơron (neural networks) trong trí tuệ nhân tạo. Trước khi có thuật toán lan truyền ngược sai số (error back-propagation) (năm 1986), do không thể tính toán đạo hàm của hàm sai số một cách hiệu quả, người ta đã cho rằng mạng nơron là tuy là mô hình học máy mạnh (có thể xấp xỉ bất cứ hàm “trơn” nào) nhưng lại không thể huấn luyện được.
- Qua hình trên, ta thấy thuật toán StD luôn cho quỹ đạo dích dắc với
tức là đạo hàm tại các nghiệm kế tiếp nhau vuông góc với nhau. Tại sao như vậy? Lý do đơn giản như sau, nếu
thì theo định lý về hướng làm giảm hàm mục tiêu,
hoặc
là hướng làm giảm hàm mục tiêu tại
, mâu thuẫn với cách chọn
trong thuật toán StD:
Định lý (tính hội tụ của phương pháp sử dụng đạo hàm): Giả sử là quỹ đạo của thuật toán ArD (hoặc StD) và hàm
khả vi liên tục và bị chặn dưới, ta có:
- Nếu dãy
bị chặn thì tại các điểm giới hạn
của dãy này ta có
- Nếu
là nghiệm ban đầu và tập
bị chặn thì tại các điểm giới hạn
của quỹ đạo ta có
Nhận xét:
- Đặt
. Định lý trên chứng tỏ, nếu
là điểm giới hạn của
thì
.
- Do quỹ đạo bị chặn nên luôn tồn tại ít nhất một điểm giới hạn.
- Mệnh đề (2) là hệ quả của mệnh đề (1) vì quỹ đạo
nằm trong tập
do tại các bước, thuật toán ArD hay StD đều làm giảm giá trị hàm mục tiêu nên
.
Chứng minh: Chứng minh của định lý trên sử dụng bổ đề sau
Bổ đề: Nếu thì tồn tại lân cận
của
và
sao cho nếu
thì với thuật toán ArD (hoặc StD) ta có
trong đó không phụ thuộc
mà chỉ phụ thuộc vào
. Nghĩa là nếu
, sau mỗi bước lặp của thuật toán ArD, hàm mục tiêu giảm ít nhất là
.
Chứng minh định lý: Giả sử điểm giới hạn của quỹ đạo có
Theo bổ đề trên, tồn tại lân cận của
và
sao cho khi
thì
Vì là điểm giới hạn của dãy
, số bước lặp có
là vô hạn (tức là số lần giảm hàm mục tiêu ít nhất
là vô hạn), suy ra
khi
hay hàm không bị chặn dưới, mâu thuẫn. Vậy
.
Chứng minh bổ đề: Ta chỉ cần chứng minh với thuật toán ArD (tham số ) vì tại mỗi bước lặp, nếu xuất phát ở cùng một điểm
, thuật toán StD luôn giảm hàm mục tiêu nhiều hơn thuật toán ArD.
Xét sao cho
, do hàm
khả vi liên tục nên tồn tại bán kính
sao cho
Đặt , do hàm
khả vi liên tục nên tồn tại bán kính
sao cho
Đặt
Ta sẽ chứng minh bước nhảy Armijo tại mỗi điểm
nhỏ nhất là bằng
Thật vậy, giả sử ngược lại, và đặt
Ta có
Do nên
Vì thế, do nên đoạn thẳng
. Suy ra
trong đó , ta có
Suy ra
Vậy
Hơn nữa, do là bước nhảy Armijo (bước nhảy tốt nhất) nên
Tức là
Suy ra mâu thuẫn, vậy . Ngoài ra.
là bước nhảy thích hợp nên
Vậy, chọn ta có điều phải chứng minh.
Nhận xét:
- Kỹ thuật chứng minh định lý trên là kỹ thuật chung để chứng minh quỹ đạo của thuật toán tối ưu có các điểm giới hạn thỏa mãn
. Điểm mấu chốt là phải chứng minh được khi
thì sẽ có một lân cận
của
và
sao cho thuật toán tối ưu xuất phát từ một điểm
thì sẽ giảm giá trị hàm mục tiêu ít nhất là
.
- Cách chứng minh bổ đề trên khá rắc rối, điểm mấu chốt là ta giữ nguyên
rồi điều chỉnh
(và kèm theo đó là
) để dẫn đến mâu thuẫn. Mâu thuẫn chắc chắn phải xảy ra vì
trong khi đó
do
và




