Tải bản đầy đủ (.pdf) (73 trang)

Nghiên cứu về mạng nơ ron nhân tạo và ứng dụng giải quyết lớp bài toán phân loại

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.88 MB, 73 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
--------------------------------------NGUYỄN THƯỜNG THÁI

NGHIÊN CỨU VỀ MẠNG NƠ RON NHÂN TẠO VÀ ỨNG DỤNG GIẢI QUYẾT LỚP
BÀI TOÁN PHÂN LOẠI

Chuyên ngành : Điện tử viễn thông

LUẬN VĂN THẠC SĨ
ĐIỆN TỬ VIỄN THƠNG

NGƯỜI HƯỚNG DẪN : TS. VƯƠNG HỒNG NAM

Hà Nội – Năm 2019

0


LỜI CAM ĐOAN
Em xin cam đoan luận văn này là cơng trình nghiên cứu của chính bản thân. Các
nghiên cứu trong bài luận văn này dựa trên những tổng hợp lý thuyết và tìm hiểu thực tế
của em, khơng sao chép.
Tác giả luận văn

Nguyễn Thường Thái

3


MỤC LỤC



MỤC LỤC ........................................................................................................................ 1
LỜI CAM ĐOAN ............................................................................................................. 3
DANH MỤC HÌNH VẼ .................................................................................................... 4
MỞ ĐẦU .......................................................................................................................... 6
Chương 1: ......................................................................................................................... 9
TỔNG QUAN VỀ MẠNG NƠRON NHÂN TẠO ............................................................ 9
1.1. Giới thiệu mạng Nơron. .......................................................................................... 9
1.1.1. Lịch sử phát triển của mạng nơron. .................................................................. 9
1.1.2. Nơron sinh học. .............................................................................................. 10
1.1.3. Nơron nhân tạo. ............................................................................................. 11
1.1.4.

Các thành phần của một nơron nhân tạo. .................................................... 12

1.2. Đơn vị xử lý.......................................................................................................... 15
1.3. Hàm xử lý. ............................................................................................................ 16
1.3.1. Hàm kết hợp. ................................................................................................. 16
1.3.2. Hàm kích hoạt (hàm chuyển). ......................................................................... 17
1.4. Các kiến trúc mạng. .............................................................................................. 19
1.4.1. Mạng một tầng. .............................................................................................. 19
1.4.2. Mạng đa tầng. ............................................................................................... 21
1.5. Các hình trạng của mạng. ...................................................................................... 24
1.5.1. Mạng truyền thẳng. ....................................................................................... 24
1.5.2. Mạng hồi quy. ................................................................................................ 26
1.6. Tiếp cận Nơron cho tính tốn. ............................................................................... 27
1.6.1. Luật học. ........................................................................................................ 27
1.6.2 Tốc độ học. .................................................................................................... 30
1.6.3 Các luật học. .................................................................................................. 31
1.7. Phạm vi ứng dụng của mạng nơron......................................................................... 33

1.7.1. Những bài toán thích hợp. .............................................................................. 33
1.7.2. Phân loại. ....................................................................................................... 33
1.7.3. Mơ hình hoá. .................................................................................................. 34
1.7.4. Liên kết. ......................................................................................................... 35
1.8. Các lĩnh vực ứng dụng của mạng nơron. ............................................................... 35
1.9. Ưu nhược điểm của mạng nơron. ........................................................................... 36
1.10. Kết luận chương. ................................................................................................. 37
1


Chương 2: ....................................................................................................................... 38
MẠNG TRUYỀN THẲNG NHIỀU LỚP ........................................................................ 38
2.1. Khái niệm. ............................................................................................................ 38
2.2. Khả năng thể hiện. ................................................................................................ 40
2.3. Vấn đề thiết kế cấu trúc mạng. .............................................................................. 40
2.3.1. Số lớp ẩn. ....................................................................................................... 41
2.3.2. Số đơn vị trong lớp ẩn. ................................................................................... 41
2.4. Thuật toán lan truyền ngược (Back-Propagation). ................................................. 42
2.4.1. Mơ tả thuật tốn. ............................................................................................ 43
2.4.2. Sự hội tụ. ....................................................................................................... 47
2.4.3. Sự tổng quát hóa. ........................................................................................... 47
2.4.4. Kết luận chương. ............................................................................................ 48
Chương 3: ....................................................................................................................... 51
PHÂN LOẠI DỮ LIỆU BẰNG MẠNG NƠRON .......................................................... 51
3.1. Giới Thiệu. ........................................................................................................... 51
3.2. Chuẩn bị dữ liệu. .................................................................................................. 53
3.3. Phân loại dữ liệu bằng Spice-MLP. ....................................................................... 56
3.4. Đào tạo mạng. ....................................................................................................... 58
3.4.1. Chia dữ liệu. .................................................................................................. 58
3.4.2. Chọn dữ liệu học và các tham số. ................................................................... 59

3.4.3. Đào tạo mạng (training). ................................................................................ 60
3.4.4 Kiểm tra đồ thị lỗi. .......................................................................................... 62
3.4.5. Kiểm tra đồ thị trọng số và đầu vào trung bình của một nơron. ....................... 64
3.4.6. Xem đồ thị dữ liệu và đồ thị đầu ra của mạng. ................................................ 65
3.5. Nhận xét. .............................................................................................................. 68
3.6. Kết luận chương. .................................................................................................. 68
HƯỚNG MỞ RỘNG ĐỀ TÀI....................................................................................... 70
KẾT LUẬN..................................................................................................................... 71
TÀI LIỆU THAM KHẢO ............................................................................................... 72

2


