1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Về một kiến trúc mạng nơ-ron nhân tạo trên FPGA ứng dụng trong nhận dạng chữ số viết tay

4 13 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 4
Dung lượng 499,86 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài viết đề xuất một kiến trúc mạng nơ-ron nhân tạo lan truyền thẳng 2 lớp ứng dụng trong bài toán nhận dạng chữ số viết tay thực thi trên phần cứng cấu hình lại FPGA (Field Programmable Gate Array). Kiến trúc mạng nơ-ron đề xuất được tổng hợp và thử nghiệm trên thiết bị FPGA Virtex-5 XC5VLX110T của Xilinx. Kết quả thử nghiệm với tập dữ liệu chữ số viết tay MNIST cho tỉ lệ nhận dạng đúng là 90.88%. Mạng nơron được thiết kế chiếm 41% tài nguyên phần cứng, đạt tần số hoạt động tối đa là 205 MHz. Mời các bạn cùng tham khảo!

Trang 1

Về một kiến trúc mạng nơ-ron nhân tạo trên FPGA

ứng dụng trong nhận dạng chữ số viết tay

Nguyễn Thị Kim Anh 1,2, Nguyễn Trường Thọ1, Huỳnh Việt Thắng1

1 Trường Đại học Bách khoa – Đại học Đà Nẵng, 2 Trường Đại học Nông Lâm – Đại học Huế

Emails: nguyenthikimanh@huaf.edu.vn, ntt0102@gmail.com, thanghv@dut.udn.vn

Abstract - Trong bài báo này, chúng tôi đề xuất một kiến trúc mạng

nơ-ron nhân tạo lan truyền thẳng 2 lớp ứng dụng trong bài toán

nhận dạng chữ số viết tay thực thi trên phần cứng cấu hình lại

FPGA (Field Programmable Gate Array) Kiến trúc mạng nơ-ron

đề xuất được tổng hợp và thử nghiệm trên thiết bị FPGA Virtex-5

XC5VLX110T của Xilinx Kết quả thử nghiệm với tập dữ liệu chữ

số viết tay MNIST cho tỉ lệ nhận dạng đúng là 90.88% Mạng

nơ-ron được thiết kế chiếm 41% tài nguyên phần cứng, đạt tần số hoạt

động tối đa là 205 MHz Kết quả thử nghiệm khi kết nối mạng

nơ-ron vào hệ thống nhúng sử dụng vi xử lý mềm 32-bit MicroBlaze

hoạt động tại tần số 100 MHz với bus PLB cho thấy tốc độ nhận

dạng cho mỗi mẫu dữ liệu vào là 799 chu kỳ đồng hồ/mẫu, tương

ứng với thời gian nhận dạng 7.99 Ps/mẫu

Keywords - Neural Network; MNIST; FPGA; floating-point;

high performance computing; MicroBlaze;

I. ĐẶT VẤN ĐỀ

Mạng nơ-ron nhân tạo (Artificial Neural Network - ANN)

có nhiều ứng dụng trong xử lý tín hiệu, phân tích ảnh, nhận dạng

mẫu, trong các hệ thống chuẩn đoán y khoa và dự đoán chứng

khoán ANN được lấy cảm hứng từ mạng nơ-ron sinh học bản

chất là các hệ thống xử lý thông tin song song và phân tán Kiến

trúc ANN yêu cầu một khối lượng tính toán song song khổng

lồ, vì vậy để đáp ứng những yêu cầu khắt khe về tốc độ trong

các ứng dụng thời gian thực và/hoặc tính toán hiệu năng cao

(High Performance Computing – HPC) kiến trúc ANN cần

được thực thi trên phần cứng song song

Trong những năm gần đây, các hệ thống nhúng và ứng dụng

nhúng dựa trên nền tảng công nghệ FPGA (Field

Programmable Gate Array) đang phát triển mạnh mẽ và được

ứng dụng rộng rãi trong thực tế cũng như trong các nghiên cứu

Với khả năng cho phép cấu hình lại, cùng với mật độ cổng logic

