Tải bản đầy đủ (.docx) (44 trang)

Tiểu luận môn Máy học và ứng dụng PHÂN LỚP CẢM XÚC MẶT NGƯỜI BẰNG MẠNG NƠ-RON NHÂN TẠO

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 (761.31 KB, 44 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
BÁO CÁO ĐỒ ÁN MÔN HỌC
MÁY HỌC VÀ ỨNG DỤNG
PHÂN LỚP CẢM XÚC MẶT NGƯỜI BẰNG
MẠNG NƠ-RON NHÂN TẠO
GV hướng dẫn: PGS. TS. Vũ Thanh Nguyên
HV thực hiện: Phan Thị Trinh
MSHV: CH1301067
Thành phố Hồ Chí Minh - 2014
Giảng viên hướng dẫn: PGS. TS. VŨ THANH NGUYÊN Máy học và ứng dụng
MỤC LỤC
Trang
Học viên thực hiện: PHAN THỊ TRINH – CH1301067, Lớp Cao học khóa 8, ĐHCNTT Trang 2
Giảng viên hướng dẫn: PGS. TS. VŨ THANH NGUYÊN Máy học và ứng dụng
DANH MỤC CÁC BẢNG BIỂU
Trang
Học viên thực hiện: PHAN THỊ TRINH – CH1301067, Lớp Cao học khóa 8, ĐHCNTT Trang 3
Giảng viên hướng dẫn: PGS. TS. VŨ THANH NGUYÊN Máy học và ứng dụng
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Trang
Học viên thực hiện: PHAN THỊ TRINH – CH1301067, Lớp Cao học khóa 8, ĐHCNTT Trang 4
Giảng viên hướng dẫn: PGS. TS. VŨ THANH NGUYÊN Máy học và ứng dụng
1 CHƯƠNG 1
TỔNG QUAN
1.1. Giới thiệu
Nhận dạng mặt người được ứng dụng trong rất nhiều lĩnh vực như bảo mật,
chứng thực cá nhân, giao tiếp Internet và giải trí máy tính. Mặc dù nhận dạng mặt
người tự động đã được nghiên cứu rất sớm từ những năm 1960, bài toán này vẫn
còn nhiều vấn đề chưa được giải quyết. Những năm gần đây đã có những tiến bộ
đang kể trong lĩnh vực này nhờ sự cải tiến trong kỹ thuật phân tích và lấy mẫu


khuôn mặt. Các hệ thống đã được phát triển để dò tìm và nhận dạng khuôn mặt,
nhưng tính đáng tin cậy trong nhận dạng khuôn mặt vẫn còn là một thách thức lớn
đối với cá nhà nghiên cứu về nhận dạng mẫu và thị giác máy tính.
Càng ngày càng có nhiều sự quan tâm đến nhận dạng mặt người vì một số lý
do sau: tăng cường an ninh ở nơi công cộng, sự cần thiết chứng thực nhận dạng
trong thế giới số, sự cần thiết về các kỹ thuật phân tích và mô hình khuôn mặt trong
giải trí máy tính và quản lý dữ liệu đa phương tiên. Những tiến bộ gần đây trong
phân tích mặt tự động, nhận dạng mẫu và máy học giúp chúng ta có thể phát triển
một hệ thống nhận dạng mặt tự động nhằm vào các ứng dụng trên.
Biểu cảm khuôn mặt là những thay đổi trong phản ứng với trạng thái cảm
xúc bên trong của một người, hoặc khi giao tiếp trong xã hội. Con người giao tiếp
với nhau không chỉ bằng ngôn ngữ lời nói mà còn bằng ngôn ngữ cử chỉ và cảm xúc
biểu lộ trên khuôn mặt.Theo Mehrabian, trong giao tiếp cảm xúc thì 55% thông điệp
sẽ được chuyển tải qua biểu cảm khuôn mặt, trong khi đó chỉ có 7% qua ngôn ngữ
nói và 38% qua ngôn ngữ cử chỉ.
Phân tích cảm xúc khuôn mặt là đề tài nghiên cứu về khoa học hành vi của Darwin
đã được nghiên cứu từ năm 1872. Năm 1978, M. Suwa, N. Sugie, và K.
Fujimoratrình bày một thử nghiệm về phân tích tự động biểu lộ khuôn mặt bằng
Học viên thực hiện: PHAN THỊ TRINH – CH1301067, Lớp Cao học khóa 8, ĐHCNTT Trang 5
Giảng viên hướng dẫn: PGS. TS. VŨ THANH NGUYÊN Máy học và ứng dụng
cách theo dõi hoạt động của 20 điểm xác định trên một chuỗi ảnh. Sau đó, có nhiều
sự phát triển được thực hiện để xây dựng các hệ thống máy tính giúp chúng ta hiểu
và sử dụng hệ thống giao tiếp tự nhiên giữa người và máy. P. Eckman cho rằng con
người có sáu trạng thái cảm xúc cơ bản là: vui (joy), ngạc nhiên (surprise), ghê tởm
(disgust), buồn (sadness), giận dữ (anger)và sợ hãi (fear). Ngoài ra có thể thêm vào
một cảm xúc nữa là bình thường (neutral).
Phân tích cảm xúc mặt người là một trong những ứng dụng của nhận dạng
mặt người. Từ những phân tích đó, ta sẽ nhận dạng được cảm xúc khuôn mặt. Trước
đây, robot được lập trình và hoạt động cứng nhắc theo chương trình sẵn có chỉ giao
tiếp được với con người qua bàn phím, chuột, màn hình, robot chỉ được xem như

một cái máy. Tuy nhiên, với sức mạnh của các bộ vi xử lý ngày nay, đã cho phép
robot giao tiếp với con người theo một cách mới, đó là hình ảnh (thị giác) và âm
thanh. Trong tương lai, robot có thể “nhìn thấy” con người xung quanh nó và giao
tiếp lại một cách rất “người” như thể hiện cảm xúc, điệu bộ, … Do đó, nhiều dự án
ở nước ngoài đã được nghiên cứu nhằm điểu khiển robot có tính cách người hơn
(humanoid robot), nghĩa là robot có thể hiểu được cảm xúc và cử chỉ của con người.
Để thực hiện ý tưởng đó, đòi hỏi chúng ta phải tạo cho robot một hệ thống tự động
nhận biết cảm xúc mặt người. Ngoài ra, việc ứng dụng nhận dạng trạng thái con
người trong điều tra tội phạm cũng là vấn đề đáng được quan tâm. Hệ thống có thể
tự động nhận dạng mặt người trong một dòng video thực và tiếp tục nhận dạng
những cảm xúc của mặt người trong thời gian thực. Nói cách khác, hệ thống tự
động kiểm tra mặt người và nhận dạng ra các cảm xúc mặt người: bình thường
(neutral), buồn (sadness), vui (joy), giận dữ (angry), ngạc nhiên (surprise), sợ hãi
(fear), ghê tởm (disgust).
1.2. Bài toán nhận dạng biểu lộ cảm xúc khuôn mặt và những khó khăn
1.2.1. Bài toán nhận dạng biểu lộ cảm xúc khuôn mặt
Bài toán nhận dạng cảm xúc khuôn mặt yêu cầu như sau:
Nhập (Input): một bức ảnh hoặc một chuỗi các ảnh.
Học viên thực hiện: PHAN THỊ TRINH – CH1301067, Lớp Cao học khóa 8, ĐHCNTT Trang 6
Giảng viên hướng dẫn: PGS. TS. VŨ THANH NGUYÊN Máy học và ứng dụng
Xuất (Output): Cảm xúc của người có trong ảnh: bình thường (neutral), buồn
(sadness), vui (joy), giận dữ (angry), ngạc nhiên (surprise), sợ hãi (fear), ghê tởm
(disgust).
Hình 1.1. Ví dụ nhận diện cảm xúc mặt người
1.2.2. Những khó khăn của nhận dạng cảm xúc khuôn mặt
Bài toán nhận dạng cảm xúc mặt người dù đã được nghiên cứu từ những năm
70, nhưng kết quả đạt được vẫn còn hạn chế vì gặp rất nhiều khó khăn như:
a. Điều kiện chiếu sáng: Ảnh được chụp trong các điều kiện chiếu sáng
khác nhau sẽ gây khó khăn trong việc phân tích đặc trưng của ảnh.
b. Khuôn mặt có thêm nhiều thành phần khác: Các thành phần này có thể là

râu mép, râu hàm, mắt kính, Các thành phần này có thể làm cho việc
giải quyết bài toán gặp rất nhiều khó khăn.
c. Tư thế chụp ảnh: khuôn mặt có thể được chụp ở nhiều góc độ khác nhau
như: chụp thẳng, xoay trái 45
0
hoặc 90
0
, xoay phải 45
0
hoặc 90
0
, mặt nhìn
xuống, mặt nhìn lên, Với các tư thế chụp ảnh khác nhau sẽ làm cho
việc phân tích các thành phần như mắt, mũi, miệng có thể bị lệch, bị che
khuất.
1.3. Tổng quan hệ thống nhận dạng cảm xúc khuôn mặt
Phương pháp tổng quát để phân tích tự động biểu lộ khuôn mặt (AFEA:
automatic facial expression analysis) thông thường gồm ba bước xử lý: định vị
khuôn mặt, rút trích và biểu diễn dữ liệu đặc trưng, phân lớp cảm xúc khuôn mặt.
Học viên thực hiện: PHAN THỊ TRINH – CH1301067, Lớp Cao học khóa 8, ĐHCNTT Trang 7
OutputInput
Phân lớp cảm xúc
khuôn mặt
Vui
Định vị gương mặt
Rút trích và biểu diễn lại dữ liệu về khuôn mặtPhân lớp biểu lộ khuôn mặt
Dò 'm gương mặtƯớc lượng tư thế đầuDựa vào đặc điểmDựa vào diện mạo Dựa vào khung Dựa vào chuỗi
Giảng viên hướng dẫn: PGS. TS. VŨ THANH NGUYÊN Máy học và ứng dụng
Hình 1.2. Cấu trúc cơ bản của hệ thống phân tích biểu lộ khuôn mặt
Bước 1: Định vị khuôn mặt

Định vị khuôn mặt là một pha xử lý để tự động tìm thấy những vùng có mặt
người từ một ảnh hoặc một chuỗi các ảnh liên tiếp. Nó có thể là một công cụ dò tìm
những khuôn mặt trong mỗi khung hình hoặc dò tìm khuôn mặt trong khuôn mặt
đầu tiên sau đó theo dõi khuôn mặtnày trong các khung hình còn lại của video.
Bước 2: Rút trích đặc trưng và biểu diễn lại dữ liệu về khuôn mặt
Khuôn mặt được định vị ở bước 1, bước tiếp theo rút trích và biểu diễn lại
những thay đổi của khuôn mặt gây ra bởi biểu lộ của khuôn mặt. Có 2 cách tiếp cận:
phương pháp dựa vào các đặc điểm hình học và phương pháp dựa vào diện mạo của
cả khuôn mặt.
- Phương pháp dựa vào đặc điểm hình học (Geometric feature-based
methods): dựa vào hình dạng và vị trí các thành phần cấu tạo nên khuôn
mặt(miệng, mắt, lông mày, mũi, trán, gò má), những thành phần này và
những điểm đặc trưng của khuôn mặt sẽ được rút trích và xây dựng nên một
vector đặc trưng biểu diễn cho khuôn mặt.
Học viên thực hiện: PHAN THỊ TRINH – CH1301067, Lớp Cao học khóa 8, ĐHCNTT Trang 8
Giảng viên hướng dẫn: PGS. TS. VŨ THANH NGUYÊN Máy học và ứng dụng
- Phương pháp dựa vào diện mạo của cả khuôn mặt (Appearance-base
methods): với phương pháp này thì các phương pháp lọc ảnh như là Gabor
wavelets được áp dụng trên toàn bộ mặt hoặc trên từng vùng của mặt để rút
ra các vector đặc trưng.
Bước 3:Phân lớp biểu lộ khuôn mặt
Dựa vào những đặc trưng ở bước 2, hệ thống sẽ thực hiện việc phân lớp biểu
lộ khuôn mặt : các phương pháp phân lớp thường được sử dụng ở bước này
như :mạng Nơ-ron, eigenface, Support Vector Machine (SVM), phân lớp Bayes, mô
hình Markov ẩn (HMM),….
1.4. Các ứng dụng
Bài toán nhận dạng cảm xúc mặt người có thể áp dụng rộng rãi trong nhiều
lĩnh vực khác nhau. Các ứng dụng của nhận dạng cảm xúc mặt người như sau:
- Hệ thống giao tiếp thông qua cảm xúc: Thông qua một số ký hiệu nháy mắt,
những người bị bại liệt có thể biểu lộ được những gì họ muốn, cái nhìn của

mắt để điều khiển những hành động mong muốn trên màn hình máy tính
(thay cho chuột và bàn phím)
- Hệ thống phát hiện nói dối thông qua những biểu lộ của khuôn mặt: Một
nghiên cứu mới thực hiện tại phòng thí nghiệm tâm lý pháp lý Stenphen
Porter tại đại học Dalhousie đã cho thấy khuôn mặt sẽ tiết lộ cảm xúc thực sự
của người nói dối
- Chế tạo robot: Thông qua đôi mày, mắt, mí mắt, hàm, các chuyên gia robot
tại Viện công nghệ Massachusetts của Mỹ vừa chế tạo một robot có tên là
Nexi, có khả năng biểu lộ cảm xúc trên khuôn mặt giống như con người
- Hệ thống nhận dạng tội phạm: Giúp cơ quan an ninh quản lý tốt con người.
Công việc nhận dạng có thể ở trong môi trường bình thường cũng như trong
bóng tối.
- Hệ thống quan sát, theo dõi và bảo vệ: Thông qua những biểu lộ trên khuôn
mặt, máy có thể phát hiện ra đâu là con người và theo dõi họ có vi phạm gì
Học viên thực hiện: PHAN THỊ TRINH – CH1301067, Lớp Cao học khóa 8, ĐHCNTT Trang 9
Giảng viên hướng dẫn: PGS. TS. VŨ THANH NGUYÊN Máy học và ứng dụng
không? Ví dụ xâm phạm khu vực không được vào, hay phát hiện tài xế taxi
ngủ gật, mất tập trung hay không? Và hổ trợ thông báo khi cần thiết.
- Hệ thống điều khiển vào ra: văn phòng, công ty, trụ sở, máy tính, Palm,….
Cho phép nhân viên được ra vào nơi cần thiết hay mỗi người sẽ đăng nhập
máy tính cá nhân của mình mà không cần nhớ tên đăng nhập cũng như mật
khẩu mà chỉ cần xác định thông qua khuôn mặt.
- Hệ thống phân loại trong lưu trữ hình ảnh trong điện thoại di động: Thông
qua bài toán xác định khuôn mặt người và trích đặc trưng, rồi dựa vào đặc
điểm trên khuôn mặt để sắp xếp lưu trữ, giúp người sử dụng dễ dàng truy tìm
khi cần thiết.
Ngoài ra, nó còn được ứng dụng để điều trị tâm lý, tâm thần, thần kinh, đánh
giá sự đau đớn, môi trường thông minh và giao tiếp người- máy(HCL- Human-
Computer- Interface).
Học viên thực hiện: PHAN THỊ TRINH – CH1301067, Lớp Cao học khóa 8, ĐHCNTT Trang 10

Giảng viên hướng dẫn: PGS. TS. VŨ THANH NGUYÊN Máy học và ứng dụng
1) CHƯƠNG 2
RÚT TRÍCH ĐẶC TRƯNG CỦA KHUÔN MẶT
BẰNGPHƯƠNG PHÁP PHÂN TÍCH THÀNH PHẦN
CHÍNH
2.1.Thuật toán PCA (Principal Component Analysis)
2.1.1.Khái niệm PCA
Phương pháp PCA là phương pháp nhằm làm giảm số chiều của một tập các
vectơ sao cho vẫn đảm bảo được tối đa thông tin quan trọng nhất của tập dữ liệu
huấn luyện. Như vậy, phương pháp PCA tìm cách giữ lại những thành phần thống
kê quan trọng nhất của tập mẫu.
Về bản chất, PCA tìm một không gian mới theo hướng biến thiên mạnh nhất
của các vector trong không gian gốc. Và trong không gian mới người ta hi vọng
việc phân loại sẽ mang lại kết quả tốt hơn không gian ban đầu.
Ưu điểm của thuật toán PCA:
- Tìm được đặc tính tiêu biểu của đối tượng cần nhận dạng mà không cần phải
xác định các thành phần và mối quan hệ giữa các thành phần đó.
- Thực hiện tốt với các ảnh đầu vào có độ phân giải cao do PCA sẽ thu gọn
ảnh đầu vào thành một ảnh mới có kích thước nhỏ hơn nhiều.
- Khối lượng tính toán không nhiều
- PCA có tính mở nên có thể kết hợp với các phương pháp khác ( như mạng
nơ-ron, Support Vector Machine-SVM…) để mang lại hiệu quả nhận dạng
cao.
Nhược điểm của PCA:
- PCA phân loại theo chiều biến thiên lớn nhất của các vector, tuy nhiên không
phải lúc nào theo chiều này cũng mang lại hiệu quả cao nhất cho nhận dạng.
Đây là nhược điểm cơ bản của PCA
Học viên thực hiện: PHAN THỊ TRINH – CH1301067, Lớp Cao học khóa 8, ĐHCNTT Trang 11
Giảng viên hướng dẫn: PGS. TS. VŨ THANH NGUYÊN Máy học và ứng dụng
- PCA rất nhạy với nhiễu, vì vậy nhiệm vụ tiền xử lí (lọc nhiễu, chuẩn hóa…)

