Nhận dạng hình ảnh tự nhiên sử dụng mô hình mạng neuron tích chập

Tóm tắt - Gần đây, kỹ thuật Deep Learning đã tạo ra những bước

tiến lớn trong việc giải quyết các bài toán về thị giác máy tính. Bằng

cách sử dụng kiến trúc mạng neuron mới – mạng neuron tích chập

(Convolutional Neural Network - CNN) –, ta có thể khắc phục được

những trở ngại của mạng neuron truyền thống, tức dạng Perceptron

đa lớp (Multilayer Perceptrons - MLP), và từ đó giúp việc huấn luyện

mạng neuron hiệu quả hơn. Tuy nhiên, kiến trúc MLP cũng có những

ưu điểm đối với việc xử lý cục bộ trong miền không gian. Bài báo

trình bày một kiến trúc kết hợp giữa CNN và MLP để khai thác ưu

điểm của hai kiến trúc này trong việc nhận dạng hình ảnh tự nhiên.

Vai trò của các khối chức năng trong mạng sẽ được phân tích và

đánh giá thông qua tỉ lệ nhận dạng. Việc đánh giá được thực hiện

với bộ dữ liệu ảnh tự nhiên CIFAR-10. Quá trình thực nghiệm đã cho

thấy những kết quả hứa hẹn về tỉ lệ nhận dạng, cũng như thể hiện

được ưu điểm của kiến trúc kết hợp CNN và MLP.

pdf 5 trang phuongnguyen 4180
Bạn đang xem tài liệu "Nhận dạng hình ảnh tự nhiên sử dụng mô hình mạng neuron tích chập", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Nhận dạng hình ảnh tự nhiên sử dụng mô hình mạng neuron tích chập

Nhận dạng hình ảnh tự nhiên sử dụng mô hình mạng neuron tích chập
ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, SỐ 5(126).2018, Quyển 1 105 
NHẬN DẠNG HÌNH ẢNH TỰ NHIÊN 
SỬ DỤNG MÔ HÌNH MẠNG NEURON TÍCH CHẬP 
NATURAL IMAGE RECOGNITION BASED ON CONVOLUTIONAL NEURAL NETWORK 
Vương Quang Phước1, Hồ Phước Tiến2 
1Trường Đại học Khoa học - Đại học Huế; vqphuoc@husc.edu.vn 
2Trường Đại học Bách khoa - Đại học Đà Nẵng; hptien@dut.udn.vn 
Tóm tắt - Gần đây, kỹ thuật Deep Learning đã tạo ra những bước 
tiến lớn trong việc giải quyết các bài toán về thị giác máy tính. Bằng 
cách sử dụng kiến trúc mạng neuron mới – mạng neuron tích chập 
(Convolutional Neural Network - CNN) –, ta có thể khắc phục được 
những trở ngại của mạng neuron truyền thống, tức dạng Perceptron 
đa lớp (Multilayer Perceptrons - MLP), và từ đó giúp việc huấn luyện 
mạng neuron hiệu quả hơn. Tuy nhiên, kiến trúc MLP cũng có những 
ưu điểm đối với việc xử lý cục bộ trong miền không gian. Bài báo 
trình bày một kiến trúc kết hợp giữa CNN và MLP để khai thác ưu 
điểm của hai kiến trúc này trong việc nhận dạng hình ảnh tự nhiên. 
Vai trò của các khối chức năng trong mạng sẽ được phân tích và 
đánh giá thông qua tỉ lệ nhận dạng. Việc đánh giá được thực hiện 
với bộ dữ liệu ảnh tự nhiên CIFAR-10. Quá trình thực nghiệm đã cho 
thấy những kết quả hứa hẹn về tỉ lệ nhận dạng, cũng như thể hiện 
được ưu điểm của kiến trúc kết hợp CNN và MLP. 
 Abstract - Recently, Deep Learning has brought about interesting 
