CHƯƠNG 1. TỔNG QUAN VỀ MẠNG NORON 1. Giới thiệu mạng noron nhân tạo 1. Lịch sử phát triển của mạng noron Mạng noron nhân tạo đã có một lịch sử phát triển lâu dài.
Năm 1940 với công trình của Warren McCulloch và Walter Pitts [6]. Họ chỉ ra rằng về nguyên tắc, mạng của các noron nhân tạo có thể tính toán bất kỳ một hàm số học hay logic nào. Tiếp theo hai người là Donald Hebb, ông đã phát biểu rằng việc thuyết lập luận cổ điển (classical conditioning) là hiện thực bởi do các thuộc tính của từng noron riêng biệt. Ông cũng nêu ra một phương pháp học của các noron nhân tạo.
Ứng dụng thực nghiệm đầu tiên của các noron nhân tạo có được vào cuối những năm 50 cùng với phát minh của mạng nhận thức (perceptron network) và luật học tương ứng bởi Frank Rosenblatt. Mạng này có khả năng nhận dạng các mẫu. Điều này đã mở ra rất nhiều hy vọng cho việc nghiên cứu mạng noron. Tuy nhiên nó có hạn chế là chỉ có thể giải quyết một số lớp hữu hạn các bài toán.
Cùng thời gian đó, Bernard Widrow và Ted Hoff đã đưa ra một thuật toán học mới và sử dụng nó để huấn luyện cho các mạng noron tuyến tính thích nghi, mạng có cấu trúc và chức năng tương tự như mạng của Rosenblatt. Luật học Widrow-Hoff vẫn còn được sử dụng cho đến nay. Tuy nhiên cả Rosenblatt và Widrow-Hoff đều cùng gặp phải một vấn đề, do Marvin Minsky và Seymour Papert đã phát hiện ra, đó là các mạng nhận thức chỉ có khả năng giải quyết các bài toán khả phân tuyến tính. Họ cố gắng cải tiến luật học và mạng để có thể vượt qua được hạn chế này nhưng họ đã không thành công trong việc cải tiến luật học để có thể huấn luyện được các mạng có cấu trúc phức tạp hơn.
Do những kết quả của Minsky-Papert nên việc nghiên cứu về mạng noron gần như bị đình lại trong suốt một thập kỷ do nguyên nhân là không có được các máy tính đủ mạnh để có thể thực hiện. Luan van 4 Mặc dù vậy, cũng có một vài phát kiến quan trọng vào những năm 70. Năm 1972, Teuvo Kohonen và James Anderson độc lập nhau phát triển một loại mạng mới có thể hoạt động như một bộ nhớ. Stephen Grossberg cũng rất tích cực trong việc khảo sát các mạng tự tổ chức (Self organizing networks).
Vào những năm 80, việc nghiên cứu mạng noron phát triển rất mạnh mẽ cùng với sự ra đời của PC. Có hai khái niệm mới liên quan đến sự hồi sinh này, đó là: - Việc sử dụng các phương pháp thống kê để giải thích hoạt động của một lớp các mạng hồi quy (recurrent networks) có thể được dùng như bộ nhớ liên hợp (associative memory) trong công trình của nhà vật lý học Johh Hopfield. - Sự ra đời của thuật toán lan truyền ngược (back-propagation) để luyện các mạng nhiều lớp được một vài nhà nghiên cứu độc lập tìm ra như: David Rumelhart, James McCelland,. Đó cũng là câu trả lời cho Minsky-Papert.
Mạng noron sinh học Não người là tổ chức vật chất cấp cao, có cấu tạo vô cùng phức tạp, dày đặc các mối liên kết giữa các nơron nhưng xử lý thông tin rất linh hoạt trong môi trường bất định. Trong bộ não người có khoảng 1011 – 1012 tế bào thần kinh được gọi là các nơron và mỗi nơron có thể liên kết với 104 nơron khác thông qua các khớp nối thần kinh (synapse). Dưới con mắt của những người làm tin học cấu tạo của mỗi nơron gồm các thành phần cơ bản sau: - Thân nơron được giới hạn trong một màng membran và trong cùng là nhân. Nó là nơi tiếp nhận, tổng hợp và phát ra các xung thần kinh hay các thông tin sau khi đã được tổng hợp.
Từ thân nơron còn có rất nhiều đường rẽ nhánh tạm gọi là rễ. - “Bus” liên kết nơron này với các nơron khác được gọi là axon, trên axon có các đường rẽ nhánh. Nơron còn có thể liên kết với các nơron khác qua các rễ. Chính vì cách liên kết đa dạng như vậy nên mạng nơron có độ liên kết rất cao.
Luan van 5 Hình 1. Mô hình mạng nơron sinh học Các rễ của nơron được chia làm hai loại: rễ đầu vào nhận thông tin từ các nơron khác qua axon và rễ đầu ra đưa thông tin qua axon tới các nơron khác. Một nơron có thể có nhiều rễ đầu vào, nhưng chỉ có một rễ đầu ra. Bởi vậy nếu coi nơron như một khâu điều khiển thì nó chính là khâu có nhiều đầu vào và một đầu ra.
Quá trình hoạt động của một nơron là một quá trình điện hoá tự nhiên. Khi có tác động từ bên ngoài vào nơron, tức ở đầu vào của nơron xuất hiện một tín hiệu tác động vượt quá ngưỡng cân bằng của nó thì nơron sẽ ở trạng thái kích thích. Trong tế bào nơron xảy ra hàng loạt các phản ứng hoá học tạo thành lực tác động làm nơron bị kích thích hoàn toàn. Thế năng sinh ra khi nơron ở trạng thái bị kích thích hoàn toàn này chỉ tồn tại vài mili giây sau đó nơron lại trở về trạng thái cân bằng cũ.
Thế năng này được chuyển vào mạng qua axon và có khả năng kích thích hoặc kìm hãm tự nhiên các nơron khác trong mạng. Một tính chất rất cơ bản của mạng nơron sinh học là các đáp ứng theo kích thích có khả năng thay đổi theo thời gian. Các đáp ứng có thể tăng lên, giảm đi hoặc hoàn toàn biến mất. Qua các nhánh axon liên kết các tế bào nơron với nhau, sự thay đổi trạng thái của một nơron dẫn theo sự thay đổi trạng thái của những nơron khác và dẫn tới sự thay đổi của toàn bộ mạng nơron.
Việc thay đổi trạng thái của mạng nơron có thể thực hiện qua một quá trình “dạy” hoặc do khả năng “học” tự nhiên. Luan van 6 Hoạt động tư duy của con người phần nhiều mang tính chủ quan định tính, dựa trên những bài học, kinh nghiệm học được từ khi còn nhỏ. Càng lớn dần thì những bài học hay kinh nghiệm của con người ngày càng nhiều, giúp con người giải quyết các vấn dề trong tự nhiên, xã hội tốt hơn. Bộ não có khả năng tự thay đổi cấu trúc để thích nghi dần với môi trường, làm cho cấu trúc bộ não ngày càng trở nên phức tạp sau mỗi lần học.
Cấu trúc của mạng nơron sinh học cũng luôn luôn được phát triển và thay đổi. Một số cấu trúc của nơron được xác định trước, một số sau này mới được hình thành và một số thì bị huỷ bỏ qua quá trình chọn lọc tự nhiên, học và thích nghi. Qua quá trình tìm hiểu, nghiên cứu cấu trúc và hoạt động của bộ não người, các nhà khoa học đã và đang xây dựng và phát triển các mô hình xử lý thông tin mô phỏng hoạt động của bộ não người. Đó chính là mô hình mạng nơron nhân tạo.
Mạng noron nhân tạo Mạng nơron nhân tạo bao gồm nhiều nơron độc lập liên kết với nhau. Trước khi định nghĩa thế nào là mạng nơron nhân tạo, chúng ta sẽ tìm hiểu mô hình của một nơron nhân tạo. Một nơron nhân tạo phản ánh các tính chất cơ bản của nơron sinh học. Mỗi nơron nhân tạo là một đơn vị xử lí thông tin làm cơ sở cho hoạt động của một mạng nơron.
Nó có chức năng nhận tín hiệu vào, tổng hợp và xử lý các tín hiệu vào để tính tín hiệu ra. Dưới đây là một mô hình của một nơron nhân tạo: Hình 1. Mô hình mạng noron Luan van 7 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 noron trong bộ não con người, vào năm 1943, các tác giả McCulloch và Pitts [6] đã đề xuất một mô hình toán cho một noron như hình 1. Trong mô hình này, một noron thứ i sẽ nhận các tín hiệu vào pjvới các trọng n số tương ứng là wij, tổng các thông tin vào có trọng số là: w p b.
j 1 ij j i 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: n a(t 1) f ( wij p j bi ) (1) j 1 Trong đó f là hàm truyề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: nếu x ≥ 0 0 f (x) nếu x ≤ 0 (2) 1 Như vậy, a = 1 (ứng với việc noron tạo tín đầu ra) khi tổng các tín hiệu vào lớn hơn độ lệch bi, còn a = 0 (noron không tạo tín hiệu ở đầu ra) khi tổng các tín hiệu vào nhỏ hơn độ lệch bi. Trong mô hình noron của McCulloch và Pitts, 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 noron j (noron gửi tín hiệu) và noron i (noron 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 noron. Hàm truyền f 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.
Thông qua cách mô hình hoá đơn giản một noron sinh học như trên, McCulloch và Pitts đã đưa ra một mô hình noron nhân tạo có tiềm năng tính toán quan trọng. Nó có thể thực hiện các phép toán logic cơ bản như AND, OR và NOT khi các trọng số và ngưỡng được chọn phù hợp. Sự liên kết giữa các noron nhân tạo với các cách thức khác nhau sẽ tạo nên các loại mạng noron nhân tạo với những tính Luan van 8 chất và khả năng làm việc khác nhau. Một noron nhân tạo được thể hiện thông qua các thành phần cơ bản sau: - Tập các đầu vào: là tín hiệu vào của mạng noron, các tín hiệu này thường được đưa vào dưới dạng một véc tơ R thành phần, hoặc tín hiệu ra của các noron thuộc lớp đằng trước.
- Trọng số liên kết: là trọng số liên kết giữa tín hiệu vào thứ j cho noron i. 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. - Bộ tổng (hàm tổng): thường dùng để tính tổng của các đầu vào đã được nhân với các trọng số liên kết của nó. - Độ lệch (bias): thường được đưa vào như một thành phần của hàm truyền.
- Hàm kích hoạt (hàm truyền): hàm này dùng để xác định và giới hạn giá trị đầu ra của mỗi noron. Nó nhận đầu vào là kết quả của hàm tổng kết hợp với độ lệch đã cho. Các hàm truyền rất đa dạng có thể là tuyến tính hoặc phi tuyến.