Thuật toán di truyền so với phương pháp gradient liên hợp


8

Tôi đang cố gắng tối ưu hóa một số tham số trường lực trong khung phân tử để kết quả mô phỏng đến gần nhất có thể với cấu trúc thí nghiệm.

Trước đây, tôi đã viết một thuật toán di truyền trong đó về cơ bản tôi lấy mẫu không gian tham số, chọn tổ hợp hoạt động tốt nhất, tạo tập hợp các tham số bị đột biến và lặp lại quy trình cho đến khi tôi có được tham số tốt nhất cho hàm mục tiêu. Tôi cũng thực hiện một số tối ưu hóa của chính thuật toán, trong đó phân phối các giá trị bị đột biến được tối ưu hóa để ưu tiên hội tụ nhanh hơn.

Cố vấn của tôi chưa nghe nói về thuật toán di truyền và tôi chưa bao giờ nghe về các phương pháp mà ông đề xuất: phương pháp gradient liên hợp và thuật toán đơn giản.

Trong tình huống của tôi, hàm mục tiêu là một hàm của độ lệch của mọi nguyên tử so với vị trí thử nghiệm của nó (vì vậy nó là tối ưu hóa cấu trúc). Hệ thống là 4-10K nguyên tử. Có đáng để đầu tư một chút thời gian vào việc học CGM hoặc thuật toán đơn giản không? Trong cả ba, cái nào là tốt nhất cho tình huống này?


5
Luôn luôn đáng để dành thời gian để tìm hiểu về một công cụ mới. (Các phương pháp liên kết độ dốc và đơn giản tương ứng là các con ngựa của tối ưu hóa phi tuyến tính và tuyến tính, và có rất nhiều ứng dụng.)
Christian Clason

Câu trả lời:


12

Phương pháp gradient liên hợp là tốt để tìm tối thiểu của một hàm lồi nghiêm ngặt. Đây là điển hình khi bạn định dạng lại PDE phi tuyến tính như một vấn đề tối ưu hóa. Nếu bạn muốn tìm hiểu về nó, trước tiên tôi khuyên bạn nên đọc về phương pháp CG cho các hệ thống tuyến tính, trong đó Giới thiệu về Phương pháp Gradient liên hợp mà không có nỗi đau Agonizing là một tài liệu tham khảo tốt. Thật không may, nhiều cuốn sách xử lý nó bằng cách kéo thuật toán ra khỏi mũ mà không quan tâm nhất đến việc bạn có hiểu nó ở mức độ trực quan hay không, do đó có tiêu đề. Từ đó, không phải là một bước nhảy vọt để xem làm thế nào người ta có thể nghĩ ra một phương pháp gradient liên hợp phi tuyến.

Từ những gì tôi biết về thuật toán di truyền, chúng sẽ phù hợp hơn với việc tìm ra mức tối thiểu toàn cầu của một hàm mục tiêu có nhiều cực tiểu cục bộ, có thể là trường hợp cho các hệ thống phân tử có nhiều điểm cân bằng siêu ổn định. Trong trường hợp đó, hàm mục tiêu không lồi ở mọi nơi, điều này không cho phép sử dụng CG. Chi phí là sự hội tụ chậm hơn của các thuật toán ngẫu nhiên.

Việc bạn học về CG có đáng hay không phụ thuộc vào:

  • có hay không áp dụng CG
  • cách tiếp cận của bạn đã nhanh như thế nào
  • CG có thể nhanh hơn bao nhiêu (tôi đoán: rất nhiều, nếu bạn có thể sử dụng nó)
  • bạn sẽ dành bao nhiêu thời gian để học / mã hóa CG
  • thật tệ khi bạn không muốn tỏ ra thờ ơ với cố vấn của mình
  • Làm thế nào lớn bạn mong đợi vấn đề của bạn để có được sau này.

Hai xu của tôi: đó là một công cụ khá gọn gàng, nhưng tôi sử dụng nó mọi lúc nên tôi thiên vị.


2
+1 cho 'Giới thiệu về Phương pháp Gradient liên hợp mà không có nỗi đau đau đớn'
Subodh

3

Bạn cũng có thể nhìn vào CMAES . Về cơ bản, nó tập trung vào CG cho các hàm lồi, nhưng đại diện cho trình tối ưu hóa toàn cầu và mạnh mẽ cho các loại hàm khác (bao gồm các hàm không lồi với nhiều cực tiểu). Tôi chưa thấy, tuy nhiên, ứng dụng của nó cho bất cứ điều gì lớn hơn một vài trăm ẩn số.

Cũng lưu ý rằng CG có thể được áp dụng kết hợp với chính quy hóa Tikhonov, theo cách nào đó, làm cho chức năng của bạn lồi hơn và dễ dàng giảm thiểu hơn, mặc dù với chi phí sai lệch trong giải pháp, thường được chấp nhận đánh đổi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.