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

Xây dựng ứng dụng di động nhận diện cảm xúc.

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 (2.98 MB, 70 trang )

ĐẠI HỌC ĐÀ NẴNG

TRƯỜNG ĐẠI HỌC BÁCH KHOA

KHOA CÔNG NGHỆ THÔNG TIN
Tel. (84-236) 3736949
Website: itf.dut.edu.vn, E-mail:

ĐỒ ÁN TỐT NGHIỆP KỸ SƯ
NGÀNH CÔNG NGHỆ THÔNG TIN

ĐỀ TÀI:

XÂY DỰNG ỨNG DỤNG DI ĐỘNG
NHẬN DIỆN CẢM XÚC

SINH VIÊN
MÃ SINH VIÊN
LỚP
CBHD

: LÊ TRỌNG TÀI
: 102150130
: 15T2
: TS. Phạm Minh Tuấn

Đà Nẵng, 12/2019


ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA


KHOA CÔNG NGHỆ THƠNG TIN

CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập - Tự do - Hạnh phúc

NHẬN XÉT ĐỒ ÁN TỐT NGHIỆP
1. Thông tin chung:
1. Họ và tên sinh viên: LÊ TRỌNG TÀI
2. Lớp: 15T2
Số thẻ SV:
102150130
3. Tên đề tài: Xây dựng ứng dụng di động nhận diện cảm xúc.
4. Người hướng dẫn: Phạm Minh Tuấn
Học hàm/ học vị: Tiến sĩ.
II. Nhận xét, đánh giá đồ án tốt nghiệp:
1. Về tính cấp thiết, tính mới, khả năng ứng dụng của đề tài: (điểm tối đa là 2đ)
………………………………………………………………………………………………
………………………………………………………………………………………………
2. Về kết quả giải quyết các nội dung nhiệm vụ yêu cầu của đồ án: (điểm tối đa là 4đ)
………………………………………………………………………………………………
………………………………………………………………………………………………
3. Về hình thức, cấu trúc, bố cục của đồ án tốt nghiệp: (điểm tối đa là 2đ)
………………………………………………………………………………………………
………………………………………………………………………………………………
4. Đề tài có giá trị khoa học/ có bài báo/ giải quyết vấn đề đặt ra của doanh nghiệp hoặc nhà
trường: (điểm tối đa là 1đ)
………………………………………………………………………………………………
………………………………………………………………………………………………
5. Các tồn tại, thiếu sót cần bổ sung, chỉnh sửa:

………………………………………………………………………………………………
………………………………………………………………………………………………
III. Tinh thần, thái độ làm việc của sinh viên: (điểm tối đa 1đ)
………………………………………………………………………………………………
IV. Đánh giá:
1. Điểm đánh giá:…………/10 (lấy đến 1 số lẻ thập phân)
2. Đề nghị: ☐ Được bảo vệ đồ án ☐ Bổ sung để bảo vệ
☐ Không được bảo vệ
Đà Nẵng, ngày
tháng
năm 2019
Người hướng dẫn

1


ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CÔNG NGHỆ THƠNG TIN

CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập - Tự do - Hạnh phúc

NHẬN XÉT PHẢN BIỆN ĐỒ ÁN TỐT NGHIỆP
I. Thông tin chung:
1. Họ và tên sinh viên:
LÊ TRỌNG TÀI
2. Lớp:
15T2

Số thẻ SV:
102150130
3. Tên đề tài: Xây dựng ứng dụng di động nhận diện cảm xúc
4. Người phản biện: ………………………………….………… Học hàm/ học vị: ……….
II. Nhận xét, đánh giá đồ án tốt nghiệp:
TT Các tiêu chí đánh giá
1
1a

1b

1c

2
2a
2b
3

Sinh viên có phương pháp nghiên cứu phù hợp, giải quyết
đủ nhiệm vụ đồ án được giao
- Tính mới (nội dung chính của ĐATN có những phần mới so với
các ĐATN trước đây).
- Đề tài có giá trị khoa học, cơng nghệ; có thể ứng dụng thực tiễn.
- Kỹ năng giải quyết vấn đề; hiểu, vận dụng được kiến thức cơ bản,
cơ sở, chuyên ngành trong vấn đề nghiên cứu.
- Chất lượng nội dung ĐATN (thuyết minh, bản vẽ, chương trình,
mơ hình …).
- Có kỹ năng vận dụng thành thạo các phần mềm ứng dụng trong
vấn đề nghiên cứu;
- Có kỹ năng đọc, hiểu tài liệu bằng tiếng nước ngoài ứng dụng