cao, các chip FPGA cho phép tạo ra nhiều phiên bản thiết kế

của thiết bị mong muốn trong các ứng dụng khác nhau, và do

vậy rất phù hợp cho những bài toán đòi hỏi khối lượng tính toán

lớn FPGA cung cấp tốc độ có thể so sánh với các hệ thống phần

cứng cố định và chuyên dụng đối với việc tăng tốc các thuật

toán song song Trong khi đó, với việc thực thi trên phần mềm

thì có thể duy trì tính linh hoạt cho các thiết bị cấu hình lại chỉ

trong một vài ứng dụng FPGA rất khả thi đối với các ứng dụng

thiết kế tính toán cụ thể Những thay đổi trong thiết kế với

FPGA có thể được thực hiện lại trong một vài giờ và do đó tiết

kiệm đáng kể chi phí và thời gian thực hiện thiết kế

Trong bài báo này, chúng tôi quan tâm đến việc xây dựng

một kiến trúc ANN hướng đến việc thực thi thiết kế ANN trên

FPGA Chúng tôi bắt đầu với một kiến trúc ANN lan truyền

thẳng nhiều lớp với ứng dụng trong nhận dạng mẫu Mục tiêu của bài báo này là nghiên cứu thiết kế kiến trúc ANN lan truyền thẳng nhiều lớp trên FPGA, đồng thời ứng dụng kiến trúc mạng

đã thiết kế trong bài toán nhận dạng chữ số viết tay nhằm kiểm tra tính đúng đắn của thiết kế, xem xét khả năng thực thi và ứng dụng của kiến trúc mạng nơ-ron trên FPGA

Các công trình nghiên cứu liên quan có thể kể ra như công trình của Hoffman [1], Savic [2], Nichols [3], hay của nhóm tác giả [4] Nghiên cứu được thực hiện trong bài báo này là bước phát triển tiếp theo của kết quả đã đạt được ở công trình [4] Đóng góp khoa học của bài báo này là việc thiết kế một kiến trúc mạng nơ-ron nhân tạo trên FPGA; kiến trúc mạng nơ-ron

đề xuất được thực thi và thử nghiệm trên board FPGA Virtex-5 XUPV5-LX110T của Xilinx và ứng dụng cho nhận dạng chữ

số viết tay với tập dữ liệu MNIST

Phần còn lại của bài báo được sắp xếp theo trình tự sau đây Phần II giới thiệu mô hình hệ thống nhận dạng Phần III trình bày chi tiết cấu trúc, các bước thiết kế và thực hiện một kiến trúc ANN lan truyền thẳng 2 lớp trên FPGA Phần IV trình bày các kết quả đánh giá kiến trúc vừa được thiết kế Cuối cùng các kết luận và các hướng nghiên cứu tiếp theo được trình bày ở Phần V

II. MÔ HÌNH HỆ THỐNG NHẬN DẠNG

A Sơ đồ khối hệ thống

Sơ đồ khối hệ thống nhận dạng chữ số viết tay được trình

bày trong Hình 1 Hệ thống bao gồm hai khối chính đó là: khối

giảm số chiều cho ảnh đầu vào sử dụng phương pháp trích chọn

đặc trưng PCA (Principal Component Analysis – PCA) [5] và

khối thứ hai là mạng nơ-ron nhân tạo lan truyền thẳng nhiều lớp dùng để nhận dạng

Chúng tôi sử dụng tập cơ sở dữ liệu chữ số viết tay MNIST [6] để huấn luyện và kiểm tra mạng nơ-ron Tập cơ sở dữ liệu này gồm 60,000 mẫu dùng để huấn luyện và 10,000 mẫu dùng

để kiểm tra Có 10 chữ số khác nhau từ 0 đến 9 trong tập cơ sở

dữ liệu này Mỗi số là một ảnh đa cấp xám được chuẩn hóa với kích thước là 28x28 hay có tổng cộng là 784 điểm ảnh đặc

Hình 1 Sơ đồ khối hệ thống nhận dạng



