SOs-70sS 8OSs-OOS OOS-PRESENT Neural Networks Machine Leaming Deep Learning Hình 1.1 Tóm tắt dòng thời gian của trí tuệ nhân tạo Học máy được coi là một phân ngành thuộc lĩnh vực trí tuệ
Trang 1
ĐẠI HỌC UEH TRUONG KINH TE, LUAT VA QUAN LY NHA NUOC
KHOA KINH TE
UEH
UNIVERSITY TIỂU LUẬN CUÓI KỲ
MON PHAN TICH DU LIEU LON TRONG DAU TU VA
KINH DOANH GVHD: THS.Nguyén Khanh Duy
Ma LHP: 23C1ECO50118603
_ Ho va tén MSSV Nguyên Thị Mỹ An 31211020225
Trần Thị Tuyết Nhi 31211025885
Đỗ Nguyễn Thu Phương 31211025886
Nguyễn Thị Kim Thoa 31211026545
TP Hỗ Chí Minh, ngày 29 tháng 12 năm 2023
Trang 2
1.6 Cac phwong phap va Mé hinh Hoc May 0 ccccccceeeecceeeeeeeeeeeeeeeeeneeees 8
IS š so so nh 8 1.6.2 Học máy không giám sát 22021 nn HH HH HH TH ng kh nhe 9 1.6.3 Học máy bán giám sát Q0 000 2Q Q TH TH 22H HH HH TH kg 10
In án .- (aliRẠx`ẰĂằĂ 10
1.7 Cac bw6c NOC MAY 20.2 Ý 11
CHUONG 2: GIO] THIEU VE HOC SAU VA TONG QUAN MANG NO - RON
G1111 1101111111111 1 1111k KHE KH KHE KT KH KH KH KH S11 S 111 E1 14
2.1 Các mắc thời gian của mạng lưới thần kinh và học sâu - 15 2.2 Cấu trúc của mạng lưới thần kinh nhân tạo . - ¿525 Sc222 2 +x+z ca 17 2.3 Hàm mắt mát S2 222121 1111 ere 21
2.4 Tối ưu hóa trong học SâU 2 22221 11122 2121211115151 2111111 181511111111 nye 22
2.5 Những thách thức tối ưu hóa + S222 2222 25E5125E25212511 15151111111 xxe 25
2.6 Overfitting and Regularizafion - S2 S1 HT TH TT HH khe 27 2.7 Chia tý lệ tính năng L-L S2 n HT TT TT TT HT KHE 28
CHƯƠNG 3: MẠNG HỎI QUY RECURRENT NEURAL NETWORKS 29
3.1 Khái niệm cơ bản về Recurrent Neural NefWorks - 5c sec csse: 29 3.2 Ung dụng của Recurrent Neural NefWorks - + ©5222: 2222 rrrrsrsrei 30 3.3 Cơ chế của Recurrent Neural NefWorks - - +: SS 1222212211112 xe 30 3.4 Các loại Recurrent Neural NefWworkS QQ 1 S2 TH HH khe 32
3.4.1 RNN đơn giản (Đơn gián) ST 222222122 ng re 32 3.4.2 Mạng bộ nhớ ngắn hạn dài (LSTTM|) - +52 52 22c S222 2x2 Eerexsee 33 3.4.3 Mang don vi dinh ky (GRU) có kiểm soát 5 2222 S22srererec 34
Trang 33.5 Dữ liệu tuần tự và dữ liệu chuỗi thời gian trong RNN 35
CHƯƠNG 4: ỨNG DỤNG MÔ HÌNH LSTM ĐỀ DỰ BẢO TY GIA HOI ĐOÁI VND_USD NGÀY 22/12/2023 0 1 111121111121 18101011111111121 11601111 37
4.1 Khai báo thư viện cho mỗ hình 2.0111 n2 TS n HH TT HT KH ke, 37
4.2 Đọc dữ liệU 21111211 121111 21211101211 11 0111111211111 tr roi 38 4.3 Tiền xứ lý dữ liệU - L5: 2222 111121 211212111 12151 1211111111112111 1018111128122 re 38
4.4 Xây dựng mô hình - Q22 22201111111 55020111 nn ng 2 1 kg re 40
4.5 Kiểm thử và sử dụng mô hình - ¿5 2222212121 121811511 1512121818111 se 43
4.6 Du bao Cho ngay 22/12/2023 nn" Ả 45
TAI LIEU THAM KHAO cccccceccccccececscscsescsescsecececevecevececsvstsesernsetitevetensesnserenetes 47
Trang 4Too long to read on your phone? Save
to read later on
DANH MUC H your computer
Hình 1.1 Tóm tắt dòng thời gian của trí tuệ
a H Save to a Studylist
Hinh 1.2 Mạng lưới than kinh nhân tạo (AN
Hình 1.3 Mối quan hệ giữa các thuật ngữ - S: 222221 111221222121 22181811 xe «
Hình 1.4 Phân loại hai nhãn trong học máy có giám sát Ặ-ẶSS22222sscsằ 9
Hình 1.5 Ma trận nham lan cua classification problems cc s2 se 13
Hình 2.1 một ví dụ về mạng nơ-ron nhân tạo (ANN) có khả năng học sâu 14
Hình 3.1 Nhiệm vụ dự báo thời tiết đơn giản: Trời có mưa không? 31
Hình 3.2 Hoạt động mạng thản kinh tái phát dựa trên tế bào - -: 525cc ccxszczxss2 31 Hình 3.3 RNN đơn giản, Đơn vị định kỳ có ki êm soát và Ô bộ nhớ ngắn hạn dài 32
Hình 3.4 Câu trúc đơn vị RNN đơn giản - c5: 222221512125 121112111 1515111811 se 33
Hình 3.5 Cấu trúc đơn vị bộ nhớ ngăn hạn dài - 52 2222 S3 EE S2 E1 ke kset 34
Hình 3.6 Câu trúc đơn vị định kỳ có kiểm Soát 5 S222 2121321151212 12125 1xx xe2 35
Hình 3.7 Mối quan hệ giữa dữ liệu trình tự và dữ liệu chuỗi thời gian 36
Hình 3.8 Nhiệm vụ dữ liệu trình tự tiềm năng trong Deep Learning - 36
Trang 5CHƯƠNG 1: GIỚI THIỆU VẺ HỌC MÁY (MACHINE LEARNING)
Với mục đích giới thiệu về lĩnh vực học máy (Machine learning) và làm rõ phạm
vi của các lĩnh vực tương tự, đặc biệt là Deep learning Ngoài ra, chương này còn so sánh cách phương pháp học máy khác nhau, giới thiệu một số mô hình học máy phố biến, đề cập đến các khái niệm quan trọng của học máy và hướng dẫn các bước học máy Chương này rất có ý nghĩa vì Deep learning là một phần phụ của học máy Do đó hầu hết các giải thích đều có giá trị với Deep learning
1.1 Học máy là gì?
Như chúng ta đều biết, máy tính không có khả năng nhận thức và không thể tự suy luận Tuy nhiên, máy tính rất giỏi trong việc xử lý đữ liệu và có thê thực hiện được những tính toán phức tạp trong thời gian ngắn
Chỉ cần cung cấp chỉ tiết từng bước, hướng dẫn toán học một các logic thì máy tính có thê xử lý mọi thứ Vì vậy, nếu chúng ta có thê biểu diễn khả năng nhận thức của con người bằng các phép toán logic thì máy tính có thê phát triển các kỹ năng nhận thức
Thuật ngữ “Machine learning” được đặt ra lần đầu tiên vào năm 1959 bởi Arthur Samuel, một nhà khoa học của IBMI và là người tiên phong trong lĩnh vực trò chơi máy
tính và trí tuệ nhân tạo Trong suốt những năm 1950, 1960 và 1970, công việc ban đầu
về mạng lưới thần kinh được tiến hành với mục tiêu mô phỏng bộ não con người Tuy nhiên, các ứng dụng thực tế của mạng lưới thần kinh đã không khả thi trong một thời gian đài đo những hạn chế của công nghệ máy tính
Nghiên cứu học máy cơ bản về các kỹ thuật ML khác (các kỹ thuật non-deep learning doi hỏi ít tài nguyên máy tính hơn) đã được phô biến vào những năm 1980 va
1990 Những tiến bộ trong công nghệ máy tính ở thời kỳ này một phần do áp dụng các ứng dụng học máy vào đời sống thực Nhiều năm trôi qua, những hạn chế do công nghệ máy tính còn non trẻ hầu hết đã được loại bỏ, đặc biệt là trong những năm gần đây Các nhà nghiên cứu luôn nỗ lực để máy tính có được khả tính toán, lưu trữ tốt hơn và hiệu
quả hơn Và giờ đây, họ đã có thể nhanh chóng xây dựng các mô hình, thử nghiệm
chúng và thậm chí triển khai trên Internet đề cả thế giới sử dụng Ngày nay, lĩnh vực học máy rất sôi động nhờ lượng đữ liệu dỗi dào, công nghệ lưu trữ đữ liệu hiệu quả với khả năng xử lý nhanh và rẻ hơn
Trang 6SOs-70sS 8OSs-OOS OOS-PRESENT
Neural Networks Machine Leaming Deep Learning
Hình 1.1 Tóm tắt dòng thời gian của trí tuệ nhân tạo Học máy được coi là một phân ngành thuộc lĩnh vực trí tuệ nhân tạo nhằm mục tiêu tự động cải thiện hiệu suất của các thuật toán máy tính bằng các nhiệm vụ cụ thể thông qua trải nghiệm Trong nghiên cứu học máy, trải nghiệm được rút ra từ dữ liệu đào tạo (training data), có thẻ thu được từ dữ liệu mẫu được thu thập từ các quan sát
trước đó Qua trải nghiệm này, các thuật toán học máy có thê học và xây dựng các mô hình toán học đề đưa ra dự đoán và quyết định Quá trình học bắt đầu bằng cách cung
cap training data chứa đựng các mẫu ngầm định vào mô hình Do máy tính có khả năng
Xử lý cao hơn so với con người, chúng có thẻ tìm ra những mẫu có giá trị trong dữ liệu
ở khoảng thời gian ngăn Những mẫu này sau đó được sử dụng để đưa ra dự đoán và
quyết định về các sự kiện liên quan Quá trình học có thê tiếp tục ngay cả sau khi triển
khai nếu được xây dựng một hệ thống học máy phù hợp cho phép đảo tạo liên tục
Trước đây, chúng ta có thể sử dụng học máy trong vài phần nhỏ của một hệ thống Nhưng hiện nay, chúng ta thực sự sử dụng học máy để thay thế toàn bộ các hệ thong, thay vì cố gắng tạo ra một mô hình học máy tốt hơn cho từng phần riêng biệt —
Jeff Dean
Ứng dụng học máy được sử dụng ngày càng nhiều trong các lĩnh vực khác nhau Những ứng dụng thực tế nảy rất đa dạng Một số ứng dụng được liệt kê như sau:
- Y tế: Chuẩn đoán y tế dựa trên các triệu chứng của bệnh nhân
- Thương mại điện tử: Dự đoán nhu cầu dự kiến
- Luật: Rà soát văn bản pháp luật và cảnh báo luật sư về các điều khoản có vấn đề
- Mạng xã hội: Tìm kiếm đối tượng phù hợp dựa vào sở thích của người dùng trên ứng dụng hẹn hò
Trang 7- Tài chính: Dự đoán giá cô phiếu trong tương lai dựa trên dữ liệu lịch sử
Ngoài ra, máy học còn được ứng dụng trong rất nhiều trường hợp khác Tùy thuộc vào mục tiêu, có nhiều phương pháp khác nhau để tạo ra mô hình máy học Các phương pháp này thường được nhóm theo bốn cách tiếp cận chính: học có giám sát, học bán giám sát, học không g1ám sát và học tăng cường
Mỗi phương pháp có những khác biệt trong thiết kế nhưng tất cả đều tuân theo những nguyên tắc cơ bản và cùng một nền tảng lý thuyết Trong các phan sắp tới, chúng
ta sẽ xem xét chỉ tiết về các lĩnh vực về: trí tuệ nhân tạo, deep learning, data science, big data
1.2 Tri tué nhan tao
Đây là một thuật ngữ rộng lớn sử dụng để mô tả máy tính mô phỏng trí tuệ con người và mô phỏng những khả năng "nhận thức" liên kết với tâm trí con người Giải quyết vấn đề và học tập là ví dụ về những khả năng nhận thức này Lĩnh vực AI chứa đựng các nghiên cứu về học máy vì các hệ thống AI có khả năng học từ trải nghiệm Nói chung, các máy với trí tuệ nhân tạo có khả năng:
- Hiểu và diễn giải đữ liệu
- Học từ dữ liệu
- Đưa ra quyết định “thông minh” dựa trên hiểu biết sâu sắc và mẫu trích xuất từ dữ liệu
Những thuật ngữ này liên quan mật thiết đến học máy Nhờ vào học máy, các hệ thông
AI có thể học và hoàn thiện ở mức độ nhận thức của chúng Học máy được sử dụng để đào tạo các hệ thống AI và làm cho chúng trở nên thông minh hơn
1.3 Deep learning
Học sâu (DL) là một phân ngành của học máy sử dụng riêng nhiều lớp no-ron dé trích xuất mẫu và đặc trưng từ dữ liệu thô Những tầng nơ-ron được kết nối với nhau tạo ra các mạng nơ-ron nhân tao (Artificial Neural Networks - ANNs) ANN là một thuật toán học máy đặc biệt được thiết kế để mô phỏng cơ chế làm việc của bộ não con người Có nhiều mạng lưới thần kinh nhân tạo khác cho nhiều mục đích khác nhau Tóm lại, thuật toán học sâu là một phân con của các thuật toán học máy
Trang 8Hình 1.2 Mạng lưới thần kinh nhân tạo (ANN)
Cũng giống như trong học máy, cả bốn phương pháp (học có giám sát, bán giám sát, không giám sát và học tăng cường) đều có thể được sử dụng trong học sâu Khi có lượng đữ liệu dồi đào và đủ sức tính toán, deep learning hầu như luôn vượt trội hơn các thuật toán ML khác Các thuật toán học sâu đặc biệt hữu ích trong xử lý hình ảnh, nhận dạng giọng nói và dich máy
1.4 Data science
Khoa học dữ liệu (DS) là một lĩnh vực liên ngành nam tai giao điểm của trí tuệ
nhân tạo, kiến thức chuyên sâu vẻ một lĩnh vực cụ thê, khoa học thông tin và thông kê Các nhà khoa học dữ liệu sử dụng các phương pháp, quy trình và thuật toán khoa học
khác nhau đề thu thập kiến thức và rút ra những thông tin từ dữ liệu quan sát được
Khác với học máy, mục tiêu của một nghiên cứu khoa học dữ liệu không nhất thiết phải là việc dao tạo mô hình Các nghiên cứu khoa học dữ liệu thường nhằm trích xuất kiến thức và thông tin để hỗ trợ quá trình ra quyết định của con người mà không tạo ra một hệ thông trí tuệ nhân tạo Do đó, mặc dù có sự g1ao lưu giữa khoa học dữ liệu
và các lĩnh vực lân cận khác, lĩnh vực này khác biệt vì nó không nhất thiết phải cung
cấp một hệ thông thông minh hoặc một mô hình đã được đảo tạo
1.5 Big data
Dữ liệu lớn là một lĩnh vực nhằm phân tích một lượng lớn dữ liệu mà không thê
xử lý được bằng các phương pháp và ứng dụng xử lý dữ liệu truyền thống Dữ liệu với
số lượng quan sát nhiều thường mang lại độ chính xác cao hơn, độ phức tạp cao có thể tăng tỷ lệ phát hiện sai Lĩnh vực nghiên cứu về dữ liệu lớn tập trung vào cách thu thập, lưu trữ, phân tích, tìm kiếm, chia sẻ, hiến thị và cập nhật dữ liệu khi kích thước của một
bộ dữ liệu rất lớn Nghiên cứu về đữ liệu lớn có thể được sử dụng cả trong trí tuệ nhân
Trang 9tạo và trong khoa học dữ liệu Big data nằm ở giao điểm của tất cả các lĩnh vực được
Big Bo
TT Science Deep
Learning
Hình 1.3 Mối quan hệ giữa các thuật ngữ
Qua hình ảnh trên một lần nữa cho thấy sự liên quan của các phương pháp Khi nói về deep learning, chúng ta cũng đang nói về học máy và trí tuệ nhân tạo Khi đang làm việc trên một dự án học sâu, một số nguoi c6 thé gọi đó là một dự án khoa học đữ liệu hoặc một dự án dữ liệu lớn Những cách gọi tên này không sai sai, nhưng chúng dé gây nhằm lẫn Vì vậy, điều quan trọng là phải biết rõ mỗi quan hệ của các lĩnh vực này 1.6 Các phương pháp và Mô hình Học Máy
Các phương pháp học máy được phân loại dựa trên tính chất của cơ chế phản hồi của chúng trong quá trình học Các phương pháp đó là: Học máy có giám sát, Học máy
không giám sát, Học máy bán giám sát, Học tăng cường
lý cũng đóng vai trò then chốt để giải quyết các bài toán trong thực tế
Trang 101.8.1.1 Ví dụ về phân loại
Một ví dụ phân loại khác có thể dự đoán xem con vật trong ảnh là “mèo” hay
“không phải mèo” như hình sau:
Tỳ TRAINING PREDICTING
“not cat”
Hình 1.4 Phân loại hai nhãn trong học máy có giám sát
Ngoài ra, phân loại đa nhãn được sử dụng khi có nhiều hơn hai nhãn Việc xác định và dự đoán các chữ cái và số viết tay trên một hình ảnh sẽ là một ví dụ về phân loại đa nhãn
1.6.1.2 Ví dụ về hồi quy
Việc dự đoán mức chi tiêu của một khách hàng dựa trên đữ liệu lịch sử của họ là một vấn đề hồi quy Hay dự đoán chiều cao của một người sử dụng cân nặng, tuôi và giới tính của họ, chúng ta cần dữ liệu đào tạo chứa thông tin về cân nặng, tuôi và giới tính của mọi người cùng với chiều cao thực tế của họ Dữ liệu này cho phép thuật toán học máy khám phá mối quan hệ giữa chiều cao và các biến khác Sau đó, mô hình có thể dự đoán chiều cao cụ thể
Có rất nhiều thuật toán học máy khác nhau phù hợp cho học có giám sát: Hồi quy tuyến tính và logistic repression, Cây quyết định, Mô hình SVM, K-Nearest neighbors (KNN), Mang no-ron (MLP)
1.6.2 Hoc may khong giam sat
Đây là cách tiếp cận được sử dụng trong các thuật toán học máy để rút ra suy luận từ các tập dữ liệu không chứa nhãn Học không giám sát chủ yếu được sử dụng trong phân cụm Phân cụm là bài toán gom nhóm các đối tượng dữ liệu vào thành từng cụm (cluster) sao cho các đối tượng trong cùng một cụm có sự tương đồng theo một tiéu chi nao đó
Trang 11Một ứng dụng khác của học không giá sát là giảm chiều đữ liệu (Dimensionality reduction): Số chiều tương đương với số lượng đặc trưng được sử dụng trong một bộ
dữ liệu Chúng ta nên chọn ra những đặc trưng tốt nhất hoặc trích xuất các đặc trưng
mới kết hợp các đặc trưng hiện có Phương pháp giảm chiều giúp tạo ra mô hình gọn gàng, không chứa nhiễu và đặc trưng không cần thiết
Học không giám sát có thê được sử dụng đề phát hiện vẫn đề bất thường và trong
hệ thống sinh ra dữ liệu: Hierarchical clustering, K-Means clustering, phương pháp PCA, Neural networks
1.6.3 Học máy bán giảm sát
Đây là một phương pháp học máy kết hợp các đặc điểm của học có giám sát và học không giám sát Học máy bán giám sát đặc biệt hữu ích khi có một lượng nhỏ dữ liệu được dán nhãn và một lượng lớn dữ liệu chưa được gan nhãn có săn đề huấn luyện Đặc điểm học có giám sát giúp tận dụng lượng nhỏ dữ liệu nhãn Ngược lại, các đặc điểm học không giám sát rất hữu ích để tận dụng một lượng lớn dữ liệu chưa được gan
nhãn
Trong học máy bán giám sát thường bắt đầu bằng việc phân cụm dữ liệu chưa được gắn nhãn Sau đó sử dụng đữ liệu được gắn nhãn đề gắn nhãn cho đữ liệu chưa được gắn nhãn được nhóm Cuối cùng, dữ liệu hiện đã được gắn nhãn sẽ được sử dụng
đề huấn luyện các mô hình học máy Mô hình học bán giám sát rất mạnh mẽ vì chúng
có thê tận dụng được khối lượng đữ liệu lớn
Mô hình này được ứng dụng trong: phân tích giọng nói, phân loại nội dung và phân loại chuỗi protein
1.6.4 Học tăng cường
Đây là một trong những phương pháp chính của học máy, học tăng cường quan tâm đến việc tìm ra các hành động tối ưu của một tác nhân đề tối đa hóa phần thưởng trong một môi trường cụ thê Tác nhân học cách hoàn thiện các hành động của mình để đạt được tông phần thưởng cao nhất có thể Có bốn yếu tổ chính trong học tăng cường:
tác nhân, môi trường, hành động, phân thưởng
Học tăng cường được ứng dụng trong cả thể giới thực và ảo
Tóm lại, các phương pháp này được áp dụng vào các vấn đề học máy với nhiều thuật toán tiêm năng Trong khi học có giám sát giải quyết các vân đề phân loại và hôi
Trang 12quy, học không giám sát xử lý giảm chiều và phân cụm Học bán giám sát kết hợp các phương pháp học có giám sát và không giám sát để tận dụng đữ liệu không được gan nhãn cho các nhiệm vụ phân loại, trong khi học tăng cường được sử dụng đề tìm ra bộ hành động hoàn hảo nhất để đạt được phần thưởng cao nhất
1.7 Các bước học máy
Bước 1: Thu thập dữ liệu
Dữ liệu là nhiên liệu của các mô hình học máy Không có dữ liệu chất lượng, chúng ta không thể đạt được độ chính xác cao Dữ liệu phải có chất lượng cao cũng như
số lượng lớn Do đó, cả chất lượng và số lượng dữ liệu thu thập được đều quan trọng
đối với một dự án học máy Thực tế, thu thập đữ liệu là một trong những phần khó khăn
nhất của các dự án học máy Chúng ta có thể bỏ qua bước thu thập đữ liệu nhờ các nền tảng như Kaggle và ÚC Irvine's Repository với một số dự án cho mục đích giáo dục Kết quả của bước này là biểu diễn của đữ liệu được lưu đưới dạng tệp CSV
Bước 2: Chuẩn bị dữ liệu
Đầu tiên, thực hiện làm sạch và chuyền đổi dữ liệu Gồm các tác vụ như: xử lý các giá trỊ thiếu, loại bỏ giá trị trùng lặp, sửa lỗi, chuyền đổi chuỗi thành số thực, chuẩn hóa đữ liệu và tạo các biến giả Sau đó, chọn ngẫu nhiên dữ liệu đề loại bỏ tương quan Tiếp theo, sử dụng các công cụ trực quan hóa đữ liệu để khám phá mối quan hệ giữa các biến và cũng có thể phát hiện đữ liệu bất thường bằng trực quan hóa dữ liệu Cuối củng, chia bộ dữ liệu đã chuẩn bị thành bộ dữ liệu đào tạo và đánh giá
Bước 3: Lựa chọn mô hình
Tùy thuộc vào vẫn đề, chúng ta thử các thuật toán học máy khác nhau để tìm ra
mô hình hoạt động tốt nhất Nếu không có ML và DL, việc viết mã cho toàn bộ thuật
toán sẽ rất tốn thời gian Nhưng nhờ vào các thư viện đó, có thê nhanh chóng xây dựng
mô hình theo một số mô hình học máy và dễ dàng tìm ra mô hình hoạt động tốt nhất sau khi đảo tạo
Bước 4: Đào tạo
Sau khi chọn một thuật toán, xây dựng mô hình, chuẩn bị dữ liệu, ta có thể đưa
đữ liệu này vào mô hình và theo dõi tối ưu hóa các biến phương trình Mục tiêu của việc đào tạo là đưa ra số lượng dự đoán chính xác nhất hoặc giảm thiểu lượng sai sót VÍ dụ:
nếu sử dụng hồi quy tuyến tính, phương trình thực hiện sẽ như sau:
Trang 13hình được thực hiện lặp đi lặp lại cho đến khi không thể quan sát thấy hiệu suất tăng
thêm đối với chỉ số hiệu suất đã chọn
Bước 5: Đánh giá
Sau khi huấn luyện mô hình với dữ liệu đảo tạo, ta kiểm tra mô hình với một tập
đữ liệu đánh giá Dữ liệu này là hoàn toàn mới Tỷ lệ phân chia lý tưởng giữa dữ liệu
dao tạo và kiểm thử thường là 80/20, 90/10 hoặc 70/30, tùy thuộc vào lĩnh vực cụ thé
Đặc biệt khi có đữ liệu hạn chế, một trong những kỹ thuật đánh giá hữu ích được sử dụng bởi các nhà khoa học dữ liệu là cross-validation Đây là kỹ thuật lây mẫu để đánh
giá mô hình học máy khi dữ liệu không được đồi dào cho lắm Trong k-fold cross-
validation, phần đữ liệu kiểm thử sẽ được để riêng và đành cho bước đánh giá cuối củng Phần dữ liệu đào tạo được chia thành k nhóm, được train model k lần, mỗi lần
train chọn I phần làm dữ liệu đánh giá, k-I phần làm đữ liệu đào tạo Kết quả đánh giá
mô hình là trung bình cộng kết quả đánh giá của k lần train
Overfiting trong học máy xảy ra khi mô hình quá khớp với cái quan sát Điều này có nghĩa cả dữ liệu nhiễu hoặc dữ liệu bất thường trong tập huấn luyện đều được chọn và học gây ảnh hưởng tiêu cực đến độ chính xác của mô hình
Bias and Variance Trade-Off là một đặc tính của mô hình học máy Độ lệch là các giả định được mô hình đưa ra còn phương sai là thước đo độ phân tán của giá trị mả hàm mục tiêu tạo ra Độ lệch cao sẽ không có những dự đoán đáng tin cậy, phương sai cao có thẻ làm hỏng khả năng đạt được kết quả có ý nghĩa
Vậy làm thế nào để đo lường sự thành công của mô hình?
Đó là tham khảo ma trận nhằm lẫn (confusion matrix) Đây là tập hợp các tiêu
chí nhằm đánh giá hiệu quả một mô hình phân loại
Trang 14Actual values
1 0
Predicted values
Hình 1.5 Ma trận nhằm lan cua classification problems Đại diện điểm trên ma trận 2 chiều gồm : thực tế và đự đoán
TP : True Positive: Các giá trị thực sự Positive và được dự đoán là Positive
FP: False Positive: Cac giá trị thực sự là Negative nhưng được dự đoán sai là Positive
Còn được gọi là Lỗi loại |
FN: False Negative: Các giá trị thực sự là Positive nhưng được dự đoán sai là Negative Còn được gọi là Lỗi loại II
TN: True Negative: Cac giá trị thực sự Negative và được dự đoán la Negative
Sử dụng số liệu lỗi để đo hiệu suất mô hình Sự khác biệt giữa thực tế và dự đoán gọi là sai só Có thẻ tìm thấy các số liệu sai số như: RMSE, MSE
Bước 6: Điều chỉnh siêu tham số (Hyperparameter Tuning)
Chọn một tập hợp các siêu tham số tối ưu cho thuật toán Một siêu tham số có giá trị được thiết lập trước khi quá trình học bắt đầu Chìa khóa của các thuật toán học
máy là điều chỉnh siêu tham só
Bước 7: Dự đoán
Có thé đưa ra dự đoán bằng mô hình đã được đảo tạo Bước dự đoán không nên
coi là bước kết thúc Cần nhận phản hỏi thực tế, có thẻ quay lại tiếp tục đào tạo, đánh
giá và điều chỉnh mô hình đề đối mặt với sự biến động liên tục của các vấn đẻ khao học
dữ liệu
Trang 15CHƯƠNG 2: GIỚI THIỆU VẺ HỌC SÂU VÀ TỎNG QUAN MẠNG NƠ - RON
Input Layer Hidden Layer HiddenLayer Output Layer
Hình 2.1 một ví dụ về mạng nơ-ron nhân tạo (ANN) có khả năng học sâu
Trang 16Lĩnh vực mạng lưới thần kinh nhân tạo và học sâu đã có từ những năm 1940 Sự gia tăng gần đây của học sâu chủ yếu là đo lượng đữ liệu có sẵn tang cao va quan trong
hơn do khả năng xử lý rẻ và đồi đào hơn
2.1 Các mốc thời gian của mạng lưới thần kinh và học sâu
Sự phát triển của nơ-ron nhân tao — Nam 1943, các học giả tiên phong Walter Pitts va Warren MecCulloch đã xuất bản bài báo “Sự logic của các ý tưởng nội tại trong hoạt động thần kinh”, trong đó họ trình bày một mô hình toán học của một tế bào thần kinh sinh học, được gọi là MeCulloch-Pitts Neuron Khả năng của McCulloch PItts Neuron là rất nhỏ và nó không có cơ chế học tập Tầm quan trọng của McCulloch Pitts Neuron là nó đặt nền tảng cho việc học sâu Năm 1957, Frank Rosenblatt xuất bản một bài báo khác có tựa đề “The Perceptron: Máy cảm nhận tự động”, trong đó ông giới
thiệu Perceptron với khả năng học tập và phân loai nhi phan M6 hinh perceptron mang
tính cách mạng — nỗi 1én sau McCulloch Pitts Neuron — đã truyền cảm hứng cho nhiều nhà nghiên cứu làm việc trên mạng lưới thần kinh nhân tạo
Lan truyền ngược - Năm 1960, Henry J Kelley xuất bản một bài báo có tựa đề
“Lý thuyết độ dốc về đường bay tối ưu”, trong đó ông trình bày một ví dụ về lan truyền ngược liên tục Lan truyền ngược là một khái niệm học sâu quan trọng
Năm 1962, Stuart Dreyfus đã cải thiện khả năng lan truyền ngược băng quy tắc dây chuyền trong bài báo của ông, “Giải pháp số cho các vấn đề biến phân” Thuật ngữ lan truyền ngược được Rumelhart, Hinton va Williams đặt ra vào năm 1986 và những nhà nghiên cứu này đã phô biến việc sử dụng nó trong các mạng lưới thần kinh nhân tạo Đào tạo và tin học hóa —- Năm 1965, Alexey Ivakhnenko, thường được gọi là
“Cha đẻ của học sâu”, đã xây dựng một biểu diễn phân cấp của mạng lưới thần kinh và đào tạo thành công mô hình này bằng cách sử dụng hàm kích hoạt đa thức Năm 1970, Seppo Linnainmaa đã tìm ra phép vi phân tự động cho nhân giống ngược và có thể viết chương trình nhân giống ngược đầu tiên Sự phát triển này có thê được đánh dấu là sự khởi đầu của quá trình tín học hóa học sâu Năm 1971, Ivakhnenko đã tạo ra một mạng lưới thần kinh tám lớp, được coi là mạng học sâu do cầu trúc đa lớp của nó
Al Winter — Nam 1969, Marvin Minsky va Seymour Papert viét cuén sach Perceptrons, trong đó ông công kích gay gat tac pham cua Frank Rosenblatt, Perceptron
Trang 17Cuốn sách này đã gây ra thiệt hại nặng nề cho quỹ dự án AI, gây ra một mùa đông AI
kéo dài từ năm 1974 đến năm 1980
Mang thần kinh tích chập —- Năm 1980, Kunihiko Fukushima đã giới thiệu neocognitron, mạng thần kinh tích chập đầu tiên (CNN), có thể nhận dạng các mẫu hình ảnh Năm 1982, Paul Werbos đề xuất sử dụng lan truyền ngược trong mạng lưới thần kinh để giảm thiểu lỗi và cộng đồng AI đã áp dụng đề xuất này một cách rộng rãi.Năm
1989, Yann LeCun đã sử dụng phương pháp truyền ngược để huấn luyện CNN nhận dạng các chữ số viết tay trong bộ đữ liệu MNIST (Viện Tiêu chuẩn và Công nghệ Quốc gia đã sửa đôi)
Mang than kinh tái phát - Năm 1982, John Hopñeld đã giới thiệu mang
Hopfield, đây là sự triển khai sớm của mạng thần kinh tái phát (RNN) Mạng thần kinh
tái phát là các thuật toán mang tính cách mạng hoạt động tốt nhất cho dữ liệu tuần tự Năm 1997, Sepp Hochreiter và Jũrgen Schmidhuber đã xuất bản một bài báo về mô hình RNN cải tiến, bộ nhớ ngắn han dai (LSTM) Nam 2006, Geoffrey Hinton, Simon Osindero va Yee Whye Teh da két hop mét s6 May Boltzmann bi han ché (RBM) và tạo ra mạng lưới niềm tin sâu sắc, giúp cải thiện khả năng của RBM
Khả năng học sâu — Năm 1986, Terry Sejnowski da phát triển NETtalk, một hệ thông chuyên văn bản thành giọng nói dựa trên mạng thần kinh có thể phát âm văn bản tiếng Anh Năm 1989, George Cybenko đã trình bày trong bài báo “Xấp xỉ bằng sự chồng chất của hàm Sigmoidal” rang mang no-ron tiền tiến với một lớp ân duy nhất có thê giải được bat ky hàm liên tục nảo
Vấn đề độ dốc biến mat — Nam 1991, Sepp Hoclreiter đã phát hiện và chứng minh vẫn đề độ dốc biến mất, làm chậm quá trình học sâu vả khiến nó không thực tế GPU cho hoc sau — Nam 2009, Andrew Ng, Rajat Ratna va Anand Madhavan, với bài báo “Học tập sâu không giám sát quy mô lớn bằng bộ xử lý đồ họa”, đã khuyến nghị sử dụng GPU để học sâu vì số lượng lõi được tìm thấy trong GPU nhiều hơn số lõi trong CPU Chuyên đổi này làm giảm thời gian dao tao của mạng lưới thần kinh và làm cho ứng dụng của họ trở nên khả thi hơn
ImageNet va AlexNet ~ Năm 2009, Fei-Fei Li tung ra cơ sở dữ liệu với l4 triệu hình ảnh được gan nhãn, được gọi là ImageNct Việc tạo ra cơ sở dữ liệu ImageNet đã
góp phần phát triển mạng lưới thần kinh đề xử lý hình ảnh vì một trong những thành
Trang 18phần thiết yếu của học sâu là đữ liệu phong phú Vào năm 2012, Alex Krizhevsky đã thiết kế AlexNet, CNN được đào tạo về GPU, giúp tăng độ chính xác của mô hình lên 75% so với các mô hình trước đó
Mạng lưới đối thủ sáng tạo — Năm 2014, lan Goodfellow đã nảy ra ý tưởng về
một mô hình mạng lưới thần kinh mới khi anh ấy đang nói chuyện với bạn bè tại một
quán bar địa phương Mô hình mang tính cách mạng này, được thiết kế chỉ trong một
đêm, hiện được gọi là mạng thần kinh đối nghịch tông quát (GAN), có khả năng tạo ra
nghệ thuật, văn bản và thơ, đồng thời có thê hoàn thành nhiều nhiệm vụ sáng tạo khác Sức mạnh của học tập tăng cường — Nam 2016, DeepMind da đào tạo một mô hình học tăng cường sâu là AlphaGo, có thể chơi trò chơi Cờ vây, được coi là một trò chơi phức tạp hơn nhiều so với Cờ vua AlphaGo đã đánh bại Nhà vô địch thế giới Ke Jie ở môn cờ vây vào năm 2017
Giải thưởng Turing dành cho những người tiên phong về học tập sâu — Nam
2019, ba người tiên phong trong lĩnh vực AI là Yann LeCun, Geoffrey Hinton và Yoshua Bengio đã chia sẻ Giải thưởng Turing Giải thưởng này là bằng chứng cho thấy tầm quan trọng của deep learning đối với cộng đồng khoa học máy tính
2.2 Câu trúc của mạng lưới thần kinh nhân tạo
Tế bào thần kinh MeCulloch-Pitts
McCulloch Pitts Neuron duoc gidi thiéu vào năm 1943 và nó chỉ có khả năng thực hiện các phép toán cơ bản Mỗi sự kiện được cấp một giá trị Boolean (0 hoặc L) vả nếu tổng kết quả của sự kiện (0 và L) vượt quá ngưỡng thì nơ-ron nhân tạo sẽ kích hoạt
McCulloch-Pitts Neuron sẽ kích hoạt khi
i) it nhất 1 kết nối đang hoạt động cho hoạt động OR
2 ky đdớtt đưểí đưược lđệyt; động cho hoạt động AND
Trang 19
Vì đầu vào từ các sự kiện trong McCulloch Pitts Neuron chi co thể là gia tri Boolean (0 hoặc 1), nên khả năng của nó là rất nhỏ Hạn chế này đã được giải quyết bằng sự phát triển của Đơn vị ngưỡng tuyến tính (LTU)
Đơn vị ngưỡng tuyến tính (LTU)
Trong McCulloch Pitts Neuron, tam quan trong cua mỗi sự kiện là như nhau, điều nay co van đề vì hầu hết các sự kiện trong thé giới thực không tuân theo bối cảnh đơn giản này Trong LTU, các trọng số được gán cho từng sự kiện và các trọng số này
có thể âm hoặc đương Kết quả của mỗi số chăn vẫn được cho một giá trị Boolean (0 hoặc 1), nhưng sau đó được nhân với trọng số được chỉ định LTU chỉ được kích hoạt nếu tổng các kết quả sự kiện có trọng số này là dương Hình 3-4, hình ảnh trực quan của LTU, nền tảng của mạng lưới thần kinh nhân tạo ngày nay ——> xụ= 1 nếu Sự kiện xảy ra
Xu= 6 nêu Sự kiện không xảy ra Đơn vị ngưỡng tuyên tính (LTI kích hoạt nêu tông kết quả của sự kiện có trọng số
Khi chỉ có một lớp perceptron thì nó được gọi là perceptron một lớp Có một lớp cho đầu ra cùng với một lớp đầu vào duy nhất nhận đầu vào Khi các lớp ấn được thêm vào perceptron một lớp, chúng ta sẽ có perceptron nhiều lớp (MLP) Một MLP là được coi là một loại mạng lưới thần kinh sâu và mạng lưới thần kinh nhân tạo ma chúng ta xây dựng cho các vấn đề hàng ngày là những ví dụ về MLP
Trang 20
Mạng lưới thần kinh sâu hiện đại
Mạng lưới thần kinh sâu mà chúng ta gặp ngày nay là phiên bản cải tiến của perceptron đa lớp (MLP) Chúng ta thường sử dụng hàm kích hoạt phức tạp hơn hàm bước (0 hoặc 1) như ReLU, Sigmoid, Tánh và Softmax Mạng lưới thần kinh sâu hiện đại thường tận dụng một trong các phương pháp giảm độ dốc để tối ưu hóa
Chức năng kích hoạt
Chức năng kích hoạt là một chức năng được sử dụng để giúp mạng lưới thần kinh nhân tạo tìm hiểu các mẫu phức tạp từ dữ liệu Một chức năng kích hoạt thường được thêm vào cuối mỗi nơ-ron, chức năng này sẽ ảnh hưởng đến nội dung cần kích hoạt cho nơ-ron tiếp theo Hình 3-7, hàm kích hoạt của một nơron đưa ra đầu ra của nơ- ron đó sau khi được cung câp một đâu vảo hoặc một tập hợp các đâu vào
Trang 21
x
——Ï#
Trong ví dụ này Đơn vị ngưỡng tuyên tinh
Các hàm kích hoạt giới thiệu bước tính toán cuối cùng làm tăng thêm độ phức tạp cho mạng nơ-ron nhân tạo Do đó, chúng làm tăng thời gian đảo tạo vả sức mạnh
xử lý cần thiết Vậy tại sao chúng ta lại sử dụng các hàm kích hoạt trong mạng nơ-ron? Câu trả lời rất đơn giản: Chức năng kích hoạt làm tăng khả năng của mạng lưới thần kinh trong việc sử dụng thông tin liên quan và loại bỏ các điểm dữ liệu không liên quan Nếu không có chức năng kích hoạt, mạng nơ-ron của chúng ta sẽ chỉ thực hiện phép biến đôi tuyến tính Mặc dù việc tránh các hàm kích hoạt làm cho mô hình mạng thần kinh trở nên đơn giản hơn nhưng mô hình sẽ kém mạnh mẽ hơn và không thê hội tụ trên các câu trúc mầu phức tạp Mạng nơ-ron không có hàm kích hoạt về cơ bản chỉ là mô hình hồi quy tuyến tính Có một số hàm kích hoạt khác nhau mà chúng ta có thê sử dụng trong mạng lưới thần kinh của chúng ta
Bước nhị phân
Tuyến tính
SIemoid (Chức năng kích hoat logistic)
Tanh (Đường tiếp tuyến Hyperbol)
ReLU (Đơn vị tuyến tính chỉnh lưu)
Trang 22Trong số các chức năng kích hoạt này, kích hoạt Tanh, ReLU và Sigmoid các chức năng được sử dụng rộng rãi để kích hoạt nơ-ron đơn lẻ Ngoài ra, chức năng Sofmax được sử dụng rộng rãi sau các lớp Đồ thị XY cho các hàm Tanh, ReLU và
Sigmoid trong Hình 3-8
Tuy thuộc vào bản chất của vấn đề, một chức năng kích hoạt có thể thực hiện tốt hơn cái khác Mặc dù các hàm ReLU, Tanh và Sigmoid thường dùng tốt trong học sâu, chúng ta nên thử tất cả các hàm có thể và tối ưu hóa qua trinh dao tao để đạt được hiệu suất chính xác cao nhất có thể Có thể so sánh đơn giản giữa ReLU, Tanh và Sigmoid:
- Hàm ReLU được sử dụng rộng rãi cho mục đích chung chức năng kích hoạt Nó nên được sử dụng trong các lớp ân Trong trường hợp có tế bào thần kinh chết, Leaky ReLU
có thê khắc phục các sự cô tiềm ẩn
- Hàm SIgmoid hoạt động tốt nhất trong các nhiệm vụ phân loại
- Ham sigmoid va Tanh co thé gay ra van dé bién mat dé déc
Chiến lược tốt nhất để thực hành đào tạo được tối ưu hóa là bắt đầu với ReLU và thử các chức năng kích hoạt khác để xem hiệu suất có cải thiện hay không
2.3 Hàm mắt mát
Hàm mắt mát là các hàm được sử dụng để đo lường hiệu suất của mô hình học sâu đối với dữ liệu nhất định Nó thường dựa trên các thuật ngữ lỗi, được tính bằng khoảng cách giữa giá trị thực (được đo) và dự đoán của mô hình được đảo tạo
C, = yi —Y;
Error = Measured Value - Predicted Value
Do đó, chúng ta sẽ nhận được một thuật ngữ lỗi cho mỗi dự đoán mà chúng ta đưa ra
Hãy tưởng tượng bạn đang làm việc với hàng triệu điểm dữ liệu Để có thể rút ra những hiểu biết sâu sắc từ các thuật ngữ lỗi riêng lẻ này, chúng ta cần một hàm tông
21
Trang 23hợp để có thể đưa ra một giá trị duy nhất để đánh giá hiệu suất Hàm này được gọi là
hàm mắt mát, hàm chi phí hoặc hàm lỗi, tùy thuộc vào ngữ cảnh
Một số hàm mắt mát được sử dụng để đánh giá hiệu suất và việc chọn hàm phù
hợp là một phần không thẻ thiếu trong quá trình xây dựng mô hình Việc lựa chọn này
phải dựa trên bản chất của vẫn đề Trong khi hàm sai số bình phương trung bình gốc (RMSE) la ham mắt mát phù hợp cho các bài toán hồi quy mà chúng ta muốn phạt các lỗi lớn, thì nên chọn entropy chéo nhiều lớp cho các bài toán phân loại nhiều lớp Ngoài ra, được sử dụng để tạo ra một giá trị duy nhất cho lỗi tong hop Vé mat nay, ham mat mát cũng có thể được sử dụng để làm phần thưởng cho việc học tăng cường Một số hàm mất mát được sử dụng trong các nhiệm vụ học sâu Sai số bình phương trung bình gốc (RMSE), sai số bình phương trung bình (MSE), sai số tuyệt đối
trung bình (MAE) và sai số phần trăm trung bình tuyệt đối (MAPE) là một số hàm mất
mát thích hợp cho các bài toán hồi quy Đối với các bài toán phân loại nhị phân và đa lớp, chúng ta có thể sử dụng các biến thể của hàm crossentropy (tức là logarit) 2.4 Tối ưu hóa trong học sâu
Các hàm kích hoạt được sử dụng trong nơ-ron và các lớp thực hiện các điều chỉnh cuối cùng về kết quả tuyến tính thu được từ trọng số và số hạng sai lệch Chúng ta có thê đưa ra dự đoán bằng cách sử dụng các tham số này (trọng số và độ lệch) Khoảng cách giữa giá trị thực tế và giá trị dự đoán được phi lại dưới dạng sai số Các thuật ngữ lỗi này được tông hợp thành một giá trị duy nhất với các hàm mắt mát Ngoài quy trình này, các hàm tôi ưu hóa còn thực hiện những thay đôi nhỏ đối với trọng số va độ lệch, đồng thời đo lường tác động của những thay đôi này bằng hàm mất mát Quá trình này giúp tìm ra trọng số và giá trị sai lệch tối ưu dé giảm thiểu sai sót và tối đa hóa độ chính xác của mô hình Chu trình đào tạo này được thể hiện trong hình dưới
22
Trang 24Lan truyền ngược
Thuật toán lan truyền ngược là một thành phần thiết yêu trong kiến trúc mạng nơ-ron được sử dụng để lặp song song với trình tối ưu hóa Nó phục vụ như một cơ chế trung tâm mà mạng lưới thần kinh học hỏi Cái tên này tự giải thích vì từ lan truyền có nghĩa là truyền tải điều gì đó
Do đó, từ lan truyền ngược có nghĩa là “truyền thông tin trở lại” Đây chính là điều mà thuật toán lan truyền ngược thực hiện chính xác: nó đưa tôn thất đã tính toán trở lại hệ thống, được trình tối ưu hóa sử dụng để điều chỉnh trọng số và độ lệch Quá trình này có thể được giải thích từng bước như sau:
Bước I: Mạng nơron được huấn luyện đưa ra dự đoán với trọng số và độ lệch hiện tại Bước 2: Hiệu suất của mạng nơ-ron được đo băng hàm mất mát đưới dạng một lỗi duy nhất đo lường
Bước 3: Biện pháp đo lỗi này được truyền ngược tới trình tôi ưu hóa đề nó có thê điều
Thuật toán tối ưu hóa
Thuật toán tối ưu hóa có thể được định nghĩa là thuật toán g1úp thuật toán khác tôi đa hóa hiệu suât của nó mà không bị chậm trề Học sâu là một lĩnh vực mà các thuật
23