1. Trang chủ
  2. » Công Nghệ Thông Tin

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

72 1,7K 8

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 72
Dung lượng 1,25 MB

Nội dung

LỜI MỞ ĐẦU Nhận dạng chữ viết tay là bài toán khó trong lớp các bài toán nhận dạng chữ, và vẫn luôn thu hút được nhiều sự quan tâm nghiên cứu của các nhà khoa học.. Trong những năm gần đ

Trang 1

LỜI CAM ĐOAN

Tôi xin cam đoan, toàn bộ nội dung liên quan tới đề tài được trình bày trong luận văn là bản thân tôi tự tìm hiểu và nghiên cứu, dưới sự hướng dẫn 

Trang 2

LỜI CẢM ƠN

Tôi xin gửi lời cảm ơn tới trường Đại học CNTT&TT – Đại học Thái Nguyên đã tạo điều kiện và tổ chức khóa học này để tôi có thể có điều kiện tiếp thu kiến thức mới và có thời gian để hoàn thành Luận văn Cao học này

Tôi xin được cảm ơn TS.Vũ Tất Thắng, người đã tận tình chỉ dẫn tôi trong suốt quá trình xây dựng đề cương và hoàn thành luận văn

Tôi xin chân thành cảm ơn các thày cô đã truyền đạt cho chúng tôi những kiến thức quý báu trong quá trình học Cao học và làm Luận văn

Tôi chân thành cảm ơn các bạn bè, anh chị em trong lớp cao học K13

đã giúp đỡ, đóng góp ý kiến chia sẽ những kinh nghiệm học tập, nghiên cứu trong suốt khóa học

Cuối cùng tôi kính gửi thành quả này đến gia đình và người thân của tôi, những người đã hết lòng chăm sóc, dạy bảo và động viên tôi để tôi có kết quả ngày hôm nay

Mặc dù tôi đã cố gắng hoàn thành Luận văn trong phạm vi và khả năng cho phép nhưng chắc chắn không tránh khỏi những thiếu sót Xin kính mong nhận được sự cảm thông và tận tình chỉ bảo của qu ý Thầy Cô và các bạn

Thái Nguyên, ngày 20 tháng 3 năm 2016

Vũ Mạnh Hùng

Trang 3

MỤC LỤC

LỜI CAM ĐOAN i 

LỜI CẢM ƠN ii 

MỤC LỤC iii 

DANH MỤC ẢNH v 

DANH MỤC BẢNG BIỂU vi 

LỜI MỞ ĐẦU 1 

CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI 4 

1.1. Giới thiệu về bài toán nhận dạng   4 

1.1.1.  Các giai đoạn phát triển   4 

1.1.2.  Tình hình nghiên cứu trong nước   5 

1.1.3.  Tình hình nghiên cứu ở nước ngoài   6 

1.2. Các bước xử lý cho bài toán nhận dạng hoàn chỉnh   7 

1.3. Kết luận chương   9 

CHƯƠNG 2: MÔ HÌNH MẠNG NEURON VÀ MÔ HÌNH HỌC SÂU 11 

2.1. Tổng quan về mô hình mạng neuron   11 

2.1.1.  Giới thiệu về mạng Neuron   11 

2.1.1.1. Định nghĩa:   11 

2.1.1.2. Lịch sử phát triển mạng neuron   11 

2.1.1.3. So sánh mạng neuron với máy tính truyền thống   14 

2.1.2.  Cấu trúc và hoạt động của mạng Neuron   15 

2.1.2.1. Neuron sinh học   15 

2.1.2.2. Cấu trúc của một neuron   17 

2.1.2.3. Hoạt động của mạng neuron   19 

2.1.2.4. Hàm truyền   25 

2.1.3.  Mô hình và huấn luyện trong bài toán nhận dạng   26 

2.1.3.1. Mạng neuron và bài toán phân loại mẫu   26 

2.1.3.2. Khả năng học và tổng quát hóa   27 

2.1.3.3. Các phương pháp huấn luyện mạng   27 

2.2. Mô hình học sâu   29 

2.2.1.  Mạng nhiều tầng truyền thẳng (MLP)   29 

2.2.1.1. Chuẩn bị dữ liệu   30 

a.  Kích thước mẫu  30 

b.  Mẫu con   32 

c.  Sự phân tầng mẫu   32 

d.  Chọn biến  33 

2.2.1.2. Xác định các tham số cho mạng   34 

Trang 4

a.  Chọn hàm truyền   34 

b.  Xác định số neuron tầng ẩn   35 

c.  Khởi tạo trọng   36 

2.2.1.3. Vấn đề lãng quên (catastrophic forgetting)   37 

2.2.1.4. Vấn đề quá khớp   38 

a.  Khái niệm quá khớp   38 

b.  Giải quyết quá khớp   38 

2.2.2.  Hopfield Network   39 

2.2.2.1. Cấu trúc mạng Hopfield   40 

2.2.2.2. Mạng Hopfield rời rạc   42 

2.2.2.3. Mạng Hopfield liên tục   43 

2.2.3.  Boltzmann Machines   45 

2.2.4.  Restricted Boltzmann Machines   49 

2.2.5.  Thuật toán lan truyền ngược   50 

2.3. Kết luận chương   52 

CHƯƠNG 3: CÀI ĐẶT CHƯƠNG TRÌNH THỬ NGHIỆM 53 

3.1. Môi trường thực nghiệm   53 

3.2. Dữ liệu thực nghiệm  53 

3.3. Huấn luyện mô hình và kết quả thực nghiệm với mô hình MLP   54 

3.3.1.  Mô hình huấn luyện   54 

3.3.2.  Kết quả thực nghiệm   54 

3.4. Huấn luyện mô hình và kết quả thực nghiệm với mô hình RBM   56 

3.4.1.  Mô hình huấn luyện   56 

3.4.1.1. Cấu trúc mô hình   56 

3.4.1.2. Phương pháp huấn luyện và quy trình nhận dạng   57 

3.4.2.  Giao diện chính của chương trình   58 

3.4.3.  Kết quả thực nghiệm   60 

3.5. Đánh giá kết quả thực nghiệm của hai mô hình.   61 

3.6. Kết luận chương   62 

KẾT LUẬN CHUNG 63 

1.  Các kết quả đã đạt và chưa đạt được   63 

2.  Hướng nghiên cứu và phát triển   63 

TÀI LIỆU THAM KHẢO 65 

Trang 5

DANH MỤC ẢNH

Hình 1- 1: Các bước trong nhận dạng chữ viết tay   7 

