CHƯƠNG 2: MÔ HÌNH MẠNG NEURON VÀ MÔ HÌNH HỌC SÂU
2.1. Tổng quan về mô hình mạng neuron
2.1.2. Cấu trúc và hoạt động của mạng Neuron
2.1.2.3. Hoạt động của mạng neuron
Một mạng neuron có thể có nhiều lớp/tầng mạng và ít nhất phải có một lớp đó là lớp đầu ra (lớp đầu vào thường không được tính là một lớp mạng).
Mỗi lớp có thẻ có một hoặc nhiều neuron. Cấu trúc tổng quát của mạng neuron được thể hiện trong hình 2-5 dưới đây:
Hinh 2- 3: Cấu trúc chung của mạng neuron
Mạng neuron với cấu trúc như hình vẽ trên có thể mô tả như sau:
Đầu vào của mạng vector có kích thước p: ( , ,....,x x1 2 xp)và đầu ra là vector a a1, ,....,2 aqcó kích thước q. Trong vài toán phân loại mẫu, kích thước đầu vào của mạng là kích thước của mẫu đầu vào, kích thước đầu ra của mạng chính là số lớp cần phân loại.
Ví dụ, trong bài toán nhận dạng chữ số, kích thước đầu ra của mạng là 10 tương ứng với 10 chữ số 0,…,9, trong vài toán nhận dạng chữ cái tiếng Anh viết thường, kích thức đầu ra của mạng là 26 tương ứng với 26 chữ cái a…z.
Lớp ẩn đầu tiên là lớp H1, sau đó đến lớp ẩn thứ hai H2, tiếp tục như vậy cho đến lớp ẩn cuối cùng rồi lớp đầu ra O.
Các neuron trong các lớp có cấu trúc như trên hình 2-4, liên kết giữa các neuron giữa các lớp có thể là liên kết đầy đủ (mỗi neuron thuộc lớp sau liên kết với tất cả các neuron ở lớp trước nó) hoặc liên kết chọn lọc (mỗi neuron thuộc lớp sau liên kết với tất cả neuron ở lớp trước đó).
Đầu ra của lớp trước chính là đầu vào của lớp ngay sau nó.
Hàm truyền tại các neuron không nhất thiết giống nhau.
Với cấu trúc như vậy, hoạt động của mạng neuron diễn ra như sau: đầu tiên vector đầu vào được lan truyền qua lớp H1. Tại lớp này, mỗi neuron nhận vector đầu vào rồi xử lý (tính tổng có trọng số của các đầu vào rồi cho qua hàm truyền) và cho ra kết quả tương ứng. Đầu ra của lớp H1 chính là đầu vào của lớpH2, do đó sau khi lớp H1 cho kết quả ở đầu ra của mình thì lớp
H2 nhận được đầu vào và tiếp tục quá trình xử lý. Cứ như vậy cho tới khi thu được đầu ra sau lớp O, đầu ra này chính là đầu ra cuối cùng của mạng.
Mô hình mạng neuron
Mặc dù mỗi neuron đơn lẻ có thể thực hiện những chức năng xử lý thông tin nhất định, sức mạnh của tính toán neuron chủ yếu có được nhờ sự kết hợp các neuron trong một kiến trúc thống nhất. Một mạng neuron là một mô hình tính toán được xác định qua các tham số: kiểu neuron (như là các nút nếu ta coi cả mạng neuron là một đồ thị), kiến trúc kết nối (sự tổ chức kết nối giữa các neuron) và thuật toán học (thuật toán dùng để học cho mạng).
Về bản chất một mạng neuron có chức năng như là một hàm ánh xạ F:
X → Y, trong đó X là không gian trạng thái đầu vào (input state space) và Y là không gian trạng thái đầu ra (output state space) của mạng. Các mạng chỉ đơn giản là làm nhiệm vụ ánh xạ các vector đầu vào x ∈ X sang các vector đầu ra y ∈ Y thông qua “bộ lọc” (filter) các trọng số. Tức là y = F(x) = s(W, x), trong đó W là ma trận trọng số liên kết. Hoạt động của mạng thường là các tính toán số thực trên các ma trận.
Các kiểu mô hình mạng neuron
Cách thức kết nối các neuron trong mạng xác định kiến trúc (topology) của mạng. Các neuron trong mạng có thể kết nối đầy đủ (fully connected) tức là mỗi neuron đều được kết nối với tất cả các neuron khác, hoặc kết nối cục
bộ (partially connected) chẳng hạn chỉ kết nối giữa các neuron trong các tầng khác nhau. Người ta chia ra hai loại kiến trúc mạng chính:
Tự kết hợp (autoassociative): là mạng có các neuron đầu vào cũng là các neuron đầu ra. Mạng Hopfield là một kiểu mạng tự kết hợp.
Hinh 2- 4: Mạng tự kết hợp
Kết hợp khác kiểu (heteroassociative): là mạng có tập neuron đầu vào và đầu ra riêng biệt. Perceptron, các mạng Perceptron nhiều tầng (MLP:
MultiLayer Perceptron), mạng Kohonen, … thuộc loại này.
Hinh 2- 5: Mạng kết hợp khác kiểu
Ngoài ra tùy thuộc vào mạng có các kết nối ngược (feedback connections) từ các neuron đầu ra tới các neuron đầu vào hay không, người ta chia ra làm 2 loại kiến trúc mạng.
Kiến trúc truyền thẳng (feedforward architechture): là kiểu kiến trúc mạng không có các kết nối ngược trở lại từ các neuron đầu ra về các neuron
đầu vào; mạng không lưu lại các giá trị output trước và các trạng thái kích hoạt của neuron. Các mạng neuron truyền thẳng cho phép tín hiệu di chuyển theo một đường duy nhất; từ đầu vào tới đầu ra, đầu ra của một tầng bất kì sẽ không ảnh hưởng tới tầng đó. Các mạng kiểu Perceptron là mạng truyền thẳng.
Hinh 2- 6: Mạng truyền thẳng
Kiến trúc phản hồi (Feedback architecture): là kiểu kiến trúc mạng có các kết nối từ neuron đầu ra tới neuron đầu vào. Mạng lưu lại các trạng thái trước đó, và trạng thái tiếp theo không chỉ phụ thuộc vào các tín hiệu đầu vào mà còn phụ thuộc vào các trạng thái trước đó của mạng. Mạng Hopfield thuộc loại này.
Hinh 2- 7: Mạng phản hồi Perceptron
Perceptron là mạng neuron đơn giản nhất, nó chỉ gồm một neuron, nhận đầu vào là vector có các thành phần là các số thực và đầu ra là một trong hai giá trị +1 hoặc -1.
Hinh 2- 8: Perceptron
Đầu ra của mạng được xác định như sau: mạng lấy tổng có trọng số các thành phần của vector đầu vào, kết quả này cùng ngưỡng b được đưa vào hàm truyền (Perceptron dùng hàm Hard-limit làm hàm truyền) và kết quả của hàm truyền sẽ là đầu ra của mạng.
Hoạt động của Perceptron có thể được mô tả bởi cặp công thức sau:
( )
y f u b và
1 1 n
i i
u w x
Và y f u b Hardlimit u b ; y nhận giá trị +1 nếuu b 0, ngược lại y nhận giá trị -1.
Perceptron cho phép phân loại chính xác trong trường hợp dữ liệu có thể phân chia tuyến tính (các mẫu nằm trên hai mặt đối diện của một siêu phẳng). Nó cũng phân loại đúng đầu ra các hàm AND, OR và các hàm có dạng đúng khi n trong m đầu vào của nó đúng (n ≤ m). Nó không thể phân loại được đầu ra của hàm XOR.
Mô hình mà chúng ta hay gặp nhất là mạng neuron nhiều tầng truyền thẳng MLP (Multi Layer Perceptrons). Mạng này có cấu trúc như mô tả trên hình 2-6 chỉ cụ thể hơn ở chỗ: liên kết giữa các neuron ở các lớp thường là liên kết đầy đủ. Nhiều thực nghiệm đã chứng minh rằng: mạng MLP (chỉ cần hai lớp neuron) với thuật toán huấn luyện và thuật toán lan truyền ngược sai số và hàm truyền sigmoid là một trong những mô hình có thể sử dụng để giải quyết các bài toán nhận dạng chữ viết.