đòi hỏi thực hiện kỹ.
2.1.2 Nội dung phương pháp PCA
Khi sử dụng PCA, ta coi ảnh mặt người n x n pixel là một ma trận n x n.
PCA sẽ tìm không gian mới từ k vector trong không gian k chiều với k << n, mỗi
vector gọi là một eigenvector.
1
2

n
a
a
A
a
 
 
 
= →
 
 
 
giảm chiều
1
2

k
w
w
W
w
 

 
 
→ =
 
 
 
với k << n
Theo công thức
W = T * A (2.1)
Với T là một phép biến đổi tuyến tính, và là một ma trận kích thước k x n
11 12 13 1
21 22 23 2
1 2 3




n
n
k k k kn
t t t t
t t t t
T
t t t t
 
 
 
=
 
 

 
Các bước trích chọn đặc trưng bằng PCA:
Giả sử có M vector x(x
1
, x
2
,… x
n
) (với x
1
, x
2
,… x
n
là các vector N x 1) cần
trích chọn đặc trưng.
- Bước 1: Tính kì vọng ( trị trung bình )
1
1
M
i
i
x x
M
=
=

(2.2)
- Bước 2: là bước loại bỏ đặc tính thống kê cấp 1. Tính độ lệch bằng cách dữ
liệu trừ đi giá trị trung bình

