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

NHẬN DẠNG KHUÔN mặt sử DỤNG MẠNG nơ RON

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 (6.81 MB, 63 trang )






ĐẠI HỌC QUỐC GIA TP HCM
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN




LÊ PHÚ QUÍ

NHẬN DẠNG KHUÔN MẶT
SỬ DỤNG MẠNG NƠ-RON

KHÓA LUẬN CAO HỌC
NGÀNH KHOA HỌC MÁY TÍNH
Mã số: 60480101

NGƯỜI HƯỚNG DẪN KHOA HỌC:
PGS.TS ĐINH ĐỨC ANH VŨ

TP HỒ CHÍ MINH - 2015


Cao học KHMT Khóa 8

ĐH CNTT – ĐHQG TP.HCM

LỜI CÁM ƠN



Đầu tiên, em xin chân thành cám ơn thầy PGS.TS ĐINH ĐỨC ANH VŨ –
người đã tận tình truyền đạt cho em những kiến thức quý báu để em hoàn thành khóa
luận này.
Tiếp theo, em xin gửi lời cám ơn đến các thầy cô ở các khoa cũng như tại các
phòng ban tại trường ĐH Công Nghệ Thông Tin đã tận tình giúp đỡ em trong thời
gian học vừa qua.
Do kiến thức có hạn cũng như kinh nghiệm nghiên cứu khoa học trên thực tế
không nhiều nên bài khóa luận của em không tránh khỏi thiếu sót. Em rất mong nhận
được sự đóng góp quý báu của quí thầy cô.

TpHCM, ngày…tháng… năm 2015
Lớp Cao học KHMT khóa 8
Lê Phú Quí


Cao học KHMT Khóa 8

ĐH CNTT – ĐHQG TP.HCM

LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu độc lập của bản thân. Các số
liệu, kết quả trong khóa luận này là trung thực. Các tài liệu trong khóa luận có
nguồn gốc và trích dẫn rõ ràng, đầy đủ.
Tác giả

Lê Phú Quí


Cao học KHMT Khóa 8


ĐH CNTT – ĐHQG TP.HCM

MỤC LỤC
Lời cam đoan
Mục lục
DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT ..........................................................5
DANH MỤC CÁC BẢNG..........................................................................................6
DANH MỤC HÌNH ẢNH ..........................................................................................7
MỞ ĐẦU .....................................................................................................................8
1. Phát biểu vấn đề nghiên cứu ................................................................................8
2. Mục tiêu, nhiệm vụ, đối tượng và phạm vi nghiên cứu .......................................8
3. Ý nghĩa khoa học và thực tiễn .............................................................................9
CHƯƠNG 1: TỔNG QUAN VỀ NHẬN DẠNG KHUÔN MẶT ............................10
1.1. Gới thiệu .........................................................................................................10
1.2. Các ứng dụng liên quan đến nhận dạng mặt người ........................................10
1.3. Các hướng tiếp cận nhận dạng khuôn mặt dùng mạng Nơ-ron ......................11
1.4. Những khó khăn của nhận dạng khuôn mặt ...................................................11
CHƯƠNG 2: MỘT SỐ CƠ SỞ LÝ THUYẾT .........................................................13
2.1. Giới thiệu về mạng Nơ-ron. ............................................................................13
2.1.1. Khái niệm mạng Nơ-ron...........................................................................13
2.1.1.1. Mạng Nơ-ron nhân tạo là gì? .............................................................13
2.1.1.2. Sơ lược về Nơ-ron sinh học ...............................................................13
2.1.1.3. Nơ-ron nhân tạo .................................................................................15
2.1.2. Mô hình cơ bản của mạng Nơ-ron ...........................................................17
2.1.3. Phân loại mạng Nơ-ron ............................................................................18
2.1.3.1. Phân loại theo kiểu liên kết Nơ-ron ...................................................18


Cao học KHMT Khóa 8


ĐH CNTT – ĐHQG TP.HCM

