Bộ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC QUY NHƠN
ĐĂNG HẢI TRIỀU
Trang 2Bộ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC QUY NHƠN
Trang 31.2 Giải tích hàm 5
1.3 Lý thuyết tối ưu 6
1.4 Một số thuật ngữ trong Machine learning 8
Chương 2 Mạng nơ-ron112.1 Nơ-ron 11
2.2 Mạng nơ-ron 18
2.3 Mạng nơ-ron như là xấp xỉ phổ quát 19
2.4 Điều chỉnh trọng số bằng lan truyền ngược 23
4.2 Xây dựng bài toán tối ưu cho SVM 39
4.3 Bài toán đối ngẫu 41
4.4 Ví dụ minh họa 44
Kết luận 45
Tài liệu tham khảo 46
Trang 4Lời cam đoan
Tôi xin cam đoan mọi kết quả của đề tài: “ Một số áp dụng của Giải tích toán
học trong Machine learning và Deep learning” là một công trình nghiên cứu độc lập
của tôi dưới sự hướng dẫn của giảng viên: TS Mai Thành Tấn, ngoài ra không cóbất cứ sự sao chép nào của người khác.
Đề tài, nội dung luận văn này là kết quả nỗ lực nghiên cứu của bản thân tôi trongquá trình học tập tại trường và nơi làm việc Các tài liệu được tham khảo, kế thừa vàtrích dẫn đều được liệt kê trong danh mục Tài liệu tham khảo.
Tôi xin chịu hoàn toàn trách nhiệm, kỷ luật của bộ môn và nhà trường đề ra nếunhư có vấn đề xảy ra.
Quy Nhơn, tháng 7 năm 2020
Học viên
Đặng Hải Triều
Trang 5Trang 3
Lời cảm ơn
Luận văn được hoàn thành nhờ sự hướng dẫn và giúp đỡ tận tình của thầy hướngdẫn TS Mai Thành Tấn, Trường Đại học Quy Nhơn Nhân dịp này tôi xin bày tỏ sựkính trọng và lòng biết ơn sâu sắc đến Thầy đã giúp đỡ tôi trong suốt quá trình họctập và thực hiện luận văn.
Xin gửi lời cảm ơn đến quý Ban lãnh đạo Trường Đại học Quy Nhơn, PhòngĐào tạo Sau Đại học, Khoa Toán và Thống kê tạo điều kiện thuận lợi cho tôi trongquá trình học tập và thực hiện đề tài.
Xin gửi cảm ơn đến FPT Software Quy Nhơn, team Trí Tuệ Nhân TạoFWI.AAA đã tạo điều kiện cho tôi được làm việc trong một môi trường chuyênnghiệp, bên cạnh đó đã hỗ trợ cho tôi được tiếp xúc gần hơn với ngành công nghiệpAI Nhờ đó đã giúp tôi hoàn thiện tốt đề tài của mình.
Xin được bày tỏ lòng biết ơn của tôi đến quý thầy, cô giảng dạy lớp cao họcToán Giải Tích số khóa 21, những người đã dày công truyền đạt kiến thức cũng nhưđạo đức sư phạm cho chúng tôi trong suốt khóa học.
Cuối cùng, xin gửi lời cảm ơn chân thành đến gia đình và bạn bè tôi, nhữngngười đã tạo điều kiện thuận lợi để tôi hoàn thành tốt khóa học và luận văn này.
Quy Nhơn, tháng 7 năm 2020
Đặng Hải Triều
Trang 62.4 Mạng nơ-ron đơn giản với n nơ-ron đầu vào và m nơ-ron xử lý 18
2.5 Mạng nơ-ron với một đầu ra 18
2.6 Mạng nơ-ron đa tầng 25
3.1 Biểu đồ dữ liệu về giá và diện tích 35
3.2 Kết quả của model 36
4.1 Tập dữ liệu có thể phân tách tuyến tính 38
4.2 Siêu phẳng có thể phân tách tập dữ liệu 39
4.3 Support Vector 40
Trang 7Trang 5
Danh mục ký hiệu
At Ma trận giả nghịch đảo của A
domf Miền xác định của f
A > 0 Ma trận A nửa xác định dươngjump (f, xi) Bước nhảy của f tại xi
sgn Hàm dấuinf Cận dưới đúng
Seq(X) Tập các dãy trên X
NN Neural Network
ANN Artificial Neural NetworkSVM Support Vector Machine
Trang 8Lời nói đầu
Trong tất cả các ngành khoa học, toán học đóng vai trò quan trọng trong việc pháttriển các ngành khoa học đặc thù Ví dụ toán học xác xuất thống kê trong sinh học, toánhọc trong vật lý, toán học trong hóa học, Đặc biệt trong lĩnh vực công nghệ thông tin,toán học luôn đi trước mở đường cho ngành công nghệ thông tin Một số lĩnh vực củatoán học là tiền đề, xương sống trong sự phát triển của công nghệ thông tin.
Trí tuệ nhân tạo (Artificial Intelligence - AI) đã và đang trở thành thành phần cốt lõitrong các hệ thống công nghệ cao Trong xã hội hiện đại, chúng ta bắt gặp AI ở khắp mọinơi AI ứng dụng trong kinh tế, y học, kỹ thuật quân sự, khoa học máy móc, các thiết bịcông nghệ phục vụ sinh hoạt và các ứng dụng giải trí Điển hình như trong các kĩnh vựcchế tạo người máy, trò chơi điện tử, trợ lý ảo, nhà ở thông minh, công nghệ thực tế ảoVR,
Machine Learning và Deep Learning là một trong những lĩnh vực của Trí tuệ nhântạo liên quan đến việc nghiên cứu và xây dựng các kỹ thuật cho phép hệ thống "tự học"tự động từ dữ liệu để giải quyết những vấn đề cụ thể.
Hiện tại, tôi đã và đang có cơ hội được tiếp xúc cũng như làm về thuật toán, tìm hiểuvề các thuật toán thì càng thấy rằng ý nghĩa, tầm quan trọng của toán học với tin học rấtlớn và ngày càng lớn Gần đây ta nghe thấy nhiều về lĩnh vực Trí tuệ nhân tạo và từ ngữnày rất phổ biến hiện nay Trí tuệ nhân tạo nổi lên như một bằng chứng của cuộc cáchmạng công nghiệp lần thứ tư.
Luận văn: “ Một số ứng dụng của giải tích trong machine learning và deep learning”
nhằm tìm hiểu một số vấn đề về toán học giải tích có ứng dụng trong lĩnh vực MachineLearning và Deep Learning Nội dung của luận văn gồm bốn chương:
Chương 1 Một số kiến thức chuẩn bị
Chương này trình bày một số kiến thức cơ bản về giải tích lồi, toán tối ưu, giải tíchma trận.
Trang 9Trang 2
Chương này trình bày một số vấn đề của toán về giải tích ma trận để giải quyết một số bài toán hồi quy.
Chương 4 Support Vector Machine
Chương này trình bày một số vấn đề về tối ưu, đặc biệt là tối ưu lồi để giải quyết bài toán phân chia 2 lớp dữ liệu.
Mặc dù luận văn được thực hiện với tinh thần nghiêm túc cùng với sự nỗ lực và cố gắng hết sức của bản thân, nhưng bởi trình độ kiến thức và kinh nghiệm nghiên cứu còn hạn chế nên luận văn khó tránh khỏi những thiếu sót Chình vì thế, rất mong nhận được những góp ý của quý thầy cô để luận văn được hoàn thiện hơn.
Quy Nhơn, tháng 7 năm 2020
Tác giả
Trang 10Chương 1
MỘT SÔ KIÊN THỨC CHUÂN BỊ
Chương này trình bày một số kiến thức cơ bản về Lý thuyết độ đo, giải tích hàm, lý
thuyết tối ưu, một số khái niệm trong Machine learning Các kết quả trong chương này
chủ yếu được tham khảo từ các tài liệu [1], [3], [4] và [7] trong: “Danh mục tài liệu
Trang 11Trang 4
mêtric X được gọi là ơ— đại số Borel của không gian X Mỗi phần tử của ơ— đại số này
được gọi là tập Borel.
iii) là ơ— cộng tính Tức là, với mọi dãy tập {Ai}ieNc L thỏa mãn Ajn Aj = 0
với mọi i = j và I^J Aj G L thì
(ro\ ro
u Ai) = V(AỈ).
Nếu là một độ đo trên (X, L) thì (X, L,^) được gọi là không gian độ đo.
Ví dụ 1.1.7 Cho X là tập đếm được và : P(X) —> R được xác định bởi{ n nếu A có n phần tử
■ 'X nếu A có vô hạn phần tửKhi đó là một độ đo Ta gọi độ đo này là độ đo đếm.
1.1.5 Hàm đo được
Định nghĩa 1.1.8 Cho (X, M) và (Y,N) là các không gian đo được Một ánh xạ f : X —> Y
được gọi là (M,N)- đo được nếu f-1(E) G M, VE G N
Từ định nghĩa trên ta có hệ quả sau:
Hệ quả 1.1.9 Cho X và Y là các không gian metric, nếu f : X —> Y là liên tục thì (BX, BY)
Trang 121.2 Giải tích hàm
1.2.1 Toán tử trong
Định nghĩa 1.2.1 Một toán tử trong trên tập S là ánh xạ I : P(S) —> P(S) với U, V G P(S)
thỏa mãn các điều kiện:i) I (U) c U;
ii) V c U thì I (V) c I (U);iii) I (I (U)) = I (U) ,
Ví dụ 1.2.2 Cho S là một tập tùy ý Khi đó ánh xạ đồng nhất I(U) = U là một toán tử trongtrên S.
1.2.2 Không gian định chuẩn
Định nghĩa 1.2.3 Cho X là một không gian vectơ trên trường K, với K là trường số thực
R hoặc trường số phức C Ánh xạ p : X —> R được gọi là một chuẩn trên X nếu các điềukiện sau được thỏa mãn:
Trang 13là một phiếm hàm tuyến tính trên không gian C[a ;b].
Định nghĩa 1.2.7 Cho X là không gian vector thực, một phiếm hàm dưới tuyến tính trên
Định nghĩa 1.2.9 Một phiếm hàm tuyến tính I trên Cc(X) là dương nếu
I(f) > 0 với mọi f > 0
Định lí 1.2.10 (Định lý Haln Banach) Cho X là không gian vector thực, p là một phiếmhàm dưới tuyến tính trên X, M là không gian con của X và f là phiếm hàm tuyến tính trên
M sao cho f (x) < p(x) với mọi x E M Khi đó tồn tại một phiếm hàm tuyến tính F trên X
sao cho F(x) < p(x) với mọi x E X và F|M=f.
1.3 Lý thuyết tối ưu
1.3.1 Hàm Lagrange của bài toán tối ưu
Xét bài toán tối ưu tổng quát
Trang 14Định lí 1.3.2 (Định lý đối ngẫu yếu) Giả sử x* là điểm tối ưu của f với f * = f (x*) và(u*, v*)
là điểm tối ưu của g với g" = g(u*, v*) Khi đó ta có g' < f *.
Giá trị |f * — g*| được gọi là cách biệt đối ngẫu tối ưu Khi giá trị này bằng 0 thì đối ngẫu
Trang 15Trang 8
1.3.3 Điều kiện Karush-Kuhn-Tucker (KKT)
Điều kiện KKT đối với bài toán không lồi.
Giả sử đối ngẫu mạnh xảy ra Gọi x* và (u*, v*) là một bộ điểm tối ưu chính và tối ưu đối ngẫu Vì x* tối ưu hàm khả vi L(x, u*, v*), ta có đạo hàm hàm Lagrange tại x* bằng 0.Điều kiện Karush-Kuhn-Tucker (KKT) nói rằng x*, u*, v* phải thỏa mãn các điều kiện sau:
1.4 Một số thuật ngữ trong Machine learning
1.4.1 Thuật toán Gradient Descent
Thuật toán Gradient Descent là thuật toán lặp nhằm tìm ra giá trị nhỏ nhất của một
hàm lồi khả vi bởi cấu trúc một chuỗi các điểm (xk) Thuật toán Gradient Descent gồmbốn bước:
i=1
Trang 161.4.2 Thuật toán Perceptron
Thuật toán Perceptron (Perceptron Learning Algorithm - PLA) là một trong nhữngthuật toán phân lớp dữ liệu cơ bản trong các mô hình mạng nơ-ron Ý tưởng cơ bản nhấtcủa thuật toán là với các lớp dữ liệu khác nhau, hãy tìm các mặt phân loại để chia cắt cáclớp này thành những vùng tách biệt Trường hợp đơn giản nhất của thuật toán này làphân lớp nhị phân bằng một mặt phân loại tuyến tính.
Cũng giống như các thuật toán khác của Machine Learning, PLA đi tìm mặt phânloại bằng cách tối thiểu hóa một hàm mất mát Hàm mất mát của PLA cần được xâydựng sao cho khả vi để có thể sử dụng các thuật toán Gradient Descent trong việc tìmcực tiểu toàn cục.
1.4.3 Phương pháp Flatten
Flatten (trải phẳng) là phương pháp chuyển đổi một ma trận thành 1 vector cột Sauđó được cung cấp cho mạng nơ-ron để xử lý Kỹ thuật Flatten thường được dùng để trảiphẳng một hình ảnh 2D thành một vector cột để làm đầu vào cho mạng nơ-ron.
1.4.4 Hiện tương quá khớp (Overfitting)
Overfitting là hiện tượng mô hình tìm được quá khớp với dữ liệu training Việc quá
khớp này có thể dẫn đến việc dự đoán nhầm nhiễu, và chất lượng mô hình không còn tốttrên dữ liệu test nữa (dữ liệu test được giả sử là không được biết trước, và không được sửdụng để xây dựng các mô hình Machine Learning).
Trang 17Trang 10Hình 1.1: Overfitting
Trang 18Chương 2
MẠNG NƠ-RON
Mạng nơ-ron (Neural Network - NN), đúng hơn phải gọi là Mạng nơ-ron nhântạo (Artificial Neural Network - ANN) được định nghĩa đơn giản nhất là một hệthống máy tính được tạo thành từ một số yếu số xử lý đơn giản, có tính kết nối cao,xử lý thông tin bằng phản ứng trạng thái động của chúng với các đầu vào bên ngoài.Định nghĩa mạng nơ-ron này được cung cấp bởi một trong những nhà phát minh điđầu trong lĩnh vực mạng nơ-ron, Tiến sĩ Robert Hecht-Nielen.
Giống như tên gọi, mạng nơ-ron được lấy cảm hứng từ bộ não Mạng nơ-ronnhân tạo (ANN) là một mô hình tính toán dựa trên cấu trúc và chức năng của mạnglưới thần kinh sinh học Thông tin chảy qua mạng ảnh hưởng đến cấu trúc của ANNvì mạng thần kinh thay đổi, hoặc học theo nghĩa dựa trên đầu vào và đầu ra đó.
Trong chương này, tôi trình bày việc áp dụng các kỹ thuật phân tích toán họctrong nghiên cứu về mạng nơ-ron (NN), các nơ-ron là gì và chúng được liên kết vớinhau như thế nào?
Việc sử dụng NN như một phần của mô hình tổng quát hơn về điện toán thầnkinh có các ứng dụng rộng rãi trong nhận dạng mẫu và trong các loại phân tích dữliệu khác nhau.
Các kết quả trong chương này chủ yếu được tham khảo từ các tài liệu [2], [3],
[6], [7], [9] trong: “Danh mục tài liệu tham khảo”.
2.1 Nơ-ron
Một đứa trẻ có thể phân biệt được các con vật, hay một con chó có thể phân biệtđược người thân trong gia đình và người lạ Những việc tưởng chừng như rất đơngiản nhưng lại cực kì khó để thực hiện bằng máy tính Vậy sự khác biệt nằm ở đâu?Câu trả lời nằm ở bộ não với lượng lớn các nơ-ron thần kinh liên kết với nhau Thếthì máy tính có nên mô phỏng lại mô hình ấy để giải quyết bài toán trên.
Nơ-ron là đơn vị cơ bản cấu tạo hệ thống thần kinh và là một phần quan trọngnhất của não Não chúng ta gồm khoảng 10 triệu nơ-ron liên kết với 10.000 nơ-ronkhác ở mỗi nơ-ron có phần thân (soma) chứa nhân, các tín hiệu đầu vào qua sợi
Trang 19Trang 12
nhánh (dendrites) và các tín hiệu đầu ra qua sợi trục (axon) kết nối với các nơ-ronkhác Hiểu đơn giản mỗi nơ-ron nhận dữ liệu đầu vào qua sợi nhánh và truyền dữliệu đầu ra qua sợi trục, đến các sợi nhánh của các nơ-ron khác.
Mỗi nơ-ron nhận xung điện từ các nơ-ron khác qua sợi nhánh Nếu các xung điệnnày đủ lớn để kích hoạt nơ-ron thì tín hiệu này đi qua sợi trục đến các sợi nhánh củacác nơ-ron khác ở mỗi nơ-ron cần quyết định có kích hoạt nơ-ron đấy hay không.
Tuy nhiên NN chỉ là lấy cảm hứng từ bộ não và cách nó hoạt động chứ khôngphải bắt chước toàn bộ các chức năng của nó Việc chính của chúng ta là dùng môhình đấy đi giải quyết các bài toán chúng ta cần.
Theo một cách hiểu khác, NN là một đồ thị có hướng gồm tập hợp N các đỉnh(nơ-ron); các cạnh của đồ thị biểu thị các luồng thông tin giữa các nơ-ron Nhưchúng ta sẽ thấy, có một số loại NN tùy thuộc vào cấu trúc của đồ thị cơ bản.
Một nơ-ron được định nghĩa bởi một hệ số điều chỉnh ớ, một hàm kích hoạt
giá trị của y được lấy làm đơn vị đầu ra.
Hàm kích hoạt của một nút định nghĩa đầu ra của nút đó được cung cấp bởi một
đầu vào hoặc tập các đầu vào.
Hàm kích hoạt được sinh ra với mục đích bẻ gãy sự tuyến tính của mạng nơ-ron.Các hàm này nên là hàm phi tuyến để mã hóa các mẫu phức tạp của dữ liệu Các hàmkích hoạt được sử dụng trong mạng nơ-ron là hàm kích hoạt đa trạng thái Các hàmnày có thể hiểu đơn giản như một bộ lọc quyết định xem thông tin có đi qua mạngnơ-ron hay không.
Trong sinh học, hàm kích hoạt thường là một sự trừu tượng đại diện cho tốc độtruyền của các nơ-ron.
Trang 20Ví dụ 2.1.1 Một số hàm kích hoạt phổ biến thường dùng hiện nay:(i) Hàm Logictis
Trang 21Trang 14Hình 2.1: Đồ thị hàm Logictis
Hình 2.2: Đồ thị hàm tanh
Hình 2.3: Đồ thị hàm ReLu
Định nghĩa 2.1.2 Hàm ơ : R —> R được gọi là một hàm sigmoid (hàm nén) nếu hai
điều kiện sau được thỏa mãn:i) ơ là một hàm tăng;
ii) lim ơ(x) = 1 và lim ơ(x) = 0.x x ->—^
Trang 22Ví dụ 2.1.3 Một số hàm sigmoid phổ biến được liệt kê dưới đây:(i) Hàm Logistic
L(x) 1+ e1-x
Hàm Fermi logistic
được gọi là bước nhảy của f tại điểm xo.
Định nghĩa 2.1.5 Một dãy có độ dài n trên tập X là hàm
x : {0,1,n — 1} —> X.
Tập các dãy có độ dài n trên tập X được ký hiệu là Seqn(X).
Định lí 2.1.6 Cho f : X —> R là hàm đơn điệu, trong đó X c R Khi đó tất cả các điểm
gián đoạn của f đều là điểm gián đoạn loại I.
Chứng minh Rõ ràng hàm đơn điệu có giới hạn một bên tại mỗi điểm trên tập
xác định Ta cần chứng minh rằng các giới hạn một bên đó là hữu hạn.
Thật vậy, không giảm tổng quát, giả sử rằng hàm f là một hàm tăng Khi đó, với mọi u, v G X thỏa mãn u < x < v, ta có
f (u) < f (x) < f (v)
Trang 23< lim f(x)
< lim f(x)
< lim f(x)