Nghiên cứu một số ứng dụng của đạo hàm cấp phân số trong học máy

75 0 0
Nghiên cứu một số ứng dụng của đạo hàm cấp phân số trong học máy

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Để áp dụng phương pháp này, chúng ta cần tính đạo hàm của hàm mất mát và cập nhật tham số theo luật của thuật toán Gradient Decent.Kỹ thuật tính đạo hàm vì vậy là một phần rất quan trọng

Trang 2

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Người hướng dẫn khoa học: TS ĐÀM THANH PHƯƠNG

THÁI NGUYÊN - 2022

Trang 3

Lời đầu tiên em xin gửi lời cảm ơn sâu sắc tới thầy giáo hướng dẫn TS.Đàm Thanh Phương Thầy đã giao đề tài và tận tình hướng dẫn em trong quá trình hoàn thành luận văn này.

Em xin gửi lời cám ơn của mình tới các thầy cô giáo trong khoa Công nghệ thông tin đã giảng dạy và giúp đỡ chúng em trong suốt quá trình học tập nghiên cứu tại khoa.

Tôi xin cảm ơn các bạn trong lớp CH K19B ngành Khoa học máy tính, khoa Công nghệ thông tin đã nhiệt tình giúp đỡ tôi trong quá trình học tập tại lớp.

Tôi xin chân thành cảm ơn lãnh đạo Trường THPT Trần Quốc Tuấn đã tạo điều kiện cho tôi đi học tập nâng cao trình độ Cảm ơn bạn bè đồng nghiệp đã hỗ trợ tôi trong công việc để tôi tập trung học tập và

Trang 4

Mục lục

DANH SÁCH BẢNG .4

DANH SÁCH HÌNH VẼ .4

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT .6

LỜI NÓI ĐẦU .7

Chương 1.MỘT SỐ KIẾN THỨC LIÊN QUAN .9

1.1.Một số kiến thức về học máy .9

1.1.1.Khái niệm học máy .9

1.1.2.Dữ liệu .9

1.1.3.Các bài toán cơ bản trong học máy .11

1.1.4.Các thuật toán học máy .13

1.1.5.Hàm mất mát và tham số mô hình .15

1.1.6.Những thách thức chính của học máy .16

1.1.7.Quy trình thực hiện một dự án học máy .19

1.2.Thuật toán Gradient Decent .19

1.2.1.Gradient Decent cho hàm một biến .21

1.2.2.Gradient Decent cho hàm nhiều biến .22

1.3.Đạo hàm cấp phân số .22

1.3.1.Mở đầu .22

1.3.2.Định nghĩa đạo hàm và tích phân cấp phân số theo Riemann-Liouville .23

1.3.3.Định nghĩa đạo hàm và tích phân cấp phân số theo Gr ¨unwald-Letnikov.241.3.4.Định nghĩa đạo hàm cấp phân số theo Caputo .24

1.4.Mạng nơ ron tích chập .25

1.4.1.Kiến trúc chung của mạng nơ ron tích chập .25

1.4.2.Tính chất của mạng nơ ron tích chập .27

Chương 2.ỨNG DỤNG CỦA ĐẠO HÀM CẤP PHÂN SỐ TRONGHỌC MÁY .30

2.1.Đặt vấn đề .30

2.2.Gradient Decent cấp phân số .30

Trang 5

2.3.Mạng nơ ron tích chập với Gradient cấp phân số .33

Trang 6

Danh sách bảng

2.1 Kết quả tối ưu argmin f với một số bậc α khác nhau. 32

2.2 Kết quả tính min g với một số bậc α khác nhau. 33

3.1 Các tham số đặt cho mạng CNN LeNet 51

3.2 Độ chính xác huấn luyện và kiểm tra trung bình 52

3.3 Phương sai của hàm mất mát trong các cấp đạo hàm khác nhau 54

Trang 7

Danh sách hình vẽ

1.1 Cấu trúc đại diện của một mạng nơ ron tích chập 27

2.1 Hiệu quả của thuật toán gradient decent với hàm f 32

2.2 Hiệu quả của thuật toán GD cấp phân số trên hàm f(x) = (x−3)2 36

2.3 Lan truyền tiến của tầng kết nối đầy đủ 37

2.4 Lan truyền ngược của tầng kết nối đầy đủ 38

2.5 Quá trình lan truyền tiến trong lớp tích chập 45

3.1 Một số mẫu trong tập dữ liệu MNIST 50

3.2 Cấu trúc mạng CNN LeNet 51

3.3 Kết quả độ chính xác trung bình của quá trình training và test 53

3.4 Ảnh hưởng của bậc đạo hàm α đến sai số. 53

3.5 Giá trị biến đổi của hàm mất mát khi bậc đạo hàm α = 0.9 54

3.6 Giá trị biến đổi của hàm mất mát khi bậc đạo hàm α = 1 55

3.7 Giá trị biến đổi của hàm mất mát khi bậc đạo hàm α = 1.1 55

Trang 8

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

L(θ) Hàm mất mát với tham số tối ưu θ.

θ∗ =argminθL(θ).Bài toán tìm tham số tối ưu sao cho hàm đạt giá trị nhỏ nhất.|x|2 Chuẩn 2 của véc tơ, chuẩn Euclide

GDThuật toán Gradiet Decent, một phương pháp lặp ngược hướng đạo hàm.RMSESai số căn trung bình bình phương (root mean square error).

MSESai số trung bình bình phương (mean square error)

θf(θt)Véc tớ gradient, véc tơ đạo hàm theo hướng của hàm nhiều biến.Γ(n)Hàm Gamma, cho giá trị là n! nếu n nguyên dương.

CNNMạng nơ ron tích chập - Convolutional neural networks.

Chain ruleQuy tắc tính đạo hàm hàm hợp, thường được sử dụng cập nhập tham số.Pooling layerMột loại lớp trong mạng CNN, có vai trò gộp mẫu.

tf(t) = Đạo hàm cấp phân số α theo định nghĩa Caputo.

LayerTầng, lớp mạng.

∂zi đạo hàm riêng hàm L theo biến zi.

Batch siteSố lô mẫu được đưa vào huấn luyện mỗi lượt.BiasHệ số tự do, hệ số điều chỉnh.

Learning rateHệ số học, tốc độ học.

Trang 9

LỜI NÓI ĐẦU

Học máy, học sâu, trí tuệ nhân tạo là lĩnh vực đang thu hút được sự quan tâm của xã hội nói chung và những nhà nghiên cứu khoa học máy tính nói riêng trong những năm gần đây Bằng việc sử dụng lượng dữ liệu huấn luyện lớn, các thuật toán học máy có thể học hỏi từ dữ liệu để từ đó đưa ra được những mô hình giải quyết nhiều bài toán thực tế như hồi quy, phân lớp, dự đoán, phân cụm, giảm chiều, v.v.v Trong quá trình đó, thông thường việc xây dựng mô hình sẽ trải qua bước tối ưu hoá hàm mất mát để tìm được bộ tham số tốt nhất Tại bước này có nhiều phương pháp tối ưu được áp dụng, và một trong các phương pháp hiệu quả là sử dụng thuật toán Gradient Decent cũng như các biến thể của chúng Để áp dụng phương pháp này, chúng ta cần tính đạo hàm của hàm mất mát và cập nhật tham số theo luật của thuật toán Gradient Decent.

Kỹ thuật tính đạo hàm vì vậy là một phần rất quan trọng trong các thuật toán học máy, học sâu Thông thường các thư viện phổ biến như Tensorflow hay Keras đã cung cấp phương thức tính đạo hàm thông thường Tuy vậy, các nhà khoa học vẫn rất quan tâm cải tiến cách tính đạo hàm để thuật toán trở nên tốt hơn Luận văn của em tập trung vào hướng này, nghiên cứu đạo hàm theo cấp phân số để cải tiến thuật toán Gradient Decent Đạo hàm cấp phân số nghĩa là một định nghĩa đạo hàm khác, cấp không nguyên (cấp 1,2,3 ) nữa mà dùng số thực để