2.1.3.2. Một số loại mạng Nơ-ron ...................................................................18
2.1.4. Xây dựng mạng Nơ-ron............................................................................21
2.1.5. Huấn luyện mạng Nơ-ron .........................................................................23
2.1.5.1. Phương pháp học ...............................................................................23
2.1.5.2. Thuật toán học....................................................................................25
2.1.6. Mạng Perceptron nhiều tầng (MPL – Multi Perceptron Layer) ...............29
2.1.6.1. Mạng phân lớp ...................................................................................29
2.1.6.2. Kiến trúc mạng tổng quát ...................................................................31
2.1.7. Hàm sigmoid ............................................................................................32
2.1.8. Thuật toán lan truyền ngược.....................................................................33
2.1.8.1. Lan truyền ngược ...............................................................................35
2.1.8.2 Hiệu quả của lan truyền ngược ...........................................................39
2.2. Giới thiệu về PCA...........................................................................................40
2.2.1. Một số khái niệm toán học .......................................................................41
2.2.1.1. Độ lệch chuẩn ....................................................................................41
2.2.1.2. Phương sai ..........................................................................................42
2.2.1.3. Hiệp phương sai .................................................................................42
2.2.1.4. Ma trận hiệp phương sai ....................................................................43
2.2.2. Ma trận đại số ...........................................................................................43
2.2.2.1. Eigenvector (Vectơ riêng) ..................................................................44
2.2.2.2. Eigenvalue (Giá trị riêng) ..................................................................44
2.3. Phân tích thành phần chính (PCA) .................................................................45
CHƯƠNG 3: XÂY DỰNG HỆ THỐNG NHẬN DẠNG KHUÔN MẶT ...............46
3.1. Hệ thống nhận dạng khuôn mặt ......................................................................46


Cao học KHMT Khóa 8


ĐH CNTT – ĐHQG TP.HCM

3.1.1. Tiền xử lý .................................................................................................46
3.1.2. Trích rút đặc trưng ....................................................................................47
3.2. Nhận dạng khuôn mặt bằng mạng Nơ-ron .....................................................50
3.2.1. Cấu hình mạng Nơ-ron .............................................................................50
3.2.2. Quá trình huấn luyện mạng ......................................................................51
CHƯƠNG IV: CÀI ĐẶT CHẠY THỬ NGHIỆM ...................................................52
4.1. Bài toán ...........................................................................................................52
4.2. Cơ sở dữ liệu và môi trường cài đặt ...............................................................52
4.2.1. Cơ sở dữ liệu ............................................................................................52
4.2.2. Môi trường cài đặt ....................................................................................53
4.3. Một số xử lý trong quá trình cài đặt chương trình ..........................................53
4.4. Kết quả cài đặt ................................................................................................54
4.4.1. Giao diện chương trình .............................................................................54
4.4.2. Huấn luyện mạng Nơ-ron (tạo tập dữ liệu mẫu) ......................................54
4.4.3. Nhận dạng khuôn mặt ..............................................................................56
CHƯƠNG V: KẾT LUẬN........................................................................................58
TÀI LIỆU THAM KHẢO .........................................................................................59


Cao học KHMT Khóa 8

ĐH CNTT – ĐHQG TP.HCM

DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT
BPNN: BackPropagation Neural Network.
DoG: Difference of Gauss.
EBM: Edge-like Blob Map.

HMM: Hidden Markov Model.
MPL: Multi Perceptron Layer.
PCA: Principal Component Analysis.
SVM: Support Vector Machine.
LDA: Linear Discriminant Analysis.
LFA: Local Feature Analysis.

5


Cao học KHMT Khóa 8

ĐH CNTT – ĐHQG TP.HCM

DANH MỤC CÁC BẢNG
Bảng 2.1: Một số hàm kích hoạt. .............................................................................. 16
Bảng 4.1: Kết quả thực nghiệm trên nhiều tập dữ liệu ............................................ 57

6


Cao học KHMT Khóa 8

ĐH CNTT – ĐHQG TP.HCM

DANH MỤC HÌNH ẢNH
Hình 1.1: Ví dụ về hệ thống nhận dạng mặt người. ..................................................10
Hình 2.1: Cấu trúc của một Nơ-ron sinh học điển hình. ...........................................14
Hình 2.2: Mô hình một Nơ-ron nhân tạo. .................................................................15
Hình 2.3: Sơ đồ đơn giản về một mạng Nơ-ron nhân tạo. ........................................17

Hình 2.4: Mạng tiến với một mức Nơ-ron. ..............................................................19
Hình 2.5: Mạng tiến kết nối đầy đủ với một mức ẩn và một mức đầu ra. ...............20
Hình 2.6: Mạng quy hồi không có Nơ-ron ẩn và không có vòng lặp tự phản hồi. ..21
Hình 2.7: Mạng quy hồi có các Nơ-ron ẩn...............................................................21
Hình 2.8: Mô phỏng liên kết giữa các Nơ-ron. .........................................................22
Hình 2.9: Mô hình mạng lan truyền tiến . .................................................................29
Hình 2.10: Đồ thị hàm truyền sigmoid . ...................................................................32
Hình 2.11: Lan truyền ngược . ..................................................................................36
Hình 2.12: Minh họa việc tính δj cho việc tính nút ẩn j ............................................38
Hình 2.13: Ví dụ về 1 non-eigenvector và 1 eigenvector .........................................43
Hình 2.14: Ví dụ về 1 eigenvector có tỉ lệ khác vẫn 1 là eigenvector. .....................44
Hình 3.1: Hệ thống nhận dạng khuôn mặt cơ bản.....................................................46
Hình 3.2: Sơ đồ khối trích chọn đặc trưng sử dụng PCA. ........................................47
Hình 4.1 : Sơ đồ luồng xử lý chương trình thử nghiệm ...........................................53
Hình 4.2: Giao diện chính của chương trình. ..........................................................54
Hình 4.3: Giao diện huấn luyện. ...............................................................................55
Hình 4.4: Quá trình huấn luyện. ................................................................................55
Hình 4.5: Kết quả huấn luyện. ..................................................................................56
Hình 4.6: Giao diện nhận dạng khuôn mặt. ..............................................................56
Hình 4.7: Index của ảnh cần tìm. ..............................................................................56
Hình 4.8: Kết quả nhận dạng.....................................................................................57

