1. Trang chủ
  2. » Công Nghệ Thông Tin

Tổng quan Neural networks

77 2,1K 16
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 77
Dung lượng 505 KB

Nội dung

Tổng quan Neural networks

Trang 1

CHƯƠNG 1

TỔNG QUAN NEURAL NETWORKS

1 GIỚI THIỆU CHUNG

eural Networks 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, NeuralNetworks đều có thể ứng dụng được Sự thành công nhanh chóng của mạng Neural Networkscó thể là do một số nhân tố chính sau:

N

 Năng lực : Neural Networks là những kỹ thuật mô phỏng rất tinh vi, có khả năng môphỏng các hàm cực kỳ phức tạp Đặc biệt, Neural Networks hoạt động phi tuyến.Trong nhiều năm, mô hình tuyến tính là kỹ thuật được sử dụng rộng rãi trong hầu hếtcác lĩnh vực, vì thế mô hình tuyến tính có tính chiến lược tối ưu hóa được biết nhiềunhất

 Dễ sử dụng : Neural Networks có tính học theo các ví dụ Người sử dụng NeuralNetworks thu thập các dữ liệu đặc trưng, và sau đó gọi các thuật toán huấn luyện đểcó thể tự học cấu trúc của dữ liệu Mặc dù người sử dụng làm tất cả những điều cầnthiết để có thể chọn và chuẩn bị dữ liệu, sử dụng loại mạng phù hợp và có thể hiểuđược các kết quả, nhưng mức độ người sử dụng biết cách áp dụng thành công NeuralNetworks vẫn thấp hơn nhiều những người sử dụng các phương pháp thống kê truyềnthống…

Neural Networks dựa trên việc mô phỏng cấp thấp hệ thống neuron sinh học Trong tương laivới sự phát triển mô phỏng neuron sinh học, chúng ta có thể có loại máy tính thông minh thậtsự

2 Ý TƯỞNG SINH HỌC

Neural Networks phát triển từ nghiên cứu về trí tuệ nhân tạo; đặc biệt cố gắng bắt chước bộnão có cấu trúc cấp thấp về khả năng học và chấp nhận sai của hệ thống neuron sinh học

Suốt những năm 1960 – 1980 các nhà nghiên cứu về trí tuệ nhân tạo đã tìm ra ExpertSystems dựa trên mô hình cấp cao về xử lý lý luận của bộ não Mặc dù mô hình đã rất thànhcông trong một vài lĩnh vực, nhưng vẫn chưa bắt chước được trí tuệ con người Điều này là docấu trúc mô hình chưa bằng bộ não Do đó, để tái tạo trí thông minh, chúng ta cần phải xâydựng những hệ thống có cấu trúc giống bộ não con người

Trang 2

Bộ não con người gồm một số rất lớn neuron (khoảng 10.000.000.000 neuron) kết nối vớinhau (trung bình mỗi neuron kết nối với hàng chục ngàn neuron khác) Mỗi neuron là một tếbào đặc biệt, có thể truyền các tín hiệu điện Neuron có cấu trúc rễ ngõ vào, thân tế bào vàcấu trúc rễ ngõ ra (sợi thần kinh) Các sợi thần kinh của một tế bào kết nối với các tế bàokhác thông qua synapse Khi một neuron kích hoạt, nó tạo ra xung điện hóa học dọc theo sợithần kinh Tín hiệu này đi qua các synapse đến các neuron khác, và tiếp tục bị kích hoạt.Neuron hoạt động chỉ khi tất cả các tín hiệu nhận được ở thân tế bào thông qua rễ ngõ vàovượt quá một mức nào đó (ngưỡng hoạt động).

Cường độ tín hiệu thu được của neuron phụ thuộc vào độ nhạy của synapse Chỉ có việc họclàm thay đổi cường độ kết nối synapse Ví dụ như theo thí nghiệm có điều kiện Pavlovian cổđiển, gõ chuông trước khi cho chó ăn tối, con chó nhanh chóng học được rằng rung chuônggắn liền với ăn Kết nối synapse giữa phần vỏ não thính giác và tuyến nước bọt đã nhạy hơn,

vì thế khi rung chuông vỏ não thính giác bị kích thích, con chó bắt đầu tiết nước bọt

Do đó, từ một số rất lớn các đơn vị xử lý rất đơn giản này (mỗi đơn vị thực hiện tổng trọng sốcác ngõ vào sau đó kích hoạt một tín hiệu nhị phân nếu tổng ngõ vào vượt quá ngưỡng), bộnão điều khiển để hoạt động những công việc cực kì phức tạp Dĩ nhiên, sự phức tạp tronghoạt động của bộ não không thể trình bày hết, nhưng dù sao mạng trí tuệ nhân tạo có thể đạtđược một vài kết quả đáng chú ý với mô hình không phức tạp hơn bộ não

3 MÔ HÌNH NHÂN TẠO CƠ BẢN

Neuron nhân tạo được định nghĩa như sau :

 Neuron nhân tạo nhận một số các ngõ vào (từ dữ liệu gốc, hay từ ngõ ra các neuronkhác trong mạng) Mỗi kết nối đến ngõ vào có một cường độ (hay trọng số), nhữngtrọng số này tương ứng với tác dụng synapse trong neuron sinh học Mỗi neuron cũngcó một giá trị ngưỡng

 Tín hiệu được truyền qua hàm kích hoạt (hay còn gọi là hàm truyền) tạo giá trị ngõ raneuron

Nếu sử dụng hàm truyền nấc (nghĩa là ngõ ra neuron là 0 nếu ngõ vào nhỏ hơn 0, và là 1 nếungõ vào lớn hơn hay bằng 0) thì neuron hoạt động giống như neuron sinh học Thực tế, hàmnấc ít khi sử dụng trong mạng trí tuệ nhân tạo Lưu ý rằng trọng số có thể âm, nghĩa làsynapse có tác dụng kiềm chế hơn là kích hoạt neuron, các neuron kiềm chế có thể tìm thấytrong bộ não

Trang 3

Trên đây mô tả các neuron đơn lẻ Trong thực tế các neuron được kết nối với nhau Khimạng hoạt động, chúng phải có ngõ vào (mang giá trị hoặc biến của thế giới thực) và ngõ ra(dùng để dự báo hoặc điều khiển) Ngõ vào và ngõ ra tương ứng với các neuron giác quan vàvận động, như tín hiệu đưa vào mắt và điều khiển cánh tay Tuy nhiên chúng còn có cácneuron ẩn đóng vai trò ẩn trong mạng Ngõ vào, neuron ẩn và ngõ ra cần được kết nối vớinhau.

Vấn đề chính ở đây là hồi tiếp Một mạng đơn giản có cấu trúc tiến : tín hiệu đi vào ở ngõvào, qua các neuron ẩn và cuối cùng đến các neuron ngõ ra Cấu trúc như thế chạy ổn định.Tuy nhiên, nếu mạng có hồi tiếp (chứa các kết nối ngược trở về các neuron trước đó) mạngcó thể chạy không ổn định và dao động rất phức tạp Mạng hồi tiếp rất được các nhà nghiêncứu quan tâm, nhưng cấu trúc tiến đã chứng minh rất hiệu quả trong việc giải quyết các vấnđề thực tế

Mạng Neural Networks tiến cho như hình dưới Các neuron được sắp xếp theo cấu trúc liênkết lớp riêng biệt Lớp ngõ vào không phải là neuron thực : các neuron này hoạt động đơngiản là giới thiệu các giá trị của các biến vào Các neuron lớp ẩn và lớp ngõ ra được kết nốivới tất cả các neuron lớp trước đó Cũng như vậy chúng ta có thể định nghĩa mạng có các kếtnối một phần với một vài neuron trong lớp trước đó; tuy nhiên, trong hầu hết các ứng dụngmạng có kết nối đầy đủ vẫn tốt hơn

Cấu trúc Neural Networks

Khi mạng hoạt động, các giá trị biến ngõ vào được đặt vào các neuron ngõ vào, và sau đó cácneuron lớp ẩn và lớp ngõ ra lần lượt được kích hoạt Mỗi neuron tính giá trị kích hoạt củachúng bằng cách lấy tổng các trọng số ngõ ra của các neuron lớp trước đó, và trừ cho ngưỡng.Giá trị kích hoạt truyền qua hàm kích hoạt tạo ra giá trị ngõ ra của neuron Khi toàn bộ mạngđã hoạt động, các ngõ ra của lớp ngõ ra hoạt động như ngõ ra của toàn mạng

4 SỬ DỤNG NEURAL NETWORKS :

Trang 4

Một loạt vấn đề dẫn tới việc giải quyết bằng mạng Neural được định nghĩa bằng cách nó làmviệc hoặc nó được huấn luyện Neural Networks làm việc từ những ngõ vào khác nhau, đưa

ra những ngõ ra khác nhau Do đó có thể sử dụng khi biết một vài thông tin và sẽ dự đoánnhững thông tin chưa biết

Trang 5

Điều kiện quan trọng trong việc sử dụng Neural Networks là phải biết mối liên hệ giữa ngõvào và ngõ ra biết trước Mối quan hệ này có thể kéo theo nhiều thứ nhưng nó nhất địnhphải tồn tại.

Tổng quát, nếu ta sử dụng một mạng Neural Networks ta sẽ không biết chính xác trạng tháitự nhiên của mối liên hệ giữa ngõ vào và ngõ ra, nếu ta biết mối liên hệ ta sẽ làm mô hình đótrực tiếp Một tính năng khác của Neural Networks là nó có thể học mối liên hệ giữa ngõvào và ngõ ra thông qua việc huấn luyện Có hai loại huấn luyện sử dụng trong NeuralNetworks là huấn luyện có giám sát và không giám sát Với những loại mạng khác nhau thìsử dụng các loại huấn luyện khác nhau Huấn luyện có giám sát sử dụng thông dụng nhất

Trong việc học có giám sát, người sử dụng mạng phải có một tập hợp dữ liệu cần huấn luyện.Tập hợp này chứa những ngõ vào mẫu với ngõ ra tương ứng và mạng sẽ huấn luyện để đưa ramối liên hệ giữa ngõ ra và ngõ vào Tập hợp dữ liệu thường được lấy từ những bản ghi chéptrước đó

Neural Networks sau đó được huấn luyện bằng một trong các thuật toán học có giám sát (vídụ backpropagation), sử dụng các dữ liệu để điều chỉnh trọng số và ngưỡng của mạng sao chocực tiểu hóa sai số trong việc dự báo của mạng trên tập huấn luyện Nếu mạng được huấnluyện chính xác, nghĩa là nó đã học mô phỏng một hàm chưa biết với mối liên hệ giữa ngõ ravà ngõ vào, do đó với các tín hiệu vào đến sau, mạng sẽ dự báo tín hiệu ra tương ứng

5 THU THẬP DỮ LIỆU CHO NEURAL NETWORKS

Một khi ta quyết định giải quyết một vấn đề sử dụng Neural Networks ta cần phải thu thập dữliệu cho mục tiêu huấn luyện Tập hợp dữ liệu huấn luyện bao gồm một số các trường hợp,mỗi trường hợp chứa những giá trị của tầm ngõ vào và ngõ ra khác nhau Những việc đầutiên cần làm là : những biến nào sử dụng, bao nhiêu trường hợp cần thu thập

