You are on page 1of 20

ĐỀ TÀI: NGHIÊN CỨU ỨNG DỤNG

MẠNG NƠ-RON LAN TRUYỀN NGƯỢC


Lý do lựa chọn đề tài

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

1. TỔNG QUAN VỀ MẠNG NƠ-RON NHÂN TẠO.

2. NGHIÊN CỨU MẠNG NƠ-RON TRUYỀN THẲNG VÀ KỸ THUẬT HUẤN LUYỆN


MẠNG NƠ-RON LAN TRUYỀN THẲNG SỬ DỤNG THUẬT TOÁN LAN TRUYỀN
NGƯỢC.

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.

Tên hàm Công thức

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

Quá trình xử lý thông tin trong nơ-ron nhân tạo

- Input: Là các tín hiệu đầu vào của nơ-ron,


mỗi Input tương ứng với một thuộc tính
của dữ liệu (𝑥1 , 𝑥2 , …, 𝑥𝑖 ).

- Weight: Là các trọng số kết nối, được


khởi tạo ngẫu nhiên khi tạo mạng và được
cập nhật liên tục trong quá trình học (𝑤1𝑗 ,
𝑤2𝑗 , …, 𝑤𝑖𝑗 ).

- 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.

- Output: Là tín hiệu đầu ra của nơ-ron nhân tạo (𝑦𝑗 ).


1. TỔNG QUAN VỀ MẠNG NƠ-RON NHÂN TẠO

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

Phương pháp huấn luyện mạng nơ-ron


- Học không giám sát là quá trình học không có
tín hiệu cung cấp đến mạch phản hồi. Mạng sẽ
không biết trước đầu ra là giá trị gì, các nơ-ron
sẽ tự xoay sở với các dữ liệu mẫu mà nó có
được. Trong khi khám phá những đặc tính này,
tham số của mạng sẽ thay đổi.

- Học tăng cường là quá trình học có nhận tín


hiệu củng cố từ bên ngoài. Tuy nhiên tín hiệu
chỉ mang tính chất đánh giá đúng sai. Tín hiệu
tăng cường bên ngoài được xử lý để tạo ra
nhiều hơn nữa các thông tin tín hiệu đánh giá.

- Học có giám sát là quá trình học có tín hiệu


điều chỉnh bên ngoài. Tại mỗi thời điểm khi đầu
vào được cung cấp tới mạng nơ-ron, đầu ra
mong muốn tương ứng của hệ thống được
phản hồi. Hiệu giữa đầu ra thực tế và đầu ra
mong muốn được so sánh rồi trả về độ lệch cho
mạng qua đó hiệu chỉnh các trọng 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 (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.

0, 𝑛ế𝑢 𝑛𝑒𝑡𝑖 < 𝜃


𝑂𝑢𝑡𝑖 = ቊ
1, 𝑛ế𝑢 𝑛𝑒𝑡𝑖 ≥ 𝜃
net i = ∑(Xj Wij )
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 đượ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 ].

I(𝑥1 ) I(𝑥2 ) 𝑜𝑢𝑡 I(𝑥1 ) I(𝑥2 ) 𝑜𝑢𝑡

0 0 0 0 0 0
0 1 0 0 1 1
1 0 1 1 0 0
1 1 0 1 1 0

I(𝑥1 ) I(𝑥2 ) 𝑜𝑢𝑡

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

Mô tả bài toán thực nghiệm


Đề tài đã xây dựng ứng dụng mạng nơ-ron lan truyền ngược thực hiện một số
bài toán logic sau:

- Tính toán đầu ra của phép XOR: y = 𝑥0 xor 𝑥1 (1)

- 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.

Sử dụng phương pháp huấn luyện học có giám sát.


Ở lần học đầu tiên mạng được cung cấp bộ trọng số ngẫu nhiên cùng với mẫu
học, đầu ra thực tế của mạng sẽ được so sánh với đầu ra mong muốn, sai khác
giữa hai giá trị này là cơ sở cho việc hiệu chỉnh trọng số của mạng, quá trình
huấn luyện diễn ra liên tục cùng với bộ thông số đầu vào cho đến khi mạng đạt
được một giá trị sai số ở mức chấp nhận được.
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

Quá trình huấn luyện mạng diễn ra như sau:

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 3: Tính là độ sai số giữa đầu ra mong muốn và đầu ra thực tế

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.

You might also like