DANH MỤC HÌNH VẼ
Hình 1.1. Mơ hình nơ ron sinh học
Hình 1.2. Đơn vị xử lý (Processing unit)
Hình 1.3.1 Hàm đồng nhất (Identify function)
Hình 1.3.2 Hàm bước nhị phân (Binary step function)
Hình 1.3.3 Hàm Sigmoid
Hình 1.3.4 Hàm Sigmoid lưỡng cực
Hình 1.4 Cấu trúc mạng nơ ron 1 tầng
Hình 1.5 Mạng một tầng vẽ rút gọn
Hình 1.6 Cấu trúc mạng nơ ron 3 lớp
Hình 1.7 Mạng nơ ron 3 tầng, vẽ rút gọn
Hình 1.8. Mơ hình mạng truyền thẳng một lớp
Hình 1.9. Mạng nơ ron truyền thẳng nhiều lớp
Hình 1.10. Mạng hồi quy một lớp nối ngược
Hình 1.11. Mạng hồi quy nhiều lớp có nối ngược
Hình 1.12. Học có giám sát
Hình 1.13. Học khơng có giám sát

Hình 2.1 Mạng nơ ron truyền thẳng nhiều lớp
Hình 3.1 Dữ liệu text với 4 đầu vào và 3 đầu ra
Hình 3.2 Mã hóa đầu ra các mạng
Hình 3.3 Dữ liệu 3 loại hoa IRIS được sử dụng để huấn luyện
Hình 3.4 Mạng nơ ron đa lớp 4 đầu vào 3 đầu ra
Hình 3.5 Giao diện chương trình
Hình 3.6 Chọn tham số để load dữ liệu
Hình 3.7 Xem dữ liệu
Hình 3.8 Chia dữ liệu
Hình 3.9 Chọn dữ liệu học và tham số
Hình 3.10 Nội dung file text chứa trọng số của mạng với 4
inouts, 3 hiddens và 3 ouputs
Hình 3.11 Thơng tin lần học cuối cùng
Hình 3.12 Đồ thị lỗi xem bằng check box “Xem chi tiết đồ thị
lỗi”
Hình 3.13 Chi tiết đồ thị lỗi
Hình 3.14 Dữ liệu lỗi được lưu trong file text
Hình 3.15 Chọn trọng số và giá trị trung bình của một số nơ
ron trong khi học
Hình 3.16 Đồ thị trọng số và giá trị trung bình đầu vào của
một số nơ ron trong khi học
Hình 3.17 Tồn bộ dữ liệu đầu vào, đầu ra và đầu ra của mạng
ban đầu( chưa học)

Trang 11
Trang 15
Trang 18
Trang 18
Trang 18
Trang 19

Trang 20
Trang 21
Trang 22
Trang 23
Trang 25
Trang 25
Trang 26
Trang 26
Trang 29
Trang 30
Trang 38
Trang 53
Trang 55
Trang 56
Trang 56
Trang 57
Trang 57
Trang 58
Trang 59
Trang 59
Trang 61
Trang 61
Trang 62
Trang 63
Trang 63
Trang 64
Trang 64
Trang 66

4



Hình 3.18 Tồn bộ dữ liệu đầu vào, đầu ra và đầu ra của mạng
đã học
Hình 3.19 Chỉ xem dữ liệu học (70%)
Hình 3.20 Chỉ xem dữ liệu kiểm tra ( 30%)

Trang 66
Trang 67
Trang 67

5


MỞ ĐẦU
1. Lí do chọn đề tài
Trong bối cảnh ứng dụng công nghệ thông tin ngày càng tăng, dữ liệu phát
sinh từ hoạt động quản lý, kinh doanh, sản xuất của các công ty, tổ chức ngày càng
nhiều. Các công ty, tổ chức cần phải nhanh chóng đưa ra các quyết định bằng cách
xử lý nhiều yếu tố với quy mơ và tính phức tạp ngày càng tăng. Để có quyết định
chính xác nhất, người quản lý thường thực hiện việc dự đoán hay phân loại vấn đề
cần giải quyết trước khi ra quyết định. Ngoài việc dựa trên các yếu tố liên quan trực
tiếp đến vấn đề, người ra quyết định còn dựa trên kinh nghiệm bản thân và thơng tin
có được từ các hoạt động trước đó. Dẫn đến một nhu cầu thực tế là cần có các phương
pháp khai phá dữ liệu thu thập được để làm căn cứ ra quyết định.
Trong thực tế cuộc sống, chúng ta bắt gặp nhiều bài toán tương tự như dự đoán
thị trường chứng khoán, dự đoán lưu lượng nước, dự đoán lượng gas tiêu, dự đoán
năng lực sản xuất, định giá tài sản, đánh giá nhân viên, phân loại khách hàng. Đó là
các bài tốn thuộc lớp bài tốn dự đốn và phân loại, có thể xem là các bài tốn cơ
bản và có nhiều ứng dụng thực tiễn. Đã có nhiều phương pháp được đưa ra để giải

các lớp bài toán trên như phương pháp thống kê, phương pháp hồi quy, cây quyết
định, mạng nơ-ron nhân tạo, ...
Trong đó, mạng nơ-ron nhân tạo nhờ khả năng học, nhớ lại và khái quát hóa
từ các mẫu dữ liệu huấn luyện, đã trở thành một trong hướng nghiên cứu chính của
lĩnh vực trí tuệ nhân tạo. Xét về mặt lý thuyết, mạng nơ ron nhân tạo tương đối độc
lập với bản chất của các quá trình vật lý cần phân loại, dự đốn. Ở mỗi lớp bài tốn
trên, đều có các đặc điểm chung khi giải bằng mạng nơ-ron nhân tạo như: thu thập
dữ liệu mẫu, tiền xử lý dữ liệu, xác định thơng số mạng và huấn luyện. Do đó việc
nghiên cứu để tổng qt hóa các bài tốn và xây dựng phần mềm ứng dụng mạng nơron nhân tạo có thể dùng cho nhiều bài tốn cùng một lớp là hoàn toàn khả thi.
Theo ghi nhận của một nghiên cứu, hơn năm mươi phần trăm các báo cáo
nghiên cứu về mạng nơ ron là sử dụng mạng nơ- ron truyền thẳng và thuật tốn lan
truyền ngược. Mơ hình mạng này được sử dụng rộng rãi bởi vì có khả năng giải được
nhiều bài toán ở các lĩnh vực khác nhau: dự đốn, phân loại, mơ hình hóa. Mạng nơron nhân tạo truyền thẳng thích hợp để giải quyết bài toán thể hiện mối quan hệ giữa
một tập hợp đầu vào và đầu ra biết trước.