trong vấn đề nghiên cứu;
- Có kỹ năng làm việc nhóm;
Kỹ năng viết:
- Bố cục hợp lý, lập luận rõ ràng, chặt chẽ, lời văn súc tích
- Thuyết minh đồ án khơng có lỗi chính tả, in ấn, định dạng
Tổng điểm đánh giá theo thang 100:
Quy về thang 10 (lấy đến 1 số lẻ)

Điểm Điểm
tối đa đánh giá
80
15

50

15

20
15
5

- Các tồn tại, thiếu sót cần bổ sung, chỉnh sửa: ………………………………………………
………………………………………………………………………………………………
- Câu hỏi đề nghị sinh viên trả lời trong buổi bảo vệ: ……………………………………….
………………………………………………………………………………………………
………………………………………………………………………………………………
- Đề nghị: ☐ Được bảo vệ đồ án ☐ Bổ sung để bảo vệ
☐ Không được bảo vệ
Đà Nẵng, ngày
tháng

năm 2019
Người phản biện

2


TÓM TẮT
Tên đề tài: XÂY DỰNG ỨNG DỤNG DI ĐỘNG NHẬN DIỆN CẢM XÚC.
Sinh viên thực hiện: Lê Trọng Tài
Số thẻ SV: 102150130
Lớp: 15T2
Người hướng dẫn: TS. Phạm Minh Tuấn
Hệ thống bao gồm:
- Ứng dựng di động nhận diện cảm xúc trên hệ điều hành Android.
Các chức năng chính:
- Nhận diện cảm xúc thơng qua các bức ảnh có chứa khuôn mặt con người.
- Gợi ý các thực phẩm nên ăn/uống tuỳ theo tâm trạng.
- Quản lý tài khoản.

3


ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CÔNG NGHỆ THƠNG TIN

CỘNG HỊA XÃ HƠI CHỦ NGHĨA
VIỆT NAM
Độc lập - Tự do - Hạnh phúc


NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Họ tên sinh viên: Lê Trọng Tài
Số thẻ sinh viên: 102150130
Lớp: 15T2
Khoa: Công nghệ thông tin Ngành: Công nghệ thông tin
1. Tên đề tài đồ án: Xây dựng ứng dụng di động nhận diện cảm xúc
Đề tài thuộc diện: ☐ Có ký kết thỏa thuận sở hữu trí tuệ đối với kết quả thực hiện
2. Các số liệu và dữ liệu ban đầu:
....................................................................................................................................................
....................................................................................................................................................
....................................................................................................................................................
3. Nội dung các phần thuyết minh và tính toán:
....................................................................................................................................................
....................................................................................................................................................
....................................................................................................................................................
....................................................................................................................................................
4. Các bản vẽ, đồ thị (ghi rõ các loại và kích thước bản vẽ):
....................................................................................................................................................
....................................................................................................................................................
....................................................................................................................................................
....................................................................................................................................................
5. Họ tên người hướng dẫn: TS. Phạm Minh Tuấn
....................................................................................................................................................
....................................................................................................................................................
....................................................................................................................................................
....................................................................................................................................................
6. Ngày giao nhiệm vụ đồ án: 06/09/2019
7. Ngày hoàn thành đồ án:
19/12/2019
Đà Nẵng, ngày

tháng
năm 2019
Trưởng Bộ môn …………………
Người hướng dẫn

4


LỜI NĨI ĐẦU

