• Không có kết quả nào được tìm thấy

Trong bài báo này, chúng tôi đánh giá các thuật toán tối ưu phổ biến và tác động của chúng đến quá trình huấn luyện của mô hình học sâu

N/A
N/A
Protected

Academic year: 2022

Chia sẻ "Trong bài báo này, chúng tôi đánh giá các thuật toán tối ưu phổ biến và tác động của chúng đến quá trình huấn luyện của mô hình học sâu"

Copied!
12
0
0

Loading.... (view fulltext now)

Văn bản

(1)

ĐÁNH GIÁ HIỆU NĂNG CỦA CÁC THUẬT TOÁN TỐI ƯU

TRONG MÔ HÌNH HỌC SÂU ĐỐI VỚI BÀI TOÁN PHÂN LỚP HÌNH ẢNH Vĩnh Anh Nghiêm Quân – Nguyễn Lê Trung Thành – Nguyễn Thị Lan Anh

Khoa Tin học – Trường ĐHSP Huế Tóm tắt. Để giải quyết bài toán phân lớp hình ảnh trong huấn luyện mô hình học sâu, việc tinh chỉnh tốc độ học luôn là một trong những ưu tiên hàng đầu. Do đó, việc lựa chọn thuật toán tối ưu thích hợp cho mô hình là cần thiết. Trong bài báo này, chúng tôi đánh giá các thuật toán tối ưu phổ biến và tác động của chúng đến quá trình huấn luyện của mô hình học sâu. Chúng tôi tiến hành thực nghiệm với mô hình ResNet trên tập dữ liệu CIFAR-10 và CINIC-10. Các siêu tham số được lựa chọn dựa theo các bài báo đề xuất thuật toán. Chúng tôi sử dụng tiêu chí TTA trong DAWNBench và đề xuất một số tiêu chí khác để đánh giá các thuật toán. Kết quả cho thấy SGD và biến thể AdamW của thuật toán Adam đem lại kết quả ổn định với thời gian huấn luyện hợp lý.

Từ khóa: phân lớp hình ảnh, học sâu, tốc độ học thích ứng, thuật toán tối ưu 1. Mở đầu

