Các kỹ thuật tối ưu hóa khác
Kỹ thuật Gradient Descent được lặp lại
Gradient descent, còn được gọi là dốc xuống dốc nhất, là một thuật toán tối ưu hóa lặp đi lặp lại để tìm điểm tối thiểu cục bộ của một hàm. Trong khi giảm thiểu chức năng, chúng tôi quan tâm đến chi phí hoặc lỗi cần được giảm thiểu (Hãy nhớ vấn đề người bán hàng đi du lịch). Nó được sử dụng rộng rãi trong học sâu, hữu ích trong nhiều tình huống. Điểm cần lưu ý ở đây là chúng tôi quan tâm đến tối ưu hóa cục bộ chứ không phải tối ưu hóa toàn cầu.
Ý tưởng làm việc chính
Chúng ta có thể hiểu ý tưởng hoạt động chính của gradient descent với sự trợ giúp của các bước sau:
Đầu tiên, hãy bắt đầu với phỏng đoán ban đầu về giải pháp.
Sau đó, lấy gradient của hàm tại điểm đó.
Sau đó, lặp lại quy trình bằng cách hướng dung dịch theo hướng âm của gradient.
Bằng cách làm theo các bước trên, thuật toán cuối cùng sẽ hội tụ ở nơi gradient bằng không.
Khái niệm toán học
Giả sử chúng ta có một hàm f(x)và chúng tôi đang cố gắng tìm mức tối thiểu của hàm này. Sau đây là các bước để tìm mức tối thiểu củaf(x).
Đầu tiên, hãy cung cấp một số giá trị ban đầu $ x_ {0} \: cho \: x $
Bây giờ lấy hàm gradient $ \ nabla f $ of, với trực giác rằng gradient sẽ cho độ dốc của đường cong tại đó x và hướng của nó sẽ chỉ đến sự gia tăng của chức năng, để tìm ra hướng tốt nhất để giảm thiểu nó.
Bây giờ thay đổi x như sau:
$$ x_ {n \: + \: 1} \: = \: x_ {n} \: - \: \ theta \ nabla f (x_ {n}) $$
Đây, θ > 0 là tốc độ đào tạo (kích thước bước) buộc thuật toán thực hiện các bước nhảy nhỏ.
Ước tính kích thước bước
Trên thực tế, kích thước bước sai θcó thể không đạt đến sự hội tụ, do đó, việc lựa chọn cẩn thận giống nhau là rất quan trọng. Các điểm sau phải được ghi nhớ khi chọn kích thước bước
Không nên chọn kích thước bước quá lớn, nếu không sẽ có tác động tiêu cực, tức là nó sẽ phân kỳ chứ không hội tụ.
Không nên chọn kích thước bước quá nhỏ, nếu không sẽ mất nhiều thời gian để hội tụ.
Một số tùy chọn liên quan đến việc chọn kích thước bước -
Một tùy chọn là chọn kích thước bước cố định.
Một tùy chọn khác là chọn kích thước bước khác nhau cho mỗi lần lặp.
Ủ mô phỏng
Khái niệm cơ bản về ủ mô phỏng (SA) được thúc đẩy bởi quá trình ủ trong chất rắn. Trong quá trình ủ, nếu chúng ta đốt nóng một kim loại trên nhiệt độ nóng chảy của nó và làm nguội nó thì các đặc tính cấu trúc sẽ phụ thuộc vào tốc độ nguội. Chúng ta cũng có thể nói rằng SA mô phỏng quá trình luyện kim của quá trình ủ.
Sử dụng trong ANN
SA là một phương pháp tính toán ngẫu nhiên, lấy cảm hứng từ phép loại suy Annealing, để ước tính tối ưu hóa toàn cục của một hàm nhất định. Chúng ta có thể sử dụng SA để đào tạo mạng nơ-ron chuyển tiếp.
Thuật toán
Step 1 - Tạo một giải pháp ngẫu nhiên.
Step 2 - Tính giá thành của nó bằng cách sử dụng một số hàm chi phí.
Step 3 - Tạo một giải pháp lân cận ngẫu nhiên.
Step 4 - Tính toán chi phí giải pháp mới theo cùng một hàm chi phí.
Step 5 - So sánh chi phí của một giải pháp mới với một giải pháp cũ như sau:
Nếu CostNew Solution < CostOld Solution sau đó chuyển sang giải pháp mới.
Step 6 - Kiểm tra điều kiện dừng, có thể là số lần lặp tối đa đạt được hoặc có được giải pháp chấp nhận được.