Xem mẫu

  1. Hội+ӝL7KҧR4XӕF*LDYӅĈLӋQ7ӱ7UX\ӅQ7K{QJYj&{QJ1JKӋ7K{QJ7LQ (&,7
  2. 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 
  3. Hội+ӝL7KҧR4XӕF*LDYӅĈLӋQ7ӱ7UX\ӅQ7K{QJYj&{QJ1JKӋ7K{QJ7LQ (&,7
  4. 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 
  5. 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
  6. 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 
  7. Hội+ӝL7KҧR4XӕF*LDYӅĈLӋQ7ӱ7UX\ӅQ7K{QJYj&{QJ1JKӋ7K{QJ7LQ (&,7
  8. 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