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

Phương pháp huấn luyện mạng nơ ron sử dụng giải thuật di truyền

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 (1.91 MB, 82 trang )

i

LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của tôi dưới sự định
hướng của thầy hướng dẫn, các kiến thức trong luận văn được hệ thống từ các
tài liệu đã được công bố và được trích dẫn đầy đủ.
Các kết của nghiên cứu và chạy thử nghiệm đều là trung thực dựa trên
chương trình cài đặt kèm theo nghiên cứu này.
Thái Nguyên, ngày 20 tháng 7 năm 2015
Học viên


ii

LỜI CẢM ƠN
Luận văn được thực hiện tại trường Đại học Công nghệ thông tin &
Truyền thông – Đại học Thái Nguyên, dưới sự hướng dẫn của thầy TS Phạm
Thanh Hà.
Tôi xin bày tỏ lòng biết ơn sâu sắc tới thầy TS Phạm Thanh Hà; người
đã có những định hướng giúp tôi lựa chọn đề tài và hoàn thành đề tài nghiên
cứu của mình. Thầy đã ân cần chỉ bảo, giảng giải cho tôi và động viên tôi rất
nhiều trong quá trình thực hiện đề tài.
Tôi cũng xin gửi lời chân thành cảm ơn tới quý thầy cô thuộc phòng
Đào tạo, khoa công nghệ thông tin trường Đại học Công nghệ thông tin và
truyền thông đã giúp đỡ tôi, tạo mọi điều kiện thuận lợi để tôi hoàn thành luận
văn này.
Cuối cùng, tôi xin gửi lời cảm ơn tới gia đình đã cho tôi những chỗ
dựa vững chắc để tôi hoàn thành tốt quá trình học tập của mình trong thời
gian qua.



iii

MỤC LỤC

LỜI CAM ĐOAN................................................................................................. i
LỜI CẢM ƠN........ ............................................................................................. ii
MỤC LỤC.......... ................................................................................................ iii
DANH MỤC CÁC KÝ HIỆU VÀ TỪ VIẾT TẮT .............................................. v
DANH MỤC CÁC BẢNG ................................................................................. vi
DANH MỤC CÁC HÌNH VẼ ........................................................................... vii
MỞ ĐẦU............. ................................................................................................ 1
CHƯƠNG 1: MẠNG NƠ RON NHÂN TẠO ...................................................... 3
1.1. Các khái niệm về mạng nơ ron.................................................................. 3
1.1.1. Mạng nơ ron sinh học ......................................................................... 3
1.1.2. Khái niệm mạng nơ ron nhân tạo......................................................... 4
1.2. Mạng nơ ron truyền thẳng nhiều lớp MLP .............................................. 11
1.3. Các luật học của mạng nơ ron ................................................................. 12
1.4. Thuật toán huấn luyện lan truyền ngược sai số - Back Propagation ......... 18
Kết luận chương 1 .......................................................................................... 26
CHƯƠNG 2: GIẢI THUẬT DI TRUYỀN ........................................................ 27
2.1. Các khái niệm cơ bản về giải thuật di truyền ........................................... 27
2.2. Giải thuật di truyền mã hóa nhị phân ...................................................... 29
2.3. Cơ chế hoạt động của giải thuật di truyền ............................................... 33
2.4. Giải thuật di truyền mã hóa số thực......................................................... 37
2.4.1. Nhóm toán tử đột biến ....................................................................... 39
2.4.2. Nhóm toán tử lai tạo .......................................................................... 41
Kết luận chương 2 .......................................................................................... 44
CHƯƠNG 3: ỨNG DỤNG GIẢI THUẬT DI TRUYỀN TRONG HUẤN
LUYỆN MẠNG NƠ RON...................................................... 45
3.1. Xây dựng giải thuật di truyền huấn luyện mạng ...................................... 45



iv

3.2. Một số kết quả huấn luyện mạng xấp xỉ hàm XOR ................................. 49
3.2.1. Sử dụng phương pháp lan truyền ngược sai số truyền thống .............. 50
3.2.2. Sử dụng phương pháp huấn luyện nhờ giải thuật di truyền ................ 51
3.3. Một số kết quả huấn luyện mạng xấp xỉ hàm hình chuông ...................... 53
3.3.1. Huấn luyện bằng lan truyền ngược sai số ........................................... 55
3.3.2. Huấn luyện bằng giải thuật di truyền ................................................. 56
3.4. Xấp xỉ XOR – XOR................................................................................ 66
3.4.1. Huấn luyện bằng mạng nơ ron ........................................................... 67
3.4.2 Huấn luyện bằng giải thuật di truyền .................................................. 70
Kết luận chương 3 .......................................................................................... 73
KẾT LUẬN........... ............................................................................................ 74
TÀI LIỆU THAM KHẢO ................................................................................. 75