ISBN: 978-604-67-0635-9

Trang 2

trưng Vì số chiều của ảnh gốc là khá lớn nên cần phải giảm số

chiều trước khi huấn luyện mạng Chúng tôi sử dụng PCA để

trích chọn thành phần chính từ dữ liệu gốc và chỉ sử dụng một

số thành phần chính đầu tiên cho việc huấn luyện và kiểm tra

mạng nơ-ron

B Khối trích chọn đặc trưng PCA

PCA là một kỹ thuật phổ biến để trích chọn đặc trưng dữ

liệu, mục đích nhằm cách giảm số chiều hoặc kích thước tập dữ

liệu mà không mất mát thông tin nhiều Để thực hiện kỹ thuật

PCA cho tập dữ liệu X = (x1, x2, , xM) có M mẫu N chiều, ta

cần thực hiện các bước sau:

x Tính giá trị trung bình của X:

xtb ൌேଵσே 

௜ୀଵxi (1) x Tính sai số từng phần tử của X so với giá trị trung bình:

ɔi = xi - xtb (2) x Tìm ma trận hiệp phương sai:

Cൌெଵσெ ߮௜Ǥ ߮௜்

௜ୀଵ = Ȱ.ȰT (3)

x Tìm trị riêng của C làሺߣଵǡ ߣଶǡ ǥ ǡ ߣெሻ tương ứng với N

vec-tơ riêng ݑଵǡ ݑଶǡ ǥ ǡ ݑே

x Sắp xếp các trị riêng theo giá trị thứ tự từ cao đến thấp, như

vậy các vec-tơ riêng sẽ được sắp xếp theo thứ tự từ cao đến

thấp của đặc trưng

x Trích chọn đặc trưng có ý nghĩa nhất

Việc lựa chọn số lượng đầu vào để đáp ứng những yêu cầu

về tỉ lệ nhận dạng đúng và khả năng thực thi được kiến trúc

ANN trên phần cứng FPGA với lượng tài nguyên hữu hạn đã

được khảo sát chi tiết trong [4] Trong bài báo này, từ tập cơ sở

dữ liệu MNIST, chúng tôi đã trích chọn đặc trưng dùng kỹ thuật

PCA và đã lựa chọn sử dụng 20 thành phần chính đầu tiên để

đưa vào đầu vào của ANN thực hiện huấn luyện và nhận dạng

Số lượng đầu vào này vừa đáp ứng được những yêu cầu về tỉ lệ

nhận dạng cũng như khả năng thực thi của kiến trúc ANN trên

FPGA Virtex-5 [4]

C Huấn luyện mạng nơ-ron nhân tạo

Việc huấn luyện mạng nơ-ron nhân tạo từ tập dữ liệu MNIST được tiến hành theo phương pháp học có giám sát, sử dụng mô hình mạng nơ-ron truyền thẳng gồm hai lớp với thuật toán lan truyền ngược sai lệch với các thông số sau: 20 đầu vào,

12 nơ-ron lớp ẩn và 10 rơ-ron lớp ra [4] Quá trình huấn luyện được thực hiện bằng công cụ Neural Network Design Toolbox

của Matlab [7] Hình 2 là sơ đồ thể hiện kiến trúc của mạng

nơ-ron nhận dạng chữ số viết tay cần thiết kế phần cứng Theo như

Hình 2, đầu vào của mỗi lớp nơ-ron sẽ được nhân với trọng số

W, sau đó cộng với ngưỡng (bias) b, tiếp đó đi qua hàm kích hoạt f (sẽ được trình bày trong mục sau)

Sau khi huấn luyện, chúng tôi đã thu được các ma trận trọng

số và ngưỡng tương ứng với kích thước của hai lớp như sau:

W1’ (12x20), W2’ (10x12), b1 (12), b2 (10) Để dễ dàng hơn cho việc thiết kế trên phần cứng, chúng tôi xem giá trị ngưỡng như