i i
x xΦ = −
(2.3)
Học viên thực hiện: PHAN THỊ TRINH – CH1301067, Lớp Cao học khóa 8, ĐHCNTT Trang 12
Giảng viên hướng dẫn: PGS. TS. VŨ THANH NGUYÊN Máy học và ứng dụng
- Bước 3: tạo thành ma trận NxM
1 2
]
M
Α =[ΦΦ Φ
(2.4)
- Bước 4: tính ma trận hiệp phương sai
1
1
M
T T
n n
i
C AA
M
=
= Φ Φ =

(2.5)
- Bước 5: tính các trị riêng của C
1 2 n
λ > λ > > λ
- Bước 6: tính các vector riêng của C
1 2
, , ,

n
u u u
Các vector riêng này tạo thành một cơ sở U(
1 2
, , ,
n
u u u
) tức là các vector x
i

có thể được biểu diễn bởi một tổ hợp tuyến tính các vector u
i
.
- Bước 7: tính đặc trưng PCA của dữ liệu. Đặc trưng PCA (PCAfeature hay
trong bài toán nhận dạng gọi là eigenface) được tính bằng cách nhân ma trận
dữ liệu (đã hiệu chỉnh giá trị trung bình) với tập cơ sởU(
1 2
, , ,
n
u u u
) chuyển
vị. Phép toán này tương đương với phép chiếu một vector lên không gian tín
hiệu.
PCAfeature=U
T
.A (2.6)
- Bước 8: ở bước 7 đã tạo được tập dữ liệu đặc trưng có kích thước như kích
thước ban đầu, và từ tập dữ liệu đặc trưng ta có thể tái tạo lại dữ liệu gần
giống dữ liệu gốc. Song bài toán nhận dạng chỉ cần những nét đặc trưng nhất
Học viên thực hiện: PHAN THỊ TRINH – CH1301067, Lớp Cao học khóa 8, ĐHCNTT Trang 13

Giảng viên hướng dẫn: PGS. TS. VŨ THANH NGUYÊN Máy học và ứng dụng
để nhận dạng, nên ta chỉ chọn K vector riêng ứng với K trị riêng lớn nhất để
tạo cơ sở U(
1 2
, , ,
k
u u u
) với K << N. Các vector
$
x x−
biểu diễn trong U là:
$
1
K
i i
i
x x b u
=
− =

(2.7)
Khi đó U đã được giảm số chiều, và phép biến đổi tuyến tính R
N
→ R
K
là:
1
1
2
2

( ) ( )


T
T
T
T
k
k
b
u
b
u
x x U x x
b
u
 
 
 
 
 
 
= − = −
 
 
 
 
 
 
 

(2.8)
Trong bài toán nhận dạng, giả sử ảnh vào có kích thước 128 x 128 thì ma
trận hiệp phương sai C = A.A
T
có kích thước là 128
2
=16384, do đó khối lượng tính
toán sẽ rất lớn. Do đó thay vì tính trực tiếp các vector riêng từ C, ta có thể tính các
vector riêng của ma trận
C’ = A
T
.A (2.9)
C’ sẽ có kích thước là MxM (M là số mẫu). Ta sẽ chứng minh như sau: gọi
v
i

i
lần lượt là vector riêng và trị riêng của C’:
A
T
.A.v
i
= δ
i
.v
i
(2.10)
Nhân cả hai vế của (3.39) với A:
A.A
T

.A.v
i
= δ
i
.A.v
i
(2.11)
C.A.v
i
= δ
i
.A.v
i
Dễ thấy A.v
i
là vector riêng của C ứng với trị riêng δ
i
.
2.2. Áp dụng PCA để rút trích các đặc trưng cục bộ
Trong đồ án này, tôi sử dụng PCA để rút trích đặc trưng thành một vectơ V.
Học viên thực hiện: PHAN THỊ TRINH – CH1301067, Lớp Cao học khóa 8, ĐHCNTT Trang 14
Giảng viên hướng dẫn: PGS. TS. VŨ THANH NGUYÊN Máy học và ứng dụng
Vectơ V sẽ được sử dụng để làm đầu vào cho mô hình mạng nơ-ron mà tôi
xây dựng được trình bày ở chương 3.
Học viên thực hiện: PHAN THỊ TRINH – CH1301067, Lớp Cao học khóa 8, ĐHCNTT Trang 15
Giảng viên hướng dẫn: PGS. TS. VŨ THANH NGUYÊN Máy học và ứng dụng
2) CHƯƠNG3
PHÂN LỚP CẢM XÚC BẰNG MẠNG NƠ-RON DỰA
TRÊN RÚT TRÍCH ĐẶC TRƯNG
3.1. Mạng Nơ-ron

