Bài viết đề cập đến tầm quan trọng của việc lựa chọn hàm kích hoạt phù hợp khi huấn luyện CNN. Chúng tôi so sánh các hàm kích hoạt cơ bản và các hàm kích hoạt được đề xuất trong một số nghiên cứu gần đây.
ẢNH HƯỞNG CỦA HÀM KÍCH HOẠT ĐẾN MƠ HÌNH MẠNG NƠRON TÍCH CHẬP VĨNH ANH NGHIÊM QUÂN, NGUYỄN LÊ TRUNG THÀNH ĐINH THỊ DIỆU MINH, TRẦN HOÀI NHÂN Khoa Tin học, Trường Đại học Sư phạm, Đại học Huế Tóm tắt: Mạng nơron tích chập (CNN) ngày sử dụng phổ biến xử lý hình ảnh nói chung phân lớp hình ảnh nói riêng Để cải thiện hiệu mạng, việc tinh chỉnh siêu tham số (hyper-parameters) cần thiết Trong báo này, đề cập đến tầm quan trọng việc lựa chọn hàm kích hoạt phù hợp huấn luyện CNN Chúng tơi so sánh hàm kích hoạt hàm kích hoạt đề xuất số nghiên cứu gần Để đánh giá mức ảnh hưởng chúng đến hiệu CNN, tiến hành thí nghiệm với hai mơ hình, đơn giản phức tạp hai tập liệu hình ảnh phổ biến MNIST CIFAR-10 Cách thức tiến hành thực nghiệm tiêu chí đánh giá tham khảo dựa DAWNBench với số thay đổi nhỏ Kết cho thấy hàm kích hoạt ReLU biến thể đem lại độ xác cao sớm dạng hàm kích hoạt khác, ưu tổng thời gian huấn luyện khơng đáng kể Từ khóa: CNN, hàm kích hoạt MỞ ĐẦU Hiện nay, phương pháp học sâu (deep learning) phương pháp nhận nhiều quan tâm từ cộng đồng nghiên cứu học máy (machine learning) Tuy học sâu không đồng nghĩa với mạng nơron nhân tạo (artificial neural networks – ANN) nhắc đến thuật toán học sâu, người ta chủ yếu quan tâm đến mạng nơron nhân tạo triển khai diện rộng, đặc biệt tốn nhận dạng hình ảnh Kể từ năm 2012, sau thành cơng mạng nơron tích chập (convolutional neural networks – CNN) thi nhận dạng hình ảnh diện rộng, mơ hình mạng ngày nâng cấp để giải tốn ngày phức tạp Ngồi hàm kích hoạt (activation function) hàm tiếp tuyến hyperbol hay hàm logistic, ngày nhiều hàm kích hoạt đề xuất ReLU[1], LeakyReLU[2], PReLU[3], ELU[4], SELU[5] Do số lượng nơron liên kết nơron mơ hình mạng nơron đại dao động từ số vài ngàn đến vài triệu, trình huấn luyện mạng tiêu tốn nhiều thời gian đòi hỏi cao cấu hình phần cứng Việc tối ưu hóa cấu trúc mơ hình mạng, mà điển hình việc lựa chọn hàm kích hoạt thích hợp, cần thiết Tuy có nhiều hàm kích hoạt để người xây dựng mơ hình chọn lựa, tính hiệu hàm thường minh chứng qua mơ hình đặc thù đề cập đến báo nhóm nghiên cứu Vì thiếu so sánh hiệu Tạp chí Khoa học, Trường Đại học Sư phạm, Đại học Huế ISSN 1859-1612, Số 03(51)/2019: tr 125-134 Ngày nhận bài: 27/12/2018; Hoàn thành phản biện: 05/01/2019; Ngày nhận đăng: 28/12/2018 VĨNH ANH NGHIÊM QUÂN cs 126 hàm kích hoạt mơ hình nên người xây dựng mơ hình thường có xu hướng chọn hàm kích hoạt ngẫu nhiên thử nhiều hàm kích hoạt khác chọn hàm giúp huấn luyện mô hình nhanh Điều dẫn đến việc lãng phí thời gian tài nguyên Để khắc phục hạn chế trên, nghiên cứu này, nhóm chúng tơi áp dụng hàm kích hoạt nêu cho số tốn có sử dụng mơ hình mạng nơron tích chập phổ biến nay, đồng thời so sánh ảnh hưởng hàm kích hoạt đến hiệu mơ hình tốn Việc xác định hàm kích hoạt phù hợp giúp người dùng có nhìn bao qt xây dựng mơ hình giải tốn tương tự Cấu trúc viết trình bày sau: mục trình bày hàm kích hoạt; mục mơ hình khảo sát, mục mô tả thực nghiệm mục phần kết luận CÁC HÀM KÍCH HOẠT 2.1 Hàm ReLU Được đề xuất [2], Rectified Linear Unit (ReLU)[1] định nghĩa: ReLU x max 0, x 0 -1 -1 -3 -2 -1 -3 -2 -1 Hình Hàm ReLU đạo hàm Đây hàm khơng tuyến tính khơng có đạo hàm x Tuy nhiên tính tốn, đạo hàm ReLU x ngầm định ReLU đơn giản mặt tính tốn hàm logistic / sigmoid hay sử dụng phép tốn lũy thừa Theo [1], ReLU có đạo hàm nơron kích hoạt nên giúp tránh tượng vanishing gradient thường gặp hàm sigmoid hay Tuy nhiên theo [2], nhược điểm hàm nơron khơng kích hoạt, gradient Điều dẫn đến việc nơron có nguy khơng kích hoạt giải thuật tối ưu mạng nơron gradient không điều chỉnh trọng số nơron nơron khơng kích hoạt từ đầu ẢNH HƯỞNG CỦA HÀM KÍCH HOẠT ĐẾN MƠ HÌNH MẠNG NƠRON TÍCH CHẬP 127 2.2 Hàm Leaky ReLU Leaky Rectified Linear Unit (Leaky ReLU)[2] biến thể ReLU Leaky ReLU định nghĩa sau: x0 x Leaky ReLU 0.01x x Dễ thấy hàm Leaky RELU thay phần âm ReLU hàm tuyến tính với hệ số góc nhỏ cố định (0.01) 0.0019 0.1 0.0009 -0.0001 -0.01 -0.0075 -0.005 -0.0025 0.01 -0.01 0.0025 -0.005 0.005 0.01 Hình Hàm Leaky ReLU đạo hàm (trục Y đạo hàm theo thang logarit) 2.3 Hàm PReLU Hàm PReLU hay gọi Parametric ReLU[3] định nghĩa: x x PReLU hay PReLU max(0, x) a min(0, x) ax x Đây dạng tổng quát hàm Leaky ReLU, hệ số góc a phần âm có giá trị khởi điểm 0.25 cập nhật q trình huấn luyện mơ hình Khi a = 0.01, PReLU trở thành Leaky ReLU 1 -1 -3 -2 -1 -3 -2 Hình Hàm PReLU đạo hàm -1 VĨNH ANH NGHIÊM QUÂN cs 128 2.4 Hàm ELU Hàm ELU (Exponential Linear Unit)[4] định nghĩa sau: x ELU x e x0 hay ELU( x) max (0, x) (0, e x )) x0 Trong [4], tác giả lấy = Từ đồ thị ELU, dễ thấy phần dương hàm đồng ReLU phần âm trơn dần giá trị 1 -1 -2 -3 -2 -1 -3 -2 -1 Hình Hàm ELU đạo hàm 2.5 Hàm SELU Hàm SELU hay Scaled Exponential Linear Unit[5] định nghĩa sau: x SELU x e x0 x0 Trong hai số xác định trước 1.0507 1.67326 Dễ thấy biến thể hàm ELU Giá trị chọn để đảm bảo giá trị trung bình phương sai input bảo tồn hai lớp liên tiếp mạng nơron 1 -1 -2 -3 -2 -1 -3 -2 Hình Hàm SeLU đạo hàm -1 ẢNH HƯỞNG CỦA HÀM KÍCH HOẠT ĐẾN MƠ HÌNH MẠNG NƠRON TÍCH CHẬP 129 MƠ HÌNH Trong báo này, chúng tơi sử dụng hai mơ hình, đơn giản phức tạp, tương ứng với hai tập liệu nhỏ lớn Đối với tập liệu nhỏ, chúng tơi sử dụng mơ hình với hai lớp tính chặp sau: Bảng Kiến trúc mơ hình tích chập Layer (type) Conv2d MaxPool2d Conv2d Dropout2d MaxPool2d Linear Linear Output Shape [-1, 10, 24, 24] [-1, 10, 12, 12] [-1, 20, 8, 8] [-1, 20, 8, 8] [-1, 20, 4, 4] [-1, 50] [-1, 10] Param # 260 5,020 0 16,050 510 Tổng số tham số cần huấn luyện 21,840 Về bản, mơ hình tương tự với LeNet-5 Ở đây, thêm vào lớp dropout để giảm tượng overfitting Đối với tập liệu lớn hơn, chúng tơi sử dụng mơ hình VGG (Visual Geometry Group)[10] cấu hình A (VGG-11) với lớp tích chặp Số tham số cần huấn luyện 9,231,144 Bảng Kiến trúc mơ hình VGG-11 Layer (type) Conv2d BatchNorm2d MaxPool2d Conv2d BatchNorm2d MaxPool2d Conv2d BatchNorm2d Conv2d BatchNorm2d MaxPool2d Conv2d BatchNorm2d Conv2d BatchNorm2d MaxPool2d Conv2d BatchNorm2d Conv2d BatchNorm2d MaxPool2d AvgPool2d Linear Output Shape [-1, 64, 32, 32] [-1, 64, 32, 32] [-1, 64, 16, 16] [-1, 128, 16, 16] [-1, 128, 16, 16] [-1, 128, 8, 8] [-1, 256, 8, 8] [-1, 256, 8, 8] [-1, 256, 8, 8] [-1, 256, 8, 8] [-1, 256, 4, 4] [-1, 512, 4, 4] [-1, 512, 4, 4] [-1, 512, 4, 4] [-1, 512, 4, 4] [-1, 512, 2, 2] [-1, 512, 2, 2] [-1, 512, 2, 2] [-1, 512, 2, 2] [-1, 512, 2, 2] [-1, 512, 1, 1] [-1, 512, 1, 1] [-1, 10] Param # 1,792 128 73,856 256 295,168 512 590,080 512 1,180,160 1,024 2,359,808 1,024 2,359,808 1,024 2,359,808 1,024 0 5,130 VĨNH ANH NGHIÊM QUÂN cs 130 Khi tiến hành khảo sát mơ hình, chúng tơi thay tất hàm kích hoạt sau lớp tích chặp lẫn lớp kết nối đầy đủ (fully-connected) hàm đề cập mục Trong phần tiếp theo, khảo sát ảnh hưởng hàm kích hoạt đến CNN Các chi tiết thực nghiệm tập liệu, thang đo (tiêu chí đánh giá) giải thích cụ thể THỰC NGHIỆM VÀ KẾT QUẢ 4.1 Tập liệu Để đánh giá tác động hàm kích hoạt kể lên CNN tốn phân lớp hình ảnh, chúng tơi sử dụng hai tập liệu hình ảnh phổ biến CIFAR-10 MNIST Tập liệu MNIST (Modified National Institute of Standards and Technology)[6] tập chữ số viết tay từ 0-9 số hóa MNIST bao gồm 60,000 hình ảnh để huấn luyện 10,000 hình ảnh để kiểm định Mỗi phần tử tập kí tự số theo hệ màu xám đơn sắc (grayscale) nằm khung hình có kích thước chuẩn hóa (28x28) Nhãn phần tử kí tự số tương ứng hình ảnh phần tử Hình Tập liệu ký tự số MNIST Tập liệu CIFAR-10 (Canadian Institute For Advanced Research)[7] bao gồm 60,000 phần tử thuộc 10 lớp khác (mỗi lớp có 6,000 phần tử), 50,000 phần tử để huấn luyện 10,000 phần tử để kiểm định Mỗi phần tử hình ảnh màu đa sắc (RGB) có kích thước chuẩn hóa (32x32) Nhãn 10 lớp phần tử là: máy bay, xe hơi, chim chóc, mèo, hươu nai, chó, ếch, ngựa, tàu thủy xe tải Hình Các lớp phần tử tập liệu CIFAR-10 ẢNH HƯỞNG CỦA HÀM KÍCH HOẠT ĐẾN MƠ HÌNH MẠNG NƠRON TÍCH CHẬP 131 4.2 Thang đo DAWNBench[8] benchmark nhằm đánh giá hiệu mạng nơron sâu Theo [8], benchmark khác thường tập trung lấy thời gian huấn luyện minibatch liệu làm tiêu chi mà bỏ qua độ xác mơ hình Các tiêu chí DAWNBench đảm bảo việc đánh giá mơ hình phải cân nhắc thời gian huấn luyện lẫn độ xác mơ hình Để đánh giá ảnh hưởng hàm kích hoạt lên hiệu năng, dựa theo hai bốn tiêu chí đề cập DAWNBench, bao gồm thời gian huấn luyện mơ hình để đạt ngưỡng xác định thời gian suy diễn (inference time) hay trường hợp thời gian phân lớp mẫu từ mơ hình sau huấn luyện Chúng tơi bỏ qua hai tiêu chí lại (chi phí thuê phần cứng để huấn luyện suy diễn) thực nghiệm tiến hành phần cứng có sẵn Ngồi ra, để có nhìn tổng quát hơn, đưa thêm số tiêu chí tổng thời gian huấn luyện tần suất lỗi sau huấn luyện xong 4.3 Cấu hình phần cứng tinh chỉnh mơ hình Thực nghiệm tiến hành máy trạm với cấu sau: Ryzen 1600 3.8Ghz (6-core), 16GB RAM , NVIDIA GTX 1060 (6GB VRAM) Do giới hạn phần cứng độ phức tạp mơ hình, chúng tơi thực đánh giá việc huấn luyện sau 10 chu kỳ (epoch) tập MNIST 50 chu kỳ với tập CIFAR-10 Trong [8], tác giả có đề xuất việc sử dụng thuật tốn tối ưu SGD thay cho Adam[9] SGD với momentum cho độ xác cao số chu kỳ huấn luyện lớn (>100 chu kỳ) Tuy nhiên, điều đồng nghĩa với việc thực nghiệm tiến hành với số chu kỳ nhỏ, Adam đem lại mức độ hội tụ ban đầu cao tập huấn luyện kiểm thử Do đó, chúng tơi định lựa chọn thuật tốn tối ưu Adam thay cho SGD Ngoài ra, tác giả [8] đưa hai kết luận sau batch size Thứ nhất, batch size lớn hay nhỏ ảnh hưởng đến độ hội tụ thuật toán Thứ hai, batch size lớn đem lại thông lượng (throughput: số lượng hình ảnh xử lý / đơn vị thời gian) tối ưu, giúp giảm thời gian huấn luyện Cụ thể, [8], với batch size 32, mơ hình cần chu kỳ để đạt độ xác tối đa; batch size 256 cho độ xác tương đương (chênh lệch