CHƯƠNG 1 : MẠNG NEURAL VÀ BÀI TOÁN NHẬN DẠNG CHỮ IN 1. Khái Niệm Mạng Neural 1. Sơ lược về neural sinh học Bộ não con người có khoảng 1010 tế bào thần kinh liên kết chặt chẽ với nhau được gọi là các nơ-ron. Sau đây là những thành phần chính của một nơ ron Hình 1.1 : Mô hình neural sinh học Trong đó : Các Soma là thân của neural.
Các dendrites là các dây mảnh, dài, gắn liền với soma, chúng truyền dữ liệu (dưới dạng xung điện thế) đến cho soma xử lý. Bên trong soma các dữ liệu đó được tổng hợp lại. Có thể xem gần đúng sự tổng hợp ấy như là một phép lấy tổng tất cả các dữ liệu mà neural nhận được. Một loại dây dẫn tín hiệu khác cũng gắn với soma là các axon.
Khác với dendrites, axons có khả năng phát các xung điện thế, chúng là các dây dẫn tín hiệu từ neural đi các nơi khác. Chỉ khi nào điện thế trong soma vượt quá Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 4 một giá trị ngưỡng nào đó (threshold) thì axon mới phát một xung điện thế, còn nếu không thì nó ở trạng thái nghỉ. Axon nối với các dendrites của các neural khác thông qua những mối nối đặc biệt gọi là synapse. Khi điện thế của synapse tăng lên do các xung phát ra từ axon thì synapse sẽ nhả ra một số chất hoá học (neurotransmitters); các chất này mở "cửa" trên dendrites để cho các ions truyền qua.
Chính dòng ions này làm thay đổi điện thế trên dendrites, tạo ra các xung dữ liệu lan truyền tới các neural khác. - Hoạt động của neural sinh học có thể mô tả tóm tắt như sau: Mỗi neural nhận tín hiệu vào từ các tế bào thần kinh khác. Chúng tích hợp các tín hiệu vào, khi tổng tín hiệu vượt quá một ngưỡng nào đó chúng tạo tín hiệu ra và gửi tín hiệu này tới các neural khác thông qua dây thần kinh. Các neural liên kết với nhau thành mạng.
Mức độ bền vững của các liên kết này xác định một hệ số gọi là trọng số liên kết. Mạng Neural Nhân Tạo Để mô phỏng các tế bào thần kinh và các khớp nối thần kinh của bộ não con người, mạng neural nhân tạo có các thành phần có vai trò tương tự là các neural nhân tạo và kết nối giữa chúng (kết nối này gọi là weights). Neural là một đơn vị tính toán có nhiều đầu vào và một đầu ra, mỗi đầu vào đến từ một khớp nối thần kinh (synapse). Đặc trưng của neural là một hàm kích hoạt phi tuyến chuyển đổi một tổ hợp tuyến tính của tất cả các tín hiệu đầu vào thành tín hiệu đầu ra.
Một neural nhân tạo là một đơn vị tính toán hay đơn vị xử lý thông tin cơ sở cho hoạt động của một mạng neural. Neural này sẽ hoạt động như sau: giả sử có N inputs, nơron sẽ có N weights (trọng số) tương ứng với N đường truyền inputs. Neural sẽ lấy tổng các trọng số của tất cả các inputs. Nói như thế có nghĩa là neural sẽ lấy input thứ Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 5 nhất, nhân với weight trên đường input thứ nhất, lấy input thứ hai nhân với weight của đường input thứ hai v., rồi lấy tổng của tất cả các kết quả thu được.
Đường truyền nào có weight càng lớn thì tín hiệu truyền qua đó càng lớn, như vậy có thể xem weight là đại lượng tương đương với synapse trong neural sinh học. Trọng số và tổng tín hiệu đầu vào: Giả sử tại neural i có N tín hiệu vào, mỗi tín hiệu vào S j được gán một trọng số W ij tương ứng. Ta ước lượng tổng tín hiệu đi vào neural net i theo một số dạng sau: (i)Dạng tuyến tính: N neti Wij s j (1.1) j 1 (ii)Dạng toàn phương: N neti Wij s 2j (1.2) j 1 (iii)Dạng mặt cầu: 2 neti s j w ij N 2 (1.3) j 1 Trong đó: và w ij j 1, N lần lượt là tâm và bán kính mặt cầu Hàm kích hoạt (hàm chuyển): Một số hàm kích hoạt thường được sử dụng: 1) Hàm đồng nhất (Linear function, Identity function) g(x) = x (1.4) Nếu coi các đầu vào là một đơn vị thì chúng sẽ sử dụng hàm này. Có khi một hằng số được nhân với net-input tạo thành một hàm đồng nhất.
Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn LUAN VAN CHAT LUONG download : add luanvanchat@agmail.2: Đồ thị hàm đồng nhất (Identity function) 2) Hàm bước nhị phân (Binary step function, Hard limit function) Hàm này còn gọi là hàm ngưỡng (Threshold function hay Heaviside function). Đầu ra của hàm này giới hạn một trong hai giá trị: ì1 (x ³ q ) g(x) = í (1.5) î0 (x < q ) ở đây là ngưỡng Hình 1.3: Đồ thị hàm bước nhị phân (Binary step function) Dạng hàm này thường sử dụng trong mạng một lớp. Trong hình vẽ được chọn bằng 1. 3) Hàm sigmoid (Sigmoid function (logsig)) Hàm sigma là dạng chung nhất của hàm kích hoạt được sử dụng trong cấu trúc mạng neural nhân tạo.
Nó là một hàm tăng và nó thể hiện một sự trung gian giữa tuyến tính và phi tuyến. Một ví dụ của hàm này là hàm logistics, xác định như sau: 1 g( x) (1.6) 1 e x Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 7 ở đó là tham số độ dốc của hàm sigma. Bằng việc biến đổi tham số , chúng ta thu được các hàm sigma với các độ dốc khác nhau. Thực tế, hệ số góc tại x= 0 là /4.
Khi tham số hệ số góc tiến tới không xác định, hàm sigma trở thành một hàm ngưỡng đơn giản. Trong khi một hàm ngưỡng chỉ có giá trị là 0 hoặc 1, thì ở đó là tham số độ dốc của hàm sigma. Bằng việc biến đổi tham số , chúng ta thu được các hàm sigma với các độ dốc khác nhau. Trong khi một hàm ngưỡng chỉ có giá trị là 0 hoặc 1, thì một hàm sigma nhận các giá trị từ 0 tới 1.
Cũng phải ghi nhận rằng hàm sigma là hàm phân biệt, trong khi hàm ngưỡng thì không (Tính phân biệt của hàm là một đặc tính quan trọng trong lý thuyết mạng neuron). Hàm này thường được dùng cho các mạng được huấn luyện (trained) bởi thuật toán lan truyền ngược (back –propagation), bởi nó dễ lấy đạo hàm, làm giảm đáng kể tính toán trong quá trình huấn luyện. Hàm được dùng cho các chương trình ứng dụng mà đầu ra mong muốn rơi vào khoảng [0,1].4: Đồ thị hàm sigmoid 4)Hàm sigmoid lưỡng cực (Bipolar sigmoid function (tan(sig)) 1 e x g( x) (1.7) 1 e x Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 8 Hàm này có đặc tính tương tự hàm sigmoid. Hàm làm việc tốt đối với các ứng dụng có đầu ra yêu cầu trong khoảng [-1,1].5: Đồ thị hàm sigmoid lưỡng cực Nút bias: Là một nút thêm vào nhằm tăng khả năng thích nghi của mạng nơ-ron trong quá trình học.
Trong các mạng nơ-ron có sử dụng bias, mỗi nơ-ron có thể có một trọng số tương ứng với bias. Trọng số này luôn có giá trị là 1. Mô hình của một nút xử lý (nút thứ i): Vi Wi1 Vj Wij Vi Ui= Vi=fi(Ui) WiN VN Hình 1. Mô hình một nơ-ron N U i Wij Vj θ i (1.9) Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 9 Trong đó: U i : là tín hiệu vào tại nơ-ron i Vi : là tín hiệu ra tại nơron i Wij : là trọng số liền kề từ nơ-ron j đến nơ-ron i i : là ngưỡng (đầu vào ngoài) kích hoạt nơ-ron i.
f i : là hàm kích hoạt của nơ-ron i 1. Kiến Trúc Mạng Mạng neural nhân tạo là một hệ thống bao gồm nhiều phần tử xử lý đơn giản (hay còn gọi là neural) tựa như neural thần kinh của não người, hoạt động song song và được nối với nhau bởi các liên kết neural. Mỗi liên kết kèm theo một trọng số nào đó, đặc trưng cho tính kích hoạt hoặc ức chế giữa các neural. Việc ứng dụng mạng neural có thể giải quyết được các lớp bài toán nhất định, như: Bài toán người du lịch, bài toán tô màu bản đồ, bài toán xếp loại, bài toán lập thời khóa biểu, bài toán tìm kiếm, bài toán nhận dạng mẫu.
Các bài toán phức tạp cao, không xác định. Tuy nhiên, sự liên kết giữa một bài toán bất kỳ trong thực tế với một giải pháp mạng neural lại là một việc không hề dễ dàng. Xét một cách tổng quát, mạng neural mang các đặc tính nổi bật sau : Là mô hình toán học dựa trên bản chất của neural. Bao gồm một số lượng rất lớn các neural liên kết với nhau.
Mạng neural có khả năng học, khái quát hóa tập dữ liệu học thông qua việc gán và hiệu chỉnh các trọng số liên kết. Tổ chức theo kiểu tập hợp mang lại cho mạng neural khả năng tính toán rất lớn, trong đó không có neural nào mang thông tin riêng biệt. Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn LUAN VAN CHAT LUONG download : add luanvanchat@agmail. Mạng truyền thẳng - Mạng truyền thẳng một lớp Mạng truyền thẳng một lớp là mạng perceptron một lớp.
Là mạng truyền thẳng chỉ một lớp vào và một lớp ra. Trên mỗi lớp có thể có một hoặc nhiều neural mạng truyền thẳng một lớp chỉ có một lớp vào và một lớp ra. Mô hình mạng neural perceptron sử dụng hàm ngưỡng đóng vai trò là hàm chuyển. Do đó, tổng của tín hiệu vào lớn hơn giá trị ngưỡng thì giá trị đầu ra của neural sẽ là 1, còn trái lại sẽ là 0.10) Với neti = wij xj là tổng thông tin đầu vào của neural i.
Trong đó ma trận trọng số cho các phần tử trong vector đầu vào W: w1,1 w1, 2 .wS , R Với mỗi giá trị đầu vào. Qua quá trình xử lý của T mạng ta sẽ thu được một bộ tương ứng các giá trị đầu ra là y y1, y2, ., yn T được xác định như sau : m yi f i wij x j i , i 1, n (1.11) j 1 Trong đó : m : Số tín hiệu vào n : Số tín hiệu ra WiT wi1 , wi 2 ,., win T : là véc tơ trọng số của neural thứ i.