3.1.1. Giới thiệu chung
Mạng nơ-ron (Nơ-ron Networks) trong một vài năm trở lại đây đã được
nhiều người quan tâm và đã áp dụng thành công trong nhiều lĩnh vực khác nhau,
như tài chính, y tế, địa chất và vật lý. Thật vậy, bất cứ ở đâu có vấn đề về dự báo,
phân loại và điều khiển, mạng nơ-ron đều có thể ứng dụng được. Sự thành công
nhanh chóng của mạng nơ-ron có thể là do một số nhân tố chính sau:
Năng lực: mạng nơ-ron là những kỹ thuật mô phỏng rất tinh vi, có khả năng
mô phỏng các hàm cực kỳ phức tạp. Đặc biệt, mạng nơ-ron hoạt động phi tuyến.
Trong nhiều năm, mô hình tuyến tính là kỹ thuật được sử dụng rộng rãi trong hầu
hết các lĩnh vực, vì thế mô hình tuyến tính có tính chiến lược tối ưu hóa được biết
nhiều nhất.
Để sử dụng mạng nơ-ron, người sử dụng mạng nơ-ron thu thập các dữ liệu
đặc trưng, sau đó gọi các thuật toán huấn luyện để có thể tự học cấu trúc của dữ
liệu. Mạng nơ-ron dựa trên việc mô phỏng cấp thấp hệ thống nơ-ron sinh học.
Trong tương lai với sự phát triển mô phỏng nơ-ron sinh học, chúng ta có thể có loại
máy tính thông minh thật sự.
3.1.2. Mô hình của một nơ-ron nhân tạo
Mặc dù hiểu biết của con người về kiến trúc và hoạt động của não còn chưa đầy
đủ, người ta tạo ra được các máy có một số tính năng tương tự não nhờ mô phỏng
các đặc điểm:
1. Tri thức thu nhận được nhờ quá trình học
Học viên thực hiện: PHAN THỊ TRINH – CH1301067, Lớp Cao học khóa 8, ĐHCNTT Trang 16
Giảng viên hướng dẫn: PGS. TS. VŨ THANH NGUYÊN Máy học và ứng dụng
2. Tính năng có được nhờ kiến trúc mạng và tính chât kết nối
Các loại mô phỏng này có tên chung là mạng nơ-ron nhân tạo hay gọn hơn mạng
nơ-ron và viết tắt là ANN hoặc gọn hơn là NN. Trong ứng dụng chúng thường được
tích hợp với các hệ khác.
Đặc điểm chính của ANN
1. Phi tuyến. Cho phép xử lý phi tuyến:
2. Cơ chế ánh xạ vào → ra (x → d(x)) cho phép học có giám sát