Hinh 2- 1: Cấu trúc của một neuron sinh học điển hình   16 

Hinh 2- 2: Cấu trúc của một neuron   18 

Hinh 2- 3: Cấu trúc chung của mạng neuron   20 

Hinh 2- 4: Mạng tự kết hợp   22 

Hinh 2- 5: Mạng kết hợp khác kiểu   22 

Hinh 2- 6: Mạng truyền thẳng   23 

Hinh 2- 7: Mạng phản hồi   23 

Hinh 2- 8: Perceptron   24 

Hinh 2- 9: Mạng MLP tổng quát   29 

Hinh 2- 10: Mối liên hệ giữa sai số và kích thước mẫu   31 

Hinh 2- 11: Huấn luyện luân phiên trên hai tập mẫu   37 

Hinh 2- 12: Cấu trúc của mạng Hopfield   40 

Hinh 2- 13: Đồ thị hàm satlins   41 

Hinh 2- 14: Mạng Hopfield liên tục sử dụng mạch điện tử.   44 

Hinh 2- 15: Một Boltzmann Machine với 3 nút ẩn   45 

Hinh 2- 16:Một RBM đơn giản với 3 hidden units và 2 visible units.   49 

Hình 3- 1: Mô hình huấn luyện mạng (MLP)   54 

Hình 3- 2: Mô hình huấn luyện mạng (RBM)   56 

Hình 3- 3: Giao diện chính của chương trình nhận dạng chữ viết tay   58 

Hình 3- 4: Chương trình khi nhận dạng 1 ảnh bất kỳ   59 

Hình 3- 5: Chương trình khi nhận dạng toàn bộ ảnh trong một thư mục   59 

Hình 3- 6: Nhận dạng bằng mô hình RBM có kết quả sai chữ với M   60   

Trang 6

DANH MỤC BẢNG BIỂU

 

Bảng 2- 1: Các hàm truyền cơ bản   26 

Bảng 2- 2: Thuật toán lan truyền ngược   52 

Bảng 3- 1: Kết quả thực nghiệm sử dụng mô hình MLP   55 

Bảng 3- 2: Chi tiết kết quả thực nghiệm sử dụng mô hình MLP   55 

Bảng 3- 3: Kết quả thực nghiệm sử dụng mô hình RBM   60 

Bảng 3- 4: Chi tiết kết quả thực nghiệm sử dụng mô hình RBM   60 

Bảng 3- 5: Bảng so sánh kết quả giữa hai mô hình   61   

Trang 7

LỜI MỞ ĐẦU

Nhận dạng chữ viết tay là bài toán khó trong lớp các bài toán nhận dạng chữ, và vẫn luôn thu hút được nhiều sự quan tâm nghiên cứu của các nhà khoa học. Đặc biệt là trong vài thập niên gần đây, do sự thúc đẩy của quá trình tin học hóa trong mọi lĩnh vực, ứng dụng nhận dạng chữ càng có nhiều ý nghĩa khi  được  sử  dụng  cho  các  bài  toán  trong  thực  tế.  Cũng  như  nhiều  bài  toán nhận dạng tiếng nói, hình ảnh… khác, thì độ chính xác của hệ thống vẫn tiếp tục  cần  phải  cải  thiện  nhằm  vươn  tới  khả  năng  nhận  dạng  giống  như  con người. 

Tuy nhiên, với bài toán nhận dạng chữ viết tay thì vấn đề trở nên phức tạp hơn nhiều so với bài toán nhận dạng chữ in thông thường ở những vấn đề sau đây: 

Với chữ viết tay thì không thể có các khái niệm font chữ, kích cỡ chữ. Các  kí  tự  trong  một  văn  bản  chữ  viết  tay  thường  có  kích  thước  khác  nhau. Thậm chí, cùng một kí tự trong một văn bản do một người viết nhiều khi cũng 

có độ rộng, hẹp, cao, thấp khác nhau,   

Với những người viết khác nhau chữ viết có độ nghiêng khác nhau (chữ nghiêng nhiều/ít, chữ nghiêng trái/phải ). 

Các  kí  tự  của  một  từ  trên  văn  bản  chữ  viết  tay  đối  với  hầu hết  người viết thường bị dính nhau vì vậy rất khó xác định được phân cách giữa chúng. 

Các  văn  bản  chữ  viết  tay  còn  có  thể  có  trường  hợp  dính  dòng  (dòng dưới bị dính hoặc chồng lên dòng trên). 

Trong những năm gần đây, mô hình mạng Neuron theo hướng học sâu 

đã  cho  thấy  những  kết  quả  tốt  trong  nhiều  bài  toán  khác  nhau,  trong  đó  có nhận dạng chữ. 

Trang 8

đề này. Chính vì vậy học viên đã chọn đề tài “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” làm luận văn tốt nghiệp với mong muốn phần nào áp dụng vào bài toán thực tế. 

Bài toán đã đặt ra phải giải quyết được những yêu cầu sau: 

 Nhận dạng được các ký tự từ ảnh đầu vào 

 Tiến hành nhận dạng kí tự đơn lẻ sử dụng mạng Neuron nhân tạo theo  phương  pháp  học  sâu  Restricted  Boltzmann  machine (RBM). 

 Đánh giá kết quả và so sánh với mô hình mạng neuron 

Với những yêu cầu đã đặt ra ở trên, cấu trúc của luận văn sẽ bao gồm những nội dung sau đây: 

 Chương 1: Tổng quan về đề tài

Giới  thiệu  về  bài  toán  nhận  dạng  chữ  viết  tay,  tình  hình  nghiên  cứu trong  và  ngoài  nước,  quy  trình  chung  để  giải  quyết  bài  toán  và  các  phương pháp điển hình trong việc huấn luyện nhận dạng, phạm vi của đề tài. 

 Chương 2: Mô hình mạng neuron và mô hình học sâu

Trình bày về cơ sở lý thuyết của mô hình neuron và huấn luyện trong bài  toán  nhận  dạng  chữ  viết  tay.  Cơ  sở  lý  thuyết  của  mô  hình  học  sâu: Hopfield  network,  Boltzmann Machines,  Restricted  Boltzmann  Machines  và thuật toán lan truyền ngược. 

 Chương 3: Kết quả thực nghiệm và đánh giá

Trình bày các kết quả thực nghiệm của hai mô hình mạng neuron và mô hình  học  sâu, đưa  ra  kết  quả đánh  giá nhận dạng  chữ  viết tay  giữa  mô  hình mạng neuron và mô hình học sâu. 

 

 

Trang 9

 

Trang 10

CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI

1.1 Giới thiệu về bài toán nhận dạng

Nhận  dạng  chữ  in:  đã  được  giải  quyết  gần  như  trọn  vẹn  (sản  phẩm FineReader 11 của hãng ABBYY có thể nhận dạng chữ in theo 192 ngôn ngữ khác  nhau,  phần  mềm  nhận  dạng  chữ  Việt  in  VnDOCR  4.0  của  Viện  Công nghệ  Thông  tin  –  Viện  Hàn  lâm  Khoa  học  và  Công  nghệ  Việt  Nam  có  thể nhận dạng được các tài liệu chứa hình ảnh, bảng và văn bản với độ chính xác trên 98%). 

Nhận  dạng  chữ  viết  tay  vẫn  còn  là  vấn  đề  thách  thức  lớn  đối  với  các nhà  nghiên  cứu.  Bài  toàn  này  chưa  thể  giải  quyết  trọn  vẹn được  vì  nó hoàn toàn phụ thuộc vào người viết và sự biến đổi quá đa dạng trong cách viết và trạng thái sức khỏe, tinh thần của từng người viết. 

1.1.1 Các giai đoạn phát triển

 Giai đoạn 1 (1900 - 1980)

Nhận  dạng  chữ  được  biết  đến  từ  năm  1900,  khi  nhà  khoa  học  người Nga Alan Turing (1912-1954) phát triển một phương tiện trợ giúp cho những người mù. 

Các  sản  phẩm  nhận  dạng  chữ  thương  mại  có  từ  những  năm1950,  khi máy tính lần đầu tiên được giới thiệu tính năng mới về nhập và lưu trữ dữ liệu hai chiều bằng cây bút viết trên một tấm bảng cảm ứng. Công nghệ mới này cho  phép  các nhà  nghiên cứu làm  việc trên các bài toán nhận  dạng  chữ viết tay online. 

Mô hình nhận dạng chữ viết được đề xuất  từ năm 1951  do phát  minh của M. Sheppard được gọi là GISMO, một robot đọc-viết. 

Năm  1954,  máy  nhận  dạng  chữ  đầu  tiên  đã  được  phát  triển  bởi  J. Rainbow dùng để đọc chữ in hoa nhưng rất chậm. 

Trang 11

 Giai đoạn 2 (1980 - 1990)

Với sự phát triển của các thiết bị phần cứng máy tính và các thiết bị thu nhận dữ liệu, các phương pháp luận nhận dạng đã được phát triển trong giai đoạn trước đã có được môi trường lý tưởng để triển khai các ứng dụng nhận dạng chữ. 

Các hướng tiếp cận theo cấu trúc và đối sánh được áp dụng trong nhiều 

hệ thống nhận dạng chữ. 

Trong  giai  đoạn  này,  các  hướng  nghiên  cứu  chỉ  tập  trung  vào  các  kỹ thuật nhận dạng hình dáng chứ chưa áp dụng cho thông tin ngữ nghĩa. Điều này dẫn đến sự hạn chế về hiệu suất nhận dạng, không hiệu quả trong nhiều ứng dụng thực tế. 

 Giai đoạn 3 (1990 - nay)

Các hệ thống nhận dạng thời gian thực được chú trọng trong giai đoạn này. 

Các  kỹ  thuật  nhận  dạng  kết  hợp  với  các phương  pháp  luận  trong  lĩnh vực học máy (Machine Learning) được áp dụng rất hiệu quả. 

Một số công cụ học máy hiệu quả như mạng Neuron, mô hình Markov 

ẩn, SVM (Support Vector Machines) và xử lý ngôn ngữ tự nhiên  

1.1.2 Tình hình nghiên cứu trong nước

Tại  Việt  Nam,  trong  những  năm  gần  đây  có  rất  nhiều  những  nhóm nghiên cứu về nhận dạng chữ viết tay sử dụng các mô hình phổ biến hiện nay như: SVM (Support Vector Machine), HMM (Hidden Markov Model), mạng Neuron… Nhưng nhìn chung thì chất lượng nhận dạng của các mô hình này đều chưa cao vì chữ viết tay còn nhiều các yếu tố tác động đến như: độ cao, 

độ nghiêng, các nét liền… của chữ viết đều ảnh hưởng rất nhiều đến quá trình nhận dạng. Hiện tại, chúng ta  mới chỉ có được những sản phẩm thử nghiệm 

Trang 12

… 

1.1.3 Tình hình nghiên cứu ở nước ngoài

Nhận  dạng  chữ  viết  đã  được  nghiên  cứu  hơn  40  năm  qua.  Ngày  nay nhận dạng chữ viết đã  nhận  được sự quan tâm đáng kể do  sự phát triển của các máy tính cầm tay và điện thoại cầm tay dựa trên các bàn phím, chuột và nhiều dạng thiết bị định vị khác. Nhận dạng chữ viết tay được thực hiện qua hai hình thức là nhận dạng online và nhận dạng offline. Nhận dạng online có nghĩa là máy tính sẽ nhận dạng các chữ được viết lên màn hình ngay sau khi 

nó được viết. Đối với những hệ nhận dạng này, máy tính sẽ lưu lại các thông tin về nét chữ như thứ tự nét viết, hướng và tốc độ của nét viết trong khi nó đang được viết ra. Đây chính là cơ sở để máy tính nhận dạng được chữ cái, do 

đó việc nhận dạng không gặp quá nhiều khó khăn. Hệ thống nhận dạng chữ viết tay trực tuyến trên một trạm làm việc của IBM do nhóm nghiên cứu gồm H.S.M.Beigi,  C.C.Tapert,  M.Ukeison  và  C.G.Wolf  ở  phòng  thực  hành Watson  IBM  cài  đặt  là  một  trong  những  sản  phẩm  nhận  dạng  chữ  viết  tay online tiêu biểu nhất. Tuy nhiên, do chưa có nhiều ứng dụng thực tế nên nhận dạng chữ viết tay trực tuyến chưa được biết đến nhiều và khi nhắc đến nhận dạng chữ viết tay chúng ta thường hiểu nhình thức nhận dạng ở đây là offline.  

Các  kết  quả  nhận  dạng  chữ  viết  tay  offline  hiện  này  còn  rất  hạn  chế. Các  kết  quả  nghiên  cứu  chưa  tìm  được  giải  pháp  đủ  tốt  để  giải  quyết  hết những khó khăn tiêu biểu sau của bài toán nhận dạng chữ viết tay: 

 Kích thước của chữ viết tay không đồng đều. 

 Kiểu dáng chữ của mỗi người viết đều rất khác nhau. 

 Giữa  các  kí  tự  trong  cùng  một  từ  thường  có  nét  nối,  thậm  chí dính liền vào nhau. 