là một phần của bộ trọng số của nơ-ron (giá trị ngưỡng là trọng

số tương ứng với tín hiệu vào là “1”) và biến đổi trọng số của lớp ẩn và lớp ra tương ứng với kích thước như sau: W1 (12x21),

W2 (10x13), đồng thời vec-tơ vào của mỗi lớp cũng được tăng thêm một phần tử chính là hằng số “1” Các ma trận trọng số này sẽ được sử dụng để thiết kế kiến trúc lõi IP ANN trên FPGA

sẽ được trình bày ở những phần tiếp sau

D Kiểu dữ liệu

Chúng tôi sử dụng định dạng số dấu phẩy động trong tất cả các tính toán của kiến trúc ANN được thiết kế Tiêu chuẩn IEEE-754 (2008) [8] đề ra các quy định về định dạng của số thực dấu phẩy động thống nhất chung giữa các nhà thiết kế

Bảng 1 trình bày các định dạng dấu phẩy động bán chính xác

(half-precision), chính xác đơn (single-precision) và chính xác kép (double-precision) với tổng số bit sử dụng lần lượt là 16, 32

và 64 bit

Bảng 1 Đặc điểm 3 định dạng số thực dấu phẩy động thông

dụng được ứng dụng nhiều trong thực tế theo chuẩn IEEE-754

Định dạng Phần dấu Phần mũ Phần định trị

Chính xác đơn 1 bit 8 bit 23 bit Chính xác kép 1 bit 11 bit 52 bit Định dạng số dấu phẩy động bán chính xác được biểu diễn bằng một chuỗi nhị phân có kích thước 16 bit, bằng một nửa kích thước của định dạng chính xác đơn Vì vùng biểu diễn giá trị và độ chính xác nhỏ hơn cho nên định dạng dấu phẩy động bán chính xác không được xem là lý tưởng khi thực hiện các tính toán Tuy nhiên, định dạng bán chính xác ít chiếm dụng tài nguyên phần cứng hơn các định dạng còn lại nên đối với những ứng dụng, tính toán không yêu cầu quá khắt khe về vùng biểu diễn giá trị, độ chính xác mà ngược lại cần tốc độ tính toán nhanh và không tốn quá nhiều tài nguyên thì định dạng bán chính xác này sẽ là một lựa chọn thích hợp [4] Trong bài báo này, chúng tôi sử dụng định dạng dấu phẩy động bán chính xác Trong nghiên cứu này, các tính toán với định dạng số thực dấu phẩy động bán chính xác trong kiến trúc ANN đề xuất trên FPGA sẽ được thực hiện bằng ngôn ngữ mô tả phần cứng

Hình 2 Sơ đồ kiến trúc của mạng nơ-ron nhận dạng chữ số viết tay

Hình 3 Định dạng số thực dấu phẩy động bán chính xác

(half-precision floating-point format) theo FloPoCo



Trang 3

VHDL dựa vào thư viện mã nguồn mở FloPoCo [9] Lưu ý rằng,

định dạng số thực dấu phẩy động bán chính xác (16 bit theo

chuẩn IEEE-754) khi thực thi bằng thư viện FloPoCo sẽ được

thêm vào 2 bit để phân biệt các giá trị đặc biệt [9] như được

trình bày trong Hình 3 nên độ rộng các bus dữ liệu là 18 bit,

trong đó chia làm 4 trường cụ thể như sau:

x 2-bit trường ngoại lệ: 00 cho số 0, 01 cho số bình thường,

10 cho số vô cùng, 11 cho số NaN (Not a Number);

x 1-bit dấu s (sign): 0 cho số dương, 1 cho số âm;

x 5-bit trường mũ e (exponent);

x 10-bit trường phân số f (fraction)

III. THIẾT KẾ KIẾN TRÚC MẠNG NƠ-RON NHÂN TẠO

Trong phần này, chúng tôi trình bày việc thiết kế kiến trúc

mạng nơ-ron nhân tạo (ANN) ứng dụng cho bài toán nhận dạng

chữ số viết tay trên FPGA Để thuận tiện trong trình bày, chúng