6


Một trong số các trở ngại gặp phải khi ứng dụng mạng nơ- ron nhân tạo cần
phải có sự hỗ trợ đầy đủ kiến thức lý thuyết và phương pháp ứng dụng. Trong khi các
nghiên cứu về mạng nơ-ron nhân tạo thường ứng dụng vào một bài toán cụ thể, kết
quả nghiên cứu khó có khả năng kế thừa, phát triển để ứng dụng rộng rãi cho các bài
toán tương tự. Vì vậy việc nghiên cứu chuyên sâu, đầy đủ và mang tính ứng dụng
thực tiễn cao là hết sức cần thiết.
2. Mục tiêu và nhiệm vụ chính
Tìm hiểu các đặc trưng của mạng nơ-ron nhân tạo, khả năng và các nguyên
tắc để ứng dụng thành công mạng nơ-ron nhân tạo trong thực tế. Nghiên cứu ứng
dụng mạng nơ-ron nhân tạo vào lớp bài toán dự đoán và phân loại. Xây dựng phần
mềm cho phép người sử dụng mô phỏng và ứng dụng nhanh chóng mạng nơ-ron nhân
tạo để giải quyết các bài toán thuộc lớp bài toán phân loại và dự đoán.

3. Ý nghĩa khoa học và thực tiễn
Đề tài làm rõ khả năng ứng dụng của mạng nơ-ron trong bài toán dự đoán và
phân loại. Cách để xác định bài tốn nào thích hợp để giải bằng mạng nơ-ron. Xây
dựng thành quy trình với các bước thực hiện cụ thể cho việc giải bài toán dự đoán và
phân loại bằng mạng nơ-ron.
4. Bố cục luận văn
Từ việc xác định những nội dung như trên nên em chọn luận văn “Nghiên cứu
về mạng nơron nhân tạo và ứng dụng giải quyết lớp bài toán phân loại ”. Luận
văn bao gồm những nội dung chính sau:
 Chương 1 : Tồng quan về mạng nơron nhân tạo.
 Chương 2 : Mạng truyền thẳng nhiều lớp.
 Chương 3 : Phân loại dữ liệu bằng mạng nơron.
 Hướng mở rộng đề tài
 Kết luận.
Mặc dù đã hết sức nỗ lực, song do kinh nghiệm và kh ả n ă n g nghiên cứu
khoa học cịn hạn chế nên khơng thể tránh khỏi những thiếu sót. Em rất mong nhận
được sự góp ý của các thầy cô và bạn bè để hiểu biết của mình ngày một hồn thiện
hơn.

7


Em xin cám ơn các thầy cô trong Trường Đại Học Bách Khoa Hà Nội đã
truyền đạt những kiến thức quý báu cho chúng em trong suốt quá trình học tập. Đặc
biệt, em xin bày tỏ lòng cảm ơn chân thành và sâu sắc đến thầy giáo TS. Vương
Hoàng Nam, người đã tận tình hướng dẫn và giúp đỡ em trong quá trình làm luận
văn tốt nghiệp. Xin cảm ơn tất cả bạn bè đã và đang động viên, giúp đỡ tơi trong q
trình học tập và hồn thành tốt luận văn này.
Hà Nội, tháng 03 năm 2019


8


Chương 1:

TỔNG QUAN VỀ MẠNG NƠRON NHÂN TẠO
1.1. Giới thiệu mạng Nơron.
1.1.1. Lịch sử phát triển của mạng nơron.
Mạng nơron nhân tạo được xây dựng từ những năm 1940 nhằm mô phỏng
một số chức năng của bộ não người. Dựa trên quan điểm cho rằng bộ não người là
bộ điều khiển. Mạng nơron nhân tạo được thiết kế tương tự như nơron sinh học sẽ
có khả năng giải quyết hàng loạt các bài tốn như tính tốn tối ưu, điều khiển, cơng
nghệ robot…
Q trình nghiên cứu và phát triển nơron nhân tạo có thể chia thành 4 giai
đoạn như sau:
 Giai đoạn 1: Có thể tính từ nghiên cứu của William (1890) về tâm lý học với
sự liên kết các nơron thần kinh. Năm 1940 Mc Culloch và Pitts đã cho biết nơron có
thể mơ hình hố như thiết bị ngưỡng (Giới hạn) để thực hiện các phép tính logic và
mơ hình mạng nơron của Mc Culloch – Pitts cùng với giải thuật huấn luyện mạng
của Hebb ra đời năm 1943.
 Giai đoạn 2: Vào khoảng gần những năm 1960, một số mơ hình nơron hồn
thiện hơn đã được đưa ra như: Mơ hình Perceptron của Rosenblatt (1958), Adalile
của Widrow (1962). Trong đó mơ hình Perceptron rất được quan tâm vì ngun
lý đơn giản, nhưng nó cũng có hạn chế vì như Marvin Minsky và Seymour papert
của MIT ( Massachurehs Insritute of Technology) đã chứng minh nó khơng dùng
được cho các hàm logic phức (1969). Cịn Adaline là mơ hình tuyến tính, tự chỉnh,
được dùng rộng rãi trong điều khiển thích nghi, tách nhiễu và phát triển cho đến nay.
 Giai đoạn 3: Vào khoảng đầu thập niên 80. Những đóng góp lớn cho mạng
