Professional Documents
Culture Documents
Mạng nơ-ron nhân tạo là một lĩnh vực có bước tiến đột phá trong ngành khoa
học máy tính. Ưu điểm nổi bật của mạng nơ-ron nhân tạo là khả năng học kiến
thức thông qua một số lượng lớn các mẫu để thu được khả năng dự báo.
Mạng nơ-ron lan truyền ngược ứng dụng trong các hệ thống học tập, nhận dạng
và phân lớp với các tập mẫu huấn luyện tốt, mang đầy đủ thông tin thu được kết
quả dự báo có độ chính xác cao.
Đề tài nghiên cứu ứng dụng mạng nơ-ron lan truyền ngược đã tiến hành nghiên
cứu và trình bày những vấn đề sau:
Nghiên cứu tìm hiểu mạng nơ-ron nhân tạo, mạng nơ-ron lan truyền
thằng. So sánh hiệu quả giữa mô hình kiến trúc mạng nơ-ron truyền thẳng một
lớp và mạng nơ-ron truyền thẳng nhiều lớp.
Nghiên cứu, viết chương trình xây dựng mạng nơ-ron lan truyền
ngược thực hiện các bài toán logic với nhiều đầu ra độc lập, qua đó thể hiện quá
trình học trong thuật toán lan truyền ngược.
NỘI DUNG
3. XÂY DỰNG MẠNG NƠ-RON LAN TRUYỀN NGƯỢC THỰC HIỆN BÀI TOÁN LOGIC
VỚI NHIỀU ĐẦU RA ĐỘC LẬP.
1. TỔNG QUAN VỀ MẠNG NƠ-RON NHÂN TẠO
Mạng nơ-ron nhân tạo (ANN: Artificial Neural Network) là một hệ thống xử lý
thông tin dựa trên cơ sở tổng quát hóa mô hình toán học của nơ-ron sinh học.
Nơ-ron sinh học hoạt động theo cách thức như sau: Mỗi nơ-ron nhận tính
hiệu đầu vào từ các tế bào thần kinh khác. Chúng tổng hợp các tín hiệu đầu
vào, khi tổng tín hiệu vượt qua một ngưỡng nào đó, chúng tạo tín hiệu ra và
gửi tín hiệu này tới các nơ-ron khác thông qua dây thần kinh.
1. TỔNG QUAN VỀ MẠNG NƠ-RON NHÂN TẠO
Mạng nơ-ron nhân tạo là một cấu trúc được tạo nên bởi số lượng lớn các nơ-
ron liên kết với nhau.
Nơ-ron nhân tạo được coi là một đơn vị tính toán có nhiều đầu vào, mỗi đầu
vào gắn với một trọng số kết nối.
Đặc trưng của nơ-ron nhân tạo là một hàm kích hoạt phi tuyến chuyển đổi
một tổ hợp tuyến tính của tất cả các tín hiệu đầu vào thành tín hiệu đầu ra.
Hàm Linear 𝑓 𝑥 =𝑥
Hàm Threshold
𝑓 𝑥 = ቊ1 nếu 𝑥 ≥ 0
0 nếu 𝑥 < 0
Hàm Sigmoid 1
𝑓 𝑥 =
1 + 𝑒 −𝑥
Hàm Tansig 𝑒 𝑥 − 𝑒 −𝑥
𝑓 𝑥 = 𝑥
𝑒 + 𝑒 −𝑥
Hàm Hyperbol 1 − 𝑒 −𝑥
𝑓 𝑥 =
1 + 𝑒 −𝑥
1. TỔNG QUAN VỀ MẠNG NƠ-RON NHÂN TẠO
- Summations function: Là hàm tổng hợp các đầu vào với trọng số liên kết tương
ứng của nó.
𝑛
𝑈𝑗 = 𝑋𝑖 𝑊𝑖𝑗
𝑖=1
- Transfer function: Hàm kích hoạt phi tuyến chuyển đổi một tổ hợp tuyến tính của
tất cả các tín hiệu đầu vào thành tín hiệu đầu ra.
Kiến trúc mạng nơ-ron nhân tạo là hệ thống gồm nhiều phần tử nơ-ron nhân
tạo hoạt động song song và được nối với nhau bởi các trọng số liên kết. Mỗi
trọng số liên kết, đặc trưng cho tính chất kích hoạt hoặc ức chế giữa các nơ-ron.
- Kiến trúc mạng nơ-ron một lớp biểu thị mạng cấu thành từ một lớp nơ-ron:
- Kiến trúc chung của mạng nơ-ron nhiều lớp bao gồm 3 lớp chính mắc nối tiếp
từ đầu vào đến đầu ra:
1. TỔNG QUAN VỀ MẠNG NƠ-RON NHÂN TẠO
Mạng nơ-ron lan truyền thẳng (Feed-forward neural network) là mạng nơ-ron
một hay nhiều lớp, trong đó các dây dẫn tín hiệu chỉ truyền thằng theo một
chiều từ đầu vào qua các lớp ẩn, cho đến đầu ra. Một khi đầu ra của tất cả các
nơ-ron trong một lớp mạng cụ thể đã thực hiện xong tính toán thì lớp kế tiếp có
thể bắt đầu thực hiện tính toán của mình bởi vì đầu ra của lớp này là đầu vào
của lớp kế tiếp.
Khi tất cả các nơ-ron thực hiện xong tính toán thì kết quả được trả về tại nơ-ron
đầu ra. Trong trường hợp kết quả đầu ra thực tế chưa đúng yêu cầu, khi đó cần
một thuật toán huấn luyện để điều chỉnh các tham số của mạng.
2. NGHIÊN CỨU MẠNG NƠ-RON TRUYỀN THẲNG VÀ HUẤN LUYỆN MẠNG
NƠ-RON LAN TRUYỀN THẲNG SỬ DỤNG THUẬT TOÁN NGƯỢC
Mạng nơ-ron lan truyền thẳng một lớp là loại mạng chỉ một lớp, lớp vào vừa là
lớp ra, không có lớp ẩn. Trên mỗi lớp này có thể có một hoặc nhiều nơ-ron, sử
dụng hàm ngưỡng đóng vai trò là hàm truyền. Khi đó, tổng của các tín hiệu vào
lớn hơn giá trị ngưỡng thì giá trị đầu ra của nơ-ron sẽ là 1, ngược là 0.
Mạng nơ-ron lan truyền thẳng một lớp được sử dụng để giải quyết các bài toán
phân lớp. Một đối tượng sẽ được nơ-ron i phân vào lớp A nếu tổng thông tin
đầu vào ∑(Xj Wij )> ngưỡng, ngựơc lại đối tượng sẽ được phân vào lớp B.
2. NGHIÊN CỨU MẠNG NƠ-RON TRUYỀN THẲNG VÀ HUẤN LUYỆN MẠNG
NƠ-RON LAN TRUYỀN THẲNG SỬ DỤNG THUẬT TOÁN NGƯỢC
Ví dụ: khả năng phân lớp của mạng nơ-ron lan truyền thẳng được thể hiện đối
với những bài toán biểu diễn các hàm số logic NOT, AND, OR, vì dữ liệu phân
tách tuyến tính, nên có thể tìm được các hệ số cần thiết cho mạng giúp biểu
diễn chính xác mỗi hàm số.
Tuy nhiên hạn chế của mô hình mạng nơ-ron lan truyền thẳng một lớp là đối với
hàm logic phức tạp, dữ liệu không phân tách tuyến tính như hàm XOR, không
thể tìm ra một đường thẳng giúp phân chia 2 lớp đầu ra nên bài toán trở nên vô
nghiệm.
2. NGHIÊN CỨU MẠNG NƠ-RON TRUYỀN THẲNG VÀ HUẤN LUYỆN MẠNG
NƠ-RON LAN TRUYỀN THẲNG SỬ DỤNG THUẬT TOÁN NGƯỢC
Mạng nơ-ron lan truyền thẳng nhiều lớp là loại mạng nơ-ron có thêm một hoặc
nhiều lớp ẩn xen giữa đầu vào và đầu ra của mạng.
Qua đó mạng có thể giải quyết được các bài toán phi tuyến khó nhờ vào nhiều
lớp ẩn. Càng có nhiều lớp ẩn thì khả năng mở rộng thông tin càng cao và càng xử
lý tốt.
2. NGHIÊN CỨU MẠNG NƠ-RON TRUYỀN THẲNG VÀ HUẤN LUYỆN MẠNG
NƠ-RON LAN TRUYỀN THẲNG SỬ DỤNG THUẬT TOÁN NGƯỢC
Ví dụ: Đối với phép toán biểu diễn các hàm số logic XOR, có thể lấy ra hai đường
thẳng để phân tách các trường hợp nghiệm của hàm XOR. Mỗi đường thẳng là
một bất phương trình có thể thực hiện được bằng một nơ-ron và đầu ra của 2
nơ-ron này sẽ là đầu vào của một hàm kết hợp kế tiếp
𝑥1 𝑋𝑂𝑅 𝑥2 = 𝑥1 𝐴𝑁𝐷 𝑁𝑂𝑇 𝑥2 𝑂𝑅 [𝑥2 𝐴𝑁𝐷 𝑁𝑂𝑇 𝑥1 ].
0 0 0 0 0 0
0 1 0 0 1 1
1 0 1 1 0 0
1 1 0 1 1 0
0 0 0
0 1 1
1 0 1
0 0 0
2. NGHIÊN CỨU MẠNG NƠ-RON TRUYỀN THẲNG VÀ HUẤN LUYỆN MẠNG
NƠ-RON LAN TRUYỀN THẲNG SỬ DỤNG THUẬT TOÁN NGƯỢC
Huấn luyện mạng nơ-ron lan truyền ngược là quá trình huấn luyện mạng nơ-
ron truyền thẳng nhiều lớp, sử dụng phương pháp học có giám sát, thuật toán
lan truyền ngược.
Thuật toán lan truyền ngược thực chất là một quá trình lặp đi lặp lại nhiều lần
hai tiến trình chính:
- Lan truyền thẳng để tính toán đầu ra thực tế.
- Lan truyền ngược sai số để cập nhật các trọng số nhằm giảm thiểu sai số giữa
đầu ra thực tế và đầu ra mẫu.
Việc huấn luyện mạng nhằm mục đích đầu ra thực tế tiến dần tới đầu ra mẫu.
3. XÂY DỰNG MẠNG NƠ-RON LAN TRUYỀN NGƯỢC THỰC HIỆN BÀI TOÁN
LOGIC VỚI NHIỀU ĐẦU RA ĐỘC LẬP
- Tính toán module 3 của một tích 2 số tự nhiên: y = (𝑥0 * 𝑥1 ) module 3 (2)
𝑦0 = 𝑥0 𝑜𝑟 (𝑥1 𝑎𝑛𝑑 𝑥2 )
- Tính toán đầu ra của hệ phương trình ቊ (3)
𝑦1 = 𝑥0 𝑥𝑜𝑟 𝑥1 𝑥𝑜𝑟 𝑥2
3. XÂY DỰNG MẠNG NƠ-RON LAN TRUYỀN NGƯỢC THỰC HIỆN BÀI TOÁN
LOGIC VỚI NHIỀU ĐẦU RA ĐỘC LẬP
Đề tài lựa chọn mô hình mạng truyền thẳng nhiều lớp gồm 3 lớp(1 lớp vào, 1 lớp
ẩn, 1 lớp ra), số phần tử nơ-ron trên lớp phụ thuộc vào dữ liệu cần học của từng
bài toán.
Bước 1: Khởi tạo trọng số với giá trị ngẫu nhiên nhỏ.
Bước 2: Lan truyền thẳng. Nơ-ron trên mỗi tầng được tổng hợp các tín hiệu đầu
vào thành đầu ra.
Hàm tương tác đầu ra: Hàm kích hoạt được sử dụng là hàm Sigmoid phù hợp với
các bài toán có đầu ra mong muốn rơi vào khoảng [0,1].
3. XÂY DỰNG MẠNG NƠ-RON LAN TRUYỀN NGƯỢC THỰC HIỆN BÀI TOÁN
LOGIC VỚI NHIỀU ĐẦU RA ĐỘC LẬP
Bước 4: Lan truyền ngược. Sử dụng giá trị sai số toàn cục này để tính ngược lại
lỗi trên mỗi nơ-ron lớp trước đó.
Điều kiện kết thúc huấn luyện: Sử dụng thông tin sai số trên mỗi nơ-ron từng lớp
để tính toán và cập nhật lại giá trị mới cho trọng số liên kết giữa các nơ-ron. Bộ
trọng số sẽ được thay đổi qua các vòng huấn luyện để sai số giữa giá trị đầu ra
thực tế và đầu ra mong muốn là nhỏ nhất.
3. XÂY DỰNG MẠNG NƠ-RON LAN TRUYỀN NGƯỢC THỰC HIỆN BÀI TOÁN
LOGIC VỚI NHIỀU ĐẦU RA ĐỘC LẬP
Kết quả huấn luyện: Từ bộ trọng số ngẫu nhiên và tập mẫu học ban đầu, qua quá
trình học liên tục mạng đã tự điều chỉnh được bộ trọng số phù hợp để kết quả
đầu ra thực tế đã tiến gần tới đầu ra mẫu.