Professional Documents
Culture Documents
2
Mạng nơ-ron nhân tạo
ANN có thể được xem như một cấu trúc xử lý thông tin một
cách phân tán và song song
ANN có khả năng học (learn), nhớ lại (recall), khái quát hóa
(generalize) từ các dữ liệu học bằng cách gán và điều chỉnh
(thích nghi) các giá trị trọng số (mức độ quan trọng) của các
liên kết giữa các nơ-ron
Chức năng (hàm mục tiêu) của một ANN được xác định bởi
Kiến trúc (topology) của mạng nơ-ron
Đặc tính vào/ra của mỗi nơ-ron
Chiến lược học (huấn luyện)
Dữ liệu học
3
Kiến trúc mạng
Kiến trúc mạng được xác định bởi
Số lượng tín hiệu đầu vào/đầu ra
Số lượng các tầng
Số lượng nơ-ron trong mỗi tầng
Cách thức các nơ-ron liên kết với nhau
Những nơ-ron nào nhận các tín hiệu điều
chỉnh lỗi
1 tầng ẩn
Một ANN phải có 3 tín hiệu đầu vào
1 tầng đầu vào (input layer) 2 giá trị đầu ra
Tổng cộng 6 nơ-ron
1 tầng đầu ra (output layer)
Có thể có hoặc không có tầng ẩn (hidden
layer)
4
Kiến trúc mạng
Một ANN được gọi là mạng lan truyền tiến (feed forward
network) nếu không có bất kỳ đầu ra của nút là đầu vào
của một nút khác thuộc cùng tầng (hoặc thuộc tầng phía
trước)
Khi các đầu ra của một nút liên kết ngược lại làm đầu vào
của một nút cùng tầng (hoặc tầng trước) thì gọi là mạng
phản hồi (feedback network)
Các mạng phản hồi có các vòng lặp kín được gọi là các
mạng hồi quy (recurent network)
5
Perceptron
Là ANN chỉ gồm một lớp nơ-ron (có thể có 1 hoặc nhiều
nơ-ron)
Các đầu vào xj kết hợp với các trọng số wj
Đầu ra y là tổng trọng số các đầu vào
d
y w j x j w0 w T x
j 1
w w 0 , w1 ,...,wd T
x 1, x1 ,..., xd T
6
Perceptron
Perceptron định nghĩa một siêu phẳng chia không gian đầu
vào thành hai phần (+1/-1)
Hàm phân loại tuyến tính, định nghĩa hàm ngưỡng s(.)
Chọn
8
Huấn luyện perceptron
Perceptron định nghĩa siêu phẳng phân tách đầu vào
neural network perceptron thực hiện tìm siêu phẳng
Cho dữ liệu tính trọng số
Perceptron sử dụng trọng số để tính đầu ra
Học online (học qua từng thể hiện)
Không cần lưu trữ toàn bộ dữ liệu
Đáp ứng theo thời gian
Stochastic gradient-descent: update sau mỗi lần tính
Công thức update wijt rit yit x tj
Update LearningFa ctor DesiredOut put ActualOutp ut Input
9
Huấn luyện perceptron: hồi quy
Khởi tạo ngẫu nhiên các trọng số
Lặp: hiệu chỉnh các tham số sao cho lỗi là nhỏ nhất
Phương pháp gradient descent
Hồi quy (đầu ra tuyến tính)
E t w | xt , r t
1 t
2
r y t 2 1 r t wT xt 2
2
update w tj r t y t x tj
10
Huấn luyện perceptron: phân loại
Update: sử dụng phân biệt logistic
Các update được thực hiện sau mỗi mẫu
2 lớp: dữ liệu
Output
y t sigmoid w T xt
E t w | xt , r t r t log y t 1 r t log 1 y t
update w tj r t y t x tj
K>2 lớp
exp w Ti xt
y t
cross-entropi E t w i i |xt , r t rit log yit
k exp wTk xt i
12
Học với các hàm logic - AND
Hàm logic (boolean)
Các đầu vào là số nhị phân
Đầu ra là 1 nếu giá trị hàm tương ứng là true, 0 nếu ngược
lại
Phân loại 2 lớp – perceptron thực hiện AND
Hàm phân biệt
OR
13
Multilayer perceptrons
Hàm phân biệt phi tuyến perceptron nhiều lớp
Với các đầu vào x, các tín hiệu đầu vào được lan truyền
tiến qua các tầng ẩn (zh) đến đầu ra
Mỗi perceptron tầng ẩn áp dụng hàm sigmoid phi tuyến
đối với các trọng số
zh sigmoid wTh x
1
1 exp
d
j 1
whj x j wh 0
Các perceptron đầu ra nhận perceptron tầng ẩn là đầu vào
H
yi v z vih zh vi 0
T
i
Trọng số điều chỉnh
vi0 kết hợp với z0
h 1
14
Multilayer perceptrons
Cấu trúc multilayer perceptron
15
Giải thuật lan truyền ngược
Huấn luyện multilayer perceptron tương tự huấn luyện
perceptron
Đầu ra là hàm phi tuyến
Với trọng số lớp thứ nhất whj, sử dụng luật chuỗi để tính
đạo hàm H
y i v z v ih zh v i 0
T
i
h 1
zh sigmoid w Th x
1
1 exp
d
j 1
whj x j wh 0
E E y i zh
whj y i zh whj Lỗi lan truyền từ y về đầu vào lan
truyền ngược 16
Giải thuật lan truyền ngược
2 bước
17
Hồi quy
Hồi quy phi tuyến 1 đầu ra E W , v | X
1
r t
y
t 2 Hàm lỗi
2 t
H Update trọng số lớp thứ 2 (đầu
y v z v0
t t vào là perceptron lớp ẩn)
vh r t y t zht
h h
h 1
t
Forward Backward
E
zh sigmoid w x T
h
whj
whj
E y t zht
t t
t y z h w hj
r t y t v h zht 1 zht x tj
x t
r t y t v h zht 1 zht x tj
t
18
Hồi quy với nhiều đầu ra
H
Hàm đầu ra y vih zht vi 0
t
i yi
h 1
Lỗi
E W, V|X ri yi
1 t t 2
2 t i vih
Cập nhật theo batch
vih rit yit zht zh
t
whj
whj rit yit vih zht 1 zht x tj
t i
xj
19
Hồi quy với nhiều đầu ra
Giải thuật
20
21
whx+w0
vhzh
zh
22
Phân loại hai lớp
Một đầu ra sigmoid yt cho P(C1|xt) và P(C2|xt) ≡ 1-yt
H
y sigmoid vh zh v0
t t
h 1
Lỗi
E W, v|X r t log y t 1 r t log 1 y t
t
23
Phân loại nhiều lớp
K đầu ra
exp oit
i
H
o v z vi 0
t t
y t
P C | x t
k
i ih h i t
h 1 exp ok
Lỗi
E W, v|X rit log yit
t i
Update
vih rit yit zht
t
t
whj ri yi vih zh 1 zht x tj
t t
t i
24
Multiple hidden layers
Nhiều lớp ẩn, mỗi lớp có các trọng số
Áp dụng hàm sigmoid cho tổng trọng số
Hồi quy
d
z1h sigmoid w x sigmoid w1hj x j w1h 0 , h 1,..., H1
T
1h
j 1
H1
z 2 l sigmoid w 2 l z1 sigmoid w 2lh z1h w 2 l 0 , l 1,..., H2
T
h1
H2
y v z 2 vl z2l v0
T
l 1
25
Momentum
Phương pháp gradient descent có thể rất chậm nếu η nhỏ
và có thể dao động mạnh nếu η lớn
Để giảm mức độ dao động, cần đưa vào một thành phần
momentum E t
wi
t t 1
wi
α là tham số momentum thường
được lấy trong khoảng [0.5,1]
wi
Thực nghiệm cho thấy, để chọn các giá trị hợp lý cho tốc
độ học và momentum là (η+α)>=1 và α>η để tránh dao
động
26
Số lượng nơ-ron
Khó xác định chính xác số lượng nơ-ron để đạt được độ
chính xác mong muốn
Kích thước tầng ẩn thường được xác định qua thí nghiệm
Thông thường
Bắt đầu với số lượng nơ-ron nhỏ ở tầng ẩn (nhỏ so với tín
hiệu đầu vào)
Nếu mạng không hội tụ bổ xung nơ-ron
Nếu mạng hội tụ bỏ bớt nơ-ron
27
Ưu nhược điểm
Ưu điểm
Hỗ trợ tính toán song song ở mức cao
Khả năng chịu lỗi
Có thể được thiết kế để tự thích nghi (các trọng số/cấu trúc mạng)
Nhược điểm
Không có quy tắc tổng quát để xác định cấu trúc mạng và các
tham số học tối ưu cho một lớp bài toán nhất định
Không có phương pháp tổng quát để đánh giá hoạt động bên
trong ANN
Khó đưa ra giải thích cho người dùng
Khó dự đoán hiệu năng hệ thống trong tương lai
28