tôi gọi kiến trúc ANN này là lõi IP ANN (IP – Intellectual

Property)

A Sơ đồ khối chung

Như đề cập ở phần trước, chúng tôi cần thiết kế lõi IP ANN

gồm 2 lớp: lớp ẩn và lớp ra Sơ đồ khối ở Hình 4 trình bày ý

tưởng để thiết kế lõi IP ANN thực hiện mạng nơ-ron nhân tạo

Kiến trúc tổng quát của hai lớp hoàn toàn giống nhau, tuy nhiên,

các lớp khác nhau về số nơ-ron và số các đầu vào một nơ-ron,

cũng như bộ trọng số tối ưu trong mỗi lớp Các bộ trọng số tối

ưu W1 và W2 là kết quả của quá trình huấn luyện mạng ở mục

trước là các hằng số nên sẽ được lưu cố định trong ROM

Cũng như trong phần huấn luyện trên Matlab, trong phần

thiết kế lõi IP ANN cho FPGA chúng tôi cũng chọn số đầu vào

là 20, số lượng nơ-ron lớp ẩn là 12 và lớp ra là 10 Vec-tơ đầu

vào x được nhân với ma trận trọng số W1, sau đó đi qua hàm

kích hoạt f sẽ cho 12 đầu ra của lớp ẩn Tiếp theo, 12 giá trị đầu

ra của lớp ẩn này sẽ trở thành đầu vào cho lớp ra Thực hiện

tương tự đối với lớp ra khi nhân đầu vào với ma trận trọng số

W2 và cũng qua hàm kích hoạt f để xác định 10 đầu ra của lõi

IP ANN

B Kiến trúc của một nơ-ron

Giả sử ma trận trọng số W có kích thước MxN và vec-tơ đầu

vào x = [x1, x2, , xN] Để tính nơ-ron thứ i, ta sử dụng các

công thức sau:



ݐ௜ൌ σே௝ୀଵݓ௜ǡ௝Ǥ ݔ௝  ሺͶሻ

ݎ௜ൌ ݂ሺݐ௜ሻ ൌଵା௘ଵష೟೔ (5)

Trong đó, ti là tổng trọng của nơ-ron thứ i; wi,j là một trọng

số ứng với đầu vào xj; ri là nơ-ron thứ i được xác định bằng hàm

kích hoạt logsigmoid của ti Triển khai công thức (4) thành dạng

ma trận, ta được:

ۏ ێ ێ ێ ێ

ۍݓݓଵǡଵଶǡଵ ݓݓଵǡଶଶǡଶ ǥ ݓǥ ݓଵǡ௝ଶǡ௝ ǥǥ ݓݓଵǡேଶǡே

ڭ

ݓ௜ǡଵ ݓ௜ǡଶ ڭ

ڭ

ǥ ݓ௜ǡ௝ ǥ ڭ

ڭ

ݓ௜ǡே

ڭ

ݓெǡଵ ݓெǡଶ ǥ ݓெǡ௝ ǥ ݓெǡேےۑ

ۑ ۑ ۑ

ې Ǥ ۏ ێ ێ ێ ێ

ۍݔݔଵଶ ڭ

ݔ௝ ڭ

ݔேےۑ ۑ ۑ ۑ

ې

= ۏ ێ ێ ێ ێ

ۍݐݐଵଶ ڭ

ݐ௜ ڭ

ݐெےۑ ۑ ۑ ۑ

ې (6)

Ta dễ dàng nhận thấy: ti chính là tích vô hướng

(dot-product) của vec-tơ wi – vec-tơ hàng thứ i của ma trận trọng số

W – và vec-tơ đầu vào x Vì vậy, chúng tôi thiết kế khối nhân

cộng tích lũy (Multiply Accumulate - MAC) để thực hiện nhân

vô hướng hai vec-tơ, sơ đồ khối MAC được xây dựng như Hình

5 Sơ đồ khối MAC bao gồm khối nhân, khối cộng và thanh ghi