Trong suốt thời gian thực hiện và hồn thành đồ án này, em đã nhận được sự giúp đỡ và
hướng dẫn tận tình của các Thầy, các Cơ và các bạn trong Khoa Công nghệ Thông tin Trường
Đại học Bách khoa - Đại học Đà Nẵng. Chúng em xin gửi lời cảm ơn chân thành và sâu sắc
tới các Thầy Cô trong Khoa đã giảng dạy và truyền đạt những kiến thức cần thiết, những kinh
nghiệm quý báu cho chúng em có thể thực hiện đồ án này.
Trước tiên em xin chân thành cảm ơn Thầy Phạm Minh Tuấn tận tình hướng dẫn, chỉ bảo,
động viên và hỗ trợ em trong suốt quá trình thực hiện đề tài này. Trong thời gian làm đồ án
cùng Thầy, em không những học hỏi được những kiến thức mà còn học hỏi được khả năng
làm việc nghiêm túc, kỹ năng làm việc nhóm và có trách nhiệm với cơng việc của mình.
Để có được kết quả như ngày hơm nay, em rất biết ơn gia đình và những người thân trong
gia đình đã động viên, khích lệ, tạo mọi điều kiện thuận lợi nhất về vật chất lẫn tinh thần trong
suốt quá trình học tập cũng như quá trình thực hiện đề tài tốt nghiệp này.
Mặc dù đã có cố gắng hoàn thiện đồ án trong phạm vi và khả năng cho phép nhưng
khơng tránh khỏi những thiếu sót, rất mong nhận được sự cảm thơng và góp ý của q Thầy
Cô và các bạn.
Chúng em chân thành cảm ơn!
Đà Nẵng, ngày 19, tháng 12, năm 2019
Sinh viên
Lê Trọng Tài


5


LỜI CAM ĐOAN

Em xin cam đoan:
1. Nội dung trong đồ án này là do em thực hiện dưới sự hướng dẫn trực tiếp của TS.
Phạm Minh Tuấn.
2. Các tham khảo dùng trong báo cáo đều được trích dẫn rõ ràng tên tác giả, tên cơng
trình, thời gian, địa điểm cơng bố.
3. Nếu có những sao chép khơng hợp lệ, vi phạm, em xin chịu hoàn toàn trách nhiệm.

Đà Nẵng, Ngày 19 tháng 12 năm 2019
Sinh viên thực hiện

Lê Trọng Tài

6


Mục lục
TÓM TẮT ................................................................................................................................ 3
LỜI NÓI ĐẦU ......................................................................................................................... 5
LỜI CAM ĐOAN .................................................................................................................... 6
MỤC LỤC ............................................................................................................................... 7
DANH SÁCH HÌNH ẢNH...................................................................................................... 9
DANH SÁCH BẢNG ............................................................................................................ 11
DANH SÁCH CÁC KÝ HIỆU, CHỮ VIẾT TẮT ................................................................ 12
MỞ ĐẦU ............................................................................................................................... 13
CHƯƠNG I. CƠ SỞ LÝ THUYẾT ....................................................................................... 14

1.1. Mạng nơ-ron nhân tạo (ANN) ..................................................................................... 14
1.1.1. Định nghĩa: ........................................................................................................... 14
1.1.2. Một số hàm truyền thông dụng: ........................................................................... 15
1.1.3. Một số hình trạng của mạng nơ-ron nhân tạo: ..................................................... 17
1.1.4. Mạng nơ-ron lan truyền ngược: ............................................................................ 18
1.2. Mạng nơ-ron tích chập (CNN) .................................................................................... 22
1.2.1. Định nghĩ mạng nơ-ron tích chập ......................................................................... 22
1.2.2. Convolution (tích chập) ........................................................................................ 22
1.2.3. Mạng nơ-ron tích chập ......................................................................................... 26
1.3. Ngơn ngữ và cơng cụ lập trình Android...................................................................... 26
1.3.1. Giới thiệu về Android ........................................................................................... 26
1.3.2. Kiến trúc cơ bản của hệ điều hành Android ......................................................... 26
1.3.3. Giới thiệu về Android Studio ............................................................................... 27
1.3.4. Mô hình MVP trong Android ............................................................................... 28
1.4. Ngơn ngữ lập trình Pyhon ........................................................................................... 29
1.4.1. Giới thiệu về ngôn ngữ Python............................................................................. 29
1.4.2. Ưu điểm của việc sử dụng ngôn ngữ Python ....................................................... 29
1.4.3. Giới thiệu về Pycharm .......................................................................................... 30
1.5. Hệ quản trị cơ sở dữ liệu PostgreSQL ........................................................................ 30
1.6. Mơ hình REST API ..................................................................................................... 31
1.6.1. REST API là gì? ................................................................................................... 31
1.6.2. Các thành phần trong REST API ......................................................................... 31
1.6.3. Quy trình hoạt động của mơ hình REST API trong dự án ................................... 32
1.6.4. Ưu nhược điểm của REST API ............................................................................ 32
CHƯƠNG II. PHÂN TÍCH THIẾT KẾ HỆ THỐNG ........................................................... 34
2.1. Phân tích u cầu: ....................................................................................................... 34
2.1.1. Mơ tả bài tốn ....................................................................................................... 34
2.1.2. Phân tích hiện trạng .............................................................................................. 34
2.1.3. Phân tích yêu cầu bài tốn .................................................................................... 34
2.1.4. Phân tích tính khả thi ............................................................................................ 34