3. Cơ chế thích nghi. Thay đổi tham số phù hợp với môi trường.
4. Đáp ứng theo mẫu đào tạo. Được thiết kế không nhữngcung cấp thông tin về
mẫu đào tạo mà còn cho biết mức tin cậy của nó.
5. Thông tin theo ngữ cảnh.Tri thức được biểu diễn tuỳ theo trạng thái và kiến
trúc của ANN
6. Cho phép có lỗi (fault tolerance).
7. Tích hợp lớn.
8. Mô phỏng sinh học
Để mô phỏng các tế bào thần kinh và các kết nối thần kinh của bộ não con
người, trong mạng nơ-ron nhân tạo cũng có các thành phần có vài trò tương tự là
các nơ-ron nhân tạo cùng các kết nối.Một nơ-ron nhân tạo là một đơn vị tính toán
hay xử lý thông tin cơ sở cho hoạt động của một mạng nơ-ron. Ở đây, chúng ta xác
định ba thành phần cơ bản của một mô hình nơ-ron:
Học viên thực hiện: PHAN THỊ TRINH – CH1301067, Lớp Cao học khóa 8, ĐHCNTT Trang 17
Giảng viên hướng dẫn: PGS. TS. VŨ THANH NGUYÊN Máy học và ứng dụng
Hình 3.3. Mô hình một mạng nơ-ron nhân tạo.
- Một tập hợp các kết nối (synapse), mà mỗi một trong chúng được đặc trưng
bởi một trọng số của riêng nó. Tức là một tín hiệu x
j
tại đầu vào của kết nối j nối với
nơ-ron k sẽ được nhân với trọng số kết nối w
kj
. Ở đó k là chỉ số của nơ-ron tại đầu
ra của kết nối đang xét, còn j chỉ điểm đầu vào của kết nối. Các trọng số kết nối của
một nơ-ron nhân tạo có thể nhận cả các giá trị âm và các giá trị dương.
- Một bộ cộ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ố kết nối tương ứng, phép toán được mô phỏng ở đây tạo nên một bộ tổ
hợp tuyến tính.
- Một hàm kích hoạt (activation function) để giới hạn biên độ đầu ra của nơ-
ron. Hàm kích hoạt cũng được xem xét như là một hàm nén, nó 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 còn bao gồm một hệ số hiệu chỉnh tác động từ bên ngoài b
k
. Hệ
số hiệu chỉnh 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.
Hình 3.4. Mô hình phi tuyến tính của nơ-ron.
Dưới dạng công thức toán học, chúng ta có thể mô tả một nơ-ron k bằng cặp
công thức sau:
Học viên thực hiện: PHAN THỊ TRINH – CH1301067, Lớp Cao học khóa 8, ĐHCNTT Trang 18
Giảng viên hướng dẫn: PGS. TS. VŨ THANH NGUYÊN Máy học và ứng dụng
0
m
k kj j
j
u w x
=
=