Sự lựa chọn các biến do trực giác quyết định Công việc chuyên môn của ta trong lĩnh vựccần giải quyết sẽ cho ta những ý tưởng về các biến ngõ vào phù hợp Trong NeuralNetworks, ta có thể chọn và loại bỏ nhiền biến và Neural Networks cũng có thể xác định

Trang 6

bằng thực nghiệm những biến hữu ích Trong bước một ta nên tính đến bất kì biến nào mà tanghĩ có ảnh hưởng đến quá trình thiết kế.

Neural Networks xử lý dữ liệu số trong một tầm giới hạn rõ ràng Điều này đưa ra một vấnđề nếu dữ liệu nằm trong một vùng đặc biệt như dữ liệu chưa biết hay không phải dữ liệu số.May mắn thay có nhiều phương pháp lý tưởng cho vấn đề này, được xây dựng trên NeuralNetworks Dữ liệu số được chia nhỏ thành những khoảng thích hợp cho mạng và những giátrị thiếu có thể được thay thế bằng giá trị trung bình hay giá trị thống kê của biến đó thôngqua những biến khác đã được huấn luyện

Xử lý dữ liệu không phải là số thì khó hơn Loại dữ liệu không phải là số thông thường nhấtlà những biến có giá trị danh định như giới tính (nam, nữ) Biến có giá trị danh định có thểbiểu diễn bằng số học và Neural Networks có chức năng hỗ trợ điều này Tuy nhiên NeuralNetworks làm việc tốt với những trường hợp biến danh định là một tập nhiều giá trị

Số trường hợp mẫu dùng để huấn luyện mạng rất khó xác định Đã có một vài hướng dẫn vềmối liên hệ giữa số trường hợp mẫu với kích thước mạng (cách đơn giản nhất là số trường hợpmẫu gấp 10 lần số kết nối trong mạng) Thực ra số trường hợp mẫu cũng liên quan đến độphức tạp của hàm mà mạng phải học Khi số biến tăng lên, số trường hợp mẫu cần để huấnluyện cũng tăng phi tuyến, vì thế với một số nhỏ các biến (50 hoặc nhỏ hơn) thì lại cần mộtsố lớn các trường hợp mẫu

Trong hầu hết các vấn đề trong thực tế, số trường hợp mẫu là khoảng hàng trăm hay hàngngàn mẫu Đối với những vấn đề rất phức tạp thì cần nhiều hơn, nhưng trường hợp này rất ít.Nếu dữ liệu huấn luyện ít hơn, rõ ràng không đủ thông tin để huấn luyện mạng, và cách tốtnhất là dùng mạng tuyến tính

Nhiều vấn đề trong thực tế có dữ liệu không đáng tin cậy, một vài dữ liệu bị phá hỏng donhiễu, hoặc các giá trị không phối hợp được với nhau Neural Networks có khả năng đặc biệtxử lý dữ liệu bị mất (sử dụng giá trị trung bình hay những giá trị thống kê khác) Vì thế nếudữ liệu đưa vào ít, ta nên đưa vào những trường hợp giá trị bị mất (rõ ràng nếu không có thìkhông lý tưởng) Neural Networks cũng chịu được nhiễu, nhưng cũng phải có giới hạn Nếuthỉnh thoảng có giá trị nằm xa ra khỏi vùng giá trị bình thường thì mạng huấn luyện phải cóngưỡng Cách tốt nhất đối với trường hợp này là nhận ra và loại bỏ những giá trị nằm xa đó(có thể hủy trường hợp này hoặc xem giá trị nằm xa này là giá trị bị mất) Nếu giá trị xa nàykhó nhận ra, Neural Networks có chức năng huấn luyện chịu được giá trị nằm khỏi vùng nàynhưng cách huấn luyện này thường kém hiệu quả hơn là huấn luyện chuẩn

Tóm lại, cách thu thập dữ liệu có thể nói gọn lại như sau :

 Chọn những giá trị huấn luyện có tác dụng

Trang 7

 Dữ liệu số và danh định có thể xử lý trực tiếp bằng Neural Networks Chuyểnnhững loại biến khác sang một trong các dạng này.

 Cần hàng trăm hoặc hàng ngàn trường hợp mẫu huấn luyện; càng nhiều biến thìcàng nhiều mẫu huấn luyện Neural Networks có khả năng nhận ra những biếnhữu dụng để huấn luyện

6 TIỀN VÀ HẬU XỬ LÝ

Tất cả các mạng Neural Networks lấy giá trị vào và ra là số Hàm truyền thường được chọnsao cho có thể chấp nhận bất cứ vùng giá trị vào nào, và giá trị ngõ ra hữu hạn (có tác dụngnén) Mặc dù ngõ vào có bất kì giá trị nào, nên hàm truyền có giá trị bão hòa và chỉ nhạy

trong một vùng hữu hạn nào đó Hình vẽ dưới đây là một hàm truyền cơ bản nhất, logsig.

Trong trường hợp này, ngõ ra chỉ có giá trị từ (0,1), và ngõ vào chỉ nhạy trong vùng giá trị (-1,1) Hàm này liên tục và dễ lấy vi phân, do đó các hàm huấn luyện dễ phân tích để huấnluyện mạng (đây là lý do tại sao không dùng hàm nấc trong thực tế)

0 0.2 0.4 0.6 0.8

1

Hàm Logsig

Do vùng đáp ứng hữu hạn và thông tin vào dưới dạng số, nên trong ứng dụng thực tế, neuralthường có các bước tiền xử lý và hậu xử lý Hai vấn đề cần hiểu rõ là :

Phân đoạn : Giá trị số phải được chia thành một tầm thích hợp trong mạng Thông thường

giá trị biến ban đầu được phân đoạn thô tuyến tính

Trang 8

Trong một vài trường hợp, phân đoạn phi tuyến có thể thích hợp (ví dụ nếu biết một biếnđược phân bố theo hàm mũ, ta phải dùng logarit).

Biến danh định : có thể có hai hay nhiều trạng thái Biến danh định hai trạng thái dễ dàng

biểu diễn dưới dạng giá trị số (ví dụ nam = 0; nữ =1) Biến danh định nhiều trạng thái khó xửlý hơn Nó có thể biểu diễn dưới dạng số Cách tốt nhất là mã hóa một trong N, sử dụng mộtsố trong một tập số đại diện cho một biến danh định đơn Số giá trị trong tập bằng với số giátrị có thể có, (ví dụ chó={1,0,0}, thỏ={0,1,0}, mèo={ 0,0,1}) Neural Networks có khả năngbiến đổi cả những biến danh định hai trạng thái và nhiều trạng thái để sử dụng trong mạng.Nhưng biến danh định trong một tập rất nhiều trạng thái sẽ cần một số lớn tập mã một trong

N, dẫn đến kích thước mạng rất lớn và khó huấn luyện Trong trường hợp như vậy chúng tacó thể mô phỏng biến danh định sử dụng chỉ số số đơn (mặc dù chưa đúng), ngoài ra chúng taphải tìm kỹ thuật khác tốt hơn để biểu diễn thông tin

Vấn đề dự đoán có thể chia ra làm hai phạm trù chính : phân loại và hồi quy

 Trong vấn đề phân loại, mục tiêu là xác định ngõ vào thuộc lớp nào Trongtrường hợp này, ngõ ra yêu cầu rõ ràng là một biến danh định đơn Nhiệm vụphân loại thông thường nhất là hai trạng thái

 Trong vấn đề hồi quy, mục tiêu là dự đoán giá trị của biến liên tục Trong trườnghợp này, ngõ ra yêu cầu là một biến số đơn

Hiện nay Neural Networks có thể thực hiện một số phân loại và hồi quy cùng một lúc, mặcdù thông thường mỗi mạng chỉ hoạt động một nhiệm vụ Vì thế, phần lớn các trường hợp,mạng có một biến ngõ ra đơn, mặc dù trong vấn đề phân loại nhiều trạng thái, mạng cần mộtsố các neuron ở lớp ngõ ra

7 PERCEPTRON NHIỀU LỚP

Ngày nay, Perceptron là cấu trúc mạng được dùng phổ biến nhất Mỗi neuron lấy tổng trọngsố và ngưỡng của ngõ vào, qua hàm truyền đến ngõ ra, các neuron được sắp xếp theo các lớptới Vì thế mạng có thể mô phỏng các hàm phức tạp tùy theo số lớp và số neuron mỗi lớp

Tùy theo vấn đề mà các neuron có số ngõ vào và ngõ ra khác nhau Chúng ta không thể biếtchính xác sẽ sử dụng bao nhiêu ngõ vào Tuy nhiên, chúng ta giả sử rằng số ngõ vào có thểchọn lựa dễ dàng Và để dễ dàng, thường ta chọn có một lớp ẩn và số neuron trong đó bằngmột nửa tổng số ngõ vào và ngõ ra

Trang 9

7.1 Huấn luyện Perceptron nhiều lớp

Khi số các lớp, số neuron mỗi lớp đã được chọn, trọng số và ngưỡng của mạng phải được càiđặt sao cho có được cực tiểu sai số trong việc dự đoán của mạng Đây chính là công việc củacác thuật toán huấn luyện Các trường hợp mẫu chúng ta thu thập đưa qua mạng để mạng tựđiều chỉnh trọng số và ngưỡng sao cho cực tiểu hóa lỗi Lỗi trong một cấu hình cụ thể củamạng được xác định bằng cách cho chạy tất cả các trường hợp huấn luyện qua mạng, so sánhgiá trị ngõ ra của mạng với giá trị mong muốn Lỗi này được tính theo hàm sai số của mạng.Thông thường hàm sai số là tổng bình phương lỗi (SSE – Sum Squared Error)

Khái niệm cần biết thêm là mặt phẳng sai số Mỗi trọng số và ngưỡng trong tổng số N trọngsố và ngưỡng được xem là một chiều trong không gian Chiều thứ (N + 1) là sai số mạng.Đối với bất kỳ cấu hình trọng số nào, lỗi cũng có thể vẽ ở chiều thứ (N+1), tạo thành mặtphẳng lỗi Đối tượng của việc huấn luyện mạng là tìm điểm thấp nhất trong mặt phẳng nhiềuchiều này

Trong mạng tuyến tính có hàm sai số SSE, mặt phẳng sai số là parapol, nghĩa là có một giá trịnhỏ nhất Do đó chúng dễ dàng xác định giá trị cực tiểu Chúng ta không thể xác định được

vị trí giá trị nhỏ nhất của mặt phẳng sai số, và vì thế huấn luyện mạng Neural Networks cầnphải phân tích tỉ mĩ mặt phẳng sai số Từ cấu hình ngẫu nhiên các trọng số và ngưỡng banđầu (nghĩa là điểm ngẫu nhiên trên mặt phẳng sai số) các thuật toán huấn luyện tìm kiếmđến giá trị nhỏ nhất Thông thường, việc tìm kiếm dựa trên gradient (độ dốc) trên mặt phẳngsai số tại điểm hiện tại, và sau đó sẽ di chuyển xuống giá trị nhỏ hơn Do đó có nhiều khảnăng thuật toán dừng ở điểm thấp là điểm giá trị cực tiểu cục bộ (nhưng dù sao cũng hy vọnglà giá trị nhỏ nhất)