nơron trong giai đoạn này phải kể đến Grossberg, Kohonen, Rumelhart và Hopfield.
Trong đó đóng góp lớn của Hopfield gồm hai mạng phản hồi: Mạng rời rạc năm

1982 và mạng liên tục năm 1984. Đặc biệt, ông đã dự kiến nhiều khả năng tính
9


tốn lớn của mạng mà một nơron khơng có khả năng đó. Cảm nhận của Hopfield
đã được Rumelhart, Hinton và Williams đề xuất thuật toán sai số truyền ngược nổi
tiếng để huấn luyện mạng nơron nhiều lớp nhằm giải bài tốn mà mạng khác
khơng thực hiện được. Nhiều ứng dụng mạnh mẽ của mạng nơron ra đời cùng
với các mạng theo kiểu máy Boltzmann và mạng Neocognition của Fukushima.
 Giai đoạn 4: Tính từ năm 1987 đến nay, hàng năm thế giới đều mở hội
nghị toàn cầu chuyên ngành nơron IJCNN (International Joit Conference on Neural
Networks). Rất nhiều cơng trình được nghiên cứu để ứng dụng mạng nơron vào
các lĩnh vực như: Kỹ thuật tính, điều khiển, bài tốn tối ưu, y học, sinh học, thống
kê, giao thơng, hố học,...Cho đến nay mạng nơron đã tìm và khẳng định được vị
trí của mình trong rất nhiều ứng dụng khác nhau.

1.1.2. Nơron sinh học.
Hệ thần kinh gồm hai lớp tế bào: Nơron (tế bào thần kinh) và glia (tế bào
glia). Nơron là thành phần cơ bản của hệ thần kinh, chúng có chức năng xử lý thơng
tin. Glia thực hiện chức năng hỗ trợ. Vì vậy trước khi nghiên cứu về nơron nhân tạo
chúng ta sẽ trình bày khái quát về cấu tạo và hoạt động của nơron sinh học.
Nơron sinh học có nhiều loại, chúng khác nhau về kích thước và khả năng
thu phát tín hiệu. Tuy nhiên chúng có cấu trúc và nguyên lý hoạt động chung như
sau:
Mỗi nơron sinh học gồm có 3 thành phần: Thân nơron với nhân ở bên trong
(soma), một đầu dây thần kinh ra (axon) và một hệ thống phân nhánh hình cây
(Dendrite) để nhận các thơng tin vào. Trong thực tế có rất nhiều dây thần kinh vào
và chúng bao phủ một diện tích rất lớn (0,25mm2). Đầu dây thần kinh ra được rẽ
nhánh nhằm chuyển giao tín hiệu từ thân nơron tới nơron khác. Các nhánh của đầu
dây thần kinh được nối với các khớp thần kinh (synapse). Các khớp thần kinh

này được nối với thần kinh vào của các nơron khác. Các nơron có thể sửa đổi tín
hiệu tại các khớp.

10


Hình ảnh đơn giản của một nơron thể hiện trong hình 1.1.

Hình 1.1. Mơ hình nơron sinh học.
Hoạt động của nơron sinh học có thể được mơ tả như sau:
Mỗi nơron nhận tín hiệu vào từ các tế bào thần kinh khác. Chúng tích hợp
các tín hiệu vào, khi tổng tín hiệu vượt q 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.
Các nơron liên kết với nhau thành mạng. Mức độ bền vững của các liên kết
này xác định một hệ số gọi là trọng số liên kết.

1.1.3. Nơron nhân tạo.
Mô phỏng nơron sinh học, ta có nơron nhân tạo. Mỗi nơron có rất nhiều dây
thần kinh vào, nghĩa là mỗi nơron có thể tiếp nhận đồng thời nhiều dữ liệu.
Mạng nơron nhân tạo (Artificial Neural Network) là một cấu trúc mạng được
hình thành nên bởi một số lượng lớn các nơron nhân tạo liên kết với nhau. Mỗi
nơron có các đặc tính đầu vào, đầu ra và thực hiện một chức năng tính tốn cục bộ.
Với việc giả lập các hệ thống sinh học, các cấu trúc tính tốn mạng nơron
có thể giải quyết được lớp các bài toán nhất định như: bài toán lập lịch, bài tốn tìm
kiếm, bài tốn nhận dạng mẫu, bài tốn xếp loại,... Mạng nơron cịn giải quyết được
11


lớp các bài tốn sử dụng dữ liệu khơng đầy đủ, xung đột mờ hoặc xác suất. Những
bài toán này được đặc trưng bởi một số hoặc tất cả các tính chất sau:

Sử dụng khơng gian nhiều chiều, các tương tác phức tạp, chưa biết hoặc
không thể theo dõi về mặt tốn học giữa các biến; khơng gian nghiệm có thể rỗng,
có nghiệm duy nhất hoặc có một số nghiệm bình đẳng như nhau. Ngồi ra, mạng
nơron nhân tạo cịn thích hợp để tìm nghiệm của những bài tốn địi hỏi đầu vào
là những cảm nhận bởi con người như: Tiếng nói, nhìn và nhận dạng,... Tuy nhiên
việc ánh xạ từ một bài toán bất kỳ sang một giải pháp mạng nơron lại là một việc
không đơn giản.