Ngày nay, các ứng dụng của học sâu (deep learning) ngày càng phong phú. Nhiều mô hình mới ra đời để giải quyết các bài toán với quy mô ngày càng lớn. Để tìm được mô hình hiệu quả với bài toán đặt ra, người xây dựng mô hình thường phải chú trọng đến việc tinh chỉnh tốc độ học trong quá trình huấn luyện mô hình. Việc tinh chỉnh có thể được thực hiện thủ công (như trong thuật toán tối ưu SGD) hay tự động (như trong các thuật toán tối ưu với tốc độ học thích ứng như Adagrad[7], Adadelta[2], Adam[8], AdamW[9], AMSGrad[9]. Lựa chọn thuật toán tối ưu phù hợp để quá trình huấn luyện đạt hiệu quả tốt nhất do đó trở thành một nhu cầu thiết yếu.

Tuy nhiên, do tính chất phức tạp của mô hình học sâu, cùng với các bộ dữ liệu với kích thước ngày càng lớn khiến việc huấn luyện mất nhiều thời gian. Mỗi khi thay đổi thuật toán tối ưu, mô hình phải được huấn luyện lại từ đầu, gây lãng phí về thời gian và tài nguyên.

Nắm bắt thực tế đó, chúng tôi thực hiện nghiên cứu về đánh giá hiệu năng của các thuật toán tối ưu, mà cụ thể là đối với bài toán phân lớp hình ảnh, nhằm giúp người dùng có căn cứ để so sánh và lựa chọn thuật toán tối ưu thích hợp trong quá trình huấn luyện mô hình học sâu.

Một đánh giá tương tự đã từng được đề cập trong DAWNBench[1]: nhóm tác giả hệ thống quá cách đánh giá hiệu năng các mô hình học sâu khác nhau trên nhiều phương diện, trong đó có thuật toán tối ưu. Tuy nhiên, nhóm tác giả của DAWNBench chỉ so sánh hai thuật toán tối ưu là SGD và Adam. Khi đánh giá hai thuật toán này, nhóm cũng chỉ tiến hành thực nghiệm với tập dữ liệu duy nhất là CIFAR-10 và kiến trúc mô hình ResNet.

Để việc đánh giá được toàn diện hơn, chúng tôi đề xuất mở rộng phạm vi đánh giá lên thành sáu thuật toán tối ưu (trong đó có các biến thể mới của Adam). Thực nghiệm cũng sẽ được tiến hành trên hai tập dữ liệu (CIFAR-10 và CINIC-10) với hai kiến trúc mô hình khác nhau (ResNet56 và ResNet110).

Cấu trúc tiếp theo của bài báo như sau: mục 2 trình bày về các thuật toán tối ưu, mục 3 mô tả thực nghiệm và mục 4 là phần kết luận.

2. Các thuật toán tối ưu

(2)

2.1. Stochastic Gradient Descent

Gradient Descent (GD) là một trong những thuật toán phổ biến nhất khi tối ưu hóa mạng nơron. GD tối thiểu hóa hàm mất mát (loss function) J

( )

θ trong đó θ là tập hợp các trọng số của mô hình cần tối ưu. Quy tắc cập nhật của GD ở dạng tổng quát như sau:

( )

1

t t θJ t

θ+ = − ⋅∇θ η θ

Trong đó , ∇θJ

( )

θt là gradient của hàm mất mát tại θ ở bước t. η là một số dương được gọi là tốc độ học (learning rate). Tốc độ học η xác định kích thước của các bước di chuyển đến giá trị cực tiểu (hoặc cực tiểu địa phương).

Có một số biến thể khác nhau của GD tùy thuộc vào số lượng dữ liệu được sử dụng để tính gradient của hàm mất mát. Thuật toán Batch Gradient Descent (Batch GD) tính gradient của hàm mất mát tại θ trên toàn bộ tập dữ liệu. Tất cả các điểm dữ liệu đều được sử dụng để tính gradient trước khi cập nhật bộ trọng số θ. Hạn chế của Batch GD là khi tập dữ liệu lớn, việc tính gradient sẽ tốn nhiều thời gian và chi phí tính toán. Để khắc phục hạn chế này, thuật toán Stochastic Gradient Descent (SGD) thực hiện việc cập nhật trọng số với mỗi mẫu dữ liệu x( )i có nhãn tương ứng y( )i như sau:

( ) ( )

( )

1 ; ;i i

t t θJ t x y

θ+ = − ⋅∇θ η θ

Với cách cập nhật này, SGD thường nhanh hơn Batch GD và có thể sử dụng để học trực tuyến (online learning) khi tập dữ liệu huấn luyện được cập nhật liên tục.

Với SGD, bộ trọng số θ được cập nhật thường xuyên hơn so với Batch GD và vì vậy hàm mất mát cũng dao động nhiều hơn. Sự dao động này khiến SGD có vẻ không ổn định nhưng lại có điểm tích cực là nó giúp di chuyển đến những điểm cực tiểu (địa phương) mới có tiềm năng hơn. Với tốc độ học giảm, khả năng hội tụ của SGD cũng tương đương với Batch GD.

Cách tiếp cận thứ ba là thuật toán Mini-batch Gradient Descent (Mini-batch GD). Khác với hai thuật toán trước, Mini-batch GD sử dụng k điểm dữ liệu để cập nhật bộ trọng số ( 1 < <k N với N là tổng số điểm dữ liệu).

( ) ( )

(

: :

)

1 ; i i k ; i i k

t t θJ t x y

θ+ = − ⋅∇θ η θ + +

Mini-batch GD giảm sự dao động của hàm mất mát so với SGD và chi phí tính gradient với k điểm dữ liệu là chấp nhận được. Mini-batch GD thường được lựa chọn khi huấn luyện mạng nơron và vì vậy trong một số trường hợp, SGD được hiểu là Mini-batch GD. Riêng bản thân Mini-batch GD không đảm bảo tìm được điểm cực tiểu của hàm mất mát mà bên cạnh đó các yếu tố như tốc độ học, thuộc tính dữ liệu và tính chất của hàm mất mát cũng ảnh hưởng đến điều này.

2.2. Adagrad

Thuật toán Adagrad được Duchi J. và các cộng sự đề xuất năm 2011 [7]. Khác với SGD, tốc độ học trong Adagrad thay đổi tùy thuộc vào trọng số: tốc độ học thấp đối với các trọng số tương ứng với các đặc trưng phổ biến, tốc độ học cao đối với các trọng số tương ứng với các đặc trưng ít phổ biến.

(3)

Ký hiệu gt là gradient của hàm mất mát tại bước t. gt i, là đạo hàm riêng của hàm mất mát theo θi tại bước t.

( )

, ,

t i t i

g =∇θJ θ Quy tắc cập nhật của Adagrad:

1, , ,

,

t i t i t i

t ii

G g θ θ η

+ = − ε ⋅

+

Theo quy tắc cập nhật, Adagrad điều chỉnh tốc độ học η tại bước t tương ứng với trọng số θi xác định dựa trên các gradient đã tính được theo θi. Mẫu số là chuẩn L2 (L2 norm) của ma trận đường chéo Gt trong đó phần tử , i i là tổng bình phương của các gradient tương ứng với

θi tính đến bước t.

ε

là một số dương khá nhỏ nhằm tránh trường hợp mẫu số bằng 0.

Quy tắc cập nhật trên có thể viết dưới dạng tổng quát hơn như sau:

1

t t t

t

G g θ θ η

+ = − ε

+ 

Trong đó,  là phép nhân ma trận-vectơ giữa Gtgt. Có thể nhận thấy rằng trong thuật toán Adagrad tốc độ học được tự động điều chỉnh. Adagrad thường khá hiệu quả đối với bài toán có dữ liệu phân mảnh. Tuy nhiên, hạn chế của Adagrad là các tổng bình phương ở mẫu số ngày càng lớn khiến tốc độ học ngày càng giảm và có thể tiệm cận đến giá trị 0 khiến cho quá trình huấn luyện gần như đóng băng. Bên cạnh đó, giá trị tốc độ học η cũng phải được xác định một cách thủ công.

2.3. Adadelta

Thuật toán Adadelta được Zeiler và các cộng sự đề xuất năm 2012 [2]. Adadelta là một biến thể của Adagrad để khắc phục tình trạng giảm tốc độ học ở Adagrad. Thay vì lưu lại tất cả gradient như Adagrad, Adadelta giới hạn tích lũy gradient theo cửa sổ có kích thước w xác định. Bằng cách này, Adadelta vẫn tiếp tục học sau nhiều bước cập nhật.

Trong quá trình thực hiện, thay vì lưu trữ w bình phương của gradient theo cách thông thường, Adadelta thực hiện tích lũy dưới dạng mô-men bậc 2 của gradient:

( )

2 2 2

1 1 t

t t

E g γE g γ g

  =   + −

   

Công thức trên thể hiện trung bình các gradient 2

E g  t ở bước t phụ thuộc vào trung bình các gradient E g  2 t1 ở bước t−1 và gradient gt ở bước t. Hệ số γ thường có giá trị 0.9 với ý nghĩa rằng gradient ở hiện tại sẽ phụ thuộc phần lớn vào gradient ở các bước trước đó.

Với thuật toán Adadelta, tốc độ học hoàn toàn được thay thế bởi:

2 1 2

t

t

E E g

θ ε

ε

∆  +

 

  +

 

(4)

Trong đó,

( )

2 2 2

1 1 t

t t

E θ γE θ γ θ

∆  = ∆  + − ∆

   

Tương tự như trường hợp gradient, công thức trên thể hiện độ biến thiên ∆θ của θ tại bước t phụ thuộc vào độ biến thiên của θ tại bước t−1.

Adadelta được cập nhật theo quy tắc:

2

1 2 1

t

t t t

t

E g

E g

θ ε

θ θ

ε

+

∆  +

 

= − ⋅

  +

 

Adadelta không sử dụng tốc độ học. Thay vào đó, nó sử dụng tốc độ thay đổi của chính bản thân các trọng số để điều chỉnh tốc độ học.

2.4. Adam

Adam (Adaptive Moment Estimation) [8] là một thuật toán cho phép tính tốc độ học thích ứng với mỗi trọng số. Adam không chỉ lưu trữ trung bình bình phương các gradient trước đó như Adadelta mà còn lưu cả giá trị trung bình mô-men mt. Các giá trị mtvt được tính bởi công thức:

( )

1 1 1 1

t t t

mm + −β g

( )

2

2 1 1 2

t t t

vv + −β g

trong đó β1 và β2 là các trọng số không âm, thường được chọn là β1=0.9 và β2 =0.999. Nếu khởi tạo mtvt là các vector 0, các giá trị này có khuynh hướng nghiêng về 0, đặc biệt là khi β1 và β2 xấp xỉ bằng 1. Do vậy, để khắc phục, các giá trị này được ước lượng bằng cách:

1

ˆ t 1 t t m m

= β

2

ˆ t 1 t t v v

= β

− Sau đó cập nhật các trọng số theo công thức:

1 ˆ

t t ˆ t

t

v m θ+ = −θ η

+ ,  thường bằng 10-8 2.5.AMSGrad

AMSGrad [10] sử dụng giá trị lớn nhất của các bình phương gradient trước đó vt để cập nhật các trọng số. Ở đây, vt cũng được định nghĩa như trong thuật toán Adam:

( )

2

2 1 1 2

t t t

vv + −β g

Thay vì trực tiếp sử dụng vt (hay giá trị ước lượng ˆvt), thuật toán sẽ sử dụng giá trị trước đó

1

vt nếu giá trị này lớn hơn giá trị hiện tại:

(5)

(

1

)

ˆt ˆ ,t t v max v v=

Tương tự như trong thuật toán Adam, các giá trị được ước lượng theo công thức dưới đây để khử lệch cho các trọng số:

( )

1 1 1 1

t t t

mm + −β g ; vt2vt1+ − 1

(

β2

)

gt2; v max v vˆt =

(

ˆ ,t1 t

)

AMSGrad được cập nhật theo quy tắc:

1 ˆ

t t t

t

v m θ+ = −θ η

+ 2.6. AdamW

Được đề xuất lần đầu tiên trong [9], AdamW là một biến thể của Adam. Ý tưởng của AdamW khá đơn giản: khi thực hiện thuật toán Adam với L2 regularization (chuẩn hóa L2), tác giả loại bỏ phần tiêu biến của trọng số (weight decay) wt tθ khỏi công thức tính gradient hàm mất mát tại thời điểm t:

t

( )

t t t

g =∇ f θ +wθ

và thay vào đó, đưa phần giá trị đã được phân tách này vào quá trình cập nhật trọng số:

1, , 1 ˆ , , ,

t i t i ˆ t t i t i

t

m w t

θ+ =θ −η v + ⋅ + θ ∀ 3. Thực nghiệm và kết quả

3.1.Tập dữ liệu

Để kiểm tra tác động của các thuật toán tối ưu trong học sâu lên bài toán phân lớp hình ảnh, trong bài báo này, chúng tôi sử dụng hai tập dữ liệu CIFAR-10 và CINIC-10.

CIFAR-10 (Canadian Institute For Advanced Research) [3] là tập dữ liệu phổ biến thường được dùng để huấn luyện các thuật toán trong lĩnh vực máy học và thị giác máy tính. CIFAR - 10 bao gồm 60.000 bức ảnh màu đa sắc với kích thước 32x32, mỗi ảnh thuộc về 1 trong 10 lớp: máy bay, xe ô tô, chim, mèo, hươu nai, chó, ếch, ngựa, tàu thủy và xe tải. Mỗi lớp trong 10 lớp này chứa 6,000 ảnh. Ở đây, chúng tôi cũng chia CIFAR-10 thành hai tập huấn luyện và kiểm thử theo tỉ lệ như trong [3]: chọn ngẫu nhiên từ mỗi lớp chính xác 1,000 ảnh để xây dựng tập kiểm thử, tập huấn luyện gồm 50,000 bức ảnh còn lại.

CINIC-10 (CINIC-10 Is Not ImageNet or CIFAR-10) [5] gồm 270,000 bức ảnh, thuộc về 10 lớp khác nhau như ở CIFAR-10, chia làm 3 phần: tập huấn luyện, tập kiểm thử và tập kiểm định, mỗi tập có 90,000 phần tử. CINIC có thể coi là tập mở rộng của CIFAR-10, bổ sung thêm nhiều phần tử ảnh trích xuất từ tập ImageNet và được chỉnh sửa để có kích thước tương tự với phần tử ảnh trong tập CIFAR-10.

CINIC-10 có tập kiểm thử lên đến 90,000 phần tử. Theo [5], việc các mẫu dữ liệu trích xuất từ ImageNet bị giảm kích thước thành 32x32 sẽ làm tăng độ khó của việc phân lớp do số lượng đặc trưng ít hơn. Việc tập huấn luyện và tập kiểm thử có tỉ lệ 1:1 cũng sẽ giúp đánh giá được khả năng khái quát hóa của mô hình.

(6)

Ngoài những lý do trên, việc bổ sung thêm CINIC-10 sẽ giúp xác nhận xem liệu các kết luận về tác động của thuật toán tối ưu lên mô hình học sâu dựa trên tập CIFAR-10 có còn chính xác khi áp dụng cho một bài toán tương tự nhưng với quy mô lớn hơn hay không.

3.2. Mô hình

Như đã đề cập trong phần mở đầu, DAWNBench[1] là nghiên cứu hướng đến việc tạo ra một quy trình đánh giá chuẩn cho mô hình học sâu. Cũng như tất cả các thực nghiệm trong [1], trong nghiên cứu này, chúng tôi chọn kiến trúc mô hình ResNet[4] làm mô hình đánh giá các thuật toán tối ưu.

Hình 1. Khối residual (He, Kaiming, et al. 2016)

Mạng ResNet được xây dựng dựa trên ý tưởng các khối residual như minh họa trong Hình 1.

Giả sử ánh xạ cần tìm là 

( )

x , các lớp trong khối residual sẽ thực hiện việc xấp xỉ ánh xạ

( )

x :=

( )

x x−

  , tức ánh xạ ban đầu lúc này trở thành 

( )

x x+ . Liên kết nối tắt (hình vòng cung) trong trường hợp này thực hiện ánh xạ đồng nhất (identity mapping).

Theo hướng dẫn trong [4] khi thực nghiệm với tập CIFAR-10, chúng tôi chọn lựa chọn cấu hình A (tất cả liên kết nối tắt đều thực hiện ánh xạ đồng nhất) khi số lượng bộ lọc (filter) tăng.

Lớp đầu tiên của mô hình là lớp tích chập 3 3× . Tiếp sau đó là 6n lớp tích chập 3 3× cho các feature map với kích cỡ lần lượt là {32,16,8} (n khối residual, tương ứng với 2n lớp cho mỗi kích thước của feature map). Cuối cùng là lớp kết nối hoàn chỉnh với 10 nơ-ron và softmax.

Tổng cộng mô hình có 6n+2 lớp.

Lựa chọn n lần lượt bằng 9 và 18, chúng tôi sử dụng hai kiến trúc mạng ResNet với 56 và 110 lớp để tiến hành thực nghiệm.

layer name output size 56-layer 110-layer

conv1 32 32× 3 3× , 16, stride 1

conv2_x 32 32× 3×3, 16

3×3, 16 ×9

 

 

 

3×3, 16 3×3, 16 ×18

 

 

 

conv3_x 16 16× 3×3, 32

3×3, 32 ×9

 

 

 

3×3, 32 3×3, 32 ×18

 

 

 

conv4_x 8 8× 3×3, 64

3×3, 64 ×9

 

 

 

3×3, 64 3×3, 64 ×18

 

 

 

1 1× 10-d fc, softmax

# params 853,018 1,727,962

(7)

MACs 0.13 10× 9 0.25 10× 9

FLOPs 0.25 10× 9 0.51 10× 9

Bảng 1. Hai kiến trúc mạng ResNet56 và ResNet110 lần lượt cho hai thực nghiệm với tập dữ liệu CIFAR-10 và CINIC-10

Chi tiết các thông số về kiến trúc mô hình ResNet56 và ResNet110 được đề cập trong Bảng 1.

Các khối residual gồm các lớp thành phần nằm trong ngoặc vuông. Quá trình giảm độ phân giải (downsampling) của feature map được tích hợp vào conv31 và conv41 bằng cách gán độ trượt (stride) bằng 2. Độ phức tạp tính toán của mỗi mô hình được thể hiện qua số phép nhân - tích lũy MAC (multiply-accumulate operation) và FLOP.

3.3. Thang đo

Để việc đánh giá các thuật toán tối ưu được khách quan và có hệ thống, chúng tôi tham khảo cách đánh giá mô hình học sâu của DAWNBench[1]. Tuy nhiên, chúng tôi chỉ sử dụng một tiêu chí trong DAWNBench là thời gian huấn luyện để đạt được một độ chính xác đề ra (TTA – time to accuracy). Tiêu chí này đảm bảo việc đánh giá phải cân nhắc đồng thời cả độ chính xác của mô hình lẫn thời gian huấn luyện để đạt được độ chính xác đó. Trong thực nghiệm, chúng tôi luôn đảm bảo rằng TTA không bao gồm thời gian suy diễn trên tập kiểm thử (khi tính độ chính xác).

Chúng tôi nhận thấy tiêu chí về độ trễ suy diễn (inference latency) không phù hợp cho thực nghiệm của mình. Thuật toán tối ưu chỉ có tác động đến quá trình huấn luyện của mô hình.

Sau khi huấn luyện xong, các yếu tố như kiến trúc mô hình, tập dữ liệu và phần cứng không thay đổi, do đó thời gian suy diễn không thay đổi và không phụ thuộc vào thuật toán tối ưu.

Ngoài ra, để việc đánh giá được tổng quát hơn, tương tự như trong [6], chúng tôi cũng đưa thêm một số tiêu chí như chu kỳ huấn luyện để đạt được độ chính xác đề ra (epochs to acccuracy), tổng thời gian huấn luyện và tần suất lỗi sau khi huấn luyện xong.

3.4. Cấu hình phần cứng và lựa chọn các siêu tham số

Thực nghiệm được tiến hành với cấu hình như sau: Intel Xeon CPU @ 2.2GHz, 12GB RAM , NVIDIA Tesla P100 16GB (đối với ResNet56 và CIFAR-10) và NVIDIA Tesla V100 16GB (đối với ResNet110 và CINIC-10).

Mini-batch size. Trong [1], tác giả có đề cập đến việc chọn batch size quá lớn (512) sẽ ảnh hưởng đến khả năng hội tụ của thuật toán. Để đảm bảo thực nghiệm được chính xác, chúng tôi chọn batch size là 128.

Chu kỳ huấn luyện. Theo gợi ý trong [5], chúng tôi dừng huấn luyện sau 185 chu kỳ (tương ứng khoảng 72K vòng lặp với tỉ lệ huấn luyện/kiểm thử 50,000/10,000) đối với tập CIFAR- 10.

Tương tự, theo [4], chúng tôi dừng huấn luyện sau 300 chu kỳ (tương ứng khoảng 211K vòng lặp với tỉ lệ huấn luyện/kiểm thử 90,000/90,000) đối với tập CINIC-10.

Phương án lập lịch tốc độ học. Ở đây chúng tôi chọn phương án lập lịch đa bước cho mọi thuật toán. Cụ thể, tại các mốc chu kỳ 100 và 150, tốc độ học sẽ bị giảm đi 10 lần (γ =0.1).

3.5. Kết quả

Căn cứ vào các kết quả thể hiện trong Hình 2, 3 và Bảng 2, 3, chúng tôi rút ra một số nhận xét sau:

(8)

1. Thuật toán SGD có thời gian huấn luyện thấp, tốc độ hội tụ chậm nhưng ổn định, và trong hai thực nghiệm đều đạt được ngưỡng độ chính xác đề ra. Tuy SGD luôn đem lại một trong các tần suất lỗi nhỏ nhất, dựa vào biểu đồ Hình 3 có thể thấy khi quá trình huấn luyện tương đối dài, độ chính xác trên tập kiểm thử có xu hướng giảm. Để khắc phục hiện tượng này, có thể đưa thêm một số mốc chu kỳ lớn hơn vào phương án lập lịch tốc độ học. Điều này cũng chứng minh rằng hiệu quả của thuật toán SGD phụ thuộc rất lớn vào việc tinh chỉnh thủ công tốc độ học.

2. Thuật toán Adagrad và Adadelta yêu cầu thời gian huấn luyện lớn hơn SGD, trong đó thời gian huấn luyện khi sử dụng Adadelta là lớn nhất trong các thuộc toán được so sánh. Tuy nhiên, hai thuật toán này không đem lại kết quả tương xứng: đều không đạt được ngưỡng độ chính xác đề ra trong cả hai thực nghiệm. Do đó, chúng tôi không khuyến khích sử dụng hai thuật toán này.

3. Thuật toán Adam hội tụ nhanh nhưng không đạt được ngưỡng độ chính xác đề ra.

Chúng tôi khuyến nghị chỉ sử dụng Adam nếu thời gian huấn luyện hạn chế và không yêu cầu quá cao về tính chính xác của mô hình.

4. Biến thể của AdamW của Adam kết hợp cả ưu điểm của Adam và SGD. AdamW có thời gian huấn luyện không quá lớn so với SGD hay Adam, đem lại tốc độ hội tụ nhanh như Adam và tần suất lỗi thấp như SGD. Cũng như Adam, AdamW kế thừa khả năng tự động tinh chỉnh tốc độ học của mình trong quá trình huấn luyện. Với những ưu điểm trên, chúng tôi đề xuất sử dụng AdamW như một thuật toán lý tưởng thay thế cho SGD.

5. Việc tích hợp AMSGrad vào Adam không giúp cải thiện khả năng hội tụ. Trong mọi trường hợp, AMSGrad khiến thời gian huấn luyện tăng lên đáng kể. Đối với AdamW, AMSGrad đem lại kết quả không đồng nhất. Do đó, chúng tôi cho rằng nên thận trọng khi tích hợp AMSGrad vào Adam hoặc AdamW.

6. Việc lập lịch tốc độ học có ảnh hưởng tích cực không chỉ đến SGD mà cả các thuật toán với tốc độ học thích ứng như Adam: đa phần các thuật toán đều sớm đạt được ngưỡng độ chính xác đề ra ngay sau khi vượt qua các cột mốc chu kỳ trong lịch.

Hình 2. Độ chính xác của mô hình ResNet56 huấn luyện trên tập CIFAR-10 Thuật toán tối ưu Chu kỳ huấn

luyện đầu tiên đạt độ chính xác

Thời gian huấn luyện để đạt độ chính xác 93%

Thời gian huấn luyện 185 chu kỳ

Tần suất lỗi sau 185 chu kỳ (%)

(9)

kiểm thử 93%

SGD 151 0:59:54 1:14:30 6.47

Adagrad N/A N/A 1:27:54 14.20

Adadelta N/A N/A 1:39:43 8.30

Adam N/A N/A 1:18:30 7.75

Adam+AMSGrad N/A N/A 1:33:55 7.90

AdamW 104 0:44:34 1:19:12 6.51

AdamW+AMSGrad 107 0:48:54 1:24:33 6.86

Bảng 2. Kết quả thử nghiệm với tập CIFAR-10 (các giá trị in đậm là các kết quả tốt nhất của mỗi cột)

Hình 3. Độ chính xác của mô hình ResNet110 huấn luyện trên tập CINIC-10 Thuật toán tối ưu

Chu kỳ huấn luyện đầu tiên đạt độ chính xác

kiểm thử 82%

Thời gian huấn luyện để đạt độ chính xác 82%

Thời gian huấn luyện 300 chu kỳ

Tần suất lỗi sau 300 chu kỳ (%)

SGD 151 3:28:42 6:42:47 18.13

Adagrad N/A N/A 7:10:11 26.31

Adadelta N/A N/A 8:10:18 18.28

Adam 101 2:44:58 7:33:04 16.83

Adam+AMSGrad N/A N/A 7:50:41 19.03

AdamW 101 2:31:51 7:10:50 15.27

AdamW+AMSGrad 101 2:40:57 8:00:03 14.72

Bảng 3. Kết quả thử nghiệm với tập CINIC-10 (các giá trị in đậm là các kết quả tốt nhất của mỗi cột) 4. Kết luận

Qua bài báo này, chúng tôi đã bước đầu đánh giá được tác động của các thuật toán tối ưu khác nhau đến quá trình huấn luyện và hiệu năng sau khi huấn luyện của mô hình học sâu cho bài toán phân lớp hình ảnh. Các bảng so sánh trong mục 3 sẽ là cơ sở giúp người dùng tham khảo và lựa chọn thuật toán thích hợp khi xây dựng mô hình.

(10)

Do hạn chế về mặt thời gian, chúng tôi chỉ sử dụng kiến trúc mạng ResNet và các tập dữ liệu liên quan đến bài toán phân lớp hình ảnh cho thực nghiệm. Việc sử dụng các kiến trúc mạng học sâu khác, cũng như tiến hành thực nghiệm trong các lĩnh vực đa dạng hơn như xử lý ngôn ngữ tự nhiên sẽ giúp việc đánh giá được hoàn thiện hơn.

(11)

TÀI LIỆU THAM KHẢO

[1]. Coleman, C., Narayanan, D., Kang, D., Zhao, T., Zhang, J., Nardi, L., ... & Zaharia, M.

(2017). Dawnbench: An end-to-end deep learning benchmark and competition. Training, 100(101), 102.

[2]. Darlow, L. N., Crowley, E. J., Antoniou, A., & Storkey, A. J. (2018). CINIC-10 is not ImageNet or CIFAR-10. arXiv preprint arXiv:1810.03505.

[3]. Duchi, J., Hazan, E., & Singer, Y. (2011). Adaptive subgradient methods for online learning and stochastic optimization. Journal of machine learning research, 12(7).

[4]. He, K., Zhang, X., Ren, S., & Sun, J. (2016). Deep residual learning for image recognition. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 770-778).