7


Cao học KHMT Khóa 8

ĐH CNTT – ĐHQG TP.HCM

MỞ ĐẦU

1. Phát biểu vấn đề nghiên cứu
Nhận dạng khuôn mặt người là một công nghệ được ứng dụng rộng rãi trong
đời sống hằng ngày của con người như các hệ thống giám sát, quản lý vào ra, tìm
kiếm thông tin một người nổi tiếng,…Có rất nhiều phương pháp nhận dạng khuôn
mặt để nâng cao hiệu suất tuy nhiên dù ít hay nhiều những phương pháp này đang
vấp phải những thử thách về độ sáng, hướng nghiêng, kích thước ảnh, hay ảnh hưởng
của tham số môi trường.
Một số hệ thống nhận dạng thường khuôn mặt gồm có 2 bước. Bước thứ nhất
là trích xuất đặc trưng dựa vào một số phương pháp như phân tích thành phần chính
(Principal Component Analysis – PCA), phân tích sự khác biệt tuyến tính (Linear
Discriminant Analysis –LDA), phân tích đặc điểm vùng (Local Feature Analysis
– LFA). Bước thứ hai là phương pháp máy học như là mạng Nơ-ron (Neural Network),
Support Vector Machine (SVM).
Trong đó, PCA là phương pháp trích rút đặc trưng nhằm giảm số chiều của
ảnh tuy đơn giản nhưng mang lại hiệu quả tốt. Nhận dạng khuôn mặt dùng
PCA kết hợp với mạng Nơ-ron là phương pháp mang lại hiệu quả nhận dạng cao
bởi nó phát huy được ưu điểm của PCA và mạng Nơ-ron [8][15][26]. Hệ thống hoạt
động ổn định và có tính thích nghi cao khi dữ liệu đầu vào thay đổi nhiều.

2. Mục tiêu, nhiệm vụ, đối tượng và phạm vi nghiên cứu
 Mục tiêu nghiên cứu:
 Nghiên cứu phương pháp nhận dạng bằng mạng Nơ-ron.
 Áp dụng phương pháp trên vào việc nhận dạng khuôn mặt.
 Nhiệm vụ chính của đề tài:
 Nghiên cứu tổng quan về nhận dạng khuôn mặt.
 Nghiên cứu các phương pháp nhận dạng bằng mạng Nơ-ron.
 Áp dụng phương pháp trên vào thực tế trong việc nhận dạng khuôn mặt.
8



Cao học KHMT Khóa 8

ĐH CNTT – ĐHQG TP.HCM

 Đối tượng nghiên cứu bao gồm:
 Lý thuyết về nhận dạng khuôn mặt.
 Các vấn đề liên quan đến các phương pháp nhận dạng khuôn mặt.
 Phương pháp nhận dạng khuôn mặt bằng mạng Nơ-ron.

3. Ý nghĩa khoa học và thực tiễn
 Ý nghĩa khoa học:
 Nghiên cứu việc nhận dạng khuôn mặt.
 Nghiên cứu về mạng Nơ-ron trong việc nhận dạng khuôn mặt.
 Tạo tiền đề cho những nghiên cứu tiếp theo trong tương lai.
 Ý nghĩa thực tiễn:
 Cung cấp các thuật toán hỗ trợ cho các thiết bị phát hiện và nhận dạng
khuôn mặt người.
 Giúp giảm giá thành cho công tác bảo vệ và bảo mật.
 Tạo tiền đề cho việc xây dựng cơ sở dữ liệu nhận dạng khách hàng một
cách tự động thông qua khuôn mặt.

9


Cao học KHMT Khóa 8

ĐH CNTT – ĐHQG TP.HCM