7.2 Thuật toán backpropagation.

Các ví dụ phổ biến nhất về thuật toán huấn luyện Neural Networks là backpropagation Cácthuật toán bậc hai hiện đại như conjugate gradient descent và Levenberg – Marquardt cơ bảnnhanh hơn trong nhiều vấn đề, nhưng backpropagation vẫn có một số ưu điểm trong một vàitrường hợp khác, và là thuật toán dễ hiểu nhất

Trong backpropagation, vector gradient của mặt phẳng sai số được tính toán Vector này chỉ

ra đường giảm dốc nhất và vị trí hiện tại, vì thế chúng ta biết rằng nếu chúng ta di chuyểndọc theo nó một “khoảng ngắn”, cuối cùng chúng ta sẽ đạt được giá trị nhỏ nhất Khó khăn ởđây là quyết định độ lớn của từng bước di chuyển

Bước lớn có thể hội tụ nhanh hơn, nhưng có thể vượt quá điểm cần đến hay đi ra khỏi vùng cócực tiểu (nếu mặt phẳng sai số bị lệch tâm) Ngược lại, bước quá nhỏ có thể đi đến đúng

Trang 10

hướng nhưng chúng ta cần phải thực hiện phép lặp nhiều lần Trong thực tiễn, kích thướcbước tỷ lệ với độ dốc và hằng số đặc biệt : tốc độ học Giá trị chính xác tốc độ học phụ thuộcvào từng ứng dụng cụ thể, và thường được chọn qua thực tiễn.

Thuật toán thường có thêm khái niệm momentum Momentum sẽ thúc đẩy di chuyển đi theotheo một hướng xác định nếu sau khi qua nhiều bước đi cùng một hướng, thuật toán sẽ dichuyển nhanh hơn, đưa đến khả năng thoát khỏi vùng giá trị cực tiểu cục bộ và cũng có thể dichuyển nhanh chóng qua vùng bằng phẳng

Thuật toán do đó xử lý lặp đi lặp lại, sau một số epoch Ở mỗi epoch, các trường hợp huấnluyện sẽ được đưa ra xem xét trong mạng, các ngõ ra thực và mong muốn được so sánh vàtính toán lỗi Lỗi này kết hợp với gradent mặt phẳng sai số, sử dụng để điều chỉnh trọng sốvà sau đó quá trình xử lý lặp lại Cấu hình mạng ban đầu là ngẫu nhiên, và huấn luyện chỉdừng lại khi số vòng lặp epoch tối đa cho phép xảy ra hay khi sai số đạt được ở một mức chophép, hoặc khi sai số không tăng nữa

7.3 Học quá mức và tổng quát hóa

Một vấn đề mà các kỹ thuật trên không thực sự cực tiểu sai số là khi chúng ta đưa một trườnghợp mới vào mạng Nói cách khác, thuộc tính mong muốn nhất của mạng là khả năng tổngquát hóa các trường hợp mới Thực ra, mạng được huấn luyện cực tiểu hóa sai số dựa trêntập huấn luyện, tập này không hoàn hảo và hữu hạn, rõ ràng sẽ không đúng khi cực tiểu saisố trên mặt phẳng sai số thực – mặt phẳng sai số của mô hình cơ sở và chưa biết

Sự phân biệt ở đây chính là học quá mức hay khít quá mức Cách dễ nhất để minh họa kháiniệm này là việc dò theo đồ thị đường cong đa thức hơn là minh họa bằng Neural Networksnhưng ý nghĩa thì giống nhau

Đa thức là phương trình có các hệ số và lũy thừa hằng số

Ví dụ : y = 2x + 3

y= 3x2 + 4x + 1

Các đa thức khác nhau có đồ thị khác nhau, với bậc lớn hơn (và do đó có nhiều số hạng hơn)sẽ có đồ thị phức tạp hơn Với một tập dữ liệu cho trước, chúng ta muốn tìm ra đa thức biểudiễn dữ liệu này Dữ liệu có thể có nhiễu, vì thế chúng ta không cần thiết tìm ra phương trìnhđúng nhất cho tất cả các điểm Đa thức bậc thấp hơn sẽ không thể đủ chính xác với tất cả cácđiểm, trong khi đó đa thức bậc cao hơn chính xác tất cả các dữ liệu sẽ rất phức tạp, đa thứcnày sẽ có đồ thị không đúng với hàm cơ sở

Trang 11

Neural Networks cũng có vấn đề như vậy Mạng có càng nhiều trọng số thì hàm càng phứctạp và do đó sẽ rơi vào tình trạng khít quá mức Mạng có ít trọng số hơn sẽ không đủ khảnăng để mô phỏng hàm cơ sở Ví dụ như mạng không có các lớp ẩn chỉ mô phỏng hàmtruyền tuyến tính đơn giản

Vậy chúng ta sẽ chọn lựa độ phức tạp của mạng đúng như thế nào? Mạng lớn hơn sẽ hầunhư luôn luôn có được sai số nhỏ hơn, nhưng điều này có thể là khít quá mức hơn là một môhình tốt

Câu trả lời là sử dụng xác nhận mức giao Vài mẫu huấn luyện được lưu lại và không thực sựdùng cho huấn luyện trong thuật toán backpropagation Để thay thế, những mẫu này được sửdụng để kiểm tra độc lập trong quá trình của thuật toán Như vậy hiệu suất ban đầu củamạng luôn luôn bằng nhau ở những tập huấn luyện và xác minh lại Trong quá trình huấnluyện, sai số huấn luyện tự nhiên giảm xuống, và cho phép huấn luyện cực tiểu hóa hàm saisố thực, sai số xác minh cũng giảm xuống Tuy nhiên, nếu sai số xác minh không giảm, haybắt đầu tăng lên, điều này có nghĩa là mạng bắt đầu khít quá mức dữ liệu, và huấn luyện nêndừng lại (có thể cài đặt Neural Networks tự động dừng lại khi bắt đầu học quá mức) Trườnghợp khít quá mức xảy ra trong quá trình xử lý huấn luyện gọi là học quá mức Trong trườnghợp này, chúng ta nên giảm số neuron ẩn hay/và lớp ẩn vì mạng quá mạnh đối với vấn đềnày Ngược lại, nếu mạng không đủ mạnh để mô phỏng hàm cơ sở, học quá mức không cókhả năng xảy ra, cũng như sai số huấn luyện hay xác minh lại không rơi vào mức bão hòa

Những vấn đề liên quan đến cực tiểu cục bộ, và những quyết định sử dụng quá kích thước củamạng, nghĩa là chúng ta phải chạy thử trên nhiều mạng khác nhau, có thể huấn luyện mỗimạng vài lần (để tránh rơi vào trường hợp cực tiểu cục bộ sai số) và quan sát hiệu suất từngmạng Điều quan trọng là quan sát sai số xác minh Tuy nhiên, nên nhớ rằng nên mô phỏngmạng đơn giản hơn là mạng phức tạp, chúng ta cũng thể chọn mạng nhỏ hơn là mạng lớn cókhả năng cải thiện sai số xác minh không đáng kể

Vấn đề đối với kỹ thuật này về việc thí nghiệm lặp đi lặp lại là tập xác minh không thực sựđóng vai trò chọn lựa mạng, nghĩa là nó chỉ là một phần trong quá trình huấn luyện Độ tincậy của nó chỉ ở mức độ vừa phải – khi số lần thí nghiệm đủ, chúng ta có khả năng rơi vàotrường hợp mạng thực hiện tốt trên tập xác minh Để thêm độ tin cậy hiệu suất của mô hìnhcuối cùng thì trong thực tế thường sử dụng thêm một tập thứ ba – là tập kiểm tra Mô hìnhcuối cùng được kiểm tra với tập dữ liệu kiểm tra để đảm bảo rằng kết quả của tập xác minhvà huấn luyện là thật

Tóm lại, việc thiết kế mạng (khi các biến ngõ vào đã được chọn) gồm các bước sau:

 Chọn cấu hình ban đầu (thường một lớp ẩn có số neuron ẩn bằng nửa tổng số neuronngõ vào và ngõ ra)

Trang 12

 Thực hiện lặp đi lặp lại số thí nghiệm của mỗi cấu hình, giữ lại mạng tốt nhất (thườngdựa trên sai số xác minh) Thí nghiệm nhiều lần trên mỗi cấu hình mạng để tránhrơi vào sai số cục bộ.

 Trong mỗi lần thí nghiệm, nếu xảy ra việc học chưa đủ (mạng không đạt được mứchiệu suất chấp nhận) thì thử tăng số neuron trong lớp ẩn Nếu không hiệu quả, thìthêm một lớp ẩn

 Nếu xảy ra học quá mức (sai số xác minh bắt đầu tăng lên) thử bỏ bớt một vài neuronẩn (và có thể bỏ lớp ẩn)

7.4 Chọn lựa dữ liệu

Các bước mô tả trên đều dựa trên một giả định, đó là dữ liệu huấn luyện, xác minh và kiểmtra phải đại diện cho mô hình cơ sở (hơn nữa, ba tập này phải độc lập) Nếu dữ liệu huấnluyện không đặc trưng thì giá trị mô hình chỉ là một sự dàn xếp, xấu nhất có thể không sửdụng được

Tương lai không phải là quá khứ Dữ liệu huấn luyện đặc trưng cho những gì đã

xảy ra Nếu môi trường thay đổi, mối quan hệ neuron trong mạng không còn phùhợp nữa

Tất cả các trường hợp phải được khái quát Neural Networks chỉ có thể học từ

những mẫu được đưa vào Do đó Neural Networks không thể có một quyết địnhđúng khi neuron chưa được huấn luyện

 Mạng chỉ có thể học theo cách dễ nhất mà nó có thể

7.5 Tìm hiểu cách huấn luyện MLP

Để hiểu được cách hoạt động và huấn luyện MLP, chúng ta phải tìm hiểu các loại hàm màmạng mô phỏng Mức kích hoạt của một neuron phụ thuộc tổng trị số và giá trị ngưỡng.Nghĩa là mức kích hoạt là một hàm tuyến tính của ngõ vào Sau đó tín hiệu được đưa quahàm truyền sigmoid Việc kết hợp hàm tuyến tính đa chiều và hàm sigmoid một chiều sẽ chođặc tính đáp ứng sigmoid “dựng đứng” của lớp neuron MLP ẩn đầu tiên Thay đổi trọng sốvà ngưỡng sẽ thay đổi mặt phẳng đáp ứng Cụ thể, cả phương của mặt phẳng và độ dốc cóthể bị thay đổi Độ dốc càng lớn tương ứng với trọng số càng lớn : nếu tất cả giá trị trọng sốtăng gấp đôi thì cho cùng một phương nhưng có độ dốc khác nhau

Trang 13

Đáp ứng sigmoid

