Hoạt động của mạng neuron

Một phần của tài liệu Nghiên cứu mô hình học sâu (deep learning) và ứng dụng trong nhận dạng chữ viết tay (Trang 25 - 31)

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: 

( )

yf u b  và 

1 1 n

i i

u w x

   

Và  yf 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. 

Một phần của tài liệu Nghiên cứu mô hình học sâu (deep learning) và ứng dụng trong nhận dạng chữ viết tay (Trang 25 - 31)

Tải bản đầy đủ (PDF)

(72 trang)