Chương 1: Giới thiệu. Trong chương này sẽ giới thiệu về đề tài, tính cấp thiết, mục tiêu thực hiện đề tài, nhiệm vụ nghiên cứu, đối tượng và phạm vi đề tài hướng tới. Chương 2: Cơ sở lý thuyết. Trong chương này sẽ đề cập tới lý thuyết về mạng nơ- ron, thuật toán lan truyền ngược, lý thuyết về dấu chấm động được quy định trong IEEE 754, lý thuyết về máy trạng thái và một số ví dụ về máy trạng thái.
Chương 3: Thiết kế và thi công. Trong chương này sẽ nói chi tiết về việc thiết kế một mạng nơ-ron trên FPGA. Từ việc thiết kế các phép toán sử dụng dấu chấm động cho tới việc thiết kế hoàn chỉnh một mảng nơ-ron. Chương 4: Kết quả đạt được.
Trong chương này sẽ trình bày kết quả hoạt động của mạng nơ-ron. Chương 5: Kết luận đề tài và hướng phát triển. Trong chương này sẽ so sánh kết quả đạt được so với mục tiêu đề ra ban đầu, trình bày nhưng ưu điểm và nhược điểm gặp phải trong đề tài và hướng phát triển của đề tài trong tương lai. 4 do an CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.
GIỚI THIỆU VỀ MẠNG NƠ-RON NHÂN TẠO 2. MẠNG NƠ-RON SINH HỌC Nơ-ron là những tế bào thần kinh chính thức có chức năng dẫn các xung điện. Nơ-ron là đơn vị cơ bản cấu tạo hệ thống thần kinh và là một phần quan trong nhất của não. Thân và sợi nhánh của các nơ-ron tạo thành chất xám, nhiều sợi trục đi chung với nhau tạo thành các bó gọi là dây thần kinh cấu tạo chất trắng trong não [7].
Trong quá trình nghiên cứu về bộ não, người ta thấy rằng: bộ não người bao gồm 1011 nơ-ron tham gia vào khoảng 1015 kết nối trên các đường truyền [8]. Chức năng cơ bản của các tế bào nơ-ron là liên kết với nhau để tạo nên hệ thống thần kinh điều khiển hoạt động của cơ thể sống. Các tế bào nơ-ron truyền tín hiệu cho nhau thông qua các dây thần kinh vào và ra, các tín hiệu đó có dạng xung điện và được tạo ra từ các quá trình phản ứng hóa học phức tạp. Các xung này dưới dạng các tín hiệu hóa học trong hoạt động điều khiển, điều hòa và phối hợp mọi hoạt động của các cơ quan quan trọng cơ thể nhằm tạo ra sự thích nghi với các thay đổi từ môi trường bên trong và bên ngoài [7].
MẠNG NƠ-RON NHÂN TẠO Mạng nơ-ron nhân tạo (Aritifical Neural Networks) mô phỏng lại mạng nơ-ron sinh học là một cấu trúc khối gồm các đơn vị tính toán đơn giản được liên kết chặt chẽ với nhau trong đó các liên kết giữa các nơ-ron quyết định chức năng của mạng. Mạng có thể thực hiện nhờ chương trình máy tính hoặc bằng mạch phần cứng. Mỗi nơ-ron thực hiện hai chức năng là chức năng đầu vào và chức năng kích hoạt đầu ra, do đó có thể coi mỗi nơ- ron là một đơn vị xử lý [9]. 5 do an Hình 2.
1 Mô hình tổng quát mạng nơ-ron.1 giới thiều về mạng nơ-ron với nơ-ron là nút có hai phần là xử lý ngõ vào và xử lý ngõ ra, với ngõ vào phụ thuộc vào hai tham số xn và wn và ngõ ra là kết quả hàm thực thi f. MÔ HÌNH TOÁN HỌC MẠNG NƠ-RON NHÂN TẠO Như ở trên đã giới thiệu sơ lược về mô hình mạng nơ-ron nhân tạo, trong phần này sẽ nói sâu hơn về các thành phần cấu tạo nên mạng nơ-ron: Dữ liệu đầu vào: là các tín hiệu xn thường được đưa về dưới dạng vector n phần tử, dữ liệu đầu vào có thể là dữ liệu âm thanh hay hình ảnh từ các cảm biến đưa vào trong quá trình nhận diện. Trọng số liên kết: Là trọng số giữa tín hiệu vào thứ i với nơ-ron thứ k kí hiệu wkj. Thông thường các trọng số này được khởi tạo ngẫu nhiên ở thời điểm khởi tạo mạng và được cập nhật liên tục trong quá trình học của mạng.
Bộ tổng (Summing function): Dùng để tính tổng của tích các ngõ vào và trọng số liên kết của nó. Độ lệch (bias): Thường được đưa vào như thành phần của hàm truyền. Hàm kích hoạt (Activation Function): Được dùng để giới hạn phạm vi đầu ra của mỗi nơ-ron. Nó nhận đầu vào là kết quả của hàm tổng và độ lệch đã cho.
Thông thường, 6 do an phạm vi đầu ra của mỗi nơ-ron được giới hạn trong đoạn [0,1] hoặc [-1, 1]. Các hàm truyền rất đa dạng có thể là các hàm tuyến tính hoặc các hàm phi tuyến. Việc lựa chọn hàm truyền nào là tùy thuộc vào yêu cầu của từng bài toán và kinh nghiệm của người thiết kế mạng. Xét về mặt toán học, cấu trúc của một nơ-ron được mô tả bằng biểu thức sau: (2- 1) = + Trong biểu thức trên có y là ngõ ra của mạng, xj là các tín hiệu ngõ vào, wkj là trọng của của các ngõ vào ứng với từng nơ-ron, bk là độ lệch, hàm f là hàm kích hoạt.
HÀM KÍCH HOẠT Phần lớn các đơn vị trong mạng nơ-ron chuyển các giá trị tổng các tích đầu vào với trọng số bằng một hàm vô hướng (scalar-to-scalar function) gọi là hàm kích hoạt, kết quả hàm này là một giá trị gọi là mức độ kích hoạt. Các hàm kích hoạt thường bị ép vào một khoảng giá trị xác định, do đó thường được gọi là các hàm bẹp (squashing). Các hàm kích hoạt thường được sử dụng là: Hàm tuyến tính (Linear): là hàm kích hoạt có ngõ vào bằng với ngõ ra. ( )= (2- 2) 7 do an 0 Hình 2.
2 Đồ thị biểu diễn hàm tuyến tính Hàm tuyến tính sửa đổi (Rectifier Linear): Là hàm kích hoạt tương tự như hàm tuyến tính nhưng chỉ nhận phần tích cực (phần dương của tham số truyền vào hàm), còn phần phần âm sẽ bằng 0. 3 Đồ thị biểu diễn hàm tuyến tính chỉnh sửa Hàm Sigmoid: Là hàm bão hòa, nhận đầu vào tùy ý và cho đầu ra trong khoảng [0, 1]. Hàm này được dung chủ yếu trong mạng lan truyền ngược bởi vì có thể để đạo hàm được. 8 do an 1 (2- 4) ( )= 1+ 1 0 Hình 2.
4 Đồ thị biểu diễn hàm Sigmoid Hàm TanH: tương tự như hàm Sigmoid, hàm này làm việc tốt trong các yêu cầu trong khoảng [-1, 1]. 5 Đồ thị biểu diễn hàm TanH. 9 do an Hàm nhị phân (binary function): Là hàm kích hoạt cho ngõ ra bằng 1 khi tham số truyền vào lớn hơn 0 và ngõ ra bằng 0 khi tham số truyền vào nhỏ hơn hoặc bằng 0. 6 Đồ thị biểu diễn hàm bước nhị phân.
KIẾN TRÚC MẠNG NƠ-RON Mạng nơ-ron đơn lớp (A layer of Neurons): Mạng nơ-ron đơn lớp có số lượng nơ-ron bằng S được thể hiện ở hình 2. Trong hình có R ngõ vào kết nối với nơ-ron là ma trận trọng số liên kết với S hàng. 10 do an Hình 2. 7 Kiến trúc mạng nơ-ron đơn lớp = ( + ) (2- 7) Trong mạng nơ-ron đơn lớp bao gồm ma trận trọng số liên kết, hàm tổng, một vector độ lệch b (bias), hàm kích hoạt và vector ngõ ra o.
Các nơ-ron trong cùng một lớp không nhất thiết phải sử dụng cùng một hàm kích hoạt, có thể dùng nhiều hàm kích hoạt cho các nơ-ron trên cùng một lớp. Việc tính toán ngõ ra trên mạng nơ-ron đơn lớp sẽ bằng kết quả hàm truyền của tổng giữa hệ số bias và tích giữa trọng số liên kết và ngõ vào [10]. Mạng nơ-ron đa lớp (Multiple layer of Neurons): Mạng nơ-ron đa lớp thì trên mỗi lớp có một ma trận trọng số liên kết w riêng, một vector bias b riêng và một ngõ ra o riêng.8 sẽ thể hiện mô hình của mạng nơ-ron đa lớp. 11 do an Hình 2.
8 Kiến trúc mạng nơ ron đa lớp = ( .8 là mạng nơ-ron đa lớp mà ở đây là ba lớp, kết quả của lớp thứ nhất sẽ là dữ liệu đầu vào của lớp thứ hai và kết quả của lớp thứ hai sẽ là dữ liệu đầu vào lớp thứ ba, việc tính toán kết quả của mạng nơ-ron đa lớp thông qua biểu thức (2-11). Biểu thức (2-8) được dùng tính toán kết quả của lớp thứ nhất, biểu thức (2-9) được dùng tính toán kết quả của lớp thứ hai với ngõ vào là kết quả của lớp thứ nhất. Biểu thức (2-10) được dùng tính toán kết quả ngõ ra của lớp thứ ba thông qua ngõ vào là kết quả của lớp thứ hai. Sử dụng hàm kích hoạt trong các lớp giống như trong mạng nơ-ron đơn lớp, trong mỗi lớp đều có thể sử dụng các hàm kích hoạt khác nhau [10].
PHÂN LOẠI MẠNG NƠ-RON Phân loại mạng được dựa trên số lớp, số đơn vị trên mỗi lớp và sự liên kết giữa các lớp như thế nào. Các mạng về tổng thể được chia thành hai loại dựa trên các cách thức liên kết đơn vị. 12 do an Mạng truyền thẳng (Feed-forward neural network): Là dòng dữ liệu đi từ đầu đến cuối theo đường thẳng và không có các liên kết hồi tiếp trở lại. Việc xử lý dữ liệu có thể mở rộng ra nhiều lớp.
9 Mô hình mạng nơ-ron truyền thẳng. Mạng hồi quy (Recurrent neural network): Là mạng có chứa các liên kết hồi tiếp trở lại, vì có liên kết hồi tiếp trở lại nên các dữ liệu đầu vào và đầu ra tạo thành một chuỗi thông tin. Không giống như mạng truyền thẳng dữ liệu đầu vào và ra là độc lập với nhau. Mạng hồi quy có liên kết hồi tiếp nên có khả năng nhớ thông tin trước đó, mạng này có thể sử dụng trong ứng dụng như dự đoán từ sẽ xuất hiện tiếp theo [10] … 13 do an Hình 2.
10 Mô hình mạng nơ-ron hồi quy. HUẤN LUYỆN MẠNG Chức năng của một mạng nơ-ron được quyết định bởi các nhân tố như: đặc điểm của mạng (số lớp, số đơn vị trên mỗi tầng và cách mà các lớp liên kết với nhau) và các trọng số của các liên kết bên trong mạng. Các trọng số liên kết được điều chỉnh để mạng nhận biết được mối quan hệ giữa đầu vào và đích mong muốn được gọi là quá trình học (learning) hay là huấn luyện (training). Một mạng nơ-ron được huấn luyện sao cho với một tập các vector đầu vào X, mạng có khả năng tạo ra tập các vector đầu ra mong muốn Y.
Quá trình huấn luyện bản chất là thay đổi các trọng số liên kết để các trọng số có thể hội tụ đến một giá trị mỗi đầu vào ứng với một ngõ ra mong muốn. Việc huấn luyện mạng được phân thành hai loại là: Học có giám sát: Là mạng được cung cấp các cặp mẫu đầu vào và các đầu ra mong muốn (target values).