ĐÁ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 - Full 10 điểm

12 2 0
ĐÁ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 - Full 10 điểm

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

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

Thông tin tài liệu

ĐÁ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.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: ( )1t t tJ θ θ θ η θ+ = − ⋅∇ Trong đó , ( )tJ θ θ∇ 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 ( ) i x có nhãn tương ứng ( ) i y như sau: ( ) ( ) ( )1 ; ;i i t t tJ 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 tJ 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. Ký hiệu tg là gradient của hàm mất mát tại bước t . ,t ig là đạo hàm riêng của hàm mấ t mát theo i θ tại bước t . ( ), ,t i t ig 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 tG 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: 1t t t t g G η θ θ ε + = − +  Trong đó,  là phép nhân ma trận-vectơ giữa tG và tg . 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 tt t E g E g g γ γ −    = + −    Công thức trên thể hiện trung bình các gradient 2 t E g   ở bước t phụ thuộ c vào trung bình các gradient 2 1 t E g −    ở bước 1t − và gradient tg ở 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 θ ε ε −  ∆ +    +  Trong đó, ( )2 2 2 1 1 tt 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 1t − . Adadelta được cập nhật theo quy tắc: 2 1 1 2 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 tm . Các giá trị tm và tv được tính bở i công thức: ( )1 1 11t t tm m g β β−= + − ( ) 2 2 1 21t t tv v 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 tm và tv 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 ˆ 1 t t t m m β = − 2 ˆ 1 t t t v v β = − Sau đó cập nhật các trọng số theo công thức: 1 ˆ ˆ t t t t m v η θ θ+ = − +  ,  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 21t t tv v g β β−= + − Thay vì trực tiếp sử dụng vt (hay giá trị ước lượng ˆtv ), thuật toán sẽ sử dụng giá trị trước đó 1tv − nếu giá trị này lớn hơn giá trị hiện tại: ( )1 ˆ ˆ ,t t tv 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 11t t tm m g β β−= + − ; ( ) 2 2 1 21t t tv v g β β−= + − ; ( )1 ˆ ˆ ,t t tv max v v−= AMSGrad được cập nhật theo quy tắc: 1 ˆ t t t t m v η θ θ+ = − +  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) t tw θ 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 tg 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 đế