Trang 13

 Các kí tự có thể thiếu hoặc thừa nét. 

 Xuất hiện tình trạng dính dòng. 

Do những khó khăn trên nên khi giải quyết bài toán nhận dạng chữ viết tay đều buộc phải giới hạn trong một phạm vi nào đó với những tiêu chuẩn cụ thể  cho  mẫu  chữ  nhận  dạng.  Chính  vì  vậy,  các  kết  quả  thu  được  cũng  chỉ được áp dụng một cách hạn chế ở lĩnh vực hẹp trong một bài toán cụ thể nào 

đó. 

Một số hệ nhận dạng chữ viết tay tiêu biểu có thể kể đến như: hệ thống nhận  dạng  chữ  viết  tay  trong  lĩnh  vực  kiểm  tra  tài  khoản  ở  ngân  hàng  của nhóm nghiên cứu Simon và O.Baret (Laoria/CNRS & ENPC, Paris), hệ thống phân loại tự động địa chỉ thư ở bưu điện của M.Pfister, S.Behnke và R.Rojas 

ở Đại học tổng hợp Berlin, Đức….  

1.2 Các bước xử lý cho bài toán nhận dạng hoàn chỉnh

Nhận  dạng  chữ  viết  tay  thường  bao  gồm  năm  giai  đoạn:  tiền  xử  lý (preprocessing),  tách  chữ  (segmentation),  trích  chọn  đặc  trưng (representation), huấn luyện và nhận dạng (training and recognition), hậu xử 

lý (postprocessing). 

Hình 1- 1: Các bước trong nhận dạng chữ viết tay

Trang 14

 Tiền xử lý (preprocessing): giảm  nhiễu  cho  các  lỗi  trong  quá 

 Huấn luyện và nhận dạng (training and recognition): phương 

pháp  điển  hình  so  trùng  mẫu,  dùng  thống  kê,  mạng neuron,  mô hình markov ẩn, trí tuệ nhân tạo hay dùng phương pháp kết hợp các phương pháp trên.Trong  luận văn  này,  tôi  sử dụng mô hình học  máy  theo  chiều  sâu  (deep  learning)  để  huấn  luyện  và  nhận dạng, nội dung này sẽ được trình bày trong các chương sau của luận văn. 

 Hậu xử lý (postprocessing): sử dụng các thông tin về ngữ cảnh 

để giúp tăng cường độ chính xác, dùng từ điển dữ liệu. 

Ban đầu các văn bản chữ viết tay được scan và đưa vào hệ thống nhận dạng, với quá trình tiền xử lý thì ảnh sẽ được một ảnh mà do hệ thống yêu cầu 

để  huấn  luyện  và  nhận  dạng  (có  thể  là  ảnh nhị  phân  hay  ảnh  đa  mức  xám). 

Trang 15

Tại bước tách chữ thì với ảnh đã được tiền xử lý, khi đi qua bước này 

sẽ được thực hiện tách dòng, tách chữ, tách kí tự để thực hiện nhận dạng, tùy theo quy định của một hệ thống khi huấn luyện. Khi đã được tách rời các kí tự thì việc tiếp theo ảnh để nhận dạng sẽ được lưu dưới dạng ma trận điểm, với tùy từng vị trí của điểm ảnh mà giá trị có thể khác nhau (từ 0 đến 255), trong 

mô hình Deep Learning thì  ma trận điểm ảnh sẽ được quy về dạng chuẩn là 28x28. 

Sau  khi  qua  các  bước  xử  lý  ở  trên  thì  ảnh  chính  thức  được  đưa  vào huấn luyện và nhận dạng, trong quá trình huấn luyện và nhận dạng sẽ sử dụng các  mô  hình  và  thuật  toán  cần  thiết  để  thực  hiện  tính  toán  và  xử  lý,  những thuật toán và quá trình xử lý sẽ được trìn bày chi tiết trong các phần sau của luận văn. 

Cuối cùng khi các ảnh đầu vào đã được đưa vào nhận dạng và cho ra kết quả thì bước quan trọng không kém là quá trình hậu xử lý với các kết quả 

Trang 16

chữ  viết  tiếng  Việt  các  từ  tiếng  Việt  đơn  lẻ,  và  sẽ  tiến  tới  xây  dựng  một  hệ thống nhận dạng văn bản viết tay tiếng Việt hoàn chỉnh. 

Luận văn sẽ tập trung vào nghiên cứu về cơ sở lý thuyết mô hình Deep Learning,  các  thuật  toán  được  sử  dụng,  thực  hiện  huấn  luyện  bằng  mô  hình Deep Learning, từ đó cài đặt chương trình  mô phỏng trên ngôn ngữ Matlab, PHP, C#  

Trang 17

CHƯƠNG 2: MÔ HÌNH MẠNG NEURONVÀ MÔ HÌNH HỌC SÂU

2.1 Tổng quan về mô hình mạng neuron

2.1.1 Giới thiệu về mạng Neuron

2.1.1.1 Định nghĩa:

Mạng  neuron  nhân  tạo,  Artificial  Neural  Network  (ANN)  gọi  tắt  là mạng neuron, neural network, là một mô hình xử lý thông tin phỏng theo cách thức xử lý thông tin của các hệ neuron sinh học. Nó được tạo lên từ  một số lượng  lớn  các  phần  tử  (gọi  là  phần  tử  xử  lý  hay  neuron)  kết  nối  với  nhau thông qua  các  liên kết  (gọi là trọng số liên kết)  làm việc  như một  thể thống nhất để giải quyết một vấn đề cụ thể nào đó.  

Một  mạng  neuron  nhân  tạo  được  cấu  hình  cho  một  ứng  dụng  cụ  thể (nhận dạng mẫu, phân loại dữ liệu,  ) thông qua một quá trình học từ tập các mẫu huấn luyện. Về bản chất học chính là quá trình hiệu chỉnh trọng số liên kết giữa các neuron. 

2.1.1.2 Lịch sử phát triển mạng neuron

Các nghiên cứu về bộ não con người đã được tiến hành từ hàng nghìn năm nay. Cùng với sự phát triển của khoa học kĩ thuật đặc biệt là những tiến 