v

DANH MỤC CÁC KÝ HIỆU VÀ TỪ VIẾT TẮT

ANN

Artificial Neural Network (mạng nơron nhân tạo)

BP

Back propagation (giải thuật lan truyền ngược)


GA

Gennetic Algorithm (giải thuật di truyền)

MLP

Multi-Layer Perceptrons (Perceptron nhiều tầng)

RBF

Radial Basic Function (hàm cơ sở bán kính)


vi

DANH MỤC CÁC BẢNG
Bảng 2.1: Bảng quá trình chọn lọc các cá thể có độ thích nghi tốt ................ 32
Bảng 2.2: Bảng quá trình chọn lọc các cá thể có độ thích nghi tốt ................ 33
Bảng 3.1. Kết quả xấp xỉ hàm XOR sử dụng phương pháp lan truyền
ngược sai số .................................................................................. 51
Bảng 3.2. Kết quả xấp xỉ hàm XOR sử dụng giải thuật di truyền lần 1 ......... 52
Bảng 3.3. Kết quả xấp xỉ hàm XOR sử dụng giải thuật di truyền lần 2 ......... 53
Bảng 3.4. Một số mẫu( theo dòng) sinh ra bởi chương trình ......................... 54
Bảng 3.5. Kết quả xấp xỉ hàm hình chuông sử dụng giải thuật di truyền
lần 1.............................................................................................. 57
Bảng 3.6. Kết quả xấp xỉ hàm hình chuông sử dụng giải thuật di truyền
lần 2.............................................................................................. 60
Bảng 3.7. Kết quả xấp xỉ hàm hình chuông sử dụng giải thuật di truyền
lần 3.............................................................................................. 64
Bảng 3.8. Kết quả xấp xỉ hàm XOR-XOR sử dụng phương pháp lan

truyền ngược sai số lần 1 .............................................................. 68
Bảng 3.9. Kết quả xấp xỉ hàm XOR-XOR sử dụng phương pháp lan
truyền ngược sai số lần 2 .............................................................. 69
Bảng 3.10. Kết quả xấp xỉ hàm XOR-XOR sử dụng giải thuật di truyền
lần 1.............................................................................................. 71
Bảng 3.11. Kết quả xấp xỉ hàm XOR-XOR sử dụng giải thuật di truyền
lần 2.............................................................................................. 72


vii

DANH MỤC CÁC HÌNH VẼ

Hình 1.1: Cấu tạo của một nơ ron ................................................................... 3
Hình 1.2: Mô hình của một nơ ron ................................................................. 5
Hình 1.3: Cấu trúc của một nơ ron ................................................................. 6
Hình 1.4: Hàm kích hoạt bước nhảy ............................................................... 8
Hình 1.5: Hàm kích hoạt hàm dấu .................................................................. 9
Hình 1.6: Hàm kích hoạt hàm dốc .................................................................. 9
Hình 1.7: Hàm kích hoạt sigmoid đơn cực ................................................... 10
Hình 1.8: Hàm kích hoạt sigmoid đa cực ...................................................... 10
Hình 1.9: Mạng nơ ron truyền thẳng MLP.................................................... 11
Hình 1.10: Học có giám sát .......................................................................... 13
Hình 1.11: Học không có giám sát ............................................................... 15
Hình 1.12: Mạng MLP lan truyền ngược sai số ............................................ 19
Hình 1.13: Thuật toán lan truyền ngược sai số.............................................. 23
Hình 2.1: Bánh xe rulet lựa chọn nhiễm sắc thể............................................ 36
Hình 2.2: Biểu diễn giá trị của  .................................................................. 40
Hình 3.1: Mã hóa trọng số biểu diễn thập phân trong mạng nơ ron .............. 47
Hình 3.2: Sơ đồ giải thuật di truyền .............................................................. 48



1