CHƯƠNG 1: TỔNG QUAN VỀ NHẬN DẠNG KHUÔN MẶT
1.1. Gới thiệu

Hệ thống nhận dạng mặt người là một hệ thống nhận vào là một ảnh hoặc một
đoạn video (một chuỗi các ảnh). Qua xử lý tính toán hệ thống xác định là người nào
trong số những người hệ thống đã được biết (qua quá trình huấn luyện) hoặc là người
lạ.

Hình 1.1: Ví dụ về hệ thống nhận dạng mặt người.

1.2. Các ứng dụng liên quan đến nhận dạng mặt người
Bài toán nhận dạng mặt người có thể áp dụng rộng rãi trong nhiều ứng dụng
thực tế khác nhau. Đó chính là lý do mà bài toán này hấp dẫn rất nhiều nhóm nghiên
cứu trong thời gian dài. Các ứng dụng liên quan đến nhận dạng mặt người có thể kể
như:
- Hệ thống phát hiện tội phạm: camera được đặt tại một số điểm công cộng như:
siêu thị, nhà sách, trạm xe buýt, sân bay,v.v... Khi phát hiện được sự xuất hiện của
các đối tượng là tội phạm, hệ thống sẽ gửi thông điệp về cho trung tâm xử lý.
- Hệ thống theo dõi nhân sự trong một đơn vị: giám sát giờ ra vào của từng nhân
viên và chấm công.
- Hệ thống tìm kiếm thông tin trên ảnh, video dựa trên nội dung (chỉ mục theo
10


Cao học KHMT Khóa 8

ĐH CNTT – ĐHQG TP.HCM

người). Chẳng hạn như: đài truyền hình Việt Nam (VTV) có một kho dữ liệu video
tin tức khá lớn cần tìm kiếm nhanh những đoạn video nào có G. Bush hoặc Bin Laden.

1.3. Các hướng tiếp cận nhận dạng khuôn mặt dùng mạng Nơ-ron
Mạng Nơ-ron đã và đang được sử dụng trong nhận dạng ảnh mặt người. Một

trong những nghiên cứu đầu tiên dùng Nơ-ron trong nhận dạng ảnh mặt người trong
[25] đã sử dụng mạng Kohonen nhận dạng ảnh trong một tập mẫu nhỏ các ảnh mặt
người và cho kết quả tốt ngay cả khi ảnh bị nhiễu hay mất một phần ảnh. Mạng Nơron cũng được hiện thực dùng phần cứng để nhận dạng ảnh mặt người trong [23].
Trong [24], mạng Nơ-ron được sử dụng để phân loại giới tính dùng vector có 16
thuộc tính như độ dày của lông mày, độ rộng của mũi và miệng, … Đầu ra của 2
mạng Nơ-ron được so sánh, giới tính của người trong ảnh nhận dạng thử được xác
định bởi mạng có đầu ra lớn hơn. Tỷ lệ nhận dạng đúng được công bố là 92.5% với
ảnh test đã được huấn luyện và 87.5% với ảnh test chưa được huấn luyện.
Trong nhiều nghiên cứu nhận dạng ảnh mặt người dùng mạng Nơ-ron, loại mạng
Nơ-ron được cho là hiệu quả nhất là mạng Nơ-ron perception đa lớp lan truyền ngược
(backpropagation MLP). Trong [26] hệ thống nhận dạng khuôn mặt người dùng mạng
MLP lan truyền ngược sử dụng cơ sở dữ liệu gồm 100 ảnh của 10 người khác nhau
tự thu thập, tỷ lệ nhận dạng đúng được công bố là 95.6%.
Để giảm số chiều của vector ảnh đầu vào làm giảm khối lượng tính toán của
mạng Nơ-ron. Nhiều nghiên cứu gần đây đề xuất dùng đầu vào của mạng Nơ-ron là
vector PCA (vector phân tích các thành phân cơ bản – Principal Component
Analysis).
Trong [27] hệ thống nhận dạng ảnh mặt người được xây dựng dùng vector PCA và
mạng Nơ-ron lan truyền ngược. Cơ sở dữ liệu gồm 200 ảnh được trích từ cơ sở dữ
liệu ảnh công cộng của Yale, hệ thống không chỉ cho kết quả nhận dạng tốt hơn mà
còn giảm thời gian huấn luyện, nhận dạng so với các nghiên cứu trước đó.

1.4. Những khó khăn của nhận dạng khuôn mặt
Bài toán nhận dạng mặt người là bài toán đã được nghiên cứu từ những năm
11


Cao học KHMT Khóa 8

ĐH CNTT – ĐHQG TP.HCM


