Để á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
MỘT SỐ KIẾN THỨC LIÊN QUAN
Một số kiến thức về 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.
Cácnhiệ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 ả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à x ∈ R d 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ể.
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 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ãncủ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 hay không.
• Phép đánh giá P có thể định nghĩa là tỉ lệ email rác được xác định theo mô hình và đúng là email rác trong thực tế.
• Kinh nghiệmE là cặp các (email, nhãn) thu thập được trước đó Dữ liệu nà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 y ∈ R C trong đó y = (y 1 , y 2 , , y c , y C ) và y c 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]
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 : R d → R, ánh xạ mỗi véc tơ dữ liệu với nhãny ∈ 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 m 2 , 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 : R 3 → 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 : R d → R m 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.
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 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]
Thuật toán Gradient Decent
Xét một hàm số f : R d → 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 ứngcự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 ∗ , 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 f 0 (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ảix ∗ 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átrồ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.
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ìm trong 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 : R → R Giả sử x t là điểm tìm được sau vòng lặp thứt Ta cần tìm một thuật toán để đưaxt 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ạix t là dương (f 0 (x t ) > 0) thì x t nằm về bên phải so vớix ∗ , và ngược lại Để điểm tiếp theox t + 1 gần với x ∗ hơn, ta cần di chuyển x t về bên trái, tức về phíaâm Nói các khác, ta cần di chuyển x t ngược dấu với đạo hàm: x t + 1 = x t +∆ (1.4)
Trong đó ∆là một đại lượng ngược dấu với đạo hàm f 0 (x t ).
• x t càng xa x ∗ về bên phải thì f 0 (x t ) 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 t + 1 = x t −ηf 0 (x t ) (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 f 0 (x t ) 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à |x t + 1 −x t | < e hoặc số lần lặp vượt quá một giá trị cho trước.
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ập hợ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 :
Từ đó công thức cập nhật tham số là w t + 1 = w t −η∇ w L(w) (1.8)
Đạo hàm cấp phân số
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 n dx n có ý nghĩa như thế nào khin = 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ả đã 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 Riemann-
Công thức tích phân Cauchy có dạng [3].
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 x z − 1 e − x 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 nguyên của nlà thay thế số nguyênnbằng số thực p < 0trong công thức tích phân Cauchy1.9, ta có [3].:
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
(1.11) là đạo hàm cấp phân số theo Riemann-Liouville [3].
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-
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].
= Γ(j−p) Γ(j+1)Γ(−p) = A j + 1 (1.13) đượ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].: cD t p f(t) = 1 Γ(n− p) d n dt n
Giữa đạo hàm cấp phân số theo Riemann-Liouvill và theo Caputo người ta tìm được quan hệ:
RD a p f(t) = c D a p f(t) + n − 1 j ∑ = 0 f ( j ) (a) Γ(j− p+1)(t−a) j − p (1.15) 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, x > a ta có
0, khià = 0, 1, 2, ,[ α ] (1.16) Đặc biệt, khià = 0 và k là hằng số thỡ C D α a + k
Ví dụ 1.6 Xét hàm ϕ 1 (x) = (x −3) 2 Theo tính chất trên, đạo hàm cấp phân số Caputo của ϕ 1 được tính như sau:
Mạng nơ ron tích chập
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 bộ lọc.
Về cơ bản thiết kế của một mạng nơ ron tích chập 2 chiều có dạng như sau:
INPUT -> [[CONV -> RELU]*N -> POOLING?]*M -> [FC -> RELU]*K -> FC
• 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 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).
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 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ánGradient 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.
ỨNG DỤNG CỦA ĐẠO HÀM CẤP PHÂN SỐ TRONG HỌC MÁY
Đặ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 GradientDecent 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ằngGradient 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ụ.
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 đối số mà tại đó hàm đạt cực tiểu x ∗ = argmin x f(x) (2.1)
Trong đó f : D ⊆ R n → 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 x 0 ∈ D với luật cập nhật được cho bởi x k + 1 = x k −η k ∇ α f ( x k ) (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 [4].
Thuật toán 1: Gradient Decent Cấp phân số
Ví dụ 2.1 Xét hàm f(x) = (x−3) 2 và xuất phát tại giá trị ban đầu x 0 > 3, thiết lậpx 0 = 5, η 0 = 0.1, e = 10 − 4 và s = 10 5
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 k } 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ặp Sai số Thời gian chạy (ms) 0.8 171 4.772 × 10 − 5 3.663
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. Đặc biệt, khi α = 1.3, thuật toán dừng sau s = 10 5 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 ra là1.425×10 − 4
Ví dụ 2.2 Tìm giá trị nhỏ nhất của hàm g(x 1 , x 2 , , x 791 ) 791 ∑ i = 1
(x i −a i ) 2 trong đó a i = 1+0.1(i−1) , xuất phát với giá trị ban đầu x 0 = (a 1 +2, a 2 +2, , a 791 +2)
Trong trường hợp này, ta đặtη 0 = 0.1, e = 10 − 4 và số lần lặps = 10 5 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ặp Sai số Thời gian chạy (ms) 0.8 308 9.950 × 10 − 5 37.932
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).
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 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 số theo Caputo [6]. t 0 D α t f(t) ∑ ∞ i = m f ( i ) (t 0 ) Γ(i+1−α) (t−t 0 ) i − α (2.3) trong đó m −1 < α < m, m ∈ N, Γ( α ) = R ∞
0 x α − 1 e − x dx là hàm Gamma, t 0 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à x K + 1 = x K −à x 0 D α x K f(x) (2.4)
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ằngx ∗ [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: x K + 1 = x K − à x K − 1 D α x
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 [6]. x K + 1 = x K −àf ( 1 ) (x K − 1 ) Γ(2−α) |x K −x K − 1 | 1 − α (2.7)
Ta có định lý [6]. Định lý 2.3.1 Nếu phương pháp lặp2.7 hội tụ, nó sẽ hội tụ về điểm cực trị x ∗ [6]
Chứng minh Ta sử dụng phương pháp phản chứng Giả sử x K hội tụ đến điểm X 6= x ∗ , nghĩa là lim K → ∞ |x K −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 |x K − 1 −X| < ε < |x ∗ −X| với mọi K −1 > N Và δ inf K − 1 > N f ( 1 ) (x K − 1 )
Theo 2.7ta có bất đẳng thức sau
( 2 − α ) Chú ý rằng ta luôn tìm được giá trịethỏa mãn2ε < d 1 α nên ta có bất đẳng thức sau
|x K −x K − 1| ≤ |x K −X|+|x K − 1−X| < 2ε < d 1 α (2.9) suy ra ta có d > |x K −x K − 1 | α Thay vào2.8ta thu được
Từ đây cho thấy dãyx K không hội tụ Điều này trái với giả thiết x K hội tụ đếnX ở trên. Định lý được chứng minh.
Chú ý 2.3.1 Khi giá trị δ > 0 nhỏ được đưa vào, công thức lặp Gradient decent cấp phân số dưới đây sẽ tránh được điểm kỳ dị dox K = x K − 1 gây ra x K + 1 = x K −àf ( 1 ) (x K − 1 ) Γ(2−α) (|x K −x K − 1 |+ δ ) 1 − α (2.11)
So sánh với phương pháp Gradient decent dựa trên định nghĩa chặt của đạo hàm cấp phân số trong [4], việc điều chỉnh theo2.4và tương tự như trong [5] đã cho thấy hội tụ được về điểm cực trị thật như chứng minh trên Để minh họa cho việc hội tụ nhanh về điểm cực trị thực sự, xét hàm mục tiêu f(x) = (x −3) 2 Kết quả chạy thuật toán Gradient decent 2.4 với step size 0.1, giá trị ban đầu ngẫu nhiên trong khoảng
[0, 0.1]được cho trong hình 2.2 Quan sát hình ta thấy tốc độ hội tụ của thuật toán Gradient decent 2.4 (đường màu xanh đứt nét) rõ ràng hội tụ về điểm cực trịx = 3nhanh hơn Gradient decent với đạo hàm thông thường (biểu thị bằng đường màu đỏ).
Hình 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 Đối với CNN, Mặc dù thủ tục chính của các phép tính toán học là khá giống nhau trong các tầng tích chập và các tầng kết nối đầy đủ, tuy nhiên các cấu trúc khác nhau dẫn đến các cách khác nhau để nghiên cứu Phần sau trình bày việc cải tiến sử dụng Gradient cấp phân số trong từng tầng CNN Trước hết, ở các tầng kết nối đầy đủ được cải tiến như sau.
2.3.1 Tầng kết nối đầy đủ
Thủ tục huấn luyện của mạng nơ ron bao gồm hai bước chính: Lan truyền tiến và lan truyền ngược Quá trình lan truyền tiến hay lan truyền thuận được mô tả như trong hình 2.3 Trong đó kí hiệu chỉ số trên [l] thể hiện số tầng, chỉ số dưới i thể hiện node thứ i trong tầng. a [ i l ] ∈ R là kí hiệu đầu ra của node thứ itrong tầng thứl.
Hình 2.3: Lan truyền tiến của tầng kết nối đầy đủ Đầu ra a [ i l ] có được từ luật cập nhật2.12
z i [ l ] = w [ i l ] a [ l − 1 ] +b [ i l ] a [ i l ] = f z [ i l ] (2.12) trong đú w [ i l ] = h w [ i1 l ] , w [ i2 l ] ,ã ã ã ,w [ l ] in [ l − 1 ] i ∈ R n [ l − 1 ] là ma trận trọng số, b [ i l ] ∈ R là hệ số điều chỉnh (bias), a [ l − 1 ] = h a [ 1 l − 1 ] , a [ 2 l − 1 ] ,ã ã ã ,a [ l − 1 ] n [ l − 1 ] i T
∈ R n [ l − 1 ] là đầu ra của tầng liền trước và f(ã) là hàm kớch hoạt.
Quá trình còn lại trong huấn luyện CNN là quá trình lan truyền ngược, nơi mà Gradient decent cấp phân số sẽ thay thế cho Gradient decent truyền thống để cập nhật tham số Vì những bất cập trong việc tính đạo hàm hàm hợp (chain rule) của đạo hàm cấp phân số, quá
Hình 2.4: Lan truyền ngược của tầng kết nối đầy đủ trình này vẫn phải kết hợp cả bậc đạo hàm cấp phân số và đạo hàm cấp nguyên Như mô tả trong hình 2.4, có hai kiểu đạo hàm tính qua mỗi tầng Một là đạo hàm chuyển tiếp (minh họa bằng đường liền nét) làm nhiệm vụ kết nối các node giữa hai tầng, và hai là đạo hàm để cập nhật tham số trong mỗi tầng (minh họa bằng đường nét đứt) Llà hàm mất mát, α là bậc đạo hàm cấp phân, ∂ α L
∂b [ i l ] α lần lượt là đạo hàm cấp phân số của hàm mất mát theo ma trận trọng số w [ i l ] và véc tơ bias b [ i l ] tương ứng. Để sử dụng quy tắc đạo hàm hàm hợp (chain rule) liên tục, đạo hàm chuyển tiếp được sử dụng với bậc nguyên theo công thức2.13
Còn phần đạo hàm cập nhật tham số, đạo hàm bậc không nguyên được đưa vào như2.14
(2.14) với i = 1, 2,ã ã ã , n [ l ] và j = 1, 2,ã ã ã , n [ l − 1 ] Khi cụng thức Gradien cấp phân số2.4 được áp dụng, gradient của bước lặp thứK trở thành:
(2.15) trong đó w [ ij l ] ( K ) và b i [ ( l ] K ) là các tham số w [ ij l ] và b [ i l ] tại bước lặp thứ K, a [ j l ( − K 1 − ] 1 ) là đầu raa [ j l − 1 ] tại bước lặpK−1 Do đó, luật cập nhật Gradient cấp phân số thu được bằng cách thay công thức 2.15 vào công thức 2.14, ta được
∂a [ i l ] tại bước lặp thứ K−1 tương ứng.
Trong thực tế, hầu hết các trường hợp các mẫu không phải nhập vào từng mẫu một mà thường nhập samples theo batch [5] Khi nhập theo batch,2.16được viết lại thành [6]
(2.17) trong đó,mlà batch size, chỉ số dướisthể hiện sample thứ scủa batch. Sau khi véc tơ hóa, các phương trình trên được đơn giản hóa thành:
Cỏc ký hiệu như −,| ã | và (ã) 1 − α là phộp toỏn trờn từng phần tử ◦ là toỏn tử tớch Hadamard, sum(ã) là tổng của ma trận theo chiều ngang. Sau đó, các thông số cập nhật của các tầng kết nối đầy đủ có thể được tóm tắt như sau:
(2.19) Định lý 2.3.2 Các tầng kết nối đầy đủ được cập nhật bởi luật Gradient decent cấp phân số (2.18,2.19) hội tụ tới điểm cực trị [6].
Chứng minh Khi đạo hàm cấp nguyên được sử dụng trong quá trình lan truyền ngược, đạo hàm của hàm mất mát theo W ( [ l K ] − 1 ) và b [ ( l K ] − 1 ) được viết là
Vì vậy, gradient cấp phân số 2.18trở thành [6]
Và luật cập nhật2.19trở thành
Với các phần tử trong ma trận tham số W [ l ] và ma trận hệ số mở rộng b [ l ] , w ij [ l ] vàb i [ l ] được cập nhật bởi
Tương tự như chứng minh định lý 2.3.1, giả sử rằng w ij [ l ] ( K ) hội tụ tới điểm w [ ij l ]0 khác điểm cực trịw [ ij l ]∗ , nghĩa là lim K → ∞ w ij [ l ] ( K ) −w ij [ l ]0
Khi đó, với mọi e > 0 bé tùy ý, tồn tại N ∈ N đủ lớn sao cho với mọi
Và bất đẳng thức δ = inf K − 1 > N
Theo 2.23, ta thu được bất đẳng thức dưới đây: w [ ij l ] ( K + 1 ) −w [ l ] ij ( K ) à 1 Γ(2− α )
2 − α ) Chú ý rằng, luôn tìm được e thỏa mãn2ε < d 1 α nên bất đẳng thức dưới đây được thỏa mãn w [ ij l ] ( K ) −w [ ij l ] ( K − 1 )
Hay viết lại thành d > w ij [ l ] ( K ) −w ij [ l ] ( K − 1 ) α Thay điều này vào 2.24 ta thu được kết quả: w [ ij l ] ( K + 1 ) −w [ ij l ] ( K )
Từ2.26, suy raW ij [ l ( ] K ) không hội tụ, trái với giả thiết Kết quả tương tự cũng dễ dàng thu được với dãy b i [ ( l ] K ) Định lý được chứng minh.
So sánh với Gradient decent sử dụng đạo hàm cấp nguyên trong [7], thành phần đạo hàm chuyển tiếp ∂L
∂A [ ( l K − − 1 ] 1 ) vẫn được giữ nguyên nhưng có sự khác biệt trong thành phần đạo hàm cập nhật tham số khi bậc đạo hàm được thay bởi cấp không nguyên ∂ α L
∂b [ l ] α Vì vậy theo định lý2.3.2,W [ l ] vàb [ l ] được cập nhật bởi Gradient cấp phân số sẽ hội tụ đến cùng một điểm cực trị như Gradient cấp nguyên.
Chú ý 2.3.2 Vì chúng ta vẫn sử dụng đạo hàm thông thường trong phần chuyển tiếp, nguyên tắc tính đạo hàm hàm hợp (chain rule) vẫn hoạt động bình thường trong thuật toán Gradient decent 2.18, 2.19 và tránh được sự phức tạp trong tính toán do đạo hàm cấp phân số mang lại, đặc biệt là đạo hàm của hàm kích hoạt Khi gradient cấp phân số cải tiến 2.7 được áp dụng trơn tru, tốc độ hội tụ được cải thiện và có thể đạt được điểm cực trị.