Tải bản đầy đủ (.pdf) (76 trang)

Tài liệu Tổng quan về Neural Networks ppt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.18 MB, 76 trang )

Phần 3_Chương 1 : Tổng quan Neural Networks
Lê Thanh Nhật-Trương Ánh Thu 85 GVHD : Ths Hoàng Đình Chiến
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, Neural
Networks đều có thể ứng dụng được. Sự thành công nhanh chóng của mạng Neural
Networks có thể là do một số nhân tố chính sau:

• 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ết
cá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ều
nhất.

• Dễ sử dụng : Neural Networks có tính học theo các ví dụ. Người sử dụng Neural
Networks 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ần thiế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 Neural
Networks 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ền
thố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 lai
vớ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ật
sự.


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 Expert Systems
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ành cô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à do cấ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ây dựng
những hệ thống có cấu trúc giống bộ não con người.

N
Phần 3_Chương 1 : Tổng quan Neural Networks
Lê Thanh Nhật-Trương Ánh Thu 86 GVHD : Ths Hoàng Đình Chiến
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ới nhau
(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ào khá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ợi thầ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ào vượ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ọc
là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ông gắ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 trong
hoạ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 neuron
khác trong mạng). Mỗi kết nối đến ngõ vào có một cường độ (hay trọng số), những
trọng số này tương ứng với tác dụng synapse trong neuron sinh học. Mỗi neuron cũng
có 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õ ra
neuron.

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ếu
ngõ 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àm
nấ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ấy
trong bộ não.

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. Khi mạ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
Phần 3_Chương 1 : Tổng quan Neural Networks
Lê Thanh Nhật-Trương Ánh Thu 87 GVHD : Ths Hoàng Đình Chiến
để 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ác neuron
ẩn đóng vai trò ẩn trong mạng. Ngõ vào, neuron ẩn và ngõ ra cần được kết nối với nhau.


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ạng có
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ên cứ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ên
kế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 đơn
giả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ối
vớ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ết
nố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ụng
mạ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ác
neuron 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ủa
chú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 :

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àm
việ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án

những thông tin chưa biết.
Phần 3_Chương 1 : Tổng quan Neural Networks
Lê Thanh Nhật-Trương Ánh Thu 88 GVHD : Ths Hoàng Đình Chiến
Ví dụ :
• Dự đoán thò trường chứng khoán : nếu biết giá cả chứng khoán của tuần trước và
chỉ số FTSE, ta sẽ dự đoán được giá cả chứng khoán ngày mai.

• Điều khiển : ta muốn biết có hay không một robot biết quẹo phải, trái hay chuyển
động về một phía để đạt được mục tiêu, ta sẽ biết được những gì robot đang quan
sát.

Đ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 đònh phả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ái tự
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 Neural Networks
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 ra
mố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ép
trướ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 cho cự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ấn luyệ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õ ra và 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 đầu tiê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ực cần
giải quyết sẽ cho ta những ý tưởng về các biến ngõ vào phù hợp. Trong Neural Networks, ta
có thể chọn và loại bỏ nhiền biến và Neural Networks cũng có thể xác đònh bằng thực nghiệm
Phần 3_Chương 1 : Tổng quan Neural Networks
Lê Thanh Nhật-Trương Ánh Thu 89 GVHD : Ths Hoàng Đình Chiến
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à ta nghó 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 Neural
Networks. 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ông qua
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ất
là 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 Neural
Networks 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ợp
mẫ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ấn
luyệ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ột số
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àng
ngà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ốt
nhấ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 do
nhiễ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ệt
xử 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ếu
dữ 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ếu
thỉ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ày
khó 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ày
như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.
Phần 3_Chương 1 : Tổng quan Neural Networks
Lê Thanh Nhật-Trương Ánh Thu 90 GVHD : Ths Hoàng Đình Chiến

• Dữ liệu số và danh đònh có thể xử lý trực tiếp bằng Neural Networks. Chuyển

