Thuật toán vƣợt khe

Một phần của tài liệu Nghiên cứu thuật toán tìm nghiệm tối ưu toàn cục trong quá trình luyện mạng nơ - ron - ứng dụng để nhận dạng, điều khiển đối tượng động học phi tuyến (Trang 39)

Chúng ta nhận thấy rằng các điều kiện tối ƣu nói chung chỉ là những điều kiện cần mà không đủ đối với cực tiểu toàn cục. Mà các thuật toán đã có thì đều không đảm bảo chắc chắn rằng sẽ tìm đƣợc điểm cực tiểu toàn cục mà chỉ có khả năng nâng cao cơ hội tìm đến điểm cực tiểu toàn cục mà thôi.

Nhƣ vậy, với những mặt chất lƣợng phức tạp thì càng khó khăn hơn trong quá trình tìm bộ trọng số tối ƣu với thuật toán lan truyền ngƣợc nguyên thủy, ngay cả khi chúng ta thực hiện với bƣớc học cực tiểu hóa theo đƣờng, k1 arg m inJuksk, α ≥ 0, thì vẫn có thể bị tắc tại trục của khe trƣớc khi đạt đƣợc điểm cực tiểu, nếu mặt chất lƣợng có dạng khe. Có thể có một chiến lƣợc tiếp theo để giải quyết tiếp vấn đề khi mà gặp bài toán khe núi này là sau khi đạt tới gần trục khe bằng phƣơng pháp gradient với bƣớc học đƣợc tính bằng cực tiểu hoá theo đƣờng (hoặc với bƣớc học cố định) chúng ta sẽ dịch chuyển dọc theo đáy khe hẹp nhờ sự tiệm cận dần theo dạng hình học của đáy khe hẹp và lúc này thì ngƣời ta có thể giả thiết dạng hình học đó là đƣờng thẳng hoặc xấp xỉ cong bậc hai. Chiến lƣợc lai ghép này (tức là tìm nghiệm bài toán tối ƣu theo hai giai đoạn nhƣ trên) khác với phƣơng pháp đƣợc nghiên cứu và phát trển trong báo cáo này.

Mục tiêu của đề tài là nghiên cứu và áp dụng thuật toán vƣợt khe để tính bƣớc học cho việc tìm bộ trọng số tối ƣu của mạng nơ-ron nhằm giải quyết bài toán điều khiển. Việc sử dụng kết hợp bƣớc vƣợt khe cùng với hƣớng đối gradient sẽ chế ngự quỹ đạo tìm kiếm nhằm tránh rơi vào trục khe trƣớc khi tìm ra điểm cực tiểu. Chúng ta

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

sẽ bắt đầu bằng việc tìm hiểu thuật toán vƣợt khe, tiếp theo, trong chƣơng 3 của nghiên cứu sẽ áp dụng nó kết hợp với thuật toán lan truyền ngƣợc để cài đặt thành một gói phần mềm luyện mạng.

*Tìm hiểu thuật toán vượt khe:

Từ “tối ƣu” có ý nghĩa là tìm giá trị của u để cực tiểu hoá hàm J(u). Tất cả các thuật toán tối ƣu lặp đã biết thì đều bắt đầu từ một việc là khởi tạo một ƣớc lƣợng, u0

, và sau đó thì cập nhật ƣớc lƣợng của u trong các vòng lặp tuân theo phƣơng trình có dạng uk+1 = uk+ksk hoặc Δuk = uk+1 – uk = +ksk. Trong đó vecto sk

thể hiện hƣớng tìm kiếm, và số dƣơng vô hƣớng klà tốc độ học, cái này xác định độ dài của bƣớc tiến. Các thuật toán phân biệt bởi sự lựa chọn của hƣớng tìm kiếm sk. Cũng có một vài biến thể khác nhau để lựa chọn tốc độ học k.

* Thuật toán tính bước học vượt khek:

Ta đã biết các thuật toán tối ƣu hoá lặp đƣợc xây dựng trên hai khái niệm cơ bản là hƣớng thay đổi hàm mục tiêu (hƣớng tìm kiếm) và độ dài bƣớc. Quá trình đó đƣợc mô tả nhƣ sau:

uk+1 = uk+ksk, k = 0,1,… Trong đó: uk

, uk+1 là điểm đầu và điểm cuối của bƣớc lặp thứ k; sk là vectơ chỉ hƣớng thay đổi các biến số trong không gian n chiều; k đƣợc gọi là độ dài bƣớc. Các thuật toán tối ƣu thông thƣờng thì khác nhau về hƣớng chuyển động, hoặc (và) quy tắc điều chỉnh độ dài bƣớc, có thể tóm tắt nhƣ sau:

- Quy tắc điều chỉnh bƣớc đơn giản nhất là cách điều chỉnh bƣớc căn cứ vào điều kiện đơn điệu giảm hàm cực tiểu hoá: J(uk+1) = J(uk+ksk) < J(uk). Đây là điều kiện quá yếu, không đủ đảm bảo hội tụ và không thể tăng tốc độ hội tụ của các thuật toán tối ƣu.

- Quy tắc thứ hai là chọn cố định một đại lƣợng xác định theo điều kiện Lipschitz: L k 1 0 , 1     

 trong đó L là hằng số Lipschitz của hàm mục tiêu. Điều kiện Lipschitz đủ đảm bảo tính đơn điệu và hội tụ của quá trình tối ƣu hoá, tuy nhiên vẫn có khó khăn là hằng số Lipschitz thì không thể biết đƣợc, không thể xác định đƣợc, và hơn nữa các thuật toán sử dụng phƣơng pháp này hội tụ chậm.

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

- Quy tắc điều chỉnh bƣớc thứ ba [1], theo quy tắc này thì bƣớc chuyển động 

xác định bởi điều kiện đạt cực tiểu theo hƣớng chuyển động nhƣ sau

k k

s u J

k 1 argmin .

    ,  0. Theo bƣớc chuyển động này thì chúng ta giải bài toán tối ƣu hàm một biến nhƣ sau:

 .  argmin  , 0 min arg 1         J u s h k k k

Nghiệm tối ƣu chính là điểm tiếp xúc của vectơ hƣớng tìm sk

với một đƣờng đồng mức của J(u), cụ thể là hàm h() sẽ giảm từ  = 0 đến điểm cực tiểu và sau đó tăng với  . Chúng ta có một số thuật toán để tìm  là, lát cắt vàng [1], phƣơng pháp điểm giữa [2], phƣơng pháp xấp xỉ bậc hai [2].

- Quy tắc điều chỉnh bƣớc thứ tƣ là quy tắc xác định của GelJand, theo quy tắc đó thì độ dài bƣớc xác định bởi phép ngoại suy [2].

- Quy tắc thứ năm là điều chỉnh bƣớc theo quy luật chuỗi số định trƣớc, áp dụng cho các bài toán hàm mục tiêu không trơn và hàm ngẫu nhiên, độ dài bƣớc xác định theo điều kiện Dvoreskyi [2],  

1 k k  ,   1 2 k k  , lim 0   k k  . Các phần tử k chọn nhƣ sau:   , 0, 0.5 1 2     b c k b k

Sự khác biệt cơ bản của phương pháp vượt khe so với các phương pháp khác là ở quy tắc điều chỉnh bước. Theo quy tắc điều chỉnh bước của phương pháp vượt khe thì độ dài bước của điểm tìm kiếm ở mỗi bước lặp không nhỏ hơn độ dài bước nhỏ nhất mà tại đó hàm mục tiêu đạt giá trị cực tiểu (địa phương) theo hướng chuyển động tại bước lặp đó. Điều này thể hiện rất rõ trong các nguyên lý cơ bản của phương pháp vượt khe.

Một phần của tài liệu Nghiên cứu thuật toán tìm nghiệm tối ưu toàn cục trong quá trình luyện mạng nơ - ron - ứng dụng để nhận dạng, điều khiển đối tượng động học phi tuyến (Trang 39)

Tải bản đầy đủ (PDF)

(99 trang)