Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 14 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
14
Dung lượng
109,4 KB
Nội dung
Phần 3_Chương 3 : Perceptron 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 khi giá 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ớp mà 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 giao với vector trọng số W và dòch chuyển theo sự thay đổi của b. Lê Thanh Nhật-Trương Ánh Thu 1 GVHD : Ths Hoàng Đình Chiến Phần 3_Chương 3 : Perceptron 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ợp với một tập trọng số w i,j (j là ngõ vào thứ j và i là neuron thứ i). Quy luật học tập perceptron chỉ có khả năng huấn luyện một lớp đơn. Lê Thanh Nhật-Trương Ánh Thu 2 GVHD : Ths Hoàng Đình Chiến Phần 3_Chương 3 : Perceptron 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ày cũ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 : p 1 t 1, p 2 t 2 , …… , p Q t Q 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ật họ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 e = 1 ∆w = p T e = -1 ∆w = -p T Cả ba trường hợp có thể viết dưới dạng biểu thức đơn giản sau : ∆W = (t - a) p T = ep T ∆b = (t - a) (1) = e Như vậy : W new = W old + ep T b new = b old + e với e = t-a 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. Lê Thanh Nhật-Trương Ánh Thu 3 GVHD : Ths Hoàng Đình Chiến Phần 3_Chương 3 : Perceptron CHƯƠNG 4 MẠNGTUYẾNTÍNHTHÍCHỨNGMạng ADAPLINE (Adaptive Linear Neuron networks) giống như perceptron nhưng hàm truyền là tuyếntính cho ngõ ra có giá trò không giới hạn, chỉ giải quyết những vấn đề độc lập tuyế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ình phươ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ết bởi vì mạngtuyếntính chỉ có một giá trò nhỏ nhất của sai số. Trong hầu hết trường hợp chúng ta có thể tính trực tiếp mạngtuyếntính như là việc tính sai số cực tiểu trên vector vào và vector ra. Ta thiết kế hệ thống tuyếntínhthíchứng có khả năng đáp ứng được với sự thay đổi môi trường. Mạngtuyếntính được điều chỉnh theo từng bước dựa trên vector vào mới và vector mong 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 sai số 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ều khiển và xử lý tín hiệu số. 1. MÔ HÌNH NEURON Một neuron tuyếntính có R ngõ vào được cho như sau : Mô hình mạngtuyếntính này có cấu trúc giống mạngperceptron, chỉ khác là sử dụng hàm truyền tuyếntính purelin. Lê Thanh Nhật-Trương Ánh Thu 4 GVHD : Ths Hoàng Đình Chiến Phần 3_Chương 3 : Perceptron Hàm truyền tuyếntínhtí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ìm xấp xỉ gần đúng cho hàm phi tuyến. Mạngtuyếntính dó nhiên không thể thực hiện những tí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ạngtuyếntính một lớp. Tuy nhiên nhiều mạngtuyếntính một lớp có khả năng như một mạngtuyếntí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 cho vector vào mạng n = 0 nghóa là Wp + b = 0. Hình dưới minh họa một ADAPLINE đơn hai ngõ vào và đường phân cách của mạng : Lê Thanh Nhật-Trương Ánh Thu 5 GVHD : Ths Hoàng Đình Chiến Phần 3_Chương 3 : Perceptron 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à độc lậ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 : { } { } { } QQ tptptp ,, .,,,, 2211 Với p Q là ngõ vào của mạng, t Q là giá trò ra mong muốn tương ứng. Sai số được tính là sự khác nhau 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ổng những sai số này. ∑∑ == −== Q k Q k kakt Q ke Q mse 1 22 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ình bì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ặc khô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ệt nhữ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ặc khô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 khi không tính toán mạngtuyếntính trực tiếp. Sự thay đổi của trọng số và ngưỡng theo công thức sau : W(k+1) = W(k) + 2αe(k)p T (k) b(k+1) = b(k) + 2αe(k) 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’). Lê Thanh Nhật-Trương Ánh Thu 6 GVHD : Ths Hoàng Đình Chiến Phần 3_Chương 3 : Perceptron 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.p T 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. [net,tr]=train(net,p,t) Goal có giá trò mặc đònh là 0 ,chúng ta có thể cài đặt giá trò goal này (ví dụ là 0.1) net.trainParam.goal = 0.1 5. LỌC THÍCHỨNGMạng ADALINE, giống như perceptron, chỉ có thể giải quyết những vấn đề độc lập tuyến tính. Tuy nhiên, ADALINE đã và đang là một trong những ứng dụng rộng rãi nhất của Neural Networks trong thực tế, điển hình là lọc thích ứng. 5.1 Đường trễ kết nối 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 đó. Lê Thanh Nhật-Trương Ánh Thu 7 GVHD : Ths Hoàng Đình Chiến Phần 3_Chương 3 : Perceptron 5.2 Bộ lọc thíchứng Chúng ta có thể kết hợp một đường trễ kết nối với một mạng ADALINE để tạo thành bộ lọc thíchứng như hình vẽ : Ngõ ra của bộ lọc là : ( ) ( ) ( ) bikawbWppurelinka R i i ++−=+= ∑ = 1 ,1 1 Mạng cho ở trên sử dụng trong lónh vực xử lý tín hiệu số như là bộ lọc có đáp ứng xung hữu hạn (FIR). Lê Thanh Nhật-Trương Ánh Thu 8 GVHD : Ths Hoàng Đình Chiến Phần 3_Chương 3 : Perceptron VÍ DỤ LỌC THÍCHỨNG Trước tiên chúng ta đònh nghóa mới một mạngtuyếntính sử dụng newlin. Giả sử giá trò vào trong khoảng [0,10]. Bây giờ chúng ta có thể đònh nghóa mạng một ngõ ra như sau net = newlin( [ 0 , 10 ] , 1 ); Chúng ta có thể chỉ ra độ trễ trong đường trễ kết nối net.inputWeights{1,1}.delays=[ 0 1 2 ]; Điều này nói lên rằng đường trễ được kết nối với ma trận trọng số từ những đơn vò trễ thời gian là 0;1 và 2. Chúng ta có thể cho những trọng số khác nhau và những giá trò ngưỡng : net.IW{1,1}={ 7 8 9 }; net.b{1}= [ 0 ]; Cuối cùng chúng ta đònh nghóa những giá trò đầu tiên của những ngõ ra bộ trễ là : pi = { 1 2 } 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. Đến đây là xong phần cài đặt. Chúng ta vẫn giả sử rằng giá trò vào là chuỗi số vô hướng như sau : Lê Thanh Nhật-Trương Ánh Thu 9 GVHD : Ths Hoàng Đình Chiến Phần 3_Chương 3 : Perceptron p = {3 4 5 6 } Bây giờ chúng ta có một mạng và một chuỗi giá trò vào. Chúng ta mô phỏng mạng để xem xét giá trò ngõ ra theo thời gian [ a , pf ] = sim ( net , p , pi ); Và chúng ta thu được kết quả như sau : a= [46] [70] [94] [118] và những giá trò cuối cùng của bộ trễ : pf= [5] [6] Trên đây là ví dụ đơn giản có thể kiểm tra bằng tay. Mạng này có thể được huấn luyện bằng hàm adapt. Ví dụ như chúng ta muốn mạng tạo ra chuỗi giá trò 10, 20, 30 và 40 : T={ 10 20 30 40 } Trước tiên chúng ta xét bộ trễ có 10 khối. net.adaptParam.passes = 10; Sau đó chúng ta huấn luyện : [net , y , E pf , af ] = adapt(net , p , T , pi); Lệnh này trả về những trọng số cuối cùng, ngưỡng, và chuỗi ngõ ra như sau : { } { } 1. 7046.51053.35059.0 1,1. bnetbias wts IWnetwts = = = bias = -1.5993 y= [11.8558] [20.7735] [29.6679] [39.0036] Lê Thanh Nhật-Trương Ánh Thu 10 GVHD : Ths Hoàng Đình Chiến [...]... toàn phụ thuộc vấn đề cần giải quyết Số ngõ vào của mạng và số neuron trong mỗi lớp được quyết đònh theo ngõ vào và ngõ ra của yêu cầu bài toán Mạng tuyếntính đa lớp không cải tiến gì hơn so với mạng một lớp, do đó mạng một lớp thường được sử dụng Tuy nhiên, mạngtuyếntính chỉ giải quyết những vấn đề tuyếntính Bộ lọc tuyếntínhthíchứng có nhiều ứng dụng trong thực tế như khử nhiễu, dự đoán trong... đến ma trận trọng số 6 KẾT LUẬN Mạng một lớp tuyếntính có thể thực hiện hàm tuyếntính xấp xỉ hoặc mô hình kết hợp Mạng tuyếntính một lớp có thể được thiết kế trực tiếp hoặc huấn luyện theo quy luật Windrow-Hoff để tìm giá trò sai số nhỏ nhất Hơn nữa, mạng tuyếntính có thể được huấn luyện để mạng có thể lần theo sự thay đổi của môi trường Cách thiết kế mạng tuyếntính đơn lớp hoàn toàn phụ thuộc... tiếng nói phi công nhưng không có tiếng nhiễu máy Chúng ta có thể làm điều này với bộ lọc thíchứng nếu chúng ta có mẫu của nhiễu máy và áp dụng nó vào ngõ vào bộ lọc thíchứng Ở đây chúng ta sẽ huấn luyện thíchứng mạng tuyếntính neuron để dự đoán nhiễu máy n tác động vào tín hiệu thoại /nhiễu máy m Sai số mạng e sẽ bằng m trừ đi tín hiệu nhiễu máy dự đoán Vì thế e chỉ chứa giọng nói của phi công... rằng chúng ta muốn sử dụng bộ lọc thíchứng để dự đoán giá trò kế tiếp của quá trình ngẫu nhiên tónh, p(t), theo hình dưới : Tín hiệu dự đoán, p(t), nhập từ bên trái vào bộ đường trễ kết nối Hai giá trò trước của p(t) đã có sẵn Mạng sử dụng adapt để thay đổi trọng số trên mỗi nấc thời gian để cực tiểu hóa lỗi e(t) Nếu lỗi bằng 0 thì ngõ ra mạng đúng bằng p(t), và mạng đã dự đoán chính xác VÍ DỤ TRIỆT... GVHD : Ths Hoàng Đình Chiến Phần 3_Chương 3 : Perceptron Lê Thanh Nhật-Trương Ánh Thu 12 GVHD : Ths Hoàng Đình Chiến Phần 3_Chương 3 : Perceptron 5.3 Bộ lọc thíchứng nhiều neuron Chúng ta muốn sử dụng nhiều hơn một neuron trong những hệ thống thíchứng Bộ đường trễ kết nối sử dụng với S neuron mô tả như hình dưới : Nếu chúng ta muốn biểu diễn rõ hơn bộ đường trễ kết nối nhưng không có quá nhiều khối . do đó mạng một lớp thường được sử dụng. Tuy nhiên, mạng tuyến tính chỉ giải quyết những vấn đề tuyến tính. Bộ lọc tuyến tính thích ứng có nhiều ứng dụng. thể huấn luyện mạng tuyến tính một lớp. Tuy nhiên nhiều mạng tuyế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