với
0
0
1
w
k k
x
b
= +



=

(3.12)

( )
k k
y u b
ϕ
= +
(3.13)
Ở đó là các tín hiệu đầu vào; là các trọng số kết nối của nơ-ron k; là đầu ra
bộ tổ hợp tuyến tính tương ứng; là hệ số hiệu chỉnh. Hệ số hiệu chỉnh là một tham
số ngoài của nơ-ron nhân tạo k. Chúng ta có thể thấy được sự có mặt của nó trong
công tức. Một cách tương đương, chúng ta có thể tổ hợp các công thức như sau:
0
m
k kj j
j
v w x
=
=

(3.14)

( )
k k
y v
ϕ
=
(3.15)

Trong công thức, chúng ta đã thêm một kết nối mới. Đầu vào của nó là
0
1x = +
(3.16)
Và trọng số của nó là
0k k
w b=
(3.17)
Như vậy chúng ta vẽ lại mô hình của nơ-ron k như hình dưới. Trong hình
này, nhiệm vụ của hệ số hiệu chỉnh là thực hiện hai việc: thêm một tín hiệu đầu vào
cố định là 1 và thêm một trọng số kết nối mới bằng giá trị của hệ số b. Mặc dầu các
mô hình trong hai hình là khác nhau về hình thức nhưng tương tự về bản chất toán
học.
3.1.3. Các kiểu hàm kích hoạt
Hàm kích hoạt, ký hiệu bởi
ϕ
(v), xác định đầu ra của nơ-ron. Dưới đây là
các kiểu hàm kích hoạt cơ bản:
Học viên thực hiện: PHAN THỊ TRINH – CH1301067, Lớp Cao học khóa 8, ĐHCNTT Trang 19
1 neu v≥ 0
0 neu v< 0
ϕ
1 neu vk≥ 0
0 neu vk< 0
yk=
Giảng viên hướng dẫn: PGS. TS. VŨ THANH NGUYÊN Máy học và ứng dụng
3.1.3.1. Hàm ngưỡng:
Đối với loại hàm này, chúng ta có:
(3.18)
Trong các tài liệu kỹ thuật, dạng hàm ngưỡng này thường được gọi là hàm