bộ  trong  ngành  điện  tử  hiện  đại,  việc  con  người  bắt  đầu  nghiên  cứu  các neuron  nhân  tạo là  hoàn  toàn tự  nhiên.  Sự kiện  đầu tiên đánh  dấu  sự  ra  đời của  mạng  neuron  nhân  tạo  diễn  ra  vào  năm  1943  khi  nhà  thần  kinh  học Warren McCulloch và nhà toán học Walter Pitts viết bài báo mô tả cách thức các neuron hoạt động. Họ cũng đã tiến hành xây dựng một mạng neuron đơn giản bằng các mạch điện. Các neuron của họ được xem như là các thiết bị nhị phân với ngưỡng cố định. Kết quả của các mô hình này là các hàm logic đơn giản chẳng hạn như “ a OR b” hay “a AND b”.  

Trang 18

Tiếp  bước  các  nghiên  cứu  này,  năm  1949  Donald  Hebb  cho  xuất  bản cuốn  sách  Organization  of  Behavior.  Cuốn  sách  đã  chỉ  ra  rằng  các  neuron nhân tạo sẽ trở lên hiệu quả hơn sau mỗi lần chúng được sử dụng.  

Những  tiến  bộ  của  máy  tính  đầu  những  năm  1950  giúp  cho  việc  mô hình hóa các nguyên lý của những lý thuyết liên quan tới cách thức con người suy nghĩ đã trở thành hiện thực. Nathanial Rochester sau nhiều năm làm việc tại các phòng thí nghiệm nghiên cứu của IBM đã có những nỗ lực đầu tiên để 

mô phỏng một mạng neuron. Trong thời kì này tính toán truyền thống đã đạt được những thành công rực rỡ trong khi đó những nghiên cứu về neuron còn 

ở  giai  đoạn  sơ  khai.  Mặc  dù  vậy  những  người  ủng  hộ  triết  lý  “thinking machines”  (các  máy  biết  suy  nghĩ)  vẫn  tiếp  tục  bảo  vệ  cho  lập  trường  của mình.  

Năm 1956  dự án Dartmouth  nghiên  cứu về trí tuệ nhân tạo  (Artificial Intelligence) đã mở ra thời kỳ phát triển mới cả trong lĩnh vực trí tuệ nhân tạo lẫn mạng neuron. Tác động tích cực của nó là thúc đẩy hơn nữa sự quan tâm của các nhà khoa học về trí tuệ nhân tạo và quá trình xử lý ở mức đơn giản của mạng neuron trong bộ não con người.  

Những năm tiếp theo của dự án Dartmouth, John von Neumann đã đề xuất việc mô phỏng các neuron đơn giản bằng cách sử dụng rơle điện áp hoặc đèn chân không. Nhà sinh học chuyên nghiên cứu về neuron Frank Rosenblatt cũng  bắt  đầu  nghiên  cứu  về  Perceptron.  Sau  thời  gian  nghiên  cứu  này Perceptron  đã  được  cài  đặt  trong  phần  cứng  máy  tính  và  được  xem  như  là mạng  neuron  lâu  đời  nhất  còn  được  sử  dụng  đến  ngày  nay.  Perceptron  một tầng  rất  hữu  ích  trong  việc phân loại  một tập các  đầu vào có giá trị liên tục vào  một  trong hai lớp. Perceptron tính tổng có trọng số các đầu vào,  rồi trừ tổng này cho một ngưỡng và cho ra một trong hai giá trị mong muốn có thể. Tuy nhiên Perceptron còn rất nhiều hạn chế, những hạn chế này đã được chỉ 

Trang 19

Năm  1959,  Bernard  Widrow  và  Marcian  Hoff  thuộc  trường  đại  học Stanford  đã  xây  dựng  mô  hình  ADALINE  (ADAptive  LINear  Elements)  và MADALINE.  (Multiple  ADAptive  LINear  Elements).  Các  mô  hình  này  sử dụng  quy  tắc  học  Least-Mean-Squares  (LMS:  Tối  thiểu  bình  phương  trung bình). MADALINE là mạng neuron đầu tiên được áp dụng để giải quyết một bài toán thực tế. Nó là một bộ lọc thích ứng có khả năng loại bỏ tín hiệu dội lại trên đường dây điện thoại. Ngày nay mạng neuron này vẫn được sử dụng trong các ứng dụng thương mại.  

Năm 1974 Paul Werbos đã phát triển và ứng dụng phương pháp học lan truyền  ngược  (back-propagation).  Tuy  nhiên  phải  mất  một  vài  năm  thì phương pháp này mới trở lên phổ biến. Các mạng lan truyền ngược được biết đến nhiều nhất và được áp dụng rộng dãi nhất nhất cho đến ngày nay.  

Thật không may, những thành công ban đầu này khiến cho con người nghĩ quá lên về khả năng của các mạng neuron. Chính sự cường điệu quá mức 

đã  có những  tác động  không  tốt  đến  sự  phát  triển  của  khoa  học và kỹ  thuật thời bấy giờ khi người ta lo sợ rằng đã đến lúc máy móc có thể làm mọi việc của con người. Những lo lắng này khiến người ta bắt đầu phản đối các nghiên cứu về mạng neuron. Thời kì tạm lắng này kéo dài đến năm 1981.  

Năm 1982 trong bài báo gửi tới viện khoa học quốc gia, John Hopfield bằng  sự  phân  tích  toán  học  rõ  ràng,  mạch  lạc,  ông  đã  chỉ  ra  cách  thức  các mạng neuron làm việc và những công việc chúng có thể thực hiện được. Cống hiến của Hopfield không chỉ ở giá trị của những nghiên cứu khoa học mà còn 

ở sự thúc đẩy trở lại các nghiên cứu về mạng neuron.  

Cũng trong thời gian này, một hội nghị với sự tham gia của Hoa Kỳ và Nhật Bản bàn về việc hợp tác/cạnh tranh trong lĩnh vực mạng neuron đã được 

Trang 20

tổ chức tại Kyoto, Nhật Bản. Sau hội nghị, Nhật Bản đã công bố những nỗ lực của họ trong việc tạo ra máy tính thế hệ thứ 5. Tiếp nhận điều đó, các tạp chí định kỳ của Hoa Kỳ  bày tỏ sự lo lắng rằng nước nhà có thể bị tụt hậu trong lĩnh vực này. Vì thế, ngay sau đó, Hoa Kỳ nhanh chóng huy động quĩ tài trợ cho các nghiên cứu và ứng dụng mạng neuron.  

2.1.1.3 So sánh mạng neuron với máy tính truyền thống