MỞ ĐẦU
1. Đặt vấn đề
Như chúng ta đã biết mạng nơ ron nhân tạo là sự tái tạo bằng kỹ thuật
những chức năng của hệ thần kinh con người. Trong quá trình tái tạo không
phải tất cả các chức năng của bộ não con người đều được tái tạo, mà chỉ có
những chức năng cần thiết. Bên cạnh đó còn có những chức năng mới được
tạo ra nhằm giải quyết một bài toán định trước.
Mạng nơ ron bao gồm các nơ ron được liên kết với nhau bằng các trọng
số theo một cấu trúc xác định. Mạng nơ ron có thể được huấn luyện để thực
hiện các nhiệm vụ khác nhau. Quá trình huấn luyện sẽ thiết lập bộ trọng số
cho các liên kết giữa các nơ ron trong mạng.
Thuật toán huấn luyện lan truyền ngược là một thuật toán trong lịch sử
phát triển mạng nơ ron nhân tạo, thuật toán được ứng dụng cho mạng truyền
thẳng nhiều lớp. Thuật toán sử dụng phương pháp giảm gradient (giảm dốc
nhất) để tối thiểu hàm sai số. Giá trị hàm sai số Ek đối với một mẫu được tính
toán dựa trên giá trị các trọng số hiện tại. Các giá trị trọng số này sau đó được
hiệu chỉnh và trở thành các giá trị trọng số hiện tại để tính giá trị hàm sai số
tiếp theo Ek+1.
Hạn chế của giải thuật huấn luyện lan truyền ngược sai số là tốc độ chậm
và nhiều khi gặp phải vấn đề như:
Mạng liệt: xảy ra khi những trọng số được điều chỉnh tới những giá trị
rất lớn. Tổng đầu vào của một đơn vị ẩn hoặc đơn vị đầu ra có thể bởi vậy mà
đạt giá trị rất cao (hoặc dương hoặc âm), và qua hàm kích hoạt sigmoid, đơn
vị sẽ có một giá trị kích hoạt rất gần 0 hoặc rất gần 1. Giá trị hiệu chỉnh trọng
số gần 0, và quá trình huấn luyện có thể đi đến một trạng thái dừng ảo.



2

Cực tiểu địa phương: bề mặt sai số của mạng rất phức tạp đầy những
ngọn đồi và những thung lũng. Bởi vì sự hạ độ dốc, mạng có thể bị mắc bẫy
tại một cực tiểu địa phương khi có nhiều cực tiểu thấp hơn gần bên cạnh.
Giải thuật di truyền là một trong những kỹ thuật tìm kiếm tối ưu giúp ta
giải quyết được những vấn đề đã đặt ra ở trên, nó cho phép ta tìm kiếm lời
giải tối ưu trên các không gian lớn, nguyên tắc cơ bản của giải thuật di truyền
là mô phỏng quá trình chọn lọc của tự nhiên. Cho đến nay lĩnh vực nghiên
cứu về giải thuật di truyền đã thu được nhiều thành tựu, giải thuật di truyền
được ứng dụng trong nhiều lĩnh vực phức tạp, các vấn đề khó có thể giải
quyết được bằng phương pháp thông thường [1-3].
Như đã đề cập ở trên quá trình huấn luyện mạng nơ ron chính là quá
trình cực tiểu hàm sai số để xác định các trọng số của mạng và luận văn sẽ sử
dụng giải thuật di truyền để xác định các trọng số của mạng thay vì sử dụng
giải thuật huấn luyện.
2. Đối tượng và phạm vi nghiên cứu
- Mạng nơ ron nhân tạo trong đó đi sâu vào mạng truyền thẳng và kỹ
thuật huấn luyện lan truyền ngược sai số
- Nghiên cứu ứng dụng giải thuật di truyền trong huấn luyện mạng nơ
ron truyền thẳng, thay thế kỹ thuật huấn luyện lan truyền ngược sai số
3. Phương pháp nghiên cứu
Nghiên cứu lý thuyết kết hợp với cài đặt thực nghiệm
4. Ý nghĩa khoa học của đề tài
Nghiên cứu về mạng nơ ron, giải thuật di truyền và sử dụng giải thuật di
truyền trong huấn luyện mạng nơ ron.


3


1

CHƯƠNG 1: MẠNG NƠ RON NHÂN TẠO

1.1. Các khái niệm về mạng nơ ron
1.1.1. Mạng nơ ron sinh học
Mạng nơ ron bao gồm vô số các nơ ron được liên kết truyền thông với
nhau trong mạng, hình 1.1 là một phần của mạng nơ ron bao gồm hai nơ ron.

Hình 1.1:Cấu tạo của một nơ ron
Nơ ron được cấu tạo gồm các phần chính sau:
Thân nơ ron: thường gọi là soma có nhiệm vụ chính là tổng hợp và xử
lý cho tín hiệu điện nhận được từ các rễ đầu vào. Bản chất của quá trình này
chính là việc lấy tổng cộng tất cả các tín hiệu mà nơ ron nhận được
Các xúc tu: đó là các tua dài gắn liền với soma có chức năng truyền tín
hiệu điện nhận từ môi trường hoặc từ các nơ ron khác để soma xử lý
Trục cảm ứng: là thành phần kết nối các nơ ron lại với nhau. Nó có chức
năng phát các tín hiệu điện, truyền tín hiệu từ nơ ron này đi nơi khác. Thông
thường axon ở trạng thái nghỉ, khi điện thế trong soma vượt quá ngưỡng cho
phép thì axon sẽ phát ra một xung điện thế