Mạng đa lớp là kết hợp nhiều mặt phẳng đáp ứng này, qua việc kết hợp các hàm kích hoạttuyến tính và phi tuyến Hình trên minh họa mặt phẳng đáp ứng đặt trưng của mạng chỉ cómột lớp ẩn có 2 neuron và 1 neuron ngõ ra, thực hiện XOR hai tín hiệu Hai mặt phẳngsigmoid độc lập kết hợp lại tạo thành mặt phẳng hình chữ U đơn

Mặt phẳng đáp ứng hai hàm sigmoid

Suốt quá trình huấn luyện mạng, đầu tiên trọng số và ngưỡng được cài đặt nhỏ và ngẫunhiên Nghĩa là mặt phẳng đáp ứng của các neuron được sắp xếp ngẫu nhiên với độ dốcnhỏ: chúng không bị ép buộc Khi xử lý huấn luyện, các mặt phẳng đáp ứng của cácneuron được xoay và dời đến các vị trí tương ứng, biên độ của các trọng số thay đổi để môphỏng các vùng cụ thể của mặt phẳng đáp ứng đích

Về vấn đề phân loại, ngõ ra của neuron là tín hiệu mạnh nếu trường hợp đưa vào thuộcnhóm đó, và yếu nếu không phải Nói cách khác, mạng mô phỏng một hàm có biên độ làmột trong không gian mẫu mà mạng có, và biên độ là zero nếu không có Trong vấn đề

Trang 14

nhận dạng mẫu, đây là một hàm biệt thức Một hàm biệt thức lý tưởng có độ cao tất cả cácđiểm trên hàm là 1 hoặc 0.

Nếu không có các neuron ẩn, thì ngõ ra chỉ có thể mô phỏng một hàm sigmoid dốc với mộtbên có độ cao thấp và bên kia có độ cao khác Ta sẽ luôn luôn có một vùng ở giữa có độcao trung bình, nhưng khi các biên độ trọng số tăng, vùng này bị co lại

Hàm sigmoid dốc chỉ là một hàm biệt thức tuyến tính Các điểm ở một bên của độ dốcđược phân loại thuộc vào một nhóm và các điểm phía bên kia thì không thuộc nhóm Nghĩalà mạng không có lớp ẩn chỉ có thể phân loại các vấn đề độc lập tuyến tính

Mạng một lớp ẩn có một số hàm sigmoid dốc (mỗi hàm một neuron ẩn) biểu diễn cho lớpẩn đó, và các hàm này sau đó kết hợp thành một hàm dãi ở lớp ra Hàm dãi có lớp biên lồi(nghĩa là không bị nhấp nhô và không có lỗ hổng trong đó) Mặc dù hàm dãi lồi, nó có thểmở rộng ra vô cùng theo hướng nào đó Mạng như thế trong thực tế có khả năng mô phỏngthỏa đáng hầu hết các vấn đề phân loại trong thế giới thực của chúng ta

Một MLP có mặt phẳng đáp ứng dãi thực hiện XOR hai tín hiệu

Mạng hai lớp ẩn có một số hàm dãi kết hợp với nhau – số dãi tương ứng với số neuron tronglớp thứ hai, và số cạnh của mỗi dãi tương ứng với số neuron trong lớp thứ nhất Dễ dàngthấy rằng có thể biểu diễn bất kỳ hình dạng nào (cả mặt lõm và lỗ hổng) khi sử dụng một sốđủø lớn các hàm dãi

MLP hai lớp ẩn theo lý thuyết có thể mô phỏng bất kỳ vấn đề gì Điều này không có nghĩa làmạng có hơn hai lớp không thuận tiện hay dễ mô phỏng hơn Tuy nhiên, trong thực tế hầuhết các vấn đề đều thực hiện bằng mạng có một lớp ẩn

Trong vấn đề phân loại, ta định nghĩa như thế nào là trên hoặc gần dốc Thực tế chuẩn chấpnhận dựa vào một số cấp độ tin cậy (ngưỡng chấp nhận và loại bỏ) phải vượt qua ngưỡng đó

Trang 15

trước khi neuron tưởng rằng phải “có một quyết định” Ví dụ, nếu ngưỡng chấp nhận/loại bỏlà 0,95/0,05, ngõ ra neuron vượt qua 0,95 được coi như chấp nhận, dưới 0,05 thì coi như loạibỏ và ở giữa coi như “không quyết định”.

Một cách hiểu tinh vi (và có thể hữu ích hơn) là xem xét ngõ ra mạng như là các xác suất.Trong trường hợp này, mạng cho nhiều thông tin hơn một quyết định đơn giản : đó là độ đángtin cậy của quyết định đó Có một số bổ sung cho MLP để cho phép ngõ ra mạng hiểu như làcác xác suất, nghĩa là mạng học có hiệu quả để mô phỏng hàm mật độ xác suất của nhóm.Tuy nhiên, hiểu theo xác suất chỉ có thể có giá trị dưới một số giả thiết nhất định về sự phânbố của dữ liệu (đặc biệt được rút ra từ họ các phân bố hàm mũ) Cuối cùng, một quyết địnhphân loại vẫn phải có, nhưng hiểu theo xác suất cho phép quyết định có “giá phải trả nhỏnhất”

7.6 Các thuật toán huấn luyện MLP khác

Phần trên đã nói về thuật toán backpropagation thực hiện theo độ dốc gradient trên mặtphẳng sai số Nghĩa là mạng tính hướng dốc nhất trên mặt phẳng, và “nhảy xuống” trên mặtphẳng một khoảng tỷ lệ với tốc độ học và độ dốc, tăng tốc theo momemntum khi nó duy trìtheo một hướng cố định Thực ra, độ dốc được tính phụ thuộc vào mặt phẳng sai số của mỗimẫu huấn luyện và theo một thứ tự ngẫu nhiên, nhưng điều này thực sự là một phép tính xấp

xỉ tốt về độ dốc trên mặt phẳng sai số đa hợp Các thuật toán huấn luyện MLP khác làm việccó khác, nhưng tất cả đều sử dụng một chiến lược thiết kế để di chuyển về điểm nhỏ nhấtcàng nhanh càng tốt

Các kỹ thuật tinh vi hơn cho việc tối ưu hóa là hàm phi tuyến đôi khi được sử dụng là : độ dốcgradient liên hợp (conjugate gradient descent) và Levenberg – Marquardt đã rất thành côngđối với hai loại thuật toán : kỹ thuật định hướng đường (line search) và vùng mô phỏng tincậy (model – trust region)

Thuật toán định hướng đường làm việc như sau : lấy ra một hướng nhạy để di chuyển theochiều ngang đa chiều, rồi chiếu đường thẳng theo hướng đó để xác định điểm nhỏ nhất và lặplại Vậy hướng nhạy là như thế nào? Rõ ràng đây là hướng có độ dốc lớn nhất (giống nhưhướng được chọn trong backpropagation) Ý tưởng ở đây là khi thuật toán đã cực tiểu hóadọc theo một hướng cụ thể nào đó, thì đạo hàm bậc hai dọc theo hướng đó phải giữ ở zero.Các hướng liên hợp được chọn để giữ đạo hàm bậc hai zero này với giả thiết mặt phẳng nàylà parabol Nếu điều kiện này được giữ, N epoch sẽ đủ đạt được giá trị cực tiểu Thực tế,trên mặt phẳng phức, lấy liên hợp sẽ làm xấu tình hình hơn, nhưng thuật toán cần ít epochhơn backpropagation, và cũng hội tụ cực tiểu tốt hơn (định vị hoàn toàn, backpropagationphải chạy với tốc độï học cực chậm)

Trang 16

Kỹ thuật vùng mô phỏng tin cậy làm việc như sau : thay vì theo một định hướng cố định, tagiả sử mặt phẳng có hình dạng đơn giản sao cho cực tiểu có thể định vị (và nhảy tới) trực tiếp,nếu giả thiết là đúng Thử mô hình và xem xét mức độ tốt của điểm được chọn Mô hìnhthường được giả sử rằng mặt phẳng có hình dạng tốt (ví dụ như parabol) sẽ đúng nếu gần đạtđược cực tiểu Ngoài điểm đó, giả thiết có thể bị vi phạm, và mô hình có thể chọn nhữngđiểm sai để di chuyển Mô hình chỉ có thể được tin cậy trong một vùng của điểm hiện tại, vàkích thước của vùng này thì chưa biết Do đó, chọn các điểm mới để kiểm tra giữa điểm đượcchọn bởi mô hình và điểm được chọn bằng bước nhảy độ dốc gradient chuẩn Nếu điểm mớitốt, di chuyển đến điểm đó và tăng cường vai trò của mô hình trong việc chọn lựa một điểmmới; nếu xấu, không di chuyển, và tăng cường vai trò của bước dốc gradient trong việc chọnđiểm mới (và làm cho bước nhỏ hơn) Levenberg – Marquardt sử dụng một mô hình có giảthiết rằng hàm cơ sở là tuyến tính (và do đó có mặt phẳng sai số parabol).

Leverberg – Marquardt thường có tốc độ huấn luyện nhanh nhất, nhưng có một vài giới hạn,đặc biệt chỉ sử dụng ở mạng có một ngõ ra, chỉ có thể sử dụng hàm sai số tổng bình phươngvà yêu cầu bộ nhớ tỷ lệ với W2 (với W là số trọng số trong mạng, điều này làm cho thuật toánkhông thực tế đối với mạng lớn) Độ dốc gradient liên hợp gần như tốt trong trường hợp này,không chịu những giới hạn này

Backpropagation dù sao vẫn rất hữu dụng, nhưng không cho tốc độ nhanh Đây là phươngpháp tốt khi tập dữ liệu rất lớn, và chứa một lượng lớn dữ liệu thừa Backpropagation điềuchỉnh sai số từng trường hợp một nên dữ liệu thừa không làm ảnh hưởng đến mạng (ví dụ,nếu ta tăng gấp đôi kích thước tập dữ liệu bằng cách lặp lại từng mẫu, mỗi epoch sẽ kéo dàigấp đôi, nhưng có cùng tác dụng nếu ta đưa hai lần epoch của tập dữ liệu cũ, vì thế không cóthiệt hại) Ngược lại Leverberg–Marquardt với kích thước bằng 4 thực hiện tính toán sử dụngtoàn bộ tập dữ liệu, vì thế tăng số trường hợp có thể làm chậm đáng kể mỗi epoch, nhưngkhông cải thiện hiệu suất cần thiết trên epoch đó (không cải thiện hiệu suất nếu dữ liệu làthừa, nếu dữ liệu ít thì việc thêm dữ liệu sẽ làm cho mỗi epoch tốt hơn) Backpropagation cótính chất tốt như nhau nếu dữ liệu rất ít

8 CÁC MẠNG HÀM RADIAL BASIS

Phần trên chúng ta đã xem xét hàm đáp ứng của mô hình MLP là kết hợp các hàm dốcsigmoid – trong vấn đề phân loại, điều này tương ứng chia không gian mẫu bằng siêu mặtphẳng Sử dụng mặt phẳng chia không gian mẫu là kỹ thuật tự nhiên và dựa trên khái niệmđường thẳng

Trang 17

Đáp ứng của neuron Radial Basis