định nghĩa cấp đạo hàm cấp α với α là số thực bất kỳ Dù về mặt toán

học, ý tưởng này đã có từ thời Leibniz, L’Hospital thế kỷ 17 nhưng hiện nay đang cho thấy nhiều ứng dụng trong cơ lượng tử, trí tuệ nhân tạo Luận văn của em gồm 3 chương:

Chương 1: Trình bày tổng quan về đạo hàm cấp phân số, định nghĩa, cách tính, lập trình đạo hàm cấp phân số Chương này cũng trình bày tổng quan về học máy, một số khái niệm cơ bản về học máy, quy trình thực hiện xây dựng mô hình học máy và thuật toán Gra-dient Decent thông thường.

Trang 10

Chương 2: Trình bày một số ứng dụng của đạo hàm cấp phân số trong học máy, thuật toán Gradient Decent cấp phân số và ứng dụng cụ thể trong một số thuật toán như SVM cấp phân số, mạng nơ ron cấp phân số.

Chương 3: Thực nghiệm tính toán các thuật toán học máy sử dụng đạo hàm cấp phân số trên các bộ dữ liệu chuẩn và so sánh đánh giá với thuật toán sử dụng đạo hàm thông thường.

Tuy đã có nhiều cố gắng nhưng do thời gian và khả năng có hạn nên các vấn đề trong khóa luận vẫn chưa được trình bày sâu sắc và không thể tránh khỏi có những sai sót trong cách trình bày Mong được sự góp ý xây dựng của thầy cô và các bạn Em xin chân thành cảm ơn!

Thái Nguyên, ngày 10 tháng 7 năm 2022

Học viên

Đặng Thu Hiền

Trang 11

Chương 1

MỘT SỐ KIẾN THỨC LIÊN QUAN

1.1.Một số kiến thức về học máy 1.1.1.Khái niệm học máy

Học máy là một môn khoa học về cách lập trình máy tính để chúng có thể học từ dữ liệu Chúng ta thường gặp một số cách định nghĩa dưới đây:

Học máy là lĩnh vực nghiên cứu nhằm giúp máy tính có khả năng học mà không cần lập trình một cách tường minh.

Một chương trình máy tính được gọi là “học tập” từ kinh nghiệm Eđể hoàn thành nhiệm vụ T với hiệu quả được đo bằng phép đánh giá P,

nếu hiệu quả của nó khi thực hiện nhiệm vụ T, khi được đánh giá bởi P, cải thiện theo kinh nghiệm E [1]

Nói chung, một thuật toán học máy là một thuật toán có khả năng học tập từ dữ liệu Để xây dựng một chương trình máy tính có khả năng học, ta cần xác định rõ ba yếu tố: Nhiệm vụ, phép đánh giá, và đặc biệt là kinh nghiệm E, là nguồn dữ liệu huấn luyện Nếu không có dữ liệu và thuật toán học thì không thể xây dựng một chương trình học máy.

1.1.2.Dữ liệu

Các nhiệm vụ trong học máy được mô tả thông qua việc một hệ thống

xử lý một điểm dữ liệu đầu vào như thế nào Một mô hình học máy như một hàm toán học mà đầu vào là dữ liệu, đầu ra là kết quả chúng ta mong muốn hiểu biết về dữ liệu Một điểm dữ liệu có thể là một bức

Trang 12

ảnh, một đoạn âm thanh, một văn bản, hoặc một tập các hành vi của người dùng trên Internet Để chương trình máy tính có thể học được, các điểm dữ liệu thường được đưa về dạng tập hợp các con số mà mỗi

số được gọi là một đặc trưng.

Vậy mọi loại dữ liệu đều biểu diễn dưới dạng vector đặc trưng, ma

trận hay tensor Vector đặc trưng của một điểm dữ liệu thường được

ký hiệu là xRd trong đó d là số lượng đặc trưng Các mảng nhiều

chiều được hiểu là đã bị vector hoá thành mảng một chiều Kỹ thuật xây

dựng vector đặc trưng cho dữ liệu là một phần quan trọng của dự án học máy.

Kinh nghiệmtrong học máy là bộ dữ liệu được sử dụng để xây dựng mô hình Trong quá trình xây dựng mô hình, bộ dữ liệu thường được chia ra làm ba tập dữ liệu không giao nhau: Tập huấn luyện, tập kiểm tra, và tập xác thực.

Tập huấn luyện(training set) bao gồm các điểm dữ liệu được sử dụng

trực tiếp trong việc xây dựng mô hình Tập kiểm tra (test set) gồm các

dữ liệu được dùng để đánh giá hiệu quả của mô hình Để đảm bảo tính phổ quát, dữ liệu kiểm tra không được sử dụng trong quá trình xây dựng mô hình Điều kiện cần để một mô hình hiệu quả là kết quả đánh giá trên cả tập huấn luyện và tập kiểm tra đều cao Tập kiểm tra đại diện cho dữ liệu mà mô hình chưa từng thấy, có thể xuất hiện trong quá trình vận hành mô hình trên thực tế.

Để tăng hiệu quả của mô hình trên dữ liệu kiểm tra, người ta thường

sử dụng một tập dữ liệu nữa được gọi là tập xác thực (validation set).

Tập xác thực này được sử dụng trong việc đánh giá sai số kiểm tra và từ đó lựa chọn các siêu tham số mô hình sao cho tốt nhất có thể.

Phép đánh giá P là thước đo quá trình cải thiện tham số mô hình để biết rằng giữa đầu ra mong muốn từ mô hình và thực tế có khớp không Phép đánh giá thường là sai số giữa đầu ra mô hình và nhãn thực tế và chúng ta cần tối ưu hàm mất mát sao cho sai số nhỏ nhất có thể.

Trang 13

1.1.3.Các bài toán cơ bản trong học máy

Bài toán phân lớp

Bài toán Phân lớp hay phân loại là một trong những bài toán được

nghiên cứu nhiều nhất trong học máy Trong bài toán này, chương trình

được yêu cầu xác định lớp/nhãn của một điểm dữ liệu trong số C nhãn

khác nhau Cặp (dữ liệu, nhãn) được ký hiệu là (x, y) với y nhận một trong C giá trị trong tập đích Y Việc xây dựng mô hình tương đương

với việc đi tìm hàm số f ánh xạ một điểm dữ liệu x vào một phần tử

y ∈ Y : y = f(x) trên tập dữ liệu huấn luyện đã biết sao cho sau đó mô hình được áp dụng trên các dữ liệu mới với sai số chấp nhận được Khi đó ta xác định được nhãn của dữ liệu mới [2]

Ví dụ 1.1 Bài toán xác định email rác là một bài toán phân lớp trong học máy

Trong đó,

Nhiệm vụ T là xác một email mới trong hộp thư đến là email rác haykhông.

Phép đánh giá P có thể định nghĩa là tỉ lệ email rác được xác định theomô hình và đúng là email rác trong thực tế.

Kinh nghiệm E là cặp các (email, nhãn) thu thập được trước đó Dữ liệunày dùng để huấn luyện mô hình, tìm ra hàm f(x).

Có một biến thể nhỏ ở đầu ra của hàm số f(x)khi đầu ra không phải

là một số mà là một vector yRC trong đó y = (y1, y2, , yc, yC) và yc là xác suất để điểm dữ liệu x rơi vào lớp thứ c Lớp được chọn cuối