4

Khớp nối:. Điểm liên kết giữa sợi trục cảm ứng - axon của nơron này
với các xúc tu - dendrites nhánh hình cây của nơron khác thông qua các mối
nối rất đặc biệt gọi là synapses. Liên kết giữa các nơron và độ nhạy của mỗi
synapse được xác định bởi quá trình hóa học phức tạp. Khi điện thế của
synapses tăng lên do các xung điện phát ra từ axon thì synapses sẽ tiết ra một

loại hóa chất để xúc tu mở ra cho các ion đi qua nó. Các ion này làm thay đổi
tín hiệu điện thế trên các xúc tu tạo ra các xung dữ liệu lan truyền đến các nơ
ron khác. Các synapses đóng vai trò hết sức quan trọng trong quá trình học
tập. Khi học tập và làm việc nhiều thì các hoạt động của synapses được tăng
lên nhiều tạo ra nhiều liên kết mạnh mẽ giữa các nơ ron [5]
Một cách tổng quát hóa qua các thành phần cấu tạo và chứng năng của
chúng trong mạng nơ ron chúng ta thấy rằng các hoạt động chính của nơ ron
được thể hiện như sau: nơ ron lấy tổng tất cả các tín hiệu vào mà nó nhận
được sau đó phát ra một tín hiệu điện; nếu tổng tất cả các tín hiệu điện lớn
hơn một ngưỡng cho phép nào đó rồi xử lý và cho ra một tín hiệu điện đầu ra.
Tín hiệu điện đầu ra này truyền qua axon và chính là tín hiệu điện đầu vào của
một nơ ron khác.
1.1.2. Khái niệm mạng nơ ron nhân tạo
Mạng nơron nhân tạo- Artificial Neural Network (ANN), gọi tắt là mạng
nơ ron hay Neural Network là một mô hình xử lí thông tin mô phỏng theo
cách xử lí thông tin của các hệ nơ ron sinh học. Nó được tạo lên từ một số
lượng lớn các phần tử (gọi là phần tử xử lý hay nơron) kết nối với nhau thông
qua các liên kết (gọi là trọng số liên kết) làm việc như một thể thống nhất để
giải quyết một vấn đề cụ thể nào đó.
Một mạng nơron nhân tạo được cấu hình cho một ứng dụng cụ thể (nhận
dạng mẫu, phân loại dữ liệu, ...) thông qua một quá trình học từ tập các mẫu


5

huấn luyện. Về bản chất học chính là quá trình hiệu chỉnh trọng số liên kết
giữa các nơron.
Mạng nơ ron bao gồm vô số các nơ ron liên kết truyền thông với nhau
trong mạng. Nơ ron có thể liên kết với các nơ ron khác thông qua rễ. Chính vì
các liên kết đa dạng như vậy mà mạng nơ ron có độ liên kết rất cao.[1]

x1
x2
.

.

.

.

y

1

Nơ ron

xn

Hình 1.2:Mô hình của một nơ ron
Một tính chất rất cơ bản của mạng nơ ron sinh học là các đáp ứng theo
kích thích có khả năng thay đổi theo thời gian. Các đáp ứng có thể tăng lên,
giảm đi hoặc hoàn toàn biến mất. Qua các nhánh axon liên kết tế bào nơ ron
này với các nơ ron khác, sự thay đổi trạng thái của một nơ ron cũng kéo theo
sự thay đổi trạng thái của những nơ ron khác và do đó làm thay đổi toàn bộ
mạng nơ ron. Việc thay đổi trạng thái của mạng nơ ron có thể thực hiện qua
một quá trình “dạy” hoặc do khả năng “học” tự nhiên.
Sự thay thế những tính chất này bằng một mô hình toán học tương
đương được gọi là mạng nơ ron nhân tạo. Mạng nơ ron nhân tạo có thể được
chế tạo bằng nhiều cách khác nhau vì vậy trong thực tế tồn tại rất nhiều kiểu
mạng nơ ron nhân tạo.

Mô hình nơ ron có m đầu vào x1, x2, ...xm và một đầu ra y (hình 1.2), mô
hình này gồm có ba thành phần cơ bản:
+Các kích thích đầu vào của tế bào nơ ron có thế năng tác động vào
màng membran khác nhau được biểu diễn qua trọng lượng wi, i = 1, .., m


6