sử dụng DFF để lưu giá trị ngõ ra hiện tại của phép toán cộng, ngõ ra của khối nhân được xác định bằng phép nhân của hai vec-tơ x và wi sẽ đưa tới khối cộng để thực hiện phép cộng với giá trị đưa ngược trở về từ DFF, hay nói cách khác chính là cộng

tích lũy Hàm kích hoạt f trong công thức (5) được thiết kế theo

sơ đồ khối ở Hình 6, bao gồm ba khối: lấy mũ cơ số e, cộng và

lấy nghịch đảo, được thực hiện theo thứ tự lần lượt

Như vậy, để thực hiện nơ-ron thứ i chúng tôi ghép nối tiếp

hai khối nhân cộng tích lũy và khối hàm kích hoạt với nhau cùng với một bộ nhớ ROM có N ô nhớ để lưu trữ giá trị trọng

số hàng thứ i Sơ đồ khối tính toán nơ-ron (Neural) thứ i được

trình bày như trong Hình 7

Hình 5 Sơ đồ khối nhân cộng tích lũy MAC

Hình 6 Sơ đồ khối hàm kích hoạt của nơ-ron thứ i

Hình 7 Sơ đồ khối kiến trúc của nơ-ron thứ i Hình 4 Sơ đồ khối chung lõi IP ANN



Trang 4

C Kiến trúc lõi IP ANN

Hình 8 trình bày sơ đồ khối lõi IP ANN gồm 2 lớp được thiết

kế cho bài toán nhận dạng chữ viết tay Lớp ẩn gồm 12 nơ-ron

nên chúng tôi ghép song song 12 khối Neural Tương tự, đối

với lớp ra chúng tôi ghép song song 10 khối Neural Đầu ra của

lớp ẩn là song song, tuy nhiên đầu vào của lớp ra là nối tiếp Do

đó, chúng tôi thiết kế khối chuyển đổi song song sang nối tiếp

P2S Các đầu ra của lõi IP ANN lần lượt là: r1, r2, , r10

IV. KẾT QUẢ

A Kết quả thực thi lõi IP ANN trên phần cứng FPGA

Chúng tôi sử dụng bộ công cụ ISE 14.1 và board mạch

FPGA Virtex-5 XC5VLX110T của Xilinx [10] để thực thi thiết

kế lõi IP mạng nơ-ron nhân tạo ANN Lõi IP ANN cũng được

kết nối vào hệ thống nhúng sử dụng vi xử lý 32-bit MicroBlaze

hoạt động tại tần số 100 MHz và sử dụng hệ thống bus PLB

(Processor Local Bus) của Xilinx để kiểm tra tốc độ và tỉ lệ

nhận dạng Các kết quả thực thi lõi IP ANN trên phần cứng

FPGA như sau:

x Tần số hoạt động tối đa: f max = 205 (MHz);

x Tài nguyên phần cứng sử dụng được trình bày trong Bảng

2 cho thấy lõi IP ANN được thiết kế và thực thi chiếm

khoảng 41% lượng tài nguyên của board Virtex-5

XC5VLX110T và hoàn toàn phù hợp cho các ứng dụng

nhận dạng được nhúng trên FPGA;

x Tốc độ nhận dạng: tốc độ nhận dạng cho một mẫu dữ liệu

vào của lõi IP ANN là 799 chu kỳ đồng hồ / mẫu, tương

ứng với thời gian nhận dạng là 7.99 Ps/mẫu khi lõi IP ANN

được thử nghiệm trong hệ thống nhúng sử dụng

MicroBlaze hoạt động tại tần số đồng hồ 100 MHz

Bảng 2: Ước lượng tài nguyên phần cứng của lõi IP ANN trên board

mạch Virtex-5 XC5VLX110T (speed grade -3)

Logic sử dụng Tổng số Đã dùng Chiếm dụng

B Đánh giá độ chính xác và kiểm tra tỉ lệ nhận dạng

Để đánh giá tỉ lệ nhận dạng của lõi IP ANN chúng tôi sử