cùng là lớp có xác suất rơi vào là cao nhất Việc sử dụng xác suất này

đôi khi rất quan trọng, nó giúp chỉ ra độ chắc chắn của mô hình Nếu

xác suất cao nhất là cao hơn nhiều so với các xác suất còn lại, ta nói

mô hình có độ chắn chắn là cao khi phân lớp điểm dữ liệu x Ngược

lại, nếu độ chênh lệch giữa xác suất cao nhất và các xác suất tiếp theo là nhỏ, thì khả năng mô hình đã phân loại nhầm là cao hơn Hồi quy logistic là một ví dụ về phân lớp sử dụng xác suất [2]

Trang 14

Bài toán hồi quy

Nếu tập đích Y gồm các giá trị là các số thực thì bài toán được gọi

là hồi quy Trong bài toán này, ta cần xây dựng một hàm số f : Rd → R,

ánh xạ mỗi véc tơ dữ liệu với nhãn y ∈ Y, đầu ra mong muốn dự đoán [2]

Ví dụ 1.2 Ước lượng giá của một căn nhà rộng x m2, có y phòng ngủ vàcách trung tâm thành phố z km Ta mong muốn xây dựng hàm dự đoán dạng

f : R3 → R, với giá = f(x, y, z).

Bài toán hồi quy có thể mở rộng ra việc dự đoán nhiều đầu ra cùng một lúc, khi đó, hàm cần tìm sẽ là f : Rd → Rm Một ví dụ là bài toán tạo ảnh độ phân giải cao từ một ảnh có độ phân giải thấp hơn Khi đó, việc dự đoán giá trị các điểm trong ảnh đầu ra là một bài toán hồi quy nhiều đầu ra.

Bài toán máy dịch

Trong bài toán máy dịch, chương trình máy tính được yêu cầu dịch

một đoạn văn từ một ngôn ngữ sang một ngôn ngữ khác Dữ liệu huấn luyện là các cặp văn bản song ngữ Các văn bản này có thể chỉ gồm hai ngôn ngữ đang xét hoặc có thêm các ngôn ngữ trung gian [2]

Ví dụ 1.3 Google translate là một ứng dụng (với nhiều kỹ thuật học sâu khác

được áp dụng) học máy trong lĩnh vực máy dịch.

Bài toán phân cụm

Bài toán phân cụm là bài toán chia tập dữ liệu X thành các cụm nhỏ dựa trên sự liên quan nào đó giữa các dữ liệu trong mỗi cụm Trong bài toán này, dữ liệu huấn luyện không có nhãn, mô hình tự phân chia dữ liệu thành các cụm khác nhau dựa vào độ đo sự gần gũi của các đặc trưng dữ liệu.[2]

Ví dụ 1.4 Phân cụm khách hàng dựa trên hành vi mua hàng Dựa trên việc

mua bán và theo dõi của người dùng trên một trang web thương mại điện tử,mô hình có thể phân người dùng vào các cụm theo sở thích mua hàng Từ đó,mô hình có thể quảng cáo các mặt hàng mà người dùng có thể quan tâm trên

Trang 15

cơ sở những mặt hàng này người cùng nhóm đã mua, đã quan tâm Nhữngđặc trưng của khách hàng cũng cần được véc tơ hóa và sự gần gũi về sở thíchmua hàng được tính toán thông qua một độ đo.

Bài toán hoàn thiện dữ liệu

Bài toán hoàn thiện dữ liệu là bài toán dự đoán các trường dữ liệu còn thiếu trong dữ liệu đích Nhiệm vụ của bài toán này là dựa trên mối tương quan giữa các điểm dữ liệu để dự đoán những giá trị còn thiếu Các hệ thống khuyến nghị là một ví dụ điển hình của loại bài toán này Hệ thống sẽ dự đoán sự quan tâm của các đối tượng (user) thể hiện bằng các thang điểm, số sao đánh giá mà họ chưa đánh giá các mặt hàng (item), dựa trên mối tương quan giữa các user với nhau hoặc các item với nhau Các phần mềm khôi phục ảnh cũ, tô màu ảnh cũ sử dụng học máy cũng là những ứng dụng thuộc phạm vi hoàn thiện dữ liệu [2]

Ngoài ra, có nhiều bài toán học máy khác như bài toán xếp hạng, bài

toán giảm chiều dữ liệu, bài toán phát hiện bất thường tùy thuộc vào yêu

cầu đầu ra, dữ liệu chúng ta có và khả năng giải quyết của thuật toán.

1.1.4.Các thuật toán học máy

Phân nhóm dựa theo phương thức học có các loại thuật toán học máy sau:

Học có giám sát

Một thuật toán học máy được gọi là học có giám sát nếu việc xây dựng

mô hình dự đoán mối quan hệ giữa đầu vào và đầu ra được thực hiện dựa trên các cặp (đầu vào, đầu ra) đã biết trong tập huấn luyện Nghĩa là dữ liệu huấn luyện đã có nhãn, là đầu ra mong muốn [1], [2].

Các thuật toán phân lớp và hồi quy là hai ví dụ điển hình trong nhóm này.

Diễn giải theo toán học, học có giám sát xảy ra khi việc dự đoán

quan hệ giữa đầu ra y và dữ liệu đầu vào x được thực hiện dựa trên các

cặp {(x1, y1),(x2, y2), ,(xN, yN)} trong tập huấn luyện Việc huấn luyện là việc xây dựng một hàm số f sao cho với mọi i = 1, 2, , N,

Trang 16

f(xi) gần với yi nhất có thể Hơn thế nữa, khi có một điểm dữ liệu x

nằm ngoài tập huấn luyện, đầu ra dự đoán f(x) cũng gần với đầu ra

thực sự y của x.

Học không giám sát

Trong các thuật toán học không giám sát, dữ liệu huấn luyện chỉ

bao gồm các dữ liệu đầu vào x mà không có đầu ra tương ứng Các

thuật toán học máy có thể không dự đoán được đầu ra nhưng vẫn trích xuất được những thông tin quan trọng dựa trên mối liên quan giữa các điểm dữ liệu [1], [2].

Các thuật toán giải quyết bài toán phân cụm và giảm chiều dữ liệu là các ví dụ điển hình của nhóm này Trong bài toán phân cụm, có thể mô hình không trực tiếp dự đoán được đầu ra của dữ liệu nhưng vẫn có khả năng phân các điểm dữ liệu có đặc tính gần giống nhau vào từng nhóm.

Học bán giám sát

Thuật toán học bán giám sát là nhóm thuật toán học máy mà tập huấn luyện bao gồm các cặp (đầu vào, đầu ra) và dữ liệu khác chỉ có đầu vào, nghĩa là chứa cả dữ liệu có nhãn và không có nhãn trong tập huấn luyện.[1], [2].

Thực tế cho thấy ngày càng nhiều thuật toán rơi vào nhóm này vì việc thu thập nhãn cho dữ liệu có chi phí cao và tốn thời gian Chẳng hạn, chỉ một phần nhỏ trong các bức ảnh y học có nhãn vì quá trình gán nhãn tốn thời gian và cần sự can thiệp của các chuyên gia.

Học củng cố

Mô hình học cách ra quyết định bằng cách giao tiếp với môi trường xung quanh Các thuật toán thuộc nhóm này liên tục ra quyết định và nhận phản hồi từ môi trường để tự củng cố hành vi Nhóm các thuật

toán này có tên học củng cố [1], [2] Chúng có thể không yêu cầu dữ liệu

huấn luyện.

Việc huấn luyện một thuật toán học củng cố thông thường dựa trên

một đại lượng được gọi là điểm thưởng Mô hình cần tìm ra một thuật

Trang 17

