1. Trang chủ
  2. » Giáo án - Bài giảng

Giáo trình Mỹ thuật trang phục - Trường Đại Học Quốc Tế Hồng Bàng

7 41 0

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

THÔNG TIN TÀI LIỆU

Nội dung

Mạng nơron nhân tạo, gọi tắt là mạng nơron là một mô hình toán học được xây dựng dựa trên cơ sở các mạng nơron sinh học gồm một số lượng lớn các phần tử (gọi là nơron) kết nối với nha[r]

(1)

Trường Đại học Vinh Tạp chí khoa học, Tập 47, Số 3A (2018), tr 64-76

ỨNG DỤNG MẠNG NƠRON, MẠNG NƠRON XOẮN VÀ SỬ DỤNG KẾT HỢP CPU - GPU ĐỂ TĂNG HIỆU NĂNG TÍNH TỐN TRONG PHÂN LOẠI ẢNH

Hồ Sỹ Phương, Phan Văn Dư, Lê Văn Chương, Tạ Hùng Cường Viện Kỹ thuật Công nghệ, Trường Đại học Vinh

Ngày nhận 30/9/2018 , ngày nhận đăng 29/11/2018

Tóm tắt: Bài báo trình bày so sánh phương pháp phân loại ảnh dựa

mạng nơron nhân tạo nhiều lớp (Multi Layer Perceptron - MLP) mạng nơ ron xoắn (Convolutional Neural Network - CNN) Dữ liệu đưa vào huấn luyện 50.000 ảnh 10 đối tượng khác Kiến trúc thứ sử dụng mạng MLP gồm có 3.853.298 tham số (weight), kiến trúc thứ hai mạng CNN gồm 528.054 tham số Bài báo đề xuất vài phương pháp cấu trúc mạng nhằm tránh tượng khớp (overfitting), tăng cường độ xác cho mơ hình xấp xỉ 80% Bên cạnh đó, báo trình bày so sánh thời gian huấn luyện sử dụng CPU kết hợp sử dụng CPU với GPU

1 MỞ ĐẦU

Trong năm gần đây, phát triển khoa học công nghệ cách mạng công nghiệp 4.0 làm cho nghiên cứu trí tuệ nhân tạo (Artificial Intelligence - AI) ứng dụng lĩnh vực robotics, robot tương tác thời gian thực với môi trường xung quanh thu hút quan tâm chuyên gia lĩnh vực điều khiển Trong robot tự hành, để tương tác với môi trường hoạt động điều khiển robot chuyển động theo quỹ đạo mong muốn, vấn đề nhận biết, phân tích, nhận dạng phân loại vật thể đóng vai trị quan trọng, giúp có sở để đưa tín hiệu điều khiển cách xác, kịp thời Nhiều cơng trình nghiên cứu cơng bố tạp chí khoa học ngồi nước [1], [10], [12], [15] cho thấy vấn đề giải đưa lại hiệu cao sử dụng mạng MLP, việc nhận dạng chữ viết tay với độ xác lên đến 99,8%

Trong báo này, nhóm tác giả nghiên cứu ứng dụng cấu trúc mạng MLP mạng CNN kết hợp với kỹ thuật tối ưu nhằm nâng cao khả phân loại đối tượng, thực so sánh hiệu huấn luyện mạng sử dụng CPU với sử dụng kết hợp CPU - GPU độ xác tốc độ huấn luyện mạng

2 KIẾN TRÚC MẠNG MLP, CNN VÀ CÁC KỸ THUẬT TỐI ƯU MẠNG 2.1 Mạng nơron nhân tạo kiến trúc mạng MLP

Mạng nơron nhân tạo, gọi tắt mạng nơron mơ hình tốn học xây dựng dựa sở mạng nơron sinh học gồm số lượng lớn phần tử (gọi nơron) kết nối với thông qua liên kết (gọi trọng số liên kết) làm việc thể thống để giải vấn đề cụ thể nhận dạng mẫu, phân loại liệu,v.v thơng qua q trình học từ tập mẫu huấn luyện

(2)

H S Phương, P V Dư, L V Chương, T H Cường / Ứng dụng mạng Nơron, mạng nơron xoắn…

Mô hình mạng nơron thường sử dụng rộng rãi mơ hình mạng truyền thẳng nhiều lớp (MLP - Multi Layer Perceptron) Một mạng MLP tổng quát mạng có

n

lớp (n2) bao gồm lớp vào, lớp nhiều lớp ẩn (hình 1)

Hoạt động mạng MLP sau: Tại lớp vào, nơron nhận tín hiệu vào xử lý (tính tổng trọng số, gửi tới hàm truyền) cho kết (là kết hàm truyền); kết truyền tới nơron thuộc lớp ẩn thứ nhất; nơron tiếp nhận tín hiệu đầu vào, xử lý gửi kết đến lớp ẩn thứ 2;…; trình tiếp tục nơron thuộc lớp cho kết

