MẠNG NEURON NHÂN TẠO VÀ GIẢI THUẬT LAN TRUYỀN NGƯỢC - Pdf 26



TRƢỜNG ĐẠI HỌC QUỐC GIA TP.HCM
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

TIỂU LUẬN
KHAI THÁC DỮ LIỆU

MẠNG NEURON NHÂN TẠO
VÀ GIẢI THUẬT LAN TRUYỀN NGƯỢC
GVHD: PGS. TS. ĐỖ PHÚC
SVTH: TRƢƠNG HỒNG THÁI
MSSV: CH1101041
KHÓA: K6-2011 TP.HCM, 11/2012
am6 1
MỤC LỤC

bày phƣơng pháp dùng mạng neuron, cụ thể là giải thuật lan truyền ngƣợc.
Chương 2: Giới thiệu mạng neuron 3
CHƯƠNG 2: GIỚI THIỆU MẠNG NEURON
2.1. Giới thiệu về mạng neuron nhân tạo
Theo các nghiên cứu khoa học, bộ não của con ngƣời chứa khoảng 10
11
neuron thần
kinh, mỗi neuron sẽ có nối kết với khoảng 10
4
neuron khác. Các neuron hoạt động
bằng cách truyền các rung động đên các neuron khác thông qua các kết nối. Mô phỏng
mạng neuron sinh học, mạng neuron nhân tạo cũng đƣợc tạo ra từ tập hợp những đơn
vị có liên kết nội với nhau, tại mỗi đơn vị đó sẽ mang một giá trị thực có thể là output
của một đơn vị khác để làm input và sinh ra một giá trị thực output có thể làm input
của nhiều đơn vị khác.
2.2. Perceptron
Perceptron là mạng neuron đầu tiên có khả năng học. Một perceptron nhận giá trị input
là một vector những giá trị thực, output đƣợc tính toán dựa trên một tổ hợp tuyến tính
của những giá trị input này:
 
 








Perceptron Chương 2: Giới thiệu mạng neuron 4
Ví dụ: Ứng dụng perceptron cho phép tính logic AND:
x
1
x
2
Output
1
1
1
1
0
0
0
1
0
0
0
0

Để giải tìm kết quả cho hàm AND, ta có thể tạo 1 perceptron với 2 input, các
trọng số
8.0

0,0
21
 xx
:
108.0  oxw
: FALSE

Ứng dụng của perceptron rất hạn chế, nó chỉ có thể giải các bài toán tuyến tính
mà không thể giải quyết các bài toán không phân hoạch tuyến tính đƣợc.

Bài toán có thể phân hoạch tuyến tính
Chương 2: Giới thiệu mạng neuron 5

Bài toán không thể phân hoạch tuyến tính
Để xác định đƣợc các trọng số, ta có thể cho mạng neuron học tập huấn luyện. Ta
có thể áp dụng nhiều giải thuật để huấn luyện, tuy nhiên trong báo cáo này tôi chỉ đề
cập đến hai giải thuật là: qui tắc perceptron và qui tắc delta. Hai giải thuật này là nền
tảng cơ bản cho giải thuật lan truyền ngƣợc.
2.2.1. Quy tắc perceptron
Các trọng số sẽ đƣợc gán ngẫu nhiên ở trạng thái bắt đầu, sau đó đƣa vào perceptron
để lặp đi lặp lại cho mỗi mẫu huấn luyện; tiếp tục thay đổi trọng số perceptron cho đến
khi nó sắp xếp đƣợc mẫu này. Vòng lặp này đƣợc sử dụng nhiều lần cho toàn bộ mẫu
huấn luyện, cho đến khi perceptron phân loại đƣợc toàn bộ các mẫu huấn luyện một
cách chính xác. Các trọng số sẽ đƣợc thay đổi tại mỗi bƣớc theo luật huấn luyện
perceptron:

iii