toán tối đa điểm thưởng đó qua rất nhiều lần chơi khác nhau Học củng cố được áp dụng nhiều trong việc tạo ra các chương trình máy tính có khả năng tự chơi cờ, tự chơi game hay xe tự lái.

Ngoài ra còn có những cách thức phân loại khác như: Học dựa trên mẫu hay học dựa trên mô hình; Học theo batch hay học trực tuyến

1.1.5.Hàm mất mát và tham số mô hình

Mỗi mô hình học máy được mô tả bởi bộ các tham số mô hình Công

việc của một thuật toán học máy là đi tìm các tham số mô hình tối ưu cho mỗi bài toán, nghĩa là đạt được tốt nhất theo phép đánh giá P Việc đi tìm các tham số mô hình có liên quan mật thiết đến các phép đánh giá Mục đích chính là đi tìm các tham số mô hình sao cho các phép đánh giá đạt kết quả tốt nhất Trong bài toán phân loại, kết quả tốt có thể được hiểu là có ít điểm dữ liệu bị phân loại sai Trong bài toán hồi quy, kết quả tốt là khi sự sai lệch giữa đầu ra dự đoán và đầu ra thực sự là nhỏ.

Quan hệ giữa một phép đánh giá và các tham số mô hình được mô

tả thông qua một hàm số gọi là hàm mất mát Hàm số này thường có giá

trị nhỏ khi phép đánh giá cho kết quả tốt và ngược lại Việc đi tìm các tham số mô hình sao cho phép đánh giá trả về kết quả tốt tương đương với việc tối thiểu hàm mất mát Như vậy, việc xây dựng một mô hình học máy chính là việc đi giải một bài toán tối ưu Quá trình đó được

coi là quá trình học của máy [2].

Tập hợp các tham số mô hình thường được ký hiệu bằng θ, hàm mất

mát của mô hình được ký hiệu là L(θ) hoặc J(θ) Bài toán đi tìm tham số mô hình tương đương với bài toán tối thiểu hàm mất mát:

Trong đó, ký hiệu argminθL(θ) được hiểu là giá trị của θ để hàm số

L(θ) đạt giá trị nhỏ nhất, cần phân biệt với giá trị nhỏ nhất của L(θ), là giá trị mà ta ít quan tâm.

Sai số huấn luyện: Đại lượng này là mức độ sai khác giữa đầu ra

thực và đầu ra dự đoán của mô hình Trong nhiều trường hợp, giá trị này chính là hàm mất mát khi áp dụng lên dữ liệu huấn luyện Hàm

Trang 18

mất mát này cần có một thừa số 1

Nhl, trong đó Nhl là số điểm dữ liệu huấn luyện, để tính giá trị trung bình mất mát trên mỗi điểm dữ liệu.

Với các bài toán hồi quy, đại lượng này thường được xác định bởi sai số

với kyˆyk22 là chuẩn Euclid của véc tơ Với các bài toán phân loại, có nhiều cách đánh giá mô hình trên các tập dữ liệu.

Sai số kiểm tra: Tương tự như trên, áp dụng mô hình tìm được vào

dữ liệu kiểm tra Chú ý rằng dữ liệu kiểm tra không được sử dụng khi xây dựng mô hình Với các mô hình hồi quy, đại lượng này thường được định nghĩa bởi

sai số kiểm tra = 1

tập kiểm tra

kyˆyk22 (1.3)

Việc lấy trung bình là quan trọng vì lượng dữ liệu trong tập huấn luyện và tập kiểm tra có thể chênh lệch nhau.

1.1.6.Những thách thức chính của học máy

Vì nhiệm vụ chính của học máy là chọn và huấn luyện thuật toántrên tập dữ liệu, nên hai vấn đề có thể xảy ra là thuật toán tệ và dữ liệu

xấu Các thách thức chính đến từ đây [1].

Các thách thức đến từ dữ liệu xấu

Không đủ dữ liệu huấn luyện Hầu hết các thuật toán Học Máy cần rất nhiều dữ liệu để có thể hoạt động hiệu quả Ngay cả với những bài toán đơn giản, ta cũng cần đến hàng nghìn mẫu, và với những bài toán phức tạp như nhận diện ảnh hoặc giọng nói thì có thể lên đến hàng triệu mẫu (trừ khi ta có thể tận dụng một mô hình có sẵn).

Dữ liệu huấn luyện không mang tính đại diện Để khái quát hóa tốt, điều quan trọng là dữ liệu huấn luyện phải có tính đại diện cho các trường

Trang 19

hợp mới mà ta muốn khái quát hóa Điều này đúng cho cả phương pháp học dựa trên mẫu hay học dựa trên mô hình.

Dữ liệu kém chất lượng Nếu tập huấn luyện chứa đầy lỗi, điểm ngoại lai và nhiễu (chẳng hạn như do sai số đo lường), hệ thống sẽ gặp nhiều khó khăn trong việc phát hiện các khuôn mẫu ẩn, và ít có khả năng hoạt động tốt Việc dành thời gian làm sạch dữ liệu huấn luyện thường rất cần thiết Sự thật là đa số các nhà khoa học dữ liệu dành phần lớn thời gian của họ chỉ để làm việc đó Những ví dụ sau đây là các trường hợp mà ta cần làm sạch dữ liệu huấn luyện:

• Nếu một số mẫu rõ ràng là ngoại lai, ta có thể đơn thuần loại bỏ chúng hoặc sửa lỗi một cách thủ công.

• Với những mẫu bị thiếu một số đặc trưng (ví dụ: 5% khách hàng của bạn không cung cấp tuổi của họ), ta cần quyết định giữa việc bỏ qua luôn thuộc tính này, bỏ qua những mẫu bị thiếu, điền vào các giá trị còn thiếu (ví dụ, bằng tuổi trung vị), hoặc huấn luyện hai mô hình: một mô hình với đặc trưng đó và một mô hình thì không.

Các đặc trưng không liên quan Hệ thống chỉ có thể học được nếu dữ liệu huấn luyện chứa đủ các đặc trưng liên quan và không quá nhiều các đặc trưng không liên quan Một phần quan trọng dẫn đến một dự án Học Máy thành công là xây dựng được một bộ đặc trưng tốt để huấn luyện Quy trình này được gọi là thiết kế đặc trưng và bao gồm các bước sau:

• Lựa chọn đặc trưng (lựa chọn những đặc trưng hữu ích nhất từ các đặc trưng sẵn có để huấn luyện)

• Trích xuất đặc trưng (kết hợp các đặc trưng sẵn có để tạo ra một đặc trưng hữu ích hơn, và như đã đề cập phía trên, các thuật toán giảm chiều có thể có ích)

• Tạo ra các đặc trưng mới bằng cách thu thập thêm dữ liệu

Trang 20

Các thách thức đến từ thuật toán tệ

Quá khớp dữ liệu huấn luyện Trong học máy, khái niệm quá khớp có nghĩa là mô hình hoạt động tốt trên dữ liệu huấn luyện nhưng lại không có tính khái quát hóa Quá khớp xảy ra khi mô hình quá phức tạp so với lượng mẫu và nhiễu của dữ liệu huấn luyện Đây là những giải pháp để tránh vấn đề này:

• Đơn giản hóa mô hình bằng cách chọn mô hình có ít tham số hơn (ví dụ, một mô hình tuyến tính thay vì mô hình đa thức bậc cao), giảm số lượng thuộc tính trong dữ liệu huấn luyện, hoặc ràng buộc mô hình.

• Thu thập thêm dữ liệu huấn luyện.

• Giảm nhiễu trong dữ liệu huấn luyện (ví dụ như chỉnh sửa lỗi sai trong dữ liệu và loại bỏ những mẫu ngoại lai).