1.1.4. Các thành phần của một nơron nhân tạo.
Phần này mô tả một số thành phần cơ bản của một nơron nhân tạo. Những
thành phần này là giống nhau cho dù nơron đó dùng trong tầng vào, tầng ra hay là ở
trong tầng ẩn.
Thành phần 1. Các nhân tố trọng số: Một nơron thường nhận nhiều đầu
vào cùng lúc. Mỗi đầu vào có trọng số liên quan của riêng nó, trọng số này giúp cho
đầu vào có ảnh hưởng cần thiết lên hàm tổng của đơn vị xử lý (thành phần xử lý).
Những trọng số này có chức năng giống như sức mạnh của các synapes khác nhau
trong nơron sinh học. Trong cả hai trường hợp (nhân tạo và sinh học), một số đầu vào
quan trọng hơn những đầu vào khác do vậy chúng có ảnh hưởng lớn hơn tới thành
phần xử lý để rồi chúng kết hợp lại để tạo ra sự phản ứng của nơron (neural response).
Các trọng số là những hệ số thích nghi bên trong một mạng, chúng xác định
cường độ (sức mạnh hay là sức ảnh hưởng ) của tín hiệu vào lên nơron nhân tạo.
Những sức mạnh này có thể được điều chỉnh theo những tập đào tạo đa dạng khác
nhau và theo một kiến trúc mạng cụ thể hay là qua các luật học của nó.
Thành phần 2. Hàm tổng: Bước đầu tiên trong hoạt động của một thành
phần xử lý là tính tốn tổng có trọng số của tất cả các đầu vào. Về mặt toán học,
những đầu vào và các trọng số tương ứng là những véc tơ có thể được biểu diễn :

12



I = (ii,i2, .., in) và W = (w1, w2, …, wn). Tín hiệu vào tổng là tích vơ hướng của mỗi
thành phần trong véc tơ I với thành phần tương ứng trong véc tơ W và cộng lại tất cả
các tích. Input1 = i1.w1, input2 = i2.w2… Kết quả cuối cùng được cộng lại:
input1 + input2 + … + inputn. Kết quả là một số duy nhất, không phải là một véc tơ.
Hàm tổng có thể phức tạp hơn nhiều so với mô tả ở trên. Đầu vào và các hệ số
trọng số có thể được kết hợp theo nhiều cách khác nhau trước khi được đưa vào hàm
chuyển đổi. Bên cạnh việc tính tổng các tích đơn giản, hàm tổng có thể chọn max,
min, tích … nhờ một số thuật toán chuẩn tắc. Thuật toán cụ thể để kết hợp các đầu
vào của nơron được xác định bởi vệc chọn kiến trúc mạng và mơ hình mạng.
Thành phần 3. Hàm chuyển đổi: Kết quả của hàm tổng, hầu như ln là
tổng có trọng số, được chuyển đổi thành một đầu ra có ý nghĩa nhờ một q trình xử
lý có thuật tốn gọi là hàm chuyển đổi. Trong hàm chuyển đổi tổng có thể được so
sánh với một ngưỡng nào đó để quyết định đầu ra của mạng. Nếu như tổng lớn hơn
giá trị ngưỡng thì thành phần xử lý đưa ra đầu ra một tín hiệu. Nếu như tổng của đầu
vào và các tích có trọng số nhỏ hơn ngưỡng thì khơng có tín hiệu ở đầu ra. Cả hai
kiểu phản ứng đều quan trọng.
Giá trị ngưỡng, còn gọi hàm chuyển đổi, thường là phi tuyến. Các hàm tuyến
tính bị giới hạn vì đầu ra chỉ đơn giản là tỷ lệ của đầu vào.
Hàm chuyển đổi có thể chỉ đơn giản là cho biết hàm tổng là dương hay âm. Mạng có
thể cho ra đầu ra 0 và 1, 1 và -1, hay con số kết hợp nào đó.
Thành phần 4. Hàm ra: Mỗi thành phần xử lý cho phép một tín hiệu đầu ra
mà đầu ra này có thể đi tới hàng trăm nơ ron khác. Điều này giống với nơron sinh học
trong đó có rất nhiều đầu vào và chỉ có một hành động ra. Thường thì đầu ra tương
đương với kết quả của hàm chuyển đổi. Tuy nhiên, một số kiến trúc mạng chỉnh sửa
kết quả của hàm chuyển đổi để kết hợp với những thành phần xử lý lân cận. Các
nơron cho phép cạnh tranh với những nơron khác, khi này chúng hạn chế các thành
phần xử lý khác trừ các thành phần xử lý có sức mạnh rất lớn. Sự cạnh tranh có thể
xẩy ra ở một hay là cả hai mức. Đầu tiên sự cạnh tranh quyết định xem nơron nhân

13



tạo nào sẽ là tích cực, hay là cung cấp một đầu ra. Tiếp theo các đầu ra cạnh tranh
giúp xác định thành phần xử lý nào sẽ tham gia và q trình học hay là q trình thích
nghi.
Thành phần 5. Giá trị truyền ngược và hàm lỗi: Trong hầu hết các mạng
học sự khác biệt giữa đầu ra hiện tại và đầu ra mong muốn được tính tốn, sự khác
biệt có thể được gọi là lỗi thơ. Sau khi được tính tốn, lỗi thơ đó được chuyển đổi bởi
hàm lỗi để làm cho phù hợp với một kiến trúc mạng cụ thể nào đó. Các kiến trúc
mạng cơ sở nhất sử dụng lỗi này một cách trực tiếp nhưng một số khác bình phương
lỗi đó trong khi vẫn giữ lại dấu của nó, một số tính bậc ba của lỗi, một số khác lại
hiệu chỉnh lỗi thơ đó để đạt được mục đích cụ thể nào đó. Lỗi của nơron nhân tạo
thường được truyền vào hàm học của một thành phần xử lý khác. Số hạng lỗi này đôi
khi còn được gọi là lỗi hiện thời.
Lỗi hiện thời thường được truyền ngược về một tầng trước đó. Nhưng giá trị
truyền ngược này có thể là lỗi hiện thời hay là lỗi hiện thời đã được điều chỉnh theo
một cách nào đó (thường sử dụng đạo hàm của hàm chuyển đổi), hay là một đầu ra
mong muốn nào đó, điều này phụ thuộc vào kiểu mạng nơron được sử dụng. Thường
thì giá trị truyền ngược này sau khi được điều chỉnh bởi hàm học được nhân với mỗi
trọng số kết nối vào để thay đổi chúng trước khi bước vào chu kỳ học mới.
Thành phần 6. Hàm học: Mục đích của hàm học là để thay đổi giá trị của
biến trọng số kết nối ở các đầu vào của mỗi thành phần xử lý theo một thuật tốn nào
đó. Q trình thay đổi các trọng số của các kết nối đầu nào nhằm thu được một số kết
quả mong muốn cũng có thể được gọi là hàm thích nghi, hay cịn gọi là chế độ học.
Có hai kiểu học chính là học có giám sát và học khơng có giám sát. Học có giám sát
địi hỏi có một “giáo viên”. Người “giáo viên” này có thể là một tập dữ liệu đào tạo
hay là một “người quan sát,” “người quan sát” này đánh giá kết quả hoạt động của
mạng. Trong khi khơng có “giáo viên” bên ngồi nào, hệ thống sẽ phải tự sắp xếp
nhờ một tiêu chuẩn bên trọng được thiết kế sẵn trong mạng.


