Công nghệ thông tin<br />
<br />
MÔ HÌNH HUẤN LUYỆN MẠNG NƠ-RON<br />
DỰA TRÊN ẢNH MÔ PHỎNG<br />
Đặng Hoàng Minh*, Phạm Văn Lai<br />
Tóm tắt: Ngày nay, việc ứng dụng Deep Learning trong xử lý ảnh đã ngày một<br />
phổ biến. Trong quá trình khai thác học sâu, người ta dần nhận thấy mối liên hệ<br />
mạnh mẽ giữa số lượng dữ liệu đầu vào và độ chính xác của giải thuật. Tuy nhiên<br />
trong thực tế, việc lấy dữ liệu cho một số đối tượng cần nhận dạng là phức tạp và<br />
rất mất thời gian. Nhằm giải quyết vấn đề đấy, việc học dựa trên dữ liệu mô phỏng<br />
trở thành vấn đề được nhiều nhóm nghiên cứu quan tâm. Trong bài báo này, chúng<br />
tôi xây dựng mô hình huấn luyện dựa trên ảnh nhân tạo thông qua việc sử dụng một<br />
phần của mạng Inception v3 đã huấn luyện.<br />
Từ khóa: Deep learning (học sâu), Mạng nơ-ron, Mạng nơ-ron tích chập.<br />
<br />
1. MỞ ĐẦU<br />
Deep Learning là một mô hình mạnh mẽ cho bài toán nhận dạng đối tượng từ<br />
ảnh. Tuy nhiên, nó có một nhược điểm là đỏi hỏi lượng dữ liệu quá lớn. Do đó, nhu<br />
cầu học dựa trên ảnh mô phỏng được đề ra. Lý do là vì việc tạo ra ảnh mô phỏng<br />
đơn giản hơn nhiều so với việc thu thập ảnh thật. Một số nhóm nghiên cứu đã tiến<br />
hành thử nghiệm, tuy nhiên, kết quả còn khiêm tốn và chưa thể ứng dụng rộng rãi.<br />
Một số nghiên cứu có thể kể đến như sau:<br />
- “Học dựa trên ảnh mô phỏng, không giám sát thông qua huấn luyện đối<br />
nghịch” [1]. Ý tưởng của công trình này là xây dựng một mạng đối nghịch<br />
(Generative Adversarial Network – GAN) [8] có khả năng tinh chỉnh ảnh<br />
mô phỏng sao cho nó giống với ảnh thật. Ảnh sau khi được tinh chỉnh có<br />
thể sử dụng làm dữ liệu đầu vào cho các mô hình mạng nơ-ron nhận dạng<br />
đối tượng. Tuy nhiên, mô hình này mới chỉ ứng dụng với các đối tượng<br />
đơn giản(như mắt người).<br />
- “Huấn luyện phân loại đối tượng dựa trên dữ liệu nhân tạo thông qua việc<br />
sử dụng một autoencoder đa kênh” [2]. Tư tưởng của phương pháp này là<br />
sử dụng một autoencoder đa kênh được huấn luyện bởi đồng thời cả ảnh<br />
thật và ảnh nhân tạo [2]. Đầu ra của autoencoder sẽ là những ảnh đã được<br />
tinh chỉnh để có độ chênh lệch ít đi.<br />
Trong bài báo này, nhóm nghiên cứu tập trung nghiên cứu một mô hình mạng<br />
nơ-ron cho phép học dựa trên ảnh mô phỏng.<br />
2. LÝ THUYẾT CHUNG<br />
Mạng nơ-ron tích chập (CNN)[6]. Mạng tích nơ-ron tích chập gồm hai thành<br />
phần chính là lớp tích chập (Convolutional layer) và lớp Pooling. Trong đó, lớp<br />
tích chập bao gồm các bộ lọc có kích thước và bước nhảy định nghĩa trước. Các bộ<br />
lọc này sẽ lần lượt trượt qua ảnh và tạo ra các kết quả khác nhau. Lớp Pooling xử<br />
lý kết quả từ lớp tích chập theo phương cách chọn một phần tử trong cửa sổ trượt<br />
đại diện cho cả cửa sổ. Kết quả cuối cùng của lớp Pooling sẽ được làm phẳng trước<br />
khi đưa vào lớp Fully connected để nhận dạng.<br />
<br />
<br />
264 Đ. H. Minh, P. V. Lai, “Mô hình huấn luyện mạng nơ-ron dựa trên ảnh mô phỏng.”<br />
Thông tin khoa học<br />
học công nghệ<br />
<br />
<br />
<br />
<br />
1 Kiến<br />
Hình 1. Kiến trúc mạng nnơ<br />
ơ-ron<br />
ron có sử<br />
sử dụng mạng tích chập trong nhận dạng ảnh.<br />
M ạng Inception v3 là mạng<br />
Mạng mạng nnơ--ron<br />
ron nhân ttạo<br />
ạo đđư<br />
ược<br />
ợc cấu th<br />
thành<br />
ành bởi<br />
bởi nhiều lớp<br />
m<br />
mạng<br />
ạng CNN ((hình<br />
ình 2). Mạng Inception v3 đđược<br />
Mạng ợc xây dựng để huấn luyện dựa tr trên<br />
ên<br />
hơn 10 tri<br />
triệu<br />
ệu ảnh của 1000 lớp (loại) đối tượngợng khác nhau (theo CSDL ảnh của<br />
ImageNet phiên bbản<br />
ản 2012). Inception v3 llàà một<br />
một trong các mô hhình<br />
ình có ttỉỉ lệ lỗi thấp<br />
nh<br />
nhất<br />
ất (3.46%).<br />
<br />
<br />
<br />
<br />
Hình 2. 2 Kiến<br />
Kiến trúc của mạng Inception v3.<br />
Theo nguyên lý ho hoạtạt động của m mình,<br />
ình, khi mmột<br />
ột lớp mạng CNN được được huấn luyện<br />
hội<br />
ội tụ, nó sẽ chứa trong đó các bộ lọc cho phép tổng hợp ra những đặc tr ưng tương<br />
trưng<br />
ứng trtrên<br />
ên ảnh. Nói cách khác, trong một lớp mạng CNN sẽ tập hợp nhiều bộ lọc vvàà<br />
mỗi bộ lọc sẽ trích ra một đặc tr<br />
mỗi trưng<br />
ưng khác nhau ttừừ ảnh. Khi đó, mạng<br />
mạng Inception vv3 3<br />
sau khi đưđược<br />
ợc huấn luyện hội tụ sẽ chứa trong m mình<br />
ình rất<br />
rất nhiều các bộ lọc, cho phép<br />
lọc<br />
ọc ra các đặc trtrưng<br />
ưng ccủa<br />
ủa 1000 đối ttượng<br />
ợng khác nhau trong thế giới tự nhi ên. Ngoài<br />
nhiên.<br />
ra, theo kikiểm<br />
ểm nghiệm thực tế các lớp CNN trong mạng Inception v3 sau khi đđãã<br />
huấn luyện với 11000<br />
huấn 000 llớp<br />
ớp đối ttượng<br />
ợng ho<br />
hoàn<br />
àn toàn có ththểể tổng hợp đư<br />
được<br />
ợc đặc tr<br />
trưng<br />
ưng ccủa<br />
ủa<br />
cảả những đối ttưượng<br />
ợng không chứa trong nhóm 1000 đối ttượng ợng ban đầu. Điều nnày<br />
ày có<br />
thể thực hiện đđư<br />
thể ược<br />
ợc do trong thực tế, có rất nhiều đối ttượng ợng tuy không nằm trong<br />
1000 đđốiối tư<br />
tượng<br />
ợng ban đầu nh ưng có cùng đđặc<br />
nhưng ặc trưng<br />
trưng với<br />
với 1000 đối ttượng<br />
ợng ban đầu.<br />
3. BÀI TOÁN NH<br />
NHẬẬN<br />
NDDẠ<br />
ẠNG<br />
NG VÀ MÔ HÌNH Đ<br />
ĐỀ<br />
Ề XUẤ<br />
XUẤT<br />
3.1. Bài toán nh<br />
nhận<br />
ận dạng<br />
Để thử nghiệm mô hhình<br />
Để ình học<br />
học dựa trên<br />
trên ảnh mô phỏng, nhóm nghi<br />
nghiên<br />
ên cứu<br />
cứu đặt ra bbài<br />
ài<br />
toán như sau: Th<br />
Thử<br />
ử nghiệm nhận dạng 05 loại máy bay chiến đấu sử dụng mạng nnơ--<br />
ron bbằng<br />
ằng phương<br />
phương pháp hhọcọc trên<br />
trên ảnh mô phỏng. Mạng nnơ ơ-ron<br />
ron sẽ<br />
sẽ được<br />
đ ợc huấn luyện<br />
dựa<br />
ựa tr<br />
trên<br />
ên ảnh mô phỏng nh ưng phải<br />
nhưng phải có khả năng nhận ra đối ttượng<br />
ợng đó tr<br />
trên<br />
ên ảnh thật,<br />
nếu<br />
ếu điều nnày<br />
ày xảy<br />
xảy ra, chứng tỏ mạng đđãã hhọc<br />
ọc đư<br />
được<br />
ợc đối ttượng<br />
ợng từ dữ liệu mô phỏng.<br />
Tập<br />
ập dữ liệu phục vụ cho bbàiài toán ggồm<br />
ồm 02 th<br />
thành<br />
ành phần:<br />
phần: Dữ liệu mô phỏng (đ (đưược<br />
ợc<br />
<br />
<br />
Tạp<br />
ạp chí Nghi<br />
Nghiên<br />
ên cứu<br />
cứu KH&CN quân<br />
uân sự,<br />
sự, Số<br />
ố Đặc san CNTT,<br />
CNTT 12 - 20<br />
2017<br />
17 265<br />
Công nghệ thông tin<br />
<br />
sinh từ 3D engine với số lượng 5000 ảnh cho một đối tượng) và dữ liệu ảnh thật<br />
(với số lượng 200 ảnh cho một đối tượng). Các loại máy bay chiến đấu được lựa<br />
chọn để thử nghiệm là: B2, B25, B52, C130, F111.<br />
3.2. Phương pháp xây dựng dữ liệu<br />
Xây dựng bộ dữ liệu ảnh thật:<br />
Các ảnh thật được tải về từ Internet dựa trên một số engine tìm kiếm được cung<br />
cấp miễn phí. Các ảnh này sau đó được xứ lý (loại bỏ ảnh giống nhau, các ảnh<br />
không đúng nội dung, các ảnh chứa thủy ấn) và phân loại về các thư mục tương<br />
ứng trước khi sử dụng. Sau quá trình trên, bộ dữ liệu ảnh thật còn khoảng 200 ảnh<br />
cho mỗi loại máy bay.<br />
Xây dựng bộ dữ liệu ảnh mô phỏng:<br />
Các ảnh mô phỏng được xây dựng dựa trên một engine mô phỏng. Engine này<br />
tải các đối tượng 3D lên một môi trường địa hình cho trước và tiến hành thay đổi<br />
vị chí và góc nhìn đối tượng. Đối với mỗi một lần thay đổi, một bức ảnh đối tượng<br />
được sinh ra. Sau quá trình trên, bộ dữ liệu ảnh mô phỏng thu được gồm 5000 ảnh<br />
cho mỗi loại máy bay (hình 3 mô tả một số ảnh được sinh ra từ engine mô phỏng).<br />
<br />
<br />
<br />
<br />
Hình 3. Một số dữ liệu mô phỏng của 5 loại máy bay.<br />
3.3. Kiến trúc mạng nơ-ron đề xuất<br />
Kiến trúc của mạng nơ-ron được sử dụng gồm 02 thành phần (hình 4):<br />
- Kế thừa các lớp mạng CNN đã huấn luyện của mạng Inception v3<br />
- Xây mới lớp mạng Fully connected.<br />
Sau khi đã kế thừa lại các lớp mạng CNN, lớp Fully connected nối tiếp được<br />
xây dựng với tham số gồm 2048 nơ-ron (do đầu ra của lớp CNN cuối cùng trong<br />
mạng Inception có kích thước 2048) và 5 đầu ra (tương ứng với 5 loại máy bay).<br />
Lớp mạng này sẽ được xây mới và huấn luyện từ đầu. Mô hình lớp mạng này được<br />
khái quát như sau:<br />
he(xi) = f(Wexi + be)(7)<br />
Trong đó, f(.) là hàm Softmax; xi là ma trận đầu vào có kích thước [2048,1], xi<br />
là giá trị thu được sau khi dữ liệu đi qua toàn bộ các lớp CNN của mạng Inception<br />
<br />
<br />
266 Đ. H. Minh, P. V. Lai, “Mô hình huấn luyện mạng nơ-ron dựa trên ảnh mô phỏng.”<br />
Thông tin khoa học công nghệ<br />
<br />
v3; We là ma trận có kích thước [2048,5]; be có kích thước [2048,1]; he là ma trận<br />
kết quả có kích thước [5,1] chứa giá trị từ 0.0 đến 1.0 đánh giá mức độ chắc chắn<br />
của mạng nơ-ron về đối tượng đầu vào tương ứng với 1 trong 5 đối tượng đầu ra.<br />
Như vậy, một bức ảnh khi đi qua mô hình mới, đầu tiên sẽ được phân tích thành<br />
tổ hợp của các đặc trưng đã học được từ tập dữ liệu của ImageNet (đặc điểm này<br />
có được do kế thừa từ các lớp CNN của Inception-v3). Các đặc trưng này, sau đó<br />
sẽ được tổng hợp để ra quyết định phân loại tại lớp Fully connected mới. Do đó,<br />
quá trình huấn luyện sẽ chỉ cần huấn luyện lớp Fully connected này.<br />
Đối với bài toàn học dựa trên ảnh mô phỏng, khi một bức ảnh ảo được đưa qua<br />
các lớp mạng CNN trên, sẽ được chuyển thành tổ hợp của nhiều đặc trưng thuộc<br />
các đối tượng huấn luyện thật. Điều này tạo ưu thế tốt hơn so với việc huấn luyện<br />
lại các lớp mạng CNN theo các đặc trưng trên ảnh mô phỏng.<br />
<br />
<br />
<br />
<br />
Hình 4. Mô hình mạng nơ-ron thử nghiệm.<br />
4. THỬ NGHIỆM VÀ KẾT QUẢ<br />
Thử nghiệm khả năng nhận dạng của mô hình đối với đối tượng mô phỏng<br />
(thử nghiệm 1):<br />
- Tập dữ liệu dùng để huấn luyện: gồm 1000 ảnh mô phỏng cho mỗi loại máy<br />
bay.<br />
- Tập dữ liệu dùng để kiểm tra: gồm 1000 ảnh mô phỏng dùng cho mỗi loại máy<br />
bay.<br />
- Kết quả được trình bày dưới dạng ma trận confusion (Confusion Matrix),<br />
trong đó hàng dọc là kết quả phán đoán của mạng nơ-ron, hàng ngang biểu thị<br />
tập dữ liệu được đưa vào mạng nơ-ron (bảng 1):<br />
Bảng 1. Ma trận confusion của mạng khi nhận dạng ảnh mô phỏng.<br />
B25 F111 B2 B52 C130 %<br />
B25 959 30 3 4 4 95.9<br />
F111 4 965 18 8 5 96.5<br />
B2 0 8 981 9 2 98.1<br />
B52 7 20 11 928 34 92.8<br />
C130 6 13 12 46 923 92.3<br />
AVG 95.12<br />
o Độ chính xác trung bình của mạng nơ-ron cuối quá trình huấn luyện là:<br />
94.3% (E-in)<br />
o Độ chính xác trung bình của mạng nơ-ron trên tập dữ liệu kiểm tra: 95.12 %<br />
(E-out)<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2017 267<br />
Công nghệ thông tin<br />
<br />
Có thể thấy, độ lệch giữa E-in và E-out là nhỏ, cho thấy mạng không bị<br />
overfiting hay nói cách khác, dữ liệu mô phỏng được sinh ra đã đảm bảo đủ các<br />
yêu cầu về độ ngẫu nhiên của bối cảnh, mô tả được các điểm đặc trưng riêng của<br />
từng loại máy bay mô phỏng. Bên cạnh đó, độ chính xác của mạng nơ-ron lớn hơn<br />
95% cho thấy mạng nơ-ron đã được huấn luyện tốt để có thể nhận dạng được đối<br />
tượng mô phỏng.<br />
Thử nghiệm học dựa trên dữ liệu mô phỏng (thử nghiệm 2):<br />
- Tập dữ liệu dùng để huấn luyện tương tự như ở thử nghiệm 1 (huấn luyện trên<br />
dữ liệu mô phỏng).<br />
- Tập dữ liệu dùng để kiểm tra: gồm 100 ảnh thật cho mỗi loại.<br />
- Kết quả thể hiện trên bảng 2:<br />
Bảng 2. Ma trận confusion của mạng khi nhận dạng ảnh thật.<br />
B25 F111 B2 B52 C130 %<br />
B25 70 11 3 3 13 70<br />
F111 12 63 6 4 15 63<br />
B2 8 19 62 0 11 62<br />
B52 29 23 3 10 35 10<br />
C130 49 17 1 3 30 30<br />
AVG 47<br />
o Độ chính xác trung bình của mạng nơ-ron cuối quá trình huấn luyện là:<br />
94.3% (E-in)<br />
o Độ chính xác trung bình của mạng nơ-ron sau khi huấn luyện trên tập dữ liệu<br />
kiểm tra: 47 % (E-out)<br />
Đối với kết quả này có thể nhận thấy như sau:Trước hết, khoảng cách giữa dữ<br />
liệu nhân tạo và dữ liệu thật là lớn. Do đó, ở cùng một loại máy bay, tuy mạng nơ-<br />
ron có thể nhận dạng nó chính xác trên ảnh mô phỏng (thử nghiệm 1) nhưng lại<br />
không thể nhận dạng được trên ảnh thật (thử nghiệm 2). Hay nói cách khác, các<br />
đặc trưng được lớp CNN trích ra từ ảnh thật và ảnh mô phỏng nằm trong các nhóm<br />
đặc trưng tương đối khác nhau.<br />
Để thu nhỏ sự khác biệt này, nhóm nghiên cứu tiến hành thử nghiệm thứ 3. Thử<br />
nghiệm rút ngắn khoảng cách giữa dữ liệu mô phỏng và dữ liệu thật. Trong<br />
thử nghiệm này:<br />
- Tập huấn luyện:1000 ảnh mô phỏng ở dạng tách biên (hình 9).<br />
- Tập kiểm tra:100 ảnh thật ở dạng tách biên.<br />
- Kết quả được thể hiện trên bảng 3.<br />
Bảng 3. Ma trận confusion của mạng sau hiệu chỉnh khi nhận dạng ảnh thật.<br />
B25 F111 B2 B52 C130 %<br />
B25 59 23 6 4 8 59<br />
F111 10 64 18 3 5 64<br />
B2 1 8 87 3 1 87<br />
B52 9 16 13 56 6 56<br />
C130 5 15 4 5 71 71<br />
AVG 67.4<br />
<br />
<br />
268 Đ. H. Minh, P. V. Lai, “Mô hình huấn luyện mạng nơ-ron dựa trên ảnh mô phỏng.”<br />
Thông tin khoa học công nghệ<br />
<br />
Có thể thấy, việc tách biên ảnh trước khi đưa vào mạng nơ-ron, khiến cho mạng<br />
tập trung vào việc học các hình dáng của đối tượng mà bỏ qua phần biểu bì (texture).<br />
Do đó, độ chính xác của mạng đã được nâng lên. Nói cách khác, thông thường cùng<br />
một đối tượng máy bay trong ảnh thật tuy có hình dạng giống nhau nhưng có thể<br />
được sơn màu, và mang các trang bị, khác nhau. Việc đưa ảnh huấn luyện và kiểm<br />
tra về dạng đường viền sẽ khiến mạng chỉ tập trung vào việc nhận dạng hình dáng<br />
của đối tượng, do đó, việc học dựa trên ảnh mô phỏng được cải thiện.<br />
<br />
<br />
<br />
<br />
(a) (b)<br />
Hình 5. Ảnh tách biên của máy bay B2. (a) Ảnh mô phỏng tách biên.<br />
(b) Ảnh thật được tách biên.<br />
5. KẾT LUẬN<br />
Có thể thấy, mô hình đề ra đã giải quyết tốt bài toán nhận dạng thông thường<br />
(thử nghiệm 1) nhưng chưa tốt trong việc học trên ảnh mô phỏng (thử nghiệm 2).<br />
Để cải thiện hiệu quả của việc học trên (hay nói cách khác, rút ngắn khoảng cách<br />
giữa dữ liệu ảnh thật và ảnh ảo) nhóm nghiên cứu đã thử nghiệm tách biên dữ liệu,<br />
tuy nhiên kết quả mới chỉ cải thiện được một phần nhỏ.<br />
Mô hình được đề xuất ở trên tuy có phần nào cải thiện được hiệu quả nhận dạng<br />
của mạng nơ-ron khi chỉ huấn luyện sử dụng ảnh mô phỏng nhưng kết quả nhận<br />
dạng đó còn rất thấp để có thể đưa vào ứng dụng nhất định. Trong tương lai, nhóm<br />
nghiên cứu sẽ tiếp tục tìm hiểu, bổ sung các phương pháp thu hẹp khoảng cách<br />
giữa dữ liệu mô phỏng và dữ liệu thật.<br />
TÀI LIỆU THAM KHẢO<br />
[1]. Ashish Shrivastava, Tomas Pfister, Oncel Tuzel, Josh Susskind, Wenda Wang,<br />
Russ Webb Apple Inc. “Learning from Simulated and Unsupervised Images<br />
through Adversarial training”. 2016<br />
[2]. Xi Zhang, Yanwei Fu, Andi Zang, Leonid Sigal, Gady Agam. “Learning<br />
Classifiers from Synthetic Data Using a Multichannel Autoencoder”. 2015<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2017 269<br />
Công nghệ thông tin<br />
<br />
[3]. Ruizhongtai (Charles) Qi Stanford University. “Learning 3D Object<br />
Orientations From Synthetic Images”.<br />
[4]. Xi Zhang, Yanwei Fu, Shanshan Jiang, Leonid Sigal and Gady Agam.<br />
“Learning from Synthetic Data Using a Stacked Multichannel Autoencoder”.<br />
[5]. Pierre Baldi. “Autoencoders, Unsupervised Learning, and Deep<br />
Architectures”. 2012<br />
[6]. Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner. “Gradient-based learning<br />
applied to document recognition.” 1998<br />
[7]. Health Education Training Institute (HETI). “Simulation based education:<br />
Professional entry student education and training”. 2014<br />
[8]. IanJ.Goodfellow, JeanPouget-Abadie, MehdiMirza, BingXu, DavidWarde-<br />
Farley, SherjilOzair, AaronCourville, YoshuaBengio. “Generative Adversarial<br />
Nets”. 2014<br />
[9]. Glorot, Xavier, Bordes, Antoine, and Bengio, Yoshua. “Deep sparse rectifier<br />
neural networks”. 2011<br />
<br />
ABSTRACT<br />
STUDY OF LEARNING FROM SYNTHETIC DATA<br />
Solving images classification problem using Deep learning has been<br />
researched and deployed in more than decades. However, we did not witness<br />
any breakthough until last recent years. This reality is addressed due to the<br />
lack of data and calculation capability. Although all people have been using<br />
GPU to solve calculation capability problems, lack of data problem stilll<br />
remains. Therefore, during last few years, learning from synthetic data has<br />
become a hot topic. In this paper, a model to help artificial neural network<br />
learn from synthetic data is suggested.<br />
Keywords: Deep learning; Neural networks; Convolution neural networks.<br />
<br />
<br />
<br />
Nhận bài ngày 16 tháng 8 năm 2017<br />
Hoàn thiện ngày 26 tháng 11 năm 2017<br />
Chấp nhận đăng ngày 28 tháng 11 năm 2017<br />
Địa chỉ: Viện CNTT/ Viện KHCNQS.<br />
*<br />
Email: danghoangminh86@gmail.com.<br />
<br />
<br />
<br />
<br />
270 Đ. H. Minh, P. V. Lai, “Mô hình huấn luyện mạng nơ-ron dựa trên ảnh mô phỏng.”<br />