70. Tuy nhiên, đây là một bài toán khó nên những nghiên cứu hiện tại vẫn chưa đạt
được kết quả mong muốn. Chính vì thế vấn đề này vẫn đang được nhiều nhóm trên
thế giới quan tâm nghiên cứu. Khó khăn của bài toán nhận dạng mặt người có thể kể
nhƣ sau:
a. Tư thế, góc chụp: Ảnh chụp khuôn mặt có thể thay đổi rất nhiều bởi vì góc
chụp giữa camera và khuôn mặt. Chẳng hạn như: chụp thẳng, chụp xéo bên trái 450
hay xéo bên phải 450, chụp từ trên xuống, chụp từ dưới lên, v.v...). Với các tư thế
khác nhau, các thành phần trên khuôn mặt nhu mắt, mũi, miệng có thể bị khuất một
phần hoặc thậm chí khuất hết.
b. Sự xuất hiện hoặc thiếu một số thành phần của khuôn mặt: Các đặc trưng
nhƣ: râu mép, râu hàm, mắt kính, v.v... có thể xuất hiện hoặc không. Vấn đề này làm
cho bài toán càng trở nên khó hơn rất nhiều.
c. Sự biểu cảm của khuôn mặt: Biểu cảm của khuôn mặt người có thể làm
ảnh hưởng đáng kể lên các thông số của khuôn mặt. Chẳng hạn, cùng một khuôn mặt
một người, nhưng có thể sẽ rất khác khi họ cười hoặc sợ hãi,v.v...
d. Sự che khuất: Khuôn mặt có thể bị che khuất bởi các đối tượng khác hoặc
các khuôn mặt khác.
e. Hướng của ảnh: Các ảnh của khuôn mặt có thể biến đổi rất nhiều với các
góc quay khác nhau của trục camera. Chẳng hạn chụp với trục máy ảnh nghiêng làm
cho khuôn mặt bị nghiêng so với trục của ảnh.
f. Điều kiện của ảnh: Ảnh được chụp trong các điều kiện khác nhau về: chiếu
sáng, về tính chất camera (máy kỹ thuật số, máy hồng ngoại,v.v...) ảnh hưởng rất
nhiều đến chất lượng ảnh khuôn mặt.

12


Cao học KHMT Khóa 8


ĐH CNTT – ĐHQG TP.HCM

CHƯƠNG 2: MỘT SỐ CƠ SỞ LÝ THUYẾT
2.1. Giới thiệu về mạng Nơ-ron.
2.1.1. Khái niệm mạng Nơ-ron
2.1.1.1. Mạng Nơ-ron nhân tạo là gì?
Định nghĩa: Mạng Nơ-ron nhân tạo, Artificial Neural Network (ANN) gọi tắt
là mạng Nơ-ron, neural network, là một mô hình xử lý thông tin phỏng theo cách thức
xử lý thông tin của các hệ Nơ-ron sinh học. Nó được tạo lên từ một số lượng lớn các
phần tử (gọi là phần tử xử lý hay Nơ-ron) kết nối với nhau thông qua các liên kết (gọi
là trọng số liên kết) làm việc như một thể thống nhất để giải quyết một vấn đề cụ thể
nào đó.
Một mạng Nơ-ron nhân tạo được cấu hình cho một ứng dụng cụ thể (nhận
dạng mẫu, phân loại dữ liệu, ...) thông qua một quá trình học từ tập các mẫu huấn
luyện. Về bản chất học chính là quá trình hiệu chỉnh trọng số liên kết giữa các Nơron.

2.1.1.2. Sơ lược về Nơ-ron sinh học
Qua quá trình nghiên cứu về bộ não, người ta thấy rằng: bộ não con người bao
gồm khoảng 1011 Nơ-ron tham gia vào khoảng 1015 kết nối trên các đường truyền.
Mỗi đường truyền này dài khoảng hơn một mét. Các Nơ-ron có nhiều đặc điểm chung
với các tế bào khác trong cơ thể, ngoài ra chúng còn có những khả năng mà các tế
bào khác không có được, đó là khả năng nhận, xử lý và truyền các tín hiệu điện hóa
trên các đường mòn Nơ-ron, các con đường này tạo nên hệ thống giao tiếp của bộ
não.

13


Cao học KHMT Khóa 8


ĐH CNTT – ĐHQG TP.HCM