14


1.2. Đơn vị xử lý.
Một đơn vị xử lý (Hình 1.2), cũng được gọi là một nơron hay một nút (node),
thực hiện một cơng việc rất đơn giản: nó nhận tín hiệu vào từ các đơn vị phía trước
hay một nguồn bên ngồi và sử dụng chúng để tính tín hiệu ra sẽ được lan truyền sang
các đơn vị khác.

Hình 1.2. Đơn vị xử lý (Processing unit).
Trong đó:
Xj : các đầu vào
wji : các trọng số tương ứng với các đầu vào
θj : độ lệch (bias)
aj : đầu vào mạng (net-input)
zj : đầu ra của nơron
g(x): hàm chuyển (hàm kích hoạt).

Trong một mạng nơron có ba kiểu đơn vị:
1) Các đơn vị đầu vào (Input units), nhận tín hiệu từ bên ngoài.
2) Các đơn vị đầu ra (Output units), gửi dữ liệu ra bên ngoài.
3) Các đơn vị ẩn (Hidden units), tín hiệu vào (input) và ra (output) của nó nằm
trong mạng.

15


Mỗi đơn vị j có thể có một hoặc nhiều đầu vào: x0, x1, x2, … xn, nhưng chỉ có
một đầu ra zj. Một đầu vào tới một đơn vị có thể là dữ liệu từ bên ngồi mạng, hoặc
đầu ra của một đơn vị khác, hoặc là đầu ra của chính nó.


1.3. Hàm xử lý.
1.3.1. Hàm kết hợp.
Mỗi một đơn vị trong một mạng kết hợp các giá trị đưa vào nó thơng qua các
liên kết với các đơn vị khác, sinh ra một giá trị gọi là net input. Hàm thực hiện nhiệm
vụ này gọi là hàm kết hợp, được định nghĩa bởi một luật lan truyền cụ thể. Trong
phần lớn các mạng nơron, giả sử mỗi một đơn vị cung cấp một bộ cộng như là đầu
vào cho đơn vị mà nó có liên kết. Tổng đầu vào đơn vị j đơn giản chỉ là tổng trọng
số của các đầu ra riêng lẻ từ các đơn vị kết nối cộng thêm ngưỡng hay độ lệch (bias)
j :
𝑛

𝑎𝑗 = ∑ 𝑤𝑗𝑖 𝑥𝑖𝑘 + 𝜃𝑗
𝑖=1

Trường hợp wji > 0, nơron được coi là đang ở trong trạng thái kích thích.
Tương tự, nếu như wji < 0, nơron ở trạng thái kiềm chế. Chúng ta gọi các đơn vị với
luật lan truyền như trên là các sigma units. Trong một vài trường hợp người ta cũng
có thể sử dụng các luật lan truyền phức tạp hơn. Một trong số đó là luật sigma-pi,
có dạng như sau:
𝑛

𝑚

𝑎𝑗 = ∑ 𝑤𝑗𝑖 ∏ 𝑥𝑖𝑘 + 𝜃𝑗
𝑖=1

𝑘=1

Rất nhiều hàm kết hợp sử dụng một "độ lệch" hay "ngưỡng" để tính net input

tới đơn vị. Đối với một đơn vị đầu ra tuyến tính, thơng thường, j được chọn là
hằng số và trong bài toán xấp xỉ đa thức j = 1.

16


1.3.2. Hàm kích hoạt (hàm chuyển).
Phần lớn các đơn vị trong mạng nơron chuyển net input bằng cách sử dụng
một hàm vơ hướng gọi là hàm kích hoạt, kết quả của hàm này là một giá trị gọi là
mức độ kích hoạt của đơn vị. Loại trừ khả năng đơn vị đó thuộc lớp ra, giá trị kích
hoạt được đưa vào một hay nhiều đơn vị khác. Các hàm kích hoạt thường bị ép vào
một khoảng giá trị xác định, do đó thường được gọi là các hàm bẹp (squashing). Các
hàm kích hoạt hay được sử dụng là:
1) Hàm đồng nhất (Linear function, Identity function ).
g(x) = x
Nếu coi các đầu vào là một đơn vị thì chúng sẽ sử dụng hàm này. Đôi khi một
hằng số được nhân với net-input để tạo ra một hàm đồng nhất.

