Liên kết các đầu vào của nhiều nơron với nhau ta đƣợc một mạng nơron. Nguyên lý cấu tạo của một mạng nơron bao gồm một hoặc nhiều lớp. Mỗi lớp bao gồm nhiều nơron có cùng một chức năng trong mạng.
Mạng nơron nhân tạo có thể đƣợc thiết kế bằng nhiều cách khác nhau vì vậy trong thực tế tồn tại rất nhiều kiểu mạng nơron nhân tạo. Dựa vào số lớp hay sự liên kết giữa các lớp trong mạng mà ngƣời ta phân loại mạng nơron thành các nhóm khác nhau.
Phân loại theo số lớp
Phân loại theo số lớp thì mạng nơron nhân tạo gồm 2 nhóm: Mạng Peceptron một lớp và mạng Perceptron đa lớp.
Perceptron một lớp
Cuối những năm 1950, Frank Rosenblatt và một số nhà nghiên cứu đã phát triển một mạng nơron có tên là mạng Perceptron. Đây là mạng nơron với kiến trúc truyền thẳng một lớp, với lớp ra có hàm truyền là hàm bƣớc nhị phân. Các đơn vị ở lớp vào phục vụ nhƣ nơi chứa các tín hiệu vào từ môi trƣờng bên ngoài và từ đây truyền tín hiệu chuyển tiếp đến các đơn vị ở lớp ra. Các đơn vị ở lớp ra đƣợc xem nhƣ các đơn vị xử lý, mỗi đơn vị tổng hợp các thông tin đầu vào của của nó và tạo lại tín hiệu cho đơn vị.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Hình 3.5: Mô hình mạng perceptron một lớp Perceptron đa lớp
Mạng Perceptron một lớp không thể học đƣợc bài toán XOR, hạn chế ấy là do chính cấu trúc của mạng. Vì thế năm 1986 Rumelhart và McClelland đã cải tiến Perceptron thành mạng Perceptron nhiều lớp (MultiLayer Perceptron, MLP) là một mạng gồm một hay nhiều lớp nơron, trong đó các dây dẫn tín hiệu chỉ truyền theo một chiều từ input qua các lớp, cho đến output.
Hình 3.6: Mô hình Mạng perceptron nhiều lớp
Lƣu ý là lớp input không đƣợc coi là một lớp của mạng. Ngoài ra mạng Feedforward cũng khác Perceptron ở chỗ là nó không dùng hàm bƣớc nhị phân làm hàm truyền nữa, thay vào đó là các hàm ngƣỡng đơn cực.
Phân loại theo sự liên kết giữa các lớp
Sự liên kết trong mạng nơron tùy thuộc vào nguyên lý tƣơng tác giữa đầu ra của từng nơron riêng biệt với nơron khác và tạo ra cấu trúc mạng nơron. Về nguyên tắc sẽ có rất nhiều kiểu liên kết giữa các nơron nhƣng chỉ có một số cấu trúc hay gặp trong một số mô hình sau:
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Dòng dữ liệu đầu vào từ các nơron đầu vào đến các nơron đầu ra chỉ đƣợc truyền thẳng. Việc xử lý dữ liệu có thể mở rộng ra nhiều lớp, nhƣng không có các liên kết ngƣợc. Tức là không có các liên kết từ các đơn vị đầu ra tới các đơn vị đầu vào trong cùng một lớp hay các lớp trƣớc đó.
Nếu mô hình hóa mạng truyền thẳng bằng một đồ thị, thì nó là đồ thị có hƣớng hữu hạn không chu trình. Hình 6 Minh họa cho một mạng truyền thẳng nhiều lớp.
Mạng hồi quy
Mạng hồi quy có mô hình kết nối lan truyền ngƣợc, lớp vào của mạng phục vụ nhƣ nơi nhận các tín hiệu vào và tín hiệu hồi tiếp, lớp ra của mạng phục vụ nhƣ các đơn vị xử lý. Đầu ra của các đơn vị ẩn và đơn vị ra cũng có thể đƣợc lan truyền ngƣợc về các đơn vị ở lớp trƣớc hoặc cùng lớp và mỗi đơn vị ẩn cũng có thể tự tạo một vòng khép kín. Mạng hồi quy gồm có lớp vào, lớp ra, lớp vào nhận tín hiệu từ môi trƣờng bên ngoài và tín hiệu hồi tiếp từ các đầu ra trƣớc đó của lớp ra, lớp tạo tín hiệu hồi tiếp cho lớp vào và tạo tín hiệu ra cho mạng.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Mạng Hopfield
Mạng Hopfield là mạng phản hồi một lớp. Khi hoạt động với tín hiệu rời rạc, nó đƣợc gọi là mạng Hopfield rời rạc, và cấu trúc của nó cũng đƣợc gọi là mạng hồi quy.
Hình 3.8: Cấu trúc của mạng Hopfield
Nhƣ mạng Hopfield đã vẽ ở trên, ta thấy nút có một đầu vào bên ngoài xj và một giá trị ngƣỡng j(j = 1,2,...n). Một điều quan trọng cần nói ở đây là mỗi nút không có đƣờng phản hồi về chính nó. Nút đầu ra thứ j đƣợc nối tới mỗi đầu vào của nút khác qua trọng số wij, với ij, (i = 1,2,...,n), hay nói cách khác wii = 0, (với i = 1,2,...,n).Một điều quan trọng nữa là trọng số của mạng Hopfield là đối xứng, tức là wij = wji, (với i, j = 1, 2… n).
Mạng BAM
Mạng BAM bao gồm hai lớp và đƣợc xem nhƣ là trƣờng hợp mở rộng của mạng Hopfield. Ở đây ta chỉ xét mạng rời rạc, vì nó đơn giản và dễ hiểu.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Hình 3.9: Cấu trúc của mạng BAM
Khi mạng nơron đƣợc tích cực với giá trị đầu vào của vector tại đầu vào của một lớp, mạng sẽ có hai mẫu trạng thái ổn định, với mỗi mẫu tại đầu ra của nó là một lớp.
3.1.7. Ứng dụng mạng nơron nhân tạo
Mạng nơron trong một vài năm trở lại đây đã đƣợc nhiều ngƣời quan tâm và đã áp dụng thành công trong nhiều lĩnh vực khác nhau, nhƣ tài chính, y tế, địa chất và vật lý. Thật vậy, bất cứ ở đâu có vấn đề về dự báo, phân loại và điều khiển, mạng nơron đều có thể ứng dụng đƣợc. Ví dụ, nhƣ phân cụm dữ liệu quản lý học sinh, sinh viên trong các trƣờng trung học, đại học và cao đẳng… hay nhận dạng các ngành khoa học hình sự, tội phạm; khoa học tƣớng số, tử vi…
Dƣới đây liệt kê ra một số ứng dụng chính của mạng nơron:
Aerospace: Phi công tự động, giả lập đƣờng bay, các hệ thống điều khiển lái máy bay, bộ phát hiện lỗi.
Automotive: Các hệ thống dẫn đƣờng tự động cho ô tô, các bộ phân tích hoạt động của xe.
Banking: Bộ đọc sec và các tài liệu, tính tiền của thẻ tín dụng.
Defese: Định vị, phát hiện vũ khí, dò mục tiêu, phát hiện đối tƣợng, nhận dạng nét mặt, các bộ cảm biến thế hệ mới, xử lý ảnh radar…
Electronics: Dự đoán mã tuần tự, sơ đồ chip IC, điều khiển tiến trình, phân tích nguyên nhân hỏng chip, nhận dạng tiếng nói, mô hình phi tuyến.
Entertainment: Hoạt hình, các hiệu ứng đặc biệt, dự báo thị trƣờng.
Financial: Định giá bất động sản, cho vay, kiểm tra tài sản cầm cố, đánh giá mức độ hợp tác, phân tích đƣờng tín dụng, chƣơng trình thƣơng mại qua giấy tờ, phân tích tài chính liên doanh, dự báo tỷ giá tiền tệ.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
3.1.8. Kết luận
Đầu vào của một nơron gồm ngƣỡng b và tổng các trọng số vào. Đầu ra của nơron phụ thuộc vào đầu vào và hàm truyền nơron đơn rất ít sử dụng. Tuy nhiên một vài nơron có thể kết hợp thành một lớp hay nhiều lớp thì khả năng xử lý cao hơn. Vấn đề đơn giản có thể trình bày bằng một lớp đơn. Tuy nhiên, nó không giải quyết đƣợc nhiều vấn đề phức tạp. Mạng đa lớp có khả năng giải quyết lớn hơn.
Cấu trúc một mạng có thể mô tả bằng số lớp, số nơron trong một lớp, hàm truyền của mỗi lớp và kết nỗi giữa các lớp. Tùy thuộc vấn đề mạng cần giải quyết mà có cấu trúc khác nhau.
Nếu một ánh xạ tuyến tính cần mô tả nên sử dụng nơron tuyến tính. Tuy nhiên, mạng tuyến tính không thể thực hiện bất cứ tính toán phi tuyến nào. Sử dụng hàm truyền phi tuyến để tạo cho mạng có khả năng thực hiện mối quan hệ phi tuyến giữa đầu vào và đầu ra. Mạng có ngƣỡng b có thể mô tả mối quan hệ giữa đầu vào vầ đầu ra dễ dàng hơn mạng không có ngƣỡng b. Ví dụ, một nơron không có ngƣỡng sẽ luôn tạo ra đầu vào zero cho hàm truyền (khi tất cả các đầu vào nơron là zero). Tuy nhiên, một nơron với ngƣỡng có thể học để tạo ra một đầu nhập cho bất kỳ hàm truyền.
3.2. Mạng Nơron nhân tạo Kohonen (SOM- Self Organized Maps)
Giáo sƣ, Tiến sỹ Teuvo Kohonen sinh ngày 11/7/1934, là giáo sƣ danh dự của Viện hàn lâm Phần Lan. Giáo sƣ Kohonen đƣợc biết đến nhiều trong các lĩnh vực về mạng Nơron, bao gồm các thuật toán phép học lƣợng tử vector, các lý thuyết cơ bản về phân bố và ánh xạ tối ƣu…Ông đã xuất bản một số sách và viết khoảng 200 bài báo. Đóng góp nổi tiếng nhất của ông là SOM (Self Organized Maps) hay còn gọi là bản đồ tự tổ chức hay là bản đồ Kohonen.
Trong các kiểu khác nhau của mạng nơron, mạng nơron Kohonen giống với mạng nơron sinh học hơn cả về cấu tạo lẫn cơ chế học, nó mô hình hóa cách hoạt động bộ não của con ngƣời, mặc dù nó khá đơn giản.
Cách xử lý thông tin các mạng nơron khác thƣờng chỉ quan tâm đến giá trị và dấu hiệu của thông tin đầu vào, chƣa quan tâm khai thác các mối liên hệ có tính chất
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
cấu trúc trong lân cận của các vùng dữ liệu mẫu, hay toàn thể không gian. Nhƣng trong mạng nơron Kohonen đã quan tâm đến các yếu tố này.
Mạng Kohonen thƣờng dùng để tham chiếu đến một trong ba mạng sau: Vector Quantization – VQ, Bản đồ tự tổ chức – SOM, Lering Vector Quantization – LVQ.
Trong bài báo cáo này, em xin đƣợc trình bày tổng quan về mạng SOM.
3.2.1. Tổng quan về SOM
SOM là một mô hình mạng nơron có khả năng ánh xạ dữ liệu đầu vào (có số chiều lớn) lên một mảng có số chiều thấp hơn, thông thƣờng là hai chiều. Đây là một phép chiếu phi tuyến tính đem lại một “bản đồ đặc trƣng” hai chiều có thể đƣợc sử dụng trong việc phát hiện và phân tích những đặc trƣng trong không gian đầu vào.
Hình 3.10: Mô hình Mạng Nơron Kohonen
Giải thuật SOM ban đầu đƣợc phát triển cho mục đích phân loại tiếng nói, tuy nhiên SOM còn có thể áp dụng đƣợc nhiều trong lĩnh vực khác nhƣ điều khiển tự động , hóa – sinh trắc học, phân tích tài chính và xử lý ngôn ngữ tự nhiên.
Tự tổ chức trong mạng nơron là một trong những chủ đề cuốn hút trong mạng nơron. Một mạng nơron nhƣ vậy có thể đƣợc luyện để tìm ra các quy luật và các tƣơng quan, các giá trị nhập vào và dự đoán các kết quả tiếp theo. Các nơron của mạng thông qua quá trình luyện cạnh tranh để nhận ra một nhóm các đối tƣợng đầu vào tƣơng đƣơng nhau. Mục đích chính của việc luyện trong mạng nơron Kohonen là gom cụm các vector đầu vào cùng loại.
Các thuộc tính cơ bản nhằm phân biệt SOM với các mạng nơron khác là nó sử dụng ký số thay cho ký tự không tham số, và học không giám sát. Phƣơng pháp dùng
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
số tự nhiên cho phép SOM xem xét, xử lý dữ liệu số tự nhiên thống kê đƣợc và nhằm để biểu diễn các mối quan hệ đã đƣợc chọn lọc. Bởi do SOM không yêu cầu học có giám sát và là một dạng không tham số cho nên nó có thể tìm ra những cấu trúc không hề mong muốn từ dữ liệu đã cho.
3.2.2. Mô hình SOM
SOM là một mạng Nơron nhân tạo đƣợc huấn luyện (trained) sử dụng kỹ thuật “Không giám sát” để biểu diễn dữ liệu với số chiều thƣờng là 2. Kết quả của SOM gọi là bản đồ (Map). SOM cũng là một nơron nhân tạo, tuy nhiên SOM khác với các ANN là không sử dụng các lớp ẩn (hidden layers) chỉ sử dụng Input và Output layer. SOM sử dụng khái niệm láng giềng (neighborhood) để giữ lại đặc trƣng của các dữ liệu đầu vào trên bản đồ (có nghĩa là các mẫu huấn luyện tƣơng tự nhau thì đƣợc đặt gần nhau trên bản đồ). Ƣu điểm chính của SOM là biểu diễn trực quan dữ liệu nhiều chiều vào không gian ít chiều hơn và đặc trƣng của dữ liệu đầu vào đƣợc giữ lại trên bản đồ.
Mạng kohonen hai chiều gồm có 2 lớp: Lớp vào và Lớp ra Kohonen
- Lớp vào (Input layer): dùng để đƣa dữ liệu huấn luyện vào mạng Kohonen. Kích thƣớc của lớp vào tƣơng ứng với kích thƣớc của mỗi mẫu học.
- Trong mạng Kohonen hai chiều, các nơron của Lớp ra đƣợc sắp xếp trên một mảng 2 chiều. Mảng này đƣợc gọi là lớp ra Kohonen.
- Tất cả các nơron của lớp vào đều đƣợc nối với các nơron trên lớp ra. Mỗi liên kết giữa lớp vào và lớp ra của mạng Kohonen tƣơng ứng với một trọng số. Kích thƣớc của mỗi véc tơ trọng số bằng kích thƣớc của lớp vào.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Hình 3.11: Mô hình Mạng Nơron Kohonen thông thƣờng 3.2.3. Thuật toán của mạng SOM
Xét một tập dữ liệu là các vectơ trong không gian n chiều: V = [V1,V2 ,…, Vn]
Khởi tạo tham số thời gian t: t=0.
Bƣớc 1: Khởi tạo véc tơ trọng số Wij cho mỗi nơron i trong mạng Kohonen. Trƣớc khi huấn luyện các giá trị ban đầu đƣợc đƣa ra là các vectơ trọng số. SOM là không phụ thuộc nhiều đối với dữ liệu ban đầu (dữ liệu có thể bị thiếu), nhƣng thuật toán SOM vẫn hội tụ nhanh. Dùng một trong ba thủ tục khởi tạo điển hình sau :
- Khởi tạo ngẫu nhiên, vectơ trọng số ban đầu đƣợc gán giá trị là các giá trị ngẫu nhiên đủ nhỏ.
- Khởi tạo ví dụ, vectơ trọng số ban đầu đƣợc gắn với các ví dụ ngẫu nhiên rút ra từ tập dữ liệu.
- Khởi tạo tuyến tính, vectơ trọng số ban đầu đƣợc gắn trong một không gian con tuyến tính bởi hai vectơ của tập dữ liệu ban đầu.
Bƣớc 2: Lấy một mẫu huấn luyện x từ tập huấn luyện.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Hình 3.12: Phần tử nơron chiến thắng BMU
- Duyệt tất cả các nút và tính khoảng cách Euclide giữa vector trọng số của mỗi nút và vector nhập hiện hành.
Công thức để tính khoảng cách Euclide đƣợc cho nhƣ sau:
(3.10)
V: vector hiện hành.
W: vector trọng số của phần tử đƣợc chọn.
- Nút có vector trọng số gần nhất với giá trị của vector nhập sẽ đƣợc chọn là BMU.
Bƣớc 4: Xây dựng các phần tử lân cận.
Các nơron lân cận tuỳ thuộc vào bán kính, đƣợc sắp xếp trong lƣới theo hình chữ nhật hoặc hình lục giác. Số các lân cận xác định trọng tâm của ma trận kết quả, có ảnh hƣởng đến độ chính xác và khả năng sinh ma trận của SOM.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Hình 3.13: Các vùng lân cận
- Đặc tính duy nhất của thuật toán Kohonen là vùng lân cận của BMU đƣợc xây dựng trên vector khoảng cách sẽ đƣợc co lại sau một số lần lặp nhất định. Điều này đƣợc thực hiện bằng cách co lại bán kính của vùng lân cận theo số lần lặp.
- Phép co sẽ đƣợc thực hiện theo hàm mũ nội suy sau:
(3.11)
σ: bán kính lân cận của BMU tại thời điểm t. σ 0 : bán kính lân cận của BMU tại thời điểm t0. λ: hằng số thời gian.
t: là bƣớc lặp hiện tại.
- Giá trị của hằng số λ phụ thuộc vào σ và số lần lặp để chạy giải thuật, đƣợc tính theo công thức:
λ = N/log (σ0) (3.12) N: số lần lặp để chạy giải thuật (số lần học).
σ, λ sẽ đƣợc dùng để tính bán kính lân cận trong mỗi lần lặp của giải thuật.
- Khi bán kính lân cận đã đƣợc xác định, việc xác định các phần tử lân cận của BMU sẽ đƣợc thực hiện đơn giản bằng cách duyệt tất cả các phần tử trong mạng để