Hình 2.1: Cấu trúc của một Nơ-ron sinh học điển hình [5].
Mỗi Nơ-ron sinh học có 3 thành phần cơ bản:
• Các nhánh vào hình cây (dendrites)
• Thân tế bào (cell body)
• Sợi trục ra (axon)
Các nhánh hình cây truyền tín hiệu vào đến thân tế bào. Thân tế bào tổng hợp
và xử lý cho tín hiệu đi ra. Sợi trục truyền tín hiệu ra từ thân tế bào này sang Nơ-ron
khác. Điểm liên kết giữa sợi trục của Nơ-ron này với nhánh hình cây của Nơ-ron khác
gọi là synapse. Liên kết giữa các Nơ-ron và độ nhạy của mỗi synapse được xác định
bởi quá trình hóa học phức tạp. Một số cấu trúc của Nơ-ron được xác định trước lúc
sinh ra. Một số cấu trúc được phát triển thông qua quá trình học. Trong cuộc đời cá
thể, một số liên kết mới được hình thành, một số khác bị hủy bỏ.
Như vậy Nơ-ron sinh học hoạt động theo cách thức sau: nhận tín hiệu đầu vào,
xử lý các tín hiệu này và cho ra một tín hiệu đầu ra. Tín hiệu đầu ra này sau đó được
truyền đi làm tín hiệu đầu vào cho các Nơ-ron khác.

14


Cao học KHMT Khóa 8

ĐH CNTT – ĐHQG TP.HCM

Dựa trên những hiểu biết về Nơ-ron sinh học, con người xây dựng Nơ-ron
nhân tạo với hy vọng tạo nên một mô hình có sức mạnh như bộ não.

2.1.1.3. Nơ-ron nhân tạo
Nơ-ron nhân tạo là một đơn vị tính toán có nhiều đầu vào và một đầu ra,

mỗi đầu vào đến từ một liên kết. Đặc trưng của Nơ-ron là một hàm kích hoạt
phi tuyến chuyển đổi 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 kích hoạt (hàm truyền) này đảm bảo tính chất phi tuyến cho
tính toán của mạng Nơ-ron.

Hình 2.2: Mô hình một Nơ-ron nhân tạo [6].

Một Nơ-ron được cầu tạo gồm các thành phần chính : liên kết Nơ-ron,
bộ cộng , hàm kích hoạt.
Liên kết Nơ-ron là một thành phần của mạng Nơ-ron nhận tạo để liên kết
giữa các Nơ-ron, nó nối đầu ra của Nơ-ron lớp này với đầu vào của một Nơron trong lớp khác. Đặc trưng của thành phần liên kết là một trọng số mà mỗi
tín hiệu đi qua đều được nhân với trọng số này. Các trọng số liên kết chính là
các tham số tự do cơ bản của mạng Nơ-ron, có thể thay đổi được nhằm thích
nghi với môi trường xung quanh.
15


Cao học KHMT Khóa 8

ĐH CNTT – ĐHQG TP.HCM

Bộ cộng dùng để tính tổng các tín hiệu đầu vào của Nơ-ron, đã được
nhân với các trọng số liên kết tương ứng, phép toán được mô tả ở đây tạo nên
một bộ hợp tuyến tính.
Hàm kích hoạt hay còn gọi 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 kích
hoạt này đảm bảo tính chất phi tuyến cho tính toán mạng Nơ-ron. Nó được xem
như là một hàm giới hạn, nó giới hạn phạm vi biên độ cho phép của tín hiệu
đầu ra trong một khoảng giá trị hữu hạn. Mô hình Nơ-ron trong hình 2.2 còn
bao gồm một hệ số điều chỉnh b tác động từ bên ngoài. Hệ số điều chỉnh b có

tác dụng tăng lên hoặc giảm đi đầu vào thực của hàm kích hoạt, tùy theo nó
dương hay âm.
Bảng 2.1: Một số hàm kích hoạt.

Công thức

Tên hàm
1. hardlim

2. hardlims

a0

với n < 0

a=1

với n  0

a  -1

với n < 0

a=1

với n  0

3. purelin

a=n


4. Satlin

a=0

với n < 0

a=n

với 0  n  1

a=1

với n > 1

a = -1

với n < 0

a=n

với 0  n  1

5. satlins

16


Cao học KHMT Khóa 8


ĐH CNTT – ĐHQG TP.HCM

a=1
6. tansig

7. poslin

8. compet

a

với n > 1

en  en
1  e n

a0

với n < 0

a=n

với n  0

a = 1 với Nơ-ron có n lớn nhất
a = 0 với các Nơ-ron còn lại

9. logsig

a


1
1  e n

2.1.2. Mô hình cơ bản của mạng Nơ-ron

Hình 2.3: Sơ đồ đơn giản về một mạng Nơ-ron nhân tạo [6].

Mô hình mạng Nơ-ron ở trên gồm 3 lớp: lớp nhập (input), lớp ẩn và lớp xuất
(output). Mỗi nút trong lớp nhập nhận giá trị của một biến độc lập và chuyển vào
mạng.

17


Cao học KHMT Khóa 8

