Huấn luyện Gradient Descent

Một phần của tài liệu Kỹ thuật huấn luyện mạng neural và các vấn đề thực tế (Trang 25)

Có nhiều thuật toán có thể dùng cho việc huấn luyện các mô hình mạng nơ-ron; hầu hết có thể được xem là áp dụng trực tiếp của lý thuyết tối ưu hóa và ước lượng thống kê.

Phần lớn các thuật toán huấn luyện mạng nơ-ron sử dụng một kiểu xuống dốc (gradient descent - tiến dần tới cực tiểu địa phương) nào đó. Điều này được thực hiện bằng cách lấy đạo hàm của hàm chi phí theo các tham số của mạng và thay đổi các tham số đó theo một hướng được tính toán theo độ dốc (gradient-related direction) để tiến dần tới cực tiểu địa phương của hàm chi phí.

Các phương pháp thường dùng cho huấn luyện mạng nơ-ron là: phương pháp tiến hóa, giải thuật luyện kim (simulated annealing), expectation maximisation (cực đại hóa kỳ vọng) và các phương pháp không tham số (non-parametric methods)

Kết quả trả về mong muốn của mạng: (18)

Các luật huấn luyện từ (3) đến (6) có thể biểu diễn một cách thuận tiện hơn, chúng có thể được tóm lược theo một dạng gọi là luật delta, thể hiện như sau:

Sự khác biệt của dk-yk đóng vai trò tín hiệu báo lỗi và k tương ứng với mẫu huấn luyện hiện tại. Tham số tỷ lệ huấn luyện là một hằng số dương giới hạn trong khoảng

0 ≤ n ≤ 1. Nguyên tắc huấn luyện là làm tăng đầu ra y bằng cách làm tăng w khi

e=d–y là số dương.

Do đó wi tăng nếu ui dương, và wi giảm nếu ui âm. Các tính năng theo ba nguyên tắc như sau:

- Đơn giản.

- Việc huấn luyện có thể thực hiện cục bộ tại mỗi noron.

- Việc cập nhật trọng số được thực hiện ngay và dùng những trọng số này để huấn luyện cho những mẫu kế tiếp.

Mục đích cuối cùng của việc huấn sửa lỗi là giảm tối thiểu hàm chi phí dựa trên tín hiệu báo lỗi e. Phản hồi của mỗi đầu ra của mạng noron gần đáp ứng được mục tiêu của mạng noron trong các trường hợp thống kê phán đoán. Thật vậy, một khi hàm đánh giá được chọn thì sự huấn luyện thật sự là vấn đề tối ưu hóa. Giá trị của hàm phổ biến là tổng bình phương của error:

Tổng tất cả các noron đầu ra của mạng ( chỉ số r). Mạng được huấn luyện bằng cách giảm thiểu đối với các trọng số, điều này dẫn đến phương pháp gradient descent. Phân số ½ dùng để đơn giản hóa sự khác biệt khi giảm thiểu . Một đồ thị biểu diễn giá

trị hàm (w) là một mặt phẳng đa chiều error – surface. Tùy thuộc vào loại hàm kích hoạt được sử dụng cho mạng chúng ta có thể gặp hai trường hợp:

1- Mạng hoàn toàn là những noron tuyến tính ( Mặt phẳng error là một hàm bậc hai của trọng số, có hình chảo với một điểm tối thiểu duy nhất).

2- Mạng gồm những noron không tuyến tính. ( Toàn bộ bề mặt cực tiểu). Trong cả hai trường hợp, mục tiêu của việc huấn luyện bắt đầu từ một điểm bất kỳ trên bề mặt, được xác định bởi trọng số và các yếu tố đầu vào ban đầu, di chuyển theo hướng cực tiểu toàn bộ từng bước một. Điều này khả thi với trường hợp thứ nhất, trong khi với trường hợp thứ hai thuật toán có thể bị vướng trong một tối tiểu cục bộ mà không bao giờ đạt tối tiểu toàn cục.

Hình 9: Ví dụ về bề mặt lỗi của một mạng Perceptron đơn giản.

Để xem bề mặt lỗi được hình thành như thế nào chúng ta sẽ tiến hành phân tích một mạng Perceptron đơn giản với một noron , đầu vào , một đối số, một hàm kích hoạt tuyến tính. Đầu ra của mạng là:

(22)