Việc ràng buộc một mô hình để làm cho nó đơn giản hơn và giảm

nguy cơ quá khớp được gọi là điều chuẩn Mức độ điều chuẩn áp dụng

trong quá trình học có thể được kiểm soát bởi một siêu tham số Một siêu tham số là một tham số của thuật toán chứ không phải của mô hình Vì vậy, nó không bị ảnh hưởng bởi quá trình học Giá trị của siêu tham số cần được đặt trước khi huấn luyện và sẽ được giữ nguyên trong suốt quá trình huấn luyện Nếu ta đặt siêu tham số điều chuẩn quá cao, ta sẽ nhận được một mô hình gần như nằm ngang Khi đó, thuật toán gần như chắc chắn sẽ không quá khớp dữ liệu huấn luyện, nhưng sẽ khó để tìm được một mô hình tốt Điều chỉnh siêu tham số là một phần quan trọng trong quá trình xây dựng một hệ thống Học Máy.

Dưới khớp dữ liệu huấn luyện Dưới khớp ngược lại với quá khớp: nó xảy ra khi mô hình quá đơn giản để học được cấu trúc của dữ liệu Đây là những giải pháp chính để giải quyết vấn đề này:

• Chọn một mô hình mạnh hơn, với nhiều tham số hơn.

• Cung cấp đặc trưng tốt hơn cho thuật toán học (thiết kế đặc trưng).

Trang 21

• Giảm ràng buộc lên mô hình (ví dụ như giảm siêu tham số điều chuẩn).

1.1.7.Quy trình thực hiện một dự án học máy

Danh mục các công việc trong một dự án học máy thường bao gồm các bước sau:

1 Định hình bài toán và xem xét bức tranh tổng thể 2 Thu thập dữ liệu.

3 Khám phá dữ liệu để có được thông tin chi tiết.

4 Chuẩn bị dữ liệu để tạo ra những các dữ liệu đầu vào phù hợp cho các thuật toán Học Máy.

5 Khám phá các mô hình học máy khác nhau và chọn ra những mô hình tốt nhất.

6 Tinh chỉnh các mô hình và kết hợp chúng lại thành một giải pháp hoàn hảo hơn.

7 Trình bày giải pháp.

8 Khởi chạy, giám sát, và bảo trì hệ thống.

1.2.Thuật toán Gradient Decent

Xét một hàm số f : Rd → R với tập xác địnhD,

Điểm x∗ ∈ D được gọi là cực tiểu toàn cục (tương ứng cực đại toàn

cục) nếu f(x) ≥ f(x∗) (tương ứng f(x) ≤ f(x∗)) với mọi x trong

tập xác định D Các điểm cực tiểu toàn cục và cực đại toàn cục

được gọi chung là cực trị toàn cục.

Điểm x∗ ∈ Dđược gọi là cực tiểu địa phương (tương ứng cực đại địa

phương) nếu tồn tại ε > 0 sao cho f(x) ≥ f(x∗) (tương ứng f(x) ≤

f(x∗)) với mọi x nằm trong lân cận V (ε) = {x: x ∈ D, d(x, x∗) ≤

ε} Ở đây d(x, x∗) ký hiệu khoảng cách giữa hai vector x và x∗,

Trang 22

thường là khoảng cách Euclid Các điểm cực tiểu địa phương và

cực đại địa phương được gọi chung là cực trị địa phương Các điểm

cực tiểu/cực đại/cực trị toàn cục cũng là các điểm cực tiểu/cực đại/cực trị địa phương.

Giả sử ta đang quan tâm đến một hàm liên tục một biến có đạo hàm mọi nơi, xác định trênR Một số điểm cơ bản cần nhắc lại:

• Điểm cực tiểu địa phương x∗ của hàm số là điểm có đạo hàm f0(x∗) bằng không Hơn nữa, trong lân cận của nó, đạo hàm của các điểm phía bên trái x∗ là không dương, đạo hàm của các điểm phía bên phải x∗ là không âm.

• Đường tiếp tuyến với đồ thị hàm số đó tại một điểm bất kỳ có hệ số góc bằng đạo hàm của hàm số tại điểm đó.

Trong học máy nói riêng và toán tối ưu nói chung, chúng ta thường xuyên phải tìm các cực tiểu toàn cục của một hàm số Nếu chỉ xét riêng các hàm khả vi, việc giải phương trình đạo hàm bằng không có thể phức tạp hoặc có vô số nghiệm Thay vào đó, người ta thường tìm các điểm cực tiểu địa phương, và coi đó là một nghiệm cần tìm của bài toán trong những trường hợp nhất định.

Các điểm cực tiểu địa phương là nghiệm của phương trình đạo hàm bằng không (ta vẫn đang giả sử rằng các hàm này liên tục và khả vi) Nếu tìm được toàn bộ (hữu hạn) các điểm cực tiểu địa phương, ta chỉ cần thay từng điểm đó vào hàm số để suy ra điểm cực tiểu toàn cục Tuy nhiên, trong hầu hết các trường hợp, việc giải phương trình đạo hàm bằng không là bất khả thi Nguyên nhân có thể đến từ sự phức tạp của đạo hàm, từ việc các điểm dữ liệu có số chiều lớn hoặc từ việc có quá nhiều điểm dữ liệu Thực tế cho thấy, trong nhiều bài toán học máy, các điểm cực tiểu địa phương thường cho kết quả tốt, đặc biệt là trong các mạng neuron nhân tạo.

Một hướng tiếp cận phổ biến để giải quyết các bài toán tối ưu là

dùng một phép toán lặp Đầu tiên, chọn một điểm xuất phát rồi tiến dầnđến đích sau mỗi vòng lặp Gradient descent (GD) và các biến thể của

nó là một trong những phương pháp được dùng nhiều nhất.

Trang 23

Chú ý 1.2.1 Khái niệm nghiệm của một bài toán tối ưu được sử dụng không

hẳn để chỉ cực tiểu toàn cục Nó được sử dụng theo nghĩa là kết quả của quátrình tối ưu Kết quả ở một vòng lặp trung gian được gọi là vị trí của nghiệm.Nói cách khác, nghiệm có thể được hiểu là giá trị hiện tại của tham số cần tìmtrong quá trình tối ưu.

1.2.1.Gradient Decent cho hàm một biến

Xét các hàm số một biến f : RR Giả sử xt là điểm tìm được sau vòng lặp thứ t Ta cần tìm một thuật toán để đưa xt về càng gần x∗càng tốt Có hai quan sát sau đây:

• Nếu đạo hàm của hàm số tại xt là dương ( f0(xt) > 0) thì xtnằm về bên phải so với x∗, và ngược lại Để điểm tiếp theo xt+1 gần với x∗ hơn, ta cần di chuyển xt về bên trái, tức về phía âm Nói các khác,

ta cần di chuyển xt ngược dấu với đạo hàm:

Trong đó ∆ là một đại lượng ngược dấu với đạo hàm f0(xt).

• xt càng xa x∗ về bên phải thì f0(xt) càng lớn (và ngược lại) Một cách tự nhiên nhất, ta chọn lượng di chuyển ∆ tỉ lệ thuận với

Từ hai nhận xét trên, ta có công thức cập nhật đơn giản là [2].

xt+1 = xt −η f0(xt) (1.5)

Trong đó η là một số dương được gọi là tốc độ học (learning rate) Dấu

trừ thể hiện việc xt cần đi ngược với đạo hàm f0(xt) Tên gọi Gradient

Decent xuất phát từ đây Mặc dù các quan sát này không đúng trong mọi trường hợp, chúng vẫn là nền tảng cho rất nhiều phương pháp tối ưu.