dụng tập dữ liệu kiểm tra từ MNIST gồm 10,000 mẫu dữ liệu

Quá trình kiểm tra được thực hiện với lõi IP ANN chạy trên board FPGA Virtex-5 XC5VLX110T và trên Matlab để đối sánh Tỉ lệ nhận dạng đúng của lõi IP ANN trên FPGA và

chương trình trên Matlab lần lượt là 90.88 % và 91.33 % Lõi

IP ANN cho tỉ lệ nhận dạng đúng xấp xỉ gần bằng tỉ lệ nhận dạng khi thực hiện trên Matlab Sự sai khác này là hoàn toàn chấp nhận được vì các tính toán trên Matlab dùng định dạng số với độ chính xác kép 64-bit trong khi các tính toán của IP ANN trên FPGA dùng định dạng số bán chính xác với chỉ với 16-bit

Tỉ lệ nhận dạng đúng đối với tập dữ liệu chữ số viết tay MNIST khi thực thi trên máy tính (bằng các phương pháp khác nhau) trong khoảng 95-99 % [6], khá cao so với tỉ lệ nhận dạng đạt được trên phần cứng FPGA trình bày trong nghiên cứu của chúng tôi Tuy nhiên, lưu ý rằng các thực nghiệm đã trình bày

ở [6] có kích thước mạng và số lượng đầu vào là rất lớn, chẳng hạn tương ứng với tỉ lệ nhận dạng đúng là 95.3 % cần sử dụng một kiến trúc mạng nơ-ron 2 lớp với 300 nơ-ron Trong khi đó, thiết kế lõi IP ANN của chúng tôi chỉ có tổng cộng 22 nơ-ron (chỉ bằng 7.3% so với thiết kế ở [6]) và đạt tỉ lệ nhận dạng khá

tốt (90.88%) Rõ ràng, sự suy giảm về độ chính xác nhằm đạt

được một kiến trúc mạng nơ-ron tinh giản để có thể thực thi được trên phần cứng FPGA với số lượng tài nguyên hạn hẹp

V. KẾT LUẬN

Trong bài báo này, chúng tôi đã trình bày việc nghiên cứu, thiết kế và thực thi một kiến trúc mạng nơ-ron nhân tạo 2 lớp (lõi IP ANN) trên FPGA và ứng dụng trong bài toán nhận dạng chữ số viết tay Lõi IP ANN có thể dễ dàng mở rộng theo hướng thay đổi số lượng nơ-ron trong mỗi lớp và có thể ứng dụng để thực hiện nhận dạng trên nhiều tập dữ liệu khác tùy theo mục đích của người sử dụng Việc xây dựng mạng nơ-ron trên FPGA

sẽ là cơ sở cho việc hiện thực hóa các giải thuật huấn luyện cho mạng nơ-ron trên chip và từ đó có thể mở ra các hướng thiết kế

và ứng dụng mang tính thực tiễn cao với sự tích hợp các hệ thống xử lý thông minh trên chip Các hướng nghiên cứu trong tương lai bao gồm: tối ưu hóa kiến trúc lõi IP ANN đã thiết kế theo hướng tăng tốc độ nhận dạng, ứng dụng lõi IP ANN trong nhận dạng mặt người hay nhận dạng dấu vân tay, cũng như nghiên cứu thực thi kiến trúc ANN theo hướng ASIC

TÀI LIỆU THAM KHẢO [1] M Hoffman, P Bauer, B Hemrnelman, and A Hasan, "Hardware synthesis of artificial neural networks using field programmable gate

arrays and fixed-point numbers," in Region 5 Conference, 2006 IEEE

[2] A W Savich, M Moussa, and S Areibi, "The impact of arithmetic

representation on implementing MLP-BP on FPGAs: A study," IEEE

Transactionson on Neural Networks, Jan 2007

[3] K Nichols, M Moussa, and S Areibi, "Feasibility of Floating-Point

arithmetic in FPGA based artificial neural networks," in CAINE, 2002

[4] Thang Viet Huynh, "Design space exploration for a single-FPGA