Các mạng neuron có cách tiếp cận khác trong giải quyết vấn đề so với máy tính truyền thống. Các máy tính truyền thống sử dụng cách tiếp cận theo hướng giải thuật, tức là máy tính thực hiện một tập các chỉ lệnh để giải quyết một  vấn  đề.  Vấn  đề  được  giải  quyết  phải  được  biết  và  phát  biểu  dưới  dạng một  tập  chỉ  lệnh  không  nhập  nhằng.  Những  chỉ  lệnh  này  sau  đó  phải  được chuyển sang một chương trình ngôn ngữ bậc cao và chuyển sang mã máy để máy tính có thể hiểu được.  

Trừ khi các bước cụ thể mà máy tính cần tuân theo được chỉ ra rõ ràng, máy  tính  sẽ không làm  được  gì  cả.  Điều đó giới  hạn khả  năng  của các  máy 

Trang 21

Các mạng neuron xử lý thông tin theo cách thức giống như bộ não con người. Mạng được tạo nên từ một số lượng lớn các phần tử xử lý được kết nối với  nhau  làm  việc  song  song  để  giải  quyết  một  vấn  đề  cụ  thể.  Các  mạng neuron  học  theo  mô  hình,  chúng  không  thể  được  lập  trình  để  thực  hiện  một nhiệm vụ cụ thể. Các mẫu phải được chọn lựa cẩn thận nếu không sẽ rất mất thời gian, thậm chí mạng sẽ hoạt động không đúng. Điều hạn chế này là bởi vì mạng  tự  tìm  ra  cách  giải  quyết  vấn  đề,  thao  tác  của  nó  không  thể  dự  đoán được.  

Các mạng neuron và các máy tính truyền thống không cạnh tranh nhau 

mà bổ sung cho nhau. Có những nhiệm vụ thích hợp hơn với máy tính truyền thống, ngược lại có những nhiệm vụ lại thích hợp hơn với các mạng neuron. Thậm chí rất nhiều nhiệm vụ đòi hỏi các hệ thống sử dụng tổ hợp cả hai cách tiếp  cận  để  thực  hiện  được  hiệu  quả  cao  nhất.  (thông  thường  một  máy  tính truyền thống được sử dụng để giám sát mạng neuron) 

2.1.2 Cấu trúc và hoạt động của mạng Neuron

2.1.2.1 Neuron sinh học

Qua  quá  trình  nghiên  cứu  về  bộ  não,  người  ta  thấy  rằng:  bộ  não  con người bao gồm khoảng 1011 neuron  tham  gia  vào khoảng 1015  kết nối trên các  đường  truyền.  Mỗi  đường  truyền  này  dài  khoảng  hơn  một  mét.  Các neuron  có  nhiều  đặc  điểm  chung  với  các  tế  bào  khác  trong  cơ  thể,  ngoài  ra chúng còn có những khả năng mà các tế bào khác không có được, đó là khả năng nhận, xử lý và truyền các tín hiệu điện hóa trên các đường mòn neuron, các con đường này tạo nên hệ thống giao tiếp của bộ não.  

Trang 22

bào (cell body)  

c ra (axon)  Các  nhánh  hình  cây  truyền  tín  hiệu  vào  đến  thân  tế  bào.  Thân  t

lý cho tín hiệu đi ra. Sợi trục truyền tín hiệu ra tkhác. Điểm liên kết giữa sợi trục của neuron này vkhác gọi là synapse. Liên kết giữa các neuron

ạp.  Một số  cấu 

u  trúc  được phát liên kết mới được 

Trang 23

2.1.2.2 Cấu trúc của một neuron

Từ  định  nghĩa  ta  thấy  đơn  vị  hình  thành  nên  mạng  neuron  là  các neuron.Chức  năng  của  mạng  neuron  nhân  tạo  tương  tự  như  chức  năng  đơn giản nhất của các neuron sinh học đó là tích lũy (ghi nhớ) những tri thức đã được học về các sự vật để biết, phân biệt chúng  mỗi khi gặp lại. Chức năng này được hình thành thông qua một chuỗi liên tiếp các quá trình xử lý thông tin của các neuron trong mạng. 

Về  cơ  bản,  mỗi  neuron  sinh  học  thực  hiện  nhiệm  vụ  của  mình  thông qua các bước: nhận đầu vào, xử lý đầu vào đó, đưa dữ liệu đã được xử lý ra output và liên lạc với các neuron khác để gửi output này đi. Với bản chất là 

mô hình mô phỏng đơn của của neuron sinh học, neuron nhân tạo cũng thực hiện nhiệm vụ của mình thông qua các thao tác: nhận đầu vào từ các neuron trước nóm xử lý đầu vào bằng cách nhân  mỗi đầu vào này với trọng số liên kết tương ứng và tính tổng các tích thu được rồi đưa ra một hàm truyền, sau 

đó gửi kết quả cuối cùng cho các neuron tiếp theo hoặc đưa ra output. Cứ như vậy  các neuron này  hoạt động phối hợp với nhau tạo thành hoạt động chính của mạng neuron. 

Chúng  ta  có  thể  hình  dung  rõ  rang  hơn  quy  trình  xử  lý  thông  tin  của một neuron qua cấu trúc của nó được thể hiện trong hình 2-5. 

Trang 24

Hinh 2- 2: Cấu trúc của một neuron

Trong hình vẽ trên: 

tín  hiệu  này  có  thể  là  đầu  ra  của  các neuron trước  đó  hoặc  đầu vào  ban đầu  của  mạng và thường  được  đưa  vào  dưới  dạng  một vector p chiều. 

vào  tương  ứng ( ,x x1 2, ,x p).  Thông  thường,  các  trọng  số  này đưuọc khởi tạo một cách 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. 

  là hàm  tổng trên  một  neuron, dung để tính tổng các  giá trị kích hoạt lên neuron đó. Thông thưởng, đây là tổng của các tích giữa đầu vào với trọng số liên kết tương ứng của neuron. 

uk là tổng các giá trị kích hoạt lên neuron thứ k , giá trị này chính 

là đầu ra của hàm tổng. 

Trang 25

bklà ngưỡng (còn gọi là hệ số bias) của neuron thứk , giá trị này được dung như một thành phần phân ngưỡng trên hàm truyền và cũng dược cập nhật liên tục trong quá trình học của mạng. 

f (.)là  hàm  truyền,  còn  gọi  là  hàm  kích  hoạt  (activation function). Hàm truyền được dùng để giới hạn phạm vi đầu ra của nỗi  neuron.  Đối  số  của  hàm  là  giá  trị  hàm  tổng  và  ngưỡng bk. Thông  thường,  phạm  vi  đầu  ra  của  mỗi  neuron  được  giới  hạn trong đoạn [0,1] hoặc  [-1,1].  Như  vậy  miền giá trị  của các  hàm kích  hoạt  cũng  là  một  trong  hai  đoạn  trên.  Có  rất  nhiều  hàm truyền thường được dùng, việc lựa chọn hàm truyền nào cho phù hợp tùy thuộc vào từng bài toán. 