tương ứng với cường độ kích thích của từng đầu vào. Các kích thích đầu vào
được thực hiện qua một bộ tổng, đó là giá trị đo kích thích đầu vào tác động
vào tế bào nơ ron.
+Đầu ra của bộ tổng được đưa đến bộ đáp ứng a(.), bộ này không chỉ có
chức năng tạo ra đáp ứng tức thời mà còn có khả năng lưu giữ các đáp ứng
theo thời gian. Thành phần này hoạt động theo nguyên lý “nhớ” động.
+Nơ ron bị kích thích trong thời gian thế năng của màng membran vượt
quá ngưỡng. Quan hệ này được thực hiện nhờ hàm a(.), nó có chức năng của
bộ tạo tín hiệu ngưỡng, xác định phụ thuộc của tín hiệu ra y vào các kích
thích đầu vào.
Cách thành lập nơ ron nhân tạo như vậy tạo ra một độ tự do trong thiết
kế. Việc lựa chọn phép cộng tín hiệu đầu vào và đáp ứng a(.) sẽ cho ra các
kiểu mạng nơ ron nhân tạo khác nhau và tương ứng là các mô hình mạng khác
nhau.[1]

Hình 1.3: Cấu trúc của một nơ ron




là các tín hiệu đầu vào
là các trọng số tương ứng (trọng số thứ j của nơ ron thứ i)

là ngưỡng đặt vào phần tử nơ rơn thứ i


7



là giá trị đầu ra



(. )là hàm kích hoạt



(. ) là hàm truyền

Theo hình 1.3 thì tín hiệu đầu ra

là:
(1.1)

( + 1) =

( )

Trong đó hàm kích hoạt a(f) ở dạng hàm bước nhảy
( )=
Như vậy


1
0

≥0
<0

(1.2)

chỉ có thể nhận 2 giá trị một là 0 hoặc là 1

Hàm truyền f(.) : Hàm này được dùng để giới hạn phạm vi đầu ra của
mỗi nơron. Nó nhận đầu vào là kết quả của hàm tổng và ngưỡng đã cho.
Thông thường, phạm vi đầu ra của mỗi nơron được giới hạn trong đoạn [0,1]
hoặc [-1, 1]. Các hàm truyền rất đa dạng, có thể là các hàm tuyến tính hoặc
phi tuyến. Việc lựa chọn hàm truyền nào là tuỳ thuộc vào từng bài toán và
kinh nghiệm của người thiết kế mạng. Một số hàm truyền thường sử dụng
trong các mô hình mạng nơron:

=

=

(1.3)

 Hàm bình phương (quadratic funtion)
(1.4)

=
 Hàm hình cầu (spherical funtion)
(1.5)


=


8

Trong đó



là bán kính và tâm của hình cầu

 Hàm đa thức (Polynomial function):
(1.6)

=
Trong đó

+

+

là trọng số kết nối của phần tử j và k đến phần tử i;

là các hệ số thực không đổi.

là ngưỡng đặt vào phần tử nơ rơn thứ i

Các hàm kích hoạt thường sử dụng:
 Hàm bước nhảy (Step function):

( )=

1
0

≥0
<0

(1.7)

Đồ thị của hàm được thể hiện như hình 1.4 sau:

Hình 1.4: Hàm kích hoạt bước nhảy

 Hàm dấu (Hard limiter – threshold function):
( )=

( )=

1
1

≥0
<0

(1.8)





9

Đồ thị của hàm được thể hiện như hình 1.5 sau:

Hình 1.5: Hàm kích hoạt hàm dấu
 Hàm dốc (Ramp function):
1
( )=
0

>0
0≤ ≤1
<0

(1.9)

Đồ thị của hàm được thể hiện như hình 1.6 sau:

Hình 1.6: Hàm kích hoạt hàm dốc

 Hàm sigmoid đơn cực (Unipolar sigmoid function):
( )=

(1.10)

1
1+





10

Đồ thị của hàm thể hiện như hình 1.7 sau:

Hình 1.7: Hàm kích hoạt sigmoid đơn cực

 Hàm sigmoid lưỡng cực (Bipolar sigmoid function):
( )=



1 với >0

Đồ thị của hàm được thể hiện như hình 1.8 sau:

Hình 1.8: Hàm kích hoạt sigmoid đa cực

(1.11)


11

1.2. Mạng nơ ron truyền thẳng nhiều lớp MLP
Có rất nhiều kiểu kiến trúc về mạng nơ ron nhân tạo. Các kiểu kiến trúc
mạng nơ ron nhân tạo này được tạo ra tùy thuộc vào yêu cầu của bài toán cần
giải quyết. Các tính năng của mạng nơ ron tùy thuộc vào cấu trúc, kiểu liên
kết, các trọng số liên kết và quá trình tính toán của các nơ ron đơn lẻ. Trong
phạm vi nghiên cứu của luận văn này chúng ta đi thẳng vào nghiên cứu mạng
nơ ron truyền thẳng nhiều lớp MLP (Multi-Layer Perceptrons) bởi tính phổ