công thức:
xwxo

)(

Quá trình cập nhật trọng số dựa trên việc tính toán sai số giữa output và kết quả
mong muốn (target). Có nhiều cách để xác định sai số này, cách phổ biến nhất là:
 



Dd
dd
otwE
2
2
1
)(


trong đó:
D: tập hợp những mẫu huấn luyện,
t
d
: output đích cho mẫu huấn luyện d,
o
d
: output của đơn vị tuyến tính cho mẫu huấn luyện d.
Chúng ta có thể xem E nhƣ là một hàm số của
w

i
cho mẫu huấn luyện d
Chi tiết giải thuật Gradient-descent (training_example,

):
Mỗi mẫu huấn luyện là một cặp ở dạng (
x
, t), với
x
là vector của giá trị
input và t là giá trị ouput đích,

là tỉ lệ học (tỉ lệ học).
1. Khởi tạo mỗi w
i
với một giá trị nhỏ ngẫu nhiên.
2. Lặp cho đến khi gặp điều kiện kết thúc:
Khởi tạo gán mỗi
i
w
bằng 0.
For each (
x
, t), do:
Input
x
cho các đơn vị và tính toán output
For each
i
w
9
CHƯƠNG 3: GIẢI THUẬT LAN TRUYỀN NGƯỢC
Trong mạng neuron nhiều tầng, các giá trị output không còn là các tổ hợp tuyến tính
của các giá trị input nữa mà là kết quả của 1 hàm phức tạp hơn. Nhiều bài toán thực tế
nhƣ nhận diện giọng nói, nhận diện khuôn mặt… đã áp dụng giải thuật này để giúp
cho máy học một số ví dụ mẫu, sau đó tính toán output cho cho trƣờng hợp khác.

Ứng dụng mạng neuron nhiều tầng trong nhận diện giọng nói [3]
3.1. Cấu tạo mạng neuron nhiều tầng
Mạng neuron nhiều tầng cũng đƣợc cấu thành từ các phần tử cơ bản tƣơng tự nhƣ các
perceptron. Vì vậy, nó giải quyết đƣợc những bài toán phức tạp hơn.

Kiến trúc mạng neuron nhiều tầng [2]
Chương 3: Giải thuật lan truyền ngược 10
Ngoài ra, để tính toán output, ta thƣờng áp dụng 1 hàm số đặc biệt, gọi là hàm
squashing để output của từng tầng không còn là 1 phân hoạch tuyến tính. Ví dụ: nếu sử
dụng hàm sigmoid để giải quyết 1 bài toán gồm có 2 input, khi đó output sẽ có dạng là
đồ thị của hàm sigmoid trong hệ trục tọa độ Descarte. Kết hợp giữa việc sử dụng hàm
squashing và nhiều tầng, mạng neuron có thể giải quyết đƣợc các vấn đề rất phức tạp.


Hàm sigmoid [2]
Một trong những hàm squashing thƣờng đƣợc sử dụng là hàm sigmoid với miền
giá trị là (0, 1):
x
e
xf



1
1
)(

 
)(1)()( xfxfxf 


Ngoài ra, ta cũng có thể sử dụng các hàm khác nhƣ hàm tanh với miền giá trị
1) 1,(
:
xx
xx
ee
ee
xf





n
là số thành phần trong tầng input,
hidden
n
là số thành phần trong tầng hidden,
out
n
là số thành phần trong tầng output.
Input từ thành phần i đến thành phần j đƣợc kí hiệu là
ji
x
, và trọng số từ thành
phần i đến thành phần j đƣợc kí hiệu là
ji
w
.

Mạng neuron nhiều tầng sử dụng giải thuật lan truyền ngược
Chương 3: Giải thuật lan truyền ngược 13
1. Tạo một mạng neuron gồm
in
n
input,
hidden

otoo 


Với mỗi thành phần của tầng hidden, tính các giá trị lỗi
h

:



outputsk
kkhhhh
woo

)1(

Tính toán lại các trọng số
ji
w
:
jijiji
www 

jijji
xw

Trong giải thuật này, mỗi lần lặp ta sẽ học trên toàn bộ các mẫu. Để đạt đƣợc độ

b. Khởi tạo các trọng số
Việc khởi tạo các giá trị cho các trọng số rất quan trọng, ảnh hƣởng trực tiếp đến
việc hội tụ cũng nhƣ tốc độ hội tụ. Nếu các giá trị này không thích hợp, thuật toán sẽ
không thể đạt đƣợc cực tiểu (rơi vào các điểm cực tiểu cục bộ). Thông thƣờng, các
trọng số đƣợc khởi tạo bằng các giá trị nhỏ (vì các hàm squashing thƣờng có giá trị
gần với giá trị tiệm cận khi input lớn).
Khi quá trình huấn luyện bị rơi vào cực tiểu cục bộ, ta có thể chọn giá trị ngẫu
nhiên khác cho các trọng số để tiến hành học lại. Đây cũng là cách giải quyết đối với
các bài toán phức tạp, có nhiểu điểm cực tiểu cục bộ.
c. Số ví dụ mẫu
Số lƣợng mẫu quá ít, mạng neuron sẽ không thể tổng quát hóa đƣợc bài toán:

Ảnh hưởng của số lượng mẫu [1]
Trong hình trên, đƣờng nét đứt là hàm số cần xấp xỉ, đƣờng nét liền là hàm số mà
mạng neuron đã học đƣợc. Trong hình A, số lƣợng mẫu quá ít, do đó dù mạng neuron
đã học đƣợc 1 kết quả khá chính xác (so với các mẫu đã cung cấp) nhƣng không thể
hiện đƣợc đúng hàm mong muốn.

Chương 3: Giải thuật lan truyền ngược 16
d. Số tầng hidden
Với nhiều hơn 1 tầng hidden, giá trị của các phần tử cũng nhƣ các giá trị lỗi cũng
đƣợc truyền từ tầng này sang tầng kia. Khi sử dụng nhiều tầng, mạng neuron sẽ có khả
năng thể hiện đƣợc nhiều hàm phức tạp hơn, do đó có thể giải quyết đƣợc nhiều bài
toán phức tạp. Tuy nhiên, lúc này quá trình học sẽ tốn nhiều thời gian hơn.
Nhiều nghiên cứu đã chỉ ra rằng, với 1 tầng hidden, mạng neuron có thể giải
quyết đƣợc đa số các bài toán trong thực tế với độ chính xác cao. Trong một số trƣờng
hợp, 2 tầng hidden có thể giúp giải quyết bài toán dễ dàng hơn.

3.3. Nhận xét về giải thuật lan truyền ngược
3.3.1. Sự hội tụ và cực tiểu cục bộ
Nhƣ đã trình bày ở trên, giải thuật lan truyền ngƣợc chỉ đảm bảo là hội tụ về cực tiểu
cục bộ, không phải là cực tiểu toàn cục.
Chúng ta có thể áp dụng phƣơng pháp sau để giảm bớt vấn đề cực tiểu cục bộ:
- Sử dụng momen để cập nhật trọng số.
- Huấn luyện nhiều mạng sử dụng cùng một dữ liệu, nhƣng khởi tạo khác nhau
cho mỗi mạng với những giá trị trọng số ngẫu nhiên.
3.3.2. Overfitting
Bản chất việc huấn luyện cho mạng neuron là điều chỉnh các trọng số để đạt đƣợc sai
số nhỏ nhất cho tập huấn luyện. Do đó, nếu tập huấn luyện không đủ tổng quát thì khi
áp dụng cho dự liệu thực sẽ không chính xác. Đây là vấn đề overfitting trong huấn
luyện mạng neuron.

Lỗi so với số lượng cập nhật trọng số [3] ♦ Lỗi trên tập huấn luyện
+ Lỗi trên tập kiểm tra

Chương 3: Giải thuật lan truyền ngược 18
Các nguyên nhân dẫn tới overfitting:
- Quá trình huấn luyện quá lâu nên tính tổng quát của mạng neuron giảm vì quá
gần với tập huấn luyện. Nếu tập huấn luyện không tốt, kết quả trên dữ liệu
thực sẽ không chính xác.
- Sử dụng quá nhiều đơn vị hidden: Nhiều đơn vị hidden có thê mô hình hóa
đƣợc những hàm phức tạp hơn và nhiều mẫu input hơn. Tuy nhiên, với quá


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status