Hình 1.3.1. Hàm đồng nhất (Identity function).
2) Hàm bước nhị phân (Binary step function, Hard limit function).
Hàm này cũng được biết đến với tên "Hàm ngưỡng". Đầu ra của hàm này
được giới hạn vào một trong hai giá trị:
1,
𝑔 (𝑥 ) = {
0,

𝑛ế𝑢 𝑥 ≥ 𝜃
𝑛ế𝑢 𝑥 < 𝜃

17



Dạng hàm này được sử dụng trong các mạng chỉ có một lớp. Trong hình
vẽ sau, được chọn bằng 1.

Hình 1.3.2 Hàm bước nhị phân (Binary step function).
3) Hàm sigmoid (Sigmoid function (logsig)).

𝑔 (𝑥 ) =

1
1 + 𝑒 −𝑥

Hàm này đặc biệt thuận lợi khi sử dụng cho các mạng được huấn luyện
(trained) bởi thuật toán Lan truyền ngược (back-propagation), bởi vì nó dễ lấy đạo
hàm, do đó có thể giảm đáng kể tính tốn trong q trình huấn luyện. Hàm này được
ứng dụng cho các chương trình ứng dụng mà các đầu ra mong muốn rơi vào khoảng
[0,1].

Hình 1.3.3 Hàm Sigmoid
4) Hàm sigmoid lưỡng cực (Bipolar sigmoid function (tansig)).

Hàm này có các thuộc tính tương tự hàm sigmoid. Nó làm việc tốt đối với các ứng
dụng có đầu ra yêu cầu trong khoảng [-1,1].

18


Hình 1.3.4 Hàm sigmoid lưỡng cực.
Các hàm chuyển của các đơn vị ẩn (hidden units) là cần thiết để biểu diễn sự

phi tuyến vào trong mạng. Lý do là hợp thành của các hàm đồng nhất là một hàm
đồng nhất. Mặc dù vậy nhưng nó mang tính chất phi tuyến (nghĩa là, khả năng biểu
diễn các hàm phi tuyến) làm cho các mạng nhiều tầng có khả năng rất tốt trong biểu
diễn các ánh xạ phi tuyến. Tuy nhiên, đối với luật học lan truyền ngược, hàm phải
khả vi và sẽ có ích nếu như hàm được gắn trong một khoảng nào đó. Do vậy, hàm
sigmoid là lựa chọn thơng dụng nhất.
Đối với các đơn vị đầu ra (output units), các hàm chuyển cần được chọn sao
cho phù hợp với sự phân phối của các giá trị đích mong muốn. Chúng ta đã thấy rằng
đối với các giá trị ra trong khoảng [0,1], hàm sigmoid là có ích; đối với các giá trị
đích mong muốn là liên tục trong khoảng đó thì hàm này cũng vẫn có ích, nó có thể
cho ta các giá trị ra hay giá trị đích được căn trong một khoảng của hàm kích hoạt

đầu ra. Nhưng nếu các giá trị đích khơng được biết trước khoảng xác định thì
hàm hay được sử dụng nhất là hàm đồng nhất. Nếu giá trị mong muốn là dương
nhưng khơng biết cận trên thì nên sử dụng một hàm kích hoạt dạng mũ.

1.4. Các kiến trúc mạng.
1.4.1. Mạng một tầng.
Mạng một tầng với S nơron được minh họa trong hình 1.4. Chú ý rằng với
mỗi một đầu vào trọng số R đầu vào sẽ được nối với từng nơron và ma trận trọng số
bây giờ sẽ có S hàng.

19


Hình 1.4. Cấu trúc mạng nơron 1 tầng.
Một tầng bao gồm ma trận trọng số, các bộ cộng, vector ngưỡng b, hàm chuyển
và vector đầu ra a.
Mỗi phần tử của vector đầu vào p được nối với từng nơron thông qua ma trận
trọng số W. Mỗi nơron có một ngưỡng bi, một bộ cộng, một hàm chuyển f và một