nhữ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ến
hữ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ọn
sao 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ụng
né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ấn
luyện mạng (đây là lý do tại sao không dùng hàm nấc trong thực tế).

-4 -3 -2 -1 0 1 2 3 4
0
0.2
0.4
0.6
0.8
1
H a øm L og sig


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ế, neural
thườ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.

Phần 3_Chương 1 : Tổng quan Neural Networks
Lê Thanh Nhật-Trương Ánh Thu 91 GVHD : Ths Hoàng Đình Chiến
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ột
số 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ăng
biế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 ta có
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 ta
phả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. Trong trườ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ường
hợ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ặc dù
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ột số 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ọng
số 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ớp
tớ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ết
chí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ằng
một nửa tổng số ngõ vào và ngõ ra.

Phần 3_Chương 1 : Tổng quan Neural Networks
Lê Thanh Nhật-Trương Ánh Thu 92 GVHD : Ths Hoàng Đình Chiến
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ủa
cá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ủa
mạ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ánh
giá 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ọng
số 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ặt
phẳ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ều
chiề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ần
phả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ẳng sai 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ọng là 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ác
thuật toán bậc hai hiện đại như conjugate gradient descent và Levenberg – Marquardt cơ bản
nhanh hơn trong nhiều vấn đề, nhưng backpropagation vẫn có một số ưu điểm trong một vài
trườ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ển dọ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
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ước bước
Phần 3_Chương 1 : Tổng quan Neural Networks
Lê Thanh Nhật-Trương Ánh Thu 93 GVHD : Ths Hoàng Đình Chiến
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ộc và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 theo
theo 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ẽ di
chuyể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ể di
chuyể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ấn
luyệ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 cho phé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ường
hợ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ổng
quá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ên tậ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 sai số
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ái
niệm này là việc dò theo đồ thò đường cong đa thức hơn là minh họa bằng Neural Networks
như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= 3x
2

+ 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ểu
diễ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ức
này sẽ có đồ thò không đúng với hàm cơ sở.

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ức
tạ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ả
Phần 3_Chương 1 : Tổng quan Neural Networks
Lê Thanh Nhật-Trương Ánh Thu 94 GVHD : Ths Hoàng Đình Chiến
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àm truyề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ầu như
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ủa mạ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ấn luyệ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 sai số 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, hay bắ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ên dừ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ường hợ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ường hợ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ủa
mạ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ỗi
mạ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ừng
mạ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ỏng
mạ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. Độ tin
cậ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ào
trườ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ình
cuố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ình
cuố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 minh
và 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ố
neuron ngõ vào và ngõ ra).

Phần 3_Chương 1 : Tổng quan Neural Networks
Lê Thanh Nhật-Trương Ánh Thu 95 GVHD : Ths Hoàng Đình Chiến
• 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ường dự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ánh rơ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ức

hiệ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ểm
tra 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ấn
luyệ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 qua hà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.
Phần 3_Chương 1 : Tổng quan Neural Networks
Lê Thanh Nhật-Trương Ánh Thu 96 GVHD : Ths Hoàng Đình Chiến


Đá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ạt
tuyế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ẳng
sigmoid độ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ẫu
nhiê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ốc
nhỏ: 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ác neuron
đượ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ộc
nhó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 đề
Phần 3_Chương 1 : Tổng quan Neural Networks
Lê Thanh Nhật-Trương Ánh Thu 97 GVHD : Ths Hoàng Đình Chiến

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ột
bê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óa là
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ỏng
thỏ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 trong
lớ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àng thấ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ầu hế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ấp
nhậ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 đó
Phần 3_Chương 1 : Tổng quan Neural Networks
Lê Thanh Nhật-Trương Ánh Thu 98 GVHD : Ths Hoàng Đình Chiến
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ại bỏ
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à độ đáng
tin 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ân
bố 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 đònh
phâ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ặt phẳ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ặt phẳ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ỗi mẫ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ệc có 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ất cà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ốc
gradient 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 tin cậ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 theo
chiề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ặp
lạ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óa dọ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ày là
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 epoch hơn
backpropagation, và cũng hội tụ cực tiểu tốt hơn (đònh vò hoàn toàn, backpropagation phải
chạy với tốc độï học cực chậm)