2.1.5. Xác định các chức năng của hệ thống .................................................................. 34
2.2.1. Tác nhân hệ thống ................................................................................................ 35
2.2.2. Sơ đồ hệ thống ...................................................................................................... 35

7


2.2.3. Biểu đồ ca sử dụng ............................................................................................... 36
2.2.4. Yêu cầu hệ thống .................................................................................................. 36
2.2.5. Biểu đồ hoạt động ................................................................................................. 42
2.2.6. Biểu đồ tuần tự ..................................................................................................... 46
2.3. Xây dựng cơ sở dữ liệu ............................................................................................... 49
CHƯƠNG III: TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ .................................................. 53
3.1. Triển khai hệ thống ..................................................................................................... 53
3.1.1. Môi trường triển khai ........................................................................................... 53
3.1.2. Cài đặt môi trường ................................................................................................ 53
3.1.3. Tập dữ liệu: ........................................................................................................... 53
3.1.4. Xây dựng mạng CNN: .......................................................................................... 54
3.2. Kết quả ........................................................................................................................ 55
3.2.1. Xử lí ảnh nhận diện cảm xúc: ............................................................................... 55
3.2.2. Ứng dụng: ............................................................................................................. 56
3.3. Đánh giá ...................................................................................................................... 67
3.3.1. Xử lí ảnh nhận diện cảm xúc: ............................................................................... 67
3.3.2. Ứng dụng: ............................................................................................................. 67
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ............................................................................. 68
1. Kết quả đạt được: ........................................................................................................... 68
2. Hạn chế:.......................................................................................................................... 68
3. Hướng phát triển: ........................................................................................................... 68
TÀI LIỆU THAM KHẢO ..................................................................................................... 69


8


DANH SÁCH HÌNH ẢNH
Chương I
Hình 1. 1. Cấu tạo nơ-ron nhân tạo ....................................................................................................14
Hình 1. 2. Đồ thị hàm Sigmoid ..........................................................................................................15
Hình 1. 3. Đồ thị hàm tanh .................................................................................................................16
Hình 1. 4. Đồ thị hàm ReLU ..............................................................................................................16
Hình 1. 5. Mạng nơ-ron truyền thẳng nhiều lớp.................................................................................17
Hình 1. 6. Mạng nơ-ron hồi quy .........................................................................................................18
Hình 1. 7. Mạng nơ-ron lan truyền ngược MLP ................................................................................19
Hình 1. 8. Mơ hình mạng nơ-ron lan truyền ngược. ..........................................................................20
Hình 1. 9. Ảnh mẫu đen trắng ban đầu...............................................................................................22
Hình 1. 10. Lấy mẫu ảnh ban đầu. .....................................................................................................23
Hình 1. 11. Đặt kernel vào ma trận ảnh. ............................................................................................24
Hình 1. 12. Thực hiện tích chập. ........................................................................................................24
Hình 1. 13. Áp dụng padding cho ma trận ảnh. .................................................................................25
Hình 1. 14. Kết quả phép tích chập trên ảnh. .....................................................................................25
Hình 1. 15. Kiến trúc cơ bản của hệ điều hành Android. ...................................................................27
Hình 1. 16. Giao diện màn hình của Android Studio. ........................................................................28
Hình 1. 17. Luồng dữ liệu trong mơ hình MVP. ................................................................................29
Hình 1. 18. Sơ đồ REST API. ............................................................................................................31
Hình 1. 19. Quy trình hoạt động của REST API. ...............................................................................32

Chương II
Hình 2. 1. Sơ đồ hệ thống. ..................................................................................................................35
Hình 2. 2. Biểu đồ ca sử dụng của hệ thống. ......................................................................................36
Hình 2. 3. Biểu đồ hoạt động – đăng nhập. ........................................................................................42
Hình 2. 4. Biểu đồ hoạt động – đăng kí..............................................................................................43