yklà tín hiệu đầu ra của neuron thứ k, mỗi neuron thường có một đầu  ra  và  tối  đa  là  một  đầu  ra.  Giá  trị  ykđược  tính  theo  công thức: 

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: 

Trang 26

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 x p)và đầu 

ra là vector a a1, , ,2 a qcó 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.  

Trang 27

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 2

H  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 

Trang 28

 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.  

 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 

Trang 29

đầ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

Trang 30

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.  

Trang 31

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. 

2.1.2.4 Hàm truyền

Có  rất  nhiều  hàm  truyền  có  thể  dùng  trong  các  mạng  neuron.  Hàm truyền được phân loại theo hàm tuyến tính hoặc phi tuyến, hàm liên tục hay gián đoạn. Việc lựa chọn hàm truyền phù hợp với bài toán thường được tiến hành  qua  thực  nghiệm.  Trong  bảng  dướng  đây,  chúng  ta  dùng  công  thức ( )

Linear (purelin) 

 

yx  

trong  mạng ADALINE 

Trang 32

Bảng 2- 1: Các hàm truyền cơ bản

2.1.3 Mô hình và huấn luyện trong bài toán nhận dạng

2.1.3.1 Mạng neuron và bài toán phân loại mẫu

Một  cách  tổng  quát,  có  thể  nói  nhiệm  vụ  của  các  hệ  nhận  dạng  trong các bài toán nhận dạng chính là phân loại mẫu. Có nghĩa là từ một mẫu vào ban đầu, hệ nhận dạng cần chỉ ra nó thuộc về lớp phân loại nào. Ví dụ, trong nhận dạng chữ viết tay, tất cả các kiểu viết khác nhau của chữ “A” đều được quy về  một lớp, lớp chữ “A” và hệ nhận dạng cần được huấn luyện sao cho khi gặp một mẫu bất kỳ của chữ “A” nó phải chỉ ra được đầu vào này thuộc 

về lớp chữ“A”. Trong hệ nhận dạng chữ cái, số lớp phân loại là 26 lớp, tương ứng với 26 chữ cái từ “A” đến “Z”.  

Bên cạnh bài toán nhận dạng chữ viết, nhiều bài toán nhạn dạng khác cũng  có  thể  coi  là  bài  toán  phân  loại  mẫu  như  nhận  dạng  dấu  vân  tay  dùng làm mã khóa trong các hệ an ninh, nhận dạng khuôn mặt hay tiếng nói… 

Câu hỏi đặt ra đối với chúng ta là sử dụng mô hình nào cho các hệ nhận dạng này để nó không chỉ phân loại được những mẫu đã học mà còn có thể tổng quát hóa để phân loại những mẫu chưa được học? Mang neuron là một 

mô hình có thể áp dụng cho mọi bài toán nhận dạng mà bài toán đó có thể quy 

Trang 33

2.1.3.2 Khả năng học và tổng quát hóa

Có thể nói đặc trưng cơ bản nhất của mạng neuron là khả năng học và tổng quát hóa. 

Học:  là  khả  năng  mà  mạng  neuron  có  thể  phân  loại  chính  xác  những 

mẫu đã được huấn luyện. 

Tổng quát hóa:  là khả  năng  mạng  có  thể  nhận  biết  được  những  mẫu 

chưa  từng  huấn  luyện.  Ví  dụ,  chúng  ta  huấn  luyện  mạng  neuron  nhận  dạng chữ viết tay trên tập mẫu do 50 người viết, và khi người khác viết mạng vẫn nhận dạng được, đây là khả năng tổng quát hóa của mạng neuron. Chính khả năng này tạo nên sức mạnh của mạng. 

Các khả năng này có được là do việc hiệu chỉnh và cập nhật bộ tham số mạng trong suốt quá trình huấn luyện.  

2.1.3.3 Các phương pháp huấn luyện mạng

Huấn luyện mạng: là quá trình đào tạo mạng sao cho khả năng học và 

tổng quát hóa mà nó đạt được là cao nhất. Bản chất của việc làm này là hiệu chỉnh trong số liên kết giữa các neuron và ngưỡng tại các neuron trong mạng 

để từ các tín hiệu vào ban đầu, sau quá trình tính toán mạng đưa ra kết quả là giá trị mà chúng ta mong muốn. Hai kiểu huấn luyện phổ biến là học có giám sát  (supervised  learning)  và  học  không  có  giám  sát  (unsupervised  learning) với mô tả chi tiết hơn như sau: 

Học có giám sát: là phương pháp học để thực hiện một công việc nào 

đó  dưới  sự  giám  sát  của  một  “thầy  giáo”.  Để  dễ  hình  dung,  có  thể  mô  tả phương pháp này như sau: chúng ta sẽ cho mạng xem một số mẫu đầu vào và đầu  ra tương ứng. Dưới sự chỉ đạo  của một  thuật toán huấn luyện,  mạng có 

Trang 34

Với phương pháp này, thuật toán huấn luyện mạng được thực hiện với tập mẫu học có dạng D  { , } x ti i trong đó xi(vector p chiều trong R) là vector đầu vào của mạng và ti(vector q chiều trong R) là vector đầu ra mong muốn tương  ứng  với  xi.  Nhiệm  vụ  của  thuật  toán  là  phải thiết  lập  được  một  cách tính toán nào đó để cập nhật tham số của mạng sao cho với một đầu vào cho trước  thì  sai  số  giữa  đầu  ra  thực  tế  của  mạng  và  đầu  ra  mong  muốn  là  nhỏ nhất. 

Một thuật toán điển hình trong phương pháp học có giám sát là: thuật toán  LMS  (Least  Mean  Square  error),  thuật  toán  lan  truyền  ngược  sai  số (Back Propagation),…. 

Với bài toán nhận dạng, bản chất của phương pháp học có giám sát là học để phân lớp đầu vào trên tập mẫu huấn luyện, trong đó số lớp cần phân loại là biết trước.  Nhiệm  vụ của việc học là xác định (thay  đổi và  cập nhật) các tham số mạng để mỗi đầu vào sẽ được phân vào đúng lớp chứa nó. 

Học không có giám sát:  là  phương  pháp  học  để  thực  hiện  một  công 