handwritten digit recognition system," in 2014 IEEE-ICCE, 2014

[5] Lakhina, S ; Joseph, S ; Verma, B., " Feature Reduction using Principal Component Analysis for Effective Anomaly–Based Intrusion Detection

on NSL-KDD ", IJEST, 2010

[6] The MNIST database of handwritten digits, http://yann.lecun.com/exdb/mnist/

[7] Neural Network Toolbox™ 7 User’s Guide [8] IEEE Standard for Floating-Point Arithmetic," IEEE Std 754-2008 , vol., no., pp.1,70, Aug 29 2008

[9] FloPoCo project, http://flopoco.gforge.inria.fr/

[10] Xilinx training, http://www.xilinx.com/training/fpga-tutorials.htm

Hình 8 Sơ đồ khối lõi IP ANN 2 lớp ứng dụng trong nhận dạng

chữ số viết tay: lớp ẩn gồm 12 nơ-ron, lớp ra gồm 10 nơ-ron



Ngày đăng: 27/04/2022, 10:11

HÌNH ẢNH LIÊN QUAN

II. MÔ HÌNH HỆ THỐNG NHẬN DẠNG - Về một kiến trúc mạng nơ-ron nhân tạo trên FPGA ứng dụng trong nhận dạng chữ số viết tay
II. MÔ HÌNH HỆ THỐNG NHẬN DẠNG (Trang 1)
Hình 2, đầu vào của mỗi lớp nơ-ron sẽ được nhân với trọng số W, sau đó cộng với ngưỡng (bias) b, tiếp đó đ i qua hàm kích  hoạt f (sẽđược trình bày trong mục sau) - Về một kiến trúc mạng nơ-ron nhân tạo trên FPGA ứng dụng trong nhận dạng chữ số viết tay
Hình 2 đầu vào của mỗi lớp nơ-ron sẽ được nhân với trọng số W, sau đó cộng với ngưỡng (bias) b, tiếp đó đ i qua hàm kích hoạt f (sẽđược trình bày trong mục sau) (Trang 2)
Bảng 1. Đặc điểm 3 định dạng số thực dấu phẩy động thông dụng được ứng dụng nhiều trong thực tế theo chuẩ n IEEE-754  - Về một kiến trúc mạng nơ-ron nhân tạo trên FPGA ứng dụng trong nhận dạng chữ số viết tay
Bảng 1. Đặc điểm 3 định dạng số thực dấu phẩy động thông dụng được ứng dụng nhiều trong thực tế theo chuẩ n IEEE-754 (Trang 2)
Hình 2. Sơ đồ kiến trúc của mạng nơ-ron nhận dạng chữ số viết tay - Về một kiến trúc mạng nơ-ron nhân tạo trên FPGA ứng dụng trong nhận dạng chữ số viết tay
Hình 2. Sơ đồ kiến trúc của mạng nơ-ron nhận dạng chữ số viết tay (Trang 2)
Hình 5. Sơ đồ khối nhân cộng tích lũy MAC - Về một kiến trúc mạng nơ-ron nhân tạo trên FPGA ứng dụng trong nhận dạng chữ số viết tay
Hình 5. Sơ đồ khối nhân cộng tích lũy MAC (Trang 3)
Hình 6. Sơ đồ khối hàm kích hoạt của nơ-ron thứ i - Về một kiến trúc mạng nơ-ron nhân tạo trên FPGA ứng dụng trong nhận dạng chữ số viết tay
Hình 6. Sơ đồ khối hàm kích hoạt của nơ-ron thứ i (Trang 3)
Hình 8 trình bày sơ đồ khối lõi IP ANN gồm 2 lớp được thiết kế cho bài toán nhận dạng chữ viết tay - Về một kiến trúc mạng nơ-ron nhân tạo trên FPGA ứng dụng trong nhận dạng chữ số viết tay
Hình 8 trình bày sơ đồ khối lõi IP ANN gồm 2 lớp được thiết kế cho bài toán nhận dạng chữ viết tay (Trang 4)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w