Kết luận AN N s là hệ thống máy tính tiềm năng bao gồm nhiều đơn vị xử lý đơn giản, được kết nối với nhau để thực hiện các tác vụ tương tự như bộ não sinh học: chúng là hoàn toàn song so[r]
(1)Bài giảng MẠNG NƠ-RON NHÂN TẠO VÀ ỨNG DỤNG - o0o Người biên soạn: TS Võ Viết Minh Nhật Đơn vị công tác: Khoa Du lịch – Đại học Huế MỤC TIÊU Sau hoàn thành học phần “Mạng nơ-ron nhân tạo và ứng dụng”, học viên có thể: • Mô tả các mối quan hệ não thật và các mô hình đơn giản mạng nơ-ron nhân tạo • Giải thích và nêu bật các kiến trúc phổ biến và các giải thuật học Perceptron lớp, Perceptron đa lớp, mạng xuyên tâm sở RBF (Radial-Basis Function), mạng tự tổ chức SOM và nhớ kết hợp (mạng hồi qui Hopfield) • Chỉ yếu tố chính liên quan đến việc học tốt và khái quát hóa hiệu các hệ thống mạng nơ-ron nhân tạo • Xác định vấn đề chính cài đặt các hệ thống mạng nơ-ron nhân tạo thông dụng • Đánh giá việc ứng dụng mạng nơ-ron nhân tạo giải các vấn đề phân loại và tối ưu (2) Mạng nơ-ron nhân tạo và ứng dụng MỤC LỤC Bài - Giới thiệu mạng nơ-ron nhân tạo và lịch sử phát triển 1.1 1.2 1.3 1.4 1.5 1.6 1.7 Mạng nơ-ron nhân tạo là gì? .5 Tại nghiên cứu ANNs? Khả học ANNs Lịch sử phát triển ANNs So sánh ANNs với trí tuệ nhân tạo cổ điển .7 Một số ứng dụng ANNs .7 Kết luận .7 Bài - Nơ-ron sinh học và nơ-ron nhân tạo 2.1 2.2 2.3 2.4 2.5 Tổ chức não và hệ thần kinh So sánh não với máy tính song song Nơ-ron sinh học Nơ-ron nhân tạo McCulloch-Pitts .9 Kết luận 10 Bài - Mạng Perceptron lớp 11 3.1 3.2 3.3 3.4 3.5 3.6 3.7 Mạng Perceptron .11 Cài đặt cổng logic với mạng Perceptron 11 Xác định trọng số phương pháp phân tích .12 Hình thái ANNs 13 Xác định ngưỡng nơ-ron 13 Thủ tục chung xây dựng ANNs 14 Kết luận 15 Bài - Khả học và khái quát Perceptron lớp 16 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 Đường định .16 Siêu phẳng định và phân loại tuyến tính 17 Học và khái quát .17 Huấn luyện mạng cập nhật trọng số liên tục .18 Giải thuật thay đổi trọng số .19 Sự hội tụ luật học Perceptron .20 Cài đặt mạng Perceptron lớp trên MATLAB 20 Kết luận 20 Bài - Luật học Hebbian và luật học giảm gradient 21 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 Luật học Hebbian 21 Học cách tối thiểu hóa hàm lỗi .21 Tính toán gradients và đạo hàm 22 Luật học giảm gradient .22 Luật học Delta 24 So sánh luật học Delta và luật học Perceptron 25 Cài đặt mạng ADALINE trên MATLAB 25 Kết luận 25 Bài - Luật học Delta mở rộng 26 6.1 Huấn luyện mạng truyền thẳng lớp 26 6.2 Luật học Delta mở rộng 26 6.3 Các vấn đề huấn luyện ANNs 27 TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế (3) Mạng nơ-ron nhân tạo và ứng dụng 6.3.1 Tiền xử lý liệu huấn luyện 27 6.3.2 Chọn trọng số ban đầu 28 6.3.3 Chọn tốc độ học 28 6.3.4 Huấn luyện trực tuyến (on-line) hay theo lô (batch) 28 6.3.5 Chọn hàm chuyển 29 6.3.6 Tránh các điểm phẳng (Flat Spots) hàm lỗi 29 6.3.7 Tránh tối thiểu cục .30 6.3.8 Khi nào thì ngưng huấn luyện? .30 6.4 Kết luận 30 Bài - Học lan truyền ngược mạng Perceptrons nhiều lớp 31 7.1 Giới thiệu ANNs nhiều lớp .31 7.2 Perceptron nhiều lớp (MLPs) 32 7.3 Khả học Perceptron nhiều lớp 32 7.4 Giải thuật lan truyền ngược (Back-Propagation) 33 7.5 Mạng với nhiều lớp Nn 33 7.6 Hàm lỗi Cross Entropy 34 7.7 Huấn luyện mạng truyền thẳng nhiều lớp .34 7.8 Cài đặt giải thuật học lan truyền ngược 35 7.8.1 Bao nhiêu nơ-ron ẩn là thích hợp? 35 7.8.2 Tốc độ học khác cho các lớp khác 35 7.9 Cài đặt mạng Perceptron nhiều lớp trên MATLAB 36 7.10 Kết luận .36 Bài - Mạng xuyên tâm sở RBF 37 8.1 Giới thiệu mạng RBF 37 8.2 Phân cụm (Clustering) 37 8.3 Giải bài toán XOR với mạng RBF 38 8.4 Giải thuật k-means và adaptive k-means 40 8.4.1 Giải thuật k-means 40 8.4.2 Giải thuật adaptive k-means .40 8.4.3 Xác định bán kính Gaussians 40 8.4.4 Ứng dụng giải thuật k-means vào giải bài toán XOR .40 8.5 Ưu và nhược điểm mạng RBF 41 8.6 Cài đặt mạng RBF với N N Toolbox 41 8.7 Kết luận 41 Bài - Bộ nhớ kết hợp 42 9.1 Các khái niệm 42 9.2 Associator tuyến tính 42 9.3 Hopfield Model .43 9.3.1 Mô hình Hopfield rời rạc 44 9.3.2 Mô hình Hopfield lieu tục 45 9.3.3 Cài đặt mạng Hopfield với NNToolbox 45 9.4 Bộ nhớ kết hợp hai chiều 45 9.4.1 BAM rời rạc 46 9.4.2 BAM liên tục .47 9.5 Kết luận 47 Bài 10 - Mạng tự tổ chức .48 10.1 10.2 10.3 Mạng tự tổ chức là gì? 48 Topographic Maps 48 Xây dựng mạng tự tổ chức 48 TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế (4) Mạng nơ-ron nhân tạo và ứng dụng 10.3.1 Mạng Kohonen 49 10.4 Tiến trình tự tổ chức trên mạng SOM 49 10.4.1 Tiến trình cạnh tranh 49 10.4.2 Tiến trình hợp tác 50 10.4.3 Tiến trình thích nghi 50 10.4.4 Sắp xếp trật tự và hội tụ 50 10.4.5 Ví dụ tiến trình tự tổ chức 51 10.5 Khái quát giải thuật SOM 51 10.6 Cài đặt mạng SOM với N N Toolbox .52 10.7 Kết luận .52 Tài liệu tham khảo 53 Phụ lục 1: Một số khái niệm véc-tơ, ma trận, hàm 54 Phụ lục 2: Cài đặt mạng Perceptron lớp với NNToolbox 55 Phụ lục 3: Cài đặt mạng ADALINE với NNToolbox 58 Phụ lục 4: Cài đặt mạng lan truyền ngược với NNToolbox 60 Phụ lục 5: Cài đặt mạng RBF với NNToolbox 63 Phụ lục 6: Cài đặt mạng SOM với NNToolbox 67 Phụ lục 7: Cài đặt mạng Hopfield với NNToolbox 83 TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế (5) Mạng nơ-ron nhân tạo và ứng dụng Bài - Giới thiệu mạng nơ-ron nhân tạo và lịch sử phát triển MỤC TIÊU Sau hoàn thành bài học này, học viên có thể • N ắm các kiến thức nơ-ron và mạng nơ-ron sinh học • Hiểu cần xây dựng và tìm hiểu các mô hình nơ-ron và mạng nhân tạo • Phân biệt các điểm khác mạng nơ-ron nhân tạo và trí tuệ nhân tạo cổ điển 1.1 Mạng nơ-ron nhân tạo là gì? Mạng nơ-ron (N eural N etworks - N N s) là mạng bao gồm các nơ-ron kết nối với tìm thấy các não sinh học Thành phần để cấu tạo nên mạng nơ-ron là các nơ-ron và cách mà chúng kết nối với Do vậy, để mô hình hóa hình thái và tìm hiểu phương thức hoạt động mạng nơ-ron, chúng ta các nơ-ron nhân tạo N ơ-ron nhân tạo là mô thô các nơ-ron sinh học não Chúng có thể là các thiết bị vật lý hay là các mô hình toán học Theo đó, mạng nơ-ron nhân tạo (Artificial N eural N etworks - AN N s) là mạng các nơ-ron nhân tạo kết nối với và xem là mô thô phần não sinh học Chúng có thể là hệ thống các thiết bị vật lý các mô trên máy tính Từ quan điểm trên, AN N s là hệ thống máy tính song song bao gồm nhiều đơn vị xử lý đơn giản, kết nối với theo cấu trúc nào đó để thực nhiệm vụ cụ thể Mặt dù đơn giản hóa mặt mô AN N s không các tính chất đặc trưng não thật 1.2 Tại nghiên cứu ANNs? Về nguyên, AN N s xây dựng dựa trên cảm hứng từ các mạng nơ-ron sinh học Với khả thực tế não sinh học, AN N s hứa hẹn là hệ thống máy tính có tiềm lớn tương lai Ưu điểm lớn AN N s là tính hoàn hoàn song song, cái đã làm cho AN N s trở nên hiệu Thêm vào đó, AN N s có thể học từ liệu huấn luyện và khái quát tình mới, nên nó không yêu cầu nhiều kỹ lập trình AN N s còn đặc biệt chịu lỗi, đây là khả thường tìm thấy các hệ thống sinh học; và chịu nhiễu, vì chúng có thể đối phó với tình mà các hệ thống symbolic thông thường gặp khó khăn N ói tóm lại, nguyên tắc, AN N s có thể làm điều gì hệ thống symbolic/logic có thể làm và thực tế nó còn có thể làm nhiều Giống các lĩnh vực trí tuệ nhân tạo nói chung, hai mục tiêu việc nghiên cứu AN N s là: • Mô hình hóa não: Mục đích khoa học việc xây dựng các mô hình AN N s là tìm hiểu thực tế não làm việc nào Điều này có thể giúp chúng ta hiểu chất thông minh người, xây dựng các chiến lược dạy tốt, là các hoạt động chữa trị hiệu cho các bệnh nhân bị thương tổn não • Xây dựng hệ thống nhân tạo: Mục đích kỹ thuật việc xây dựng các hệ thống AN N s là nhằm đem lại hiệu tốt các ứng dụng thực tế Điều này có thể làm cho máy móc hoạt động tốt hơn, thay người công việc nhàm chán và chí có thể cải thiện hiệu suất công việc Ở đây chúng ta không đề cập tính cạnh tranh hai mục tiêu trên Thường chúng ta sử TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế (6) Mạng nơ-ron nhân tạo và ứng dụng dụng AN N s cùng lúc cho hai mục tiêu và việc phát triển theo hai hướng cho phép chúng bổ sung (cung cấp liệu) cho Tuy nhiên, khác biệt là cần có tính tin cậy mặt sinh học việc mô hình hóa não và đồng thời cần có tính hiệu mặt tính toán việc xây dựng hệ thống nhân tạo 1.3 Khả học ANNs Có nhiều mô hình AN N s đề nghị và hầu hết chúng hoạt động thông qua việc kích hoạt các nơ-ron trên toàn mạng Một tính mạnh AN N s là khả học từ tập liệu huấn luyện và khái quát hóa tình Phương thức hoạt động chúng là thay đổi trọng số các kết nối các nơ-ron cho kết cuối cùng là chính xác Có ba loại học tập xem xét mạng AN N s: • Học có giám sát (supervised learning), tức là học có giáo viên • Học dựa trên thông tin phản hồi (reinforcement learning) • Học không giám sát (unsupervised learning), tức là học mà không có giúp đỡ Trong học phần này, chúng ta xem xét qua các loại học tập khác nhau, tương ứng với các mô hình mạng AN N s cụ thể mô tả hình vẽ 1-1 Hình 1-1: Phân loại các mô hình ANNs 1.4 Lịch sử phát triển ANNs Sự phát triển AN N s năm 1943, McCulloch và Pitts đề nghị mô hình nơron đầu tiên có tên gọi là nơ-ron McCulloch-Pitts Đến năm1949 Hebb xuất sách “Cấu trúc tổ chức hành vi”, đó các luật học Hebbian đề xuất N ăm 1958 Rosenblatt giới thiệu AN N s lớp đơn giản, mà gọi là mạng Perceptron Tuy nhiên, năm 1969, sách mình, Minsky và Papert mặt hạn chế mạng Perceptron lớp và từ đó lĩnh vực AN N gần không phát triển gì thêm đáng kể N ăm 1982 Hopfield xuất loạt các bài viết mạng Hopfield Đến năm 1982 Kohonen phát triển mạng tự tổ chức Kohonen và năm 1986 giải thuật học lan truyền ngược (Back-Propagation) mạng Perceptron đa lớp đề xuất và đã tạo hy vọng cho việc tiếp tục nghiên cứu AN N s N ăm 1990 các lĩnh vực mạng RBF (Radial Basis Function) phát triển Đến năm 2000 việc kết hợp AN N s và máy véc-tơ hỗ trợ (Support Vector Machines – SVM) đã chứng minh sức mạnh AN N TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế (7) Mạng nơ-ron nhân tạo và ứng dụng 1.5 So sánh ANNs với trí tuệ nhân tạo cổ điển AN N đời đã tạo bước đột phá so với trí tuệ nhân tạo cổ điển Sự khác biệt chúng có thể dựa trên: • Mức độ giải thích • Kiểu xử lý • Cấu trúc biểu diễn Điều này đã dẫn đến kiểu phân loại khác như: • Sub-symbolic so với Symbolic • N on-modular so với Modular • Biểu diễn phân tán so với biểu diễn tập trung • Bottom up so với Top Down • Xử lý song song so với Xử lý Tuy nhiên thực tế, phân biệt này ngày trở nên không rõ ràng 1.6 Một số ứng dụng ANNs N hư đã trình bày 1.3, việc nghiên cứu AN N s nhằm đến hai mục tiêu khác Do đó ứng dụng AN N s phân thành hướng bản: Mô hình hóa não: • Các mô hình phát triển người nhằm giúp các trẻ em có hạn chế vấn đề phát triển • Mô hành vi nhằm giúp chúng ta hiểu cách thức hoạt động não • Các mô hình giải phNu não nhằm đề xuất cách chữa trị cho các bệnh nhân bị tổn thương não Ứng dụng thực tế: • Mô hình hóa tài chính: dự đoán chứng khoán, cổ phiểu, tỷ giá đổi ngoại tệ • Dự đoán khác: dự đoán khí hậu, thời tiết, tiếp thị hàng không • Trò chơi máy tính : tác tử thông minh, backgammon, first person shooters • Kiểm soát hệ thống : robot độc lập tự thích nghi, vi điều khiển • N hận dạng mẫu : nhận dạng giọng nói, nhận dạng chữ viết tay, các tín hiệu sonar • Phân tích liệu : nén liệu, khai phá liệu, PCA, GTM • Giảm tiếng ồn : xấp xĩ hàm, giảm tiếng ồn ECG • Bioinformatics : Cấu trúc protein thứ cấp, dãy DN A 1.7 Kết luận AN N s là hệ thống máy tính tiềm bao gồm nhiều đơn vị xử lý đơn giản, kết nối với để thực các tác vụ tương tự não sinh học: chúng là hoàn toàn song song, điều này làm cho chúng hiệu hơn, mạnh mẽ, chịu lỗi và chịu nhiễu; chúng có thể học từ các liệu huấn luyện và khái quát hóa tình mới; và chúng là hữu ích việc mô hình hóa não và các ứng dụng thực tế liên quan đến nhận dạng mẫu, xấp xĩ hàm, dự đoán TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế (8) Mạng nơ-ron nhân tạo và ứng dụng Bài - Nơ-ron sinh học và nơ-ron nhân tạo MỤC TIÊU Sau hoàn thành bài học này, học viên có thể: • Hiểu cấu trúc nơ-ron sinh học đơn giản • Hiểu cấu trúc bên mô hình nơ-ron McCulloch-Pitts • N ắm lại số các khái niệm toán học véc-tơ và ma trận 2.1 Tổ chức não và hệ thần kinh Về mặt giải phNu, não người có hình dạng hình vẽ 2-1, đó vùng não đảm nhận số chức cụ thể Hình 2-1: Cấu trúc não người Tuy nhiên, chúng ta có thể phân chia hệ thần kinh người thành ba phần và biểu diễn theo sơ đồ khối hình vẽ 2-2, bao gồm: • Bộ nhận (receptors) thu thập các thông tin từ môi trường, ví dụ các photons trên võng mạc • Bộ thực (effectors) tạo các tương tác với môi trường, ví dụ kích hoạt bắp • Các luồng thông tin / kích hoạt thể mũi tên: truyền thẳng và phản hồi Hình 2-2: Sơ đồ khối hệ thần kinh người Thực tế, não người tổ chức theo thứ bậc các cấp xen lẫn nhau, bao gồm: • Molecules and Ions • Synapses • N euronal microcircuits • Dendritic trees • N eurons • Local circuits • Inter-regional circuits • Central nervous system Trong phạm vi học phần này, chúng ta quan tâm chủ yếu đến các nơ-ron (N eurons) và kết nối chúng (Local circuits) TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế (9) Mạng nơ-ron nhân tạo và ứng dụng 2.2 So sánh não với máy tính song song Dưới hình thức nào đó, não và máy tính song song (hay mạng lưới các đơn vị xử lý) là tương tự Sau đây là so sánh não và máy tính song song: Bộ não Máy tính song song • Vỏ não người có khoảng 10 tỷ nơ-ron • Máy tính song song mạnh có khoảng 10 ngàn đơn vị xử lý • Mỗi neuron sinh học kết nối với hàng • ngàn neurons khác Các đơn vị xử lý kết nối với máy tính song song • Tốc độ hoạt động các nơ-ron sinh học • đo mili giây (10-3s) Một đơn vị xử lý có thể hoạt động mức nano giây (10-9s) • Bộ não người là vô cùng hiệu • mặt tiêu thụ lượng, khoảng 10-16 joules/giây cho hoạt động Máy vi tính tốt sử dụng khoảng 10-6 joules/giây cho hoạt động • Bộ não đã phát triển qua hàng chục • triệu năm Máy tính phát triển hàng chục thập kỷ qua 2.3 Nơ-ron sinh học Một nơ-ron sinh học đơn giản có cấu tạo hình vẽ 2-3 Chức chung nơ-ron là mã hoá kích hoạt và cho kết dạng dãy các xung điện ngắn Hình 2-3: Cấu trúc nơ-ron đơn giản Cụ thể, vai trò phần là sau • Các thân tế bào nơ-ron (soma) xử lý các tín hiệu vào và chuyển đổi chúng thành các kích hoạt • Các hạch nơ-ron (nucleus) chứa các yếu tố di truyền dạng DN A Thực tế thành phần này tồn tế bào nào, không riêng nơ-ron • Dendrites là các dây nối bắt nguồn từ thân tế bào và cung cấp vùng receptive mà từ đó nhận kích hoạt đến từ các nơ-ron khác • Axons là các dây nối hoạt động các đường truyền gởi kích hoạt từ nơ-ron đến các nơ-ron khác • Các chổ nối mà đó cho phép truyền tín hiệu các axons và dendrites gọi là các khớp (synapses) Quá trình truyền thực khuếch tán hóa học qua các kẻ nứt khớp 2.4 Nơ-ron nhân tạo McCulloch-Pitts Trên sở cấu trúc chung nơ-ron sinh học, McCulloch-Pitts đã đề nghị mô hình nơTS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế (10) Mạng nơ-ron nhân tạo và ứng dụng ron nhân tạo đơn giản biết đến là đơn vị logic ngưỡng hình vẽ 2-4, bao gồm: • Một tập các kết nối (synapses) mang kích hoạt từ các nơ-ron khác đến (in) • Một đơn vị xử lý tính tổng tất các tín hiệu vào và sau đó áp dụng hàm kích hoạt không tuyến tính (hàm chuyển hay hàm ngưỡng) • Một đường truyền kết (out) đến các nơ-ron khác Hình 2-4: Mô hình nơ-ron McCulloch-Pitts Kết nơ-ron McCulloch-Pitts có thể biểu diễn là hàm n thành phần vào: đó θ là ngưỡng kích hoạt nơ-ron Chúng ta có thể dễ dàng thấy rằng: Lưu ý nơ-ron McCulloch-Pitts là mô hình đơn giản so với nơ-ron sinh học Do đó số đặc điểm đã bị đơn giản hóa như: giá trị vào/ra không phải là nhị phân, tổng vào là không tuyến tính, ngưỡng mịn, tính ngẫu nhiên (stochasticity) và xử lý thông tin có tính đến yếu tố thời gian Tuy thế, nơ-ron McCulloch-Pitts mạnh mặt tính toán N gười ta đã tập các nơ-ron McCulloch-Pitts có thể tính toán nhiều thứ 2.5 Kết luận N ơ-ron sinh học bao gồm thân tế bào, axons, dendrites và synapses, có khả xử lý và truyền kích hoạt nơ-ron Trên sở đó mô hình nơ-ron McCulloch-Pitts (đơn vị logic ngưỡng) là mô thô các nơ-ron thật, thực tính tổng đơn giản và áp dụng hàm ngưỡng lên các mức kích hoạt Việc sử dụng các khái niệm toán học thích hợp tạo điều kiện thiết kế và xây dựng các nơ-ron và AN N s hiệu TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 10 (11) Mạng nơ-ron nhân tạo và ứng dụng Bài - Mạng Perceptron lớp MỤC TIÊU Sau hoàn thành bài học này, học viên có thể: • Cài đặt các cổng logic với mạng Perceptron lớp • Biết hạn chế mạng Perceptron lớp với hàm kích hoạt “step-function” • Biết sử dụng phương pháp phân tích để xác định trọng số và ngưỡng thích hợp • N ắm bắt qui trình chung xây dựng AN N s để giải bài toán 3.1 Mạng Perceptron Thực tế, nơ-ron đơn thường không thể làm gì nhiều Để có thể cài đặt ứng dụng, nhiều nơ-ron kết nối với và đánh số (ví dụ, hình vẽ 3-1 là k, i và j) Luồng kích hoạt truyền chúng thực thông qua các khớp nối có trọng số tương ứng là wki, wij Hình 3-1: Kết nối nơ-ron McCulloch-Pitts Chúng ta có thể kết nối các nơ-ron McCulloch-Pitts lại với theo cách mà chúng ta muốn Mạng bao lớp vào (input) kết nối trực tiếp với lớp các nơ-ron McCulloch-Pitt hình vẽ 3-2 gọi là mạng Perceptron lớp Hình 3-2: Mạng Perceptron lớp Hình 3-2 phương trình Perceptron dùng để tính toán kết outj 3.2 Cài đặt cổng logic với mạng Perceptron Một ứng dụng đơn giản đầu tiên mà chúng ta có thể cài đặt là sử dụng mạng Perceptron để thiết lập các cổng logic Điều mà chúng ta cần là làm nào để xác định trọng số kết nối và ngưỡng nơ-ron thích hợp để kết sinh là đúng với tập liệu vào Để có thể hoàn thành cổng logic thế, chúng ta băt đầu với các công logic đơn giản N OT, AN D và OR, vì chúng ta có thể thiết kế chức logic nào từ cổng logic nêu trên Tuy nhiên, thực tế người ta thường không thiết kế AN N phức tạp TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 11 (12) Mạng nơ-ron nhân tạo và ứng dụng Perceptron lớp, mà người ta tìm cách xác định trọng số và ngưỡng trực tiếp từ kiến trúc Perceptron lớp nào đó khác Trong loại cổng logic nêu trên, chúng ta cần có các đầu vào ini và đầu out Điều mà chúng ta cần xác định là trọng số các kết nối và ngưỡng nơ-ron (hình vẽ 3-3) Cách dễ dàng để tìm lời giải là cách thử Hình 3-3: Mạng Perceptron lớp cho các cổng logic NOT, AND và OR N hư mô tả hình vẽ 3-3, cách thử các giá trị khác cho trọng số kết nối và ngưỡng nơ-ron, chúng ta có thể tìm mạng perceptron thích hợp cho cổng logic 3.3 Xác định trọng số phương pháp phân tích Thực tế đã chứng minh rằng, việc thiết kế AN N đơn giản là chuyện, vấn đề là làm nào để chứng tỏ AN N đó thực chức mục tiêu đã đề ra! N ếu dùng phương pháp thử trên, vấn đề là sau bao lâu thì chúng ta tìm lời giải? (ví dụ trường hợp cổng XOR hình vẽ 3-4) Vì chúng ta nên tìm phương pháp tính toán thích hợp khác để xác định các tham số, là việc thử Hình 3-4: Làm nào để tìm mạng perceptron phù hợp cho cổng XOR phương pháp thử? Chúng ta bắt đầu phương pháp tính toán với mô hình mạng Perceptron cho cổng AN D Theo mô hình này, chúng ta có trọng số w1, w2 và ngưỡng θ Đối với mẫu huấn luyện, chúng ta cần thỏa mãn: out = sgn( w1in1 + w2in2 - θ) Việc huấn luyện liệu dẫn đến bất phương trình sau: Có thể dễ dàng nhìn thấy có vô hạn lời giải Tương tự, có vô hạn lời giải cho mạng OR và mạng N OT Trở lại trường hợp mạng Perceptron cho cổng logic XOR, với phương pháp tính toán trên, chúng ta có bất phương trình sau TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 12 (13) Mạng nơ-ron nhân tạo và ứng dụng Rõ ràng bất phương trình và không thỏa mãn bất phương trình và không thể tìm lời giải N ói cách khác, chúng ta cần loại mạng phức tạp hơn, chẳng hạn tổ hợp từ nhiều mạng đơn, sử dụng hàm ngưỡng/kích hoạt /chuyển khác Trong trường hợp này khó khăn xác định trọng số và ngưỡng phương pháp thử 3.4 Hình thái ANNs Về mặt toán học, AN N s có thể biểu diễn là đồ thị có hướng có trọng số Có hình thái AN N s phổ biến: • AN N s truyền thẳng lớp: bao gồm lớp vào và lớp (các đơn vị xử lý) Không có kết nối truyền ngược (Ví dụ, Perceptron lớp.) • AN N s truyền thẳng nhiều lớp: bao gồm lớp vào, lớp và hay nhiều lớp Nn Không có kết nối truyền ngược Lớp Nn nằm lớp vào và lớp ra, vì nó gọi là Nn so với giới bên ngoài (Ví dụ, Perceptron nhiều lớp.) • AN N s hồi qui: Đó là loại mạng có kết nối truyền ngược từ các đơn vị xử lý lớp đến các đơn vị xử lý lớp trước đó Loại mạng này có thể có không có lớp Nn (Ví dụ, Mạng hồi qui đơn) Hình vẽ 3-5 mô tả các ví dụ hình thái các loại AN N s N goài ra, còn có nhiều biến thể khác loại mạng trên Hình 3-5: Hình thái các loại ANNs 3.5 Xác định ngưỡng nơ-ron Đễ nơ-ron có thể kích hoạt, “tổng” các liệu (input) vào phải vượt qua giá trị giới hạn gọi là ngưỡng kích hoạt Việc tính toán các liệu vào này có thể thực cách sử dụng các loại hàm kích hoạt (hàm chuyển) sau: • Hàm Sigmoid: hàm trơn (vi phân) và tăng đơn điệu TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 13 (14) Mạng nơ-ron nhân tạo và ứng dụng • Hàm Piecewise-Linear: tương đương với hàm sigmoid Đối với giá trị ngưỡng kích hoạt, chúng ta có thể xem nó là loại trọng số đặc biệt Xuất phát từ phương trình tính tổng các liệu vào chúng ta gán w0j = -θj và out0 = thì phương trình trên trở thành Phương trình Perceptron đó đơn giản hoá thành N ói cách khác, chúng ta cần thêm đầu vào với giá trị kích hoạt out0 = và sau đó chúng ta cần tính "trọng số" và không có giá trị ngưỡng 3.6 Thủ tục chung xây dựng ANNs Một ứng dụng điển hình AN N s là phân loại Chúng ta hãy xem xét ví dụ đơn giản phân loại máy bay dựa trên trọng tải (mass) và tốc độ (speed), với các thông tin mô tả hai loại máy bay này (tương ứng với trọng tải và tốc độ) bảng sau Câu hỏi đặt là làm nào chúng ta có thể xây dựng AN N s có thể phân loại loại máy bay ném bom (Bomber) và tiêm kích (Fighter)? Qui trình chung để xây dựng AN N với mục đích giải vấn đề (bài toán) cụ thể TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 14 (15) Mạng nơ-ron nhân tạo và ứng dụng nào đó là sau: Hiểu và xác định vấn đề (bài toán) theo nghĩa “dữ liệu vào” và “kết đích” Ví dụ, phân loại các kết theo các lớp mà thông thường biểu diễn dạng các véc-tơ nhị phân Xây dựng AN N đơn giản mà bạn nghĩ nó có thể giải vấn đề bạn, ví dụ Perceptron đơn Cố gắng tìm các trọng số thích hợp (bao gồm ngưỡng nơ-ron) cho mạng sinh kết đúng tương ứng với liệu vào (thuộc tập liệu huấn luyện) Hãy chắn mạng hoạt động tốt với liệu huấn luyện và thử nghiệm khả khái quát hóa nó với liệu kiểm tra N ếu mạng vận hành chưa tốt, trở lại bước và huấn luyện thêm N ếu mạng không vận hành tốt thì trở bước và thử với kiến trúc khác phức tạp N ếu mạng không vận hành tốt thì trở bước và thử đặt lại vấn đề cách khác N hư vậy, ví dụ phân loại máy bay nêu trên, đầu vào bao gồm hai đại lượng, trọng tải và tốc độ, và chúng ta cần đầu để phân loại: ‘fighter’ giá trị kích hoạt là và ‘bomber’ Mạng đơn giản mà chúng ta có thể thử nghiệm đây là mạng Perceptron lớp Chúng ta có thể tiếp tục đơn giản hóa mạng sử dụng việc thay ngưỡng trọng số đặc biệt đã trình bày mục 3.5 N ói cách khác AN N chúng ta có dạng hình vẽ 3-6: Hình 3-6: Mạng Perceptron sử dụng để phân loại máy bay N hư chúng ta đã hoàn thành bước và thủ tục xây dựng AN N s Trong các bài tiếp theo, chúng ta xem xét tiếp các bước còn lại, đầu tiên với mạng Perceptron lớp và sau đó là với các loại mạng phức tạp 3.7 Kết luận Mạng Perceptron là công cụ tính toán mạnh, có khả thực “bất kỳ” chức logic nào Tuy nhiên, mạng Perceptron lớp với hàm kích hoạt “step-function” đã giới hạn khả thực nó (ví dụ nó không thể thực bài toán XOR) N hững loại AN N s tốt có thể sử dụng và chúng ta có thể thay đổi kiến trúc và /hoặc hàm kích hoạt Việc tìm kiếm trọng số kết nối và ngưỡng thích hợp thông thường là quá khó để làm theo kiểu thử nghiệm, lỗi và thử lại, đó nên thực dựa trên phân tích TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 15 (16) Mạng nơ-ron nhân tạo và ứng dụng Bài - Khả học và khái quát Perceptron lớp MỤC TIÊU Sau hoàn thành bài học này, học viên có thể: • N ắm nguyên tắc phân loại cách học đường định từ các liệu huấn luyện • Hiểu mạng Perceptron lớp có thể giải các bài toán có thể phân chia tuyến tính • Hiểu mạng đã huấn luyện (học) thì nó có khả khái quát hóa, tức là nó có thể “giải quyết” các liệu vào chưa học trước đó 4.1 Đường định Làm nào để chúng ta biết Perceptron đơn giản là đủ mạnh để giải bài toán nào đó? Bởi thực tế là, nó không thể giải vấn đề XOR, chúng ta hy vọng nó có thể giải vấn đề phân loại máy bay hay vấn đề thực tế khác phức tạp hơn? Đối với vấn đề cổng logic đơn giản, chúng ta có thể nhìn thấy AN N s đã tạo đường định làm ranh giới các lớp N hư đã trình bày mục 3.1, kết mạng Perceptron lớp nơ-ron với đầu vào là: Hình 4-1: Mạng Perceptron cho cổng AND Rõ ràng đường định (giữa out = và out = 1) là w1in1 + w2in2 - θ = là đường thẳng: Đối với AN D và OR, chúng ta có thể dễ dàng vẽ đường định mà chúng ta đã xác định trước đó Cái mà chúng ta có thể thay đổi là trọng số và ngưỡng cho không làm thay đổi kết Hình 4-2: Đường định cho cổng AND và cổng OR Tuy nhiên, khó có thể giải vấn đề XOR theo cách trên Trong trường hợp này TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 16 (17) Mạng nơ-ron nhân tạo và ứng dụng chúng ta phải cần đến hai đường thẳng định có thể phân tách các lớp khác Hình 4-3: Cần phải có đường định cho cổng XOR N hư vậy, có thể có hai cách để khắc phục vấn đề XOR: là thay đổi hàm kích hoạt để có nhiều đường định, là sử dụng AN N phức tạp để có thể sinh đường định phức tạp 4.2 Siêu phẳng định và phân loại tuyến tính N hư đã mô tả 4.1, mạng Perceptron lớp nơ-ron có đầu vào thì các trọng số xác định đường định là đường thẳng không gian vào chiều Tương tự, chúng ta có n đầu vào, các trọng số xác định đường định là siêu phẳng không gian vào n chiều: w1in1 + w2in2 + + wninn - θ = Rõ ràng siêu phẳng này là tuyến tính (phẳng) và có thể chia không gian thành vùng Chúng ta cần các hàm kích hoạt phức tạp hay loại mạng phức tạp để giải vấn đề XOR Tóm lại, loại bài toán mà liệu vào có thể phân loại cách sử dụng siêu phẳng gọi là bài toán có thể phân loại tuyến tính N gược lại, loại bài toán không thể phân loại theo cách này (như XOR) gọi là bài toán không thể phân loại tuyến tính Cái mà chúng ta mong muốn là xử lý các liệu vào không là nhị phân, mà còn mong muốn AN N s sinh các đường định phức tạp hơn, ví dụ để phân loại dư liệu vào thành nhiều lớp (chẳng hạn là lớp) Hình 4-4: Đường định các bài toán phức tạp 4.3 Học và khái quát N goài khả “ghi nhớ” các liệu đã học, AN N s có thể tạo kết với liệu vào chưa biết đến trước đó Đó gọi là tính khái quát hóa N hư vậy, có hai phương diện quan trọng AN N s mà chúng ta cần xem xét: • Học (Learning): AN N s phải học đường định từ tập các mẫu huấn luyện cho nó có thể phân loại chính xác các mẫu huấn luyện này TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 17 (18) Mạng nơ-ron nhân tạo và ứng dụng • Khái quát (Generalization): Sau huấn luyện, AN N s phải có khả khái quát hoá, tức là phân loại chính xác các mẫu mà nó chưa thấy trước đó Thông thường chúng ta muốn AN N s học tốt và khái quát hoá tốt N hưng đôi khi, liệu huấn luyện có thể chứa lỗi (ví dụ, lỗi liệu huấn luyện phân loại không chính xác) Khi đó, học hoàn toàn từ liệu huấn luyện cho kết khái quát hóa tồi Một thỏa hiệp tốt học và khái quát hóa đó cần chú trọng Giả sử công việc AN N s xem xét là học để tìm đường định phân loại Mục tiêu chúng ta là khả khái quát hóa mạng để nó có thể phân loại các liệu vào cách thích hợp N ếu chúng ta biết liệu huấn luyện có chứa lỗi, chúng ta không huấn luyện phân loại hoàn toàn chính xác trên tập liệu này vì điều đó làm giảm khả khái quát hóa N hư mô tả hình vẽ 4-5, hình a mô tả trường hợp mạng huấn luyện quá chính xác với tập liệu huấn luyên nên không có khả tìm trường hợp lỗi phân bố; trường hợp b, AN N s có khả khái quát hóa trường hợp lỗi này Hình 4-5: Học và khái quát hóa Một cách tiếp cận khác là chúng ta muốn xác định đường cong (hàm) từ tập liệu mẫu có chứa lỗi hình vẽ Chúng ta có thể mong đợi kết AN N s có dạng gần giống với đường cong này Cách huấn luyện cho phép lỗi lớn trên liệu huấn luyện có thể dẫn đến việc khái quát hóa tốt Hình 4-6: Đường cong xấp xĩ 4.4 Huấn luyện mạng cập nhật trọng số liên tục Cho dù mạng chúng ta là Perceptron đơn giản hay mạng nhiều lớp phức tạp với hàm kích hoạt đặc biệt, chúng ta cần phát triển thủ tục có hệ thống để xác định trọng số kết nối phù hợp Thủ tục thông thường là mạng học các trọng số thích hợp từ tập liệu huấn luyện đặc trưng Tuy nhiên, việc tính toán trực tiếp các trọng số là không thể được, trường hợp đơn giản Thay vào đó, chúng ta thường bắt đầu với các trọng số ngẫu nhiên và điều chỉnh chúng bước nhỏ đạt kết yêu cầu TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 18 (19) Mạng nơ-ron nhân tạo và ứng dụng Xét trường hợp mạng Perceptron đơn giản sử dụng để thực phân loại Chúng ta đã thấy các đường định là các siêu phẳng và chúng ta có thể nghĩ học là quá trình di chuyển siêu phẳng các mẫu huấn luyện tách cách chính xác Bằng cách này hay cách khác, chúng ta cần chuyển đổi quá trình "di chuyển" thành giải thuật có hệ thống mà nó có thể dễ dàng cài đặt trên máy tính Sự "di chuyển" này có thể phân thành số bước nhỏ N ếu trọng số mạng thời điểm t là wij(t), sau đó việc di chuyển tương ứng với thay đổi Δwij(t), thời điểm t+1 chúng ta có trọng số wij(t+1) = wij(t) + Δwij(t) N hư đã trình bày trước đây, việc xử lý ngưỡng trọng số là thuận lợi hơn, đó chúng ta không cần tách riêng các phương trình Trở lại bài toán phân loại máy bay đã đề cập mục 3.6, đường thẳng định đó có dạng là w0 + w1.mass + w2.speed = Vấn đề là chúng ta cần di chuyển đường định này cho nó tách loại máy bay ném bom và tiêm kích, mô tả hình vẽ Hình 4-7: Đường thẳng định ví dụ phân loại máy bay 4.5 Giải thuật thay đổi trọng số Để thực việc di chuyển đường định, chúng ta sử dụng giải thuật thay đổi trọng số Giả sử kết đích đơn vị xử lý j là targj và kết thời là outj = sgn(Σini wij) đó ini là các kích hoạt các đơn vị xử lý lớp trước đó (ví dụ liệu vào mạng) Sau đây là giải thuật thay đổi trọng số: if outj = targj nothing (Note targj – outj = 0) so wij -> wij if outj = and targj = (Note targj – outj = –1) then Σini wij is too large first when ini = decrease wij so wij -> wij – η = wij – ηini and when ini = wij doesn’t matter so wij -> wij – = wij – ηini so wij -> wij – ηini if outj = and targj = Note targj – outj = then Σini wij is too small TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 19 (20) Mạng nơ-ron nhân tạo và ứng dụng first when ini = increase wij so wij -> wij + η = wij + ηini and when ini = wij doesn’t matter so wij -> wij + = wij + ηini so wij -> wij + ηini Rõ ràng trường hợp có thể viết đưới dạng: wij → wij + η(targj – outj) ini Δwij = η(targj – outj) ini Phương trình cập nhật trọng số này gọi là Luật học Perceptron Tham số dương η gọi là tốc độ học N ó xác định độ trơn chúng ta thay đổi đường định 4.6 Sự hội tụ luật học Perceptron Việc thay đổi trọng số Δwij cần thực lặp lặp lại trọng số wij và mẫu huấn luyện tập huấn luyện Thông thường, sau số vòng lặp, tất kết là trùng với kết đích tất các mẫu huấn luyện, Δwij lúc đó và quá trình huấn luyện dừng Chúng ta nói quá trình huấn luyện đã hội tụ (đến lời giải) Điều đó tồn tập các trọng số mạng Perceptron có thể giải bài toán cụ thể nào đó, thì chúng ta có thể nói luật học Perceptron có thể tìm thấy tập trọng số này sau số vòng lặp hữu hạn Có nghĩa là, bài toán là có thể tách tuyến tính, luật học Perceptron tìm thấy tập trọng số sau số vòng lặp hữu hạn cho nó có thể giải bài toán cách chính xác 4.7 Cài đặt mạng Perceptron lớp trên MATLAB (xem phụ lục 2) 4.8 Kết luận AN N s thực phân loại cách học đường định từ các liệu huấn luyện Tuy nhiên, mạng Perceptrons lớp có thể giải các bài toán có thể phân chia tuyến tính Việc huấn luyện mạng không với mục đích cung cấp khả ghi nhớ và còn kỳ vọng có khả khái quát hóa, tức là nó có thể giải các liệu vào chưa học trước đó Đê huấn luyện, người ta cập nhật trọng số cách lặp lặp Luật học Perceptron tìm thấy trọng số sau số vòng lặp hữu hạn các bài toán có thể phân chia tuyến tính TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 20 (21) Mạng nơ-ron nhân tạo và ứng dụng Bài - Luật học Hebbian và luật học giảm gradient MỤC TIÊU Sau hoàn thành bài học này, học viên có thể: • Biết nào là luật học Hebbian • Hiểu làm nào để việc học trọng số biểu diễn dạng tối thiểu hóa hàm lỗi • N ắm làm nào để tính các gradients/derivatives cho phép chúng ta tạo thuật toán tối thiểu hóa lỗi hiệu • Tính toán luật Delta từ thủ tục tối thiểu hóa cách giảm gradient mạng Perceptrons lớp 5.1 Luật học Hebbian N ăm 1949 nhà giải phNu nơ-ron Donald Hebb đã đưa giả thuyết làm nào các nơ-ron sinh học thực việc học: “When an axon of cell A is near enough to excite a cell B and repeatedly or persistently takes part in firing it, some growth process or metabolic change takes place on one or both cells such that A’s efficiency as one of the cells firing B, is increased.” N ói cách khác: N ếu hai neurons hai đầu kết nối (synapse) kích hoạt đồng thời (đồng bộ), thì độ mạnh kết nối tăng lên Luật này thông thường bổ sung thêm bởi: N ếu hai neurons hai đầu synapse kích hoạt không đồng thời, thì synapse bị yếu bị loại bỏ Tương tự phương trình đã sử dụng cho mạng Perceptrons, luật cập nhật trọng số (học) Hebbian viết là: Δwij = η.outj.ini (Đây là kiểu học tập diễn vùng não có tên gọi hippocampus.) N hớ lại luật cập nhật trọng số (học) Perceptron là: Δwij = η.(targj – outj).ini Rõ ràng có số điểm tương tự hai luật học trên, luật học Hebbian không học từ tập liệu huấn luyện Các biến thể luật học Hebbian cung cấp kỹ thuật học mạnh các mạng tương tự sinh học, chẳng hạn luật học tương phản Hebbian, chúng ta sử dụng cách tiếp cận khác để hình thành thuật toán học cho AN N s chúng ta 5.2 Học cách tối thiểu hóa hàm lỗi Luật học Perceptron là thuật toán điều chỉnh trọng số mạng wij để giảm khác biệt (lỗi) các kết thực tế outj và kết đích targj Chúng ta có thể định nghĩa hàm lỗi để định lượng khác biệt này: Rõ ràng đây là hàm tổng bình phương lỗi tất các đơn vị xử lý j và tất các mẫu huấn luyện p Mục đích việc học là để giảm thiểu lỗi cách điều chỉnh các trọng số wij Thông thường, chúng ta thực loạt các điều chỉnh nhỏ các trọng số wij -> wij + Δwij TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 21 (22) Mạng nơ-ron nhân tạo và ứng dụng lỗi E(wij) là "đủ nhỏ" Để thực điều này chúng ta phải biết hàm lỗi E(wij) thay đổi nào thay đổi trọng số wij, tức là biến đổi gradient E wij 5.3 Tính toán gradients và đạo hàm Một phương pháp toán học để tính gradients là differential Calculus Hãy xem xét hàm y = f(x) Hình 5-1: Đạo hàm hàm f(x) Gradient, hay tốc độ thay đổi, f(x) x thay đổi giá trị Δx nào đó có thể xem xét xấp xỉ với Δy/Δx, hay cách chính xác là có tên gọi là đạo hàm phần f(x) x Sau đây là số ví dụ đạo hàm đơn giản: 5.4 Luật học giảm gradient Giả sử chúng ta có hàm f(x) và chúng ta muốn thay đổi giá trị x để giảm thiểu f(x) Có ba trường hợp xem xét: • N ếu ∂f/∂x>0 thì f(x) tăng x tăng, vì chúng ta phải giảm x • N ếu ∂f/∂x<0 thì f(x) giảm x tăng, vì chúng ta phải tăng x • N ếu ∂f/∂x=0 thì f(x) là tối đa hay tối thiểu, vì chúng ta không cần thay đổi x N ói tóm lại, chúng ta có thể giảm f(x) cách thay đổi giá trị x: đó η là số dương nhỏ xác định là chúng ta thay đổi x bao nhiêu và đạo hàm ∂f/∂x nói cho chúng ta biết hướng thay đổi N ếu chúng ta sử dụng lặp lặp lại phương trình này (giả định η là đủ nhỏ), f(x) giảm đến cực tiểu và thủ tục này gọi là tối thiểu hóa cách giảm gradient Hãy nhớ chúng ta muốn huấn luyện AN N s cách điều chỉnh trọng số chúng wij nhằm để giảm hàm lỗi: TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 22 (23) Mạng nơ-ron nhân tạo và ứng dụng Điều này thực dãy các cập nhật trọng số để giảm gradient: N ếu hàm chuyển các nơ-ron là f(x) và các kích hoạt các nơ-ron lớp trước đó là ini, thì kết là outj = f(Σiniwij) và Để xử lý các phương trình này, chúng ta cần đến các luật biến đổi đạo hàm Việc tính toán các đạo hàm phức tạp có thể phân tích thành các đạo hàm phần Giả sử f(x) = g(x).h(x) Tương tự chúng ta có thể giả sử f(x) = g(h(x)) Bằng cách sử dụng các luật biến đổi đạo hàm, chúng ta có phương trình cập nhật trọng số đơn giản: TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 23 (24) Mạng nơ-ron nhân tạo và ứng dụng 5.5 Luật học Delta Chúng ta đã có giải thuật học cách giảm gradient cho mạng lớp: Chú ý nó bao gồm đạo hàm hàm chuyển f(x) Đây chính là vấn đề Perceptron lớp có sử dụng hàm bước sgn(x) là hàm ngưỡng nó, vì đạo hàm là luôn luôn ngoại trừ x=0 nên nó là vô hạn Hình 5-2: Đối với hàm dấu, đạo hàm luôn không May mắn là có mẹo mà chúng ta có thể vượt qua trở ngại trên: Giả chúng ta có hàm chuyển f(x) = x + 1/2, thì f(x)=1 x=1/2 và f(x)=0 x = -1/2 Rõ ràng giá trị này tuân theo qui luật hàm dấu sgn(x) và Perceptron hoạt động với hàm ngưỡng này N ói cách khác, chúng ta có thể sử dụng thuật toán học cách giảm gradient với f(x) = x + 1/2 để Perceptron có thể học các trọng số Trong trường hợp này, f’(x)=1 và đó phương trình cập nhật trọng số trở thành: Phương trình này có tên gọi là Luật học Delta vì nó phụ thuộc trên khác biệt δl = targl – outl Lưu ý: Chúng ta cần phải cNn thận sử dụng “mẹo” này Chúng ta sử dụng hàm output để học trọng số, chẳng hạn f(x) = x + 1/2, là hoàn toàn khác với việc tạo output nhị phân Perceptron, chẳng hạn f(x) = sgn(x) Điều này dễ bị nhầm lẫn Mô hình AN N s lớp sử dụng giải thuật học cách giảm gradient có tên gọi là ADALIN E (ADAptive LIN ear Element), đề nghị đầu tiên Widrow Bằng cách sử dụng luật học Delta, các bài toán lớp không thể phân chia cách tuyến tính trở nên có thể giải được, với luật học Perceptron thi không thể hội tụ Việc sử dụng giải thuật học cách giảm gradient đó nhằm để tối thiểu lỗi, thay vì tìm đường định phân loại lớp nêu trên TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 24 (25) Mạng nơ-ron nhân tạo và ứng dụng Hình 5-3: Mạng ADALINE 5.6 So sánh luật học Delta và luật học Perceptron Chúng ta thấy luật học Delta và luật học Perceptron Perceptron lớp có cùng phương trình cập nhật trọng số • • • Tuy nhiên, có khác biệt là: Các luật học Perceptron sử dụng hàm kích hoạt f(x) = sgn(x), luật Delta sử dụng hàm tuyến tính f(x) = x + 1/2 Hai thuật toán xuất phát từ quan điểm lý thuyết khác nhau: luật học Perceptron bắt nguồn từ việc xem xét làm nào để di chuyển siêu phẳng định, luật Delta xuất từ việc tối thiểu hóa lỗi (SSE) cách giảm gradient Luật học Perceptron hội tụ lỗi và trọng số không thay đổi sau số hữu hạn các bước thực vấn đề xem xét là tuyến tính, còn không thì nó bị dao động qua lại Trong đó luật Delta (với η đủ nhỏ) luôn luôn hội tụ tập trọng số mà lỗi là tối thiểu, mặc dù hội tụ đến giá trị chính xác x = ± 1/2 thông thường phụ thuộc vào tốc độ giảm η 5.7 Cài đặt mạng ADALINE trên MATLAB (xem phụ lục 3) 5.8 Kết luận Chúng ta đã bắt đầu với cái nhìn tổng quát luật học Hebbian Chúng ta sau đó đã thấy làm nào để việc học trọng số biểu diễn dạng tối thiểu hóa hàm lỗi Tiếp đến, chúng ta đã học làm nào để tính các gradients/derivatives cho phép chúng ta tạo thuật toán tối thiểu hóa lỗi hiệu Cuối cùng, chúng ta đã thấy thủ tục tối thiểu hóa cách giảm gradient sử dụng nào để dẫn đến luật Delta việc huấn luyện Perceptrons lớp và so sánh nó với luật học Perceptron TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 25 (26) Mạng nơ-ron nhân tạo và ứng dụng Bài - Luật học Delta mở rộng MỤC TIÊU Sau hoàn thành bài học này, học viên có thể: • Hiểu các bước huấn luyện AN N s lớp cách sử dụng các giải thuật giảm gradient • Biết cách sử dụng hàm kích hoạt sigmoid để dẫn đến luật Delta mở rộng cho việc huấn luyện mạng • Cài đặt luật hoc Delta và biết cách huấn luyện hiệu AN N s lớp cách sử dụng giải thuật giảm gradient 6.1 Huấn luyện mạng truyền thẳng lớp Chúng ta có thể tóm tắt các yếu tố xem xét luật học giảm gradient sau: • Mục đích việc học hay huấn luyện AN N s là tối thiểu hóa lỗi tập liệu huấn luyện nào đó cách điều chỉnh trọng số wij • Chúng ta định nghĩa hàm lỗi E(wij) để tính toán “khoảng cách” (sự khác biệt) từ mạng thời đến mạng mong muốn • Đạo hàm phần hàm lỗi ∂E(wij)/∂wij cho chúng ta biết hướng mà chúng ta cần di chuyển không gian trọng số để giảm lỗi • Tốc độ học η xác định độ lớn “bước di chuyển” mà chúng ta phải thực không gian trọng số vòng lặp phương trình cập nhật trọng số • Chúng ta thực việc cập nhật qua các bước lặp lặp lại lỗi là đủ nhỏ • N ếu chúng ta chọn hàm kích hoạt nơ-ron cho việc tính toán đạo hàm là đơn giản, thì việc tính toán cập nhật trọng số hiệu Bây chúng ta đã hiểu làm nào mà luật cập nhật trọng số cách giảm gradient có thể tối thiểu hóa lỗi AN N s Các bước để huấn luyện AN N s là sau: Chọn tập mẫu huấn luyện mà bạn muốn AN N s học {inip, outjp : i = … ninputs, j = … noutputs, p = … npatterns} Thiết lập mạng với ninputs đơn vị vào kết nối đầy đủ với noutputs đơn vị với trọng số tương ứng là wij Tạo ngẫu nhiên các trọng số ban đầu khoảng [-smwt, +smwt] Chọn hàm lỗi thích hợp E(wij) và tốc độ học η Áp dụng luật cập nhật trọng số Δwij = –η ∂E(wij)/∂wij trọng số wij cho mẫu p Tập hợp các cập nhật cho tất các trọng số tất các mẫu gọi là vòng huấn luyện Lặp lại bước hàm lỗi mạng là "đủ nhỏ" Tuy nhiên bước luôn là vấn đề khó khăn thực 6.2 Luật học Delta mở rộng Chúng ta lưu ý hàm sigmoid là hàm ngưỡng mịn (tức là có thể vi phân): TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 26 (27) Mạng nơ-ron nhân tạo và ứng dụng Để dễ dàng việc đạo hàm, chúng ta có thể sử dụng luật chuyển đổi việc đặt f (x) = g(h(x)) với g(h) = h-1 và h(x) = + e-x Do đó Cách biến đổi này làm cho các phương trình dễ dàng tính toán và tiết kiệm thời gian hơn! Chúng ta có thể tránh việc sử dụng mẹo đạo hàm các luật học dựa trên việc giảm gradient cách đảm bảo chúng ta sử dụng hàm kích hoạt có thể vi phân là hàm sigmoid Điều này giống hàm ngưỡng sử dụng não thật N ếu chúng ta sử dụng hàm kích hoạt sigmoid, mạng lớp cho kết đầu là và, các tích chất đạo hàm hàm sigmoid, phương trình cập nhật trọng số mở rộng đơn giản hoá cho nó chứa các kích hoạt nơ-ron và không có đạo hàm: Phương trình này gọi là luật học Delta mở rộng việc huấn luyện mạng sigmoid 6.3 Các vấn đề huấn luyện ANNs Từ trình bày trên, rõ ràng còn số vấn đề quan trọng việc huấn luyện AN N s lớp cần phải giải quyết: Chúng ta có cần tiền xử lý liệu huấn luyện? N ếu có, làm nào? Làm nào để chúng ta lựa chọn trọng số ban đầu mà từ đó chúng ta bắt đầu công việc huấn luyện? Làm nào để chúng ta chọn tốc độ học η thích hợp? Chúng ta nên thay đổi trọng số sau mẫu huấn luyện hay là sau toàn tập mẫu huấn luyện? Hàm kích hoạt /chuyển nào tốt nhất? Làm nào chúng ta có thể tránh các điểm phẳng (flat spots) hàm lỗi? Làm nào chúng ta có thể tránh tối thiểu cục hàm lỗi? Làm nào để chúng ta biết nào thì dừng việc huấn luyện? Chúng ta xem xét vấn đề 6.3.1 Tiền xử lý liệu huấn luyện Về nguyên tắc, chúng ta có thể sử dụng nguồn liệu vào - nào cho việc huấn luyện mạng Tuy nhiên, thực tế, để liệu này có thể giúp mạng học tốt, chúng ta cần thực số tiền xử lý trước sử dụng cho việc huấn luyện mạng Chúng ta cần đảm bảo liệu huấn luyện đóng vai trò đại diện, tức là nó không chứa quá nhiều mẫu loại này so với các loại khác Mặt khác, loại (lớp) là quá dễ TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 27 (28) Mạng nơ-ron nhân tạo và ứng dụng học, thì việc có số lượng quá lớn các mẫu thuộc loại này này từ tập liệu huấn luyện làm chậm quá trình học N ếu liệu huấn luyện là liên tục (tức không phải là nhị phân) cách tốt là chia khoảng các giá trị đầu vào Việc chia khoảng này nên thực cho giá trị trung bình các input là gần và đạo hàm (độ lệch) chuNn các input là phân biệt N ếu chúng ta sử dụng huấn luyện online thay vì là huấn luyện theo lô, chúng ta nên xáo thứ tự liệu huấn luyện sau vòng huấn luyện 6.3.2 Chọn trọng số ban đầu Giải thuật học cách giảm gradient thực cập nhật trọng số theo cùng cách, nên chúng ta khởi tạo các trọng số có cùng giá trị thì việc huấn luyện dừng nhanh và mạng không học gì Vì lý đó mà thông thường chúng ta khởi tạo các trọng số các giá trị ngẫu nhiên đủ nhỏ Thông thường, các giá trị khởi tạo lấy ngẫu nhiên xung quanh giá tri (trong khoảng [smwt, + smwt]), từ phân bố Gaussian xung quanh giá trị với độ lệch chuNn là smwt Việc chọn giá trị smwt có thể là khó khăn N hưng nói chung, bạn nên chọn đủ lớn để nó có thể sử dụng cho hàm sigmoids nào Chúng ta thường hy vọng hiệu cuối cùng mạng độc lập với việc chọn trọng số ban đầu, chúng ta cần phải kiểm tra điều này cách huấn luyện mạng từ số tập các trọng số khởi tạo ngẫu nhiên ban đầu khác Đối với các mạng có lớp Nn xem xét sau này, thứ tự nhãn các nơ-ron Nn là không quan trọng, nên chúng ta có thể mong đợi các tập trọng số cuối cùng khác có thể thu từ việc chọn các tập trọng số ban đầu khác 6.3.3 Chọn tốc độ học Việc chọn tốc độ học η phù hợp bị ràng buộc yếu tố trái ngược nhau: • N ếu η quá nhỏ, quá nhiều thời gian để hàm lỗi đạt đến giá trị tối thiểu • N ếu η quá lớn, việc cập nhật trọng số bị quá đà so với giá trị lỗi tối thiểu và trọng số bị dao động qua lại, chí lệch hướng Thật không may, giá trị tối ưu tốc độ học còn là vấn đề nan giải và phụ thuộc vào mạng xem xét Do đó, không thể có qui định chính xác Thông thường, người ta thử loạt các giá trị khác (ví dụ: η=1; 0.1; 0.01; 0.0001) và chọn giá trị phụ hợp Hơn nữa, không thiết giữ cố định giá trị này suốt quá trình học tập Một số công trình đã chứng minh thay đổi tốc độ học tốt là 6.3.4 Huấn luyện trực tuyến (on-line) hay theo lô (batch) Giải thuật học cách giảm gradient thực tính tổng tất các mẫu huấn luyện p N ếu chúng ta cập nhật thay đổi trọng số sau đã thử tất các mẫu này thì giải thuật gọi là huấn luyện theo lô (batch) Một cách cập nhật trọng số khác là thực sau mẫu thử và đó có tên gọi là huấn luyện trực tuyến (on-line) Huấn luyện trực tuyến không thực làm giảm gradient và trọng số thay đổi khá thất thường Do đó, tốc độ học η chọn thường nhỏ so với huấn luyện theo bô Tuy nhiên, vì trọng số lại npatterns lần cập nhật sau vòng huấn luyện, nên quá trình học thường nhanh Điều này thực tế đúng “tính dư thừa” tập liệu huấn luyện là TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 28 (29) Mạng nơ-ron nhân tạo và ứng dụng nhiều 6.3.5 Chọn hàm chuyển Chúng ta đã thấy việc có hàm chuyển/kích hoạt có thể vi phân là quan trọng cho giải thuật học cách giảm gradient Chúng ta thấy rằng, mặt hiệu tính toán, các hàm sigmoid chuNn (tức là hàm logic) là thay đặc biệt thuận tiện cho các hàm bước Perceptron lớp Các hàm logic có miền giá trị từ đến Tuy nhiên, các hàm chuyển đối xứng, tức thỏa mãn f(-x) = -f(x), lại cho phép thuật toán giảm gradient thực nhanh hơn, miền giá trị lại từ -1 đến Một lựa chọn thuận lợi hàm logic vì là hàm vì đạo hàm là đơn giản f(x) = tanh(x) f(–x) = –f(x) f ’(x) = 1– f(x)2 Khi kết yêu cầu không nhị phân, ví dụ số thực, việc chọn hàm chuyển sigmoid không còn giá trị Trong trường hợp này, để đơn giản, hàm chuyển f (x) = x là thích hợp Một tính mạnh các hệ thống phân loại dựa trên AN N s là kết không nhị phân có thể diễn dịch xác xuất các phân loại tương ứng Ví dụ, kết 0,9 nơ-ron tương ứng với lớp diễn dịch là 90% hội mà liệu là đại diện cho lớp đó Xét mặt toán học thì khá phức tạp, kinh nghiệm lớp tương ứng với giá trị kích hoạt và đầu ra, hàm kích hoạt cho phép chúng ta làm điều này không khác hàm Sigmoid N ếu chúng ta có nhiều hai lớp và sử dụng nơ-ron cho lớp, chúng ta phải sử dụng hàm Sigmoid mở rộng gọi là Softmax: 6.3.6 Tránh các điểm phẳng (Flat Spots) hàm lỗi Việc thay đổi trọng số cách giảm gradient là phụ thuộc vào gradient hàm lỗi Do vậy, hàm lỗi có các điểm phẳng (flat spots), giải thuật học có thể cần nhiều thời gian để vượt qua các điểm phẳng này E(x) Flat spots Minimum x Hình 6-1: Các điểm phẳng trên hàm lỗi Một vấn đề các các hàm chuyển sigmoid là đạo hàm có xu hướng zero nó bảo hòa (tức là tiệm cận hay 1) Điều này có nghĩa là kết là hoàn toàn sai (tức là thay vì 1, hay thay vì 0), cập nhật trọng số là nhỏ và giải thuật học không thể tự chỉnh sửa chính xác Có hai giải pháp cho vấn đề này: • Target Off-sets: sử dụng target=0.1 và 0.9 thay vì và Các sigmoids không còn bảo TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 29 (30) Mạng nơ-ron nhân tạo và ứng dụng hòa và việc học không còn gặp các trở ngại nêu trên • Sigmoid Prime Off-set: Cộng thêm off-set nhỏ (ví dụ 0.1) cho hàm sigmoid ban đầu (ví dụ đạo hàm sigmoid) cho nó không còn là zero sigmoids bảo hòa Chúng ta bây có thể hiểu chúng ta nên khởi tạo trọng số ban đầu là đủ nhỏ cho sigmoids không bị bảo hòa huấn luyện Việc Off-setting các targets có tác dụng khác là ngăn không cho trọng số trở nên quá lớn 6.3.7 Tránh tối thiểu cục Hàm lỗi đôi có thể có nhiều điểm tối thiểu: Hình 6-2: Điểm tối thiểu cục và toàn cục trên hàm lỗi N ếu chúng ta vùng lân cận tối thiểu cục bộ, chúng ta có thể kết thúc vị trí tối thiểu cục này thay vì đạt đến tối thiểu toàn cục Tuy nhiên bắt đầu với tập trọng số khởi tạo khác thì chúng ta có hội tìm thấy tối thiểu toàn cục 6.3.8 Khi nào thì ngưng huấn luyện? Hàm Sigmoid(x) đạt đến và x = ±∞ Trong thực tế, điều này có nghĩa là mạng hoàn thành target nhị phân nó có ít vài trọng số nó đạt đến ± ∞ Vì với số bước giảm gradient hữu hạn, mạng không đạt đến các target nhị phân Thậm chí chúng ta off-set targets giá trị 0.1 hay 0.9, chúng ta cần vô hạn bước giảm gradient để hoàn thành mục tiêu này Rõ ràng, giải thuật huấn luyện không đạt đến tối thiểu, chúng ta phải dừng huấn luyện mà nó đủ gần đến tối thiểu Vậy thì nào gọi là “đủ gần đến tối thiểu” còn phụ thuộc vào vấn đề cần xem xét N ếu chúng ta xem xét target nhị phân, thì output đạt đến 0.1 thì chúng ta có thể xem là đã đạt đến target Hoặc, có thể ngừng việc huấn luyện hàm lỗi nhỏ giá trị nào đó (ví dụ 0.2) Chúng ta thấy rằng, chúng ta sử dụng tập liệu có nhiễu, lỗi huấn luyện và lỗi khái quát hóa tỉ lệ với và tiêu chí ngừng huấn luyện thích hợp là vấn đề quan trọng nhằm tối ưu hóa khả khái quát hóa mạng 6.4 Kết luận Chúng ta đã bắt đầu việc hình thành các bước huấn luyện AN N s lớp cách sử dụng các giải thuật giảm gradient Chúng ta sau đó đã thấy làm nào sử dụng hàm kích hoạt sigmoidal để dẫn đến luật Delta mở rộng cho việc huấn luyện mạng Cuối cùng, chúng ta xem xét cách hệ thống vấn đề cài đặt, làm nào để huấn luyện hiệu AN N s lớp cách sử dụng giải thuật giảm gradient TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 30 (31) Mạng nơ-ron nhân tạo và ứng dụng Bài - Học lan truyền ngược mạng Perceptrons nhiều lớp MỤC TIÊU Sau hoàn thành bài học này, học viên có thể: • Hiểu các khái niệm phân chia tuyến và nhu cầu cần AN N s nhiều lớp • Biết giải thuật lan truyền ngược cho mạng nhiều lớp rút như nào từ cách tiếp cận giảm gradient chuNn • N ắm thêm số vấn đề cài đặt mà thực tế đã không xuất mạng lớp 7.1 Giới thiệu ANNs nhiều lớp Hãy nhớ chúng ta đã không thể tìm trọng số mạng Perceptron lớp giải bài toán XOR Hình 7-1: ANNs nhiều lớp cho bài toán XOR Tuy nhiên, mạng Perceptrons nhiều lớp (MLPs) lại có khả giải các bài toán không tuyến tính Mô hình AN N s nhiều lớp có thể mô tả hình vẽ 7-2 Hình 7-2: Mô hình ANNs nhiều lớp xem xét nơ-ron thì TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 31 (32) Mạng nơ-ron nhân tạo và ứng dụng Hình 7-3: Mỗi nơ-ron trên ANNs nhiều lớp đó đơn vị xử lý j lớp n nhận kích hoạt outi(n-1) từ các đơn vị xử lý i lớp trước đó (n-1) và gởi kích hoạt outj(n) cho các đơn vị xử lý lớp (n+1) 7.2 Perceptron nhiều lớp (MLPs) Theo qui ước, lớp vào AN N s là lớp và chúng ta nói đến AN N s N lớp thì có nghĩa là có N lớp trọng số và N lớp đơn vị xử lý (không kể lớp vào) N hư vậy, Perceptron lớp sau: Rõ ràng chúng ta có thể thêm nhiều lớp nữa, thực tế thì lớp là đủ Chúng ta có thể sử dụng hàm kích hoạt khác cho các lớp khác nhau, chí cho các đơn vị xử lý khác cùng lớp 7.3 Khả học Perceptron nhiều lớp Chúng ta có thể sử dụng cùng ý tưởng đã trình bày để huấn luyện mạng N lớp, tức là chúng ta muốn điều chỉnh trọng số mạng wij(n) để giảm thiểu hàm tổng bình phương lỗi và lần chúng ta có thể thực điều này loạt các cập nhật trọng số cách giảm gradient Lưu ý đây là kết outj(N ) các lớp cuối cùng xuất hàm lỗi Tuy nhiên, kết lớp cuối cùng lại phụ thuộc vào các lớp trọng số trước đó và giải thuật học điều chỉnh tất chúng Giải thuật học tự động điều chỉnh kết outi(n-1) các lớp (Nn) trước cho chúng tạo đại diện trung gian (Nn) thích hợp Đối với mạng lớp, kết cuối cùng có thể ghi: Chúng ta có thể sử dụng luật biến đổi đạo hàm, đã làm Perceptron lớp, để có đạo hàm tập trọng số whl(1) và whl(2): TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 32 (33) Mạng nơ-ron nhân tạo và ứng dụng 7.4 Giải thuật lan truyền ngược (Back-Propagation) Bây chúng ta thay các đạo hàm hai phương trình cập nhật trọng số N ếu hàm chuyển f(x) là hàm Sigmoid thì chúng ta sử dụng f’(x) = f(x).(1 - f(x)) Phương trình cập nhật trọng số trở thành Các phương trình này tạo thành giải thuật học lan truyền ngược Khi triển khai thực thuật toán lan truyền ngược, điều thuận tiện là định nghĩa Đây là đạo hàm mở rộng Chúng ta sau đó có thể ghi luật cập nhật trọng số là N hư vậy, trọng số whl(2) các đơn vị h và l thay đổi tỷ lệ với kết đơn vị h và delta đơn vị l N hững thay đổi trọng số lớp đầu tiên có dạng tương tự lớp cuối, và 'lỗi' đơn vị l là truyền ngược từ đơn vị k qua trọng số wlk(2) 7.5 Mạng với nhiều lớp ẩn Bây chúng ta có thể mở rộng giải thuật giảm gradient số lượng lớp Nn Chúng ta định nghĩa là delta lớp và sau đó truyền ngược các delta các lớp trước đó TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 33 (34) Mạng nơ-ron nhân tạo và ứng dụng N hư vậy, phương trình cập nhật trọng số là: Rõ ràng giải thuật lan truyền ngược đơn giản và dễ dàng lập trình! 7.6 Hàm lỗi Cross Entropy Chúng ta đã nói việc sử dụng hàm tổng bình phương lỗi (SSE) là công cụ đo hiệu mạng và là sở giải thuật học cách giảm gradient Một cách khác có thể sử dụng cho mạng phân loại là hàm lỗi Cross Entropy: Điều này là thích hợp chúng ta muốn diễn dịch kết mạng xác xuất và có nhiều ưu điểm so với hàm SSE Khi chúng ta tính đạo hàm phần phương trình cập nhật trọng số cách giảm gradient, đạo hàm sigmoid là dễ dàng tính là hàm SSE và không còn tính chất tiến đến kết hoàn toàn sai (do đó không cần offsets nữa) Chúng ta đã thấy kết mạng không phải là nhị phân, thì nó thích hợp hàm kích hoạt tuyến tính là Sigmoid Vậy thì lại không sử dụng hàm kích hoạt tuyến tính cho các lớp Nn? N hớ lại hàm kích hoạt f(n)(x) lớp n, kết là: N hư kích hoạt lớp Nn là tuyến tính, chẳng hạn f(1)(x)=x, thì điều này đơn giản hoá thành N hưng điều này tương đương với mạng lớp với các trọng số wik = Σwij(1)wjk(2) và chúng ta biết mạng không thể giải các vấn đề không tuyến tính 7.7 Huấn luyện mạng truyền thẳng nhiều lớp Thủ tục huấn luyện mạng lớp là tương tự mạng lớp: Chọn tập mẫu huấn luyện mà bạn muốn mạng học p p {ini , outj : i = 1…ninputs, j = 1…noutputs, p = 1…npatterns} Thiết lập mạng với ninputs đơn vị vào kết nối hoàn toàn với nhidden đơn vị Nn không tuyến tính thông qua các kết nối có trọng số wij(1), tiếp đó kết nối hoàn toàn với noutputs đơn vị thông qua các kết nối có các trọng số wjk(2) Tạo ngẫu nhiên các trọng số ban đầu, e.g khoảng [-smwt, + smwt] Chọn hàm lỗi thích hợp E(wjk(n)) và tốc độ học η Áp dụng phương trình cập nhật trọng số Δwjk(n)=-η∂E(wjk(n))/∂wjk(n) trọng số wjk(n) cho mẫu huấn luyện p Một tập các cập nhật trọng số tất các mẫu huấn luyện gọi là vòng huấn luyện TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 34 (35) Mạng nơ-ron nhân tạo và ứng dụng Lặp lại bước hàm lỗi "đủ nhỏ" 7.8 Cài đặt giải thuật học lan truyền ngược Các bước cần thiết cài đặt giải thuật học lan truyền ngược tương tự việc huấn luyện Perceptron lớp: Chúng ta có cần phải tiền xử lý liệu huấn luyện? N ếu có thì chúng ta phải làm nào? Làm nào để chúng ta chọn trọng số ban đầu mà từ đó chúng ta bắt đầu việc huấn luyện? Làm nào chúng ta chọn tốc độ học thích hợp η? Chúng ta nên thay đổi trọng số sau mẫu huấn luyện hay là sau toàn tập mẫu huấn luyện? Hàm kích hoạt/chuyển nào là tốt nhất? Làm nào chúng ta có thể tránh flat spots hàm lỗi? Làm nào chúng ta có thể tránh tối thiểu cục hàm lỗi? Làm nào để biết nào thì ngừng việc huấn luyện? Tuy nhiên, có hai vấn đề quan trọng cần bổ sung: Chúng ta cần bao nhiêu đơn vị xử lý Nn? 10 Chúng ta có cần tốc độ học khác cho các lớp khác nhau? 7.8.1 Bao nhiêu nơ-ron ẩn là thích hợp? Số đơn vị Nn phụ thuộc vào độ phức tạp các yếu tố: Số lượng mẫu huấn luyện Số lượng các đơn vị vào và Số lượng nhiễu liệu huấn luyện Sự phức tạp hàm hay phân loại học Kiểu hàm kích hoạt đơn vị Nn Giải thuật huấn luyện Có quá ít đơn vị Nn dẫn đến việc học và khái quá hóa tồi vì under-fitting Khi có quá nhiều đơn vị Nn thì làm cho lỗi huấn luyện giảm, thời gian huấn luyện lại chậm không cần thiết và kết là khả khái quát hóa tồi, trừ có sử dụng số kỹ thuật khác (như regularization) để ngăn chặn over-fitting N ói chung, cách tốt là thử với số lượng nút Nn nào đó để xem mạng hoạt động nào và sau đó có các điều chỉnh phù hợp 7.8.2 Tốc độ học khác cho các lớp khác Một AN N s thông thường học tốt tất các nơ-ron có cùng tốc độ học Tuy thế, các lớp khác có thể có tốc độ học khác Có số yếu tố ảnh hưởng đến việc chọn này là: Các lớp càng gần với lớp có xu hướng có gradient cục lớn so với các lớp gần với lớp vào Kích hoạt đơn vị có nhiều kết nối đến hay có xu hướng thay đổi nhanh các đơn vị có ít kết nối Kích hoạt yêu cầu cho đơn vị tuyến tính khác với các đơn vị không tuyến tính Thực nghiệm chứng minh tốc độ học khác có thể tính toán dựa trên việc so sánh các ngưỡng/bias với các trọng số kết nối thực Thực tế, cách đơn giản là sử dụng cùng tốc độ cho tất các trọng số và ngưỡng, là TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 35 (36) Mạng nơ-ron nhân tạo và ứng dụng thử các tốc độ khác Một cách tiếp cận khác là sử dụng chiến lược tiến hóa để xác định tốc độ tốt 7.9 Cài đặt mạng Perceptron nhiều lớp trên MATLAB (xem phụ lục 4) 7.10 Kết luận Chúng ta bắt đầu cách xem xét các khái niệm phân chia tuyến và nhu cầu cần AN N s nhiều lớp Chúng ta sau đó đã thấy giải thuật lan truyền ngược cho mạng nhiều lớp rút như nào từ cách tiếp cận giảm gradient chuNn Chúng ta kết thúc cách xem xét số vấn đề cài đặt mà thực tế đã không xuất mạng lớp TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 36 (37) Mạng nơ-ron nhân tạo và ứng dụng Bài - Mạng xuyên tâm sở RBF MỤC TIÊU Sau hoàn thành bài học này, học viên có thể: • Hiểu nguyên tắc hoạt động mạng RBF là chuyển đổi bài toán từ không gian có thể phân loại không tuyến tính vào không gian (thông thương có kích thước lớn hơn) có thể phân loại tuyến tính • Biết giải thuật học sử dụng cho mạng RBF là k-means hay adaptive k-means 8.1 Giới thiệu mạng RBF Mạng RBF ngày càng trở nên phổ biến với các ứng dụng khác và nhanh chóng trở thành đối thủ cạnh tranh chính với mạng Perceptron Hầu hết các cảm hứng cho RBF bắt nguồn từ các kỹ thuật phân loại mẫu truyền thống dựa trên thống kê Đặc trưng mạng RBF là Kiến trúc RBF là mạng 2-lớp: • Lớp vào đơn giản đóng vai trò tiếp nhận liệu vào • Lớp Nn thực ánh xạ liệu vào không tuyến tính từ không gian vào (lớp vào) đến không gian (thông thường) lớn cho liệu vào trở nên tuyến tính • Lớp đơn giản thực tính tổng có trọng số : o N ếu mạng RBF sử dụng cho xấp xỉ hàm (số thực) thì hàm ngưỡng sử dụng có thể là hàm tuyến tính o Tuy nhiên phân loại mẫu yêu cầu, thì hàm sigmoid hay hard-limiter sử dụng cho các nơ-ron lớp để kết là nhị phân Hình 8-1: Mô hình mạng RBF 8.2 Phân cụm (Clustering) Điểm đặc trưng mạng RBF là tiến trình xử lý thực lớp Nn Ý tưởng chính là các mẫu không gian vào phân cụm N ếu tâm các cụm này biết trước, thì khoảng cách đến tâm các cụm này tính toán Hơn nữa, vì việc đo khoảng cách này là thực không tuyến tính, nên mẫu nằm gần với tâm cụm thì khoảng cách sẽ cho gần N hưng nằm xa hơn, khoảng cách có giá trị giảm dần TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 37 (38) Mạng nơ-ron nhân tạo và ứng dụng Hình 8-2: Ý tưởng phân cụm mạng RBF N hư phân bố các mẫu cụm xem là đối xứng xuyên tâm xung quanh tâm và đó hàm ánh xạ (ngưỡng) không tuyến tính gọi tên khác là hàm sở xuyên tâm RBF (radial-basis function) Hàm xuyên tâm sử dụng phổ biến cho mạng RBF là hàm Gaussian Phương trình biểu diễn hàm Gaussian có dạng hình chuông sau φ 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.8 0.6 0.4 0.2 -0.2 -0.4 -0.6 -0.8 -1 0.2 0.1 x Hình 8-3: Hàm Gaussi sử dụng cho mạng RBF Khoảng cách đo từ tâm cụm thông thường là khoảng cách Euclidean Đối với nơron lớp Nn, các trọng số biểu diễn tọa độ tâm cụm Do vậy, nơ-ron nhận mẫu vào x, khoảng cách r tính toán phương trình sau: rj = n ∑ (x − w ) i =1 i ij và hàm ngưởng nút Nn là n (hidden _ unit )ϕ j = exp(− ∑ (x − w ) i =1 i ij ) 2σ đó biến sigma, σ, định nghĩa độ rộng hay bán kính chuông và thông thường xác định thực nghiệm 8.3 Giải bài toán XOR với mạng RBF Một ví dụ tiêu biểu để làm nào mạng RBF có thể xử lý các vấn đề không tuyến tính là bài toán XOR Chúng ta có không gian vào bài toán XOR là TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 38 (39) Mạng nơ-ron nhân tạo và ứng dụng và không gian là Chúng ta cần thiết kế mạng RBF cho: • (0,0) và (1,1) ánh xạ đến 0, thuộc lớp C1 • (1,0) và (0,1) ánh xạ đến 1, thuộc lớp C2 Giả sử chúng ta sử dụng mạng RBF bao gồm nút vào, nút Nn và nút hình vẽ 30 Hình 8-4: Mạng RBF sử dụng cho bài toán XOR Trong đó tâm nút Nn đặt C1 = (0,0) và C2 = (1,1), và bán kính σ chọn cho 2σ2 = N hư vậy: ϕ1 (|| x − t1 ||) = e −|| x −t || ϕ (|| x − t ||) = e −|| x −t || 2 Với mẫu đưa vào huấn luyện, kết các nút Nn là: N hư vậy, sau đã ánh xạ thành công không gian vào (x1,x2) thành (ϕ1,ϕ2) (lớp Nn), C1 và C2 trở nên có thể tách cách tuyến tính (linearly separable) Lúc này ϕ1(x) và ϕ2(x) đóng vai trò là không gian vào bài toán XOR Hình 8-5: Ánh xạ không gian vào không tuyến tính bài toán XOR thành tuyến tính TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 39 (40) Mạng nơ-ron nhân tạo và ứng dụng Lúc này, kết thực tế là: 2 y = −e −||x −t1|| − e −|| x −t2 || + N ếu y>0 thì thuộc lớp C1, ngược lại thì thuộc lớp C2 8.4 Giải thuật k-means và adaptive k-means Lớp Nn mạng RBF bao gồm các nơ-ron mà trọng số nó tương ứng với véc-tơ biểu diễn tâm cụm Các trọng số này có thể tính toán các giải thuật phân cụm truyền thống k-means, hay adaptive k-means (tương tự giải thuật Kohonen) Trong trường hợp khác, huấn luyện là không giám sát số cụm là biết trước là k, giải thuật đó thực tốt với số cụm xác định trước này 8.4.1 Giải thuật k-means Khởi động ngẫu nhiên k điểm không gian vào Đối với mẫu tập huấn luyện, khoảng cách từ nó đễn tất k tâm là tính toán Tâm gần chọn cho mẫu liệu này: đây là phân loại ban đầu Tất các mẫu có lại ấn định cho các tâm từ đến k Đối với tất các mẫu thuộc cụm 1, tọa độ trung bình (mean values) chúng tính toán Giá trị này chính là tâm cụm Lặp lại việc tính toán này cho k-1 cụm còn lại và chúng ta xác định lại k tâm Tiến trình đo khoảng cách các mẫu vào với các tâm cụm để phân loại lại liệu lặp lại không còn thay đổi nào diễn 8.4.2 Giải thuật adaptive k-means Một lựa chọn khác là sử dụng giải thuật adaptive k-means tương tự luật học Kohonen Với giải thuật này các mẫu liệu vào biểu diễn đến tất các tâm cụm cùng lúc và tâm cụm tự điều chỉnh Tâm cụm nào gần với tập liệu là tâm “chiến thắng” và dịch chuyển phía tập liệu Kiểu giải thuật này có ưu diểm là chúng ta không phải lưu tất các liệu huấn luyện mà chúng ta có thể thực huấn luyện on-line 8.4.3 Xác định bán kính Gaussians Sau đã tìm thấy tâm cụm cách sử dụng các phương pháp đã trình bày, bước là xác định bán kính đường cong Gaussian Điều này có thể thực giải thuật P-lân cận gần nhất: Cho số P, tâm chúng ta xác định P lân cận gần Căn bậc tổng bình phương khoảng cách trung bình P lân cận gần nhất, σ, xác định N hư vậy, tâm cụm cj, σi xác định sau: σj = P (ck − ci ) ∑ P i =1 Với P=2, σ là khoảng cách trung bình từ tâm cụm lân cận gần 8.4.4 Ứng dụng giải thuật k-means vào giải bài toán XOR Bằng cách sử dụng phương pháp này, bài toán XOR có thể cài đặt với tối thiểu nút Nn Tuy nhiên, sử dụng nhiều nút Nn, các nút bổ sung này làm tăng thêm các tâm cụm và chẳng có lợi gì cho mạng RBF Giả sử chúng ta sử dụng nơ-ron lớp Nn, nút đóng vai trò tâm nhóm mẫu vào: TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 40 (41) Mạng nơ-ron nhân tạo và ứng dụng 00, 01, 10 và 11 Giải thuật P lân cận gần với P=2 sử dụng để xác định kích thước bán kính Đối với nơ-ron, khoảng cách đến nơ-ron khác là 1, và 1.414 N hư tâm cụm gần là khoảng cách Bằng cách sử dụng khoảng cách bình phương trung bình là bán kính, nơ-ron có bán kính Với cách xác định tâm cụm và bán kính trên, mẫu vào biểu diễn đến mạng, kết lớp Nn là: Sau đã huấn luyện lớp Nn với luật học không giám sát nào đó, bước cuối cùng là huấn luyện lớp cách sử dụng kỹ thuật giảm gradient chuNn giải thuật LMS (Least Mean Squares) Trong ví dụ bài toán XOR xem xét trên, với tập các trọng số phù hợp +1, –1, –1 và +1, kết mạng là: 8.5 Ưu và nhược điểm mạng RBF • • • Việc thực huấn luyện mạng RBF là nhanh mạng Perceptrons đa lớp MLP Lớp Nn mạng RBF là dể diễn dịch là mạng MLP Mặc dù mạng RBF huấn luyện nhanh mạng MLP, sử dụng, tốc độ thực mạng RBF lại chậm so với mạng MLP 8.6 Cài đặt mạng RBF với NNToolbox (xem phụ lục 5) 8.7 Kết luận Mạng truyền thẳng dựa trên thống kê RBF trở nên phổ biến và là đối thủ cạnh tranh chính MLP N guyên tắc hoạt động mạng RBF là chuyển đổi bài toán từ không gian có thể phân loại không tuyến tính vào không gian (thông thương có kích thước lớn hơn) có thể phân loại tuyến tính Với giải thuật học, mạng RBF thông thường sử dụng giải thuật k-means hay adaptive k-means TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 41 (42) Mạng nơ-ron nhân tạo và ứng dụng Bài - Bộ nhớ kết hợp MỤC TIÊU Sau hoàn thành bài học này, học viên có thể: • Hiểu khái niệm nhớ kết hợp và phân loại • Phân biệt cấu trúc (topo) và nguyên lý hoạt động loại nhớ kết hợp tiêu biểu: Associator tuyến tính, mạng Hopfield và mạng BAM 9.1 Các khái niệm Bộ nhớ kết hợp là cấu trúc nội dung có thể địa hóa; nó ánh xạ các đại diện vào đến các đại diện “tương tự” N hư vậy, nhớ kết hợp là hệ thống “kết hợp” hai mẫu (X, Y) cho gặp mẫu này, mẫu có thể “nhớ lại” Có hai loại nhớ kết hợp: autoassociative và heteroassociative Bộ nhớ autoassociative sử dụng để nhớ lại (phục hồi) mẫu lưu trữ trước đó cho gần giống với mẫu hành, tức là X = Y Trong khi, nhớ heteroassociative, các mẫu phục hồi nói chung là khác với mẫu vào không mặt nội dung mà còn có thể khác kiểu và định dạng Mạng nơ-ron nhân tạo có thể sử dụng là nhớ kết hợp Một nhớ kết hợp nơ-ron nhân tạo đơn giản là associator tuyến tính Mô hình Hopfield và nhớ kết hợp hai hướng (BAM) là số mô hình mạng nơ-ron nhân tạo phổ biến khác nhớ kết hợp 9.2 Associator tuyến tính Associator tuyến tính là mô hình nhớ kết hợp đơn giản và có kiến trúc mô tả đây: Hình 9-1: Associator tuyến tính Thực chất đây là loại mạng truyền thẳng với ma trận trọng số kết nối W = [wij]mxn đó wij biểu thị trọng số khớp kết nối chiều từ đơn vị vào i đến đơn vị j Việc xây dựng nhớ kết hợp là không khó, xây dựng ma trận trọng số kết nối W cho mẫu vào đến, mẫu đã lưu trữ “giống” với mẫu vào này có thể lấy Quá trình xây dựng ma trận trọng số gọi là mã hóa Trong quá trình mã hóa các giá trị trọng số ma trận liên quan Wk cặp mẫu liên quan cụ thể (Xk, Yk) tính sau: (wij)k = (xi)k(yj)k đó (xi)k đại diện cho thành phần thứ i mẫu Xk, (yj)k đại diện cho thành phần thứ j TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 42 (43) Mạng nơ-ron nhân tạo và ứng dụng mẫu Yk, với i = 1, 2, , m và j = 1, 2, , n Việc xây dựng ma trận trọng số kết nối W thực cách tính tổng các ma trận thành phân liên quan, tức là, đó α là hệ số hay chuẫn hóa Thường α gán 1/p (p là số mẫu xem xét) để ngăn chặn các giá trị trọng số trở nên quá lớn có số lượng lớn các cặp mẫu giống ghi nhớ Việc xây dựng ma trận trọng số kết nối trên đồng thời với việc lưu trữ hay ghi nhớ p cặp mẫu cách phân tán Sau đã mã hóa ghi nhớ, mạng có thể sử dụng để nhớ lại Quá trình nhớ lại mẫu đã lưu trữ mẫu vào gọi là giải mã Cho mẫu vào X, giải mã hay nhớ lại thực công thức sau: đó inputj là tổng có trọng số các giá trị vào giá trị kích hoạt nút j với j = 1, 2, , n Sau đó, xác định kết các nút này cách sử dụng hàm lưỡng cực: đó θj là giá trị ngưỡng nơ-ron j Từ mô tả trên, có thể thấy các nút hoạt động giống các đơn vị ngưỡng tuyến tính (McCulloch và Pitts, 1943) và perceptrons (ROSEN BLATT, 1958) mà nó tính toán tổng có trọng số các giá trị vào và sinh -1 tùy theo tổng trọng số là trên giá trị ngưỡng định 9.3 Hopfield Model Mô hình Hopfield đề xuất John Hopfield Viện Công nghệ California vào thập niên 1980 Việc xuất tác phNm ông vào năm 1982 đã góp phần quan trọng quan tâm nghiên cứu mạng nơ-ron nhân tạo Ông đã làm nào quần thể các đơn vị xử lý đơn giản có thể có khả tính toán và hành vi tập thể phức tạp Tính động mô hình Hopfield là khác với mô hình associator tuyến tính chỗ nó tính toán kết nó cách đệ quy theo thời gian hệ thống trở nên ổn định Dưới đây là mô hình Hopfield với sáu nơ-ron, đó nút kết nối với tất các nút khác mạng Hình 9-2: Mô hình Hopfield Không giống mô hình associator tuyến tính bao gồm hai lớp các đơn vị xử lý, với lớp sử dụng lớp vào lớp đóng vai trò là lớp ra, mô hình Hopfield bao gồm lớp các đơn vị xử lý mà đơn vị kết nối với tất các đơn vị khác mạng ngoại trừ chính nó Ma trận trọng số kết nối W là vuông và đối xứng, nghĩa là, wij = wji cho i, j = 1, 2, , m Mỗi đơn vị có đầu vào bên ngoài mở rộng Ii Đầu vào mở rộng này dẫn đến sửa đổi tính toán inputj: TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 43 (44) Mạng nơ-ron nhân tạo và ứng dụng với j = 1, 2, , m Không giống associator tuyến tính, các đơn vị mô hình Hopfield hoạt động vừa là đơn vị đầu vào và vừa là đơn vị Tuy vậy, giống các associator tuyến tính, cặp mẫu kết hợp đơn lưu trữ cách tính toán ma trận trọng số sau: Wk = XkTYk đó Yk = Xk để lưu trữ p cặp mẫu kết hợp khác Bởi vì mô hình Hopfield là mô hình nhớ autoassociative, các mẫu, thay vì các cặp mẫu kết hợp, lưu trữ nhớ Sau mã hóa, mạng có thể sử dụng cho giải mã Giải mã mô hình Hopfield thực cách tìm kiếm đệ quy mẫu đã lưu trữ tương ứng với mẫu vào Với mẫu vào X, giải mã thực việc tính toán inputj và xác định kết các sử dụng hàm để sinh mẫu X' Mẫu X ' sau đó đưa trở lại cho các đơn vị xử lý là mẫu vào để tạo mẫu X'' Mô hình X'' là lần đưa trở lại cho các đơn vị xử lý để tạo mẫu X''' Quá trình này lặp lặp lại mạng ổn định trên mẫu đã lưu trữ, mà đó các tính toán thêm không làm thay đổi kết đơn vị xư lý N ếu mẫu vào X là mẫu không đầy đủ có chứa số biến dạng, mẫu đã lưu trữ mà làm cho mạng ổn định là mẫu tương tự với X (không có biến dạng) Tính này gọi hoàn chỉnh mẫu và ứng dụng xử lý ảnh Trong quá trình giải mã, có nhiều sơ đồ có thể sử dụng để cập nhật các đầu đơn vị Các sơ đồ cập nhật là đồng (song song), không đồng (tuần tự), kết hợp hai (lai) Trong sơ đồ cập nhật đồng bộ, kết các đơn vị cập nhật là nhóm trước đưa trở lại vào mạng Trong khi, sơ đồ cập nhật không đồng bộ, kết các đơn vị cập nhật theo thứ tự ngẫu nhiên và kết sau đó đưa trở lại mạng sau cập nhật đơn vị Với sơ đồ lai, các nhóm các đơn vị cập nhật đồng các đơn vị nhóm cập nhật không đồng Việc chọn sơ đồ cập nhật có ảnh hưởng đến hội tụ mạng 9.3.1 Mô hình Hopfield rời rạc Trong mô hình Hopfield rời rạc, các đơn vị sử dụng hàm lưỡng cực thay đổi ít mà đó trạng thái các đơn vị, chẳng hạn kết các đơn vị giữ nguyên trạng thái thời số giá trị ngưỡng: với i = 1, 2, , m và t biểu thị thời gian gián đoạn Một thuộc tính thú vị loại mạng hồi qui là trạng thái chúng có thể mô tả hàm lượng Hàm lượng sử dụng để xác nhận ổn định loại mạng hồi qui Đối với mô hình Hopfield rời rạc với wii = và wij = wji cách sử dụng sơ đồ cập nhật không đồng bộ, hàm lượng E tương ứng với Hopfield (1982) định nghĩa là: Trong đó cực tiểu địa phương hàm lượng tương ứng với lượng các mẫu đã lưu trữ Hopfield (1982) đã lượng mô hình Hopfield rời rạc giảm giữ nguyên sau lần cập nhật đơn vị Vì vậy, mạng cuối cùng hội tụ cực tiểu TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 44 (45) Mạng nơ-ron nhân tạo và ứng dụng địa phương tương ứng với mẫu đã lưu trữ Các mẫu đã lưu trữ mà mạng hội tụ phụ thuộc vào mẫu vào và ma trận trọng số kết nối 9.3.2 Mô hình Hopfield liên tục Mô hình Hopfield liên tục là khái quát hóa trường hợp rời rạc Ở đây, các đơn vị sử dụng hàm liên tục hàm sigmoid hyperbolic Trong mô hình Hopfield liên tục, đơn vị có tụ điện Ci kết hợp và điện trở ri; tương tự mô hình điện dung và trở kháng màng tế bào thần kinh thực Do đó phương trình trạng thái đơn vị bây là: đó Cũng giống trường hợp rời rạc, hàm lượng đặc trưng cho mô hình Hopfield liên tục cho bởi: đó f là hàm các đơn vị Có thể de / dt £ wij = wji Vì vậy, lượng mô hình Hopfield liên tục giảm giữ nguyên N ăng lượng tối thiểu mô hình Hopfield liên tục tồn cách sử dụng cách tính toán tương tự mô hình Hopfield rời rạc 9.3.3 Cài đặt mạng Hopfield với NNToolbox (xem phụ lục 7) 9.4 Bộ nhớ kết hợp hai chiều Cấu trúc mạng mô hình nhớ kết hợp hai chiều BAM (Bidirectional Associative Memory) là tương tự các associator tuyến tính, các kết nối là hai hướng, nghĩa là, wij = wji, với i = 1, 2, , m và j = 1, 2, , n N goài ra, các đơn vị hai lớp sử dụng là đơn vị đầu vào và tùy thuộc vào hướng truyền Việc truyền các tín hiệu từ lớp X đến lớp Y làm cho các đơn vị lớp X hành động là đơn vị vào, các đơn vị lớp Y hành động là đơn vị Điều này đúng với hướng khác, tức là, việc truyền từ lớp Y đến lớp X làm cho các đơn vị lớp Y hành động là đơn vị vào, các đơn vị lớp X hành động là đơn vị Dưới đây là minh hoạ kiến trúc BAM Hình 9-3: Mô hình BAM TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 45 (46) Mạng nơ-ron nhân tạo và ứng dụng Cũng giống các mô hình associator tuyến tính và Hopfield, mã hóa BAM có thể thực cách sử dụng: Wk = XkTYk để lưu trữ cặp mẫu kết hợp đơn và đồng thời lưu trữ nhiều cặp mẫu kết hợp Sau mã hóa, mạng có thể sử dụng cho giải mã Trong BAM, giải mã bao gồm việc dội lại thông tin phân phối hai lớp mạng trở nên ổn định Trong giải mã, mẫu vào có thể đưa vào trên lớp X trên lớp Y Khi đưa mẫu vào, mạng truyền nó đến lớp khác cho phép các đơn vị lớp này tính toán giá trị chúng Các mẫu đã tạo lớp này sau đó truyền lại cho lớp ban đầu và các đơn vị lớp ban đầu này tính toán kết chúng Các mẫu mà tạo lớp ban đầu là lần truyền đển lớp khác Quá trình này lặp lặp lại việc tính toán không làm thay đổi trạng thái các đơn vị hai lớp; cặp mẫu cuối cùng là các cặp mẫu kết hợp đã lưu trữ Cặp mẫu cuối cùng tạo mạng phụ thuộc vào cặp mẫu ban đầu và ma trận trọng số kết nối N hiều mô hình khác có thể sử dụng để cập nhật trạng thái các đơn vị hai lớp: đồng bộ, không đồng và kết hợp hai Trong mô hình cập nhật đồng bộ, trạng thái các đơn vị lớp cập nhật là nhóm trước truyền kết đến cho các lớp khác Trong cập nhật không đồng, đơn vị hai lớp cập nhật theo trình tự nào đó (ngẫu nhiên hay tuần tự) và kết truyền đển cho lớp khác sau lần cập nhật đơn vị Cuối cùng, mô hình cập nhật lai, các nhóm các đơn vị lớp cập nhật đồng các đơn vị nhóm cập nhật không đồng 9.4.1 BAM rời rạc Trong BAM rời rạc, mạng lan truyền mẫu vào X đển các lớp Y mà đó các đơn vị lớp Y tính toán đầu vào lưới chúng cách sử dụng: và xác định giá trị chúng cách sử dụng: với j = 1, 2, , n Mẫu Y tạo trên lớp Y sau đó tuyên truyền lại cho lớp X cho phép các đơn vị lớp X tính toán đầu vào lưới chúng cách sử dụng: và xác định giá trị chúng cách: Cũng giống mô hình Hopfield rời rạc, hàm lượng đặc trưng trạng thái TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 46 (47) Mạng nơ-ron nhân tạo và ứng dụng BAM rời rạc cho bởi: Kosko (1988) lượng BAM giảm giữ nguyên sau lần cập nhật đơn vị Vì vậy, mạng cuối cùng hội tụ cực tiểu địa phương tương ứng với mẫu đã lưu trữ liên quan 9.4.2 BAM liên tục Trong BAM liên tục, các đơn vị sử dụng hàm sigmoid hyperbolic Các đơn vị lớp X có đầu vào bên ngoài mở rộng Ii (không hiển thị hình) các đơn vị lớp Y có đầu vào bên ngoài mở rộng Jj (không hiển thị hình) với i = 1, 2, , m và j = 1, 2, , n N hững đầu vào bên ngoài phụ này dẫn đến thay đổi tính toán lưới các đầu vào đến các đơn vị: với i = 1, 2, , m và j = 1, 2, , n Hàm lượng BAM liên tục cho bởi: Vì vậy, BAM liên tục cuối cùng hội tụ cực tiểu địa phương tương ứng với cặp mẫu đã lưu trữ liên quan 9.5 Kết luận Bộ nhớ kết hợp hay nhớ địa hóa nội dung rõ ràng đề cập đến việc tổ chức nhớ đó nhớ truy cập nội dung (thay vì có địa rõ ràng) Vì vậy, đầu mối tham khảo là "liên kết" với các nội dung nhớ thực tế Có mô hình nhớ kết hợp chính: Bộ nhớ kết hợp chiều (Associator tuyến tính) và nhớ kết hợp chiều (BAM), đó mạng Hopfield (một trường hợp nhớ kết hợp chiều) nghiên cứu và triển khai ứng dụng nhiều Bên cạnh sử dụng để ghi nhớ, người ta còn sử dụng nó là phương pháp tối ưu hóa đặt trường giảm lượng ghi nhớ TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 47 (48) Mạng nơ-ron nhân tạo và ứng dụng Bài 10 - Mạng tự tổ chức MỤC TIÊU Sau hoàn thành bài học này, học viên có thể: • Hiểu nguyên lý ánh xạ topo cua mạng tự tổ chức SOM • Giải thích tính cạnh tranh, hợp tác, và thích nghi các các thành phần tự tổ chức • Sử dụng giải thuật SOM với năm giai đoạn: khởi động, lấy mẫu, kết hợp, cập nhật, và tiếp tục 10.1 Mạng tự tổ chức là gì? Trước đây, chúng ta đã xem xét các kỹ thuật huấn luyện có giám sát, đó chúng ta biết trước target tương ứng với mẫu vào và chúng ta cần huấn luyện mạng cho nó có thể sinh kết đích Trong bài này, chúng ta xem xét việc huấn luyện không giám sát, đó mạng huấn luyện để thực việc tự phân loại mà không có giúp đở nào từ bên ngoài Để thực việc này, chúng ta giả sử đã tồn các lớp định nghĩa tập mẫu huấn luyện với số đặc điểm chung nào đó và mạng có thể nhận biết các đặc điểm này để phân loại Một đặc điểm tiêu biểu hệ thống không giám sát là khả học cạnh tranh, đó các nơ-ron lớp cạnh tranh với để kích hoạt, với nơ-ron kích hoạt thời điểm N ơ-ron kích hoạt này gọi là nơ-ron chiến thắng (winner) Việc cạnh tranh này dẫn đến việc xuất các kết nối “ức chế” (inhibition) truyền ngược đến các nơron khác Kết là các nơ-ron cố gắng tự tổ chức chính mình và vì tên gọi mạng là mạng tự tổ chức 10.2 Topographic Maps Các nghiên nơ-ron sinh học các sensory input khác (ví dụ: tai, mắt …) ánh xạ lên các vùng vỏ não khác theo cách có trật tự Kiểu ánh xạ này, có tên gọi là topographic map, có đặc tính quan trọng: Ở giai đoạn biểu diễn hay xử lý, phần thông tin vào lưu giữ vùng lân cận thích hợp Các nơ-ron liên quan gần với các phần thông tin tương tự phân bố gần cho chúng có thể tương tác với thông qua các kết nối synaptic ngắn Vấn đề mà chúng ta quan tâm là việc xây dựng topographic maps nhân tạo, có thể học thông qua việc tự tổ chức các nơ-ron sinh học Chúng ta thực điều đó theo nguyên tắc hình thành topographic maps sau: "Vị trí không gian nơ-ron topographic map là tương ứng với miền đặc điểm từ không gian liệu vào." 10.3 Xây dựng mạng tự tổ chức Mục đích chính SOM là chuyển đổi tín hiệu vào không gian thành đồ rời rạc không gian hay chiều, và việc chuyển đổi này thực cách thích nghi và có trật tự mặt topo Vì vậy, chúng ta xây dựng mạng SOM cách xếp các nơ-ron theo dạng lưới không gian hay chiều Chúng ta có thể xây dựng mạng SOM không gian nhiều chiều hơn, điều này ít phổ biến Chúng ta hãy xem xét các điểm x không gian vào muốn ánh xạ đến các điểm I(x) không gian Hay nói cách khác, điểm I(x) không gian ánh xạ đến điểm tương ứng wI(x) không gian vào TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 48 (49) Mạng nơ-ron nhân tạo và ứng dụng Hình 10-1: Ánh xạ từ không gian liên tục vào không gian rời rạc Các nơ-ron trở thành winner cách có chọn lựa các mẫu vào khác hay các lớp mẫu vào khác suốt quá trình học cạnh tranh Vị trí các nơ-ron winner trở nên có trật tự và hệ tọa độ có ý nghĩa các đặc điểm vào tạo thành trên lưới N hư vậy, SOM đã hình thành nên topographic map các mẫu vào 10.3.1 Mạng Kohonen Chúng ta tập trung trên kiểu đặc biệt SOM là mạng Kohonen Đây là kiểu mạng truyền thẳng có lớp nơ-ron (ra) tổ chức thành các dòng và cột Mỗi nơ-ron có kết nối hoàn toàn đến các đơn vị vào các nơ-ron khác Hình 10-2: Mạng Kohonen 10.4 Tiến trình tự tổ chức trên mạng SOM Tiến trình tự tổ chức trên mạng SOM bao gồm bước: • Khởi động: tất các trọng số kết nối khởi động với giá trị ngẫu nhiên nhỏ • Cạnh tranh: mẫu vào, nơ-ron tính toán giá trị tương ứng với hàm discriminant (cung cấp sở cạnh tranh) N ơ-ron với giá trị hàm discriminant nhỏ xem là winner • Hợp tác: nơ-ron chiến thắng xác định vị trí không gian các nơ-ron lân cận kích thích, và cách đó cung cấp sở hợp tác số các nơ-ron lân cận • Thích nghi: các nơ-ron lân cận giảm giá trị hàm discriminant thông qua hiệu chỉnh các trọng số kết nối tương ứng, cho các mẫu vào tương tự làm tăng cường thêm vao trò nơ-ron chiến thắng Chúng ta xem xét chi tiết bước sau 10.4.1 Tiến trình cạnh tranh N ếu không gian vào là D chiều (tức là có D đơn vị vào), chúng ta có thể ghi các mẫu liệu vào là x = {xi: i = 1, , D} và các trọng số kết nối các đơn vị vào i và các nơ-ron j lớp tính toán có thể ghi là wj = {wji : j = 1, …, N ; i = 1, …, D}, đó N là tổng số các TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 49 (50) Mạng nơ-ron nhân tạo và ứng dụng neurons Chúng ta sau đó có thể định nghĩa hàm discriminant là khoảng cách bình phương Euclid véc-tơ vào x và véc-tơ trọng số wj cho neuron j N ói cách khác, neuron có véc-tơ trọng số gần với véc-tơ vào (tức là tương tự với nó) tuyên bố là nơ-ron chiến thắng (winner) Bằng cách này không gian vào liên tục có thể ánh xạ đến không gian gián đoạn tiến trình đơn giản cạnh tranh các nơ-ron 10.4.2 Tiến trình hợp tác Trong các nghiên cứu nơ-ron sinh học, chúng ta thấy có tương tác phận bên tập các nơ-ron bị kích hoạt Khi nơ-ron kích hoạt, các lân cận gần có xu hướng kích hoạt nhiều so với các nơ-ron khác Có topological neighbourhood mà nó suy giảm dần theo khoảng cách từ winner Chúng ta muốn định nghĩa topological neighbourhood tương tự các nơ-ron mạng SOM N ếu Sij là khoảng cách phận nơ-ron i và j trên lưới các nơ-ron, chúng ta có đại lượng là topological neighbourhood, đó I(x) là mục nơ-ron chiến thắng Điều này có nhiều thuộc tính quan trọng: đại lượng này tối đa nơ-ron chiến thắng, nó đối xứng các nơ-ron, nó giảm đơn điệu khoảng cách tiến đến vô cùng, và nó là translation invariant (tức là tính độc lập vị trí nơ-ron chiến thắng) Một tính đặc biệt SOM là kích thước σ lân cận cần giảm theo thời gian Phương trình phổ biến là suy giảm hàm số mũ: σ(t) =σ0exp(-t / τσ) 10.4.3 Tiến trình thích nghi Rõ ràng SOM phải bao gồm kiểu tiến trình thích nghi hay học nào đó, mà cách đó các output trở nên tự tổ chức và feature map inputs và outputs là hình thành Không nơ-ron chiến thắng cập nhật trọng số mà các nơ-ron vùng lân cận mặt topo cập nhật, mặc dù không nhiều nơ-ron chiến thắng Trong thực tế, phương trình cập nhật trọng số là đó thời gian (vòng huấn luyện) t phụ thuộc vào tốc độ học η(t)=η0exp(-t / τη) và việc cập nhật áp dụng cho tất các mẫu huấn luyện x qua tất các vòng huấn luyện Tác động lần cập nhật trọng số học là nhằm di chuyển véc-tơ trọng số wi neuron chiến thắng và lân cận nó phía véc-tơ x Việc huấn luyện lặp lặp lại dẫn đến trật tự mặt topo 10.4.4 Sắp xếp trật tự và hội tụ Các thông số cung cấp (s0, ts, h0, th) là lựa chọn cách thích hợp Chúng ta có thể trạng thái khởi động hoàn toàn ngẫu nhiên, và giải thuật SOM dẫn đến biểu diễn có tổ chức các mẫu kích hoạt không gian vào (tuy nhiên, nó có thể dừng trạng thái metastable mà đó feature map có khiếm khuyết mặt topo) Có giai đoạn tiến trình thích nghi này: Giai đoạn trật tự tự tổ chức - việc xếp trật tự mặt topo các véctơ trọng số diễn Thông thường việc này 1000 vòng lặp với thuật toán SOM, và việc cần cân nhắc là lựa chọn khu vực lân cận và tham số tốc độ học tập TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 50 (51) Mạng nơ-ron nhân tạo và ứng dụng Giai đoạn hội tụ - feature map hiệu chỉnh tốt và cung cấp định lượng thống kê chính xác không gian liệu vào Thông thường số vòng lặp giai đoạn này ít 500 nhân với số nơ-ron mạng và lần các tham số phải lựa chọn cNn thận 10.4.5 Ví dụ tiến trình tự tổ chức Giả sử chúng ta có bốn điểm liệu (x) không gian 2D liên tục, và muốn ánh xạ điểm này lên không gian 1D gián đoạn Các nút ánh xạ lên không gian vào thành các điểm tròn (o) Trong số ngẫu nhiên ban đầu khởi động các điểm tròn các vị trí ngẫu nhiên không gian vào Chúng ta chọn điểm liệu để thực huấn luyện (⊗) Điểm gần biểu diễn nơ-ron chiến thắng () N ơ-ron chiến thắng này di chuyển phía điểm liệu vào khoảng nào đó và nơ-ron lân cận di chuyển hướng này với khoảng ít (hướng mũi tên) Tiếp theo, chúng ta chọn ngẫu nhiên điểm liệu khác để huấn luyện (⊗) Điểm gần trở thành nơ-ron chiến thắng () N ơ-ron chiến thắng này di chuyển phía điểm liệu vào khoảng nào đó và nơ-ron lân cận di chuyển hướng này khoảng ít (hướng mũi tên) Chúng ta chọn ngẫu nhiên các điểm liệu để huấn luyện (⊗) Mỗi nơ-ron chiến thắng di chuyển hướng điểm liệu vào khoảng và các nơ-ron lân cận di chuyển khoảng nhỏ (hướng mũi tên) Cuối cùng toàn lưới output tự tách thể không gian vào Hình 10-3: Ví dụ tiến trình tự tổ chức 10.5 Khái quát giải thuật SOM Chúng ta xem xét không gian vào liên tục Mục tiêu là ánh xạ từ không gian này đến không gian rời rạc và ít chiều hơn, mà topo nó hình thành cách xếp tập các nơ-ron trên lưới Một chuyển đổi không tuyến tính SOM gọi là feature map Các giai đoạn SOM thuật toán có thể tóm tắt sau: Khởi đầu - Chọn ngẫu nhiên các giá trị véc-tơ trọng số ban đầu wj Lấy mẫu – Chọn véc-tơ mẫu huấn luyện x từ không gian vào Kết hợp - Tìm nơ-ron chiến thắng I(x) với trọng số gần với véc-tơ vào Cập nhật - Áp dụng phương trình cập nhật trọng số Tiếp tục - tiếp tục quay lại bước feature map ngừng thay đổi TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 51 (52) Mạng nơ-ron nhân tạo và ứng dụng 10.6 Cài đặt mạng SOM với NNToolbox (xem phụ lục 6) 10.7 Kết luận Chúng ta đã bắt đầu với định nghĩa mạng tự tổ chức (SOM) và ánh xạ topo Chúng ta sau đó xem xét làm nào để thiết lập mạng SOM và các thành phần tự tổ chức: cạnh tranh, hợp tác, và thích nghi Chúng ta thấy tự tổ chức có hai giai đoạn: Sắp xếp trật tự và hội tụ Chúng ta kết thúc với tổng quan giải thuật SOM với năm giai đoạn: khởi động, lấy mẫu, kết hợp, cập nhật, và tiếp tục Chúng tôi đã bắt đầu cách xem xét các SOM kiến trúc và thuật toán Chúng tôi sau đó xem xét các tài sản quan trọng các tính đồ: các khả để các liệu vào khoảng không gian, các topological leänh emerges rằng, kết hợp các liệu vào không gian xác suất densities, và khả để lựa chọn tốt cho các các tính các đầu vào approximating phân phối TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 52 (53) Mạng nơ-ron nhân tạo và ứng dụng Tài liệu tham khảo [1] N eural N etworks: A Comprehensive Foundation, Simon Haykin, Prentice Hall, 1999 [2] An Introduction to N eural N etworks, Kevin Gurney, UCL Press, 1997 [3] N eural N etworks for Pattern Recognition, Christopher Bishop, Clarendon Press, Oxford,1995 [4] The Essence of N eural N etworks, Robert Callan, Prentice Hall Europe, 1999 [5] Fundamentals of N eural N etworks, Laurene Fausett, Prentice Hall, 1994 [6] and more … TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 53 (54) Mạng nơ-ron nhân tạo và ứng dụng Phụ lục 1: Một số khái niệm véc-tơ, ma trận, hàm Để có thể thuận tiện cho việc tiếp thu kiến thức các bài học, chúng ta cần nhắc lại số khái niệm liên quan đến véc-tơ và ma trận: • Một vec-tơ có thể biểu diễn sau: x = (x1, x2, x3, , xn), y = (y1, y2, y3, , ym) • Các thành phần xi có thể mang giá trị vô hướng, ví dụ s = x1 + x2 + x3 + + xn = Σxi • Hai vectors có cùng độ dài có thể cộng với đế tạo vector khác, ví dụ z = x + y = (x1 + y1, x2 + y2, , xn + yn) • Hai vectors có cùng độ dài có thể nhân với tạo giá trị vô hướng, ví dụ p = x.y = x1y1 + x2 y2 + + xnyn = Σxiyi • Chúng ta có thể sử dụng cùng khái niệm véc-tơ để biểu diễn các vấn đề phức tạp (nhiều chiều) Với hai chiều, chúng ta biểu diễn dạng ma trận, chẳng hạn ma trận mxn: • Các ma trận có cùng kích thước có thể cọng trừ Một ma trận mxn có thể nhân với ma trận nxp ma trận mxp Để đơn giản, chúng ta có thể viết thành: • Một véc tơ n thành phần có thể xem là ma trận 1xn nx1 Một hàm y = f(x) thường sử dụng để mô tả quan hệ (ánh xạ vào-ra) từ x đến y Các hàm thông dụng xem xét đây bao gồm • Hàm ngưỡng hay hàm dấu sgn(x) định nghĩa là • Hàm logic hay hàm sigmoid Sigmoid(x) định nghĩa là Đây là dạng hàm ngưỡng nhẵn (smoothed) TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 54 (55) Mạng nơ-ron nhân tạo và ứng dụng Phụ lục 2: Cài đặt mạng Perceptron lớp với NNToolbox Ứng dụng MATLAB bao gồm tập các công cụ hỗ trợ tính toán kỹ thuật, mà số đó là N N Toolbox cho phép cài đặt các mạng nơ-ron cách trực quan Sau đây là ví dụ sử dụng N N Toolbox để tạo mạng Perceptron lớp thực chức cổng AN D Giả sử mạng Perceptron này có tên gọi là AN DN et, với vector vào p= [0 1;0 1] và vector mong muốn t=[0 0 1] Một đã tạo, mạng AN DN et huấn luyện và kiểm chứng (validate) a Khởi tạo vector vào và vector mong muốn Từ console, chúng ta đánh lệnh nntool, cửa sổ sau xuất Trước tiên, khởi tạo vector vào, gọi là p, có giá trị [0 1; 1] N hư vậy, mạng có đầu vào và bốn mẫu sử dụng cho huấn luyện Để khởi tạo liệu này, nhấn N ew và cửa sổ “Creat N ew Data” xuất Đặt tên (N ame) là p, các giá trị mẫu [0 1; 1] và kiểu liệu (Data Type) là Inputs Click Create và vector vào p đã khởi tạo (và xuất trên cửa số N etwork/Data Manager sau đó) Tiếp đó là khởi tạo vector mong muốn Lần này, tên biến (N ame) là t, giá trị khởi tạo là [0 0 1] và kiểu liệu (Data Type) là Target Một lần click Create và chúng ta thấy vector t xuất cửa sổ N etwork/Data Manager TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 55 (56) Mạng nơ-ron nhân tạo và ứng dụng b Khởi tạo mạng Bây chúng ta khởi tạo mạng AN DN et Chọn nút N ew N etwork, cửa sổ “Creat N ew N etwork” xuất Chúng ta điền tên AN DN et vào mục N ame, chọn Perceptron mục N etwork Type, vector vào p mục Input ranges, sử dụng hàm chuyển là HARDLIM và hàm học là LEARN P Để xem topo mạng, click View c Huấn luyện mạng Để huấn luyện mạng, chọn AN DN et, click Train, sổ N etwork AN DN et xuất Trong thẻ trainng Info, chọn liệu huấn luyện: vector vào p mục Inputs, vector mong muốn t mục Targets và click nút Train N etwork Quá trình huấn luyện thể đồ thị thay đổi AN DN et_errors TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 56 (57) Mạng nơ-ron nhân tạo và ứng dụng d Kiểm tra mạng sau huấn luyện Để kiểm tra mạng sau đã huấn luyện, từ sổ N etwork: AN DN et, chọn thẻ Simulate Trong mục Simulation Data, chọn liệu kiểm tra là vector vào p mục Inputs, click nút Simulate N etwork Kết lưu trên biến AN DN et_outputs, trường hợp này là [0 0 1] TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 57 (58) Mạng nơ-ron nhân tạo và ứng dụng Phụ lục 3: Cài đặt mạng ADALINE với NNToolbox Giả sử chúng ta cần cadi đặt mạng ADALIN E với inputs và output Hình 5-4 Hình 10-4: Mạng ADALINE với inputs Ma trận trọng số W trường hợp này đó có dòng Giá trị mạng là hay Giống mạng Perceptron, mạng ADALIN E có đường định biểu diễn phương trình Wp + b = Các vector vào thuộc vùng màu xám phía trên tạo kết lớn 0, các vector vào thuộc vùng trắng phía cho kết nhỏ không N hư vậy, mạng ADALIN E có thể sử dụng để phân loại các đối tượng thành loại Tuy nhiên, nó có thể thực điều này các đối tượng là có thể tách rời cách tuyến tính N ói cách khác, mạng ADALIN E có cùng hạn chế mạng Perceptron N goài sử dụng N N Toolbox, MATLAB cho phép cài đặt mạng nơ-ron cách sử dụng các dòng lệnh Với giả sử các vector vào là [-1; -1], [1; 1] và vector là [-1 1], câu lệch tạo mạng ADALIN E là sau: net = newlin([-1 1; -1 1],[-1 1]); Các trọng số và biases khởi tạo mặc định là Để thấy các giá trị này, chúng ta sử dụng câu lệnh sau: W = net.IW{1,1} W= 0 b= net.b{1} b= Tuy nhiên, chúng ta có thể tự khởi tạo các giá trị cho trọng số (ví dụ, và 3) và bias (ví TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 58 (59) Mạng nơ-ron nhân tạo và ứng dụng dụ, -4) các câu lệnh sau: net.IW{1,1} = [2 3]; W = net.IW{1,1} W= net.b{1} = [-4]; b = net.b{1} b= -4 Chúng ta có thể huấn luyện mạng ADALIN E với vector vào xác định trước, p = [5;6]; Kết mạng ADALIN E lúc đó là a = sim(net,p) a= 24 TS Võ Viết Minh Nhật, Khoa Du lịch- Đại học Huế 59 (60)