Hình 2. 5. Biểu đồ hoạt động – nhận diên cảm xúc ...........................................................................44
Hình 2. 6. Biểu đồ hoạt động – cập nhật thông tin cá nhân ...............................................................45
Hình 2. 7. Biểu đồ hoạt động – cập nhật mật khẩu ............................................................................45
Hình 2. 8. Biểu đồ tuần tự - đăng nhập ..............................................................................................46
Hình 2. 9. Biểu đồ tuần tự - đăng kí ...................................................................................................47
Hình 2. 10. Biểu đồ tuần tự - nhận diện cảm xúc ...............................................................................48
Hình 2. 11. Biểu đồ tuần tự - cập nhật thông tin cá nhân ...................................................................48
Hình 2. 12. Biểu đồ tuần tự - cập nhật mật khẩu. ...............................................................................49
Hình 2. 13. Bảng dữ liệu – Users .......................................................................................................50
Hình 2. 14. Bảng dữ liệu – Moods .....................................................................................................50
Hình 2. 15. Bảng dữ liệu – Foods ......................................................................................................50
Hình 2. 16. Bản dữ liệu – Food_Mood ..............................................................................................50

Chương III
Hình 3. 1. Một số ảnh dùng để huấn luyện. .......................................................................................54
Hình 3. 2. Kết quả sau mỗi bước huấn luyện .....................................................................................55
Hình 3. 3. Biểu đồ kết quả huấn luyện. ..............................................................................................55
Hình 3. 4. Kết quả theo cảm xúc ........................................................................................................56
Hình 3. 5. Màn hình ban đầu của ứng dụng. ......................................................................................57
Hình 3. 6. Màn hình Đăng nhập .........................................................................................................58
Hình 3. 7. Màn hình đăng kí...............................................................................................................59
Hình 3. 8. Màn hình Trang chủ ..........................................................................................................60
Hình 3. 9. Màn hình More ..................................................................................................................61

9


Hình 3. 10. màn hình Tìm kiếm .........................................................................................................62
Hình 3. 11. Màn hình chọn mở thư viện ảnh hoặc máy ảnh. .............................................................63
Hình 3. 12. Màn hình hiển thị ảnh sau chụp hoặc chọn từ thư viện. ..................................................64

Hình 3. 13. Kết quả dự đốn cảm xúc ................................................................................................65
Hình 3. 14. Màn hình gợi ý thực phẩm ..............................................................................................66

10


DANH SÁCH BẢNG
Chương I
Chương II
Bảng 2. 1.Chức năng đăng nhập.........................................................................................................34
Bảng 2. 2. Chức năng đăng kí. ...........................................................................................................34
Bảng 2. 3. Chức năng nhận diện cảm xúc ..........................................................................................35
Bảng 2. 4. Chức năng quản lí thơng tin cá nhân ................................................................................35
Bảng 2. 5. Chức năng đăng nhập........................................................................................................37
Bảng 2. 6. Chức năng đăng kí. ...........................................................................................................37
Bảng 2. 7. Chức năng chụp ảnh từ camera thiết bị ............................................................................38
Bảng 2. 8. Chức năng chọn ảnh từ thư viện thiết bị ...........................................................................38
Bảng 2. 9. Chức năng nhận diện cảm xúc ..........................................................................................39
Bảng 2. 10. Chức năng lấy gợi ý thực phẩm theo cảm xúc ................................................................39
Bảng 2. 11. Chức năng tìm kiếm gợi ý thực phẩm theo cảm xúc ......................................................40
Bảng 2. 12. Chức năng xem thông tin cá nhân ..................................................................................40
Bảng 2. 13. Chức năng cập nhật thông tin cá nhân. ...........................................................................41
Bảng 2. 14. Chức năng cập nhật mật khẩu. ........................................................................................41
Bảng 2. 15. Bảng dữ liệu – Users .......................................................................................................51
Bảng 2. 16. Bảng dữ liệu – Mood ......................................................................................................51
Bảng 2. 17. Bảng dữ liệu – Food ........................................................................................................52
Bảng 2. 18. Bảng dữ liệu - quan hệ Food_Mood ...............................................................................52

Chương III
Bảng 3. 1. Kết quả đạt được ...............................................................................................................67


11


DANH SÁCH CÁC KÝ HIỆU, CHỮ VIẾT TẮT
Từ viết tắt

Diễn giải

ANN

Artificial nơ-ron network

API

Application Programming Interface

BPN

Back Propagation Network

CNN

Convolutional nơ-ron network

MLP

Multi Layer Perceptron

MVP


Model – View - Presenter

