Xem mẫu
- Hội+ӝL7KҧR4XӕF*LDYӅĈLӋQ7ӱ7UX\ӅQ7K{QJYj&{QJ1JKӋ7K{QJ7LQ(&,7
-
Thảo Quốc Gia 2015 về Điện Tử, Truyền Thông và Công Nghệ Thông Tin (ECIT 2015)
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, 2Trườ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 thẳng nhiều lớp với ứng dụng trong nhận dạng mẫu. Mục tiêu
nơ-ron nhân tạo lan truyền thẳng 2 lớp ứng dụng trong bài toán của bài báo này là nghiên cứu thiết kế kiến trúc ANN lan truyề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 thẳng nhiều lớp trên FPGA, đồng thời ứng dụng kiến trúc mạng
FPGA (Field Programmable Gate Array). Kiến trúc mạng nơ-ron đã thiết kế trong bài toán nhận dạng chữ số viết tay nhằm kiểm
đề xuất được tổng hợp và thử nghiệm trên thiết bị FPGA Virtex-5
tra tính đúng đắn của thiết kế, xem xét khả năng thực thi và ứng
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ơ- dụng của kiến trúc mạng nơ-ron trên FPGA.
ron được thiết kế chiếm 41% tài nguyên phần cứng, đạt tần số hoạt Các công trình nghiên cứu liên quan có thể kể ra như công
động tối đa là 205 MHz. Kết quả thử nghiệm khi kết nối mạng nơ- trình của Hoffman [1], Savic [2], Nichols [3], hay của nhóm tác
ron vào hệ thống nhúng sử dụng vi xử lý mềm 32-bit MicroBlaze giả [4]. Nghiên cứu được thực hiện trong bài báo này là bước
hoạt động tại tần số 100 MHz với bus PLB cho thấy tốc độ nhận phát triển tiếp theo của kết quả đã đạt được ở công trình [4].
dạng cho mỗi mẫu dữ liệu vào là 799 chu kỳ đồng hồ/mẫu, tương
Đóng góp khoa học của bài báo này là việc thiết kế một kiến
ứng với thời gian nhận dạng 7.99 Ps/mẫu.
trúc mạng nơ-ron nhân tạo trên FPGA; kiến trúc mạng nơ-ron
Keywords - Neural Network; MNIST; FPGA; floating-point; đề xuất được thực thi và thử nghiệm trên board FPGA Virtex-5
high performance computing; MicroBlaze; 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.
I. ĐẶT VẤN ĐỀ
Phần còn lại của bài báo được sắp xếp theo trình tự sau đây.
Mạng nơ-ron nhân tạo (Artificial Neural Network - ANN)
Phần II giới thiệu mô hình hệ thống nhận dạng. Phần III trình
có nhiều ứng dụng trong xử lý tín hiệu, phân tích ảnh, nhận dạng
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
mẫu, trong các hệ thống chuẩn đoán y khoa và dự đoán chứng
trúc ANN lan truyền thẳng 2 lớp trên FPGA. Phần IV trình bày
khoán. ANN được lấy cảm hứng từ mạng nơ-ron sinh học bản
các kết quả đánh giá kiến trúc vừa được thiết kế. Cuối cùng các
chất là các hệ thống xử lý thông tin song song và phân tán. Kiến
kết luận và các hướng nghiên cứu tiếp theo được trình bày ở
trúc ANN yêu cầu một khối lượng tính toán song song khổng
Phần V.
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 II. MÔ HÌNH HỆ THỐNG NHẬN DẠNG
(High Performance Computing – HPC) kiến trúc ANN cần
được thực thi trên phần cứng song song. A. Sơ đồ khối hệ thống
Trong những năm gần đây, các hệ thống nhúng và ứng dụng Sơ đồ khối hệ thống nhận dạng chữ số viết tay được trình
nhúng dựa trên nền tảng công nghệ FPGA (Field bày trong Hình 1. Hệ thống bao gồm hai khối chính đó là: khối
Programmable Gate Array) đang phát triển mạnh mẽ và được giảm số chiều cho ảnh đầu vào sử dụng phương pháp trích chọn
ứng dụng rộng rãi trong thực tế cũng như trong các nghiên cứu. đặc trưng PCA (Principal Component Analysis – PCA) [5] và
Với khả năng cho phép cấu hình lại, cùng với mật độ cổng logic khối thứ hai là mạng nơ-ron nhân tạo lan truyền thẳng nhiều lớp
cao, các chip FPGA cho phép tạo ra nhiều phiên bản thiết kế dùng để nhận dạng.
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ỉ
Hình 1. Sơ đồ khối hệ thống nhận dạng
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 Chúng tôi sử dụng tập cơ sở dữ liệu chữ số viết tay MNIST
FPGA có thể được thực hiện lại trong một vài giờ và do đó tiết [6] để huấn luyện và kiểm tra mạng nơ-ron. Tập cơ sở dữ liệu
kiệm đáng kể chi phí và thời gian thực hiện thiết kế. này gồm 60,000 mẫu dùng để huấn luyện và 10,000 mẫu dùng
Trong bài báo này, chúng tôi quan tâm đến việc xây dựng để kiểm tra. Có 10 chữ số khác nhau từ 0 đến 9 trong tập cơ sở
một kiến trúc ANN hướng đến việc thực thi thiết kế ANN trên dữ liệu này. Mỗi số là một ảnh đa cấp xám được chuẩn hóa với
FPGA. Chúng tôi bắt đầu với một kiến trúc ANN lan truyền kích thước là 28x28 hay có tổng cộng là 784 điểm ảnh đặc
ISBN: 978-604-67-0635-9 253
- Hội+ӝL7KҧR4XӕF*LDYӅĈLӋQ7ӱ7UX\ӅQ7K{QJYj&{QJ1JKӋ7K{QJ7LQ(&,7
-
Thảo Quốc Gia 2015 về Điện Tử, Truyền Thông và Công Nghệ Thông Tin (ECIT 2015)
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
Hình 2. Sơ đồ kiến trúc của mạng nơ-ron nhận dạng chữ số viết tay đượ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
Hình 3. Định dạng số thực dấu phẩy động bán chính xác (half- việc thiết kế trên phần cứng, chúng tôi xem giá trị ngưỡng như
precision floating-point format) theo FloPoCo 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
trưng. Vì số chiều của ảnh gốc là khá lớn nên cần phải giảm số lớp ẩn và lớp ra tương ứng với kích thước như sau: W1 (12x21),
chiều trước khi huấn luyện mạng. Chúng tôi sử dụng PCA để W2 (10x13), đồng thời vec-tơ vào của mỗi lớp cũng được tăng
trích chọn thành phần chính từ dữ liệu gốc và chỉ sử dụng một thêm một phần tử chính là hằng số “1”. Các ma trận trọng số
số thành phần chính đầu tiên cho việc huấn luyện và kiểm tra này sẽ được sử dụng để thiết kế kiến trúc lõi IP ANN trên FPGA
mạng nơ-ron. sẽ được trình bày ở những phần tiếp sau.
B. Khối trích chọn đặc trưng PCA D. Kiểu dữ liệu
PCA là một kỹ thuật phổ biến để trích chọn đặc trưng dữ Chúng tôi sử dụng định dạng số dấu phẩy động trong tất cả
liệu, mục đích nhằm cách giảm số chiều hoặc kích thước tập dữ các tính toán của kiến trúc ANN được thiết kế. Tiêu chuẩn
liệu mà không mất mát thông tin nhiều. Để thực hiện kỹ thuật IEEE-754 (2008) [8] đề ra các quy định về định dạng của số
PCA cho tập dữ liệu X = (x1, x2, ..., xM) có M mẫu N chiều, ta thực dấu phẩy động thống nhất chung giữa các nhà thiết kế.
cần thực hiện các bước sau: Bảng 1 trình bày các định dạng dấu phẩy động bán chính xác
x Tính giá trị trung bình của X: (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
xtb ൌ σே
ୀଵ xi (1) và 64 bit.
ே
x Tính sai số từng phần tử của X so với giá trị trung bình: 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
ɔi = xi - xtb (2)
x Tìm ma trận hiệp phương sai: Định dạng Phần dấu Phần mũ Phần định trị
ଵ Bán chính xác 1 bit 5 bit 10 bit
Cൌ σெ ்
ୀଵ ߮ Ǥ ߮ = Ȱ.Ȱ
T
(3)
ெ Chính xác đơn 1 bit 8 bit 23 bit
x Tìm trị riêng của C làሺߣଵ ǡ ߣଶ ǡ ǥ ǡ ߣெ ሻ tương ứng với N Chính xác kép 1 bit 11 bit 52 bit
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ư Định dạng số dấu phẩy động bán chính xác được biểu diễn
vậy các vec-tơ riêng sẽ được sắp xếp theo thứ tự từ cao đến bằng một chuỗi nhị phân có kích thước 16 bit, bằng một nửa
thấp của đặc trưng. 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
x Trích chọn đặc trưng có ý nghĩa nhất.
bán chính xác không được xem là lý tưởng khi thực hiện các
Việc lựa chọn số lượng đầu vào để đáp ứng những yêu cầu tính toán. Tuy nhiên, định dạng bán chính xác ít chiếm dụng tài
về tỉ lệ nhận dạng đúng và khả năng thực thi được kiến trúc nguyên phần cứng hơn các định dạng còn lại nên đối với những
ANN trên phần cứng FPGA với lượng tài nguyên hữu hạn đã ứng dụng, tính toán không yêu cầu quá khắt khe về vùng biểu
được khảo sát chi tiết trong [4]. Trong bài báo này, từ tập cơ sở diễn giá trị, độ chính xác mà ngược lại cần tốc độ tính toán
dữ liệu MNIST, chúng tôi đã trích chọn đặc trưng dùng kỹ thuật nhanh và không tốn quá nhiều tài nguyên thì định dạng bán
PCA và đã lựa chọn sử dụng 20 thành phần chính đầu tiê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
đưa vào đầu vào của ANN thực hiện huấn luyện và nhận dạng. này, chúng tôi sử dụng định dạng dấu phẩy động bán chính xác.
Số lượng đầu vào này vừa đáp ứng được những yêu cầu về tỉ lệ Trong nghiên cứu này, các tính toán với định dạng số thực
nhận dạng cũng như khả năng thực thi của kiến trúc ANN trên dấu phẩy động bán chính xác trong kiến trúc ANN đề xuất trên
FPGA Virtex-5 [4]. FPGA sẽ được thực hiện bằng ngôn ngữ mô tả phần cứng
254
- Hội Thảo Quốc Gia 2015 về Điện Tử, Truyền Thông và Công Nghệ Thông Tin (ECIT 2015)
+ӝL7KҧR4XӕF*LDYӅĈLӋQ7ӱ7UX\ӅQ7K{QJYj&{QJ1JKӋ7K{QJ7LQ(&,7
-
VHDL dựa vào thư viện mã nguồn mở FloPoCo [9]. Lưu ý rằng, Trong đó, ti là tổng trọng của nơ-ron thứ i; wi,j là một trọng
định dạng số thực dấu phẩy động bán chính xác (16 bit theo số ứng với đầu vào xj; ri là nơ-ron thứ i được xác định bằng hàm
chuẩn IEEE-754) khi thực thi bằng thư viện FloPoCo sẽ được kích hoạt logsigmoid của ti. Triển khai công thức (4) thành dạng
thêm vào 2 bit để phân biệt các giá trị đặc biệt [9] như được ma trận, ta đượ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, ݓێ ǥ ݓǡ ǥ ݓǡே ۑǤ ݔ ێێ ݐ ێێ=ۑۑ ۑۑ (6)
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
Hình 5. Sơ đồ khối nhân cộng tích lũy MAC
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.
Hình 6. Sơ đồ khối hàm kích hoạt của nơ-ron thứ i
Hình 4. Sơ đồ khối chung lõi IP ANN
Cũng như trong phần huấn luyện trên Matlab, trong phần Hình 7. Sơ đồ khối kiến trúc của nơ-ron thứ i
thiết kế lõi IP ANN cho FPGA chúng tôi cũng chọn số đầu vào
Ta dễ dàng nhận thấy: ti chính là tích vô hướng (dot-
là 20, số lượng nơ-ron lớp ẩn là 12 và lớp ra là 10. Vec-tơ đầu
product) của vec-tơ wi – vec-tơ hàng thứ i của ma trận trọng số
vào x được nhân với ma trận trọng số W1, sau đó đi qua hàm
W – và vec-tơ đầu vào x. Vì vậy, chúng tôi thiết kế khối nhân
kích hoạt f sẽ cho 12 đầu ra của lớp ẩn. Tiếp theo, 12 giá trị đầu
cộng tích lũy (Multiply Accumulate - MAC) để thực hiện nhân
ra của lớp ẩn này sẽ trở thành đầu vào cho lớp ra. Thực hiện
vô hướng hai vec-tơ, sơ đồ khối MAC được xây dựng như Hình
tương tự đối với lớp ra khi nhân đầu vào với ma trận trọng số
5. Sơ đồ khối MAC bao gồm khối nhân, khối cộng và thanh ghi
W2 và cũng qua hàm kích hoạt f để xác định 10 đầu ra của lõi
sử dụng DFF để lưu giá trị ngõ ra hiện tại của phép toán cộng,
IP ANN.
ngõ ra của khối nhân được xác định bằng phép nhân của hai
B. Kiến trúc của một nơ-ron vec-tơ x và wi sẽ đưa tới khối cộng để thực hiện phép cộng với
Giả sử ma trận trọng số W có kích thước MxN và vec-tơ đầu giá trị đưa ngược trở về từ DFF, hay nói cách khác chính là cộng
vào x = [x1, x2, ..., xN]. Để tính nơ-ron thứ i, ta sử dụng các tích lũy. Hàm kích hoạt f trong công thức (5) được thiết kế theo
công thức sau: 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
ݎ ൌ ݂ሺݐ ሻ ൌ (5) 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.
255
- Hội+ӝL7KҧR4XӕF*LDYӅĈLӋQ7ӱ7UX\ӅQ7K{QJYj&{QJ1JKӋ7K{QJ7LQ(&,7
-
Thảo Quốc Gia 2015 về Điện Tử, Truyền Thông và Công Nghệ Thông Tin (ECIT 2015)
C. Kiến trúc lõi IP ANN 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
Hình 8. Sơ đồ khối lõi IP ANN 2 lớp ứng dụng trong nhận dạng ở [6] có kích thước mạng và số lượng đầu vào là rất lớn, chẳng
chữ số viết tay: lớp ẩn gồm 12 nơ-ron, lớp ra gồm 10 nơ-ron 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 đó,
Hình 8 trình bày sơ đồ khối lõi IP ANN gồm 2 lớp được thiết thiết kế lõi IP ANN của chúng tôi chỉ có tổng cộng 22 nơ-ron
kế cho bài toán nhận dạng chữ viết tay. Lớp ẩn gồm 12 nơ-ron (chỉ bằng 7.3% so với thiết kế ở [6]) và đạt tỉ lệ nhận dạng khá
nên chúng tôi ghép song song 12 khối Neural. Tương tự, đối tốt (90.88%). Rõ ràng, sự suy giảm về độ chính xác nhằm đạt
với lớp ra chúng tôi ghép song song 10 khối Neural. Đầu ra của được một kiến trúc mạng nơ-ron tinh giản để có thể thực thi
lớp ẩn là song song, tuy nhiên đầu vào của lớp ra là nối tiếp. Do được trên phần cứng FPGA với số lượng tài nguyên hạn hẹp.
đó, 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. 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,
IV. KẾT QUẢ thiết kế và thực thi một kiến trúc mạng nơ-ron nhân tạo 2 lớp
A. Kết quả thực thi lõi IP ANN trên phần cứng FPGA (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
Chúng tôi sử dụng bộ công cụ ISE 14.1 và board mạch thay đổi số lượng nơ-ron trong mỗi lớp và có thể ứng dụng để
FPGA Virtex-5 XC5VLX110T của Xilinx [10] để thực thi thiết thực hiện nhận dạng trên nhiều tập dữ liệu khác tùy theo mục
kế lõi IP mạng nơ-ron nhân tạo ANN. Lõi IP ANN cũng được đích của người sử dụng. Việc xây dựng mạng nơ-ron trên FPGA
kết nối vào hệ thống nhúng sử dụng vi xử lý 32-bit MicroBlaze sẽ là cơ sở cho việc hiện thực hóa các giải thuật huấn luyện cho
hoạt động tại tần số 100 MHz và sử dụng hệ thống bus PLB mạng nơ-ron trên chip và từ đó có thể mở ra các hướng thiết kế
(Processor Local Bus) của Xilinx để kiểm tra tốc độ và tỉ lệ và ứng dụng mang tính thực tiễn cao với sự tích hợp các hệ
nhận dạng. Các kết quả thực thi lõi IP ANN trên phần cứng thống xử lý thông minh trên chip. Các hướng nghiên cứu trong
FPGA như sau: tương lai bao gồm: tối ưu hóa kiến trúc lõi IP ANN đã thiết kế
x Tần số hoạt động tối đa: fmax = 205 (MHz); theo hướng tăng tốc độ nhận dạng, ứng dụng lõi IP ANN trong
x Tài nguyên phần cứng sử dụng được trình bày trong Bảng nhận dạng mặt người hay nhận dạng dấu vân tay, cũng như
2 cho thấy lõi IP ANN được thiết kế và thực thi chiếm nghiên cứu thực thi kiến trúc ANN theo hướng ASIC.
khoảng 41% lượng tài nguyên của board Virtex-5 TÀI LIỆU THAM KHẢO
XC5VLX110T và hoàn toàn phù hợp cho các ứng dụng [1] M. Hoffman, P. Bauer, B. Hemrnelman, and A. Hasan, "Hardware
nhận dạng được nhúng trên FPGA; synthesis of artificial neural networks using field programmable gate
x Tốc độ nhận dạng: tốc độ nhận dạng cho một mẫu dữ liệu arrays and fixed-point numbers," in Region 5 Conference, 2006 IEEE.
vào của lõi IP ANN là 799 chu kỳ đồng hồ / mẫu, tương [2] A. W. Savich, M. Moussa, and S. Areibi, "The impact of arithmetic
representation on implementing MLP-BP on FPGAs: A study," IEEE
ứng với thời gian nhận dạng là 7.99 Ps/mẫu khi lõi IP ANN Transactionson on Neural Networks, Jan. 2007.
được thử nghiệm trong hệ thống nhúng sử dụng [3] K. Nichols, M. Moussa, and S. Areibi, "Feasibility of Floating-Point
MicroBlaze hoạt động tại tần số đồng hồ 100 MHz. arithmetic in FPGA based artificial neural networks," in CAINE, 2002.
[4] Thang Viet Huynh, "Design space exploration for a single-FPGA
Bảng 2: Ước lượng tài nguyên phần cứng của lõi IP ANN trên board handwritten digit recognition system," in 2014 IEEE-ICCE, 2014.
mạch Virtex-5 XC5VLX110T (speed grade -3) [5] Lakhina, S. ; Joseph, S. ; Verma, B., " Feature Reduction using Principal
Component Analysis for Effective Anomaly–Based Intrusion Detection
Logic sử dụng Tổng số Đã dùng Chiếm dụng on NSL-KDD ", IJEST, 2010.
[6] The MNIST database of handwritten digits,
Số slice 69120 28340 41% http://yann.lecun.com/exdb/mnist/
[7] Neural Network Toolbox™ 7 User’s Guide
B. Đánh giá độ chính xác và kiểm tra tỉ lệ nhận dạng [8] IEEE Standard for Floating-Point Arithmetic," IEEE Std 754-2008 , vol.,
no., pp.1,70, Aug. 29 2008
Để đánh giá tỉ lệ nhận dạng của lõi IP ANN chúng tôi sử [9] FloPoCo project, http://flopoco.gforge.inria.fr/
dụng tập dữ liệu kiểm tra từ MNIST gồm 10,000 mẫu dữ liệu. [10] Xilinx training, http://www.xilinx.com/training/fpga-tutorials.htm
256
nguon tai.lieu . vn