Giả sử cho một đầu vào cụ thể u=1, và một đầu ra mong muốn d=0.5, chúng ta có đồ thị mặt phẳng lỗi và hàm như sau:

(27)

Nếu có K mẫu trong tập huấn luyện, thì u, yd trở thành những vector có chiều dài K, và bình phương của các lỗi sẽ là tổng của các trường hợp w0, w1:

Tóm lại để nhỏ thì phải thay đổi trọng số theo hướng tiến dần về số âm của . Điều đó có nghĩa là:

Ở đây e được thay thế cho. Đạo hàm của cho biết error bị ảnh hưởng bao nhiêu bởi việc thay đổi trọng số. Có nhiều sự lựa chọn giá trị hàm (21), nếu giá trị được chọn là:

Phương pháp gradient cho thấy: IV.CÁC VẤN ĐỀ THỰC TẾ

Mạng noron có thể mô hình hóa các hệ thức không tuyến tính, từ những nghiên cứu trên, thậm chí có thể tìm ra mẫu của những loài thực vật chưa biết.Tuy nhiên trong thực tế , có một số những khó khăn đe dọa sự phát triển, chẳng hạn như quyết định số lượng cần thiết và đầy đủ các nút trong mạng. Có nhiều cách thiết kế cho mạng noron , trong phần tiếp theo sẽ tìm hiểu những nguyên tắc cơ bản.

1. Tỉ lệ huấn luyện

Nếu thông số quá lớn thì việc huấn luyện sẽ không hiệu quả, theo các nghiên cứu thì nên giảm dần trong khoảng từ 0.1 xuống 0.001.

Trong thuật toán lan truyền ngược có trường hợp chỉ đạt được tối thiểu cục bộ của hàm lỗi, tìm kiếm có thể chậm, đặc biệt là gần tới mức tối thiểu. Một cách đơn giản để cải thiện tình trạng này và tránh sự bất ổn định là thay đổi các qui tắc delta bởi thuật ngữ momentum:

ở đây là một hằng số dương được gọi là hằng số momentum. Hiệu ứng này là một bộ lọc tần số thấp gia tăng trọng số cập nhật, do đó giảm nguy cơ mắc kẹt trong một cực tiểu cục bộ. Vì vậy cần áp dụng những qui tắc sau đây:

• Để việc huấn luyện ổn định, hằng số luôn phải ở trong khoảng từ . Khi có nghĩa là thuật toán lan truyền ngược thực hiện mà không có hằng số . Lưu ý rằng có

thể âm, mặc dù điều này không được khuyến khích trong huấn luyện mạng. Thông thường chọn từ 0.2, 0.3,…,0.9.

• Khi đạo hàm riêng có cùng dấu liên tục. Tổng tăng lên, và trọng số được điều chỉnh bằng một số lớn.

• Khi đạo hàm riêng trái dấu liên tục. Tổng giảm xuống, và trọng số được điều chỉnh bằng một số nhỏ.

Thuật ngữ momentum cũng có thể ngăn chặn việc huấn luyện kết thúc trong một cực tiểu cục bộ trên bề mặt lỗi.

2. Phương pháp huấn luyện mạng theo mẫu gốc (pattern) và xử lý theo khối(batch).

Mạng lan truyền ngược có thể bắt đầu bằng một trong hai cách sau:

• Chế độ pattern: trọng số được cập nhật sau mỗi mẫu huấn luyện, để chính xác, chúng ta sẽ xem xét một giai đoạn gồm K mẫu huấn luyện được sắp xếp theo thứ tự [u1, d1] … [uk, dk]. Mẫu đầu tiên [u1, d1] đưa vào mạng, những tính toán chuyển tiếp và ngược lại được thực hiện. Sau đó mẫu thứ hai [u2, d2] được đưa vào mạng, lặp lại các bước tính toán, tiếp tục như thế cho đến mẫu cuối cùng. • Chế độ batch: trọng số được cập nhật sau khi đưa vào mạng tất cả các mẫu huấn

luyện.

Từ một điểm trên đường mạng, nơi mà dữ liệu được thể hiện như một chuỗi thời gian, thì chế độ pattern sử dụng bộ nhớ lưu trữ ít hơn. Tuy nhiên cho một mẫu gốc ngẫu nhiên, việc tìm kiếm trong không gian trọng số trở nên ngẫu nhiên và mạng lan truyền ngược ít có khả năng mắc kẹt trong một cực tiểu cục bộ.