ĐH CNTT – ĐHQG TP.HCM

Dữ liệu từ tất cả các nút trong lớp nhập được tích hợp – ta gọi là tổng trọng
hóa – và chuyển kết quả cho các nút trong lớp ẩn. Gọi là “ẩn” vì các nút trong lớp
này chỉ liên lạc với các nút trong lớp nhập và lớp xuất, và chỉ có người thiết kế mạng
mới biết lớp này (người sử dụng không biết lớp này).
Các nút trong lớp xuất nhận các tín hiệu tổng trọng hóa từ các nút trong lớp
ẩn. Mỗi nút trong lớp xuất tương ứng với một biến phụ thuộc.

2.1.3. Phân loại mạng Nơ-ron
2.1.3.1. Phân loại theo kiểu liên kết Nơ-ron
Ta có mạng Nơ-ron truyền thẳng và Nơ-ron mạng quy hồi.
Trong mạng truyền thẳng các Nơ-ron đi theo một hướng nhất định tạo thành

đồ thị không có chu trình, các đỉnh là các Nơ-ron còn các cạnh là các liên kết giữa
chúng.
Các mạng quy hồi cho phép các liên kết Nơ-ron tạo thành chu trình, các thông
tin ra của các Nơ-ron được truyền lại cho các Nơ-ron đã góp phần kích hoạt chúng,
nên mạng quy hồi còn có khả năng lưu giữ trạng thái trong của nó dưới dạng các
ngưỡng kích hoạt ngoài các trọng số liên kết Nơ-ron.

2.1.3.2. Một số loại mạng Nơ-ron
a. Mạng dẫn tiến
Có thể nói mạng Nơ-ron dẫn tiến là một kiểu mạng đơn giản trong việc sắp
đặt mạng. Trong mạng này thông tin chỉ truyền trên một hướng duy nhất. Từ lớp đầu
vào xuyên qua lớp ẩn (nếu có) và kết thúc tại lớp đầu ra. Không có chu trình hoặc
vòng trong mạng.
Các mạng dẫn tiến đơn mức:

18


Cao học KHMT Khóa 8

ĐH CNTT – ĐHQG TP.HCM

Trong một mạng Nơ-ron phân mức, các Nơ-ron được tổ chức dưới dạng các
mức. Với dạng đơn giản nhất của mạng phân mức, chúng ta có một mức đầu vào gồm
các nút nguồn chiếu trực tiếp tới mức đầu ra gồm các Nơ-ron.

Mức đầu vào

Mức đầu ra


Hình 2.4: Mạng tiến với một mức Nơ-ron [6].

Như vậy, mạng thực sự là không có chu trình. Nó được minh hoạ trong hình
2.4 cho trường hợp ba nút đối với cả mức đầu ra và đầu vào. Một mạng như vậy được
gọi là một mạng đơn mức. “Đơn mức” tức là chỉ có một mức, chính là mức đầu ra
gồm các nút tính toán (các Nơ-ron). Chúng ta không tính mức đầu vào của các nút
nguồn vì không có tính toán nào được thực hiện ở đây.
Các mạng dẫn tiến đa mức:
Lớp thứ hai của một mạng Nơ-ron dẫn tiến được phân biệt bởi sự có mặt của
một hay nhiều mức ẩn, mà các nút tính toán của chúng được gọi là các Nơ-ron ẩn hay
các đơn vị ẩn (thuật ngữ “ẩn” ở đây mang ý nghĩa là không tiếp xúc với môi trường).
Chức năng của các Nơ-ron ẩn là can thiệp vào giữa đầu vào và đầu ra của mạng một
cách hữu hiệu. Bằng việc thêm một vài mức ẩn, mạng có khả năng rút ra được các
thống kê bậc cao của tín hiệu đầu vào. Khả năng các Nơ-ron ẩn rút ra được các thống
kê bậc cao đặc biệt có giá trị khi mức đầu vào có kích thước lớn.

19


Cao học KHMT Khóa 8

ĐH CNTT – ĐHQG TP.HCM

Mạng Nơ-ron trong hình 2.5 được gọi là kết nối đầy đủ với ý nghĩa là tất cả
các nút trong mỗi mức của mạng được nối với tất cả các nút trong mức tiếp sau. Nếu
một số kết nối không tồn tại trong mạng, chúng ta nói rằng mạng là kết nối không
đầy đủ.

Mức đầu vào


Mức ẩn

Mức đầu ra

gồm các nút

gồm các

gồm các

nguồn

Nơ-ron ẩn

Nơ-ron đầu ra

Hình 2.5: Mạng tiến kết nối đầy đủ với một mức ẩn và một mức đầu ra [6].