đầu ra ai .Cùng với nhau, các đầu ra tạo thành một vector đầu ra a.
Thơng thường thì số lượng đầu vào của tầng khác với số lượng nơron.(R#S).
Tất cả các nơron trong cùng một tầng khơng có hàm chuyển giống nhau. Có
thể định nghĩa các nơron trong một tầng có hàm chuyển khác nhau bằng cách kết hợp
song song hai mạng nơron giống ở trên. Cả hai sẽ có đầu vào giống nhau, và mỗi
mạng sản xuất ra vài đầu ra.
Ma trận trọng số cho các phần tử trong vector đầu vào W:

 w1,1 w1, 2 ...w1, R 


w
w
...
w
2, R 
 2,1 2, 2
W = .......... .......... .. 


w
w
...
w
 S ,1 S , 2
S ,R 


20



Các chỉ số hàng của các phần tử trong ma trận W chỉ ra nơron đích đã kết hợp
với trọng số đó, trong khi chỉ số cột cho biết đầu vào cho trọng số đó. Vì vậy, các chỉ
số trong w32 nói rằng đây là trọng số của đầu vào thứ 2 nối với nơ-ron thứ 3.

Input

Layer of S Neurons

p
R 1

a

W
SR

1

+

S 1

f

b
S 1

R


S 1

n

S

a = f(Wp+b)

Hình 1.5 mạng mợt tầng vẽ rút gọn.
Trong hình trên, những kí hiệu ở dưới các biến cho biết các thông số về tầng
này, p là một vector có độ dài R, W là ma trận S  R, a và b là những vector có độ dài
S. Như đã định nghĩa trước rồi, một tầng bao gồm ma trận trọng số, bộ cộng và các
phép toán nhân, vector ngưỡng b, hàm chuyển và vector đầu ra.

1.4.2. Mạng đa tầng.
Mỗi tầng có ma trận trọng số W của riêng nó, vector b, vector đầu vào n, và
một vector đầu ra. Khi đó cần phải khai báo thêm vài kí hiệu để phân biệt giữa các
tầng này. Ta sẽ sử dụng cách viết lên trên đầu để nhận biết kí hiệu đó thuộc tầng nào.
Chính xác là chúng ta gắn thêm chỉ số của tầng trên đầu mỗi biến. Như vậy, ma trận

21


trọng số của tầng thứ 2 được viết như này W 2 . Cách kí hiệu này được dùng trong
mạng nơ-ron 3 tầng như hình 1.6:

Hình 1.6. Cấu trúc mạng nơron 3 lớp.
Như đã thấy, có R đầu vào, S 1 nơron ở tầng thứ nhất, S 2 nơron ở tầng thứ hai,
S 3 nơron ở tầng thứ ba, v.v.. Như đã chú ý, những tầng khác nhau có thể có số lượng
nơron khác nhau.

Đầu ra của các tầng 1 và 2 là đầu vào của tầng 2 và tầng 3. Vì vậy tầng 2 có
thể được xem như mạng nơron một tầng với đầu vào R= S 1 , nơron S= S 2 , và ma trận
trọng số W = S 1  S 2 . Đầu vào của tầng 2 là a 1 , và đầu ra là a2.
Đầu ra của một tầng chính là đầu ra của mạng thì ta gọi đó là tầng ra. Các tầng
cịn lại gọi là tầng ẩn. Mạng nơron như ở trên có một tầng ra (tầng 3) và hai tầng ẩn
(tầng 1 và tầng 2).
Một mạng có ba tầng giống hệt nhau như trên cũng có thể được vẽ gọn lại như
hình 1.7 :

22


Hình 1.7 Mạng nơ ron 3 tầng, vẽ rút gọn.
Mạng đa tầng có ứng dụng mạnh hơn mạng một tầng. Ví dụ, một mạng hai
tầng có tầng thứ nhất là tầng xichma và tầng thứ hai là tầng tuyến tính có thể được
huấn luyện để xấp xỉ mọi hàm tốn học tùy ý khá chuẩn. Mạng một tầng không làm
được điều này.
Nếu có bốn yếu tố bên ngồi được dùng như các kích thích đầu vào, thì mạng
của ta sẽ có bốn đầu vào. Tương tự như vậy nếu mạng có bảy đầu ra thì phải có bảy
nơron ở tầng ra. Cuối cùng, các đặc điểm mong muốn có được ở tín hiệu đầu ra cũng
giúp ta chọn lựa hàm chuyển hợp lý hơn cho tầng ra. Giả sử một đầu ra là một trong
hai giá trị -1 hoặc 1, thì khi đó hàm chuyển giới hạn ngặt đối xứng sẽ được lựa chọn.
Như vậy, kiến trúc mạng một tầng hầu như được xác định hoàn toàn bởi các yếu tố
kỹ thuật, bao gồm số đầu vào, đầu ra, và các thuộc tính của tín hiệu ra.
Khi mạng có nhiều hơn hai tầng. Các yếu tố bên ngồi khơng cho biết số
lượng các nơron yêu cầu bao nhiêu ở các tầng ẩn. Thực tế, có một vài vấn đề cho việc
dự đoán số lượng nơron tối ưu ở tầng ẩn. Vấn đề này là một lĩnh vực nghiên cứu.
Về số lượng tầng trong mạng thì hầu hết những mạng nơron thực tế chỉ có hai
hay ba tầng. Bốn tầng hoặc nhiều hơn rất ít khi được sử dụng.
Một mạng có thể chọn lựa việc các nơron có hay khơng có các giá trị ngưỡng.

Giá trị ngưỡng là một biến phụ cho mạng.

23


Lưu ý, có một nơron khơng có giá trị ngưỡng khi đó đầu vào của hàm
chuyển(net input) sẽ ln ln là 0 khi đầu vào của mạng p là 0.
Đây là điều khơng mong muốn và chúng ta có thể loại bỏ vấn đề này bằng việc
sử dụng giá trị ngưỡng. Ảnh hưởng của giá trị ngưỡng đến kết quả như thế nào chúng
ta sẽ phải nghiên cứu sâu hơn. Giá trị ngưỡng có thể bỏ đi, trong một số trường hợp
điều này được làm đơn giản là để giảm số lượng tham số của mạng. Chỉ với hai biến,
chúng ta có thể vẽ được đồ thị cho hệ mặt phẳng hai chiều. Ba hay nhiều biến hơn sẽ
khó hiển thị.
 Các đặc trưng của mạng nơron.
Mạng nơron là một cấu trúc xử lý song song, thông tin phân tán và có các
đặc trưng nổi bật sau:
 Là mơ hình toán học dựa trên bản chất của nơron sinh học.
 Bao gồm một số lượng lớn các nơron liên kết với nhau.
 Mạng nơron có khả năng học, khái quát hố tập dữ liệu học thơng qua việc
gán và hiệu chỉnh các trọng số liên kết.
 Tổ chức theo kiểu tập hợp mang lại cho mạng nơron khả năng tính tốn rất
lớn, trong đó khơng có nơron nào mang thơng tin riêng biệt.

1.5. Các hình trạng của mạng.
Hình trạng của mạng được định nghĩa bởi: số lớp, số đơn vị trên mỗi lớp, và
sự liên kết giữa các lớp như thế nào. Các mạng về tổng thể được chia thành hai loại
dựa trên cách thức liên kết các đơn vị.
Mạng nơron nhân tạo có một số mơ hình thơng dụng sau:

1.5.1. Mạng truyền thẳng.

 Mạng truyền thẳng một lớp: Là mơ hình liên kết cơ bản và đơn giản nhất.Các
nơron tổ chức lại với nhau tạo thành một lớp, tín hiệu được truyền theo một hướng
nhất định nào đó. Các đầu vào được nối với các nơron theo trọng số khác nhau, sau

24


×