ĐÁNH GIÁ HIỆU NĂNG CỦA CÁC THUẬT TỐN TỐI ƯU TRONG MƠ HÌNH HỌC SÂU ĐỐI VỚI BÀI TỐ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 tốn phân lớp hình ảnh huấn luyện mơ hình học sâu, việc tinh chỉnh tốc độ học ưu tiên hàng đầu Do đó, việc lựa chọn thuật tốn tối ưu thích hợp cho mơ hình cần thiết Trong báo này, đánh giá thuật toán tối ưu phổ biến tác động chúng đến q trình huấn luyện 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 tập liệu CIFAR-10 CINIC-10 Các siêu tham số lựa chọn dựa theo báo đề xuất thuật tốn Chúng tơi sử dụng tiêu chí TTA DAWNBench đề xuất số tiêu chí khác để đánh giá thuật toán Kết cho thấy SGD biến thể AdamW thuật toán Adam đem lại kết ổ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 tốn tối ưu Mở đầu Ngày nay, ứng dụng học sâu (deep learning) ngày phong phú Nhiều mơ hình đời để giải toán với quy mơ ngày lớn Để tìm mơ hình hiệu với tốn đặt ra, người xây dựng mơ hình thường phải trọng đến việc tinh chỉnh tốc độ học q trình huấn luyện mơ hình Việc tinh chỉnh thực thủ cơng (như thuật toán tối ưu SGD) hay tự động (như thuật toán tối ưu với tốc độ học thích ứng Adagrad[7], Adadelta[2], Adam[8], AdamW[9], AMSGrad[9] Lựa chọn thuật tốn tối ưu phù hợp để q trình huấn luyện đạt hiệu tốt trở thành nhu cầu thiết yếu Tuy nhiên, tính chất phức tạp mơ hình học sâu, với liệu với kích thước ngày lớn khiến việc huấn luyện nhiều thời gian Mỗi thay đổi thuật tốn tối ưu, mơ hình phải huấn luyện lại từ đầu, gây lãng phí thời gian tài ngun Nắm bắt thực tế đó, chúng tơi thực nghiên cứu đánh giá hiệu thuật toán tối ưu, mà cụ thể tốn phân lớp hình ảnh, nhằm giúp người dùng có để so sánh lựa chọn thuật tốn tối ưu thích hợp q trình huấn luyện mơ hình học sâu Một đánh giá tương tự đề cập DAWNBench[1]: nhóm tác giả hệ thống cách đánh giá hiệu mô hình học sâu khác nhiều phương diện, có thuật tốn tối ưu Tuy nhiên, nhóm tác giả DAWNBench so sánh hai thuật toán tối ưu SGD Adam Khi đánh giá hai thuật tốn này, nhóm tiến hành thực nghiệm với tập liệu CIFAR-10 kiến trúc mơ hình ResNet Để việc đánh giá tồn diện hơn, đề xuất mở rộng phạm vi đánh giá lên thành sáu thuật tốn tối ưu (trong có biến thể Adam) Thực nghiệm tiến hành hai tập liệu (CIFAR-10 CINIC-10) với hai kiến trúc mơ hình khác (ResNet56 ResNet110) Cấu trúc báo sau: mục trình bày thuật tốn tối ưu, mục mô tả thực nghiệm mục phần kết luận Các thuật toán tối ưu 2.1 Stochastic Gradient Descent Gradient Descent (GD) thuật toán phổ biến tối ưu hóa mạng nơron GD tối thiểu hóa hàm mát (loss function) J (θ ) θ tập hợp trọng số mơ hình cần tối ưu Quy tắc cập nhật GD dạng tổng quát sau: θt+1= θt −η ⋅ ∇θ J (θt ) Trong , ∇θ J (θt ) gradient hàm mát θ bước t η số dương gọi tốc độ học (learning rate) Tốc độ học η xác định kích thước bước di chuyển đến giá trị cực tiểu (hoặc cực tiểu địa phương) Có số biến thể khác GD tùy thuộc vào số lượng liệu sử dụng để tính gradient hàm mát Thuật tốn Batch Gradient Descent (Batch GD) tính gradient hàm mát θ toàn tập liệu Tất điểm liệu sử dụng để tính gradient trước cập nhật trọng số θ Hạn chế Batch GD tập liệu lớn, việc tính gradient tốn nhiều thời gian chi phí tính tốn Để khắc phục hạn chế này, thuật toán Stochastic Gradient Descent (SGD) thực việc cập nhật trọng số với mẫu liệu x(i) có nhãn tương ứng y(i) sau: θt+1= θt −η ⋅ ∇θ J (θt ; x(i); y(i) ) Với cách cập nhật này, SGD thường nhanh Batch GD sử dụng để học trực tuyến (online learning) tập liệu huấn luyện cập nhật liên tục Với SGD, trọng số θ cập nhật thường xuyên so với Batch GD hàm mát dao động nhiều Sự dao động khiến SGD khơng ổn định lại có điểm tích cực giúp di chuyển đến điểm cực tiểu (địa phương) có tiềm Với tốc độ học giảm, khả hội tụ SGD tương đương với Batch GD Cách tiếp cận thứ ba 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 liệu để cập nhật trọng số ( 1< k < N với N tổng số điểm liệu) ( ) θt+1= θt −η ⋅ ∇θ J θt ; x(i:i+k); y(i:i+k) Mini-batch GD giảm dao động hàm mát so với SGD chi phí tính gradient với k điểm liệu chấp nhận Mini-batch GD thường lựa chọn huấn luyện mạng nơron số trường hợp, SGD hiểu Mini-batch GD Riêng thân Mini-batch GD khơng đảm bảo tìm điểm cực tiểu hàm mát mà bên cạnh yếu tố tốc độ học, thuộc tính liệu tính chất hàm mát ảnh hưởng đến điều 2.2 Adagrad Thuật toán Adagrad Duchi J cộng đề xuất năm 2011 [7] Khác với SGD, tốc độ học Adagrad thay đổi tùy thuộc vào trọng số: tốc độ học thấp trọng số tương ứng với đặc trưng phổ biến, tốc độ học cao trọng số tương ứng với đặc trưng phổ biến Ký hiệu gt gradient hàm mát bước t gt,i đạo hàm riêng hàm mát theo θi bước t gt,i = ∇θ J (θt,i ) Quy tắc cập nhật Adagrad: θt+1,i = θt,i − η ⋅ gt,i Gt,ii + ε Theo quy tắc cập nhật, Adagrad điều chỉnh tốc độ học η bước t tương ứng với trọng số θi xác định dựa gradient tính theo θi Mẫu số chuẩn L2 (L2 norm) ma trận đường chéo Gt phần tử i,i tổng bình phương gradient tương ứng với θi tính đến bước t ε số dương nhỏ nhằm tránh trường hợp mẫu số Quy tắc cập nhật viết dạng tổng quát sau: θt+1= θt − η gt  Gt +ε Trong đó,  phép nhân ma trận-vectơ Gt gt Có thể nhận thấy thuật tốn Adagrad tốc độ học tự động điều chỉnh Adagrad thường hiệu tốn có liệu phân mảnh Tuy nhiên, hạn chế Adagrad tổng bình phương mẫu số ngày lớn khiến tốc độ học ngày giảm tiệm cận đến giá trị khiến cho trình huấn luyện gần đóng băng Bên cạnh đó, giá trị tốc độ học η phải xác định cách thủ cơng 2.3 Adadelta Thuật tốn Adadelta Zeiler cộng đề xuất năm 2012 [2] Adadelta biến thể Adagrad để khắc phục tình trạng giảm tốc độ học Adagrad Thay lưu lại tất gradient 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 tiếp tục học sau nhiều bước cập nhật Trong trình thực hiện, thay lưu trữ w bình phương gradient theo cách thơng thường, Adadelta thực tích lũy dạng mơ-men bậc gradient: E= g t γ E g t−1 + (1− γ ) gt2 Công thức thể trung bình gradient E g t bước t phụ thuộc vào trung bình gradient E g t−1 bước t −1 gradient gt bước t Hệ số γ thường có giá trị 0.9 với ý nghĩa gradient phụ thuộc phần lớn vào gradient bước trước Với thuật tốn Adadelta, tốc độ học hồn tồn thay bởi: E ∆θ  +ε  t−1 E g2 +ε  t Trong đó, E ∆θ t= γ E ∆θ t−1 + (1− γ ) ∆θt2 Tương tự trường hợp gradient, công thức thể độ biến thiên ∆θ θ bước t phụ thuộc vào độ biến thiên θ bước t −1 Adadelta cập nhật theo quy tắc: E ∆θ  +ε  t−1 θt+1 = θt − ⋅ gt E g2 +ε  t Adadelta khơng sử dụng tốc độ học Thay vào đó, sử dụng tốc độ thay đổi thân trọng số để điều chỉnh tốc độ học 2.4 Adam Adam (Adaptive Moment Estimation) [8] thuật toán cho phép tính tốc độ học thích ứng với trọng số Adam khơng lưu trữ trung bình bình phương gradient trước Adadelta mà cịn lưu giá trị trung bình mơ-men mt Các giá trị mt vt tính cơng thức: m=t β1mt−1 + (1− β1 ) gt =vt β2vt−1 + (1− β2 ) gt2 β1 β2 trọng số không âm, thường chọn β1 = 0.9 β2 = 0.999 Nếu khởi tạo mt vt vector 0, giá trị có khuynh hướng nghiêng 0, đặc biệt β1 β2 xấp xỉ Do vậy, để khắc phục, giá trị ước lượng cách: mˆ t = t mt − β1 vˆt = t vt 1− β2 Sau cập nhật trọng số theo công thức: θt+=1 θt − η mˆ t ,  thường 10-8 vˆt + 2.5.AMSGrad AMSGrad [10] sử dụng giá trị lớn bình phương gradient trước vt để cập nhật trọng số Ở đây, vt định nghĩa thuật toán Adam: =vt β2vt−1 + (1− β2 ) gt2 Thay trực tiếp sử dụng vt (hay giá trị ước lượng vˆt ), thuật tốn sử dụng giá trị trước vt−1 giá trị lớn giá trị tại: vˆt = max (vˆt−1, vt ) Tương tự thuật toán Adam, giá trị ước lượng theo công thức để khử lệch cho trọng số: m=t β1mt−1 + (1− β1 ) gt ; =vt β2vt−1 + (1− β2 ) gt2 ; vˆt = max (vˆt−1, vt ) AMSGrad cập nhật theo quy tắc: η θt+=1 θt − mt vˆt + 2.6 AdamW Được đề xuất lần [9], AdamW biến thể Adam Ý tưởng AdamW đơn giản: thực 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 trọng số (weight decay) wtθt khỏi công thức tính gradient hàm mát thời điểm t : = gt ∇ f (θt ) + wtθt thay vào đó, đưa phần giá trị phân tách vào trình cập nhật trọng số:   θt+1,i = θt,i −η  ⋅ mˆ t + wt,iθt,i  ,∀ t vˆt +     Thực nghiệm kết 3.1.Tập liệu Để kiểm tra tác động thuật toán tối ưu học sâu lên tốn phân lớp hình ảnh, báo này, sử dụng hai tập liệu CIFAR-10 CINIC-10 CIFAR-10 (Canadian Institute For Advanced Research) [3] tập liệu phổ biến thường dùng để huấn luyện thuật toán lĩnh vực máy học thị giác máy tính CIFAR - 10 bao gồm 60.000 ảnh màu đa sắc với kích thước 32x32, ảnh thuộc 10 lớp: máy bay, xe ô tô, chim, mèo, hươu nai, chó, ếch, ngựa, tàu thủy xe tải Mỗi lớp 10 lớp chứa 6,000 ảnh Ở đây, chia CIFAR-10 thành hai tập huấn luyện kiểm thử theo tỉ lệ [3]: chọn ngẫu nhiên từ lớp xác 1,000 ảnh để xây dựng tập kiểm thử, tập huấn luyện gồm 50,000 ảnh lại CINIC-10 (CINIC-10 Is Not ImageNet or CIFAR-10) [5] gồm 270,000 ảnh, thuộc 10 lớp khác CIFAR-10, chia làm phần: tập huấn luyện, tập kiểm thử tập kiểm định, tập có 90,000 phần tử CINIC coi tập mở rộng CIFAR-10, bổ sung thêm nhiều phần tử ảnh trích xuất từ tập ImageNet chỉnh sửa để có kích thước tương tự với phần tử ảnh tập CIFAR-10 CINIC-10 có tập kiểm thử lên đến 90,000 phần tử Theo [5], việc mẫu liệu trích xuất từ ImageNet bị giảm kích thước thành 32x32 làm tăng độ khó việc phân lớp số lượng đặc trưng Việc tập huấn luyện tập kiểm thử có tỉ lệ 1:1 giúp đánh giá khả khái quát hóa mơ hình Ngồi lý trên, việc bổ sung thêm CINIC-10 giúp xác nhận xem liệu kết luận tác động thuật toán tối ưu lên mơ hình học sâu dựa tập CIFAR-10 có cịn xác áp dụng cho tốn tương tự với quy mô lớn hay không 3.2 Mơ hình Như đề cập phần mở đầu, DAWNBench[1] nghiên cứu hướng đến việc tạo quy trình đánh giá chuẩn cho mơ hình học sâu Cũng tất thực nghiệm [1], 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á thuật tốn tối ưu Hình Khối residual (He, Kaiming, et al 2016) Mạng ResNet xây dựng dựa ý tưởng khối residual minh họa Hình Giả sử ánh xạ cần tìm  (x) , lớp khối residual thực việc xấp xỉ ánh xạ = (x) :  (x) − x , tức ánh xạ ban đầu lúc trở thành (x) + x Liên kết nối tắt (hình vịng cung) trường hợp thực ánh xạ đồng (identity mapping) Theo hướng dẫn [4] 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 liên kết nối tắt thực ánh xạ đồng nhất) số lượng lọc (filter) tăng Lớp mơ hình lớp tích chập 3× Tiếp sau 6n lớp tích chập 3× cho feature map với kích cỡ {32,16,8} ( n khối residual, tương ứng với 2n lớp cho kích thước feature map) Cuối lớp kết nối hoàn chỉnh với 10 nơ-ron softmax Tổng cộng mơ hình có 6n + lớp Lựa chọn n 18, sử dụng hai kiến trúc mạng ResNet với 56 110 lớp để tiến hành thực nghiệm layer name output size 56-layer 110-layer conv1 32× 32 3× , 16, stride conv2_x 32× 32 3×3, 16 3×3, 16  ×9  ×18 3×3, 16 3×3, 16 3×3, 32 3×3, 32 conv3_x 16 ×16  ×9  ×18 3×3, 32 3×3, 32 3×3, 64 3×3, 64 conv4_x 8×  ×9  ×18 3×3, 64 3×3, 64 1× 10-d fc, softmax # params 853,018 1,727,962 MACs 0.13×109 0.25 ×109 FLOPs 0.25 ×109 0.51× 109 Bảng Hai kiến trúc mạng ResNet56 ResNet110 cho hai thực nghiệm với tập liệu CIFAR-10 CINIC-10 Chi tiết thơng số kiến trúc mơ hình ResNet56 ResNet110 đề cập Bảng Các khối residual gồm lớp thành phần nằm ngoặc vng Q trình giảm độ phân giải (downsampling) feature map tích hợp vào conv31 conv41 cách gán độ trượt (stride) Độ phức tạp tính tốn mơ hình thể qua số phép nhân - tích lũy MAC (multiply-accumulate operation) FLOP 3.3 Thang đo Để việc đánh giá thuật toán tối ưu khách quan có hệ thống, chúng tơi tham khảo cách đánh giá mơ hình học sâu DAWNBench[1] Tuy nhiên, sử dụng tiêu chí DAWNBench thời gian huấn luyện để đạt độ xác đề (TTA – time to accuracy) Tiêu chí đảm bảo việc đánh giá phải cân nhắc đồng thời độ xác mơ hình lẫn thời gian huấn luyện để đạt độ xác Trong thực nghiệm, chúng tơi đảm bảo TTA không bao gồm thời gian suy diễn tập kiểm thử (khi tính độ xác) Chúng tơi nhận thấy tiêu chí độ trễ suy diễn (inference latency) không phù hợp cho thực nghiệm Thuật tốn tối ưu có tác động đến q trình huấn luyện mơ hình Sau huấn luyện xong, yếu tố kiến trúc mô hình, tập liệu phần cứng khơng thay đổi, thời gian suy diễn khơng thay đổi khơng phụ thuộc vào thuật tốn tối ưu Ngồi ra, để việc đánh giá tổng quát hơn, tương tự [6], đưa thêm số tiêu chí chu kỳ huấn luyện để đạt độ xác đề (epochs to acccuracy), tổng thời gian huấn luyện tần suất lỗi sau huấn luyện xong 3.4 Cấu hình phần cứng lựa chọn siêu tham số Thực nghiệm tiến hành với cấu sau: Intel Xeon CPU @ 2.2GHz, 12GB RAM , NVIDIA Tesla P100 16GB (đối với ResNet56 CIFAR-10) NVIDIA Tesla V100 16GB (đối với ResNet110 CINIC-10) Mini-batch size Trong [1], tác giả có đề cập đến việc chọn batch size lớn (512) ảnh hưởng đến khả hội tụ thuật toán Để đảm bảo thực nghiệm xác, chúng tơi chọn batch size 128 Chu kỳ huấn luyện Theo gợi ý [5], 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) tập CIFAR- 10 Tương tự, theo [4], 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) tập CINIC-10 Phương án lập lịch tốc độ học Ở chọn phương án lập lịch đa bước cho thuật toán Cụ thể, mốc chu kỳ 100 150, tốc độ học bị giảm 10 lần ( γ = 0.1) 3.5 Kết Căn vào kết thể Hình 2, Bảng 2, 3, rút số nhận xét sau: Thuật tốn SGD có thời gian huấn luyện thấp, tốc độ hội tụ chậm ổn định, hai thực nghiệm đạt ngưỡng độ xác đề Tuy SGD ln đem lại tần suất lỗi nhỏ nhất, dựa vào biểu đồ Hình thấy q trình huấn luyện tương đối dài, độ xác tập kiểm thử có xu hướng giảm Để khắc phục tượng này, đưa thêm số mốc chu kỳ lớn vào phương án lập lịch tốc độ học Điều chứng minh hiệu thuật toán SGD phụ thuộc lớn vào việc tinh chỉnh thủ công tốc độ học Thuật toán Adagrad Adadelta yêu cầu thời gian huấn luyện lớn SGD, thời gian huấn luyện sử dụng Adadelta lớn thuộc toán so sánh Tuy nhiên, hai thuật tốn khơng đem lại kết tương xứng: khơng đạt ngưỡng độ xá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 Thuật toán Adam hội tụ nhanh khơng đạt ngưỡng độ xác đề Chúng khuyến nghị sử dụng Adam thời gian huấn luyện hạn chế không yêu cầu q cao tính xác mơ hình Biến thể AdamW Adam kết hợp ưu điểm Adam SGD AdamW có thời gian huấn luyện không lớn so với SGD hay Adam, đem lại tốc độ hội tụ nhanh Adam tần suất lỗi thấp SGD Cũng Adam, AdamW kế thừa khả tự động tinh chỉnh tốc độ học trình huấn luyện Với ưu điểm trên, đề xuất sử dụng AdamW thuật toán lý tưởng thay cho SGD Việc tích hợp AMSGrad vào Adam không giúp cải thiện khả hội tụ Trong 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 khơng đồng Do đó, chúng tơi cho nên thận trọng tích hợp AMSGrad vào Adam AdamW Việc lập lịch tốc độ học có ảnh hưởng tích cực khơng đến SGD mà thuật toán với tốc độ học thích ứng Adam: đa phần thuật tốn sớm đạt ngưỡng độ xác đề sau vượt qua cột mốc chu kỳ lịch Hình Độ xác mơ hình ResNet56 huấn luyện tập CIFAR-10 Thuật toán tối ưu Chu kỳ huấn Thời gian huấn Thời gian Tần suất lỗi sau luyện luyện để đạt độ huấn luyện 185 chu kỳ (%) đạt độ xác xác 93% 185 chu kỳ SGD kiểm thử 93% 0:59:54 1:14:30 6.47 Adagrad N/A 1:27:54 14.20 Adadelta 151 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 N/A 1:19:12 6.51 AdamW+AMSGrad N/A 0:44:34 1:24:33 6.86 104 0:48:54 107 Bảng Kết thử nghiệm với tập CIFAR-10 (các giá trị in đậm kết tốt cột) Hình Độ xác mơ hình ResNet110 huấn luyện tập CINIC-10 Thuật toán tối ưu Chu kỳ huấn Thời gian huấn Thời gian Tần suất lỗi sau luyện luyện để đạt độ huấn luyện 300 chu kỳ (%) SGD đạt độ xác xác 82% 300 chu kỳ Adagrad kiểm thử 82% 18.13 Adadelta 3:28:42 6:42:47 26.31 Adam 151 N/A 7:10:11 18.28 Adam+AMSGrad N/A N/A 8:10:18 16.83 AdamW N/A 7:33:04 19.03 AdamW+AMSGrad 101 2:44:58 7:50:41 15.27 N/A N/A 7:10:50 14.72 101 8:00:03 101 2:31:51 2:40:57 Bảng Kết thử nghiệm với tập CINIC-10 (các giá trị in đậm kết tốt cột) Kết luận Qua báo này, bước đầu đánh giá tác động thuật tốn tối ưu khác đến q trình huấn luyện hiệu sau huấn luyện mơ hình học sâu cho tốn phân lớp hình ảnh Các bảng so sánh mục sở giúp người dùng tham khảo lựa chọn thuật tốn thích hợp xây dựng mơ hình Do hạn chế mặt thời gian, sử dụng kiến trúc mạng ResNet tập liệu liên quan đến tốn phân lớp hình ảnh cho thực nghiệm Việc sử dụng kiến trúc mạng học sâu khác, tiến hành thực nghiệm lĩnh vực đa dạng xử lý ngôn ngữ tự nhiên giúp việc đánh giá hoàn thiện 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 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 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

Ngày đăng: 02/03/2024, 06:17

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

Tài liệu liên quan