6. BỐ CỤC LUẬN VĂN
1.4.5. Mạng nơ-ron nhân tạo (ANN)
Một mạng nơ-ron nhân tạo [5] hay còn gọi là mạng nơ-ron đƣợc định nghĩa nhƣ một cấu trúc tính toán bao gồm nhiều bộ xử lý “nơ ron” đƣợc kết nối song song chằng chịt với nhau. Do bản chất song song của các nơ-ron nên nó có thể thực hiện các tính toán với tốc độ cao hơn so với các kỹ thuật phân lớp khác. Một mạng nơ- ron chứa nhiều nút, đầu ra của một nút đƣợc sử dụng cho một nút khác ở trong mạng và hàm quyết định cuối cùng phụ thuộc vào sự tƣơng tác phức tạp giữa các nút. Mặc dù nguyên lý khác nhau, nhƣng hầu hết các kiến trúc mạng nơ-ron đều tƣơng đƣơng với các phƣơng pháp nhận dạng mẫu thống kê. Các kiến trúc mạng nơ-ron có thể đƣợc phân thành hai nhóm chính: mạng truyền thẳng và mạng lan truyền ngƣợc. Trong các hệ thống nhận dạng chữ, các mạng nơ-ron sử dụng phổ biến nhất là mạng perceptron đa lớp thuộc nhóm mạng truyền thẳng và mạng SOM (Self Origanizing Map) của Kohonen thuộc nhóm mạng lan truyền ngƣợc.
Mạng perceptron đa lớp đƣợc đề xuất bởi Rosenblatt [14,17] đƣợc nhiều tác giả sử dụng trong các hệ nhận dạng chữ viết tay [16]. SOM kết hợp trích chọn đặc trƣng và nhận dạng trên một tập lớn các ký tự huấn luyện. Mạng này chứng tỏ rằng nó tƣơng đƣơng với thuật toán phân cụm k-means. Với thuật toán đơn giản nhƣng rất hiệu quả, cùng với thành công của mô hình này trong các ứng dụng thực tiễn, mạng nơ-ron hiện đang là một trong các hƣớng nghiên cứu của lĩnh vực học máy. Mạng nơ-ron tỏ ra phù hợp với các bài toán đối sánh, phân loại mẫu, xấp xỉ hàm, tối ƣu hoá, lƣợng tử hoá véc tơ và phân hoạch không gian dữ liệu, trong khi các phƣơng pháp truyền thống không đủ khả năng giải quyết các vấn đề nêu trên một cách hiệu quả. Đặc biệt trong các hệ thống nhận dạng sử dụng mạng nơ-ron đã đạt đƣợc tỉ lệ nhận dạng khá chính xác, có thể so sánh với các phƣơng pháp nhận dạng cấu trúc, thống kê,…
1.5. KẾT CHƢƠNG 1
Chƣơng này giới thiệu một cách tổng quan về lĩnh vực nhận chữ quang học, mô hình nhận dạng chữ tổng quát các khái niệm cơ bản, kỹ thuật về xử lý ảnh và một số phƣơng pháp nhận dạng chữ áp dụng trong lĩnh vực nhận dạng. Cho đến nay các kết quả nghiên cứu nhận dạng ở lĩnh vực này vẫn còn hạn chế, các ứng dụng chủ yếu chỉ tập trung ở một số lĩnh vực hẹp. Có nhiều mô hình, kỹ thuật tiên tiến trong lĩnh vực máy học đang đƣợc áp dụng cho bài toán nhận dạng chữ nhƣ: mạng nơ-ron nhân tạo, mô hình Markov ẩn, máy véc tơ hỗ trợ (SVM),...
CHƢƠNG 2
MẠNG NƠ-RON NHÂN TẠO
Mạng nơ-ron nhân tạo hay mạng nơ-ron là một mô phỏng xử lý thông tin, đƣợc nghiên cứu ra từ hệ thống thần kinh của sinh vật, giống nhƣ bộ não để xử lý thông tin. Nó bao gồm số lƣợng lớn các mối gắn kết cấp cao để xử lý các yếu tố làm việc trong mối liên hệ giải quyết vấn đề rõ ràng. Mạng nơ-ron nhân tạo giống nhƣ con ngƣời, đƣợc học bởi kinh nghiệm, lƣu những kinh nghiệm hiểu biết và sử dụng trong những tình huống phù hợp.
Mạng nơ-ron nhân tạo đƣợc coi là một công cụ mạnh để giải quyết các bài toán có tính phi tuyến, phức tạp và đặc biệt trong các trƣờng hợp mà mối quan hệ giữa các quá trình không dễ thiết lập một cách tƣờng minh. Đã có nhiều nghiên cứu sử dụng mạng nơ-ron trong bài toán dự báo, nhận dạng mẫu, phân loại dữ liệu… [13,15] và đã chứng tỏ đây là hƣớng tiếp cận rất hiệu quả. Trong chƣơng này chúng ta sẽ tìm hiểu những kiến thức về mạng nơ-ron nhân tạo và khả năng ứng dụng của chúng.
2.1. GIỚI THIỆU MẠNG NƠ-RON 2.1.1. Khái niệm cơ bản 2.1.1. Khái niệm cơ bản
Theo các nhà nghiên cứu sinh học về bộ não, hệ thống thần kinh của con ngƣời bao gồm khoảng 100 tỷ tế bào thần kinh, thƣờng gọi là các nơ-ron. Mỗi tế bào nơ- ron gồm ba phần [4]:
• Thân nơ-ron với nhân bên trong (gọi là soma), là nơi tiếp nhận hay phát ra các xung động thần kinh.
• Một hệ thống dạng cây các dây thần kinh vào (gọi là dendrite) để đƣa tín hiệu tới nhân nơ-ron. Các dây thần kinh vào tạo thành một lƣới dày đặc xung quanh thân nơ-ron, chiếm diện tích khoảng 0,25 mm2
• Đầu dây thần kinh ra (gọi là sợi trục axon) phân nhánh dạng hình cây, có thể dài từ một cm đến hàng mét. Chúng nối với các dây thần kinh vào hoặc trực tiếp với nhân tế bào của các nơ-ron khác thông qua các khớp nối (gọi là synapse). Thông thƣờng mỗi nơ-ron có thể có từ vài chục cho tới hàng trăm ngàn khớp nối để nối với các nơ-ron khác. Có hai loại khớp nối, khớp nối kích thích (excitatory) sẽ cho tín hiệu qua nó để tới nơ-ron còn khớp nối ức chế (inhibitory) có tác dụng làm cản tín hiệu tới nơ-ron. Ngƣời ta ƣớc tính mỗi nơ-ron trong bộ não của con ngƣời có khoảng 104 khớp nối (hình 2.1)
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 hoá học phức tạp. Tại nhân tế bào, khi điện thế của tín hiệu vào đạt tới một ngƣỡng nào đó thì nó sẽ tạo ra một xung điện dẫn tới các nơ-ron khác.
Với mục đích tạo ra một mô hình tính toán phỏng theo cách làm việc của nơ- ron trong bộ não con ngƣời, vào năm 1943, các tác giả McCulloch và Pitts [10] đã đề xuất mô hình toán cho một nơ-ron nhƣ sau:
Hình 2.2. Mô hình nơ-ron nhân tạo
Trong mô hình này, một nơ-ron thứ i sẽ nhận các tín hiệu vào xj với các
trọng số tƣơng ứng là wij , tổng các thông tin vào có trọng số là
1 w m ij j j x
Thông tin đầu ra ở thời điểm t+1 đƣợc tính từ các thông tin đầu vào nhƣ sau:
ij
( 1) w j( ) i
out t g x t (2.1) Trong đó g là hàm kích hoạt (còn gọi là hàm chuyển) có dạng là hàm bƣớc nhảy, nó đóng vai trò biến đổi từ thông tin đầu vào thành tín hiệu đầu ra.
( ) { (2.2) Nhƣ vậy, out = 1 (ứng với việc nơ-ron tạo tín đầu ra) khi tổng các tín hiệu vào lớn hơn ngƣỡng θi , còn out = 0 (nơ-ron không tạo tín hiệu ở đầu ra) khi tổng các tín hiệu vào nhỏ hơn ngƣỡng θi.
Trong mô hình nơ-ron, các trọng số wij thể hiện ảnh hƣởng của khớp nối trong liên kết giữa nơ-ron j (nơ-ron gửi tín hiệu) và nơ-ron i (nơ-ron nhận tín hiệu). Trọng số wij dƣơng ứng với khớp nối kích thích, trọng số âm ứng với khớp nối ức chế còn wij
bằng 0 khi không có liên kết giữa hai nơ-ron. Hàm chuyển g ngoài dạng hàm bƣớc nhảy còn có thể chọn nhiều dạng khác nhau và sẽ đƣợc đề cập ở các phần sau.
2.1.2. Mô hình mạng nơ-ron nhân tạo
Nhƣ đã đƣợc giới thiệu, mạng nơ-ron nhân tạo (ANN) là một hệ thống xử lý thông tin đƣợc xây dựng trên cơ sở tổng quát hoá mô hình toán học của nơ-ron sinh học và phỏng theo cơ chế làm việc của bộ não con ngƣời. Mạng nơ-ron nhân tạo đƣợc thể hiện thông qua ba thành phần cơ bản: mô hình của nơ-ron, cấu trúc và sự liên kết giữa các nơ-ron, phƣơng pháp học đƣợc áp dụng cho mạng nơ-ron.
2.1.2.1. Các phần tử xử lý
Việc xử lý thông tin tại mỗi nơ-ron có thể xem là gồm hai phần: xử lý tín hiệu vào (input) và đƣa tín hiệu ra (output). Tƣơng ứng với phần vào của mỗi nơ- ron là một hàm tƣơng tác (interaction) f, hàm này kết hợp các thông tin truyền tới nơ-ron và tạo thành thông tin đầu vào tổng hợp (gọi là net input) của nơ-ron đó.
Một nơ-ron thứ i trong mạng thƣờng có hàm fi ở dạng tuyến tính nhƣ sau [14][17]: 1 : w m i i ij j i j f net x (2.3) Thao tác thứ hai trong mỗi nơ-ron là tính giá trị đầu ra tƣơng ứng với giá trị đầu vào f thông qua hàm kích hoạt hay còn gọi là hàm chuyển g(f) (hàm kích hoạt). Một số hàm chuyển thƣờng đƣợc sử dụng:
- Hàm bƣớc nhảy
( ) { (2.4) - Hàm dấu
- Hàm sigmoid 1 ( ) 1 f g f e hoặc 2 ( ) 1 1 f g f e (2.6)
2.1.2.2. Liên kết trong mạng nơ-ron nhân tạo
Mạng nơ-ron nhân tạo gồm các nơ-ron và liên kết có trọng số giữa chúng. ANN tạo nên một hệ thống xử lý thông tin làm việc trên cơ sở phỏng theo cách làm việc của hệ thống các nơ-ron trong bộ não con ngƣời. Tuy nhiên, trong bộ não của con ngƣời, các tế bào nơ-ron liên kết với nhau chằng chịt và tạo nên một mạng lƣới vô cùng phức tạp.
Các loại mạng nơ-ron nhân tạo [4] đƣợc xác định bởi cách liên kết giữa các nơ-ron, trọng số của các liên kết đó và hàm chuyển tại mỗi nơ-ron. Các hình vẽ dƣới đây thể hiện các cách kết nối khác nhau.
Hình 2.3.Mạng nơ-ron nhân tạo chỉ có một nút và có sự phản hồi
Mạng nơ-ron truyền thẳng một lớp là loại mạng chỉ có lớp nơ-ron đầu vào và một lớp nơ-ron đầu ra (thực chất lớp nơ-ron đầu vào không có vai trò xử lý, do đó ta nói mạng chỉ có một lớp). Loại mạng này còn đƣợc gọi là mạng perceptron một lớp. Mỗi nơ-ron đầu ra có thể nhận tín hiệu từ các đầu vào x1, x2, …, xmđể tạo ra tín hiệu đầu ra tƣơng ứng.
Hình 2.4. Mạng nơ-ron truyền thẳng một lớp [6]
Mạng nơ-ron truyền thẳng nhiều lớp, lớp nhận tín hiệu vào của mạng gọi là lớp vào (input layer), nó thƣờng không thực hiện việc chuyển đổi thông tin mà chỉ làm chức năng nhận tín hiệu. Tín hiệu ra của mạng đƣợc đƣa ra từ lớp ra (output layer). Các lớp ở giữa lớp vào và lớp ra gọi là các lớp ẩn. Trong mạng truyền thẳng (feedforward network) không có nút nào mà đầu ra của nó là đầu vào của một nút khác trên cùng lớp với nó hoặc lớp trƣớc.
Mạng có phản hồi (feedback network) là mạng mà đầu ra của một nơ-ron có thể trở thành đầu vào của nơ-ron trên cùng một lớp hoặc của lớp trƣớc đó. Mạng feedback network có chu trình khép khín gọi là mạng quy hồi (recurrent network).
2.1.2.3. Các luật học của mạng nơ-ron nhân tạo
Luật học là yếu tố quan trọng tạo nên một mạng nơ-ron nhân tạo. Có hai vấn đề cần học đối với mỗi mạng nơ-ron nhân tạo đó là học tham số (parameter learning) và học cấu trúc (structure learning).
Học tham số là việc thay đổi trọng số của các liên kết giữa các nơ-ron trong một mạng, còn học cấu trúc là việc điều chỉnh cấu trúc của mạng bao gồm thay đổi số lớp nơ-ron, số nơ-ron của mỗi lớp và cách liên kết giữa chúng. Hai vấn đề này có thể đƣợc thực hiện đồng thời hoặc tách biệt.
Về mặt phƣơng pháp học, có thể chia ra làm ba loại: học có giám sát hay còn gọi là học có thầy (supervised learning), học tăng cƣờng (reinforcement learning) và học không có giám sát hay còn gọi là học không có thầy (unsupperviced learning).
2.1.3. Khả năng ứng dụng của mạng nơ-ron nhân tạo
Đặc trƣng của mạng nơ-ron nhân tạo là khả năng học và xử lý song song. Nó có thể gần đúng mối quan hệ tƣơng quan phức tạp giữa các yếu tố đầu vào và đầu ra của các quá trình cần nghiên cứu và khi đã học đƣợc thì việc kiểm tra độc lập thƣờng cho kết quả tốt. Sau khi đã học xong, mạng nơ-ron nhân tạo có thể tính toán kết quả đầu ra tƣơng ứng với bộ số liệu đầu vào mới.
Về mặt cấu trúc, mạng nơ-ron nhân tạo là một hệ thống gồm nhiều phần tử xử lý đơn giản cùng hoạt động song song. Tính năng này của ANN cho phép nó có thể đƣợc áp dụng để giải các bài toán lớn.
Mạng nơ-ron có những tính chất sau đây:
Một là, tính phi tuyến. Đây là một tính chất này rất quan trọng. Mạng nơ- ron nhân tạo có thể tính toán một cách tuyến tính hay phi tuyến. Nó cho phép mạng nơ- ron tạo ra các mặt cắt trong không gian dữ liệu không phải là siêu phẳng mà lồi
lõm không đều. Nhƣ vậy không gian mẫu có thể chia thành nhiều miền. Mỗi miền đƣợc gọi là một lớp. Đặc trƣng này đƣợc sử dụng nhiều, ví dụ trong xấp xỉ mạng, miền nhiễu và có khả năng phân lớp.
Hai là, tự thích nghi và tự tổ chức. Các mạng nơ-ron có khả năng xử lý thích nghi và điều chỉnh bền vững dựa vào các thuật toán học và quy tắc tự tổ chức. Khả năng xử lý thích nghi thể hiện ở khả năng biến đổi các trọng số trong mạng tuỳ theo sự thay đổi của môi trƣờng xung quanh. Một mạng nơ-ron đã đƣợc huấn luyện trong môi trƣờng xác định, vẫn có thể thích nghi trong môi trƣờng khác bằng cách tự thay đổi trọng số các kết nối. Vì vậy dù mẫu không ổn định hay bị nhiễu thì nó vấn có thể đáp ứng thích hợp. Tuy nhiên, không phải lúc nào tính tự thích nghi cũng mang lại hiệu quả hay sức mạnh cho mạng.
Ba là, tính chịu lỗi. Não của con ngƣời có khả năng dung thứ lỗi, tức là với những thông tin thiếu chính xác, không đầy đủ mà vẫn có thể xử lý, giải quyết đƣợc các vấn đề đặt ra. Mạng nơ-ron bắt chƣớc khả năng này của bộ não. Hệ thống mạng nơ-ron vẫn có thể tiếp tục hoạt động và điều chỉnh, khi nhận tín hiệu vào có một phần thông tin bị sai lệch hay bị thiếu. Khi một số nơ-ron không thực hiện tính toán, hay một vài kết nối bị hỏng thì khả năng của mạng chỉ bị giảm đi chứ không bị đổ vỡ. Mạng nơ-ron luôn đƣa ra kết quả thích hợp trong mọi tình huống.
Bốn là, tính đồng dạng trong thiết kế. Các mô hình mạng nơ-ron đều có chung đặc điểm là đƣợc cấu thành từ các nơ-ron riêng biệt liên kết với nhau. Liên kết càng phức tạp thì mô hình mạng nơ-ron càng mạnh. Các mạng tổ hợp có thể xây dựng bằng cách tích hợp nhiều mạng khác nhau.
Với những đặc điểm đó, mạng nơ-ron nhân tạo đã đƣợc sử dụng để giải quyết nhiều bài toán thuộc nhiều lĩnh vực của các ngành khác nhau. Các nhóm ứng dụng mà mạng nơ-ron nhân tạo đã đƣợc áp dụng rất có hiệu quả là [4]:
• Bài toán phân lớp: Loại bài toán này đòi hỏi giải quyết vấn đề phân loại các đối tƣợng quan sát đƣợc thành các nhóm dựa trên các đặc điểm của các nhóm
đối tƣợng đó. Đây là dạng bài toán cơ sở của rất nhiều bài toán trong thực tế: nhận dạng chữ viết, tiếng nói, phân loại gen, phân loại chất lƣợng sản phẩm,…
• Bài toán dự báo: Mạng nơ-ron nhân tạo đã đƣợc ứng dụng thành công trong việc xây dựng các mô hình dự báo sử dụng tập dữ liệu trong quá khứ để dự đoán số liệu trong tƣơng lai. Đây là nhóm bài toán khó và rất quan trọng trong nhiều ngành khoa học.
• Bài toán điều khiển và tối ƣu hoá: Nhờ khả năng học và xấp xỉ hàm mà mạng nơ-ron nhân tạo đã đƣợc sử dụng trong nhiều hệ thống điều khiển tự động cũng nhƣ góp phần giải quyết những bài toán tối ƣu trong thực tế. Tóm lại, mạng nơ-ron nhân tạo đƣợc xem nhƣ là một cách tiếp cận đầy tiềm năng để giải quyết các bài toán có tính phi tuyến, phức tạp và đặc biệt là trong tình huống mối quan hệ bản chất vật lý của quá trình cần nghiên cứu không dễ thiết lập