Heaviside. Đầu ra của neuron k sử dụng hàm ngưỡng sẽ như sau:
(3.19)
Ở đó
k
v
là đầu ra của bộ tổ hợp tuyến tính, có nghĩa là:
1
w
m
k kj j k
j
v x b
=
= +

(3.20)
Một nơ-ron như vậy thường được gọi là mô hình McCulloch- Pitts
Học viên thực hiện: PHAN THỊ TRINH – CH1301067, Lớp Cao học khóa 8, ĐHCNTT Trang 20
Giảng viên hướng dẫn: PGS. TS. VŨ THANH NGUYÊN Máy học và ứng dụng
Hình 3.5 (a) Hàm ngưỡng, (b) Hàm vùng tuyến tính, (c) Hàm sigma với tham số độ dốc a thay đổi.
3.1.3.2. Hàm vùng tuyến tính:
Đối với loại hàm này, chúng ta có
1
1,
2
1 1
( ) ,
2 2
1
0,

2
v
v v v
v
ϕ

≥ +



= + ≥ > −



≤ −


(3.21)
Dạng hàm này có thể được xem như một xấp xỉ của một bộ khuếch đại phi tuyến.
3.1.3.3. Hàm sigma:
Hàm sigma là dạng chung nhất của hàm kích hoạt được sử dụng trong cấu trúc
mạng nơ-ron nhân tạo. Nó là một hàm tăng và nó thể hiện một sự trung gian giữa
tuyến tính và phi tuyến. Một ví dụ của hàm này là hàm logistics xác định như sau:
Học viên thực hiện: PHAN THỊ TRINH – CH1301067, Lớp Cao học khóa 8, ĐHCNTT Trang 21
Giảng viên hướng dẫn: PGS. TS. VŨ THANH NGUYÊN Máy học và ứng dụng
1
( )
1 exp( )
v
av

ϕ
=
+ −
(3.22)
Ở đó a là tham số độ dốc của hàm sigma. Bằng việc biến đổi tham số a,
chúng ta thu được các hàm sigma với các độ dốc khác nhau, như được minh họa
trong hình dưới. Thực tế, hệ số góc tại v = 0 là a/4. Khi tham số hệ số góc tiến tới
không xác định, hàm sigma trở thành một hàm ngưỡng đơn giản. Trong khi một
hàm ngưỡng chỉ có giá trị 0 hoặc 1, thì một hàm sigma nhận các gí trị từ 0 tới 1.
Cũng phải ghi nhận rằng hàm sigma là hàm phân biệt, trong khi hàm ngưỡng thì
không (tính phân biệt của hàm là một đặc tính quan trọng trong lý thuyết mạng nơ-
ron).
Các hàm kích hoạt được định nghĩa trong các công thức trên đều trong phạm
vi từ 0 đến 1. Đôi khi có những yêu cầu xây dựng hàm kích hoạt trong phạm vi từ
-1 đến 1, trong trường hợp này hàm kích hoạt được giả định có dạng đối xứng qua
gốc tọa độ (hay có thể gọi là dạng phản đối xứng), nghĩa là hàm kích hoạt là một
hàm lẻ. Ví dụ, trong công thức hàm ngưỡng công thức (7) bây giờ được xác định
như sau:
1 0
( ) 0 0
1 0
v
v v
v
ϕ
>


= =



− <

(3.23)
Hàm này thường được gọi là hàm signum. Với dạng tương ứng cho hàm sigma
chúng ta có thể sử dụng hàm tang hyperbol như sau
( ) tanh( )v v
ϕ
=
(3.24)
Việc cho phép một hàm kích hoạt kiểu sigma nhận các giá trị âm như trong công
thức trên đem lại nhiều lợi ích về giải tích.
3.1.4. Phản hồi (feedback)
Sự phản hồi có mặt trong một hệ thống bất kỳ khi nào đầu ra của một phần
tử trong hệ thống có ảnh hưởng đến đầu vào của phần tử đó, tức là sẽ có một hay
Học viên thực hiện: PHAN THỊ TRINH – CH1301067, Lớp Cao học khóa 8, ĐHCNTT Trang 22
Giảng viên hướng dẫn: PGS. TS. VŨ THANH NGUYÊN Máy học và ứng dụng
nhiều đường đi khép kín trong việc truyền tín hiệu của hệ thống. Phản hồi xảy ra
hầu như mọi nơi của hệ thống thần kinh động vật. Hơn nữa, nó đóng một vai trò
chính trong việc nghiên cứu một lớp quan trọng của mạng neuron đó là các mạng
hồi quy (recurrent network). Hình4.4 (a) cho ta đồ thị luồng tín hiệu của một hệ
thống phản hồi đơn- vòng lặp, ở đó tín hiệu đầu vào
( )
j
x n
, và tín hiệu đầu ra
( )
k
y n
là các hàm của biến thời gian rời rạc n. Hệ thống được giả định là tuyến tính, bao