Điều kiện dừng thường được đặt là |xt+1 −xt| < e hoặc số lần lặp vượt quá một giá trị cho trước.

Trang 24

1.2.2.Gradient Decent cho hàm nhiều biến

Giả sử ta cần tìm cực tiểu toàn cục cho hàm f(θ) trong đó θ là tậphợp các tham số cần tối ưu Gradient của hàm số đó tại một điểm θ bất

kỳ được ký hiệu là ∇θf(θ) Tương tự như hàm một biến, thuật toán

GD cho hàm nhiều biến cũng bắt đầu bằng một điểm dự đoán θ0, sau đó sử dụng quy tắc cập nhật [2].

θt+1 = θt−ηθf(θt) (1.6)

Hoặc viết dưới dạng đơn giản hơn: θθηθf(θ).

Ví dụ 1.5 Đối với thuật toán Hồi quy tuyến tính Hàm mất mát của hồi quy

tuyến tính và gradient theo w:

Trong bức thư ngày 30 tháng 09 năm 1695 của nhà toán học Đức Leibniz (1646-1716) gửi nhà toán học Pháp L’Hospital, lần đầu tiên khái niệm đạo hàm cấp không nguyên được đề cập đến Trả lời câu hỏi của L’Hospital: “Biểu thức đạo hàm d

dxn có ý nghĩa như thế nào khi n = 1 2”, Leibniz nói : “Sẽ dẫn đến một mâu thuẫn” và ông viết thêm: “Từ mâu thuẫn này đến một ngày nào đó sẽ có những kết luận hữu ích”.

Cuối thế kỷ IXX, lý thuyết đạo hàm và tích phân cấp phân số đã được nghiên cứu bởi các nhà toán học Liouville, Gr ¨unwald, Letnikov, Riemann, v.v

Lúc đầu lý thuyết đạo hàm cấp phân số được phát triển chủ yếu như là một lĩnh vực lý thuyết thuần tuý của toán học và chỉ hữu ích cho các nhà toán học Tuy nhiên, một vài chục năm gần đây, nhiều tác giả đã

Trang 25

chỉ ra rằng đạo hàm và tích phân cấp không nguyên rất phù hợp cho sự mô tả tính chất của nhiều loại vật liệu mới, chẳng hạn như vật liệu polyme Họ cũng chỉ ra rằng những mô hình cấp phân số thích hợp hơn những mô hình cấp nguyên đã được sử dụng trước đó, đặc biệt là trong các thuật toán tối ưu sử dụng đạo hàm.

Đạo hàm cấp phân số cung cấp một công cụ mới để mô tả bộ nhớ và tính chất di truyền của những vật liệu và quá trình khác nhau cũng như cung cấp phương thức để áp dụng thuật toán Gradient Decent trong các bài toán tối ưu Đây là ưu điểm chính của đạo hàm cấp phân số so với những mô hình đạo hàm cấp nguyên cổ điển, trong đó những ảnh hưởng như vậy trong thực tế bị bỏ qua.

1.3.2.Định nghĩa đạo hàm và tích phân cấp phân số theo

Trong đóΓ(z) là hàm Gamma, được định nghĩa là Γ(n) = (n−1)! với n là số nguyên dương, hoặc xác định qua tích phân suy rộng Γ(z) = R∞

0 xz−1e−xdxvới z là số phức với phần thực không dương.

Tư tưởng mở rộng khái niệm tích phân với giá trị không nguyên của nlà thay thế số nguyên n bằng số thực p < 0 trong công thức tích phân

Biểu thức1.10được định nghĩa là tích phân cấp phân số theo Riemann-Liouville Khi p ≥ 0 người ta định nghĩa

Trang 26

Các định nghĩa đạo hàm và tích phân cấp phân số theo Riemann-Liouville có ứng dụng rất phổ biến trong các lĩnh vực của khoa học tự nhiên và khoa học kỹ thuật.

1.3.3.Định nghĩa đạo hàm và tích phân cấp phân số theo Gr ¨unwald-Letnikov

Dựa trên công thức viết cho đạo hàm và tích phân với n nguyên, Gr ¨unwald-Letnikov đã đưa ra định nghĩa về đạo hàm và tích phân cấp phân số với p là số thực tùy ý [3] được gọi là hệ số Gr ¨unwald Cách định nghĩa theo Gr ¨unwald-Letnikov như trên có ưu điểm là đạo hàm, tích phân cấp phân số được tìm thông qua giá trị của hàm, không cần các phép tính tích phân và đạo hàm của nó Người ta đã chứng minh được rằng hàm Γ(−p) (p > 0) có thể không hữu hạn nhưng tỉ số Γ(j− p)

Γ(−p) là hữu hạn Sự tương đương của các định nghĩa đạo hàm cấp phân số đã được chứng minh.

1.3.4.Định nghĩa đạo hàm cấp phân số theo Caputo

Đạo hàm cấp phân số định nghĩa theo Caputo có dạng [3].:

Trang 27

Giữa đạo hàm cấp phân số theo Riemann-Liouvill và theo Caputo người ta tìm được quan hệ: nếu f(j)(a) = 0 (j = 0, , n−1) thì hai định nghĩa trên trùng nhau.

Tính chất 1.3.1 Với α > 0, α /N và n = [α] +1 Khi đó với µ > −1,

Ví dụ 1.6 Xét hàm ϕ1(x) = (x −3)2 Theo tính chất trên, đạo hàm cấpphân số Caputo của ϕ1 được tính như sau:

1.4.1.Kiến trúc chung của mạng nơ ron tích chập

Tích chập được ứng dụng phổ biến trong lĩnh vực thị giác máy tính Thông qua các phép tích chập, các đặc trưng chính từ ảnh được trích xuất và truyền vào các tầng tích chập (layer convolution) Mỗi một tầng tích chập sẽ bao gồm nhiều đơn vị mà kết quả ở mỗi đơn vị là một phép biến đổi tích chập từ layer trước đó thông qua phép nhân tích chập với

Trang 28

• INPUT: Tầng đầu vào

• CONV: Tầng tích chập

• RELU: Tầng kích hoạt Thông qua hàm kích hoạt (activation func-tion), thường là ReLU hoặc LeakyReLU để kích hoạt phi tuyến

• POOL: Tầng tổng hợp, thông thường là Max pooling hoặc có thể là Average pooling dùng để giảm chiều của ma trận đầu vào.

• FC: Tầng kết nối hoàn toàn Thông thường tầng này nằm ở sau cùng và kết nối với các đơn vị đại diện cho nhóm phân loại.

Các kí hiệu []*N, []*M hoặc []*K ám chỉ các khối bên trong [] có thể lặp lại nhiều lần liên tiếp nhau M, K là số lần lặp lại Kí hiệu -> đại diện cho các tầng liền kề nhau mà tầng đứng trước sẽ làm đầu vào cho tầng đứng sau Dấu ? sau POOLING để thể hiện tầng POOLING có thể có hoặc không sau các khối tích chập.

Như vậy ta có thể thấy một mạng nơ ron tích chập về cơ bản có 3 quá trình khác nhau:

• Quá trình tích chập (convolution): Thông qua các tích chập giữa ma trận đầu vào với bộ lọc để tạo thành các đơn vị trong một tầng mới Quá trình này có thể diễn ra liên tục ở phần đầu của mạng và thường sử dụng kèm với hàm kích hoạt ReLU Mục tiêu của tầng này là trích suất đặc trưng hai chiều.