biến của nó.
Cấu tạo của mạng MLP gồm có 3 lớp: lớp đầu vào, lớp ẩn và lớp đầu ra.
Hình 1.9 cho chúng ta một cái nhìn tổng quát về mạng MLP

Hình 1.9: Mạng nơ ron truyền thẳng MLP
 Lớp đầu vào (Input layer): là các véc tơ x1, x2, ..,xm trong không gian
m chiều. Tất cả các nơ ron của lớp đầu vào có nhiệm vụ nhận tín hiệu đầu
vào. Thông thường các nơ ron đầu vào không làm biến đổi tín hiệu đầu vào
mà chỉ có chức năng nhận và phân phối tín hiệu đầu vào. Mỗi nơ ron của lớp
đầu vào liên kết với tất cả các nơ ron của tầng liền kế trước nó (thường là lớp
ẩn). Đầu ra của nơ ron lớp đầu vào chính là đầu vào của nơ ron liền sau nó.
 Lớp ẩn (Hidden Layer): là lớp nơ ron dưới lớp vào, chúng không liên
hệ trực tiếp với thế giới bên ngoài như các lớp nơ ron vào và ra.
 Lớp ra (Output Layer): là lớp tạo tín hiệu ra sau cùng.


12

Hoạt động của mạng MLP có thể mô tả một cách cụ thể như sau: tại tầng
đầu vào các nơron nhận tín hiệu vào xử lý (tính tổng trọng số, gửi tới hàm
truyền) rồi cho ra kết quả (là kết quả của hàm truyền). Kết quả này sẽ được
truyền tới các nơron thuộc tầng ẩn thứ nhất; các nơron tại đây tiếp nhận như là
tín hiệu đầu vào, xử lý và gửi kết quả đến tầng ẩn thứ 2;…; quá trình tiếp tục
cho đến khi các nơron thuộc tầng ra cho kết quả.
Hàm tính tổng trong mạng MLP thường có dạng tổng quát như sau:
=∑

, các hàm chuyểnf(.) thường có nhiều dạng khác nhau tùy vào

mục đính của mạng.

1.3. Các luật học của mạng nơ ron
Học tham số (Parameter Learning): là các tham số về trọng số cập nhật
kết nối giữa các nơ ron.
Giả sử ta có một ma trận trọng số bao gồm tất cả các phần tử thích ứng
của mạng nơ ron. Nhiệm vụ của việc học thông số là bằng cách nào đó tìm
được ma trận chính xác mong muốn từ ma trận giả thiết ban đầu với cấu trúc
của mạng nơ ron đã xây dựng.
Để thực hiện việc này, mạng nơ ron sử dụng các trọng số điều chỉnh với
nhiều phương pháp học khác nhau để có thể tính toán gần đúng ma trận W
cần tìm đặc trưng cho mạng.
Một cách chi tiết hóa quá trình học của mạng nơ ron là huyấn luyện sao
cho với một tập các véctơ đầu vào X, mạng có khả năng tạo ra tập các véctơ
đầu ra mong muốn Y của nó. Tập X được sử dụng cho huấn luyện mạng được
gọi là tập huấn luyện (training set). Các phần tử x thuộc X được gọi là các
mẫu huấn luyện (training example). Quá trình huấn luyện bản chất là sự thay
đổi các trọng số liên kết của mạng. Trong quá trình này, các trọng số của
mạng sẽ hội tụ dần tới các giá trị sao cho với mỗi véctơ đầu vào x từ tập huấn
luyện, mạng sẽ cho ra véctơ đầu ra y như mong muốn.


13

Có ba phương pháp học:
 Học có giám sát (Supervised Learning): là quá trình học có tín hiệu
chỉ đạo bên ngoài. Hình 1.10 minh họa quá trình học có giám sát