Một kỹ thuật trực giác và hấp dẫn giống như vậy chia không gian sử dụng bằng vòng tròn hay(tổng quát hơn) siêu hình cầu Một siêu hình cầu có tâm và bán kính Tổng quát hơn, giốngnhư đáp ứng neuron MLP (phi tuyến), khoảng cách giữa các điểm đến đường dốc sigmoid,trong mạng radial basis, đáp ứng của các neuron (phi tuyến) là khoảng cách của các điểm đếntâm, đại diện là bán kính neuron Mặt phẳng đáp ứng của một neuron radial đơn do đó làhàm Gaussian (hình chuông) đỉnh đặt tại tâm và giảm hai bên Giống như độ dốc của đườngcong sigmoid trong MLP có thể thay đổi, độ dốc của neuron radial hàm Gaussian cũng nhưvậy

Các neuron MLP được định nghĩa bằng trọng số và ngưỡng của nó, kết hợp lại đưa ra phươngtrình đường định nghĩa, tốc độ giảm của hàm từ đường thẳng đó Trước khi áp dụng hàm kíchhoạt sigmoid, tốc độ kích hoạt của neuron là siêu mặt phẳng, và do đó gọi là neuron tuyếntính (mặc dù hàm kích hoạt là phi tuyến) Ngược lại neuron radial được định nghĩa bằng tâmđiểm và bán kính Một trong không gian N chiều được định nghĩa bằng N số, tương ứng vớisố trọng số trong neuron tuyến tính, vì thế tâm của một neuron radial trong Neural Networksxem như là trọng số Giá trị bán kính (hoặc độ lệch) được lưu lại xem như là ngưỡng Rõràng giá trị trọng số và ngưỡng trong neuron radial hoàn toàn khác so với neuron tuyến tính,và thuật ngữ này rất nguy hiểm nếu chúng ta không nhớ điều này : trọng số neuron radial tạothành một điểm và một ngưỡng trong neuron radial thực sự là độ lệch

Mạng radial basis (RBF) một lớp ẩn gồm các neuron radial, mỗi neuron thực sự mô phỏngbằng mặt phẳng đáp ứng Gaussian Vì thế các hàm này là phi tuyến Không cần thiết cónhiều hơn một lớp để mô phỏng bất kỳ hình dạng nào của một hàm : các neuron radial sẽluôn luôn đủ để mô phỏng bất kỳ hàm nào Câu hỏi còn lại là việc kết hợp các ngõ ra củaneuron radial như thế nào để tạo thành các ngõ ra của mạng? Như vậy mạng sẽ sử dụng việckết hợp tuyến tính các ngõ ra này (nghĩa là tổng trọng số các hàm Gaussian) RBF có mộtlớp ngõ ra chứa các neuron tuyến tính có hàm kích hoạt tuyến tính

Trang 18

Mạng RBF có một số các ưu điểm so với MLP Đầu tiên, chúng có thể mô phỏng bất kỳ hàmphi tuyến nào sử dụng một lớp ẩn, loại bỏ một vài quyết định trong thiết kế về số lớp ẩn.Thứ hai, phép biến đổi tuyến tính đơn giản ở lớp ngõ ra có thể sử dụng các kỹ thuật môphỏng tuyến tính truyền thống nhanh và không có các vấn đề như cực tiểu cục bộ, là nhượcđiểm trong các kỹ thuật huấn luyện MLP Mạng RBF do đó có thể huấn luyện rất nhanh.

Mặt khác trước khi sử dụng lớp tuyến tính tạo ngõ ra của mạng RBF, số neuron radial phảiđược quyết định, sau đó tâm và độ lệch phải được cài đặt Mặc dù huấn luyện nhanh hơn rấtnhiều MLP, các thuật toán để làm được điều này không nghiêng về việc tìm ra các kết hợpgiữa các neuron tối ưu Do đó người thiết kế mạng phải thực hiện các lớp bằng thực nghiệm

Đặc trưng khác phân biệt giữa RBF và MLP là sự khác nhau trong không gian mô phỏng,RBF kết thành một khối và MLP thì dàn trải

Những người có kinh nghiệm làm việc với RBF nói rằng mặt phẳng đáp ứng RBF càng lệchtâm thì càng cần nhiều neuron hơn để mô phỏng Dĩ nhiên ta có thể vẽ được hình dạng dễdàng bằng cách này hay cách khác nhưng RBF không thiên về cân bằng Hậu quả là, giảipháp dùng RBF có xu hướng hoạt động chậm hơn và sử dụng không gian nhiều hơn mạngMLP tương ứng (nhưng dù sao huấn luyện vẫn nhanh hơn rất nhiều, đôi khi ép buộc mạngnhiều hơn)

Kỹ thuật “khối” cũng có nghĩa là RBF không nghiêng về ngoại suy ra ngoài vùng dữ liệu :đáp ứng sẽ rơi nhanh xuống zero nếu dữ liệu sử dụng ra xa tập dữ liệu huấn luyện Đây là ưuđiểm hay khuyết điểm phụ thuộc vào lĩnh vực ứng dụng, nhưng trên tổng thể việc ngoại suykhông tính toán của MLP xem như là một nhược điểm : ngoại suy ra xa dữ liệu huấn luyện thìthường nguy hiểm và không đúng

Như đã đề cập ở trên huấn luyện mạng RBF qua các bước rõ ràng Đầu tiên cài đặt tâm vàđộ lệch của neuron radial, sau đó lớp ngõ ra tuyến tính dùng để tối ưu hóa mạng

Tâm được gán để phản ánh bản chất các nhóm dữ liệu Có hai phương pháp thông thườngnhất là :

 Lấy mẫu con : các điểm huấn luyện được chọn ngẫu nhiên đưa vào các neuron radial

Vì chúng được chọn ngẫu nhiên nên sẽ “đại diện” cho phân bố của dữ liệu huấn luyệntheo ý nghĩa thống kê Tuy nhiên, nếu số neuron radial không lớn thì các neuron radialbiểu diễn kém

 Thuật toán trung bình K : thuật toán này cố gắng chọn ra các tập tối ưu các diểm đặt tạitrọng tâm của các nhóm dữ liệu huấn luyện K neuron radial cho trước sẽ điều chỉnh vịtrí các tâm sao cho :

Trang 19

- Mỗi điểm huấn luyện nằm trong một tâm nhóm và gần tâm này hơn cáctâm khác.

- Mỗi tâm nhóm là tâm của các điểm huấn luyện của nó

Khi các tâm đã được gán, độ lệch cũng được cài đặt Kích thước của độ lệch xác định độnhọn của hàm Gaussian Nếu hàm Gaussian rất nhọn, mạng sẽ không ngoại suy giữa cácđiểm đã biết, và mạng mất đi khả năng tổng quát hóa Nếu hàm Gaussian trải rộng, mạngmất đi các chi tiết tốt Đây là một cách biểu thị khác của vấn đề khó xử là khít quá/ chưa khítdữ liệu Độ lệch thường được chọn sao cho hàm Gaussian phủ lên một vài tâm gần kề Cácphương pháp thường dùng là :

 Tự chọn : ta tự chọn lấy độ lệch

 Đẳng hướng : độ lệch bằng nhau cho tất cả các neuron radial được tự chọn để phản ánhmột số tâm và khối lượng không gian mà nó chiếm

 K neuron gần kề nhất : độ lệch của mỗi neuron được cài độc lập bằng khoảng cáchtrung bình của K neuron gần kề nó nhất Vì thế, các độ lệch nhỏ hơn gói gọn sít saokhông gian, giữ lại các chi tiết và có thể ngoại suy nếu cần thiết

Khi các tâm và độ lệch được chọn, lớp ra có thể được tối ưu hóa sử dụng kỹ thuật tối ưu hóachuẩn

Các hàm radial basis cũng có thể kết hợp với một số cách khác Lớp ngõ ra có thể thay thếbằng các hàm kích hoạt phi tuyến, trong trường hợp này ta có thể dùng các thuật toán huấnluyện backpropagation để huấn luyện Ta cũng có thể huấn luyện lớp radial (lớp ẩn) bằngthuật toán huấn luyện mạng Kohonen

9 MẠNG NEURAL XÁC SUẤT (PNN)

Như chúng ta đã đề cập phần trên, trong trường hợp phân loại, ngõ ra mạng ước lượng xácsuất một phần tử của lớp, mà mạng đã học ước lượng hàm mật độ xác suất Vấn đề hồi quycũng được hiểu tương tự, nếu ngõ ra mạng được xem là giá trị kỳ vọng của mô hình tại khônggian ngõ vào cho trước Giá trị kỳ vọng này liên quan đến hàm mật độ xác suất của ngõ vàovà ngõ ra

Ước lượng hàm mật độ xác suất từ dữ liệu có lịch sử thống kê lâu đời, và trong hoàn cảnh nàylà thống kê Bayesian Với mô hình cho trước, thống kê cổ điển cho chúng ta biết độ thay đổicủa ngõ ra Thống kê Bayesian đặt vấn đề này lên hàng đầu, bằng cách ước lượng hiệu quả

Trang 20

của dữ liệu cụ thể cho trước Tổng quát hơn, thống kê Bayesian có thể ước lượng mật độ xácsuất của thông số mô hình đối với dữ liệu có giá trị Để cực tiểu lỗi, mô hình sau đó đượcchọn lựa sao cho các thông số của nó cực đại hàm mật độ xác suất pdf này.

Trong trường hợp phân loại, nếu chúng ta xây dựng bảng ước lượng các hàm pdf của các lớpcó thể có, chúng ta có thể so sánh xác suất của các lớp khác nhau, và chọn ra lớp có xác suấtlớn nhất Điều này mạng Neural Networks làm việc khá hiệu quả khi mạng học được vấn đềphân loại – mạng sẽ cố gắng học hàm pdf

Một kỹ thuật cổ điển hơn là xây dựng bảng ước lượng hàm pdf từ dữ liệu Kỹ thuật cổ điểnnhất là giả sử hàm pdf có một dạng nào đó (thông thường có dạng phân bố chuẩn), và sau đóước lượng các thông số Phân bố chuẩn thường được sử dụng, các thông số mô hình (trungbình và phương sai) có thể được tính bằng các kỹ thuật phân tích Vấn đề là giả thiết chuẩnhóa thường không đúng

Kỹ thuật thay thế cho hàm pdf là phương pháp xấp xỉ dựa trên lõi Có thể hiểu đơn giản làkhi đưa các mẫu cụ thể vào sẽ chỉ ra mật độ xác suất tại điểm đó : một nhóm các mẫu gầnnhau sẽ cho ra một vùng mật độ xác suất cao Tương tự, chúng ta có thể tin cậy vào một vàihàm mật độ xác suất Trong phép ước lượng dựa trên lõi, các hàm đơn sẽ được định vị ở mỗimẫu có hiệu lực, và được cộng với nhau cho ước lượng toàn hàm pdf Thông thường, mỗihàm lõi là Gaussian (dạng chuông) Nếu các điểm huấn luyện đầy đủ, chúng ta sẽ có mộthàm pdf thực

Kỹ thuật dựa trên lõi xác định pdf này rất giống mạng RBF, và do đó đưa đến mạng neuralxác suất (PNN) và mạng neural hồi quy tổng quát (GRNN) PNN chủ yếu làm nhiệm vụphân loại, và GRNN cho việc hồi quy

