Cách huấn luyện cho một mạng nơron hồi quy

Một phần của tài liệu nghiên cứu về mạng neural convolutional, áp dụng vào bài toán nhận dạng đối tượng trong lĩnh vực thị giác máy tính (Trang 26 - 32)

Như ví dụ trên, có một nút A kết nối với nút B và một chu kỳ đến chính nút A. Mạng nơ ron hồi quy không xử lý đường dẫn tuần hoàn và các kết nối cùng một lúc. Mạng nơ ron hồi quy giả sử rằng đầu ra của nút A trong thời gian n là đầu vào của nút B và nút A trong thời gian n + 1. Vì vậy, ngồi tính chất kéo dài trong khơng gian khi kết nối với các tầng nơ ron tiếp theo, mạng nơ ron hồi quy cũng nằm sâu trong thời gian. Vì vậy, các mạng nơ ron hồi quy có thể mơ hình hóa các hệ thống thay đổi theo bối cảnh. Ví dụ: mạng nơ ron hồi quy thường được sử dụng trong xử lý ngôn ngữ theo ngữ cảnh. Mạng

nơ ron hồi quy có thể xử lý các phụ thuộc xa (long-term dependencies) theo mốc thời gian, ví dụ như mạng bộ nhớ dài-ngắn (Long Short Term Memory networks).

1.2.3 Mạng nơ ron lan truyền ngược

1.2.3.1 Tổng quan về mạng nơ ron lan truyền ngược

Giải thuật lan truyền ngược được mô tả ngắn gọn như sau:

1. Bước 1: Lan truyền. Giai đoạn lan truyền có hai bước, lan truyền tiến và lan truyền ngược. Bước lan truyền tiến là nhập dữ liệu huấn luyện vào các mạng nơ ron và tính tốn đầu ra. Sau đó, dựa vào kết quả đầu ra, so sánh với dữ liệu huấn luyện. Chúng ta có thể sử dụng lan truyền ngược để cập nhật ngược lại trọng số lại cho các nơron trong các tầng trước đó.

2. Bước 2: Cập nhật trọng số. Mạng cập nhật các giá trị của trọng số của nơ ron theo lỗi của kết quả đầu ra.

3. Bước 3: Lặp hai bước trên. Lặp lại bước một và hai cho đến khi sai số tối thiểu. Sau đó kết thúc khóa huấn luyện.

1.2.3.2 Cách thức lan truyền ngược

1. Sử dụng để biểu diễn đầu vào cho nút của lớp .

2. Sử dụng cho trọng số từ nút của lớp đến nút của lớp 3. Sử dụng được biểu diễn cho độ lệch của nút của lớp .

4. Sử dụng đại diện cho đầu ra của nút của lớp .

5. Sử dụng đại diện cho đầu ra mong muốn, dựa trên tập huấn luyện được sử dụng.

6. Sử dụng là hàm kích hoạt, sử dụng Sigmoid cho hàm kích hoạt. Để có được lỗi tối thiểu, hàm chi phí được tính tốn với cơng thức như sau:

j

lớp và

Trong đó x là đầu vào dữ liệu huấn luyện và là đầu ra mong muốn. L là tổng số

y L

là đầu ra của mạng nơ ron tương ứng với đầu vào x. Để đạo hàm dễ dàng, ta nhân tổng của (4) với một hằng số 1/2.

Để tìm ra mức tối thiểu. Trước tiên, ta tính tốn các đạo hàm riêng của hàm chi phí đối với bất kỳ trọng số nào, với cơng thức sau:

Có hai trường hợp: Nút là một nút đầu ra hoặc trong một tầng ẩn. Trong trường hợp ở tầng đầu ra, trước tiên chúng ta tính đạo hàm chênh lệch:

Phương trình cuối cùng dựa trên quy tắc chuỗi. Nút là nút duy nhất có trọng số

nên các giá trị khác sẽ bằng 0. Và là đầu ra của hàm kích hoạt (hàm Sigmoid). Do