REST

Representation State Transfer

12


Xây dựng ứng dụng di động nhận diện cảm xúc

MỞ ĐẦU
1.1. Bối cảnh chọn đề tài
Ngày nay, khi công nghệ ngày càng phát triển, mỗi người đều có cho mình chiếc điện thoại
di động bên mình với những chức năng tối tân: truy cập mạng, xem phim, chụp ảnh... Từ đó,
các mạng xã hội cũng ngày càng xuất hiện nhiều để đáp ứng nhu cầu chia sẻ cho người dùng,
đặc biệt là chia sẻ các bức ảnh.
Trong vài năm gần đây, trí tuệ nhân tạo nổi lên như một lĩnh vực tiềm năng và nó đã được
chứng minh tính ứng dụng cao thông qua các lĩnh vực khác nhau, trong đó có ngành thị giác
máy tính.
Từ bối cảnh đó, em đã quyết định nghiên cứu và phát triển một ứng dụng cho phép tận
dụng các yếu tố kể trên để phục vụ cho người dùng.
1.2. Mục đích của đề tài
Xây dựng ứng dụng di động nhận diên cảm xúc thông qua các bức ảnh chứa khuôn mặt
con người ứng dụng mạng nơ-ron tích chập nhằm mục đích:
- Mỗi người dùng có thể tìm các thực phẩm phù hợp với cảm xúc để tiết chế, kích thích
cảm xúc.
1.3. Nội dung của đề tài
Những cơng việc cần thực hiện để hồn thành đề tài bao gồm:

- Tìm hiểu về mạng nơ-ron nhân tạo (ANN) và mạng nơ-ron tích chập (CNN).
- Ứng dụng mạng CNN để xây dựng ứng dụng di động nhận diện cảm xúc
- Phân tích và thiết kế hệ thống thơng tin.
- Tìm hiểu cơng nghệ cần sử dụng và ngôn ngữ kết nối cơ sở dữ liệu.
- Thiết kế cơ sở dữ liệu.
- Xây dựng ứng dụng với các chức năng chính.
1.4. Phạm vi sử dụng của đề tài
Việc tìm hiểu mạng CNN có thể áp dụng và nhiều mục đích khác nhau nhưng trong phạm
vi đồ án này, em chỉ áp dụng để xây dựng ứng dụng di động nhận diện cảm xúc thông qua
các bức ảnh.
Ứng dụng nhận diện cảm xúc có thể áp dụng được cho mọi đối tượng người dùng, từ trẻ
em, người lớn đến người già.
1.5. Bố cục của đề tài
Mở đầu
Chương 1: Cơ sở lý thuyết
Chương 2: Phân tích và thiết kế hệ thống
Chương 3: Triển khai và đánh giá kết quả
Kết luận và hướng phát triển.

13
SVTH: Lê Trọng Tài

GVHD: TS. Phạm Minh Tuấn


Xây dựng ứng dụng di động nhận diện cảm xúc

CHƯƠNG I. CƠ SỞ LÝ THUYẾT
1.1. Mạng nơ-ron nhân tạo (ANN)
1.1.1. Định nghĩa:

Mạng nơ-ron nhân tạo, Artificial Neural Network (ANN), 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 nên từ một số
lượng lớn các phần tử (nơ-ron) kết nối với nhau thông qua các liên kết (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 q trình học từ tập các mẫu huấn luyện.
Cấu trúc nơ-ron nhân tạo:

Hình 1. 1. Cấu tạo nơ-ron nhân tạo

Các thành phần cơ bản của một nơ-ron nhân tạo bao gồm:
- Tập các đầu vào: là các tín hiệu vào (input signials) của nơ-ron, các tín hiệu này thường
được đưa vào dưới dạng một vector nhiều chiều
- Tập các liên kết: mỗi liên kết được thể hiện bằng một trọng số liên kết (Synaptic weight).
Trọng số liên kết giữa tín hiệu vào thứ j với nơ-ron k thường được kí hiệu là Wkj . Thơng
thường, các trọng số này được khởi tạo ngẫu nhiên ở thời điểm khởi tạo mảng và được
cập nhật liên tục trong quá trình học
- Bộ tổng (Summing function): thường dùng để tính tổng tích các đầu vào và trọng số liên
kết của nó.
- Ngưỡng (còn gọi là độ lệch – bias): thường được đưa vào như một thành phần của hàm
truyền.
- Hàm truyền (Transfer function): được dùng để giới hạn phạm vi đầu ra của mỗi nơ-ron.
Nó nhận đầu vào là kết quả của hàm tổng và ngưỡng.
- Đầu ra: là tín hiệu đầu ra của một nơ-ron, với mỗi nơ-ron sẽ có tối đa là một đầu ra.
Xét về mặt tốn học, cấu trúc của một nơ-ron được mơ tả bằng cặp biểu thức sau:
𝑝

𝑤𝑘𝑗 𝑥𝑗

[1]


Và 𝑦𝑘 = 𝑓 (𝑢𝑘 − 𝑏𝑘 )

[1]

𝑢𝑘 = ∑

𝑗=1

Trong đó: x1, x2, …, xp: là các tín hiệu vào; (wk1, wk2, …, wkp) là các trọng số liên kết
của nơ-ron thứ k; uk là hàm tổng; bk là một ngưỡng; f là hàm truyền và yk là tín hiệu
đầu ra của nơ-ron.

14
SVTH: Lê Trọng Tài

GVHD: TS. Phạm Minh Tuấn


Xây dựng ứng dụng di động nhận diện cảm xúc

Như vậy nơ-ron nhân tạo nhận các tín hiệu đầu vào, xử lý (nhân các tín hiệu này với trọng
số liên kết, tính tổng các tích thu được rồi gửi kết quả tới hàm truyền), và cho một tín hiệu
đầu ra (là kết quả của hàm truyền).
1.1.2. Một số hàm truyền thông dụng:
- Hàm Sigmoid: 𝑓 (𝑥 )

=

1

1+ 𝑒 −𝑥

Nếu như đầu vào lớn, hàm số sẽ cho ra giá trị gần với 1. Với đầu vào nhỏ (rất âm), hàm số
sẽ cho ra gia trị gần với 0. Vì vậy, hàm này được ứng dụng cho các chương trình có đầu ra
mong muốn rơi vào khoảng [0,1].

Hình 1. 2. Đồ thị hàm Sigmoid

- Hàm tanh: 𝑓 (𝑥 )

=

1− 𝑒 −𝑥
1+ 𝑒 −𝑥

Hàm này có thuộc tính tương tự hàm Sigmoid nhưng nó thường được áp dụng cho các
chương trình có đầu ra mong muốn trong khoảng [-1,1]

15
SVTH: Lê Trọng Tài

GVHD: TS. Phạm Minh Tuấn


Xây dựng ứng dụng di động nhận diện cảm xúc

Hình 1. 3. Đồ thị hàm tanh

- Hàm ReLU: 𝑓(𝑥 ) = max (0, 𝑥)
Được sử dụng gần đây vì khá đơn giản. Không những thế, ReLU còn được chứng minh

giúp cho việc huấn luyện các mạng nơ-ron sâu (Deep Networks) nhanh hơn rất nhiều.

Hình 1. 4. Đồ thị hàm ReLU

16
SVTH: Lê Trọng Tài

GVHD: TS. Phạm Minh Tuấn


Xây dựng ứng dụng di động nhận diện cảm xúc

1.1.3. Một số hình trạng của mạng nơ-ron nhân tạo:
Hình trạng của mạng nơ-ron được định nghĩ bởi: số lớp (layers), 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 làm hai loại dựa trên
cách thức liên kết các đơn vị:
- Mạng truyền thẳng (Feed-forward neural network): Dòng dữ liệu từ đầu vào đến đầu ra
chỉ được truyền thẳng. Việc xử lí dữ liệu có thể mở rộng ra nhiều lớp, nhưng khơng có
các liên kết phản hồi. Nghĩa là, các liên kết mở rộng từ các đơn vị đầu ra tới các đơn vị
đầu vào trong cùng một lớp hay khác lớp trước đó là khơng cho phép.

Hình 1. 5. Mạng nơ-ron truyền thẳng nhiều lớp

- Mạng hồi quy (Recurrent nơ-ron network): Có chứa các liên kết ngược. khác với mạng
truyền thẳng, các thuộc tính động của mạng mới quan trọng. Trong một số trường hợp,
các giá trị kích hoạt của các đơn vị trải qua q trình nới lỏng (tăng giảm số đơn vị và
thay đổi các liên kết) cho đến khi mạng đạt đến một trạng thái ổn định và các giá trị kích
hoạt khơng thay đổi nữa. Trong các ứng dụng khác mà cách chạy động tạo thành đầu ra
của mạng thì sự thay đổi các giá trị kích hoạt là đáng quan tâm.


17
SVTH: Lê Trọng Tài

GVHD: TS. Phạm Minh Tuấn


Xây dựng ứng dụng di động nhận diện cảm xúc

Hình 1. 6. Mạng nơ-ron hồi quy

1.1.4. Mạng nơ-ron lan truyền ngược:
a) Kiến trúc mạng MLP
Kiến trúc của một mạng MLP tổng qt có thể mơ tả như sau:
- Đầu vào là các vector (x1, x2, …, xp) trong không gian p chiều, đầu ra là các vector (y1,
y2, …, yq) trong khơng gian q chiều. Đối với các bài tốn phân loại, p chính là kích
thước của mẫu đầu vào, q chính là số lớp cần phân loại.
- Mỗi nơ-ron thuộc tầng sau liên kết với tất cả các nơ-ron thuộc tầng liền trước nó.
- Đầu ra của nơ-ron tầng trước là đầu vào của nơ-ron thuộc tầng liền sau nó.
Hoạt động của mạng MLP như sau: tại tầng đầu vào các nơ-ron nhận tín hiệu vào xử lý
(tính tổng trọng số, gửi tới hàm truyền) rồi cho ra kết quả (là kết quả của hàm truyền); kết quả
này sẽ được truyền tới các nơ-ron thuộc tầng ẩn thứ nhất; các nơ-ron tại đây tiếp nhận như là
tín hiệu đầu vào, xử lý và gửi kết quả đến tầng ẩn thứ 2 …; quá trình tiếp tục cho đến khi các
nơ-ron thuộc tầng ra cho kết quả.