PNN có tối thiểu 3 lớp : lớp vào, radial và lớp ra Các neuron radial basis sao chép trực tiếpdữ liệu huấn luyện, mỗi neuron một mẫu, mô phỏng hàm Gaussian có tâm là mẫu huấnluyện Chỉ có một ngõ ra của mỗi lớp Mỗi ngõ ra kết nối với tất cả các neuron radial thuộclớp nó Do đó, các neuron ngõ ra chỉ đơn giản cộng các đáp ứng của các neuron trong lớp củanó Mỗi ngõ ra tỷ lệ với ước lượng dựa trên lõi (kernel-based estimates) của hàm pdf tại cáclớp khác nhau, và chuẩn hóa tổng này là 1

Mạng PNN cơ bản có thể bổ sung theo 2 cách :

 Thứ nhất, kỹ thuật cơ bản giả sử mật độ các mẫu huấn luyện là tỷ lệ thực Do đó nếu tỷlệ thực không đúng trong các mẫu huấn luyện, thì mạng sẽ ước lượng sai Để bù lại vấnđề này, tỷ lệ thực phải cho trước (nếu biết), và trọng số của lớp sẽ điều chỉnh để bù lại

Trang 21

 Thứ hai, bất kỳ mạng nào tạo ước lượng dựa trên hàm nhiễu sẽ chắc chắn tạo ra một vàiphân loại sai Tuy nhiên một vài dạng loại phân sai có thể xem là “lỗi kinh nghiệm”.Trong trường hợp này, mạng phát ra xác suất thô để thay đổi trọng số, gọi là hệ số tổnhao (loss factor), sự tổn hao do phân loại sai Trong Neural Networks có thể thêm lớpthứ tư là ma trận tổn thất Ma trận này nhân với các ước lượng xác suất của lớp thứ bavà lớp có tổn thất ước lượng nhỏ nhất sẽ được chọn.

Hệ số phẳng là hệ số điều khiển độ nhạy của mạng Neural Networks xác suất (nghĩa là độlệch của hàm Gaussian trong neuron radial) Giống như mạng RBF, hệ số này được chọn saocho có độ phủ hợp lý – độ lệch quá nhỏ gây ra phép ước lượng rất nhọn không thể tổng quáthóa, độ lệch quá lớn sẽ làm bằng các chi tiết

Ưu điểm lớn nhất của PNN là tính thống kê và tốc độ huấn luyện Huấn luyện một PNN thựcsự chỉ sao chép các mẫu huấn luyện vào mạng, và vì thế huấn luyện gần như ngay tức thời

Khuyết điểm lớn nhất của mạng là kích thước : mạng PNN chứa tất cả tập huấn luyện, và dođó tốn nhiều không gian và chạy chậm

10.MẠNG NEURAL HỒI QUY TỔNG QUÁT HÓA (GRNN )

GRNN làm việc tương tự như PNN nhưng thực hiện hồi quy chứ không phân loại Như vớiPNN, các hàm lõi Gaussian xác định trong mỗi mẫu huấn luyện GRNN sao chép các mẫuhuấn luyện vào mạng để sử dụng ước lượng đáp ứng của các điểm vào mới Ngõ ra thựcđược ước tính sử dụng trung bình trọng số của các mẫu huấn luyện đích, trong đó trọng số phụthuộc khoảng cách giữa điểm đó với điểm được ước tính (vì thế các điểm lân cận đóng vai tròquan trọng trong việc ước tính)

Lớp ẩn thứ nhất trong GRNN chứa các neuron radial Lớp ẩn thứ hai chứa các neuron giúptính trung bình trọng số Đây là một thủ tục đặc biệt Mỗi ngõ ra có một neuron đặc biệttrong lớp này tạo tổng trọng số cho ngõ ra tương ứng Để lấy giá trị trung bình từ tổng trọngsố, tổng trọng số phải được chia cho tổng các hệ số trọng số Có một neuron đặc biệt tronglớp thứ hai tính giá trị tổng các hệ số trọng số Sau đó lớp ngõ ra thực hiện phép chia thực sự(sử dụng các neuron “chia” đặc biệt ) Vì thế lớp ẩn thứ hai luôn luôn có nhiều hơn lớp ngõ

ra một neuron Trong vấn đề hồi quy, thông thường chỉ có một ngõ ra đơn được tính, và vì thếlớp ẩn thứ hai thường có hai neuron

GRNN có thể sửa đổi bằng cách gán các neuron radial để đại diện cho một nhóm các mẫuhuấn luyện hơn là từng neuron riêng lẻ Cách này giảm kích thước của mạng và tăng tốc độhoạt động Các tâm được gán bằng thuật toán gần đúng (nghĩa là lấy mẫu con, trung bình Khoặc Kohonen)

Trang 22

GRNN có ưu điểm và khuyết điểm như PNN, chỉ khác là GRNN chỉ dùng cho hồi quy, trongkhi đó PNN dùng cho phân loại Huấn luyện GRNN gần như tức thời, nhưng có khuynhhướng lớn và chậm (mặc dù không giống như PNN, không cần thiết phải có một neuron radialcho mỗi mẫu huấn luyện, nhưng số neuron của mạng vẫn lớn) Giống như mạng RBF, GRNNkhông có ngoại suy.

11.MẠNG TUYẾN TÍNH

Tiêu chí khoa học tổng quát là luôn luôn chọn mô hình đơn giản hơn là mô hình phức tạp, nếumô hình phức tạp không hoạt động tốt hơn Trong các loại mạng, mạng tuyến tính là đơngiản nhất, có hàm điều chỉnh là siêu mặt phẳng Trong phân loại, siêu mặt phẳng chia tậphợp thành hai nhóm (hàm phân biệt tuyến tính); trong hồi quy, nó cho dữ liệu truyền qua Môhình tuyến tính biểu diễn bằng ma trận MxN và vector ngưỡng Nx1

Trong Neural Networks, mô hình tuyến tính biểu diễn mạng không có lớp ẩn nhưng lớp ra làcác neuron tuyến tính đầy đủ (nghĩa là các neuron tuyến tính có hàm kích hoạt tuyến tính ).Khi mạng được kích hoạt, ngõ vào được nhân với ma trận trọng số rồi cộng với vectorngưỡng

Mạng tuyến tính cho điểm định chuẩn tốt so với các mạng khác Các vấn đề có độ phức tạpcao hoàn toàn có thể giải quyết tốt bằng các kỹ thuật tuyến tính Nếu chỉ có một số lượng ítcác mẫu huấn luyện thì không thể cân chỉnh khi sử dụng các mô hình phức tạp hơn

Vậy nếu không có ngõ ra mạng học cái gì ? Câu trả lời là mạng Kohonen học cấu trúc dữliệu

Do đó cách sử dụng khác là khảo sát tỷ mĩ dữ liệu Mạng Kohonen có thể học nhận ra mộtnhóm dữ liệu, và cũng có thể nhận ra các phân loại tương tự liên quan với nhau Người sửdụng có thể hiểu được dữ liệu để tinh chỉnh mạng Khi một phân lớp dữ liệu được nhận ra,chúng có thể được dán nhãn, vì thế mạng có thể thực hiện phân loại

Trang 23

Cách sử dụng thứ hai là nhận ra tính chất thay đổi bất thường của dữ liệu Mạng Kohonen cóthể học nhận ra các nhóm trong dữ liệu huấn luyện và trả ra đáp ứng của dữ liệu đó Nếu bắtgặp dữ liệu mới, không giống mẫu huấn luyện trước đó, mạng không nhận ra và điều này cónghĩa là dữ liệu bất thường.

Mạng Kohonen chỉ có thể có hai lớp : lớp ngõ vào và lớp ngõ ra gồm các neuron radial (còngọi là lớp cấu trúc liên kết) Các neuron trong lớp cấu trúc liên kết được đặt trong không gianhai chiều Mạng Kohonen được huấn luyện sử dụng thuật toán lặp Bắt đầu với một tập ngẫunhiên các tâm điểm radial, thuật toán dần dần điều chỉnh chúng để phản ánh một nhóm dữliệu huấn luyện Ở mức độ thứ nhất, mạng so sánh với các mẫu con và sử dụng các thuậttoán trung bình K để gán tâm điểm RBF và mạng GRNN, thực tế thuật toán Kohonen có thểsử dụng để gán các tâm điểm cho các loại mạng này Tuy nhiên, thuật toán cũng có thể hoạtđộng ở một cấp độ khác

Thủ tục huấn luyện lặp cũng sắp xếp mạng sao cho các neuron đại diện cho tâm gần nhautrong không gian ngõ vào cũng được đặt gần nhau trên cấu trúc liên kết Có thể nghĩ đơngiản lớp cấu trúc kiên kết của mạng là một lưới hai chiều có thể được gấp và sắp xếp lạitrong không gian ngõ vào N chiều, đến mức có thể rất khác so với cấu trúc ban đầu Rõ ràngbất cứ nỗ lực nào để biểu diễn không gian N chiều vào không gian hai chiều sẽ làm mất đitính chất cụ thể, tuy nhiên, kỹ thuật này có thể rất tốt cho phép người sử dụng nhận ra dữ liệumà các phương pháp khác không thể hiểu được

Thuật toán Kohonen lặp cơ bản đơn giản chạy qua một số các epoch, ở mỗi epoch thực thimỗi mẫu huấn luyện và áp dụng thuật toán sau :

 Chọn ra neuron thắng (là neuron có tâm gần nhất với mẫu ngõ vào)

 Điều chỉnh neuron thắng đó sao cho càng giống với ngõ vào

Thuật toán sử dụng tốc độ học suy giảm theo thời gian, sử dụng thực hiện tổng trọng số vàchắc chắn rằng việc thay thế sẽ trở nên nhạy hơn khi qua một epoch Điều này bảo đảm rằngcác tâm được định vị ở một vị trí biểu diễn trường hợp làm cho neuron đó thắng

Để hiểu rõ hơn tính chất cấu trúc liên kết, cần thêm một khái niệm lân cận vào thuật toán.Tập lân cận là tập các neuron xung quanh neuron thắng Giống như tốc độ học, tập lân cậncũng suy giảm theo thời gian, để ban đầu nhiều neuron là lân cận (có thể là gần như toàn bộcấu trúc liên kết), trong những trạng thái sau, lân cận sẽ là zero (nghĩa là chỉ có neuronthắng) Trong thuật toán Kohonen việc điều chỉnh các neuron không chỉ áp dụng cho neuronthắng mà cho cả các neuron lân cận hiện tại

Trang 24

Tác dụng của việc cập nhật lân cận này là ban đầu một vùng lớn mạng được kéo về các mẫuhuấn luyện Mạng phát triển theo thứ tự cấu trúc liên kết thô, tương tự trường hợp kích hoạtmột khối neuron trong cấu trúc liên kết Khi qua các epoch, cả tốc độ học và neuron lân cậnsẽ giảm, sao cho các khoảng cách đủ lớn trong cấu trúc liên kết, cuối cùng kết quả là tinhchỉnh từng neuron Thường việc huấn luyện thực hiện hai pha riêng biệt : một pha ngắn vớitốc độ học cao và các neuron lân cận; pha dài có tốc độ học thấp và không có hoặc gần bằngkhông các neuron lân cận.

