Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.05 MB, 75 trang )
<span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">
<b>Người hướng dẫn khoa học: TS. ĐÀM THANH PHƯƠNG </b>
<b>THÁI NGUYÊN - 2022 </b>
</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="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 q trình hồ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 q 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à
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4"><b>DANH SÁCH BẢNG. . . .4</b>
<b>DANH SÁCH HÌNH VẼ. . . .4</b>
<b>DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT. . . .6</b>
<b>LỜI NÓI ĐẦU. . . .7</b>
<b>Chương 1.MỘT SỐ KIẾN THỨC LIÊN QUAN. . . .9</b>
<b>1.1.Một số kiến thức về học máy. . . .9</b>
<small>1.1.1.Khái niệm học máy. . . .9</small>
<small>1.1.2.Dữ liệu. . . .9</small>
<small>1.1.3.Các bài toán cơ bản trong học máy. . . .11</small>
<small>1.1.4.Các thuật toán học máy. . . .13</small>
<small>1.1.5.Hàm mất mát và tham số mơ hình. . . .15</small>
<small>1.1.6.Những thách thức chính của học máy. . . .16</small>
<small>1.1.7.Quy trình thực hiện một dự án học máy. . . .19</small>
<b>1.2.Thuật toán Gradient Decent. . . .19</b>
<small>1.2.1.Gradient Decent cho hàm một biến. . . .21</small>
<small>1.2.2.Gradient Decent cho hàm nhiều biến. . . .22</small>
<b>1.3.Đạo hàm cấp phân số. . . .22</b>
<small>1.3.1.Mở đầu. . . .22</small>
<small>1.3.2.Định nghĩa đạo hàm và tích phân cấp phân số theo Riemann-Liouville. .23</small>
<small>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 ngha o hm cp phõn s theo Caputo. . . .24</small>
<b>1.4.Mạng nơ ron tích chập. . . .25</b>
<small>1.4.1.Kiến trúc chung của mạng nơ ron tích chập. . . .25</small>
<small>1.4.2.Tính chất của mạng nơ ron tích chập. . . .27</small>
<b>Chương 2.ỨNG DỤNG CỦA ĐẠO HÀM CẤP PHÂN SỐ TRONGHỌC MÁY. . . .30</b>
<b>2.1.Đặt vấn đề. . . .30</b>
<b>2.2.Gradient Decent cấp phân số. . . .30</b>
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5"><b>2.3.Mạng nơ ron tích chập với Gradient cấp phân số. . . .33</b>
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">2.1 <i>Kết quả tối ưu argmin f với một số bậc α khác nhau.</i> . . . 32
2.2 <i>Kết quả tính min g với một số bậc α khác nhau.</i> . . . 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
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">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−<sub>3</sub>)<sup>2</sup> . . . 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 q trình training và test. . . . 53
3.4 <i>Ảnh hưởng của bậc đạo hàm α đến sai số.</i> . . . 53
3.5 <i>Giá trị biến đổi của hàm mất mát khi bậc đạo hàm α</i> = 0.9. . 54
3.6 <i>Giá trị biến đổi của hàm mất mát khi bậc đạo hàm α</i> = 1. . . 55
3.7 <i>Giá trị biến đổi của hàm mất mát khi bậc đạo hàm α</i> = 1.1. . 55
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8"><b>DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT</b>
<small>L(</small><i><small>θ</small></i><small>)</small> <i><small>Hàm mất mát với tham số tối ưu θ.</small></i>
<i><small>θ</small></i><sup>∗</sup> <small>=argmin</small><i><sub>θ</sub></i><small>L(</small><i><small>θ</small></i><small>).Bài tốn tìm tham số tối ưu sao cho hàm đạt giá trị nhỏ nhất.|</small><b><small>x</small></b><small>|</small><sub>2</sub> <small>Chuẩn 2 của véc tơ, chuẩn Euclide</small>
<small>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).</small>
<small>MSESai số trung bình bình phương (mean square error)</small>
<small>∇</small><i><sub>θ</sub></i><small>f(</small><i><small>θ</small></i><small>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.</small>
<small>CNNMạng nơ ron tích chập - Convolutional neural networks.</small>
<small>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.</small>
<small>tf(t) =</small> <i><small>Đạo hàm cấp phân số α theo định nghĩa Caputo.</small></i>
<small>LayerTầng, lớp mạng.</small>
<i><small>∂z</small></i><sub>i</sub> <small>đạo hàm riêng hàm L theo biến z</small><sub>i</sub><small>.</small>
<small>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.</small>
<small>Learning rateHệ số học, tốc độ học.</small>
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9"><b>LỜI NÓI ĐẦU</b>
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 tố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 tố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 tố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 để
<i>đị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</i>
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:
<b>Chương 1:</b> 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 tốn Gra-dient Decent thơng thường.
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10"><b>Chương 2:</b> 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ố.
<b>Chương 3:</b> Thực nghiệm tính tốn các thuật tố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 tố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!
<i>Thái Nguyên, ngày 10 tháng 7 năm 2022</i>
Học viên
<b>Đặng Thu Hiền</b>
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">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.
<i>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,</i>
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 tốn học máy là một thuật tố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 tốn học thì khơng thể xây dựng một chương trình học máy.
<b>1.1.2.Dữ liệu</b>
<i>Các nhiệm vụ trong học máy được mô tả thông qua việc một hệ thống</i>
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
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="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
<i>số được gọi là một đặc trưng.</i>
<i>Vậy mọi loại dữ liệu đều biểu diễn dưới dạng vector đặc trưng, ma</i>
trận hay tensor. Vector đặc trưng của một điểm dữ liệu thường được
<b>ký hiệu là x</b> ∈ <b>R</b><small>d</small> trong đó d là số lượng đặc trưng. Các mảng nhiều
<i>chiều được hiểu là đã bị vector hoá thành mảng một chiều. Kỹ thuật xây</i>
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.
<i>Kinh nghiệm</i>trong học máy là bộ dữ liệu được sử dụng để xây dựng mô hình. Trong q 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.
<i>Tập huấn luyện</i>(training set) bao gồm các điểm dữ liệu được sử dụng
<i>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</i>
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 q 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 q 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
<i>sử dụng một tập dữ liệu nữa được gọi là tập xác thực (validation set).</i>
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ể.
<i>Phép đánh giá P</i> 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ể.
</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13"><b>1.1.3.Các bài toán cơ bản trong học máy</b>
<b><small>Bài toán phân lớp</small></b>
<i>Bài toán Phân lớp hay phân loại là một trong những bài toán được</i>
nghiên cứu nhiều nhất trong học máy. Trong bài tốn này, chương trình
<i>được u cầu xác định lớp/nhãn của một điểm dữ liệu trong số C nhãn</i>
khác nhau. Cặp (dữ liệu, nhãn) được ký hiệu là (<b>x, y</b>) 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
<b>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ử</b>
y ∈ Y <sub>: y</sub> = f(<b>x</b>) 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]
<i><b>Ví dụ 1.1. Bài tốn xác định email rác là một bài toán phân lớp trong học máy</b></i>
<i>. Trong đó,</i>
• <i>Nhiệm vụ T là xác một email mới trong hộp thư đến là email rác haykhơng.</i>
• <i>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ế.</i>
• <i>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</i>(<b>x</b>)<i>.</i>
Có một biến thể nhỏ ở đầu ra của hàm số f(<b>x</b>)khi đầu ra không phải
<b>là một số mà là một vector y</b> ∈ <b>R</b><small>C</small> <b>trong đó y</b> = (y<sub>1</sub>, y<sub>2</sub>, ..., y<sub>c</sub>, ...y<sub>C</sub>) và y<sub>c</sub> <b>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</b>
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>đôi khi rất quan trọng, nó giúp chỉ ra độ chắc chắn của mơ hình. Nếu</i>
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
<b>mơ hình có độ chắn chắn là cao khi phân lớp điểm dữ liệu x. Ngược</b>
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]
</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14"><b><small>Bài tốn hồi quy</small></b>
Nếu tập đích Y gồm các giá trị là các số thực thì bài tốn được gọi
<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 :</i> <b>R</b><small>d</small> → <b>R,</b>
ánh xạ mỗi véc tơ dữ liệu với nhãn y ∈ Y, đầu ra mong muốn dự đốn. [2]
<i><b>Ví dụ 1.2. Ước lượng giá của một căn nhà rộng x m</b></i><sup>2</sup><i>, 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</i>
f : <b>R</b><small>3</small> → <i><b>R, với giá</b></i> = f(x, y, z)<i>.</i>
Bài toán hồi quy có thể mở rộng ra việc dự đốn nhiều đầu ra cùng một lúc, khi đó, hàm cần tìm sẽ là f : <b>R</b><small>d</small> → <b>R</b><small>m</small>. 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><small>Bài tốn máy dịch</small></b>
<i>Trong bài tốn máy dịch, chương trình máy tính được u cầu dịch</i>
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]
<i><b>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</b></i>
<i>được áp dụng) học máy trong lĩnh vực máy dịch.</i>
<b><small>Bài toán phân cụm</small></b>
<i>Bài toán phân cụm</i> 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]
<i><b>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</b></i>
<i>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</i>
</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15"><i>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 tốn thơng qua một độ đo.</i>
<b><small>Bài tốn hồn thiện dữ liệu</small></b>
<i>Bài tốn hồn thiện dữ liệu</i> là bài tốn dự đốn các trường dữ liệu cịn thiếu trong dữ liệu đích. Nhiệm vụ của bài tốn này là dựa trên mối tương quan giữa các điểm dữ liệu để dự đố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 hồn thiện dữ liệu. [2]
<i>Ngồ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</i>
<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</i>
cầu đầu ra, dữ liệu chúng ta có và khả năng giải quyết của thuật tốn.
<b>1.1.4.Các thuật tốn học máy</b>
Phân nhóm dựa theo phương thức học có các loại thuật tốn học máy sau:
<b><small>Học có giám sát</small></b>
<i>Một thuật tốn học máy được gọi là học có giám sát nếu việc xây dựng</i>
mơ hình dự đố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 tốn học, học có giám sát xảy ra khi việc dự đoán
<b>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</b>
cặp {(<b>x</b><sub>1</sub><b>, y</b><sub>1</sub>),(<b>x</b><sub>2</sub><b>, y</b><sub>2</sub>), . . . ,(<b>x</b><sub>N</sub><b>, y</b><sub>N</sub>)} 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,
</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">f(<b>x</b><sub>i</sub>) <b>gần với y</b><sub>i</sub> <b>nhất có thể. Hơn thế nữa, khi có một điểm dữ liệu x</b>
nằm ngoài tập huấn luyện, đầu ra dự đoán f(<b>x</b>) cũng gần với đầu ra
<b>thực sự y của x.</b>
<b><small>Học khơng giám sát</small></b>
Trong các thuật tốn học khơng giám sát, dữ liệu huấn luyện chỉ
<b>bao gồm các dữ liệu đầu vào x mà khơng có đầu ra tương ứng. Các</b>
thuật tốn học máy có thể khơng dự đố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 tốn phân cụm, có thể mơ hình khơng trực tiếp dự đố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.
<b><small>Học bán giám sát</small></b>
Thuật tốn học bán giám sát là nhóm thuật tố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 tố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 chun gia.
<b><small>Học củng cố</small></b>
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 tố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
<i>tố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</i>
huấn luyện.
Việc huấn luyện một thuật tốn học củng cố thơng thường dựa trên
<i>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</i>
</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="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.
Ngồ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...
<b>1.1.5.Hàm mất mát và tham số mơ hình</b>
<i>Mỗi mơ hình học máy được mơ tả bởi bộ các tham số mơ hình. Cơng</i>
việc của một thuật tốn học máy là đi tìm các tham số mơ hình tối ưu cho mỗi bài tố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 tố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ơ
<i>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á</i>
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 tốn tối ưu. Q trình đó được
<i>coi là q trình học của máy. [2].</i>
<i>Tập hợp các tham số mơ hình thường được ký hiệu bằng θ, hàm mất</i>
mát của mơ hình được ký hiệu là L(<i>θ</i>) hoặc J(<i><sub>θ</sub></i>). Bài tốn đi tìm tham số mơ hình tương đương với bài tốn tối thiểu hàm mất mát:
Trong đó, ký hiệu argmin<i><sub>θ</sub></i>L(<i><sub>θ</sub></i>) <i>được hiểu là giá trị của θ để hàm số</i>
L(<i><sub>θ</sub></i>) đạt giá trị nhỏ nhất, cần phân biệt với giá trị nhỏ nhất của L(<i><sub>θ</sub></i>), là giá trị mà ta ít quan tâm.
<b>Sai số huấn luyện: Đại lượng này là mức độ sai khác giữa đầu ra</b>
thực và đầu ra dự đố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
</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">mất mát này cần có một thừa số <sup>1</sup>
N<sub>hl</sub><sup>, trong đó N</sup><sup>hl</sup> <sup>là số điểm dữ liệu</sup> huấn luyện, để tính giá trị trung bình mất mát trên mỗi điểm dữ liệu.
<i>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ố</i>
với k<b>y</b>− <b>ˆy</b>k<sup>2</sup><sub>2</sub> 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.
<b>Sai số kiểm tra: Tương tự như trên, áp dụng mơ hình tìm được vào</b>
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
<small>tập kiểm tra</small>
k<b>y</b>− <b>ˆy</b>k<sup>2</sup><sub>2</sub> (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.
<b>1.1.6.Những thách thức chính của học máy</b>
<i>Vì nhiệm vụ chính của học máy là chọn và huấn luyện thuật tố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</i>
<i>xấu</i>. Các thách thức chính đến từ đây. [1].
<b><small>Các thách thức đến từ dữ liệu xấu</small></b>
<i>Không đủ dữ liệu huấn luyện</i>. 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 tố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).
<i>Dữ liệu huấn luyện khơng mang tính đại diện</i>. Để khái qt 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
</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="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.
<i>Dữ liệu kém chất lượng</i>. 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 khn 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 ln 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.
<i>Các đặc trưng khơng liên quan</i>. 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 tố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
</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20"><b><small>Các thách thức đến từ thuật toán tệ</small></b>
<i>Quá khớp dữ liệu huấn luyện</i>. 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 qt hóa. Q khớp xảy ra khi mơ hình q 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
<i>nguy cơ quá khớp được gọi là điều chuẩn. Mức độ điều chuẩn áp dụng</i>
trong q 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 tố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.
<i>Dưới khớp dữ liệu huấn luyện</i>. Dưới khớp ngược lại với quá khớp: nó xảy ra khi mơ hình q đơ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).
</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="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).
<b>1.1.7.Quy trình thực hiện một dự án học máy</b>
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 tố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 hồ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.
Xét một hàm số f : <b>R</b><small>d</small> → <b>R với tập xác định</b>D,
• <b>Điểm x</b><sup>∗</sup> ∈ D <i>được gọi là cực tiểu toàn cục (tương ứng cực đại toàn</i>
<i>cục</i>) nếu f(<b>x</b>) ≥ f(<b>x</b><sup>∗</sup>) (tương ứng f(<b>x</b>) ≤ f(<b>x</b><sup>∗</sup>)<b>) với mọi x trong</b>
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
<i>được gọi chung là cực trị tồn cục.</i>
• <b>Điểm x</b><sup>∗</sup> ∈ D<i>được gọi là cực tiểu địa phương (tương ứng cực đại địa</i>
<i>phương) nếu tồn tại ε</i> > 0 sao cho f(<b>x</b>) ≥ f(<b>x</b><sup>∗</sup>) (tương ứng f(<b>x</b>) ≤
f(<b>x</b><sup>∗</sup>)<b>) với mọi x nằm trong lân cận</b> V (<i>ε</i>) = {<b>x: x</b> ∈ D, d(<b>x, x</b><sup>∗</sup>) ≤
<i>ε</i>}. Ở đây d(<b>x, x</b><sup>∗</sup>) <b>ký hiệu khoảng cách giữa hai vector x và x</b><sup>∗</sup>,
</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">thường là khoảng cách Euclid. Các điểm cực tiểu địa phương và
<i>cực đại địa phương được gọi chung là cực trị địa phương. Các điểm</i>
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ên<b>R. Một số điểm cơ bản cần nhắc lại:</b>
• Điểm cực tiểu địa phương x<sup>∗</sup> của hàm số là điểm có đạo hàm f<sup>0</sup>(x<sup>∗</sup>) 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<sup>∗</sup> là không dương, đạo hàm của các điểm phía bên phải x<sup>∗</sup> 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à tốn tối ưu nói chung, chúng ta thường xun 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 tố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 tồ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à
<i>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</i>
nó là một trong những phương pháp được dùng nhiều nhất.
</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23"><i><b>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</b></i>
<i>hẳn để chỉ cực tiểu tồn cục. Nó được sử dụng theo nghĩa là kết quả của qtrì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.</i>
<b>1.2.1.Gradient Decent cho hàm một biến</b>
Xét các hàm số một biến f : <b>R</b> → <b>R. Giả sử x</b><small>t</small> 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 x<sub>t</sub> về càng gần x<sup>∗</sup>càng tốt. Có hai quan sát sau đây:
• Nếu đạo hàm của hàm số tại x<sub>t</sub> là dương ( f<sup>0</sup>(x<sub>t</sub>) > 0) thì x<sub>t</sub>nằm về bên phải so với x<sup>∗</sup>, và ngược lại. Để điểm tiếp theo x<sub>t</sub><sub>+</sub><sub>1</sub> gần với x<sup>∗</sup> hơn, ta cần di chuyển x<sub>t</sub> <i>về bên trái, tức về phía âm. Nói các khác,</i>
<i>ta cần di chuyển x</i><sub>t</sub> <i>ngược dấu với đạo hàm</i>:
Trong đó ∆ là một đại lượng ngược dấu với đạo hàm f<small>0</small>(x<small>t</small>).
• x<sub>t</sub> càng xa x<sup>∗</sup> về bên phải thì f<sup>0</sup>(x<sub>t</sub>) 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].
x<sub>t</sub><small>+1</small> = x<sub>t</sub> −<i>η f</i><sup>0</sup>(x<sub>t</sub>) (1.5)
<i>Trong đó η là một số dương được gọi là tốc độ học (learning rate). Dấu</i>
trừ thể hiện việc x<sub>t</sub> <i>cần đi ngược với đạo hàm f</i><sup>0</sup>(x<small>t</small>)<i>. Tên gọi Gradient</i>
<i>Decent</i> 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à |x<sub>t</sub><sub>+</sub><sub>1</sub> −x<sub>t</sub>| < <i>e</i> hoặc số lần lặp vượt quá một giá trị cho trước.
</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24"><b>1.2.2.Gradient Decent cho hàm nhiều biến</b>
Giả sử ta cần tìm cực tiểu tồn cục cho hàm f(<i><sub>θ</sub></i>) <i>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</i>
kỳ được ký hiệu là ∇<i><sub>θ</sub></i>f(<i><sub>θ</sub></i>). Tương tự như hàm một biến, thuật toán
<i>GD cho hàm nhiều biến cũng bắt đầu bằng một điểm dự đoán θ</i><sub>0</sub>, sau đó sử dụng quy tắc cập nhật [2].
<i>θ</i><sub>t</sub><small>+1</small> = <i><sub>θ</sub></i><sub>t</sub>−<i>η</i>∇<i><sub>θ</sub></i>f(<i><sub>θ</sub></i><sub>t</sub>) (1.6)
<i>Hoặc viết dưới dạng đơn giản hơn: θ</i> ← <i><sub>θ</sub></i> −<i><sub>η</sub></i>∇<i><sub>θ</sub></i><sub>f</sub>(<i><sub>θ</sub></i>).
<i><b>Ví dụ 1.5. Đối với thuật tốn Hồi quy tuyến tính. Hàm mất mát của hồi quy</b></i>
<i><b>tuyến tính và gradient theo w:</b></i>
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 <sup>d</sup>
dx<sup>n</sup> <sup>có ý nghĩa như thế nào khi n</sup> <sup>=</sup> 1 2<sup>”,</sup> 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ý thuyt 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à tốn học. Tuy nhiên, một vài chục năm gần đây, nhiều tác giả đã
</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">chỉ ra rằng đạo hàm và tích phân cấp khơng ngun 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 ngun đã được sử dụng trước đó, đặc biệt là trong các thuật tố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 tố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.
<b>1.3.2.Định nghĩa đạo hàm và tích phân cấp phân số theo </b>
Trong đóΓ(z) là hàm Gamma, được định nghĩa là Γ(n) = (n−<sub>1</sub>)! với n là số nguyên dương, hoặc xác định qua tích phân suy rộng Γ(z) = R<small>∞</small>
<small>0</small> x<sup>z</sup><sup>−</sup><sup>1</sup>e<sup>−</sup><sup>x</sup>dxvớ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 ngun 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
</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="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.
<b>1.3.3.Định nghĩa đạo hàm và tích phân cp phõn s theo Gr ăunwald-Letnikov</b>
Da trờn cụng thc vit 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 gi l h s Gr ăunwald. Cỏch nh ngha 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.
<b>1.3.4.Định nghĩa đạo hàm cấp phân số theo Caputo</b>
Đạo hàm cấp phân số định nghĩa theo Caputo có dạng [3].:
</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="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<sup>(</sup><sup>j</sup><sup>)</sup>(a) = 0 (j = 0, . . . , n−<sub>1</sub>) thì hai định nghĩa trên trùng nhau.
<i><b>Tính chất 1.3.1. Với α</b></i> > <i>0, α /</i>∈ <i><b>N và n</b></i> = [<i><sub>α</sub></i>] +<i>1. Khi đó với µ</i> > −<i>1,</i>
<i><b>Ví dụ 1.6. Xét hàm ϕ</b></i><sub>1</sub>(x) = (x −<sub>3</sub>)<sup>2</sup><i>. Theo tính chất trên, đạo hàm cấpphân số Caputo của ϕ</i><sub>1</sub> <i>được tính như sau:</i>
<b>1.4.1.Kiến trúc chung của mạng nơ ron tích chập</b>
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
</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="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 hồn tồ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 q trình khác nhau:
• Q 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. Q 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.
• Q 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 tốn trong mạng nơ ron. Do đó để giảm tải tính tố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
</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="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 đó q 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.
• Q trình kết nối hồn tồ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 hồn tồn giữa các tầng. Q 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 hồn tồ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.
<small>Hình 1.1: Cấu trúc đại diện của một mạng nơ ron tích chập</small>
<b>1.4.2.Tính chất của mạng nơ ron tích chập</b>
<b>Tính kết nối trượt:</b> 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 tồ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 tố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).
</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30"><b>Các khối nơ ron 3D:</b> 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 tố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 hồn tồ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 đó. Q 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.
<b>Tính chia sẻ kết nối và kết nối cục bộ:</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 tồ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×<sub>F</sub>×<sub>D</sub> ( F, D lần lượt là kích thước bộ lọc và chiều depth).
<b>Tính tổng hợp:</b> Ở 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 sốt sự gia tăng tham số, chi phí tính tố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
</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="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.
<b>Độ phức tạp phát hiện hình ảnh tăng dần:</b> Ở 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.
<b>Kết luận</b> . 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 tốn rất hay được sử dụng trong q 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.
</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">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 đó q 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 tố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 tồn bộ dữ liệu, cập nhật được dữ liệu mới trong q 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ụ.
Như đã nói ở phần trước, thuật tố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
</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">đối số mà tại đó hàm đạt cực tiểu
Trong đó f : D ⊆ <b>R</b><small>n</small> → <b>R là hàm lồi xác định và khả vi liên tục trên</b>
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 x<sub>0</sub> ∈ D với luật cập nhật được cho bởi
<b>x</b><sub>k</sub><sub>+</sub><sub>1</sub> = <b>x</b><sub>k</sub>−<i>η</i><sub>k</sub>∇<i><small>α</small></i>f (<b>x</b><sub>k</sub>) (2.2)
<i>với η</i><sub>k</sub> là tham số bước nhảy hay luật học, ∇<i><small>α</small></i> là véc tơ đạo hàm mà các
<i>thành phần là các đạo hàm riêng cấp phân số α định nghĩa bởi</i>1.14và tính theo cơng thức 1.16<i>. Thơng thường luật học η</i><sub>k</sub> được cố định, tuy
<i>nhiên chúng ta cũng có thể tinh chỉnh η</i><sub>k</sub> 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
</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34"><i><b>Ví dụ 2.1. Xét hàm f</b></i>(x) = (x−3)<sup>2</sup><i>và xuất phát tại giá trị ban đầu x</i><sub>0</sub> > <i>3,</i>
<i>thiết lập x</i><sub>0</sub> = <i>5, η</i><sub>0</sub> = <i>0.1, e</i> = 10<sup>−</sup><sup>4</sup><i>và s</i> = 10<sup>5</sup><i>.</i>
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 {x<sub>k</sub>} hội tụ đến điểm tối ưu x<sup>∗</sup> = 3.
<small>Hình 2.1: Hiệu quả của thuật toán gradient decent với hàm f</small>
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
<i><small>α</small></i> <small>Số lần lặpSai sốThời gian chạy (ms)</small>
<i><small>Bảng 2.1: Kết quả tối ưu argmin f với một số bậc α khác nhau.</small></i>
1 < <i><sub>α</sub></i> < 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 .
</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35"><i>Đặc biệt, khi α</i> = 1.3, thuật toán dừng sau s = 10<sup>5</sup> 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
<i><b>xuất phát với giá trị ban đầu x</b></i><sub>0</sub> = (a<sub>1</sub>+2, a<sub>2</sub>+2, . . . , a<sub>791</sub>+2)
<i>Trong trường hợp này, ta đặt η</i><sub>0</sub> = <i>0.1, e</i> = 10<sup>−</sup><sup>4</sup>và số lần lặp s = 10<sup>5</sup>.
<i>Kết quả được cho trong bảng 2.2. Khi α</i> = 1.2, thuật toán dừng khi đạt
<i><small>α</small></i> <small>Số lần lặpSai sốThời gian chạy (ms)0.83089.950×10</small><sup>−</sup><sup>5</sup> <small>37.932</small>
<small>0.91299.565×10</small><sup>−</sup><sup>5</sup> <small>16.1781.0618.620×10</small><sup>−</sup><sup>5</sup> <small>6.3491.1335.193×</small><sub>10</sub><sup>−</sup><small>55.995</small>
<i><small>Bảng 2.2: Kết quả tính min g với một số bậc α khác nhau.</small></i>
số lần lặp tối đa và sai số là xấp xỉ 5.691×10<sup>−</sup><sup>4</sup>.
Thơng qua hai ví dụ trên với hàm mục tiêu dạng (x −a)<i><small>µ</small></i>, 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,
<i>so sánh ta thấy áp dụng thuật toán Gradient cấp phân số (α</i> 6= <sub>1) cho</sub>
những dạng hàm mũ này hiệu quả tốt hơn Gradient sử dụng đạo hàm
<i>thông thường (α</i> = 1).
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à q 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
</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="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, t<sub>0</sub> 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<sup>∗</sup> duy nhất. Phương pháp lặp Gradient cấp phân số đã biết là
x<sub>K</sub><small>+1</small> = x<sub>K</sub> −<i>µ</i><sub>x</sub><sub>0</sub>D<i><small>α</small></i>
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<sup>∗</sup> 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<sup>∗</sup>.[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:
</div><span class="text_page_counter">Trang 37</span><div class="page_container" data-page="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 < <i><sub>α</sub></i> < 2 được viết dưới dạng sau
<b>Chứng minh.</b> Ta sử dụng phương pháp phản chứng. Giả sử x<sub>K</sub> hội tụ đến điểm X 6= x<sup>∗</sup>, nghĩa là lim<sub>K</sub><sub>→</sub><sub>∞</sub>|x<sub>K</sub>−X| = <sub>0. Khi đó,</sub>
<i>với mọi giá trị vơ hướng e</i> > 0 nhỏ tùy ý, tồn tại N ∈ <b>N đủ lớn</b>
sao cho |x<sub>K</sub><sub>−</sub><sub>1</sub>−X| < <i>ε</i> < |x<sup>∗</sup> −X| với mọi K −1 > N. Và δ =
</div>