Hình 1:Mạng MLP lớp

Mạng MPL sử dụng thành công việc nhận dạng chữ viết tay [2], [10] Cơ sở liệu phổ biến rộng rãi cho toán MINST [16], huấn luyện với lớp ẩn cho độ xác lên tới 99,8% Kiến trúc mạng MPL hình hình 1, gồm có lớp đầu vào, lớp ẩn lớp Tùy theo u cầu tốn, ta có số lượng đầu vào Để có độ xác cao, tránh tượng khớp (overfitting) số lượng lớp ẩn số nơron yếu tố định [7]

Ví dụ, tốn nhận dạng chữ viết tay, liệu huấn luyện từ tập MINST có kích thước 28x28 nên số nơron đầu vào (28x28)= 784, số nơron lớp ẩn 512, lớp ẩn 512 số nơron đầu tương ứng từ 09 10 Độ xác huấn luyện 99.93% kiểm chứng mơ hình độ xác đạt gần 99,8% Trên sở kết đó, nhóm tác giả thực thử nghiệm sử dụng mạng MPL việc phân loại đối tượng

2.2 Kiến trúc mạng CNN kỹ thuật tối ưu mạng

(3)

Trường Đại học Vinh Tạp chí khoa học, Tập 47, Số 3A (2018), tr 64-76

Hình 2:Kiến trúc mạng CNN

Mạng CNN có cấu trúc hình 2, với đầu vào nhân xoắn với ma trận lọc, công việc xem phép lọc ảnh với ma trận lọc sử dụng dạng ma trận [7], phép lọc ảnh bình thường khơng gian 2D tích xoắn ứng dụng trong không gian ảnh màu 3D không gian n chiều Sau thu gọn ma trận dạng véc tơ kết hợp với mạng MLP đầy đủ mô tả mục 2.1, với ảnh xám ma trận đầu vào chiều, với ảnh màu ma trận vào chiều

Khi xem xét mạng CNN, khái niệm tích xoắn (tích chập) đại số sở phần mạng CNN:

Đưa vào ảnh xám X lọc ω có kích thước [m,n], tích xoắn ω X là:

*

yX , thành phần ma trận y tính theo cơng thức:

  

 

1 1

ij ij

0 0

, , , ,

m n m n

a b a b

y X i a j ba b hay y X i a j ba b

   

   



   



     (1)

Giá trị ma trận 

 a, b

hiểu giá trị

 

a b, ma trận

sau lật từ phải sang trái đảo ngược từ lên (như hình 1)

Hình 3:Minh họa phương pháp tìm giá trị

 a, b

từ ma trận gốc bên trái qua phép lật đảo từ lên cho kết ma trận bên phải

Kiến trúc mạng CNN bao gồm lớp gọi lớp xoắn với ma trận đầu vào I , lọc K trọng số b Ta giả thiết I ma trận ảnh màu có kích thước

C H W 

, C3 số ma trận màu R,G,B ảnh có kích thước

H W,

Khi H WxC

(4)

H S Phương, P V Dư, L V Chương, T H Cường / Ứng dụng mạng Nơron, mạng nơron xoắn…

1

, , , , ij

0

k k C

m n c i m j n c m n c

I K K I b

 

 

  

 



  , (2)

trong trường hợp này, I ma trận lật hình từ ma trận lọc I Với lớp CNN có kích thước C3 cơng thức tính tốn ma trận K có độ sâu C ma trận I Ví dụ, cho ma trận lọc có kích thước 5x5, tích xoắn ảnh màu I với lọc K tạo ma trận xếp hình

Hình 4:Ma trận đầu tạo từ ma trận qua phép tích xoắn giữa ma trận vào I ma trận lọc K trượt I

Khi xây dựng mạng CNN người ta thêm vào kỹ thuật pooling, dropout, normalizing, regularization để tối ưu thời gian huấn luyện tránh tượng khớp [7]:

- Pooling [7]: Q trình giảm kích thức ảnh sau tính tích xoắn để lấy pixel đặc tính đặc trưng

- Dropout [7], [11]: Cắt bớt số nơron thực thuật toán lan truyền ngược nhằm tăng tốc độ huấn luyện mạng

- Normalizing [7]: Kỹ thuật chuẩn hóa liệu dạng liệu dải tính tốn phù hợp

Giả sử X liệu cần chuẩn hóa, đó:

+ Kỳ vọng liệu tính được: (i)

1

1 m

X m

; (3) + Sai lệch liệu so với kỳ vọng:

  

X

X

; (4) + Phương sai liệu X : 2

1 ( ) m X m

 , (5) đầu liệu chuẩn hóa là: X X2

 (6)

- Regularization [7]: Kỹ thuật sử dụng thêm tham số