gồm một đường đi tiến và một đường đi phản hồi được mô tả bởi các “toán tử” A và
B tương ứng. Từ hình 4.4 (a) chúng ta đưa ra được quan hệ đầu vào- đầu ra như sau:
( ) [ '(n)]
'( ) ( ) [y (n)]
k j
j j k
y n A x
x n x n B
=
= +
(3.25)
Ở đó các ngoặc vuông nhấn mạnh rằng A và B hoạt động như các toán tử. Loại bỏ
'( )
j
x n
trong công thức (14), chúng ta được
( ) [x (n)]
1
k j
A
y n
AB
=

(3.26)
1
0
( ) ( )
l
k

l
y n w x n l

+
=
= −

(3.27)
Chúng ta coi A/(1-AB) là toán tử đóng vòng lặp (closed-loop operator) của
hệ thống, và AB như toán tử mở vòng lặp (open- loop operator). Nói chung, toán tử
mở vòng lặp là không giao hoán (AB

BA).
Hình 3.6.Đồ thị luồng tín hiệu của một hệ thống phản hồi vòng lặp đơn.
Học viên thực hiện: PHAN THỊ TRINH – CH1301067, Lớp Cao học khóa 8, ĐHCNTT Trang 23
Giảng viên hướng dẫn: PGS. TS. VŨ THANH NGUYÊN Máy học và ứng dụng
Xem xét ví dụ hệ thống phản hồi đơn vòng lặp trong hình 4.4 (b), với A là
một trọng số có định w, và B là một toán tử đơn vị trễ z
-1
, mà đầu ra của nó trễ so
với đầu vào một đơn vị thời gian. Như vậy chúng ta có thể biểu diễn toán tử đóng
vòng lặp của hệ thống như sau:
1 1
1
(1 )
1 1
A w
w wz
AB wz
− −


= = −
− −
(3.28)
Bằng việc áp dụng khai triển nhị thức cho
1 1
(1 )w wz
− −

, chúng ta có thể viết lại toán
tử trên như sau:
1 1
0
w
1
l
A
w z
AB


=
=


(3.29)
Như vậy, thay công thức (19) vào công thức (18) chúng ta có
1
0
( ) w

l
k
l
y n w z


=
=

(3.30)
Từ định nghĩa của z
-1
chúng ta có
1
[ ( )] ( )
j j
z x n x n l

= −
(3.31)
ở đó
( )
j
x n l−
là một mẫu của tín hiệu đầu vào và đã bị trễ l đơn vị thời gian. Chúng
ta có thể biểu diễn tín hiệu đầu ra
( )
k
y n
như một phép tính tổng các mẫu hiện tại và

quá khứ của tín hiệu đầu vào
( )
j
x n
1
0
( ) ( )
l
k
l
y n w x n l

+
=
= −

(3.32)
Bây giờ chúng ta thấy rõ là tính chất của hệ thống phụ thuộc và trọng số w.
Có thể phân biệt hai trường hợp đặc biệt sau:
Học viên thực hiện: PHAN THỊ TRINH – CH1301067, Lớp Cao học khóa 8, ĐHCNTT Trang 24
Giảng viên hướng dẫn: PGS. TS. VŨ THANH NGUYÊN Máy học và ứng dụng
1. |w| <1, tín hiệu đầu ra
( )
k
y n
hội tụ dạng hàm mũ, tức là hệ thống ổn định.
2. |w|, tín hiệu đầu ra
( )
k
y n

là phân kỳ, nghĩa là hệ thống không ổn định.
Nếu |w| =1 thì sự phân kỳ là tuyến tính, và nếu |w|>1 thì sự phân kỳ có dạng hàm
mũ.
Tính ổn định luôn rất quan trọng trong việc nghiên cứu các hệ thống hồi quy.
Trường hợp |w| <1 tương ứng với một hệ thống có một bộ nhớ vô hạn theo nghĩa là
đầu ra của hệ thống phụ thuộc vào các mẫu của đầu vào mở rộng vô hạn về quá
khứ. Hơn nữa, bộ nhớ là suy giảm dần tức là ảnh hưởng của một mẫu quá khứ giảm
theo hàm mũ của thời gian.
3.1.5. Kiến trúc mạng Nơ-ron:
Trong bộ não con người, các tế bào thần kinh liên kết với nhau thông qua các
kết nối thần kinh tạo thành những mạng lưới với kiến trúc vô cùng phức tạp và đa
dạng. Đối với mạng Neuron nhân tạo, chúng ta có ba lớp kiến trúc cơ bản sau:
3.1.5.1. Các mạng tiến (FeedForward) đơn mức:
Trong một mạng Neuron phân mức, các neuron được tổ chức dưới dạng các
mức. Với dạng đơn giản nhất của 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 các mức đầu ra gồm các neu (các nút tính toán). Như
vậy, mạng thực sự là không có chu trình. Nó được minh họa trong hình 3.5 dưới cho
trường hợp ba nút với cả mức đầu ra và mức đầu vào. Một mạng như vậy được gọi
là 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 neuron). 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.
Học viên thực hiện: PHAN THỊ TRINH – CH1301067, Lớp Cao học khóa 8, ĐHCNTT Trang 25

×