improvements in solving computer vision problems. By using a new 
specific architecture, i.e. Convolutional Neural Network (CNN), 
which has more advantages than the traditional one - known as 
Multilayer Perceptrons (MLP) -, we can improve performance of the 
training process. Yet, the MLP architecture is also useful for 
localized processing in the spatial domain. This paper considers an 
architecture combining both CNN and MLP to exploit their 
advantages for the problem of natural image recognition. The 
functional blocks in the network are analyzed and evaluated using 
recognition rate. The evaluation is carried out with a well-known 
dataset (CIFAR-10). The experiment shows promising results as 
well as benefits of a combination of the CNN and MLP 
architectures. 
Từ khóa - deep learning; neuron network; MLP; CNN; mô hình kết 
hợp; nhận dạng hình ảnh; CIFAR-10. 
Key words - deep learning; neural network; MLP; CNN; 
combination of models; image recognition; CIFAR-10. 
1. Đặt vấn đề 
Deep Learning là một kỹ thuật của Machine Learning, 
cho phép huấn luyện mạng neuron nhiều lớp, cùng với một 
lượng dữ liệu lớn. Hiện nay, Deep Learning được ứng dụng 
nhiều trong các lĩnh vực thị giác máy tính, xử lý tiếng nói, 
hay xử lý ngôn ngữ tự nhiên với độ chính xác vượt trội so 
với các phương pháp truyền thống. 
Nhìn chung, những kết quả của Deep Learning gắn liền 
với mạng CNN khi cho phép thực hiện mạng neuron nhiều 
lớp và khai thác mối quan hệ không gian (ví dụ với hình 
ảnh) [1, 2]. Gần đây, Lin [3] đã đề xuất ý tưởng kết hợp 
mạng CNN với MLP truyền thống, trong đó MLP cho phép 
khai thác thông tin cục bộ. Thật ra, MLP cũng có thể xem 
như là trường hợp riêng của CNN khi mà vùng kích thích 
(receptive field) có kích thước là 1x1. Để nhấn mạnh đặc 
điểm của cấu trúc này, sau đây nhóm tác giả vẫn sẽ sử dụng 
tên gọi MLP. 
Bài báo này trình bày phương pháp giải quyết bài toán 
phân loại hình ảnh tự nhiên dựa trên mô hình kết hợp giữa 
mạng neuron tích chập (CNN) và mạng neuron truyền 
thống (MLP). Kiến trúc này giúp khai thác ưu điểm của 
mỗi kiểu mạng, nhằm nâng cao tỉ lệ nhận dạng ảnh. Ngoài 
ra, vai trò của số lượng khối con, tốc độ học (learning rate), 
cũng như cách loại bỏ ngẫu nhiên một số neuron trong 
mạng (dropout), hay quá trình tiền xử lý dữ liệu tác động 
đến kết quả nhận dạng sẽ được phân tích cụ thể trong phần 
thực nghiệm. 
2. Mô hình kết hợp giữa MLP và CNN 
Bản thân mỗi kiểu mạng MLP và CNN là một chủ đề 
lớn. Trong khuôn khổ giới hạn của bài báo, nhóm tác giả 
sẽ cố gắng trình bày những đặc điểm cơ bản về hai kiểu 
mạng neuron này, trước khi đi vào một kiến trúc kết hợp 
giữa CNN và MLP. Chi tiết về MLP và CNN có thể được 
tìm thấy ở [4]. 
2.1. Perceptron và Multi-layers Perceptron (MLP) 
Một Perceptron có các ngõ vào nhị phân xj và được gán 
tương ứng các trọng số wj - thể hiện mức tác động của ngõ 
vào đến ngõ ra [4]. 
Hình 1. Mô hình Perceptron đơn giản 
Ngõ ra sẽ được xác định là 1/0 phụ thuộc vào ∑ wjxjj 
lớn/bé hơn giá trị ngưỡng threshold: 
output = 
{
 0 nếu∑ wjxj 
j
≤ threshold
1 nếu ∑ wjxj
j
 > threshold
 (1) 
Tuy nhiên, Perceptron chỉ giải quyết được các bài toán 
tuyến tính đơn giản, mạng Perceptron đa lớp (MLP) được 
phát triển để giải các bài toán phức tạp hơn. 
Cấu trúc MLP gồm một lớp đầu vào, một lớp đầu ra và 
một hay nhiều lớp neuron ẩn. 
Các lớp ẩn sẽ làm nhiệm vụ tính toán và truyền thông 
tin từ ngõ vào đến ngõ ra, thông qua các kết nối đến toàn 
bộ node ở lớp phía trước và phía sau. 
x1 
x2 
w1 
w2 
output 
106 Vương Quang Phước, Hồ Phước Tiến 
Hình 2. Mô hình mạng MLP với 3 lớp ẩn [4] 
2.2. Mạng neuron tích chập (CNN) 
Về cơ bản, CNN bao gồm một vài lớp tích chập với các 
hàm kích hoạt phi tuyến áp vào đầu ra của lớp tích chập. 
Trong mạng MLP, mỗi neuron đầu vào được kết nối đến 
tất cả neuron của lớp kế tiếp. Ngược lại, ở mạng CNN, mỗi 
neuron trong một lớp chỉ liên kết với một số neuron lân cận 
với nó trong lớp kế trước. Lớp tích chập được thực hiện 
thông qua các bộ lọc: mỗi bộ lọc cho phép trích xuất một 
thuộc tính, như tần số, hướng; từ đó tạo nên bản đồ thuộc 
tính (feature map). Thông tin được lan truyền theo các lớp 
từ trước ra sau. Lớp cuối cùng thực hiện đánh giá để đưa ra 
quyết định ở ngõ ra. Một mô hình CNN cơ bản [1] được 
minh họa ở Hình 3. 
Hình 3. Minh họa mô hình cấu trúc mạng CNN Lenet: 
Input → [Conv → Pool]*2 → FC → Output 
2.3. Kết hợp MLP và CNN 
Với mạng CNN, các lớp tích chập cho phép khai thác 
thông tin trong miền không gian (ví dụ giữa các pixel lân 
cận nhau), nhưng không thực sự khai thác thông tin cục bộ 
(ví dụ, tại một pixel nhưng giữa các feature map khác 
nhau). Chính mạng MLP sẽ tập trung vào kiểu thông tin 
cục bộ này. 
Hình 4. (a) Khai thác thông tin theo miền không gian ở mô hình 
CNN, (b) Khai thác thông tin cục bộ ở mô hình MLP 
Hình 4 minh họa phương thức xử lý của CNN và MLP. 
Sau đây, ta sẽ xem xét các lớp chính trong kiến trúc kết hợp 
CNN-MLP, cũng như mô hình tổng thể của nó. 
2.3.1. Lớp kết hợp CNN+MLP 
Mạng MLP được thực hiện sau phép tích chập. Thực tế, 
thông qua nhiều bộ lọc, tích chập tạo ra nhiều feature map. 
Sau đó, MLP sẽ được áp dụng tại mỗi pixel nhưng với tất 
cả các thuộc tính (feature). Hình 5 minh họa lớp tích chập 
và sự kết hợp của lớp tích chập và MLP. 
(a) (b) 
Hình 5. (a) Lớp tích chập trong CNN; 
(b) Lớp tích chập kết hợp với MLP (vẽ lại theo [3]) 
2.3.2. Hàm kích hoạt phi tuyến 
Mô hình sử dụng hàm ReLU (Rectified Linear Units 
Layers) để làm hàm kích hoạt phi tuyến. Mục đích của lớp 
này là để thêm thành phần phi tuyến cho mô hình. Các lớp 
ReLU được thêm vào vì những ưu điểm dễ thiết lập, tính 
toán nhanh và hiệu quả. 
Công thức tính hàm ReLU: 
Hình 6. Lớp ReLU chuyển đổi tất cả các giá trị âm về 0 
2.3.3. Pooling 
Mục đích chính của các lớp Pooling [5] là để giảm kích 
thước dữ liệu, từ đó giảm tính toán trong mạng, đồng thời 
hạn chế overfitting – vấn đề này xảy ra khi mạng bám quá 
sát vào bộ dữ liệu huấn luyện. Pooling có thể xem như là 
phép lấy mẫu xuống. Mô hình được chọn sử dụng hai loại 
Pooling phổ biến hiện nay là Max Pooling - sử dụng cho các 
khối con, và Average Pooling - để xử lý thông tin toàn cục. 
2.3.4. Dropout 
Lớp Dropout nhằm giảm hiện tượng overfitting. 
Dropout loại bỏ một cách ngẫu nhiên một số neuron trong 
mạng bằng cách cho nó bằng 0 (bỏ kết nối). Có nghĩa là hệ 
thống sẽ quyết định ngõ ra trong khi thiếu thông tin. Lớp 
Dropout được đặc trưng bằng tỉ lệ dropout. 
Hình 7. Mạng neuron trước và sau quá trình Dropout, các node 
gạch chéo là các node đã bị loại bỏ [6] 
Ta sẽ xem xét ảnh hưởng của tỉ lệ này đến kết quả nhận 
dạng trong phần thực nghiệm. Quá trình loại bỏ ngẫu nhiên 
các node được minh họa trong Hình 7. 
x 
f(x) = max(0,x) 
ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, SỐ 5(126).2018, Quyển 1 107 
2.3.5. Hàm tổn hao 
Hàm tổn hao Softmax đặt ở lớp cuối cùng trong mạng 
nhằm thực hiện giám sát quá trình huấn luyện mạng 
neuron. Hàm tổn hao sẽ so sánh kết quả dự đoán của mạng 
với nhãn thực sự đã có. Hàm có giá trị bé nếu kết quả dự 
đoán trùng với nhãn và ngược lại. 
l(y,c) = -log
eyc
∑ eykCk=1
= -y
c
+ log∑ eyk
C
k=1
 (2) 
Trong đó, y là véc-tơ đầu ra, C là số lượng nhãn, c là 
nhãn đã biết. 
Quá trình huấn luyện nhằm cập nhật các trọng số để tối 
thiểu hóa hàm tổn hao. Trong mô hình này, cũng như trong 
các mô hình Deep Learning khác, kỹ thuật lan truyền 
ngược được sử dụng cho quá trình huấn luyện. 
2.3.6. Mô hình kết hợp CNN-MLP 
Mô hình kết hợp (gọi là CNN-MLP) được xây dựng dựa 
trên ý tưởng Network in Network [3]. Cấu trúc NiN được 
đề xuất gồm 3 khối con nối tiếp và 1 lớp Average Pooling. 
Khối con hình thành dựa trên việc xen kẽ các cấu trúc 
CNN, MLP, các hàm kích hoạt phi tuyến ReLU, các lớp 
Max Pooling [5, 7], và cuối cùng là lớp Dropout để giảm 
hiện tượng overfitting. Các khối con này được sắp xếp liền 
kề nhau. Sau đó, thông tin được đưa vào lớp Average 
Pooling và lớp Softmax để quyết định giá trị ngõ ra. 
Tiếp theo, ta sẽ khảo sát mô hình trên đây để làm rõ ưu 
điểm của mô hình kết hợp CNN-MLP so với mô hình CNN 
đơn thuần. Bên cạnh đó, một số yếu tố ảnh hưởng đến mô 
hình cũng sẽ được đánh giá. 
3. Thực nghiệm và kết quả 
Bài báo sử dụng bộ cơ sở dữ liệu ảnh tự nhiên CIFAR-
10 [2] để đánh giá các mô hình. CIFAR-10, chứa 60.000 
ảnh màu, được chia thành 10 nhóm, mỗi nhóm ứng với một 
loại đối tượng như máy bay, mèo, xe tải... Mỗi ảnh có kích 
thước 32x32. Ảnh trong CIFAR-10 có sự đa dạng về độ 
chiếu sáng, hướng, vị trí, tỉ lệ của các đối tượng. 
Bộ dữ liệu này được chia thành hai phần: 50.000 ảnh 
dành cho huấn luyện, 10.000 ảnh còn lại dành cho kiểm tra. 
Sự phân chia này được dùng chung cho tất cả các mô hình 
được đánh giá trong bài báo này. 
Mèo Máy bay Xe tải Chó Chim 
Hình 8. Một số hình ảnh được chọn ngẫu nhiên từ bộ dữ liệu 
CIFAR-10 (kích thước 32x32) 
Tỉ lệ lỗi được chọn làm tiêu chí để đánh giá chất lượng 
nhận dạng của các mô hình, và được định nghĩa như sau: 
Tỉ lệ lỗi = 
Số lượng ảnh nhận dạng sai
Tổng số ảnh được nhận dạng
 × 100 (3) 
Ta thấy rằng: 
Tỉ lệ nhận dạng đúng = 100 - tỉ lệ lỗi (4) 
Quá trình thực nghiệm các mô hình được thực hiện dựa 
trên máy tính cá nhân, với cấu hình như sau: Intel Core i5-
5200U 2.2GHz (4CPU), RAM 4GB, GPU NVIDIA 
Geforce 940M - VRAM 2GB. Thời gian huấn luyện mô 
hình xấp xỉ 18 giờ, ứng với 100 chu kỳ học (mỗi chu kỳ 
học/vòng lặp/epoch mất khoảng 11 phút để hoàn thành). 
MatConvNet [8] được dùng cho việc huấn luyện. 
Sau đây ta sẽ đánh giá vai trò của MLP khi kết hợp với 
mạng CNN, cũng như ảnh hưởng của cấu trúc mạng đến 
kết quả nhận dạng. 
3.1. So sánh cấu trúc CNN thuần và cấu trúc kết hợp 
Để đánh giá chất lượng của mô hình mạng kết hợp trong 
việc nhận dạng hình ảnh tự nhiên, nhóm tác giả thực hiện 
so sánh kết quả mô hình LeNet (chỉ sử dụng CNN) và mô 
hình có kết hợp giữa CNN và MLP. 
Hình 9. So sánh tỉ lệ lỗi giữa mô hình LeNet và CNN-MLP 
Hình 9 thể hiện tỉ lệ lỗi về nhận dạng ảnh trên tập kiểm 
tra của bộ dữ liệu CIFAR-10 đối với 2 mô hình LeNet và 
CNN-MLP. Trong đánh giá này, LeNet được giữ nguyên 
theo thiết kế ở [1] và được minh họa tại Hình 3; mô hình 
CNN-MLP sử dụng cấu trúc với 3 khối con, theo ý tưởng ở 
[3]. Cả hai mô hình này đều được huấn luyện cho đến khi tỉ 
lệ nhận dạng đúng không còn thay đổi đáng kể trong các chu 
kỳ học liên tiếp (sau 100 vòng lặp). Kết quả huấn luyện và 
kiểm tra cho thấy, tỉ lệ lỗi giảm từ 19,55% (LeNet) xuống 
còn 10,13% (CNN-MLP). Kết quả này chứng tỏ rằng, quá 
trình kết hợp thêm MLP đã góp phần nâng cao chất lượng 
nhận dạng so với việc chỉ sử dụng CNN đơn thuần. 
Trên thực tế, khác biệt chính giữa mạng LeNet và 
CNN-MLP nằm ở chỗ không có và có MLP; trong khi cách 
xử lý trong khối CNN tương đối giống nhau giữa hai mạng 
này. Như vậy, khi được thực hiện sau phép tích chập, MLP 
tăng cường thêm phần xử lý cục bộ (tại mỗi vị trí không 
gian, nhưng trên các thuộc tính khác nhau – minh họa tại 
Hình 4), và có thể điều này đã cho phép trích ra những 
thuộc tính hữu ích hơn cho việc nhận dạng. 
3.2. Tác động của tốc độ học – Learning Rate (LR) 
Việc lựa chọn giá trị LR ảnh hưởng đến sự thay đổi tốc 
độ học của mô hình (sự thay đổi của các trọng số). Việc sử 
dụng LR thích hợp sẽ giúp rút ngắn được quá trình huấn 
luyện của mạng. Ở đây, nhóm tác giả sử dụng giá trị LR 
lớn cho các chu kỳ học đầu, giúp quá trình học nhanh hơn, 
sau đó thực hiện giảm LR đi 10 lần cho các chu kỳ học sau 
để quá trình tinh chỉnh các giá trị huấn luyện tốt hơn. 
Hình 10 mô tả kết quả nhận dạng khi thay đổi LR, quá 
trình thay đổi được thực hiện tại vòng lặp (chu kỳ học) thứ 
61 và vòng lặp thứ 81. 
1
9
,5
5
1
0
,1
3
Lenet CNN-MLP
Tỉ lệ lỗi (%)
Kiểm tra
108 Vương Quang Phước, Hồ Phước Tiến 
Hình 10. Tác động của learning rate đến kết quả nhận dạng 
Qua kết quả được đưa ra ở Hình 10, có thể dễ dàng nhận 
thấy một số đặc điểm thú vị sau. Đầu tiên, kết quả kiểm tra 
gần như chỉ dao động xung quanh mức tỉ lệ lỗi 15% trước 
khi có sự thay đổi về learning rate xảy ra. Thứ hai, việc 
thay đổi tỉ lệ LR đã tạo ra bước nhảy vọt về tỉ lệ nhận dạng 
lỗi trong cả quá hình huấn luyện lẫn kiểm tra như kết quả 
tại vòng lặp thứ 61 (tỉ lệ lỗi trên tập kiểm tra hạ xuống 
~11%). Cuối cùng, tại lần giảm giá trị LR ở vòng lặp thứ 
81 thì tỉ lệ nhận dạng không có sự thay đổi rõ rệt, mô hình 
gần như đạt đến trạng thái giới hạn và tỉ lệ nhận dạng đúng 
đạt ngưỡng gần tối đa. 
3.3. Vai trò của Dropout 
Như đã đề cập ở phần trên, các lớp Dropout loại bỏ một 
số ngẫu nhiên các neuron, từ đó giúp cho quá trình huấn 
luyện không bị overfitting. Ta đánh giá vai trò của lớp 
Dropout trong việc nhận dạng hình ảnh thông qua việc sử 
dụng các tỉ lệ dropout khác nhau: 0% (tức không sử dụng 
lớp dropout), 30%, 50%, 70% và 90%. Chú ý rằng tỉ lệ 
dropout thể hiện tỉ lệ neuron được loại bỏ. 
Với nội dung khảo sát khá nhiều, nhóm tác giả chỉ thực 
hiện khảo sát trên mô hình có 3 khối con (với các giá trị 
Dropout khác nhau) và ứng với mỗi mô hình, thực hiện 
huấn luyện trong 60 chu kỳ học. Kết quả đưa ra thể hiện xu 
thế học của mô hình và được mô tả ở Bảng 1. 
Bảng 1. Tỉ lệ lỗi khi thay đổi giá trị Dropout của hệ thống 
 0% 30% 50% 70% 90% 
Huấn luyện 9,31 11,35 13,43 17,1 27,7 
Kiểm tra 14,49 14,19 15,16 16,59 23,47 
Thông qua kết quả nhận được, ta thấy mô hình không 
có lớp Dropout cho tỉ lệ lỗi khi huấn luyện thấp nhất 
(9,31%). Nhưng độ chênh lệch tỉ lệ lỗi giữa quá trình huấn 
luyện và kiểm tra lại cao hơn so với các trường hợp khác. 
Mối quan hệ giữa tỉ lệ dropout, tỉ lệ lỗi khi huấn luyện 
và kiểm tra cho thấy được hiện tượng overfitting rõ ràng ở 
trường hợp không có lớp Dropout. Hiện tượng này giảm 
dần khi tăng tỉ lệ dropout. Tuy nhiên, khi tỉ lệ dropout quá 
lớn, ví dụ 90%, thì tỉ lệ lỗi nhận dạng trong huấn luyện và 
kiểm tra đều tăng vọt (thể hiện quá trình underfitting). 
Nguyên nhân gây ra hiện tượng này là thông tin bị mất khá 
nhiều trong quá trình xử lý dẫn đến phân loại không được 
chính xác. 
Thực tế, để có được tỉ lệ phân loại tối ưu nhất, yêu cầu 
phải thực hiện thử nghiệm nhiều tỉ lệ khác nhau và riêng lẻ 
cho từng mô hình. 
3.4. Ảnh hưởng của số lượng khối con trong mô hình kết 
hợp CNN-MLP 
Cho đến nay, giải thích chặt chẽ sự hoạt động của mô 
hình mạng neuron nhiều lớp (Deep Learning), ví dụ bằng 
cách sử dụng mô hình toán học, vẫn còn là câu hỏi mở. Nói 
chung, cấu trúc mạng neuron được lựa chọn bằng cách dựa 
trên kết quả đầu ra, ứng với một công việc cụ thể. Theo 
cách tiếp cận trên, bài báo này cũng xem xét ảnh hưởng của 
số lượng các khối con lên khả năng nhận dạng của mạng 
kết hợp CNN-MLP. 
Chú ý rằng, mỗi khối con chính là khối kết hợp chứa cả 
CNN, MLP, ReLU, Pooling, và Dropout. 
Hình 11. Tỉ lệ lỗi khi thay đổi số lượng khối con trong 
mô hình kết hợp 
Giữ nguyên cấu trúc các khối con, tăng số lượng các 
khối con từ 3 khối lên 4 khối và 5 khối, kết quả nhận được 
như Hình 11 (sau 100 vòng lặp). Trong trường hợp tăng số 
lượng các khối, tỉ lệ lỗi khi huấn luyện (màu xanh) tăng lên 
trong khi giá trị tỉ lệ lỗi khi kiểm tra không thay đổi quá 
lớn, cho thấy đã hạn chế được hiện tượng overfitting. Tuy 
nhiên, ở trường hợp sử dụng 4 khối con, tỉ lệ lỗi trong quá 
trình kiểm tra lại tốt hơn (10,13% → 9,89%). Và khi tăng 
số khối lên 4 hoặc 5, độ chênh lệch tỉ lệ nhận dạng sai trong 
quá trình kiểm tra và huấn luyện có xu hướng hạ xuống so 
với 2 trường hợp trước. 
Như vậy, ở đây ta có thể có hai nhận xét sau. Thứ nhất, 
tăng số lượng khối con có thể làm tăng tỉ lệ nhận dạng 
đúng, ví dụ trường hợp dùng 4 khối con - với tỉ lệ nhận 
dạng đúng lên đến 90,11% (tỉ lệ lỗi 9,89%); tức là mạng 
nhiều lớp hơn có khả năng cao hơn trong việc học được 
những thuộc tính quan trọng và cần thiết cho quá trình nhận 
dạng. Thứ hai, khi tăng số lượng khối con thì độ chênh lệch 
giữa tỉ lệ lỗi trên tập kiểm tra so với tập huấn luyện có xu 
hướng giảm. Điều này chứng tỏ mạng có xu thế hạn chế 
hiện tượng overfitting khi số lượng khối con tăng lên. Và 
còn có thể tăng thời gian huấn luyện để cải thiện kết quả. 
Trong bài báo này, do giới hạn về tài nguyên phần cứng 
nên nhóm tác giả chỉ dừng lại ở mô hình với 5 khối con. 
Có thể kết quả sẽ được cải thiện tốt hơn khi tăng số lượng 
khối con và tăng thời gian huấn luyện. 
3.5. Tác động chuẩn hóa dữ liệu và whitening 
Ngoài việc khảo sát mô hình mạng kết hợp dựa trên các 
siêu tham số, tác động của việc chuẩn hóa dữ liệu và 
whitening cũng được đánh giá. Mô hình sử dụng đánh giá 
là mô hình kết hợp đơn giản, với 3 khối con CNN-MLP 
5
,8
3
6
,8
6
7
,61
0
,1
3
9
,8
9
1
0
,5
2
3 Block 4 Block 5 Block
Tỉ lệ lỗi (%)
Huấn luyện Kiểm tra
ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, SỐ 5(126).2018, Quyển 1 109 
như trong một số khảo sát đã thực hiện. Kết quả nhận được 
sau khi thực hiện 45 vòng lặp huấn luyện, lựa chọn với tỉ 
lệ dropout 0,5, áp dụng giảm learning rate tại vòng lặp thứ 
40. Bảng 2 thể hiện kết quả khảo sát được trong trường hợp 
có và không có tiền xử lý dữ liệu. 
Bảng 2. Kết quả nhận dạng trong trường hợp có và 
không có tiền xử lý dữ liệu 
Mô hình Tỉ lệ kiểm tra lỗi (%) 
1 
Thực hiện tiền xử lý dữ liệu 
(chuẩn hóa + whitening) 
11,61 
2 Không thực hiện chuẩn hóa 12,26 
3 Không thực hiện whitening 15,95 
4 Không thực hiện tiền xử lý 15,36 
Dựa vào các kết quả trên ta nhận thấy được kết quả nhận 
dạng của mô hình (1) là tốt nhất, và giảm dần theo thứ tự 
(2), (4), (3). 
Quá trình chuẩn hóa dữ liệu có tác động đến kết quả 
phân loại, tuy nhiên ảnh hưởng không lớn (chênh lệch 
~0,6% - xét trên tỉ lệ nhận dạng sai của mô hình (1) và (2)) 
đối với bộ dữ liệu CIFAR10. 
So sánh kết quả của mô hình (1) và (3), ta thấy tỉ lệ nhận 
dạng lỗi tăng vọt từ 11,61% lên 15,95%. Khác biệt giữa hai 
mô hình này là có và không có xử lý whitening. Như vậy, 
có thể thấy rằng bằng cách hạn chế sự tương quan giữa các 
phần tử trong ảnh, xử lý whitening có tác động lớn đến kết 
quả nhận dữ liệu, giúp tăng được tỉ lệ nhận dạng đúng của 
hệ thống. Ở mô hình (4), loại bỏ cả hai quá trình chuẩn hóa 
và whitening, tỉ lệ nhận dạng đúng thấp hơn so với mô hình 
(1) và (2). Và với mô hình (3) thì lại có kết quả tương đồng 
vì mức độ ảnh hưởng của chuẩn hóa dữ liệu trong các khảo 
sát này không cao. 
Các kết quả thực nghiệm trên cho thấy việc xử lý chuẩn 
hóa (tuy kết quả chưa nhận thấy quá rõ ràng) và whitening 
giúp tăng tỉ lệ nhận dạng ảnh, và đáng cân nhắc để đưa vào 
mô hình. 
3.6. Ảnh hưởng của Batch size đến kết quả nhận dạng 
Batch size quyết định số lượng ảnh được dùng cho mỗi 
lần cập nhật trọng số, ví dụ, với kích thước tập huấn luyện 
của CIFAR-10 là 50.000 ảnh. Một chu kỳ học tương ứng 
với xử lý 50.000 ảnh. Nếu chọn batch size = 20, có nghĩa 
là dữ liệu sẽ được chia thành 2.500 gói con để xử lý. Tương 
tự, nếu batch size = 200, thì số gói dữ liệu là 250 gói. Bảng 
3 là các kết quả khảo sát thu được sau 60 vòng lặp trên mô 
hình 3 khối con. 
Bảng 3 là kết quả khi có sự thay đổi về kích thước gói 
dữ liệu batch. Với kích thước Batch size nhỏ, tỉ lệ nhận 
dạng lỗi cao (47,41%). Khi kích thước tăng dần, kết quả 
khảo sát đã có những thay đổi khả quan. Nhìn chung, khi 
batch size lớn, các trọng số sẽ được cập nhật một cách ổn 
định hơn. Nhưng cũng lưu ý rằng, batch size lớn sẽ yêu cầu 
nhiều bộ nhớ hơn. 
Bảng 3. Kết quả nhận dạng khi sử dụng dữ liệu với các batch 
size khác nhau trên cùng một mô hình mạng 
Batch size 10 20 50 100 200 
Tỉ lệ lỗi (%) 47,41 22,88 17,43 15,16 14,45 
4. Kết luận 
Bài báo đã thực hiện nhận dạng ảnh tự nhiên dựa trên 
sự kết hợp giữa mạng neuron tích chập CNN và mạng 
perceptron đa lớp MLP. Trong đó, MLP được sử dụng để 
khai thác thêm thông tin cục bộ, bên cạnh thông tin về mặt 
không gian từ CNN. Kết quả thực nghiệm cho thấy sự kết 
hợp CNN-MLP cho phép cải thiện tỉ lệ nhận dạng. Ngoài 
ra, bài báo cũng phân tích tác động của tốc độ học đến việc 
rút ngắn thời gian huấn luyện, cho thấy vai trò của lớp 
dropout trong việc giảm overfitting, tầm quan trọng của 
quá trình tiền xử lý dữ liệu, cũng như kích thước gói batch 
size ảnh hưởng đến kết quả nhận dạng. Khi tăng độ sâu của 
mạng, ta nhận thấy xu hướng cải thiện chất lượng nhận 
dạng. Xu hướng này có thể càng được thể hiện rõ khi thời 
gian huấn luyện càng lớn. 
Bài báo hiện tại quan tâm đến nhận dạng ảnh với kích 
thước nhỏ. Bằng cách kết hợp với phương pháp phát hiện 
sự nổi bật [9], mô hình trên có thể sẽ giúp nhận dạng đối 
tượng trong bối cảnh thực tế hơn. 
TÀI LIỆU THAM KHẢO 
[1] Y. Lecun, L. Bottou, Y. Bengio, P. Haffner, “Gradient-based 
Learning Applied to Document Recognition”, Proceedings of The 
IEEE 86 (11), 1998, pp. 2278-2324. 
[2] A. Krizhevsky, G. Hinton, Learning Multiple Layers of Features 
from Tiny Images, Technical report, University of Toronto, 2009. 
[3] Min Lin, Qiang Chen, Shuicheng Yan, Network in Network, 
arXiv:1312.4400v3, 2014. 
[4] Michael A. Nielsen, Neural Networks and Deep Learning, 
Determination Press, 2015. 
[5] Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning, 
MIT Press, 2016. 
[6] Nitish Srivastava, Geoffrey Hinton, Alex Krizhevsky, Ilya 
Sutskever, Ruslan Salakhutdinov, “Dropout: A Simple Way to 
Prevent Neural Networks from Overfitting”, Journal of Machine 
Learning Research, 2014, pp. 1929-1958. 
[7] Ian Goodfellow, David Warde-Farley, Mehdi Mirza, Aaron 
Courville, Yoshua Bengio, MaxOut Network, arXiv:1302.4389v4, 
2013. 
[8] Andrea Vedaldi, Karel Lenc, MatConvNet - Convolutional Neural 
Networks for MATLAB, arXiv:1412.4564, 2016. 
[9] T. Ho-Phuoc, Développement et mise en oeuvre de modèles 
d'attention visuelle, PhD thesis, Université Joseph Fourier, 2010. 
(BBT nhận bài: 13/9/2017, hoàn tất thủ tục phản biện: 16/5/2018) 

File đính kèm:

  • pdfnhan_dang_hinh_anh_tu_nhien_su_dung_mo_hinh_mang_neuron_tich.pdf