[5]. Kingma, D. P., & Ba, J. (2014). Adam: A method for stochastic optimization. arXiv preprint arXiv:1412.6980.

[6]. Krizhevsky, A., & Hinton, G. (2009). Learning multiple layers of features from tiny images, 20.09.2020, https://www.cs.toronto.edu/~kriz/cifar.html

[7]. Loshchilov, I., & Hutter, F. (2017). Decoupled weight decay regularization. arXiv preprint arXiv:1711.05101.

[8]. Reddi, S. J., Kale, S., & Kumar, S. (2019). On the convergence of adam and beyond.

arXiv preprint arXiv:1904.09237.

[9]. Vĩnh Anh Nghiêm Quân, Nguyễn Lê Trung Thành, Đinh Thị Diệu Minh, Trần Hoài Nhân

"Ảnh hưởng của hàm kích hoạt đến mô hình mạng nơron tích chập." Tạp chí Khoa học, Trường Đại học Sư phạm, Đại học Huế. Số 3(51) (2019).

[10]. Zeiler, M. D. (2012). Adadelta: an adaptive learning rate method. arXiv preprint arXiv:1212.5701.

(12)

Title: Performance evaluation of optimization algorithms in deep neural networks for image classification

Abstract In training deep learning models for image classification, fine-tuning of the learning rate is a critical task. Selecting an optimization algorithm suitable for the model is therefore essential. In this paper, we evaluate the common optimization algorithms and their impact on training learning deep models. We conduct experiments with ResNet models on two image classification datasets, CIFAR-10 and CINIC-10. The hyperparameters are selected according to the original paper of each algorithm. We use TTA from DAWNBench and propose some other criteria as metrics to evaluate the algorithms. The results show that SGD and the AdamW variant of Adam algorithm yield stable results with reasonable training time.