18
SVTH: Lê Trọng Tài

GVHD: TS. Phạm Minh Tuấn



Xây dựng ứng dụng di động nhận diện cảm xúc

Hình 1. 7. Mạng nơ-ron lan truyền ngược MLP

b) Huấn luyện mạng MLP
Huấn luyện mạng MLP: là quá trình thay đổi hành vi của các vật theo một cách nào đó
làm cho chúng có thể thực hiện tốt hơn trong tương lai. Về cơ bản có hai dạng thuật tốn để
luyện mạng:
- Học có giám sát: Là q trình học có sự tham gia giám sát của một tác nhân nào đó.
Cũng giống như việc dạy một em nhỏ các chữ cái. Ta đưa ra một chữ “a” và bảo rằng
đó là chữ “a”. Việc này được thực hiện trên tất cả mẫu chữ cái. Sau đó, khi kiểm tra, ta
sẽ đưa ra một chữ cái bất kì. Như vậy, việc học có giám sát cho biết trước số lớp cần
phân loại, nhiệm vụ của thuật toán là xác định cách thức phân lớp.
- Học không giám sát: Là việc học khơng có bất kì sự giám sát nào, số lớp phân loại
chưa biết trước, việc phân lớp sẽ tuỳ theo tiêu chuẩn đánh giá độ tương tự.
c) Mạng lan truyền ngược (BPN)
Mạng có 3 lớp:
- Lớp vào (Input Layer) – số node vào là số thuộc tính của đối tượng cần phân lớp.
- Lớp ra (Output Layer) – Số node ra là số đặc điểm cần hướng tới của đối tượng (giá trị
ra cần hướng đến – học có giám sát).
- Lớp ẩn (Hidden Layer) – Số node ẩn thường là khơng xác định trước, nó thường là do
kinh nghiệm của người thiết kế mạng, nếu số node ẩn quá nhiều mạng sẽ cồng kềnh,
quá trình học sẽ chậm, còn nếu số node ẩn q ít làm mạng học khơng chính xác.
Các nơ-ron lớp trong sẽ kết nối đầy đủ với các nơ-ron lớp ngoài, trên mỗi đường liên kết
giữa 2 nơ-ron ở hai lớp khác nhau sẽ có một trọng số mạng (weight). Các trọng số này đóng
vai trò là các ẩn số mà mạng cần phải tìm ra (học), sao cho với các giá trị đầu vào, thông
qua mạng, ta nhận được các giá trị xấp xỉ với đầu ra mong muốn tương ứng của mẫu học.

19
SVTH: Lê Trọng Tài


GVHD: TS. Phạm Minh Tuấn



×