b. Mạng quy hồi
Trái với mạng Nơ-ron dẫn tiến, mạng Nơ-ron quy hồi là những mô hình với
hai luồng dữ liệu có hướng. Trong khi mạng dẫn tiến truyền dữ liệu theo một đường
thẳng thì những mạng Nơ-ron quy hồi có ít nhất một phản hồi từ những Nơ-ron xử lý
sau quay trở lại các Nơ-ron xử lý trước đó.

20


Cao học KHMT Khóa 8

ĐH CNTT – ĐHQG TP.HCM


Hình 2.6: Mạng quy hồi không có Nơ-ron ẩn và không có vòng lặp tự phản hồi [6].

Hình 2.7: Mạng quy hồi có các Nơ-ron ẩn [6].

2.1.4. Xây dựng mạng Nơ-ron
Về cơ bản ta có thể hiểu mạng Nơ-ron là một đồ thị có hướng. Trong đó các
đỉnh của đồ thị là các Nơ-ron và các cạnh của đồ thị là các liên kết giữa các Nơ-ron.

21


Cao học KHMT Khóa 8

ĐH CNTT – ĐHQG TP.HCM

h
g
h

f
g

h
Hình 2.8: Mô phỏng liên kết giữa các Nơ-ron.

Vì vậy để xây dựng một mạng Nơ-ron ta xây dựng một đồ thị có hướng: số
đỉnh của đồ thị bằng số Nơ-ron trong mạng, giá trị của các cạnh chính là trọng số liên
kết Nơ-ron.
Giải thuật xây dựng mạng Nơ-ron đơn giản:

Input: Cho:
 Mạng Nơ-ron có num_layer lớp (với num_layer>1).
 Mỗi lớp có num_of_layer Nơ-ron (num_of_layer>=1).
 Trọng số w liên kết Nơ-ron ngẫu nhiên trong khoảng (-a,a).
Output: Mạng Nơ-ron nhân tạo.
Kiểu dữ liệu: chọn lưu dữ kiểu mảng :
int num_layer;
int num_of_layer[num_layer];
float w[i][j][k]; với 2<=i<=num_layer, 1<=j,k<=num_of_layer[] ,
Thuật toán:
- Bước 1: Chọn lớp i=2 là lớp bắt đầu (ngay sau lớp input).
- Bước 2: Chọn lớp i là lớp hiện thời.
22


Cao học KHMT Khóa 8

ĐH CNTT – ĐHQG TP.HCM

- Bước 3 : Tại lớp đang xét i , xét Nơ-ron thứ j .
- Bước 4: Thực hiện khởi tạo ngẫu nhiên trọng số kết nối với Nơ-ron k của lớp
i-1 trong khoảng (-a,a).
w(i,j,k)=random(-a,a) (trọng số kết nối của Nơ-ron thứ j của layer[i] với Nơron thứ k của layer[i-1] )
- Bước 5: Nếu k <= num_of_layer[i-1] quay lại “Bước 4”, ngược lại thực hiện
“Bước 6”.
- Bước 6: Nếu j<=num_of_layer[i] quay lại “Bước 3”, ngược lại thực hiện
“Bước 7”.
- Bước 7: Nếu i<=num_layer quay lại “Bước 3”. ngược lại kết thúc.

2.1.5. Huấn luyện mạng Nơ-ron

2.1.5.1. Phương pháp học
Một mạng Nơ-ron được huyấn luyện sao cho với một tập các vector đầu vào
X, mạng có khả năng tạo ra tập các vector đầu ra mong muốn Y của nó. Tập X được
sử dụng cho huấn luyện mạng được gọi là tập huấn luyện (training set). Các phần tử
x thuộc X được gọi là các mẫu huấn luyện (training example). Quá trình huấn luyện
bản chất là sự thay đổi các trọng số liên kết của mạng. Trong quá trình này, các trọng
số của mạng sẽ hội tụ dần tới các giá trị sao cho với mỗi vector đầu vào x từ tập huấn
luyện, mạng sẽ cho ra vector đầu ra y như mong muốn.
Có ba phương pháp học phổ biến là học có giám sát (supervised learning), học
không giám sát (unsupervised learning) và học tăng cường (Reinforcement learning):
♦ Học có giám sát: Là quá trình học có sự tham gia giám sát của một “thầy
giáo”. Cũng giống như việc ta dạy một em nhỏ các chữ cái. Ta đưa ra một chữ “a” và
bảo với em đó rằng đây là chữ “a”. Việc này được thực hiện trên tất cả các mẫu chữ
cái. Sau đó khi kiểm tra ta sẽ đưa ra một chữ cái bất kì (có thể viết hơi khác đi) và hỏi
em đó đây là chữ gì?
23


×