You are on page 1of 28

Mạng nơ-ron nhân tạo

 Mạng nơ-ron nhân tạo (Artificial Neural Network)


 Mô phỏng các hệ thống nơ-ron sinh học (não người)
 ANN là một cấu trúc (struct/network) được tạo nên bởi một số
lượng các nơ-ron (artificial neurons) liên kết với nhau
 Mỗi nơ-ron
 Có một đặc tính vào/ra
 Thực hiện một tính toán cục bộ
 Giá trị đầu ra của một nơ-ron được xác định bởi
 Đặc tính vào/ra của nó
 Các liên kết của nó với một nơ-ron khác
 Có thể có các đầu vào bổ sung

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

W0 là trọng số điều chỉnh (bias) kết hợp với x0=1

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

Regression: y=wx+w0 Classification: y=1(wx+w0>0)


y s y
w0 w0
w w
x
w0
x o  wT x x
1
x0=+1 y  sigmoid o 

1  exp  w T x  7
2 đầu ra
 K perceptrons Classification:
d
y i   w ij x j  w i 0  w x T
i
oi  w Ti x
j 1
exp oi
y  Wx yi 
Wij là trọng số từ đầu vào xj đến đầu ra yi
k exp ok
choose C i
if y i  max y k
k

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

wijt    rit  yit  xtj



Update  LearningFactor  DesiredOutput  ActualOutput  Input 
11
Giải thuật
 Huấn luyện perceptron sử dụng stochastic online gradient
descent với K> 2 lớp

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

 Update theo gradient descent


vh     r t  y t zht
t

whj     r t  y t vh zht 1  zht  x tj


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

 h1 
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

You might also like