Khi mạng được huấn luyện để nhận ra cấu trúc dữ liệu, nó có thể sử dụng như là một công cụtrực giác kiểm tra dữ liệu Bảng dữ liệu tần số thắng (đếm số lần thắng của mỗi neuron trongcác mẫu huấn luyện) có thể được kiểm tra để xem mức độ cách xa nhau của các nhóm trênbản đồ cấu trúc liên kết Các mẫu riêng biệt được thực hiện và bản đồ cấu trúc liên kết giámsát, để xem có một vài ý nghĩa có thể được gán cho các nhóm Khi các cluster đã được nhậndạng, neuron trong bản đồ cấu trúc liên kết được gán nhãn để chỉ ra ý nghĩa của chúng (đôikhi các mẫu riêng lẻ cũng có thể được gán nhãn) Bằng cách này xây dựng nên bản đồ cấutrúc liên kết, các mẫu mới có thể được đưa vào mạng Nếu neuron thắng đã được gán nhãnvới một tên lớp, mạng có thể thực hiện phân loại Nếu không, mạng chỉ được xem như khôngquyết định

Mạng Kohonen cũng sử dụng ngưỡng chấp nhận khi thực hiện phân loại Vì mức độ kíchhoạt của một neuron trong mạng Kohonen là khoảng cách của neuron và mẫu ngõ vào,ngưỡng chấp nhận hoạt động là khoảng cách lớn nhất mà neuron có thể nhận ra Nếu việckích hoạt neuron thắng lớn hơn khoảng cách này, mạng Kohonen xem như chưa quyết định

Vì vậy, bằng cách gán nhãn tất cả neuron và cài đặt ngưỡng chấp nhận tương ứng, mạngKohonen có thể hoạt động như là bộ phát hiện sự thay đổi bất thường (nó sẽ thông báo chưaquyết định nếu mẫu vào không đủ đồng dạng với tất cả các bán kính neuron)

Một số thuộc tính của bộ não đã được truyền vào mạng Kohonen Vỏ não thật sự rất lớn(khoảng 0.5m2; nó được gấp lại thành hình dạng xoắn cho vừa vỏ sọ) có những thuộc tính cấutrúc liên kết biết trước

Trang 25

CHƯƠNG 2

MÔ HÌNH MẠNG NEURAL NETWORKS

Mô hình mạng Neural tổng quát có dạng như sau :

Ngày nay mạng Neural có thể giải quyết nhiều vấn đề phức tạp đối với con người, áp dụngtrong nhiều lĩnh vực như nhận dạng, định dạng, phân loại, xử lý tín hiệu, hình ảnh v.v…

1 MÔ HÌNH NEURON VÀ CẤU TRÚC MẠNG

1.1 Mô hình neuron

Cấu trúc một Neuron

Ngõ vào một neuron có thể là đại lượng vô hướng hoặc có hướng, đại lượng này được nhânvới trọng số tương ứng để đưa vào neuron, hoặc có thể cộng thêm ngưỡng (bias), thườngbằng 1 Dưới đây là mô hình một neuron với ngõ vào vô hướng p không có ngưỡng b (hìnhbên trái) và có ngưỡng b (hình bên phải) Ngõ vào vô hướng p được nhân với trọng số vô

hướng w tạo thành wp, đối số wp (hình bên trái) qua hàm truyền f cho kết quả đầu ra là vô hướng a = f(wp) Hình bên phải là neuron có ngưỡng b, giá trị b được cộng với wp rồi qua hàm truyền f cho kết quả đầu ra là vô hướng a = f(wp+b) Có thể điều chỉnh những thông số

của neuron như trọng số và ngưỡng (w và b) để đạt được yêu cầu mong muốn nghĩa là “huấnluyện” mạng

Trang 26

Neuron với Vector nhập

Một neuron được cho trên hình vẽ sau với vector nhập p = [p1 , p2 , ……pR ], trọng số W = w1,1,

w1,2,……w1,R, ngưỡng b và hàm truyền f Tổng đối số và ngưỡng tạo ở ngõ ra n là

n = w1,1p1 + w1,2,p2 + ……w1,R pR + b

hay n = W*p + b

Trang 27

Nếu có nhiều neuron thì cách biểu diễn trên không hiệu quả, do đó có thể định nghĩa một lớpgồm nhiều neuron như sau.

1.2 Cấu trúc mạng

Hai hay nhiều neuron kết hợp thành một lớp, và một mạng riêng biệt có thể chứa một haynhiều lớp neuron

Một lớp neuron

Trong hình dưới mô tả một lớp neuron với : R : số phần tử của vectơ đầu vào

S : số neuron trong lớp

a : vector ngõ ra của lớp neuron

Trang 28

Ma trận trọng số W :

S

R R

w w

w

w w

w

w w

w W

, 2

, 1 ,

, 2 2

, 1 1 , 2

, 1 2

, 1 1 , 1

Trang 29

Mạng nhiều lớp neuron

Mạng có nhiều lớp, mỗi lớp có một ma trận W, một ngưỡng b và một vectơ ngõ ra a Thôngthường giá trị ra của một lớp là giá trị vào của lớp tiếp theo Mỗi lớp trong mạng đảm nhiệm

vai trò khác nhau, lớp cho kết quả ở đầu ra của mạng được gọi là lớp ngõ ra _ output layer, tất cả các lớp còn lại được gọi là lớp ẩn _ hidden layers Mạng đa lớp có khả năng xử lý rất lớn.

Chẳng hạn như một mạng có hai lớp, lớp thứ nhất là sigmoid, lớp thứ hai là linear có thể đượchuấn luyện đến một hàm gần đúng với một số kết nối cố định

2 CẤU TRÚC DỮ LIỆU

Cấu trúc định dạng của dữ liệu vào ảnh hưởng đến việc mô phỏng của mạng Có hai loại

mạng static network và dynamic network Hai kiểu vector đầu vào cơ bản là kiểu xảy ra đồng

thời (concurrently) và kiểu xảy ra liên tục theo thời gian (sequentially)

Kiểu đầu vào xảy ra đồng thời được mô phỏng trong mạng tĩnh (không có hồi tiếp hoặc trễ),thứ tự của các vector đầu vào không quan trọng và chúng không ảnh hưởng lẫn nhau

Kiểu đầu vào xảy ra liên tục được mô phỏng trong mạng dynamic Thứ tự các giá trị đầu vàorất quan trọng Trong trường hợp này, giá trị đầu ra thu được là do giá trị vào hiện tại và giátrị vào trước đó Nếu thay đổi thứ tự của dữ liệu vào thì sẽ làm thay đổi dữ liệu ra

3 KIỂU HUẤN LUYỆN

Trong phần này mô tả hai kiểu huấn luyện khác nhau

Incremental training : trọng số và ngưỡng của mạng được cập nhập mỗi khi có dữ liệu

vào mạng Kiểu này ứng dụng trong cả hai mạng tĩnh và động, tuy nhiên thường dùngtrong mạng động nhiều hơn, như là những bộ lọc thích ứng

Trang 30

Batch training : trọng số và ngưỡng của mạng chỉ được cập nhập sau khi tất cả dữ liệu

đã vào mạng, dùng trong cả hai mạng tĩnh và động

Cấu trúc một mạng có thể mô tả bằng số lớp, số neuron trong một lớp, hàm truyền của mỗilớ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ácnhau

Nếu một ánh xạ tuyến tính cần mô tả nên sử dụng neuron tuyến tính Tuy nhiên, mạng tuyếntí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ạocho 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 neuron không có ngưỡng sẽ luôn tạo ra ngõ vào zero cho hàm truyền(khi tất cả ngõ vào neuron là zero) Tuy nhiên một neuron với ngưỡng có thể học để tạo ramột ngõ nhập cho bất kỳ hàm truyền nào trong cùng một điều kiện bằng cách học tập nhữnggiá trị gần đúng của ngưỡng

Trang 31

CHƯƠNG 3

PERCEPTRON

Perceptron là một lớp mạng đơn mà trọng số w, và ngưỡng b có thể được đào tạo để tạo ra

vector ngõ ra chính xác với vector vào tương ứng Kỹ thuật huấn luyện được gọi là quy luật huấn luyện perceptron Perceptron đặc biệt thích hợp cho những vấn đề đơn giản trong việc

phân loại mô hình, mạng này giải quyết vấn đề nhanh chóng và đáng tin cậy

1 MÔ HÌNH NEURON

Neuron perceptron dùng hàm truyền hardlim

Mỗi dữ liệu vào có một trọng số và kết hợp với ngưỡng được đưa qua hàm truyền Hardlim.Kết quả đầu ra là 1 nếu giá trị vào của hàm truyền lớn hơn hoặc bằng 0, ngược lại bằng 0 khigiá trị vào của hàm truyền nhỏ hơn 0 Như vậy không gian dữ liệu được chia thành hai lớpmà trong mỗi vùng kết quả đầu ra sẽ không thay đổi nếu ta chỉ thay đổi đầu vào trong vùngđó

Hai vùng dữ liệu ra được phân cách bởi đường thẳng Wp+b = 0 Đường thẳng này trực giaovới vector trọng số W và dịch chuyển theo sự thay đổi của b

Trang 32

2 CẤU TRÚC PERCEPTRON

Mạng Perceptron gồm có một lớp đơn có S neuron perceptron kết nối với R ngõ vào kết hợpvới một tập trọng số wi,j (j là ngõ vào thứ j và i là neuron thứ i) Quy luật học tập perceptronchỉ có khả năng huấn luyện một lớp đơn

Trang 33

3 QUY LUẬT HỌC TẬP

Quy luật học tập là một qui trình sửa đổi trọng số và ngưỡng của một mạng (quy trình nàycũng có thể hiểu là thuật toán huấn luyện), có hai loại học tập giám sát và không giám sát

Các cặp vector : p1t1, p2t2, …… , pQtQ

p: vector đầu vào t: vector ngõ ra mong muốn

Với vector đầu ra thực tế a, sai số giữa đầu ra mong muốn và thực tế là e = t - a Quy luậthọc perceptron learnp thay đổi w, b để thu được a giống t Với hàm hardlim vector t phải

chứa một trong hai giá trị 0 và 1 Có ba trường hợp xảy ra trong mạng đơn :

e = 0 thì thay đổi của w = 0

Trong phần này sử dụng hàm sim để mô phỏng mạng và hàm learnp là hàm học của

perceptron Công việc được lặp đi lặp lại để tìm ra w, b đến khi không còn lỗi

4 HUẤN LUYỆN THÍCH ỨNG

Sim, learnp được sử dụng lặp đi lặp lại thay đổi w, b của perceptron theo sai số e và cuối

cùng perceptron sẽ tìm ra w, b Mỗi vòng lặp xử lý gọi là pass.

Hàm adapt tiến hành như là một vòng lặp tính toán Trong mỗi pass hàm adapt sẽ xử lý các

dữ liệu vào, tính toán đầu ra, sai số và điều chỉnh mạng cho mỗi vector đầu vào Nếu một