• Quá trình tổng hợp (max pooling): Các tầng càng về sau khi trích xuất đặc trưng sẽ cần số lượng tham số lớn do chiều sâu được qui định bởi số lượng các kênh ở các tầng sau thường tăng tiến theo cấp số nhân Điều đó làm tăng số lượng tham số và khối lượng tính toán trong mạng nơ ron Do đó để giảm tải tính toán chúng ta sẽ cần giảm kích thước các chiều của khối ma trận đầu vào hoặc giảm số đơn vị của tầng Vì mỗi một đơn vị sẽ là kết quả đại diện của việc áp dụng 1 bộ lọc để tìm ra một đặc trưng cụ thể nên việc giảm số đơn vị sẽ không khả thi Giảm kích thước khối ma trận đầu vào thông qua việc tìm ra 1 giá trị đại diện cho mỗi một vùng

Trang 29

không gian mà bộ lọc đi qua sẽ không làm thay đổi các đường nét chính của bức ảnh nhưng lại giảm được kích thước của ảnh Do đó quá trình giảm chiều ma trận được áp dụng Quá trình này gọi là tổng hợp nhằm mục đích giảm kích thước dài, rộng.

• Quá trình kết nối hoàn toàn (fully connected): Sau khi đã giảm kích thước đến một mức độ hợp lý, ma trận cần được trải phẳng (flatten) thành một vector và sử dụng các kết nối hoàn toàn giữa các tầng Quá trình này sẽ diễn ra cuối mạng CNN và sử dụng hàm kích hoạt là ReLU Tầng kết nối hoàn toàn cuối cùng (fully connected layer) sẽ có số lượng đơn vị bằng với số classes và áp dụng hàm kích hoạt là softmax nhằm mục đích tính phân phối xác xuất.

Cấu trúc đại diện của một CNN được minh họa trong hình1.1.

Hình 1.1: Cấu trúc đại diện của một mạng nơ ron tích chập

1.4.2.Tính chất của mạng nơ ron tích chập

Tính kết nối trượt: Khác với các mạng nơ ron thông thường, mạng nơ ron tích chập không kết nối tới toàn bộ hình ảnh mà chỉ kết nối tới từng vùng địa phương (local region) hoặc vùng nhận thức (receptive field) có kích thước bằng kích thước bộ lọc của hình ảnh đó Các bộ lọc sẽ trượt theo chiều của ảnh từ trái qua phải và từ trên xuống dưới đồng thời tính toán các giá trị tích chập và điền vào bản đồ kích hoạt (activation map) hoặc bản đồ đặc trưng (feature map).

Trang 30

Các khối nơ ron 3D: Không giống như những mạng nơ ron thông thường khi cấu trúc ở mỗi tầng là một ma trận 2D (batch size x số đơn vị ở mỗi tầng) Các kết quả ở mỗi tầng của một mạng nơ ron là một khối 3D được sắp xếp một cách hợp lý theo 3 chiều rộng (width), cao (height), sâu (depth) Trong đó các chiều rộng và cao được tính toán theo công thức tích chập mục 1.1 Giá trị chiều rộng và cao của một tầng phụ thuộc vào kích thước của bộ lọc, kích thước của tầng trước, kích thước mở rộng (padding) và bước trượt bộ lọc (stride) Tuy nhiên chiều sâu lại hoàn toàn không phụ thuộc vào những tham số này mà nó bằng với số bộ lọc trong tầng đó Quá trình tính bản đồ kích hoạt dựa trên một bộ lọc sẽ tạo ra một ma trận 2D Như vậy khi áp dụng cho bộ lọc khác nhau, mỗi bộ lọc có tác dụng trích suất một dạng đặc trưng trên mạng nơ ron, ta sẽ thu được ma trận 2D có cùng kích thước mà mỗi ma trận là một bản đồ đặc trưng Khi sắp xếp chồng chất các ma trận này theo chiều sâu kết quả đầu ra là một khối nơ ron 3D Thông thường đối với xử lý ảnh thì tầng đầu vào có depth = 3 (số kênh) nếu các bức ảnh đang để ở dạng màu gồm 3 kênh RBG Bên dưới là một cấu trúc mạng nơ ron điển hình có dạng khối.

Tính chia sẻ kết nối và kết nối cục bộ: Chúng ta đã biết quá trình biến đổi trong mạng tích chập sẽ kết nối các khối nơ ron 3D Tuy nhiên các đơn vị sẽ không kết nối tới toàn bộ khối 3D trước đó theo chiều rộng và cao mà chúng sẽ chọn ra các vùng địa phương (hoặc vùng nhận thức) có kích thước bằng với bộ lọc Các vùng địa phương sẽ được chia sẻ chung một bộ siêu tham số có tác dụng nhận thức đặc trưng của bộ lọc Các kết nối cục bộ không chỉ diễn ra theo chiều rộng và cao mà kết nối sẽ mở rộng hoàn toàn theo chiều sâu Như vậy số tham số trong một tầng sẽ là F×F×D ( F, D lần lượt là kích thước bộ lọc và chiều depth).

Tính tổng hợp: Ở các tầng tích chập gần cuối số tham số sẽ cực kì lớn do sự gia tăng của chiều sâu và thông thường sẽ theo cấp số nhân Như vậy nếu không có một cơ chế kiểm soát sự gia tăng tham số, chi phí tính toán sẽ cực kì lớn và vượt quá khả năng của một số máy tính cấu hình yếu Một cách tự nhiên là chúng ta sẽ giảm kích thước các

Trang 31

chiều rộng và cao bằng kỹ thuật giảm mẫu (down sampling) mà vẫn giữ nguyên được các đặc trưng của khối Theo đó những bộ lọc được di chuyển trên bản đồ đặc trưng và tính trung bình (average pooling) hoặc giá trị lớn nhất (max pooling) của các phần tử trong vùng nhận thức Trước đây các tính trung bình được áp dụng nhiều nhưng các mô hình hiện đại đã thay thế bằng giá trị lơn nhất do tốc độ tính max nhanh hơn so với trung bình.

Độ phức tạp phát hiện hình ảnh tăng dần: Ở tầng đầu tiên, hình ảnh mà chúng ta có chỉ là những giá trị pixels Sau khi đi qua tầng thứ 2 máy tính sẽ nhận diện được các hình dạng cạnh, rìa và các đường nét đơn giản được gọi là đặc trưng bậc thấp (low level) Càng ở những tầng tích chập về sau càng có khả năng phát hiện các đường nét phức tạp, đã rõ ràng hình thù và thậm chí là cấu thành vật thể, đây được gọi là những đặc trưng bậc cao (high level) Máy tính sẽ học từ tầng cuối cùng để nhận diện nhãn của hình ảnh.

Kết luận Chương 1 hệ thống một số kiến thức nền tảng liên quan trực tiếp đến đề tài, bao gồm các khái niệm cơ bản về học máy; định nghĩa đạo hàm cấp phân số, đặc biệt là đạo hàm Caputo; Thuật toán Gradient cấp nguyên trong việc tìm điểm tối ưu của hàm mục tiêu, một thuật toán rất hay được sử dụng trong quá trình huấn luyện mô hình trong học máy Chương 1 cũng trình bày tổng quan mạng nơ ron tích chập với kiến trúc tổng quát và các tính chất của CNN Với các kiến thức này, việc tiếp tục nghiên cứu các chương tiếp theo trở nên dễ hiểu, thuận lợi hơn.

Trang 32

Chương 2

ỨNG DỤNG CỦA ĐẠO HÀM CẤPPHÂN SỐ TRONG HỌC MÁY

2.1.Đặt vấn đề

Như đã đề cập ở chương 1, hầu hết các bài toán học máy đều có các bước: Xây dựng mô hình, xây dựng hàm mất mát, giải bài toán tối ưu hàm mất mát, tìm tham số sao cho hàm mất mát đạt giá trị nhỏ nhất, đánh giá mô hình trên các tập dữ liệu test, kiểm tra chéo Việc này còn được thử nghiệm lặp lại trên nhiều mô hình khác nhau Trong đó quá trình tìm kiếm tham số tối ưu là đặc biệt quan trọng, quyết định chất lượng của mô hình.

