Bài viết trình bày mối quan hệ giữa số lượng bản đồ đặc trưng và hiệu suất của mạng CNN; Đề xuất/cải tiến một mô hình bằng cách xây dựng một lớp mới gọi là “Reduced Dimension” để giảm số lượng bản đồ đặc trưng trên các mạng CNN.
Trang 1TRƯNG VÀ HIỆU SUẤT CỦA MẠNG CNN
Phùng Thị Thu Trang 1
Tóm tắt: Mạng thần kinh tích chập (Convolutional neural network - CNN) đã đạt
được những thành tựu to lớn trong thị giác máy tính Các mô hình sử dụng CNN được thiết kế để ngày càng sâu hơn, sử dụng nhiều bản đồ đặc trưng hơn để trích xuất nhiều tính năng từ hình ảnh đầu vào Trong công việc này, chúng tôi đề xuất/cải tiến một mô hình bằng cách xây dựng một lớp mới gọi là “Reduced Dimension” để giảm số lượng bản đồ đặc trưng trên các mạng CNN Công việc này giúp cho các mô hình nhẹ hơn và chi phí tính toán ít hơn Kết quả thử nghiệm trên một số kiến trúc mạng khác nhau cho thấy “Lớp giảm kênh” hoạt động tốt trên các mô hình sử dụng kĩ thuật sử dụng kết nối tắt đồng nhất như ResNet.
Từ khóa: Học sâu, Mạng thần kính tích chập, Lớp giảm kênh, Thị giác máy tính.
1 Giới thiệu
Học máy, đặc biệt là học sâu, đã đạt được những thành tựu to lớn trong nhiều lĩnh vực gần đây Các mô hình được xây dựng dựa trên mạng thần kinh tích chập đã đạt được hiệu suất cao Ví dụ, Alex và các cộng sự [1] đã xây dựng mạng có tên AlexNet đã giành chiến thắng trong cuộc thi nhận dạng đối tượng (ImageNet) với độ chính xác 57%
top-1 và 80.3% top-5 vào năm 20top-12 Trong các năm tiếp theo, nhiều mô hình biến thể dựa trên CNN, như ZFNet [2] năm 2013, GoogleNet [3] năm 2014, VGGNet [4] năm 2014, ResNet [5] năm 2015, đã giành chiến thắng trong cuộc thi này Ngoài phân loại hình ảnh, CNN thường được áp dụng cho nhiều bài toán về xử lý ảnh và thi giác máy tính như phát hiện đa đối tượng, chú thích hình ảnh, phân đoạn hình ảnh
Tuy nhiên, những mô hình được liệt kê ở trên được xây dựng với một số tham số lớn và chi phí tính toán phức tạp Ví dụ, vào năm 2012 mạng AlexNet đã sử dụng 60 triệu tham số và 727 triệu phép tính (727 triệu FLOP – FLOP được sử dụng theo như bài báo [8]) Năm 2014, VGG Net sử dụng 138 triệu tham số và xấp xỉ 30 tỷ phép tính Với một
số lượng lớn tham số và chi phí tính toán như vậy thì các mô hình sẽ gặp khó khăn lớn khi chạy với thời gian thực hoặc trên các thiết bị nhúng mà không có GPU hỗ trợ Do đó, xây dựng các mô hình nhẹ là một yếu tố rất quan trọng với chi phí tính toán thấp các mô hình nhẹ dễ dàng chạy trong thời gian thực và trên các thiết bị nhúng Hơn nữa, các mô hình nhẹ vẫn có thể đạt được độ chính xác xấp xỉ như các mô hình sâu Gần đây, đã có một số mô hình nhẹ được công bố như MobileNet [6], MobileNet V2 [7], ShuffleNet [8], ShuffleNet V2 [9], v.v
Trong bài báo này, chúng tôi trình bày một cách tiếp cận mới để giảm số lượng tham số và chi phí tính toán của các mô hình CNN Chúng tôi tiến hành thử nghiệm với 3
1 ThS., Trường ĐH Thái Nguyên
Trang 2loại mạng phổ biến được sử dụng gần đây là: CNN cơ bản, Depthwise CNN và Residual CNN Kết quả thử nghiệm cho thấy số lượng tham số và FLOPs có thể giảm gấp , , và độ chính xác cũng đạt gần tương tự lần so với các mô hình gốc Đóng góp chính của chúng tôi trong bài báo này là:
(1) Đề xuất một tầng mới mang tên Reduced Dimension có tác dụng làm giảm số lượng tham số và FLOPs
(2) Qua phân tích và đánh giá, chúng tôi thấy rằng Reduced Dimension Layer thích hợp với kiến trúc của mạng ResNet, hiệu suất của mô hình giảm đi không đáng kể nhưng tốc độ thực hiện nhanh hơn nhiều lần
Phần còn lại của bài báo được tổ chức như sau: Phần 2 cung cấp đánh giá về các công việc liên quan Cách tiếp cận mới được đề xuất trong phần 3 bao gồm mô tả chi tiết tầng Reduced Dimension và các mô hình được sử dụng để thử nghiệm Kết quả thử nghiệm, so sánh và phân tích được trình bày trong phần 4 và kết luận được đưa ra trong phần 5
2 Các công trình liên quan
Alexnet đã được đề xuất vào năm 2012 bởi Alex krizhesky cùng các cộng sự [1] Trong năm đó, AlexNet đã giành chiến thắng trong cuộc thi ImageNet với tỷ lệ lỗi top 5 thấp hơn 11% so với mô hình ở vị trí thứ hai AlexNet được xây dựng dựa trên kiến trúc của mạng LeNet nhưng thay vì sử dụng hàm kích hoạt tanh, tác giả đã đề xuất hàm kích hoạt ReLU để có tốc độ hội tụ nhanh hơn và chính xác hơn Sau thành công của AlexNet, ZFNet [2] đã giành chiến thắng vào năm 2013 với tỷ lệ lỗi xác thực top 5 là 16,5% ZFNet được cải thiện từ AlexNet bằng cách sử dụng kích thước bộ lọc 7 7 và stride = 2 trong lớp tích chập thứ nhất thay vì kích thước bộ lọc 11 11 và stride = 4 như trong Alexnet VGGNet được xuất bản bởi Karen Simonyan và Andrew Zisserman [4], VGGNet sử dụng bộ lọc 3 3 thay vì kích thước lớn hơn, giúp giảm số lượng tham số được sử dụng trong mô hình Tuy nhiên, VGGNet vẫn được coi là một mô hình rất lớn với số lượng tham số lần lượt là 138 triệu và 144 triệu tương ứng với VGG-16 và VGG-19 Không giống như VGGNet, GoogleNet (Inception v1) sử dụng các bộ lọc kích thước 11, kĩ thuật này được sử dụng để giảm kích thước mạng và hạn chế tắc nghẽn tính toán trong mạng Ngoài ra, các khối Inception được áp dụng trong GoogleNet giúp cho mô hình tìm hiểu được nhiều đặc tính khác nhau từ các kích cỡ khác nhau Khi kiến trúc mạng ngày càng trở nên sâu hơn, quá trình huấn luyện các mô hình trở nên khó khăn hơn vì vấn đề vanishing gradient Resnet [5] là một trong những mạng rất sâu với tối đa 152 lớp và là mô hình giành chiến thắng trong cuộc thi ImageNet năm 2015 Để giải quyết vấn đề vanishing gradient, ResNet đã sử dụng kỹ thuật kết nối tắt đồng nhất (skip connection hoặc shortcut connection) Kỹ thuật này giúp mô hình ít nhất không kém hơn so với mô hình nông Hơn nữa, với kỹ thuật này, các lớp trên nhận được nhiều thông tin trực tiếp hơn từ các lớp thấp hơn nên nó sẽ điều chỉnh trọng lượng hiệu quả hơn Khác với ResNet, đối với mỗi lớp có đầu vào được thêm từ duy nhất một lớp trước đó, nhưng trong Densenet, mỗi lớp có được
Trang 3đầu vào bổ sung từ tất cả các lớp trước Bằng việc nhận được tất cả các bản đồ đặc trưng
từ tất cả các lớp trước đó, mạng Densenet có thể kiến trúc mỏng hơn và gọn hơn, tức là
số lượng kênh có thể ít hơn Do đó, mạng Densenet cho hiệu quả tính toán và hiệu quả bộ nhớ cao hơn SENet [10] được đề xuất với việc sử dụng khối queeze-and-excitation (SE) trong kiến trúc mạng, SENET đã giành chiến thắng trong cuộc thi ImageNet năm 2017 với tỉ lệ lỗi top-5 là 3,79%
Có thể thấy rằng sau mỗi năm, các mô hình được thiết kế ngày càng phức tạp hơn, sâu hơn và nhiều tham số hơn nhằm mục đích tìm hiểu thêm các đặc trưng từ hình ảnh đầu vào Điều này dẫn đến các mô hình trở nên cồng kềnh và rất khó để triển khai trên các thiết
bị nhúng hoặc chạy trong thời gian thực Năm 2017, AG Howard cùng các cộng sự đã đề xuất một mô hình gọi là MobileNet [6] Thay vì sử dụng tích chập thông thường, mô hình MobileNet đã sử dụng tích chập Depthwise và Pointwise, bằng phương pháp tích chập mới này, số lượng phép tính đã giảm 8 đến 9 lần so với các tích chập thông thường với cùng kích thước hạt nhân là 33 Một phiên bản mới của MobileNet là có tên MobileNet v2 [7] được đề xuất bởi Mark Sandler cùng các cộng sự năm 2018 Với việc sử dụng các tích chập Depthwise và Pointwise kết hợp với kỹ thuật kết nối tắt đồng nhất, MobileNet v2 cho kết quả tốt hơn so với MobileNet trên nhiều bài toán khác nhau trong thị giác máy tính ShuffleNet [8] là một mô hình nhẹ lấy ý tưởng từ quá trình hoán đổi vị trí giữa các kênh và sử dụng tích chập nhóm 11 để hạn chế số lượng phép tính toán ShuffleNet có số lượng FLOP thấp hơn nhiều so với MobileNet trong khi độ chính xác vẫn tương đương
3 Phương pháp đề xuất
Trong phần này, chúng tôi đã trình bày phương pháp mới của chúng tôi để giảm số lượng tham số và FLOPS cho các mô hình CNN
3.1 Tầng Reduced Dimension
Thông thường, đầu ra của một lớp tích chập tổng quát thường là một tensor có kích thước B H W D trong đó B là batch size và H; W; D lần lượt là chiều cao, chiều rộng và kích thước của lớp đầu ra (Sau khi trải qua các lớp batch normalization và hàm kích hoạt trong giai đoạn này, thì
kích thước này vẫn không đổi)
Nó được gọi là bản đồ đặc trưng
của hình ảnh đầu vào Gọi một
khối tích chập bao gồm lớp tích
chập, lớp batch normalization
và lớp kích hoạt Tầng reduced
dimension là một lớp áp dụng
sau lớp lớp kích hoạt của mỗi
khối nhằm mục đích giảm chiều
D của tensor trước khi vào lớp
tích chập tiếp theo Hình 1 Tầng Reduced Dimension
Trang 4Hình 1 là một ví dụ của tầng reduced
dimension trong đó trong đó kích thước chiều D đã
được giảm đi một nửa Cách thức hoạt động của
tầng reduced dimension được mô tả như sau: Đầu
tiên, chia bản đồ đặc trưng ra thành các nhóm, mỗi
nhóm có số lượng đặc trưng là như nhau và bằng
m ví dụ m = {2; 4; 8; 16; …} (trong hình 1, chúng
tôi chọn m=2) Sau đó, mỗi nhóm này sẽ được áp
dụng một trong những phép toán sau: {max, add,
average} để gộp m ma trận đặc trưng trong mỗi
nhóm lại thành một ma trận đặc trưng Hình 2 mô tả
một ví dụ về phép toán max trong một nhóm gồm 2
ma trận đặc trưng
Giả sử, đầu vào của một tâng tích chập là H
W D, chúng ta sử dụng D’ bộ lọc ở tầng tích chập với mỗi bộ lọc có kích thước kernel là
k x k thì đầu ra của tầng tích chập sẽ có kích thước là H W D’ (chúng tôi giả sử rằng luôn
sử dụng zero padding để chiều H và W không đổi qua mỗi tâng tích chập) Vậy số lượng tham số được sử dụng trong tầng tích chập này sẽ là:
(1)
Và chi phí tính toán cho tầng tích chập này sẽ là:
(2) Tuy nhiên nếu áp dụng tầng reduced dimension trước khi vào tầng tích chập thì kích thước đầu vào của tầng tích chập được giảm đi m lần, lúc này số lượng tham số cần sử dụng trong tầng tích chập sẽ là:
(3)
Chi phí tính toán cho tầng tích chập sẽ được giảm đi m lần như trong công thức (4).
(4) Chi phí tính toán cho tầng reduced dimension được tính như sau: Do chúng ta nhóm
m ma trận đặc trưng lại thành một nhóm nên chúng ta sẽ có D/m nhóm Với mỗi nhóm,
chúng ta cần áp dụng một phép tính max, add hoặc average trong H W m lần Do đó, chi
phí tính toán cho tầng reduced dimension Layer sẽ như công thức (5)
(5) Lấy (4) cộng với (5) và so sánh với (2) chúng ta có:
Hình 2 Phép toán max trong tầng Reduced Dimension
Trang 5Một câu hỏi được đặt ra lúc này là: “Nếu chúng ta gộp các bản đồ đặc trưng lại với
nhau thông qua tầng reduced dimension thì có ảnh hưởng đến khả năng học tập và độ chính xác của mô hình không?” Đây là một câu hỏi hiển nhiên khi chúng ta quan sát một
cách trực quan sẽ thấy rằng số lượng bản đồ đặc trưng ít đi sẽ cho độ chính xác giảm đi Cũng giống như MobileNet [6], lớp tích chập được thay thế bằng tích chập Depthwise
và Pointwise, số lượng phép tính giảm đi, nhưng mạng xảy ra hiện tượng thắt cô chai và
độ chính xác của mô hình thường giảm đi không đáng kể so với sử dụng tích chập thông thường nhưng tốc độ của mô hình lại được cải thiện lên rất nhiều lần Tương tự như MobileNet, với các mô hình sử dụng tầng reduced dimension thì số lượng bản đồ đặc trưng bị giảm đi, do đó mỗi bản đồ đặc trưng phải mang nhiều thông tin hơn (Hình 2) nên
sẽ gây khó khăn hơn trong quá trình học tập của các lớp tiếp theo
3.2 Kiến trúc các mô hình
Để đánh giá hiệu quả của tầng reduced dimension, chúng tôi tiến hành xây dựng ba
mô hình với ba phương pháp
phổ biến hiện nay bao gồm: tích
chập thông thường, tích chập
depthwise (trong MobileNet)
và tích chập residual (trong
ResNet) Để thuận tiện hơn
trong việc trình bày kiến trúc
các mô hình, chúng tôi gộp
các tầng BN và ReLU lại cùng
với ba loại tích chập của ba mô
hình thành các khối được đặt
tên tương ứng là conv_block,
DW_block và res_block như
trong Hình 3
Bảng 1 mô tả chi tiết ba mô hình mà chúng tôi sử dụng Trong đó, conv_block(n), DW_block(n) và res_block(n) tức là các lớp tích chập trong nhóm này đều có số lượng bộ
lọc là n Giá trị s=2 tức là stride=2 (s=2) trường hợp không có s=2 thì mặc định các lớp
tích chập có stride=1 MaxPool(2,2) tức là tầng MaxPooling có pool size = 2 và stride = 2
Mô hình đầu tiên được gọi là mô hình basic, trong mô hình này các tầng được thiết kế bằng cách xen kẽ giữa các conv_block và maxpooling, cuối cùng là tầng global average pooling và tầng fully connected (FC) với hàm kích hoạt là softmax để đưa ra
dự đoán phân lớp Mô hình mobile được xây dựng dựa trên các tích chập depthwise and pointwise trong [6] Hai phép tích chập này cùng với tầng BN và ReLU được nhóm thành
Hình 3 Kiến trúc của mỗi khối trong các mô hình
Trang 6DW_block Trong đó mỗi DW_block sẽ nhận số bộ lọc tương ứng là 32, 64, 128 và mỗi DW_block sẽ được lặp lại ba lần Tích chập depthwise đầu tiên mỗi lần lặp sẽ có stride=2
nếu s=2 xuất hiện tại mỗi khối.
Tương tự như mô hình Mobile, mô hình Res sử dụng các res_block có số lượng
bộ lọc lần lượt là 32, 64 và 128 và mỗi res_block được lặp lại ba lần Lớp tích chập đầu tiên mỗi lần lặp sẽ có stride=2 Đối với các mô hình basic, mobile và res có sử dụng thêm tầng reduced dimension, chúng tôi áp dụng reduced dimension trước các tầng convolution trong các khối trừ conv_block(32) ở đầu mỗi mô hình Các thông số khác của các mô hình đều được giữ nguyên như trong Bảng 1
Bảng 1 Kiến trúc của ba mô hình
Mô hình Basic Mô hình Mobie Mô hình Res
Conv_block(64) DW_block(64, s=2) res_block(64, s=2)
Conv_block(128) DW_block(128, s=2) res_block(128, s=2)
4 Thử Nghiệm
4.1 Bộ dữ liệu và các thiết lập
Để đánh giá hiệu quả tầng reduced dimension trên ba mô hình ở trên, chúng tôi tiến hành thử nghiệm bộ dữ liệu CIFAR-100 Bộ dữ liệu CIFAR-100 bao gồm 60000 ảnh với
độ phân giải là 32 32 ứng với 100 lớp, mỗi lớp chứa 6000 ảnh Bộ dữ liệu CIFAR-100 được xây dựng bởi Alex Krizhevsky cùng các cộng sự năm 2009 [13] Trong bộ dữ liệu này, có 50,000 ảnh được sử dụng để huấn luyện và 10,000 ảnh được sử dụng để kiểm thử Tất cả các mô hình sử dụng và không sử dụng tầng reduced dimension đều được huấn luyện với cùng một hàm tối ưu là Adam Tỷ lệ học tập được thiết lập là 0.001 và giảm đi 10 lần nếu không cải thiện được giá trị lỗi trên tập validation Các hình ảnh trong
bộ dữ liệu được chia thành nhiều batch với kích thước mỗi batch gồm 32 ảnh Các kỹ thuật tăng dữ liệu được áp dụng trong quá trình huấn luyện bao gồm: lật ảnh, dịch chuyển ảnh theo chiều ngang, dịch chuyển ảnh theo chiều dọc và xoay hình ảnh Tất cả các mô hình đều được huấn luyện với 20 epochs và độ chính xác được tính trên tập ảnh thử nghiệm
4.2 Kết quả và phân tích
Bảng 2, mô tả độ chính xác của ba mô hình Basic, Mobile và Res khi sử dụng và không sử dụng tầng reduced dimension Trong đó, ta có thể thấy khi áp dụng tầng reduced dimension thì độ chính xác của các mô hình bị giảm đi, tuy nhiên ở các mô hình khác nhau
Trang 7thì sự giảm đi về độ chính xác cũng khác nhau Như trong mô hình Basic, độ chính xác bị
giảm đi tới 6.18% khi m=2 và tới 23.54% khi m=8 Với mô hình Res thì độ chính xác chỉ giảm 0.89% với m=2 và 9.13% với m=8 Có thể thấy rằng, reduced dimension hoạt động
tốt đối với mô hình sử dụng kết nối tắt đồng nhất
So sánh giữa các phép toán được sử dụng trong tầng reduced dimension, ta có thể
thấy độ chính xác giữa các phép toán này chênh lệch không quá nhiều Cụ thể, với m=8
thì sự chênh lệch về độ chính xác giữa phép toán max và phép toán average là 5.29% Bảng 2 So sánh kết quả ba mô hình sử dụng và không sử dụng tầng reduced dimension
Mô hình Basic Mô hình Mobile Mô hình Res Không sử dụng
Bảng 3 trình bày số lượng tham số được sử dụng và FLOP của mỗi mô hình Trong
đó ta có thể thấy với m càng tăng thì số lượng tham số tham số và FLOP của các mô hình càng giảm
Bảng 3 So sánh số lượng tham số và FLOP của ba mô hình sử dụng và không sử dụng reduced dimension
Mô hình Basic Mô hình Mobile Mô hình Res
Số lượng tham số FLOP (triệu) Số lượng tham số FLOP (triệu) Số lượng tham số FLOP (triệu) Không sử dụng
reduced dimension 106,820 10.35 78,340 10.74 1,100,132 162.79
Với số lượng tham số ít hơn và FLOP nhỏ hơn, các mô hình sử dụng reduced dimension có thể dễ dàng chạy trong thời gian thực và trên các thiết bị nhúng mà không
có GPU hỗ trợ
Trang 85 Kết luận
Trong bài báo này, chúng tôi trình bày một phương pháp mới gọi là tầng reduced dimension giúp giảm số lượng tham số và FLOP trong các mô hình CNN Tầng reduced dimension hoạt động bằng cách gộp các ma trận đặc trưng trong các nhóm lại với nhau thành một ma trận đặc trưng duy nhất Chúng tôi cũng đề xuất ba phép toán gộp các ma trận đặc trưng bao gồm: max, average và add Thử nghiệm tầng reduced dimension trên
ba mô hình với ba loại kiến trúc khác nhau cho thấy khi chúng ta gộp càng nhiều ma trận đặc trưng lại với nhau thì độ chính xác của mô hình ngày càng giảm Kết quả thử nghiệm cho thấy reduced dimension hoạt động tốt đối với mô hình có sử dụng kết nối tắt đồng nhất Trong tương lai, chúng tôi sẽ cải thiện tầng reduced dimension để có kết quả tốt hơn trên nhiều kiến trúc khác nhau của mạng CNN Ngoài ra, chúng tôi cũng sẽ thử nghiệm reduced dimension trên một số bài toán khác nữa trong lĩnh vực thị giác máy tính
TÀI LIỆU THAM KHẢO
[1] A Krizhevsky, I Sutskever, and G E Hinton, “Imagenet classification with deep convolutional neural networks,” in Advances in neural infor-mation processing systems, 2012, pp 1097–1105
[2] M D Zeiler and R Fergus, “Visualizing and understanding convolu-tional networks,” in European conference on computer vision Springer,2014, pp 818– 833
[3] C Szegedy, W Liu, y Jia, P Sermanet, S Reed, D Anguelov, D Erhan, V Vanhoucke, and A Rabinovich, “Going deeper with convolutions,” in Proceedings
of the IEEE conference on computer vision and pattern recognition, 2015, pp 1–9 [4] K Simonyan and A Zisserman, “Very deep convolutional networks for large-scale image recognition,” arXiv preprint arXiv:1409.1556, 2014
[5] K He, X Zhang, S Ren, and J Sun, “Deep residual learning for image recognition,”
in Proceedings of the IEEE conference on computer vision and pattern recognition,
2016, pp 770–778
[6] A G Howard, M Zhu, B Chen, D Kalenichenko, W Wang, T Weyand, M Andreetto, and H Adam, “Mobilenets: Efficient convo-lutional neural networks for mobile vision applications,” arXiv preprint arXiv:1704.04861, 2017
[7] M Sandler, A Howard, M Zhu, A Zhmoginov, and L.-C Chen, “Mobilenetv2: Inverted residuals and linear bottlenecks,” in Proceedings of the IEEE conference
on computer vision and pattern recognition, 2018, pp 4510–4520
[8] X Zhang, X Zhou, M Lin, and J Sun, “Shufflenet: An extremely effi-cient convolutional neural network for mobile devices,” in Proceedings of the IEEE conference on computer vision and pattern recognition, 2018, pp 6848–6856 [9] N Ma, X Zhang, H.-T Zheng, and J Sun, “Shufflenet v2: Practical guidelines for
Trang 9efficient cnn architecture design,” in Proceedings of the European Conference on Computer Vision (ECCV), 2018, pp 116–131
[10] A Krizhevsky, G Hinton et al., “Learning multiple layers of features from tiny images,” 2009
Title: RELATIONSHIP BETWEEN FEATURE MAPS
AND PERFORMANCE ON CNN
PHUNG THI THU TRANG
Thai Nguyen University
Abstract: Convolutional neural network (CNN) has achieved great achievements
in computer vision Models that use CNN are designed to be deeper and deeper, using more featured maps to extract more features from the input image In this work, we propose/improve a model by building a new layer called “Reduced Dimension” to reduce the number of feature maps on CNNs This work makes the model shallower and less computational cost Experiment results on some different network architectures show that
“Reduced Dimension” works well on models that use skip connection technology such
as ResNet.
Keywords: Deep learning, Convolutional neural network, Reduced dimension,
Computer vision.