lần sửa w, b chưa thành công thì gọi lại hàm adapt để tiến hành lại hoặc phân tích xem vấn

đề đó có thể giải quyết bằng perceptron hay không

Trang 34

CHƯƠNG 4

MẠNG TUYẾN TÍNH THÍCH ỨNG

Mạng ADAPLINE (Adaptive Linear Neuron networks) giống như perceptron nhưng hàmtruyền là tuyến tính cho ngõ ra có giá trị không giới hạn, chỉ giải quyết những vấn đề độc lậptuyến tính Chương này đề cập quy luật huấn luyện LMS (Least Mean Squares) hay Widrow-Hoff, mạnh hơn quy luật huấn luyện perceptron

Với mỗi vector vào ta có thể tính được vector ra, sai số e là sự sai khác giữa vector ra vàvector mong muốn Ta có thể thay đổi giá trị trọng số w, giá trị ngưỡng b để tổng bìnhphương sai số là nhỏ nhất hoặc nhỏ hơn một giá trị cụ thể Vấn đề này có thể được giải quyếtbởi vì mạng tuyến tính chỉ có một giá trị nhỏ nhất của sai số Trong hầu hết trường hợpchúng ta có thể tính trực tiếp mạng tuyến tính như là việc tính sai số cực tiểu trên vector vàovà vector ra

Ta thiết kế hệ thống tuyến tính thích ứng có khả năng đáp ứng được với sự thay đổi môitrường Mạng tuyến tính được điều chỉnh theo từng bước dựa trên vector vào mới và vectormong muốn để tìm được các giá trị trọng số và ngưỡng thích hợp sao cho tổng bình phương saisố nhỏ nhất Mạng loại này thường được sử dụng trong những bộ lọc, những hệ thống điềukhiển và xử lý tín hiệu số

1 MÔ HÌNH NEURON

Một neuron tuyến tính có R ngõ vào được cho như sau :

Trang 35

Mô hình mạng tuyến tính này có cấu trúc giống mạng perceptron, chỉ khác là sử dụng hàm

truyền tuyến tính purelin

Hàm truyền tuyến tính tính toán ngõ ra của neuron theo những giá trị được đưa qua nó :

a = purelin (n) = purelin (Wp + b) = Wp + b

Neuron có thể được huấn luyện để học tập một hàm quan hệ của các vector đầu vào hoặc tìmxấp xỉ gần đúng cho hàm phi tuyến Mạng tuyến tính dĩ nhiên không thể thực hiện nhữngtính toán phi tuyến

2 CẤU TRÚC MẠNG

Hình dưới là mạng một lớp gồm S neuron kết nối với R ngõ vào qua ma trận trọng số W

Luật Widrow-Hoff chỉ có thể huấn luyện mạng tuyến tính một lớp Tuy nhiên nhiều mạngtuyến tính một lớp có khả năng như một mạng tuyến tính đa lớp

Cũng giống perceptron, ADALINE cũng có đường phân cách được xác định bằng cách chovector vào mạng n = 0 nghĩa là Wp + b = 0 Hình dưới minh họa một ADAPLINE đơn haingõ vào và đường phân cách của mạng :

Trang 36

Vì vậy ADALINE có thể sử dụng để phân loại đối tượng thành hai loại khi đối tượng là độclập tuyến tính Do đó ADAPLINE có cùng giới hạn như perceptron.

3 TRUNG BÌNH BÌNH PHƯƠNG SAI SỐ _ MEAN SQUARE ERROR

Tập vector vào và ra mong muốn :

p1,t1 , p2,t2, ,p Q,t Q

Với pQ là ngõ vào của mạng, tQ làgiá trị ra mong muốn tương ứng Sai số được tính là sự khácnhau giữa giá trị ra mong muốn và giá trị ra của mạng thực Chúng ta cực tiểu hoá tổngnhững sai số này

Q k

k a k t Q k

e Q

mse

1

2 2

1

))()((

1)((1

Thuật toán LMS điều chỉnh trọng số và ngưỡng của ADALINE để cực tiểu hóa trung bìnhbình phương sai số Hơn nữa trung bình bình phương sai số là một hàm quadratic Chính vìvậy kết quả quá trình thực thi hoặc sẽ là một vị trí minimum hoặc nhỏ hơn minimum hoặckhông có giá trị minimum, điều này tùy thuộc vào đặc tính của các vector nhập Đặc biệtnhững đặc tính của các vector nhập còn quyết định cách giải quyết bài toán là duy nhất hoặckhông

4 THUẬT TOÁN LMS

Thuật toán LMS hay thuật toán huấn luyện Windrow-Hoff dùng để huấn luyện mạng khikhông tính toán mạng tuyến tính trực tiếp Sự thay đổi của trọng số và ngưỡng theo công thứcsau :

W(k+1) = W(k) + 2e(k)pT(k)b(k+1) = b(k) + 2e(k)

Trang 37

Trong đó sai số e, ngưỡng b là những vector và 2 là tốc độ học tập lr Nếu lr lớn việc học

sẽ nhanh nhưng nếu lớn quá thì hệ thống sẽ không ổn định, thậm chí còn gia tăng lỗi Để lấy

hợp lý giá trị lr thường dùng hàm lr = maxlinlr(P,’bias’).

Tính giá trị thay đổi của trọng số và ngưỡng dùng hàm learnwh Giá trị dw, db tính theo

công thức toán học :

dw = lr.e.pT

db = lr.e

Hay viết ngắn gọn dùng hàm trainwh , hàm này sẽ tính toán cho đến khi tìm được sai số có

thể chấp nhận (goal) còn nếu không nó sẽ thực hiện đến giá trị epoch lớn nhất

5.1 Đường trễ kết nối

Trang 38

Trong hình trên mô tả các đường trễ kết nối Tín hiệu vào bên trái, đi qua N-1 khối trễ Ngõ

ra của đường trễ kết nối (tapped delay line_TDL) là một vector N chiều, tạo thành từ tín hiệu vào hiện tại và các tín hiệu trước đó

Ngày đăng: 03/09/2012, 15:54

HÌNH ẢNH LIÊN QUAN

Phần 3_Chương 2: Mô hình Neural Networks - Tổng quan Neural networks
h ần 3_Chương 2: Mô hình Neural Networks (Trang 24)
Hình bên phải là neuron có ngưỡng b, giá trị b được cộng với wp rồi qua hàm truyền  f  cho kết  quả đầu ra là vô hướng a = f(wp+b) - Tổng quan Neural networks
Hình b ên phải là neuron có ngưỡng b, giá trị b được cộng với wp rồi qua hàm truyền f cho kết quả đầu ra là vô hướng a = f(wp+b) (Trang 24)
Một neuron được cho trên hình vẽ sau với vector nhập p= [p1 ,p 2, ……pR ], trọng số W= w1,1, w1,2,……w1,R, ngưỡng b và hàm truyền f  - Tổng quan Neural networks
t neuron được cho trên hình vẽ sau với vector nhập p= [p1 ,p 2, ……pR ], trọng số W= w1,1, w1,2,……w1,R, ngưỡng b và hàm truyền f (Trang 25)
Phần 3_Chương 2: Mô hình Neural Networks - Tổng quan Neural networks
h ần 3_Chương 2: Mô hình Neural Networks (Trang 26)
Trong hình dưới mô tả một lớp neuron với R: số phần tử của vectơ đầu vào S : số neuron trong lớp - Tổng quan Neural networks
rong hình dưới mô tả một lớp neuron với R: số phần tử của vectơ đầu vào S : số neuron trong lớp (Trang 26)
Phần 3_Chương 2: Mô hình Neural Networks - Tổng quan Neural networks
h ần 3_Chương 2: Mô hình Neural Networks (Trang 28)
1. MÔ HÌNH NEURON - Tổng quan Neural networks
1. MÔ HÌNH NEURON (Trang 30)
1. MÔ HÌNH NEURON - Tổng quan Neural networks
1. MÔ HÌNH NEURON (Trang 33)
Hình dưới là mạng một lớp gồ mS neuron kết nối với R ngõ vào qua ma trận trọng số W. - Tổng quan Neural networks
Hình d ưới là mạng một lớp gồ mS neuron kết nối với R ngõ vào qua ma trận trọng số W (Trang 34)
Mô hình mạng tuyến tính này có cấu trúc giống mạng perceptron, chỉ khác là sử dụng hàm truyền tuyến tính purelin - Tổng quan Neural networks
h ình mạng tuyến tính này có cấu trúc giống mạng perceptron, chỉ khác là sử dụng hàm truyền tuyến tính purelin (Trang 34)
Hỡnh dưới là mạng một lớp gồm S neuron kết nối với R ngừ vào qua ma trận trọng số W. - Tổng quan Neural networks
nh dưới là mạng một lớp gồm S neuron kết nối với R ngừ vào qua ma trận trọng số W (Trang 34)
Trong hình trên mô tả các đường trễ kết nối. Tín hiệu vào bên trái, đi qua N-1 khối trễ - Tổng quan Neural networks
rong hình trên mô tả các đường trễ kết nối. Tín hiệu vào bên trái, đi qua N-1 khối trễ (Trang 36)
Chú ý rằng những số này được sắp xếp từ trái qua phải tương ứng với bộ trễ trên hình từ trên xuống dưới - Tổng quan Neural networks
h ú ý rằng những số này được sắp xếp từ trái qua phải tương ứng với bộ trễ trên hình từ trên xuống dưới (Trang 38)
Mạng một lớp tuyến tính có thể thực hiện hàm tuyến tính xấp xỉ hoặc mô hình kết hợp. - Tổng quan Neural networks
ng một lớp tuyến tính có thể thực hiện hàm tuyến tính xấp xỉ hoặc mô hình kết hợp (Trang 42)
Hình dưới cho thấy đáp ứng của mạng 1– 20-1 huấn luyện lần theo hàm sin. Rõ ràng mạng này quá khít với dữ liệu và không tổng quát hóa tốt. - Tổng quan Neural networks
Hình d ưới cho thấy đáp ứng của mạng 1– 20-1 huấn luyện lần theo hàm sin. Rõ ràng mạng này quá khít với dữ liệu và không tổng quát hóa tốt (Trang 55)
Hỡnh dưới cho thấy đỏp ứng của mạng 1 – 20 - 1 huấn luyện lần theo hàm sin.  Rừ ràng mạng  này quá khít với dữ liệu và không tổng quát hóa tốt. - Tổng quan Neural networks
nh dưới cho thấy đỏp ứng của mạng 1 – 20 - 1 huấn luyện lần theo hàm sin. Rừ ràng mạng này quá khít với dữ liệu và không tổng quát hóa tốt (Trang 55)
Mô hình mạng radial basis với R ngõ vào. - Tổng quan Neural networks
h ình mạng radial basis với R ngõ vào (Trang 62)
Khối dist trong hình có ngõ vào là vecto rp và ma trận trọng số IW1. 1, cho ngõ ra vector S1 thành phần - Tổng quan Neural networks
h ối dist trong hình có ngõ vào là vecto rp và ma trận trọng số IW1. 1, cho ngõ ra vector S1 thành phần (Trang 63)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w