Phần 3_Chương 1 : Tổng quan Neural Networks
Lê Thanh Nhật-Trương Ánh Thu 99 GVHD : Ths Hoàng Đình Chiến
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, ta giả
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ình thườ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 được chọ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ới tố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ểm mớ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ương và
yêu cầu bộ nhớ tỷ lệ với W
2
(với W là số trọng số trong mạng, điều này làm cho thuật toán
khô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ương
phá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ều
chỉ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ài gấ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ụng toà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ưng khô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ốc
sigmoid – 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ặt
phẳ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.
Phần 3_Chương 1 : Tổng quan Neural Networks
Lê Thanh Nhật-Trương Ánh Thu 100 GVHD : Ths Hoàng Đình Chiến


Đá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ống
như đá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 đến
tâ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 đường cong
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ương
trì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ích
hoạ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ến tí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ới số trọng
số trong neuron tuyến tính, vì thế tâm của một neuron radial trong Neural Networks xem 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ạo thà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ỏng
bằ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ủa neuron
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ệc kế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ột lớp ngõ ra
chứa các neuron tuyến tính có hàm kích hoạt tuyến tính.

Phần 3_Chương 1 : Tổng quan Neural Networks
Lê Thanh Nhật-Trương Ánh Thu 101 GVHD : Ths Hoàng Đình Chiến
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àm

phi 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ất
nhiề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ợp
giữ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ệch
tâ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ải
phá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ạng
MLP 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ạng
nhiề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 suy
khô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ường

nhấ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ện
theo ý nghóa thống kê. Tuy nhiên, nếu số neuron radial không lớn thì các neuron radial
biể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ại
trọ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 :
Phần 3_Chương 1 : Tổng quan Neural Networks
Lê Thanh Nhật-Trương Ánh Thu 102 GVHD : Ths Hoàng Đình Chiến
- 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ác
tâ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ạng mấ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ít dữ 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ác phươ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 ánh
mộ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ách trung

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 sao khô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óa
chuẩ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ấn
luyện backpropagation để huấn luyện. Ta cũng có thể huấn luyện lớp radial (lớp ẩn) bằng
thuậ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ác suấ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 quy cũ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ông gian
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ào và
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ày
là 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 đổi
củ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ả
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ác
Phần 3_Chương 1 : Tổng quan Neural Networks
Lê Thanh Nhật-Trương Ánh Thu 103 GVHD : Ths Hoàng Đình Chiến
suấ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 đó được
chọ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ớp
có 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ất

lớ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ển
nhấ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 (trung
bì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ẩn
hó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ần nhau
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ài hà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ỗi mẫ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ỗi hà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ột hà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 neural
xá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ếp
dữ 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ấn luyệ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ộc lớ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ủa nó.
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ác lớ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.

• 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ài
phâ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”.
Phần 3_Chương 1 : Tổng quan Neural Networks
Lê Thanh Nhật-Trương Ánh Thu 104 GVHD : Ths Hoàng Đình Chiến
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ổn
hao (loss factor), sự tổn hao do phân loại sai. Trong Neural Networks có thể thêm lớp
thứ 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ứ ba
và 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 sao
cho 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át
hó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ực
sự 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ới
PNN, 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ẫu
huấ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úp
tí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ệt
trong 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ọng
số, 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 trong lớ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ẫu
huấ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 K
hoặc Kohonen).

GRNN có ưu điểm và khuyết điểm như PNN, chỉ khác là GRNN chỉ dùng cho hồi quy, trong
khi đó PNN dùng cho phân loại. Huấn luyện GRNN gần như tức thời, nhưng có khuynh hướng
Phần 3_Chương 1 : Tổng quan Neural Networks
Lê Thanh Nhật-Trương Ánh Thu 105 GVHD : Ths Hoàng Đình Chiến
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 radial cho
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, GRNN
khô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ếu
mô 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à đơn giả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ập hợ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 vector ngưỡ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ạp
cao 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 ít
cá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.

12. MẠNG KOHONEN

Mạng Kohonen sử dụng hoàn toàn khác các mạng khác. Trong khi các mạng khác được thiết
kế cho việc học giám sát, mạng Kohonen được thiết kế chủ yếu cho việc học không giám sát.

Trong khi việc học giám sát, các dữ liệu huấn luyện chứa các mẫu đặc trưng của các biến ngõ
vào cùng với ngõ ra tương ứng, thì việc học không giám sát tập dữ liệu huấn luyện chỉ chứa
các biến ngõ vào.

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ột
nhó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.

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ắt

gặ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.
Phần 3_Chương 1 : Tổng quan Neural Networks
Lê Thanh Nhật-Trương Ánh Thu 106 GVHD : Ths Hoàng Đình Chiến

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òn
gọ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 gian
hai 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ẫu
nhiê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ật toá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 nhau
trong 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ó đơn giả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ại trong
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àng bấ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 đi tí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ệu mà 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 thi mỗ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ằng
cá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ận
cũ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ó neuron thắng).
Trong thuật toán Kohonen việc điều chỉnh các neuron không chỉ áp dụng cho neuron thắng mà
cho cả các neuron lân cận hiện tại.

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ẫu
huấ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ạt
mộ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ận
sẽ 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à tinh
chỉ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ới
Phần 3_Chương 1 : Tổng quan Neural Networks
Lê Thanh Nhật-Trương Ánh Thu 107 GVHD : Ths Hoàng Đình Chiến
tố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ằng
khô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 trong
cá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ên
bả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ám
sá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ận
dạ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 (đôi
khi 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ấu
trú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ãn
vớ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ông
quyế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ích hoạ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ệc kí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ạng Kohonen 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ưa quyế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.5m
2
; 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ấu
trúc liên kết biết trước.
Phần 3_Chương 2 : Mô hình Neural Networks
Lê Thanh Nhật-Trương Ánh Thu 108 GVHD : Ths Hoàng Đình Chiến
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ụng
trong 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ân
với trọng số tương ứng để đưa vào neuron, hoặc có thể cộng thêm ngưỡng (bias), thường bằ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ình bê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ấn luyện”
mạng.

Phần 3_Chương 2 : Mô hình Neural Networks
Lê Thanh Nhật-Trương Ánh Thu 109 GVHD : Ths Hoàng Đình Chiến


Hàm truyền

Có rất nhiều hàm truyền áp dụng trong Neural Networks, trong đó ba hàm thường sử dụng
nhất là Hard Limit, Linear, Log-Sigmoid.

Tổng quát với một hàm truyền có đầu vào là một hoặc một nhóm vector thì đầu ra là
a = f ( p * w + b ).
Với a : đầu ra
p : đầu vào
w : trọng số
b : ngưỡng
f : hàm truyền

Vậy một ngõ vào với các hàm truyền khác nhau sẽ cho các kết quả khác nhau. Để có giải

pháp tối ưu thì cần phải có kinh nghiệm sử dụng các hàm truyền hoặc phải tốn một khoảng
thời gian để thử nghiệm hàm truyền.

Neuron với Vector nhập

Một neuron được cho trên hình vẽ sau với vector nhập p = [p
1
, p
2
, ……p
R
], trọng số W = w
1,1
,
w
1,2
,……w
1,R
, ngưỡng b và hàm truyền f . Tổng đối số và ngưỡng tạo ở ngõ ra n là
n = w
1,1
p
1
+ w
1,2
,p
2
+ ……w
1,R
p

R
+ b
hay n = W*p + b

×