Keywords: image classification, deep learning, adaptive learning rate, optimization algorithm

VĨNH ANH NGHIÊM QUÂN

Khoa Tin học, Đại học Sư phạm – Đại học Huế

ĐT: 0986 105 671, Email: VinhAnhNghiemQuan@dhsphue.edu.vn

Tài liệu tham khảo

Tài liệu liên quan

Một nghiên cứu cụ thể về các sản phẩm hộp mực sử dụng trong máy in hoặc máy photocopy cho các cơ quan và trường học tại thành phố Cần Thơ và các huyện lân cận

Ngoài khái niệm ε -nghiệm có tính chất toàn cục, còn có các khái niệm nghiệm xấp xỉ mang tính ñịa phương như: tựa ε -nghiệm, hầu tựa ε -nghiệm.. Nếu như các nghiệm

Nhìn chung, các tác giả đều nhận định rằng việc ứng dụng màng ối trong phẫu thuật cắt bè củng giác mạc trên thực nghiệm có tác dụng cải thiện chức năng bọng thấm và

Các phân đoạn polisaccarits khác từ nấm Hericium erinaceus như xylan, glucoylan, heteroxyglucan và các phức hợp protein của chúng có các đặc tính như là các yếu tố

Không chỉ ảnh hưởng đến sinh trưởng, phát triển, năng suất, phẩm chất của cây trồng, khí hậu thời tiết còn ảnh hưởng đến việc áp dụng các tiến bộ khoa học

Trên cơ sở đó, chúng tôi đề xuất một mô hình tìm kiếm tối ưu tập luật mờ phân lớp sử dụng giải thuật di truyền (GA) và thử nghiệm trên bài toán GLASS [28].. Giải quyết

Siêu âm khớp, đặc biệt siêu âm Doppler năng lượng khảo sát trực tiếp các khớp bị tổn thương (tổn thương màng hoạt dịch, viêm gân, bào mòn xương) cho phép

Sau khi bổ xung thêm phần tử được chọn vào tập kết quả mà tập kết quả vẫn còn thoả mãn các điều kiện của bài toán thì ta tiếp tục mở rộng tập kết quả bằng cách tiếp tục