đó, phương trình mới thu được là:

Trong đó

L

k sự kết hợp tuyến tính của tất cả các đầu vào của nút j trong tầng L với các trọng số. Hàm sigmoid là đạo hàm có dạng sau:

x ik Do đó, hàm trên trở thành: Lk   WL yL1 . Vì vậy, (9) trở thành: iL1 (10)

Vì liên quan đến và không liên quan khi khác . Do đó, có mối quan hệ giữa nút của tầng và nút của tầng . Ta có cơng thức:

để biểu diễn nút của tầng . Do vậy, phương trình mới thu được là:

Ta xem xét các nút của tầng ẩn . Ở lớp ngay trước lớp đầu ra. Áp dụng đạo hàm riêng một phần trên trọng số cho hàm chi phí. Các trọng số cho các nút của tầng ẩn này: (adsbygoogle = window.adsbygoogle || []).push({});

Vì có một tổng trên tầng. Do thay đổi của các trọng số cho các nút của các tầng ẩn sẽ ảnh hưởng đến đầu ra mạng nơ ron. Do đó, áp dụng quy tắc chuỗi (chain rule):

Sau đó, đạo hàm theo quy tắc chuỗi:

Dòng thứ 2 của (14) dựa vào đầu vào của là sự kết hợp tuyến tính giữa các đầu ra của nút của lớp trước với trọng số. Vì đạo hàm khơng liên quan đến nút của lớp L. Do đó, ta đơn giản hóa đạo hàm dựa trên quy tắc chuỗi:

Chuyển thành . Do đó phương trình trở thành:

Đối với tầng đầu ra nút k: , trong đó:

Đối với tầng ẩn nút j: , trong đó:

Áp dụng quy trình tương tự. Ví dụ, Tính đạo hàm riêng cho độ lệch của nút k trong lớp cuối cùng và thu được:

Bởi vì nên . Phương trình có thể được cập nhật

thành:

Công thức trên áp dụng với bất kể đầu ra nào. Vì vậy, độ dốc của hàm chi phí so với độ lệch là:

Rút ra từ công thức trên, giải thuật loan truyền ngược sẽ được mơ tả như sau: Bước 1: Chạy mạng tính tốn với dữ liệu đầu vào để có được đầu ra mạng Bước 2: Đối với mỗi nút đầu ra, ta thực hiện phép tính:

Bước 4: Cập nhật các trọng số và thiên lệch như sau: Giả thiết:

Áp dụng:

Tham số trong thuật toán được gọi là tốc độ học tập. Thuật toán này lặp lại cho đến khi đạt sai số tối thiểu hoặc dưới ngưỡng chấp nhận được để hồn thành q trình huấn luyện.

1.3 Mạng nơ ron tích chập

1.3.1 Khái niệm về mạng nơ ron tích chập

Mạng nơ ron tích chập là một trong những mạng truyền thẳng đặc biệt. Mạng nơ ron tích chập là một mơ hình học sâu phổ biến và tiên tiến nhất hiện nay. Hầu hết các hệ thống nhận diện và xử lý ảnh hiện nay đều sử dụng mạng nơ ron tích chập vì tốc độ xử lý nhanh và độ chính xác cao. Trong mạng nơ ron truyền thống, các tầng được coi là một chiều, thì trong mạng nơ ron tích chập, các tầng được coi là 3 chiều, gồm: chiều cao, chiều rộng và chiều sâu (Hình 1.11). Mạng nơ ron tích chập có hai khái niệm quan trọng: kết nối cục bộ và chia sẻ tham số. Những khái niệm này góp phần giảm số lượng trọng số cần được huấn luyện, do đó tăng nhanh được tốc độ tính tốn.

Một phần của tài liệu nghiên cứu về mạng neural convolutional, áp dụng vào bài toán nhận dạng đối tượng trong lĩnh vực thị giác máy tính (Trang 26 - 32)