hàm mục tiêu

J

tối ưu hóa:

 

  

 

  

 2

,

1

log log W

2

m

L i l

i i L i

regularized k j

i l k j

J y a y a

m m

 

   



(7)

(5)

Trường Đại học Vinh Tạp chí khoa học, Tập 47, Số 3A (2018), tr 64-76

Hình 5: Hàm ReLU

ReLU if

if (8)

Chúng ta cần mơ hình xác suất cho với đầu vào xác suất để đầu vào rơi vào lớp

i

phải dương tổng chúng Để làm việc đó, ta xây dựng hàm Softmax (hình 6) Ta có:

1

, 1, 2, , ;

k

j

Z k C

T Z

j

e

y i W

e

X C z

   

(9) Ta có:

y

k

P a

(

k

k i W

| ,

k

)

,

y

k thể xác suất đầu mơ hình rơi vào lớp

k

có đầu vào

i

k tham số mơ hình

W

(ma trận trọng số)

(6)

H S Phương, P V Dư, L V Chương, T H Cường / Ứng dụng mạng Nơron, mạng nơron xoắn…

Trong mạng nơron, việc tìm giá trị nhỏ hàm mát (cost functions) điều bắt buộc Việc tìm điểm cực tiểu tồn cục phức tạp, chí bất khả thi Thay vào đó, người ta thường cố gắng tìm điểm cực tiểu địa phương xem nghiệm cần tìm toán Cách tiếp cận phổ biến xuất phát từ điểm mà xem gần với nghiệm tốn, sau dùng phép tốn lặp để tiến dần đến điểm cần tìm, nghĩa đến đạo hàm gần với Giải thuật Gradient Descent biến thể giải thuật dùng nhiều

Giả thiết mạng nơron có

K

lớp, có tập huấn luyện với

m

liệu vào - sau:

   

   

   

1 2

, , , , , m , m

x y x y x y (10)

Lúc hàm mục tiêu (hàm mát - cost function) toán phân lớp hồi quy [5,7]:

 

 

 

 

 

 

 

1

1

log log

2

m m

i i i i

j

i j

J y h x y h x

m   m

 

 

      

(11)

Còn với mạng nơron K lớp, hàm mục tiêu [10][7]:

 

 

 

 

 

 

 

1

 

 

1 1 1

1

log log ,

2

l l

s s

m K L

i i i i l

k k ji

k k

i k l i j

J y h x y h x

m   m

   

    

 

      





(12)

với

 

th

i

h x

i

đầu thứ i mạng

Để tối ưu hóa hàm mục tiêu ta tìm MinJ

 

sau tiến hành cập nhật tham số mơ hình

(ma trận trọng số mạng) giải thuật Gradient Descent Giải thuật phổ biến cho hiệu tốt tập liệu lớn (Big data), học sâu người ta đề xuất thêm biến thể giải thuật Gradient Descent SGD [7], [13], [17], Adam [5], [6], [7], [8], RMSProp [7], [8] Trong báo này, sử dụng thuật toán tối ưu RMSProp phương pháp đơn giản, cho hiệu cao toán phân loại ảnh [1], [12]

3 THỬ NGHIỆM HUẤN LUYỆN VÀ KIỂM CHỨNG MƠ HÌNH 3.1 Tập hợp liệu huấn luyện

(7)

Trường Đại học Vinh Tạp chí khoa học, Tập 47, Số 3A (2018), tr 64-76

Hình 7:Phân chia tập hợp liệu báo

Hình 8:Lấy ngẫu nhiên 36 ảnh tập liệu huấn luyện

3.2 Cấu trúc phần cứng Máy tính sử dụng có cấu hình:

- CPU: Intel® Core™ i7 6700HQ Processor; - RAM: DDR4 2133 MHz SDRAM 4GB; - Card đồ họa: Integrated Intel® HD Graphics 530;

- GPU rời: NVIDIA® GeForce® GTX 950M với 4G GDDR5 VRAM, đó: + Lõi CUDA: 640;

+ Xung BoostBase (MHz): 914; + Xung cho nhớ: 2500 MHz; + Giao tiếp nhớ chuẩn GDDR5;

+ Độ dài liệu giao tiếp với nhớ:128-bit; + Tốc độ giao tiếp với nhớ (GB/sec): 80

Kiến trúc CUDA (Compute Unified Device Architecture) [8] cho phép tăng tốc độ tính tốn chương trình lên nhờ khả tính tốn song song, hỗ trợ chức tính tốn thơng qua ngơn ngữ C, hỗ trợ các ngôn ngữ Python, Fortran, Java MATLAB để cài đặt thuật toán chạy GPU Phần mềm sử dụng Tensor Flow hỗ trợ GPU OpenCV

3.3 Thử nghiệm với mạng MLP

Ngày đăng: 01/04/2021, 14:15

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w