việc nào đó mà không cần bất kỳ sự giám sát nào. 

Với cách tiếp cận này, thuật toán huấn luyện mạng được thực hiện với tạo  mẫu  học  có  dạng D  { } xi với  xi(vector  p  chiều  trong  R)  là  vector  đầu vào của mạng. Nhiệm vụ của thuật toán là phải phân chia tập dữ liệu D thành các nhóm con, mỗi nhóm chứa một tập vector đầu vào có các đặc trưng giống nhau.  Việc  phân  nhóm  này  cho  phép  tạo  ra  các  lớp  phân  loại  một  cách  tự động và số lớp là không biết trước. 

Trong thực tế, phương pháp học có giám sát được ứng dụng nhiều hơn phương  pháp  học  không  có  giám  sát.  Kiểu  huấn  luyện  không  có  giám  sát 

Trang 35

2.2 Mô hình học sâu

2.2.1 Mạng nhiều tầng truyền thẳng (MLP)

Mô  hình  mạng  neuron  được  sử  dụng  rộng  rãi  nhất  là  mô  hình  mạng nhiều tầng truyền thẳng (MLP: Multi Layer Perceptron). Một mạng MLP tổng quát  là  mạng  có  n  (n≥2)  tầng  (thông  thường  tầng  đầu  vào  không  được  tính đến): trong đó gồm một tầng đầu ra (tầng thứ n) và (n-1) tầng ẩn. 

Hinh 2- 9: Mạng MLP tổng quát

Kiến trúc của một mạng MLP tổng quát có thể mô tả như sau:  

 Đầu vào  là các vector x1 ,  x2 ,   ,  x ptrong không gian  p chiều,  đầu 

ra là các vector y1 ,  y2 ,   ,  y qtrong không gian q chiều. Đối với các bài toán phân loại, p chính là kích thước của mẫu đầu vào, q chính là số lớp cần phân loại.  Xét ví  dụ  trong  bài  toán  nhận  dạng  chữ  số: với  mỗi  mẫu  ta  lưu  tọa  độ (x,y) của 8 điểm trên chữ số đó, và nhiệm vụ của mạng là phân loại các mẫu 

Trang 36

 Mỗi neuron thuộc tầng sau liên kết với tất cả các neuron thuộc tầng liền trước nó.  

 Đầu ra của neuron tầng trước là đầu vào của neuron thuộc tầng liền sau 

nó.  

Hoạt động của  mạng MLP như sau: tại tầng đầu vào các neuron nhận tín hiệu vào xử lý (tính tổng trọng số, gửi tới hàm truyền) rồi cho ra kết quả (là kết quả của hàm truyền); kết quả này sẽ được truyền tới các neuron thuộc tầng ẩn thứ nhất; các neuron tại đây tiếp nhận như là tín hiệu đầu vào, xử lý 

và gửi kết quả đến tầng ẩn thứ 2;…; quá trình tiếp tục cho đến khi các neuron thuộc tầng ra cho kết quả.  

 Mọi hàm bất kỳ đều có thể xấp xỉ bởi một mạng MLP 3 tầng sử dụng hàm truyền sigmoid cho các neuron tầng ẩn và hàm truyền tuyến tính cho các neuron tầng ra.  

Các vấn đề trong xây dựng mạng MLP

2.2.1.1 Chuẩn bị dữ liệu

a Kích thước mẫu

Không có nguyên tắc nào hướng dẫn kích thước mẫu phải là bao nhiêu đối  với  một  bài  toán  cho  trước.  Hai  yếu  tố  quan  trọng  ảnh  hưởng  đến  kích thước mẫu:  

Ngày đăng: 16/04/2017, 17:26

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Mai  Văn  Thủy  (2015). Nghiên cứu về mô hình thống kê học sâu và ứng dụng trong nhận dạng chữ viết tay hạn chế. Luận văn thạc sỹ, Đại  học Công nghệ thông tin và Truyền thông Sách, tạp chí
Tiêu đề: Nghiên cứu về mô hình thống kê học sâu và ứng dụng trong nhận dạng chữ viết tay hạn chế
Tác giả: Mai  Văn  Thủy 
Năm: 2015
[2] Lê  Minh  Hoàng,  một phương pháp nhận dạng văn bản tiếng Việt. Luận văn thạc sỹ, Đại học Quốc gia Hà Nội.  Sách, tạp chí
Tiêu đề: một phương pháp nhận dạng văn bản tiếng Việt
[3] Đỗ Thanh Nghị, Phạm Nguyên Khang (2013). Nhận dạng kí tự số viết tay bằng giải thuật máy học. Tạp  chí  khoa  học  Trường  Đại  học  Cần  Thơ Sách, tạp chí
Tiêu đề: Nhận dạng kí tự số viết tay bằng giải thuật máy học
Tác giả: Đỗ Thanh Nghị, Phạm Nguyên Khang 
Năm: 2013
[5] Baret  O.  and  Simon  J.C  (1992).  Cursiver Words Recognition. From  Pixels to Fuatures III Frontiers in Handwriting Recognition, tr.1-2.  Sách, tạp chí
Tiêu đề: Cursiver Words Recognition
Tác giả: Baret  O.  and  Simon  J.C 
Năm: 1992
[6] Behnk S., Pfister M. and Rojas R., (2000). Recognition of Handwitten ZIP Codes in a Real-World Non-Standard-Letter Sorting System. Kluwer Academic Publishers, tr.95-115.  Sách, tạp chí
Tiêu đề: Recognition of Handwitten ZIP Codes in a Real-World Non-Standard-Letter Sorting System
Tác giả: Behnk S., Pfister M. and Rojas R., 
Năm: 2000
[8] Hoai Vu Pham (2013), Hopfield networks and Boltzmann Machines. Byhttp://phvu.net/  Sách, tạp chí
Tiêu đề: Hopfield networks and Boltzmann Machines
Tác giả: Hoai Vu Pham 
Năm: 2013
[9] Hoai Vu Pham (2013), Model definition and training of RBMs. By  http://phvu.net/  Sách, tạp chí
Tiêu đề: definition and training of RBMs
Tác giả: Hoai Vu Pham 
Năm: 2013
[10] Hoai Vu Pham (2013), Contrastive Divergence. By  http://phvu.net/  Sách, tạp chí
Tiêu đề: Divergence
Tác giả: Hoai Vu Pham 
Năm: 2013
[7] Fujasaki  T.,  Beigi  H.S.M,  Tappert  C.C,  Ukelson  M.  and  Wolf  C.G.  Khác

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w