Hình 1.10: Học có giám sát
Với học có giám sát, tập mẫu huấn luyện được cho dưới dạng D = {(x,t) |
N


K

(x,t) ∈ [IR x R ]}, trong đó: x = (x1, x2, ..., xN) là véctơ đặc trưng N chiều
của mẫu huấn luyện và t = (t1, t2, ..., tK) là véctơ mục tiêu K chiều tương ứng,
nhiệm vụ của thuật toán là phải thiết lập được một cách tính toán trên mạng
như thế nào đó để sao cho với mỗi véctơ đặc trưng đầu vào thì sai số giữa giá
trị đầu ra thực sự của mạng và giá trị mục tiêu tương ứng là nhỏ nhất. Chẳng
hạn mạng có thể học để xấp xỉ một hàm t = f(x) biểu diễn mối quan hệ trên tập
các mẫu huấn luyện (x, t).
Như vậy với học có giám sát, số lớp cần phân loại đã được biết trước.
Nhiệm vụ của thuật toán là phải xác định được một cách thức phân lớp sao
cho với mỗi véctơ đầu vào sẽ được phân loại chính xác vào lớp của nó.
Dựa vào các điều kiện nêu trên chúng ta có thể xây dựng một thuật toán
thể hiện quá trình học có giám sát như sau:
Giả sử ta cần xấp xỉ một ánh xạ: X→ Y, trong đó X là tập các vấn đề và
Y là tập các lời giải tương ứng cho vấn đề đó. Các mẫu (x, y) với x = (x1, x2, .
. ., xn) ∈ X, y = (yl, y2, . . ., ym) ∈Y được cho trước.


14

+ Bước 1: Xây dựng cấu trúc cho mạng nơron theo yêu cầu tính toán,
chẳng hạn mạng cần xây dựng có (n + 1) nơron đầu vào (trong đó có n nơron
cho biến vào và 1 nơron cho ngưỡng x0), mạng có m nơron đầu ra, và khởi tạo
các trọng số liên kết của mạng.
+ Bước 2: Đưa một véctơ x trong tập mẫu huấn luyện X vào mạng.
+ Bước 3: Tính véctơ đầu ra v của mạng.
+ Bước4: So sánh véctơ đầu ra mong muốn y được cho trong tập huấn
luyện với véctơ đầu ra v do mạng tạo ra; nếu có thể thì đánh giá lỗi.
+ Bước 5: Hiệu chỉnh các trọng số liên kết theo một cách nào đó sao cho

ở lần tiếp theo khi đưa véctơ x vào mạng, véctơ đầu ra v sẽ giống với y hơn.
+ Bước 6: Nếu kết quả chưa tốt, lặp lại các bước từ bước 2 đến bước 5
cho tới khi mạng đạt tới trạng thái hội tụ. Việc đánh giá lỗi có thể thực hiện
theo nhiều cách là sử dụng lỗi tức thời: Err = (v- y), hoặc Err = |v- y| hoặc lỗi
trung bình bình phương:

=

(

)

Có hai loại lỗi trong đánh giá một mạng nơron:
 Trường hợp lỗi thứ nhất gọi là lỗi rõ ràng (apparent error): đánh giá
khả năng xấp xỉ các mẫu huấn luyện của một mạng đã được huấn luyện.
 Trường hợp lỗi thứ hai gọi là lỗi kiểm tra (test error): đánh giá khả
năng tổng quá hóa của một mạng đã được huấn luyện, tức khả năng phản ứng
với các véctơ đầu vào mới. Để đánh giá lỗi kiểm tra chúng ta phải biết đầu ra
mong muốn cho các mẫu kiểm tra.
Thuật toán tổng quát ở trên cho học có giám sát trong các mạng nơron có
nhiều cài đặt khác nhau, sự khác nhau chủ yếu là cách các trọng số liên kết
được thay đổi trong suốt thời gian học. Trong đó tiêu biểu nhất là thuật toán
lan truyền ngược.


15

 Học không có giám sát (Unsupervised Learning): là quá trình học
không có tín hiệu chỉ đạo bên ngoài. Hình 1.11 minh họa quá trình học không
có giám sát


Hình 1.11: Học không có giám sát
Trong bài toán học không giám sát, tập dữ liệu huấn luyện được cho
dưới dạng: D = {(x1, x2, ..., xN)}, với (x1, x2, ..., xN) là véctơ đặc trưng của
mẫu huấn luyện. Nhiệm vụ của thuật toán là phải phân chia tập dữ liệu D
thành các nhóm con, mỗi nhóm chứa các véctơ đầu vào có đặc trưng giống
nhau.
Như vậy với học không giám sát, số lớp phân loại chưa được biết trước,
và tùy theo tiêu chuẩn đánh giá độ tương tự giữa các mẫu mà ta có thể có các
lớp phân loại khác nhau.
 Học tăng cường: là quá trình học kết hợp cả học có giám sát và học
không giám sát.
Nguyên lý chính của học tăng cường là : với véctơ đầu vào, quan sát
véctơ đầu ra do mạng tính được. Nếu kết quả được xem là tốt thì mạng sẽ
được thưởng theo nghĩa tăng các trọng số kết nối lên.Ngược lại các trọng số
kết nối không thích hợp sẽ được giảm xuống. Xu hướng này chính là quá trình
điều chỉnh để chất lượng của mạng ngày càng tốt dần lên. Tuy nhiên kiểu học
này không cho chúng ta biết trước giá trị đích của mỗi mẫu tương ứng.


