Giảm dần độ dốc

học sâu
toán học
giảm độ dốc
Giảm dần độ dốc cover image

Giới thiệu

Hãy tưởng tượng rằng chúng ta có một hàm f(x)f(x) và chúng ta muốn tìm giá trị tối thiểu của nó. Bạn sẽ làm gì?

Đơn giản phải không? Ta chỉ cần giải phương trình sau:

f(x)=0f'(x) = 0

Vấn đề là việc tìm ra công thức của ff' không phải lúc nào cũng dễ dàng vì chúng có xu hướng cực kỳ phức tạp, đặc biệt là trong học sâu nơi chúng ta xử lý các hàm phức tạp. Vì vậy, chúng ta cần tìm một phương pháp khác có thể cung cấp cho chúng ta giá trị tối thiểu của hàm mà không cần tìm công thức đạo hàm ff'.

Hãy xây dựng trực giác

Giả sử chúng ta có hàm f với đồ thị tương ứng:

Graph 1

Hãy bắt đầu với một điểm ngẫu nhiên x0x_{0}. Mục tiêu là di chuyển điểm này và làm cho nó ngày càng gần xx* sao cho f(f'(x*)=0) = 0. Vì vậy, vấn đề có thể được chia thành hai phần:

  • Chúng ta nên di chuyển điểm xx theo hướng nào? Trái hay phải?

  • Chúng ta nên di chuyển nó bao nhiêu?

Phương hướng

Hãy xây dựng một số trực giác để trả lời câu hỏi đầu tiên. Hãy xem xét điểm sau:

Graph 2

Graph 3

Lưu ý rằng:

  • khi điểm x0x_{0} ở bên phải điểm tối ưu xx* thì đường tiếp tuyến của nó đi lên.

  • khi điểm x0x_{0} ở bên phải điểm tối ưu xx* thì đường tiếp tuyến của nó đi xuống.

Hướng của một đường được xác định bởi dấu của độ dốc của nó:

  • Một đường đi lên \ngyˊ\ngụ ý độ dốc aadương.

  • Một đường đi xuống \ngyˊ\ngụ ý độ dốc aaâm.

Lưu ý rằng: \

Độ dốc của tiếp tuyến của hàm số tại một điểm x0x_{0} không lớn hơn đạo hàm tại điểm đó f(x0)f'(x_{0}):

tangent(x0):g(x)=f(x0).(xx0)+f(x0)tangent(x*{0}): g(x) = f'(x*{0}).(x-x*{0}) + f(x*{0})

Vì vậy, để trả lời câu hỏi "Chúng ta nên di chuyển x0x_{0} ?":

  • f(x0)<0f'(x_{0}) < 0     \implies x0x_{0} ở bên phải xx*     \implies Chúng ta cần di chuyển x0x_{0} sang trái.

  • f(x0)>0f'(x_{0}) > 0     \implies x0x_{0} sang bên trái của xx*     \implies Chúng ta cần di chuyển x0x_{0} sang bên phải.

##Các bước

Bây giờ là câu hỏi thứ hai, Chúng ta nên di chuyển x0x_{0} bao nhiêu?

Hãy xem các ví dụ sau:

Graph 4

Graph 5

Chúng ta có thể kết luận rằng:

  • x0x_{0} gần với xx* => Độ dốc của tiếp tuyến nhỏ => f(x0)f'(x_{0}) nhỏ.

  • x0x_{0} ở xa xx* => Độ dốc của tiếp tuyến lớn => f(x0)f'(x_{0}) lớn.

Bằng cách trả lời cả hai câu hỏi, chúng tôi kết luận rằng chỉ kiến ​​thức về đạo hàm tại điểm x0x_{0} mới có thể cung cấp cho chúng tôi nhiều hiểu biết sâu sắc về hướng và khoảng cách của điểm tối ưu x0x_{0}.

Giảm dần độ dốc

Giảm dần độ dốc là công thức của câu trả lời cho hai câu hỏi trước. Đó là một thuật toán lặp tối ưu hóa xấp xỉ xx* tối thiểu của hàm bắt đầu từ điểm ban đầu ngẫu nhiên x0x_{0}. Thuật toán được phát biểu như sau:

xn+1=xnlr×dfdx_nx*{n+1} = x*{n} - lr \times \frac{\mathrm{d} f}{\mathrm{d} x\_{n}}

Ở đâu:

  • dfdxn\frac{\mathrm{d} f}{\mathrm{d} x*{n}} không lớn hơn đạo hàm của ff tại điểm xnx*{n}.

  • lrlr là hằng số dương xác định mức độ lớn của các bước.

Lưu ý rằng:

  • xnx_{n} nằm ở bên phải của xx* => dfdxn>0\frac{\mathrm{d} f}{\mathrm{d} x_{n}} > 0 => xn+1=xndươngx_{n+ 1} = x_{n} - dương => xnx_{n} di chuyển sang trái.

  • xnx_{n} nằm ở bên trái của xx* => dfdxn<0\frac{\mathrm{d} f}{\mathrm{d} x_{n}} < 0 => xn+1=xn+dươngx*{n +1} = x*{n} + dương => xnx_{n} di chuyển sang phải.

  • xnx_{n} gần với xx* => dfdxn\frac{\mathrm{d} f}{\mathrm{d} x_{n}} gần với 00 => Cập nhật nhỏ cho xnx_{ n}.

Câu đố

  • Khi nào việc giảm độ dốc dừng lặp lại:

  • Khi xnx_{n} đủ nhỏ.

  • Khi xnx_{n} gần với x0x_{0} .

  • Khi dfdx_n=0\frac{\mathrm{d} f}{\mathrm{d} x\_{n}} = 0 . XXX

  • Chúng ta chọn x0x_{0} như thế nào:

  • Chúng tôi chọn ngẫu nhiên. XXX

  • Chúng ta lấy nó ở lân cận xnx{n}.

  • Tùy vào vấn đề.

  • Tại sao chúng ta cần giảm độ dốc:

  • Vì máy tính không đủ mạnh để tính đạo hàm.

  • Bởi vì việc tìm ra công thức đạo hàm của các mô hình deep learning cực kỳ khó khăn. XXX

  • Bởi vì hàm có nhiều cực tiểu cục bộ.


Career Services background pattern

Dịch vụ nghề nghiệp

Contact Section background image

Hãy giữ liên lạc

Code Labs Academy © 2025 Đã đăng ký Bản quyền.