Tuy nhiên, chế độ batch thích hợp cho việc cung cấp ước lượng một cách chính xác vector gradient. Do đó việc lựa chọn giữa hai phương thức trên phụ thuộc vào sự lụa chọn của mỗi người.

3. Khởi tạo giá trị ban đầu

Việc lựa chọn tốt giá trị ban đầu của trọng số là quan trọng, thông thường việc khởi tạo trọng số ban đầu được phân bổ một cách ngẫu nhiên đồng đều các giá trị trong một phạm vi nhỏ.

Lựa chọn sai giá trị ban đầu của trọng số có thể dẫn đến sự bão hòa khi giá trị là một hằng số không đổi trong suốt quá trình huấn luyện, tương ứng với việc dồn về một điểm trên bề mặt lỗi.

Thực hiện các quan sát sau đây:

• Để tránh độ bão hòa không đúng thì nên chọn giá trị trọng số ban đầu nằm bên trong phạm vi các giá trị nhỏ (small).

• Độ bão hòa không đúng ít có khả năng xảy ra khi số lượng các neural ẩn thấp.

• Độ bão hòa không đúng cũng hiếm khi xảy ra khi các neural hoạt động trong vùng tuyến tính của nó.

4. Hiệu chỉnh tỷ lệ.

Các dữ liệu huấn luyện mạng thường phải được thu hẹp. Dữ liệu được đo bằng các đơn vị vật lý, thường có thứ tự khác nhau về cường độ. Điều này gặp khó khăn khi hàm kích hoạt được xác định trên những đối tượng tiêu chuẩn.

Trong trường hợp kích hoạt S-shape, có nguy cơ các neural sẽ hoạt động trên đoạn cuối của hàm kích hoạt, gây ra hiện tượng bão hòa và gia tăng thời gian huấn luyện.

Một vấn đề khác là hàm lỗi ưu tiên các phần tử được đo tình cờ trong một đơn vị đo có cường độ lớn.

Hiệu chỉnh tỷ lệ có thể tránh được những vấn đề này. Sơ đồ hóa dữ liệu là một cách mà tỉ lệ tín hiệu có giá trị m là 0 và một độ lệch chuẩn s là một:

Với x là một tập hợp những đại lượng vật lý và x* tương ứng với một vector trong mạng.

KẾT LUẬN

Mạng bị ảnh hưởng rất nhiều từ trạng thái khởi đầu của những tham số. Trong quá trình học, mạng cố gắng đều chỉnh các tham số sao cho tổng bình phương lỗi là nhỏ nhất. Khả năng hội tụ của mạng phụ thuộc vào các tham số khởi đầu, khả năng tổng quát hóa thì lại phụ thuộc rất nhiều vào dữ liệu đầu vào.

Đối với mạng neural một vấn đề nữa là khả năng rơi vào cực tiểu cục bộ. Thuật toán lan truyền ngược lỗi không đảm bảo cho ta điểm cực tiểu toàn cục. Nếu rơi vào cực tiểu cục bộ ta sẽ phải bắt đầu huấn luyện lại, điều này sẽ khiến mạng neural sẽ không áp dụng được trong thực tế đối với các bài toán yêu cầu độ chính xác cao và thời gian tối thiểu. Do đó giải pháp xác định tỉ lệ huấn luyện là một trong các hướng để có thể vượt qua các nhược điểm trên. Ngoài ra, nếu dữ liệu phân bố không đồng đều trên từng mẫu thì khả năng tổng quát hóa cũng không tốt.

TÀI LIỆU THAM KHẢO

1- GS.TSKH Hoàng Kiếm - Slide bài giảng CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG – Trường ĐH CNTT _ Đại học QG Tp Hồ Chí Minh.

2- GS.TSKH Hoàng Kiếm - Giáo trình công nghệ tri thức và ứng dụng - năm 2004. 3- Agarwal, M. (1997). A systematic classification of neural-network-based control,

IEE CONTROL SYSTEM 17__(2): 75–93.

4- Demuth, H. and Beale, M. (1992). The Math-Works, Inc, Natick, MA, USA. 5- System Identification and Control with Neural networks – PhD thesis, Technical

Một phần của tài liệu Kỹ thuật huấn luyện mạng neural và các vấn đề thực tế (Trang 25)

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

(31 trang)
w