16

Dạng tổng quát của luật học trọng số của mạng nơ ron cho biết về gia số
của véctơ

tỉ lệ với tín hiệu học và tín hiệu đầu vào ( ):



( ) = . . ( )

Với  la một số dương còn gọi là hằng số học dùng để xác định tốc độ
học, r là tín hiệu học, r phụ thuộc vào hàm
Từ công thức
[

,

,..,

=

(

, ,

)

( ) = . . ( ) ta thấy rằng véctơ trọng số

=

] có số gia tỉ lệ với tín hiệu vào x và tín hiệu học r. véctơ

trọng số tại thời điểm (t+1) được tính như sau:
( + 1) =

+

( ), ( ), ( ) ( )


Phương trình liên quan đến sự biến đổi trọng số trong mạng nơ ron rời
rạc và tương ứng với sự thay đổi trọng số trong mạng nơ ron liên tục theo
biểu thức:
( )

= . . ( )

Một số thuật toán học có giám sát và không giám sát được phát triển dựa
vào luật cập nhật trọng số :
( )

= . . ( )

Sự khác biệt chính giữa các thuật toán học có giám sát và không giám
sát này là tín hiệu học r sẽ được phát ra để cập nhật trọng số như thế nào.
Luật Hebb là một ví dụ điển hình, với tiếp cận trọng số được điều chỉnh
phù hợp với quan hệ trước – sau. Cụ thể luật học Hebb định nghĩa:
=

=

Với a(.) là hàm kích hoạt
Định luật Hebb: Khi một tế bào A ở gần tế bào B, kích hoạt thường
xuyên hoặc lặp lại việc làm cháy nó thì phát triển một quá trình sinh hoá ở các
tế bào làm tăng tác động này.


17

Trong luật Hebb tín hiệu lỗi

Theo công thức

()

đơn giản là đầu ra của nơ ron hiện thời.

= . r. x(t) ta có w = . a w x x = . y . x từ đó các

thành phần của véctơ trọng số w được cập nhật lại như sau :
w = . a w x x = . y . x vớ i = 1. . n; j = 1. . m
Luật Hebb là luật học không giám sát cho mạng truyền thẳng, nó chỉ sử
dụng các đầu vào và các đầu ra hiện thời để cập nhật trọng số. Trong luật học
này các trọng số cần được khởi tạo ngẫu nhiên với giá trị xấp xỉ bằng không
trước khi học.
Ví dụ: Xét mạng chỉ có một đơn vị xử lý như hình 1.3 với hàm kích
hoạt là hàm dấu
Sign(), Sign(x)=1 nếu x >= 0 và Sign(x)= -1 nếu x < 0
Có 4 đầu vào x1, x2, x3, x4. Véc tơ trọng số w = (w1, w2, w3, w4). Giả sử
ta huấn luyện cho mạng với 3 véc tơ mẫu sau:
=

1
1.5
0.5
0

;

=


0.5
1
0
1.5

;

=

1
0
1
0.5

Véctơ trọng số được khởi tạo
=

1
0
1
0

Hằng số học được cho =1
Theo luật Hebb ta có các bước kết quả sau:
Bước1: Đưa véctơ mẫu x(1) vào để cập nhật véctơ trọng số
( )

=

( )


+

( )

( )

( )

=


18

1
0
+
1
0

=

1
(0.5) 1.5 =
0.5
0

2
1.5
0.5

0

Bước2: Đưa véctơ mẫu x(2 )vào để cập nhật véctơ trọng số
( )

=

( )

2
1.5
+
0.5
0

=

( )

+

( )

0.5
1
=
0
1.5

(0.5)


( )

=

1.5
2.5
0.5
1.5

Bước3: Đưa véctơ mẫu x(3) vào để cập nhật véctơ trọng số
( )

=

=

( )

1.5
2.5
+
0.5
1.5

( )

+

( )


( )

1
0
=
1
0.5

( 1.75)

=

2.5
2.5
0.5
2

Ta dễ dàng nhận thấy rằng:
((

( ) ( ) ( )

)

)=

(

( ) ( ) ( )


)

= 1,

(

( ) ( ) ( )

)

=

1

1.4. Thuật toán huấn luyện lan truyền ngược sai số- Back Propagation
Thuật toán lan truyền ngược sai số là thuật toán rất phổ biến được sử
dụng trong quá trình huấn luyện mạng nơ ron.
Mạng nơ ron MLP sử dụng thuật toán lan truyền ngược sai số được gọi
là mạng BP (Back Propagation Network). Hình 1.12 minh họa cấu trúc mạng
với thuật toán lan truyền ngược sai số.


×