Trong khóa luận tốt nghiệp này, nhóm sẽ tập trung chính vào phương pháp tìm kiếm kiến trúc mang neural neural architecture search GeneticCNN đã được trình bay ở hội nghị CVPR2017.. Bên c
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH TRUONG ĐẠI HỌC CONG NGHỆ THONG TIN
KHOA KHOA HOC MAY TÍNH
NGUYEN ON NGOC BAO HUYNH KHANH HOA
KHOA LUAN TOT NGHIEP
TIM KIEM KIÊN TRÚC MẠNG NEURAL VỚI
THUẬT TOÁN TIỀN HÓA
CHO BÀI TOÁN PHAN TÍCH CÁM XÚC
CỬ NHÂN NGÀNH KHOA HỌC MÁY TÍNH
TP HÒ CHÍ MINH, 2021
Trang 2ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC MÁY TÍNH
NGUYÊN ÔN NGỌC BẢO - 17520273 HUỲNH KHÁNH HÒA - 17520490
KHÓA LUẬN TÓT NGHIỆP
TÌM KIEM KIÊN TRÚC MẠNG NEURAL VỚI
THUAT TOÁN TIEN HÓA
CHO BÀI TOÁN PHAN TÍCH CÁM XÚC
CỬ NHÂN NGÀNH KHOA HỌC MÁY TÍNH
GIẢNG VIÊN HƯỚNG DAN
TS LƯƠNG NGỌC HOÀNG
TP HÒ CHÍ MINH, 2021
Trang 3DANH SÁCH HỘI ĐÒNG BẢO VỆ KHÓA LUẬN
Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số
ngây của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
¬ e eee ececeeeeeee esses ee neeeeeeeeeeeee — Chủ tịch.
Qe eee cece eect ee eect eeeeeeeeaaeeeeeeeeeeeeeneee — Thu ký.
~— Ủy viên.
— ~ Ủy viên.
Trang 4LOI CAM ON
Lời đầu tiên, nhóm xin chân thành cảm on thay Luong Ngoc Hoàng vi sự tận tình hướng dẫn, định hướng cùng những phản biện nhằm giúp nhóm đạt được
kết quả tốt nhất cho khóa luận Nếu không có sự hướng dẫn từ thầy, mục tiêu của
khóa luận sẽ không thể hoàn thành.
Bên cạnh đó, nhóm mong muốn cảm ơn bạn Lê Si Lắc vì sự hỗ trợ không
ngừng nghỉ cùng những đóng góp nhất định giúp nhóm hoàn thiện thật tốt dé
tài khóa luận.
Nhóm cũng xin gửi lời cảm ơn đến Phòng thí nghiệm Truyền thông Da phương tiện trường Đại học Công nghệ thông tin đã nhiệt tình hỗ trợ chúng em về cả kiến
thức và trang thiết bị trong quá trình làm khóa luận.
Điều quan trọng nhất, nhóm chân thành cảm ơn gia đình từng thành viên trong nhóm luôn là điểm tựa vững chắc.
Nhóm xin chân thành cảm ơn.
Trang 5Mục lục
1 MỞ ĐẦU |
[TÓM TẮT KHOÁ LUẬN
11 Đặtvânđể| O SẺ
1.2_ Phát biểu bài toán|
1.3 Tínhứng dụng|
1.4 Mục tiêu của khóa
luận| 1.5 Đối tượng và phạm vi nghiên cứu|
-1.6 Kết quả đềtài ee eee 1.7 Cấu trúc khóa luận| -
2_ CƠ SỞ LÝ THUYÊT]| 2.1 Tổng quan về phân tích cảm
xúc|_ E2 Kiến trúc mang neural tích chập (CNN)|
(2.2.1 Giới thiệu về mạng neural nhân tao ¬—— 2.2.2 Giới thiệu về mạng neural tích chập (CNN)|
2.2.2.1 Tang tích chập (convolution)| ¬ 2.2.2.2 Tầng kích hoạt (Activation)|
2.223 Tầnggộp(Poolng|
2.2.2.4 Tầng kết nói day đủ (Fully Connected) 2.3 Tìm kiếm kiến trúc mạng neural|
2.3.2 Thanh phan cơ bản của Tìm kiếm kiến trúc mang neural] 2.3.2.2 Chiến lược tìm kiếm|
2.3.2.3 _ Chiến lược đánh giá hiệu suất] 2.4 Thuật giải di truyền
(GA)| -2.3.2.1 Khong giantìmkiếm|
Vụ
xiii
Trang 62.4.1 Giới thiệu Thuật giải di truyền (GA)
24.2 Khởi tạo quản thể 19
2.43 Đánh giá độ thích nghỉ| - 19
2.44 Phép chọnlọc| - 20
2.4.4.1 Chọn lọc tỷ lệ (Proportional Selection)| và + 20 2.4.4.2 Chọn lọc giao đấu (Tournament Selection)| 20
2.4.5 Các phép biến đổi (Variation)| 22
2.4.5.1 Phéplaghép| - 22
B452 Phếpđộthiên, 23
2.5 Kỹ thuật thích ứng miền (DM)| 23
[26 Phương pháp nhúng từ| - 24
[26.1 Continuous Bag-ofWords(CBOW)| 26
Oa Vnàẵ 26
[2.6.3 Ket hop giữa CBOW và SGÌ 27
E64 Faslexil 28
3 TÌM KIÊN KIÊN TRÚC MẠNG NEURAL CHO BÀI TOÁN PHAN TÍCH CẢM XÚC 30 1 Giới thiệu về bộ đữ liệu| 30
3.11 Dư liệu YelpBReview| - 30
{8.1.2 Dữ liệu Datafinity Hotel Review] 31
31 3.2.1 Biểu diễn di truyền (Genetic re} i 33 (3.2.2 Hoạt động di truyền (Genetic operations)| See 34 {3.3 Chiến lược cài đặt Phuong pháp GeneticCNN| 34
¬ ees 34 3.3.1.1 Khditaol 2.0 0.000000 34 B312 Chọnlod| 35
3.3.13 Laighép| 2.2 eee ee eee eee 35 3.3.1.4 Độtbiến 35
B315 Đánhg 35
B.32_ GeneicCNN-POFƠOP] 36
3.3.2.1 Tổng quan và điểm khác biệt so với phương pháp GeneticCNN paper đề cập| - 36
Trang 73.3.2.2 Chonloc] 36
4 THUC NGHIEM 38
[41 Công đoạn tiền xử lý đữ liệu} © ee 38
[4.2 Biến đổi đầu vào từ van bản sang vector số bằng Fasttext| 39
40
41
45 Đánh giámôhình| - 44
4.6 Kétquathucnghiém| 2.2.0.0 0.0000 eee eee 44
(4.6.1 Kiểm tra chiến lược khởi tao quan thể| ¬ ee 44
[5.3 Hướng phát triển tương lai| - 49
|A_ MINH HỌA SU HỘI TU QUAN THE TRONG QUÁ TRÌNH NAS 51
Trang 8Danh sach hinh ve
[L1 Minh họa hệ thống đánh giá nhà hàng bởi người dùng trên trang,
web Yelp ¬ 2
phổ biến: Ngữ âm học (Phonetics), Âm vị học (Phonology), Hình
thái hoc (Morphology), Cú pháp (Syntax), Ngữ nghĩa học tics) và Ngữ dụng học (Pragmatics)| - 9
(Seman-2.2_ Sự khác biệt giữa mang neural tích chập va mang neural nhân tạo| 11
2.3 Minh họa kiến trúc CNN trong NLP[H|| 11
E-4_ Minh họa phương pháp tính phép toán tích chập] 12
[2.5 Dé thị biểu diễn hàm số của hàm ReLU| 13
nh nh kh hà hà tên 14
[2.7 Framework "Thử nghiệm va cập nhật trong NA8] 15
2.8 Minh họa các chiến lược tìm kiếm không gian trong NAS] 16
oa thuật giải đi truyền| 18
[210 Minh họa phương pháp trong quá trình chọn lọc tỷ lệ 16]] ce 21
11 Minh họa quá trình Lai đồng nhất (Uniform Crossover)| ¬—— 2
2.12 Minh họa quá trình Đột biến (Mutation)| 23 2.13 Minh hoa mô hình kiến trúc từ CBOW] 26
E14 Minh họa mô hình kiến trúc từ Skip-gram| Fee 27
2.15 Mô hình huan luyện Word2Vec [I4]] - 28
3.1 Biểu diễn nhị phân cho kiến trúc mạng| 33
2 Minh họa quá trình Lai ghép (Crossover) với phương pháp GeneE—_]
IcổCNN| Q 35
B3 Minh họa quá trình Đột biến (Mutation) với phương pháp
Genet-IcCCNN| co 36
Trang 9loaicamxUic] ee 42
[42 Mô hình ý tưởng trên ly thuyết sau khi dùng phương pháp chuyển
đổi từ thị giác máy tinh sang xử lý ngôn ngữ tự nhiên| 42
<3 Input+w2v dùng với tf tương ứng hình]4.2Jvị tri Input và CBOW+SG] 42
4.4 Fully connect dùng với tf tương ứng hình |4.2|vị trí Fully connect
layer with drop out and softmax output| 43
[4.8 Kiểm tra chiến lược khởi tạo quan thé qua 10 thế hệ dau| 45
[49 Kết quả chạy thực nghiệm trong 8 thế hệ dau ở hướng áp dung
POPOP trong 3 lần theo thứ tự từ trên xuống| 47
A.1 Minh họa sự hội tụ trong quá trình NA$SÌ] 51
Trang 10Danh sách bảng
1 Ví dụ ngữ cảnh từ "meal" trong mô hình biểu diễn Skip-gram.| 27
3.1 Thống kê dữ liệu YelpB Review| 31
3.2 Thống kê dữ liệu Datafinity Hotel Review.| 31
[44 Hiệu chỉnh siêu tham số cho phương pháp GeneticCNN được nhóm
sử dụng dựa trên bài báo| - 41
Trang 11Danh sách thuật toán
I Phuong pháp TournamentSelecion|
E Phuong pháp GeneticCNN được công bố|
3 Phương pháp GeneticCNN với hướng cài đặt POPOP|
E Thương pháp
POPO| -b Phương pháp POPOP kết hợp Phương pháp Tournament Selection|
xi
Trang 12Danh muc tir viét tat
NLP Natural Language Processing CNN Convolution Neural Network SOTA _ State of the art
EA Evolutionary Algorithms
GA Genetic Algorithm POPOP Population > Offspring -> P+O Pool
SA Sentiment Analysis NAS Neural Architecture Search CBOW Continuous Bag-of-Words
SG Skip-gram
DM Domain Adaption
WB Word Embedding ReLU Rectifier Linear Unit
tf TensorFlow
Trang 13TOM TAT KHOA LUAN
Phân tích cảm xúc người dùng là một bài toán quen thuộc trong lĩnh vực xử
lý ngôn ngữ tự nhiên Bài toán có đầu vào là dữ liệu văn bản, dau ra sẽ là những khía cạnh được dé cập cùng cảm xúc trên mỗi khía cạnh đó Với phạm vi dé tai cùng giới hạn về mặt thời gian, nhóm sẽ chỉ tập trung vào mức độ câu - một cấp
độ nhỏ hơn của văn bản.
Trong khóa luận tốt nghiệp này, nhóm sẽ tập trung chính vào phương pháp
tìm kiếm kiến trúc mang neural (neural architecture search) GeneticCNN đã được
trình bay ở hội nghị CVPR2017 Bên cạnh hướng cài đặt cơ sở (baseline) là Thuật
giải đi truyền cơ bản (Simple Genetic Algorithm), nhóm cũng thực nghiệm hướng cài đặt POPOP cùng 2 chiến lược khác nhau nhằm nhận ra những ưu, nhược điểm của từng hướng cài đặt trong quá trình tìm kiếm kiến trúc mạng neural Mặc dù đã có nhiều nghiên cứu vẻ tìm kiếm kiến trúc mạng neural nhưng phần lớn phương pháp đang áp dụng mạnh mẽ ở lĩnh vực Thị giác máy tính Vì thế,
nhóm quyết định thực hiện và đánh giá phương pháp ở bài toán phân tích cảm xúc người dùng thông qua đánh giá của người dùng bằng tiếng Anh trên miền
da liệu nhà hàng lẫn khách san ở đẻ tài này.
Từ đó, nhóm sẽ tiền hành thí nghiệm để xác định các khía cạnh được đề cập đến trong đánh giá rồi nhận điện cảm xúc Phương pháp GeneticCNN sẽ được áp dụng với 2 hướng cài đặt Thuật giải di truyền cơ bản, POPOP cùng 2 chiến lược
khác nhau do nhóm dé xuất Nhóm thực nghiệm chính trên bộ dữ liệu YelpB
Reviews thuộc miền dữ liệu nha hàng và sau đó tiến hành đánh giá kiến trúc tốt nhất nhóm đã tìm được trên bộ dữ liệu Datafiniti Hotel Reviews thuộc miền dữ
liệu khách sạn.
Trong tiến trình thực nghiệm, nhóm cũng so sánh kiến trúc mạng tìm kiếm
có kết quả tốt nhất với những kiến trúc mạng thủ công đã được công bố như
KimYoon CNN, DeepCNN và ShallowCNN.
Trang 14Chương 1
MỞ ĐẦU
Trong chương này, nhóm sẽ giới thiệu tổng quan về bài toán Phân tích cảm xúc
và những thành công nhất định khi tiếp cận bài toán này với các kiến trúc mạng
học sâu Dù vậy, phương pháp vẫn còn nhiều giới hạn nhất định khi các kiến trúcmạng vẫn còn tốn không ít thời gian thiết kế thủ công bởi những chuyên gia.Qua đó, nhóm trình bày ý tưởng áp dụng phương pháp Tìm kiếm kiến trúc mạng
neural từ paper GeneticCNN nhằm tự động hóa quy trình này Cuối cùng, nhóm
sẽ trình bày tóm tắt những mặt cần thực hiện trong khóa luận này
11 Đặt vấn đề
Đại dịch Covid-19 trong năm 2020 đã gây không ít ảnh hưởng đến nền kinh
tế toàn cầu nói chung và kinh tế Việt Nam nói riêng Trong đó, các ngành dịch
vụ nhà hàng - khách sạn von bị ảnh hưởng vô cùng nghiêm trọng Nhằm quaytrở lại đường đua phát triển sau đại dịch, đã có không ít nghiên cứu về khía cạnh
chuyển đổi số đối với nhóm ngành dịch vụ này
Sự phát triển không ngừng của Internet và lĩnh vực công nghệ thông tin đã
tạo nên nhiều thay đổi tích cực đối với nhiều ngành nghề, lĩnh vực lẫn đời sốngcon người Đơn cử như nhóm ngành dịch vụ, với những kênh truyền thông trực
tuyến bao gồm mạng mã hội, diễn đàn, website, đã tạo nên không gian mở giúpngười dùng từ khắp nơi kết nối với nhau và tự tin bình luận, nhận xét nhằm chia
sẻ những trải nghiệm về sản phẩm - dịch vụ Qua đó, đối với sản phẩm từ nhómngành dịch vụ nhà hàng - khách sạn (đối tượng nghiên cứu chính của khóa luận)
sẽ càng cạnh tranh nhau về chất lượng qua những ý kiến, quan điểm lẫn nhận xét
của khách hàng.
Trang 15Chương 1 MỞ ĐẦU 2
Để đẩy mạnh chất lượng, các đơn vị nhà hàng - khách sạn đều cung cấp công
cụ thông qua những kênh truyền thông xã hội để ghi nhận phản hồi từ người
dùng thông qua bình luận, nhận xét trên trang web Dựa vào những phản hồi
nay sẽ là tiền dé giúp nha hàng - khách sạn tiếp thu những mặt thiếu xót nhằmkhông ngừng cải tiến chất lượng dịch vụ để phù hợp và đáp ứng mọi nhu cầu
của khách hàng hơn từng ngày Song, phần lớn các quy trình thu thập và phân
tích phản hồi khách hàng đều thực hiện thủ công Điều này ít nhiều đã tiêu hao
nhiều thời gian, công sức và không phải nhà hàng - khách sạn nào cũng đủ nhân
lực lẫn tài chính để thực hiện Bên cạnh đó, hiện nay nhiều trang web nhà hàng
-khách sạn cũng chưa tích hợp các công cụ tự động thu thập, thống kê, phân tích
phản hồi từ khách hàng nhằm cải thiện chất lượng dịch vụ
Isa Restaurant ‹ Make a Reservation
aaa 2078 reviews Details
$$$ - French, Venues & Event Spaces | Eat Closed 5:00 PM - 9:00 PM 7:00 pm x + 2people ~
YW Write a Review (6) Add Photo ch Share A save
HINH 1.1: Minh hoa hệ thống đánh giá nhà hàng bởi người dùng
trên trang web Yel]
Các hệ thống thu thập ý kiến và đánh giá khách hang thường áp dụng cácthang điểm đánh giá phổ biến (Ví dụ: Từ 1 đến 5 sao hoặc Từ 1 đến 10 sao) hoặcqua mức độ hài lòng của khách hàng (Ví dụ theo thứ tự từ tiêu cực đến tích cực:Rất không hài lòng, Không hài lòng, Bình thường, Hài lòng, Rất hài lòng) Thangđiểm hoặc mức độ nêu trên sẽ phản ánh rõ quan điểm, suy nghĩ và trải nghiệm
cụ thể đến từ khách hàng qua các giá trị cảm xúc tiêu cực, trung tính và tích cực.Đối với một số hệ thống thông minh hơn, ý kiến người dùng thông qua bình luận(hiển thị dưới dang văn bản) cũng là tiêu chí đánh giá của khách hàng được ghi
lYelp: https: //www.yelp.com/
Trang 16Chương 1 MỞ ĐẦU 3
nhận bên cạnh những thang điểm/ mức độ Tuy vậy, có nhiều yếu tố cầu thànhnên cảm xúc khách hàng và đôi khi việc để lại bình luận đơn thuần của khách
hàng trên hệ thống vẫn sẽ chưa thực sự đầy đủ chỉ tiết Nếu xét trên khía cạnh
thực tế, việc đưa ra bình luận bat kỳ đối với dịch vụ nhà hàng - khách sạn nếuchỉ đơn thuần nói chung về toàn bộ nhà hàng - khách sạn thì đó chính là bài toán
phân tích cảm xúc với các chỉ tiêu phân loại cảm xúc khách hàng phổ biến bao
gồm: Tích cực, Trung tính hay Tiêu cực
Trong những năm gần đây, Mạng học sâu (DL) đã đóng vai trò quan trọng
trong giải quyết đa dang van dé thuộc nhiều lĩnh vực trong cuộc sống Nhiều
kiến trúc mang neural đã chứng minh sự hiệu quả trong các bài toán thuộc lĩnhvực Xử lý ngôn ngữ tự nhiên bao gồm: Phân loại văn bản, Dịch máy hay Phânloại cảm xúc Tuy nhiên, một trong những vấn đề cốt lõi của xử lý ngôn ngữ tựnhiên là thiết kế một kiến trúc mạng có thể nắm bắt hiệu quả cú pháp và ngữnghĩa được kết hợp trong văn bản
Để tạo nên thành công từ các mô hình học sâu, kiến trúc mạng cần được thiết
kế thủ công bởi kiến thức và kinh nghiệm từ những chuyên gia hàng đầu Mặc dùphổ biến và đạt được những thành tựu nhất định, chúng ta vẫn chưa thể khámphá toàn vẹn không gian kiến trúc mạng và chỉ đang tạm dừng lại ở những lựa
chọn tốt nhất Chúng ta có thể tìm kiếm kiến trúc tốt hơn nếu chúng ta áp dụngphương pháp tự động mang tính hệ thống nhằm tìm kiếm những kiến trúc mạng
chất lượng
Tìm kiếm kiến trúc mang neural (NAS) là một phương pháp mạnh mẽ và cực
kỳ hữu ích trong bối cảnh diễn ra liên tục của quá trình tìm kiếm và xác định kiếntrúc mạng tốt Đã có nhiều phương pháp áp dụng NAS thành công trên thế giới,
nhưng ở phạm vi dé tài, nhóm sẽ dé cập hướng áp dụng Thuật giải di truyền vốn
được giới thiệu từ bài báo GeneticCNN vào năm 2017 và áp dụng trong lĩnh
vực Thị giác máy tính Đối với bài toán chính của khóa luận, nhóm đã có nhữngđiều chỉnh nhất định
1.2 Phát biểu bài toán
Về bản chất, nhóm áp dụng phương pháp NAS để tìm kiếm kiến trúc mạngneural dựa trên kiến trúc mạng CNN với hiệu suất dự đoán cao để phân loại văn
Trang 17Chương 1 MỞ ĐẦU 4
bản thành các lớp cảm xúc tích cực, tiêu cực hoặc trung tính.
Nói một cách ngắn gọn, Phân tích cảm xúc - bài toán chính trong dé tài này
được phát biểu như sau:
e Đầu vào: Là đánh giá của khách hàng về nhà hàng /khách sạn
e Đầu ra: cho biết quan điểm của câu đầu vào là tiêu cực (negative), trung
tính (neutral), hay tích cực (positive).
Trong khóa luận này, nhóm đã có thực nghiệm nhất định tạo tiền đề áp dụngphương pháp Tìm kiếm kiến trúc mạng neural trong lĩnh vực Xử lý ngôn ngữ tự
nhiên nói chung và bài toán Phân tích cảm xúc nói riêng.
13 Tinh ứng dụng
Chúng ta đang sống trong thời đại số, đặc biệt những năm gần đây nổi lênvới mạng xã hội, các trang mạng điện tử với hàng triệu người dùng trên thế giới
và lượng thông tin, nội dung được người dùng tạo ra hằng ngày cực kỳ lớn với
sự đa dạng về văn hóa, quan điểm và trình độ Việc phân tích cảm xúc trong vănbản được ứng dụng nhiều vào các lĩnh vực trong đời sống xã hội như: Quản trị
thương hiệu, khảo sát ý kiến khách hang, phân tích tâm lý hành vi,
Đối với một doanh nghiệp, Phân tích rất quan trọng và sẽ hỗ trợ họ phân khúc
khách hàng một cách dé dàng hơn Chang hạn, néu đội ngũ doanh nghiệp có thể
nhìn thay hơn 70 phan trăm đánh giá tiêu cực đến từ độ tuổi sinh viên - học sinh,
họ có thể dé dang tìm ra khía cạnh chưa tốt của sản phẩm và tối ưu đối với phân
khúc khách hàng này Bên cạnh đó, việc đo lường được cảm xúc từ khách hàng
sẽ giúp doanh nghiệp xây dựng chiến lược kinh doanh hiệu quả hơn
1.4 Mục tiêu của khóa luận
Trong đề tài khóa luận này, nhóm chúng tôi có ba mục tiêu cụ thể bao gồm:
e Mục tiêu thứ nhất: Đánh giá, phân tích và so sánh các chiến lược theo
phương pháp GeneticCNN [21] trong bài toán phân tích cảm xúc thuộc lĩnh vực Xử lý ngôn ngữ tự nhiên.
Trang 18Chương 1 MỞ ĐẦU 5
e Mục tiêu thứ hai: Thực nghiệm, đánh giá hiệu suất kiến trúc mạng của
nhóm đã tìm được ở miễn dw liệu nha hàng và thực hiện Kỹ thuật thích ứngmiền nhằm tiếp tục đánh giá hiệu suất kiến trúc tốt nhất được tìm kiếm ởmiễn dữ liệu khách sạn
e Mục tiêu thứ ba: So sánh hiệu suất kiến trúc mạng tìm kiếm đạt kết quả tốt
nhất với những kiến trúc mạng thủ công đã được công bố như KimYoon
CNN I9], DeepCNN [8] và ShallowCNN [6].
1.5 Đối tượng và phạm vi nghiên cứu
Việc tìm hiểu về cảm xúc trong hai lĩnh vực nhà hàng - khách sạn là phạm vinghiên cứu quan trọng của dé tài này Day là cơ sở để đánh giá các ý kiến phanhồi của khách hàng khi nhận định dịch vụ nhà hàng - khách sạn trên trang web
là tiêu cực, trung tính, hay tích cực Cùng với đó, phạm vi đữ liệu nghiên cứu của
nhóm sẽ nằm ở cấp độ đoạn văn
Còn với đối tượng nghiên cứu của dé tài này, nhóm tập trung nghiên cứu,
áp dụng phương pháp GeneticCNN [21] để tìm kiếm kiến trúc mang neural tích
chập (CNN) thuộc lĩnh vực Học sâu cho bài toán phân tích cảm xúc Nhóm cũng
nghiên cứu áp dụng các mô hình biểu diễn từ (WB) để phục vụ quy trình tiền xử
lý dữ liệu.
Hướng tiếp cận của nhóm còn khá thử thách bởi vì nhóm vẫn cần dành khánhiều thời gian và tài nguyên (CPU, GPU) trong quá trình thực nghiệm để tìmkiếm kiến trúc mạng neural tốt cho bài toán
Dựa trên những giới hạn của Mang học sâu hiện tại, nhóm mong muốn déxuất một trong những phương pháp mới nhất để tiếp cận bài toán Phân tích cảm
xúc Mục tiêu lớn nhất của nhóm qua khóa luận nằm ở việc tự động hóa quy trình
tìm kiếm kiến trúc mạng CNN
1.6 Kết quả đề tài
Trong quá trình thực hiện khóa luận, nhóm đã đạt được các kết quả chính như
sau:
Trang 19Chương 1 MỞ ĐẦU 6
e Áp dụng phương pháp GeneticCNN sang bài toán Phân tích cảm xúc trên
bộ dữ liệu YelpB Restaurant Reviews thuộc lĩnh vực nhà hạng với hai bản
cài đặt cùng hai chiến lược khác nhau
e Áp dụng Kỹ thuật thích ứng miễn đối với các kiến trúc tốt nhất đã tìm
kiếm và thực nghiệm trên bộ dữ liệu Datafinity Hotel Reviews Cùng với
đó, nhóm cũng so sánh kết quả cùng các kiến trúc mạng CNN thủ công
như KimYoon CNN [9], DeepCNN [8] va ShallowCNN [6].
1.7 Cau trúc khóa luận
Khóa luận được chia thành 5 Chương, cấu trúc được trình bày như sau
Chương[1| Nhóm sẽ trình bày tổng quan về bài toán Phân tích cảm xúc, những
hạn chế hiện tại và các hướng tiếp cận bài toán bằng phương pháp Học sâu Qua
đó, nhóm cũng dé xuất áp dụng phương pháp Tìm kiếm kiến trúc mang neuralvới phương pháp GeneticCNN cho bài toán cũng như mục tiêu khóa luận, đối
tượng và phạm vi nghiên cứu cùng kết quả của đề tài
Chương] Trong chương này, nhóm sẽ trình bày tổng quan về bài toán phân
tích cảm xúc Tiếp theo, nhóm sẽ giới thiệu qua kiến trúc mạng neural tích chập(CNN) cùng một số kiến trúc mạng được thiết kế thủ công Cùng với đó, nhómcũng giới thiệu phương pháp Tìm kiếm kiến trúc mạng neural (NAS) - phươngpháp cốt lõi áp dụng cho bài toán phân tích cảm xúc Phần cuối cùng, nhóm sẽthảo luận tổng quan về một số kiến thức, kỹ thuật được áp dụng như Thuật giải
đi truyền (GA) và Kỹ thuật thích ứng miễn (DM)
Chương|B| Chương này sẽ trình bày chỉ tiết những cơ sở lý thuyết của phương
pháp Tìm kiếm kiến trúc mạng neural cho bài toán phân tích cảm xúc Đầu tiên,nhóm sẽ giới thiệu tổng quan hai bộ dữ liệu YelpB Reviews và Datafinity HotelReview Sau đó, nhóm sẽ tiến hành bàn luận chỉ tiết và nhận định về các phương
pháp được nhóm đề cập
Chương Mục đích chính của Chương này sẽ tiền hành những thực nghiệm
từ các phương pháp, chiến lược do nhóm đề ra Bên cạnh đó, nhóm sẽ phân tích
những kết quả đã có và so sánh kết quả cùng với các kiến trúc mạng neural thủcông đã được công bồ trước đây
Trang 20Chương 1 MỞ ĐẦU 7
Chương JBÌ Cuối cùng, chúng tôi xin tổng kết các kết quả quan trọng trong dé
tài này, đưa ra các hạn chế và hướng phát triển của đề tài này trong tương lai
Trang 21Chương 2
CƠ SỞ LÝ THUYET
Trong chương này, nhóm sẽ trình bày tổng quan về bài toán phân tích cảm
xúc Tiếp theo, nhóm sẽ giới thiệu qua kiến trúc mạng neural tích chập (CNN)
cùng một số kiến trúc mạng được thiết kế thủ công Cùng với đó, nhóm cũng giới
thiệu phương pháp Tìm kiếm kiến trúc mạng neural (NAS) - phương pháp cốt lõi
áp dụng cho bài toán phân tích cảm xúc Phần cuối cùng, nhóm sẽ thảo luận tổng
quan về cơ sở lý thuyết của Thuật giải di truyền (GA) và Kỹ thuật thích ứng miễn
(DM).
2.1 Tổng quan về phân tích cam xúc
Trong những năm gần dây, Phân tích cảm xúc (SA) được cộng đồng nghiêncứu thuộc lĩnh vực NLP được đông đảo cộng đồng trong lẫn ngoài nước rat quan
tâm Đây là quá trình xác định và phân loại văn bản thành các cảm xúc khác nhau
— ví dụ, cảm xúc tích cực, tiêu cực hoặc trung tính — hoặc cảm xúc — chẳng hạn
như vui, buồn, tức giận hoặc ghê tém — để xác định thái độ của con người đối
với chủ thể hoặc thực thể cụ thể.
Phân tích cảm xúc cũng là một trong những công tác quan trọng trong lĩnh
vực NLP Nó không chỉ có ý nghĩa quan trọng trong học thuật, nghiên cứu mà
còn có ý nghĩa cực kì thiết yêu trong các ngành công nghiệp - dịch vụ, cụ thể là
việc nhận biết hành vi và thái độ của khách hàng về sản phẩm và dich vụ mà ho
sử dụng.
Với ngành công nghiệp - dịch vụ nói chung, SA được sử dụng như một công
cụ mạnh mẽ để tự động hóa quy trình phân tích và đánh giá ý kiến của ngườidùng Đối với lĩnh vực nhà hàng - khách sạn nói riêng, các ý kiến người dùng đó
Trang 22Chương 2 CƠSỞ LY THUYET 9
HINH 2.1: Biểu đồ trình bày các cấp độ trong ngôn ngữ học gồm các
cấp độ phổ biến: Ngữ âm học (Phonetics), Âm vị học (Phonology),
Hình thái học (Morphology), Cú pháp (Syntax), Ngữ nghĩa học
(Se-mantics) và Ngữ dụng học (Pragmatics)|']
thường được thu thập từ các trang mang xã hội, hoặc các trang thu thập nhận xét
của khách hàng về chất lượng cũng như mức độ hài lòng
Hiện nay, bài toán phân tích cảm xúc có ba cấp độ chính đó là cấp độ câu
văn (sentence-level), văn bản (document-level), và khía cạnh (aspect-level) Ở cấp
độ câu văn, mục tiêu của bài toán là phân loại một câu văn thành các lớp tiêu
cực (negative), tích cực (positive), hoặc trung tính (neutral) Cấp độ văn bản được
dùng để xác định mức độ cảm xúc của một đoạn văn (gồm hai hay nhiều câuvăn) là tiêu cực, tích cực, hay trung tính Và cấp độ khía cạnh được dùng để xác
định mức độ cảm xúc cho mỗi khía cạnh của thực thể dé cập trong một văn bản
Trong phạm vi của khóa luận, giới hạn nghiên cứu nhóm sẽ chỉ nằm ở mỗi khía
cạnh cấp độ câu văn
Đối với Bài toán phân tích cảm xúc, chúng sẽ thuộc cấp độ ngữ dụng học(Pragmatics) và ngữ nghĩa học (Semantics) Chúng ta có thể thấy rằng vị trí của
bài toán này nằm ở vị trí nào trong lĩnh vực NLP - một nhánh của chuyên ngành
khoa học máy tính, đó là vị trí với vai trò là một ứng dụng trong lĩnh vực NLP.
lGiới thiệu về ngôn ngữ - Lumen: https://courses.lumenlearning.com/
boundless-psychology/chapter/introduction-to-language/
Trang 23Chương 2 COSO LY THUYET 10
2.2 Kiến trúc mang neural tích chap (CNN)
2.2.1 Giới thiệu về mang neural nhân tao
Có những nhiệm vụ nhất định mà con người có thé dé dang làm tốt hon bat
kỳ một chiếc máy tính nào Một trong những ví dụ chính của điều này nằm ở vấn
đề phân loại hình ảnh Nếu chúng ta cần xác định một hình ảnh bất kỳ có chứamột con mèo hoặc một con chó thì điều này với con người sẽ trở nên vô cùng dễdàng Tuy nhiên, van dé này sẽ khá khó để lập trình cho máy tính và sẽ ngày càng
phức tạp với mỗi danh mục mới được thêm vào để phân loại.
Các thành phần quan trọng của mạng học sâu hiện tại đều bắt nguồn từ mạng
neural nhân tạo Mạng neural nhân tạo - một khái niệm thuộc Máy học, là mô
hình toán học bằng dựa trên cảm hứng sinh học từ năng lực xử lý thông tin của
bộ não.
Ap dụng với các kỹ thuật hoc sâu, mang neural nhân tao hiện nay đang được
áp dụng để giải quyết những vấn đề mà lập trình theo logic thông thường khó cóthể giải quyết được Do đó, mạng neural nhân tạo đang nhanh chóng trở nên phổ
biến, và là xu thế trên nhiều lĩnh vực
2.2.2 Giới thiệu về mạng neural tích chập (CNN)
Mang neural tích chập (CNN) là một tập hợp con của Mang neural nhân tao
và Học sâu thường được sử dụng nhiều nhất trong các tác vụ liên quan đến thị
giác máy tính (1) Nó được Yann Lecun (LeNet) dé xuất vào năm 1990 va sau
đó trở thành nén tảng của tầm nhìn máy tính hiện đại Kể từ thời ky đó, nhiều
kiến trúc thần kinh dựa trên CNN đã được gia tăng và sự thành công của nó đã
thu hút được sự chú ý ngoài một vân đề đầy thách thức khác như [20].
Khác với mang ANN thông thường (xem ảnh |2.2}, mang CNN gồm 4 tang
chính: tầng tích chập (Convolution), tang kích hoạt (Activation), tầng gộp
(Pool-ing) và cuối cùng là tang kết nối day đủ (fully connected) IHỆ
2.2.2.1 Tầng tích chập (convolution)
Tên gọi mạng neural tích chập (CNN) dùng để nhắn mạnh việc mạng sử dụngphép toán tích chập (convolution) mục đích chính của tầng tích chập là để trích
Trang 24Chương 2 CƠSỞ LY THUYET 11
Convolutional Neural Network
HINH 2.2: Sự khác biệt giữa mang neural tích chập va mang neural
Input Convolutional layer Pooling layer Classification layer
HÌNH 2.3: Minh họa kiến trúc CNN trong NLP
xuất ra được các đặc trưng tương ứng với dau vào là một bức ảnh hoặc một đoạn
văn bản Phép toán tích chập dùng một ma trận có thể gọi là bộ lọc (filter), nhân
phức hợp (kernel) nhân với đầu vào nhằm rút ra những thông tin quan trọng vàthu nhỏ số chiều đưa vào những lớp huấn luyện tiếp theo
Trang 25Chương 2 COSO LY THUYET 12
HINH 2.4: Minh họa phương pháp tinh phép toán tích chập []
Trong trường hợp phân loại văn bản, một nhân phức hợp vẫn sẽ là một cửa
sổ trượt, chỉ có công việc của nó là xem xét các nhúng cho nhiều từ, thay vì các
vùng pixel nhỏ trong một hình ảnh Các kích thước của hạt nhân chập cũng sẽ
phải thay đổi theo tác vụ này Để xem các chuỗi nhúng từ, chúng tôi muốn có một
cửa sổ để xem nhiều từ nhúng trong một chuỗi Các nhân sẽ không còn là hình
vuông nữa, thay vào đó, chúng sẽ là một hình chữ nhật rộng với kích thước như
3x300 hoặc 5x300 (giả sử chiều dài nhúng là 300)
Với ma trận đầu vào X có N từ, mỗi từ có bộ nhúng từ chiều dài d ta có XN*#
và ma trận F có kích thước sxt F°*! với s € N, t € d, thường this = t.
X'[U] = V8) Ve X[L+ n][j + m] * Eli + n][j + m] với i € N-s+1,j € đ-t+1
2.2.2.2 Tầng kích hoạt (Activation)
Trong các kiến trúc mạng CNN, Tầng kích hoạt thường sẽ theo sau tầng tíchchập Đây là một tầng khá quan trọng trong mạng neural vì tầng này sẽ được sử
dụng nhằm kích hoạt đầu ra từ bản đồ đặc trưng (feature map) cụ thể được tạo
bởi tiến trình trước đó Hàm kích hoạt thường là hàm số phi tuyến tính để họcnhững đặc trưng phi tuyến tính Hơn hết, hàm kích hoạt cũng cần phải là hàmkhả vi để mạng neural có thể được học bởi các thuật toán Gradient Descent
2CNNs for Text Classification - Cezanne Camacho: https: //cezannec.github.io/CNN_Text_
Classification/
Trang 26Chương 2 COSO LY THUYET 13
: ReLU
0 -10 -5 ũ 5 10
HÌNH 2.5: Đồ thị biểu diễn ham số của ham ReLU
Chúng ta có hàm kích hoạt phổ biến ở tang này chính là ReLU và hàm nàycũng được sử dụng rộng rãi vì những hiệu suất tốt hơn so với hàm sigmoid haytanh trong bài toán phân loại văn bản nói chung và bài toán của đề tài nói riêng
Điểm đặt biệt của hàm ReLU nằm ở việc đây là hàm số gần như không khả vi Từ
đó với các node có giá trị nhỏ hơn 0 thì ở hàm kích hoạt ReLU activation sẽ thành
0 và hiện tượng này được gọi là “Dying ReLU“ Nếu các node bị chuyển thành 0
thì các bước thao tác ở lớp tiếp theo sẽ mắt đi ý nghĩa và các hệ số tương ứng từ
node này cũng không được cập nhật với Gradient Descent.
2.2.2.3 Tầng gộp (Pooling)
Dùng một cửa sổ trượt lấy thông tin cần thiết như max, min, average trong
khu vực cửa sổ trượt Ví dụ như ở bài toán của tác giả Yoon Kim [9], ông đã sử
dụng phép gộp lớn nhất (max pooling) để trích ra những giá trị lớn nhất của bản
đồ đặc trưng thuộc lớp tích chập Phép gộp lớn nhất cũng là phương pháp thực
hiện trong dé tài và được minh họa ở Hình|2.6|
2.2.2.4 Tầng kết nói đầy đủ (Fully Connected)
Tầng kết nối đầy đủ được sử dụng để học các đặc trưng đã được rút trích từ
các tầng trên với cơ chế lan truyền ngược (back-propagation) cùng với việc sử
dụng hàm softmax cho việc phân lớp.
Trang 27Chương 2 COSO LY THUYET 14
TT [o2 [oa [2a
movie — |o+ | o2 | 06 |
me [ar oa [as
amazing —> 10.7 | -05 | 04 |
diverse —* =R
HÌNH 2.6: Minh họa phép gộp lớn nhất trong CNN
Trong quá trình huấn luyện kiến trúc mang CNN, 4 tang néu trén sé thuchiện lần lượt theo vòng lặp cho đến khi đạt đến ngưỡng xác định Đối với mỗivòng lặp, mô hình sẽ được cập nhật lại bởi phương pháp lan truyền ngược (backpropagration) mỗi khi chúng kết thúc
2.3 Tìm kiêm kiên trúc mạng neural
2.3.1 Giới thiệu về Tìm kiếm kiến trúc mang neural
Trong những năm gần đây, Mạng neural học sâu (Deep Neural Network) đã
trở thành một trong những kỹ thuật nổi bật của lĩnh vực Thị giác máy tính Chưa
kể đến nằm ở sự đột phá đến từ cuộc thi ImageNet 2012] đã đóng vai trò như
một bàn đạp thúc đẩy phát triển ứng dụng Trí tuệ nhân tạo vào nghiên cứu và
ứng dụng trong đời sống Chúng đã tạo ra những bước đột phá và tiến bộ lớntrong nhiều lĩnh vực Điều này là do khả năng biểu diễn tự động mạnh mẽ của
học sâu Nó đã được chứng minh rằng thiết kế của kiến trúc mạng là rất quan
trọng đối với việc biểu diễn tính năng của dữ liệu và hiệu suất cuối cùng Để có
được một biểu dién đặc tính tốt của dữ liệu, các nhà nghiên cứu đã thiết kế nhiều
kiến trúc mạng phức tạp khác nhau Tuy nhiên, việc thiết kế kiến trúc mạng chủ
#ImageNet2012/http: //image-net org/challenges/LSVRC/2012/
Trang 28Chương 2 COSO LY THUYET 15
Framework "Thử nghiệm va cap nhật”
Kiến trúc A’ thuộc A
>
HÌNH 2.7: Framework "Thu nghiệm và cập nhật" trong NAS
yếu dựa vào kiến thức và kinh nghiệm trước đó của các nhà nghiên cứu Do đó,
một ý tưởng tự nhiên là giảm thiểu sự can thiệp của con người càng nhiều càng
tốt và để thuật toán tự động thiết kế kiến trúc của mạng Do đó sẽ tiến xa hơn đến
trí thông minh mạnh mẽ.
Tự động học va phát triển cau trúc liên kết mạng không phải là một ý tưởng
mới [16] Trong những năm gan day, công việc tiên phong ở hướng nghiên cứu
này [22], [2] đã thu hút rất nhiều sự chú ý vào lĩnh vực Tìm kiếm kiến trúc mang
neural (NAS) Kể từ lúc bắt đầu nghiên cứu từ 2017 cho tới nay, NAS dan phát
triển và sẽ trở thành một hướng nghiên cứu chính trong tương lai.
2.3.2 Thành phan cơ bản của Tìm kiếm kiến trúc mang neural
Tìm kiếm kiến trúc mạng neural có nhiều framework khác nhau được áp
dụng, tuy nhiên với giới hạn dé tài thì nhóm sẽ dé cập mỗi framework "Thử
nghiệm và cập nhật" (Trial and errors) - cũng là framework nhóm sẽ lựa chọn
chính trong đề tài
Đối với framework nêu trên, việc khởi tạo quan thể sẽ là yếu tố tiên quyết đầutiên Khi khởi tạo, quần thể được xem như một tập hợp các kiến trúc mạng (tựđịnh nghĩa) và mỗi kiến trúc được xem như một cá thể Tiếp đến, chúng ta sẽ giả
định hiệu suất kiến trúc mạng tốt hơn có thể đạt được qua những điều chỉnh rồi
thực hiện các thao tác tính toán trên tập các kiến trúc mạng đã khởi tạo Với mỗilần tính toán sẽ giữ lại những kiến trúc mạng tốt nhất và cập nhật lại quần thể
Cứ thế, việc tính toán sẽ tiếp tục lặp lại cho đến khi kết thúc số lần lặp đưa rahoặc đạt được hiệu suất mong muốn
Trang 29Chương 2 COSO LY THUYET 16
Các chiến lược tìm kiếm không gian
Chiến lược Macro Search
lo|e-©gs|ell<
000-0010-00101-0 3! =0-00-000-0101-10101-0 ae”? =0-00-111-0111-00000-1
‘Ave Pooling Ther |
Chiến lược Micro Search
oi ep 3x3 identity TS] `
faa] de se] dil Sx5
2.3.2.1 Khong gian tìm kiếm
Theo trình bày ở Hình |2.8| NAS có hai chiến lược tìm kiếm không gian phổ
biến:
e Macro-search: Là chiến lược thiết kế toàn bộ kiến trúc mạng neural
e Micro-search: Là chiến lược kết nói các module hoặc các blocks với nhau tao
thành kiến trúc mang neural cuối cùng
Đối với phương pháp GeneticCNN được áp dụng trong khóa luận này,nhóm sẽ áp dụng chiến lược Micro-search Đây là phương pháp mã hóa việc kết
nối giữa các node trong kiến trúc mạng dưới dang một chuỗi nhị phân với độ dài
cố định L Nhóm sé xem chuỗi nhị phân này là quan thể khởi tao và tiến hành
phương pháp NAS.
2.3.2.2 Chiến lược tìm kiếm
Đây là phương pháp để tìm kiếm những kiến trúc mạng mới với hiệu suấtcao Chiến lược tìm kiếm trong NAS đã tạo ra nhiều hướng tiếp cận nâng cao và
Trang 30Chương 2 COSO LY THUYET 17
được thử nghiệm ở nhiều phương pháp phổ biến bao gồm Tìm kiếm ngẫu nhiên
(Random search), Học cải thiện (RL) 22l, Thuật toán tiến hóa (EA) 1]
2.3.2.3 Chiến lược đánh giá hiệu suất
Chiến lược nhằm đánh giá độ tốt của cá thể sau mỗi lần tìm kiếm và giữ lạinhững cá thể tốt nhất Các chiến lược tìm kiếm được thảo luận trong Hình
nhằm mục đích tìm ra kiến trúc mang neural A’ tối đa hóa một số biện pháp hiệu
suất, chẳng hạn như độ chính xác trên dữ liệu huấn luyện Để đánh giá quá trình
tìm kiếm đã thực hiện, các chiến lược này cần ước tính hiệu suất của một kiến trúc
A’ nhất định ma ho xem xét Cách đơn giản nhất để thực hiện việc này là huấn
luyện A về dữ liệu huấn luyện và đánh giá hiệu suất của nó trên dữ liệu xác thực.Tuy nhiên, việc đào tạo từng kiến trúc để được đánh giá từ đầu thường mang lạinhu cầu tính toán theo thứ tự hàng nghìn ngày GPU cho NAS
Quá trình đánh giá các mô hình từ NAS có thể rất tốn kém và nhiều phương
pháp đánh giá mới đã được dé xuất để tiết kiệm thời gian hoặc tính toán Khiđánh giá một mô hình con, chúng ta cần quan tâm đến hiệu suất của nó được
do bằng độ chính xác trên một tập dữ liệu uy tín Trong những năm gan đây, các
yếu tố khác của mô hình tìm kiếm cũng được cân nhắc trong quá trình đánh giá
chẳng hạn như kích thước mô hình hay độ trễ, vì một số thiết bị nhất định có thể
có giới hạn về bộ nhớ hoặc yêu cầu thời gian phản hồi nhanh
2.4 Thuật giải di truyền (GA)
2.4.1 Giới thiệu Thuật giải đi truyền (GA)
Trong các vấn để nghiên cứu của lĩnh vực Khoa học máy tính, tìm kiếm lờigiải tối ưu cho những bài toán mới lẫn các bài toán sẵn có luôn là chủ dé thu hút
đông đảo sự quan tâm từ các nhà khoa học trong và ngoài nước Đối với những
bài toán tìm kiếm không gian lớn, việc đòi hỏi lời giải chất lượng cao và tối ưu
sẽ càng vô cùng quan trọng Thuật giải di truyền (GA) là một trong những giảipháp chất lượng cao đã được công bố và ứng dụng trong nhiều bài toán trên thế
giới.
Trang 31Chương 2 COSO LY THUYET 18
KHONG
Ỷ
| Chon loc | | Đội biến |
+
HÌNH 2.9: Minh họa thuật giải đi truyền
Thuật giải di truyền là một phương pháp metaheuristic lấy cảm hứng từ quátrình chọn lọc tự nhiên (mô phỏng từ thuyết tiến hóa của Darwin) và là một trong
những thuật toán thuộc nhóm các Thuật toán tiền hóa (EA) Thuật giải di truyền
được đề xuất bởi John Holland tại Đại học Michigan vào năm 1975 BÌ.
Đối với Thuật giải di truyền, chúng ta cũng cần lưu ý rằng mục tiêu của
phương pháp nhằm phục vụ việc giải các bài toán cần giải quyết và không dùng
để mô phỏng các hiện tượng đã có trong thiên nhiên Cùng với đó, những thuật ngữ sinh học được áp dụng trong thuật giải di truyền sẽ được dùng để trao đổi ý
tưởng trong nghiên cứu và ứng dụng Qua đó, cần hạn chế lạm dụng thuật ngữ
sinh học khi sử dụng phương pháp này.
Khái niệm cốt lõi của thuật giải di truyền là cho phép các cá thể thuộc quần
thể tiến hóa qua các hoạt động di truyền nhất định với kiểu gen là các chuỗi nhị
phân (binary strings) có chiều dài cố định L Thuật giải di truyền thường được sử
dụng để tạo ra những cá thể mới (offspring) từ các cá thể cha mẹ (parents) nhằmphục vụ tối ưu hóa hoặc tìm kiếm van dé Thuật giải di truyền cũng có một số
phương pháp phổ biến lay cảm hứng từ sinh học như Đột biến (Mutation), Lai
ghép (Crossover) và Chọn lọc (Selection) Như hình|2.9), ta có thể thầy Thuật giải
Trang 32Chương 2 COSO LY THUYET 19
di truyền sẽ gồm các bước chính sau đây:
e Bước 1: Khởi tạo quan thể với chuỗi nhị phân có độ dài L
e Bước 2: Kiểm tra đánh giá độ thích nghỉ đối với quan thể hiện tại
e Bước 3: Kiểm tra điều kiện dừng của bài toán, nếu chưa thỏa mãn tiếp tục
đến Bước 4
e Bước 4: Chọn những cá thể từ quần thể có độ thích nghỉ tốt (theo phương
pháp chọn lọc quy định) để thực hiện các phương pháp lai ghép và đột biến
(nếu có) Qua đó sẽ tao ra những cá thể mới từ quan thể ban dau
e Bước 2 và Bước 4 sẽ tiếp tục lặp lại cho đến khi thỏa mãn điều kiện dừng
của bài toán.
2.4.2 Khởi tạo quan thể
Quản thể trong GA thường được biểu diễn bằng một dạng chuỗi bit nhị phânvới mỗi quần thể sẽ đại điện cho một thành phần kết quả trong không gian tìm
kiếm của tất cả các giải pháp cho bài toán Trong quá trình GA, sự biến đổi củacác cá thé trong quan thể sẽ diễn ra liên tục, bằng cách thay thế một cá thể nàybằng một cá thể khác
Việc biểu diễn lời giải dưới dang quản thể là rất quan trọng vì nếu nó không
đủ linh hoạt, việc tìm kiếm sẽ bị hạn chế và thuật toán có thể không thể tìm ra cácgiải pháp tốt
2.43 Đánh giá độ thích nghi
Trong thuật giải đi truyền, mỗi giải pháp được biểu diễn dưới dạng một chuỗi
số nhị phân, được gọi là quần thể Trong quá trình di truyền, chúng ta sẽ cần thửnghiệm từng giải pháp và đưa ra lời giải tốt nhất cho bài toán cần giải Do đó,mỗi giải pháp cần được đánh giá cụ thể nhằm chỉ ra mức độ gần đạt được với đặc
điểm kỹ thuật tổng thể của giải pháp mong muốn Điểm này được tạo ra bằng
cách áp dụng chức năng thể dục cho bài kiểm tra hoặc kết quả thu được từ giải
pháp đã thử nghiệm.
Trang 33Chương 2 COSO LY THUYET 20
con - offspring) Mục tiêu chính của Phép chọn lọc nhằm ưu tiên lựa chọn những
giải pháp tốt nhất trong quá trình tạo ra giải pháp mới và đây cũng là một trongnhững toán tử quan trọng trong quá trình di truyền
Các phương pháp lựa chọn phổ biến và được nghiên cứu kỹ lưỡng bao gồm
Chon lọc tỷ lệ (Proportional Selection) và Chọn lọc giao đấu (Tournament
Selec-tion) Đây sẽ là hai phương pháp được áp dụng trong khóa luận này.
2.4.4.1 Chọn lọc tỷ lệ (Proportional Selection)
Ở phương pháp Chọn lọc tỷ lệ (Proportional selection hay còn được gọi là
Roulette wheel selection như Hình 2.10), ta sé tính xác suất một cá thể được chọn
làm cá thể cha mẹ tỷ lệ thuận với độ thích nghỉ của cá thể đó Ở phương pháp
này, ta có công thức như sau:
e Tổng giá trị thích nghỉ của P: X/-! ƒifness[P;]
e Xác suất cá thể P; được chọn = tỷ lệ đóng góp của P; cho tổng giá trị thích
nghỉ của P.
2.4.4.2 Chọn lọc giao dau (Tournament Selection)
Chon lọc cạnh tranh hay còn gọi là chọn lọc giao đấu (Tournament Selection)
là một chiến lược lựa chọn các cá thể dựa trên độ thích nghỉ tốt nhất của chúng