Hai phương pháp chính để giải bài toán tìm tham số tối ưu đã biết là giải phương trình đạo hàm bằng không và phương pháp lặp Gradient Decent Phương pháp lặp tỏ ra hiệu quả hơn nhiều, khi không phải giải phương trình đạo hàm bằng không và không phải tính trên toàn bộ dữ liệu, cập nhật được dữ liệu mới trong quá trình học Trong đó, như các nghiên cứu dưới đây, đề tài luận văn muốn nghiên cứu hiệu quả của việc thay thế Gradient Decent với đạo hàm thông thường bằng Gradient Decent với đạo hàm cấp phân số nhằm tăng tính hiệu quả trong sự chính xác và thời gian hội tụ.

2.2.Gradient Decent cấp phân số

Như đã nói ở phần trước, thuật toán Gradient decent ở dạng đơn giản nhất là quá trình lặp để tìm điểm cực tiểu cũng như tìm giá trị của

Trang 33

đối số mà tại đó hàm đạt cực tiểu

Trong đó f : D ⊆ Rn → R là hàm lồi xác định và khả vi liên tục trên

tập mởD chứa lân cận của nghiệm.

Thuật toán Gradient cấp phân số thực hiện quá trình lặp bắt đầu từ một giá trị ban đầu x0 ∈ D với luật cập nhật được cho bởi

xk+1 = xk−ηk∇αf (xk) (2.2)

với ηk là tham số bước nhảy hay luật học, ∇α là véc tơ đạo hàm mà các

thành phần là các đạo hàm riêng cấp phân số α định nghĩa bởi1.14và tính theo công thức 1.16 Thông thường luật học ηk được cố định, tuy

nhiên chúng ta cũng có thể tinh chỉnh ηk theo mỗi bước lặp.

Thuật toán Gradient Decent cấp phân số được mô tả như dưới đây

Trang 34

Ví dụ 2.1 Xét hàm f(x) = (x−3)2và xuất phát tại giá trị ban đầu x0 > 3,

thiết lập x0 = 5, η0 = 0.1, e = 10−4và s = 105.

Kết quả chạy thuật toán trên với luật học cố định có thể quan sát ở hình2.1 dưới đây Quan sát hình ta thấy dãy {xk} hội tụ đến điểm tối ưu x∗ = 3.

Hình 2.1: Hiệu quả của thuật toán gradient decent với hàm f

Bảng 2.1dưới đây cho thấy số lần lặp, lỗi tương ứng khi chạy thuật toán Các kết quả này cho thấy thuật toán Gradient cấp phân số với

α Số lần lặpSai sốThời gian chạy (ms)

Bảng 2.1: Kết quả tối ưu argmin f với một số bậc α khác nhau.

1 < α < 1.2 hoạt động tốt trong vùng lân cập phải điểm a = 3, là nghiệm của bài toán argmin f

Trang 35

Đặc biệt, khi α = 1.3, thuật toán dừng sau s = 105 lần lặp, tức là thuật toán dừng do đạt được số lần lặp tối đa Sai số xấp xỉ được đưa

xuất phát với giá trị ban đầu x0 = (a1+2, a2+2, , a791+2)

Trong trường hợp này, ta đặt η0 = 0.1, e = 10−4và số lần lặp s = 105.

Kết quả được cho trong bảng 2.2 Khi α = 1.2, thuật toán dừng khi đạt

α Số lần lặpSai sốThời gian chạy (ms)0.83089.950×10−5 37.932

0.91299.565×10−5 16.1781.0618.620×10−5 6.3491.1335.193×10−55.995

Bảng 2.2: Kết quả tính min g với một số bậc α khác nhau.

số lần lặp tối đa và sai số là xấp xỉ 5.691×10−4.

Thông qua hai ví dụ trên với hàm mục tiêu dạng (x −a)µ, là dạng hàm hay gặp trong mô tả hàm mất mát của nhiều thuật toán học máy,

so sánh ta thấy áp dụng thuật toán Gradient cấp phân số (α 6= 1) cho

những dạng hàm mũ này hiệu quả tốt hơn Gradient sử dụng đạo hàm

thông thường (α = 1).

2.3.Mạng nơ ron tích chập với Gradient cấp phân số

Phần này trình bày phương pháp sử dụng Gradient cấp phân số để tính lan truyền ngược trong mạng nơ ron tích chập Đạo hàm sử dụng là đạo hàm Caputo cấp phân số Các tham số trong các tầng được cập nhật bằng phương pháp Gradient Decent cấp phân số nhưng quá trình lan truyền giữa các tầng vẫn sử dụng đạo hàm cấp nguyên Điều này hạn chế sự phức tạp khi tính đạo hàm và quá trình tính đạo hàm hàm hợp từ tầng output trở ngược về tầng input vẫn được thực hiện Bằng

Trang 36

việc kết nối tất cả các tầng vào một chuỗi và thêm vào các hàm mất mát, mạng nơ ron tích chập này có thể huấn luyện và thực hiện được nhiều nhiệm vụ Nó cũng đạt được sự hội tụ nhanh cũng như đạt được độ chính xác cao và khả năng vượt qua các điểm cực tiểu địa phương.

Như đã trình bày ở chương 1, mạng CNN bao gồm các tầng tích chập, tầng pooling và các tầng kết nối đầy đủ [5] Gradient cấp phân số có thể áp dụng ở tất cả các tầng, trừ tầng pooling vì tại đây không cần cập nhật tham số Trong các tầng kết nối đầy đủ, mỗi tầng được kết nối với tất cả các nút còn lại, trong khi tại các tầng tích chập sử dụng nhiều nhân tích chập để quét đầu vào Mặc dù có cấu trúc khác nhau nhưng cách lan truyền ngược tham số gần như giống nhau, điều này làm cho việc nghiên cứu phương pháp Gradient trở nên dễ dàng hơn.

Đạo hàm Caputo được sử dụng, vì đạo hàm của hằng số theo Ca-puto đảm bảo bằng không Viết lại công thức1.14, đạo hàm cấp phân Gamma, t0 là giá trị ban đầu Giả sử f(x) là hàm lồi trơn với một điểm cực trị x∗ duy nhất Phương pháp lặp Gradient cấp phân số đã biết là

xK+1 = xK −µx0Dα

Nếu đạo hàm cấp phân số được áp dụng trực tiếp trong2.4 thì không hội tụ đến điểm cực trị thực sự x∗ mà hội tụ đến điểm cực trị theo định nghĩa đạo hàm cấp phân số Điểm cực trị đó liên kết với giá trị ban đầu, bậc đạo hàm cấp phân số và thường không bằng x∗.[6]

Để đảm bảo sự hội tụ đến điểm cực trị, phương pháp lặp Gradient cấp phân số được cải tiến [6] trong mỗi bước lặp như sau:

Trang 37

Khi chỉ quan tâm đến thành phần đầu tiên và đưa vào trị tuyệt đối, Gradient decent cấp phân số với 0 < α < 2 được viết dưới dạng sau

Chứng minh. Ta sử dụng phương pháp phản chứng Giả sử xK hội tụ đến điểm X 6= x∗, nghĩa là limK→∞|xK−X| = 0 Khi đó,

với mọi giá trị vô hướng e > 0 nhỏ tùy ý, tồn tại N ∈ N đủ lớn

sao cho |xK−1−X| < ε < |x∗ −X| với mọi K −1 > N Và δ =

Ngày đăng: 28/03/2024, 16:33

Tài liệu cùng người dùng

Tài liệu liên quan