You are on page 1of 20

Chương 2

MẠNG NƠ-RON NHÂN TẠO


PGS.TS Trương Ngọc Sơn
Bộ môn Kỹ thuật Máy Tính – Viễn Thông
Mạng nơ-ron sinh học
Bộ não người có khoảng 1011
nơ-ron
Mỗi nơ-ron kết nối với khoảng
104 nơ-ron khác
Nơ-ron sinh học
• Thể tế bào (soma) hay còn gọi là thân
tế bào (cell-body)
• Sợ trục (axon) có cấu trúc hình ống có
chức năng truyền dẫn các xung điện ra
khỏi cơ thể tế bào thần kinh
• Nhánh tế bào (dendrite) có cấu trúc
hình cây, trải dài ra từ thân tế bào
• Bộ phận cuối của sợi trục thần kinh là
các khớp thần kinh (synapse). Khớp
thần kinh thực hiện vai trò là khớp nối
giữa các tế bào thần kinh với nhau
Mô hình toán của nơ-ron
Input
b
x1 w1
Output

x2 w2 ™ f y

xn wn
Synaptic weight
(a) Cấu trúc nơ-ron (a) Mô hình toán của nơ-ron

• 
• trong đó xem x0 luôn bằng 1
Hàm tích cực (activation function)
f(x)

0 threshold x

• 
1 𝑖𝑓 𝑤 𝑖 𝑥 𝑖 ≥ 𝑡h𝑟𝑒𝑠h𝑜𝑙𝑑
𝑦=
{
0𝑖𝑓 𝑤 𝑖 𝑥 𝑖< 𝑡h𝑟𝑒𝑠h𝑜𝑙𝑑
Mạng nơ-ron nhân tạo
Hidden layer
h1 h2 h3

Input layer
Output layer

• Lớp ngõ vào


• Lớp ẩn
• Lớp ngõ ra
Mạng nơ-ron nhân tạo
Wxh Who
h1
W1,1
W1,1
Wn,1
W1,2 W2,1
x1 h2 y1

Wn,2 Wm,1
W2,k
W1,k

yk
W1,m
xn
Wm,k Output
Wn,m
Input

hm

hidden

• 
Biểu diễn tập trọng số và các phép toán
•  ký hiệu Wxh, có kich thước n×m.
• Ngõ vào x được thể hiện bởi vector
Huấn luyện mạng nơ-ron nhân tạo

Output

Input
Học có giám sát (Supervised learning)

Ngõ ra

Output
Ngõ vào

Cập nhật trọng số

Sai số

Ngõ ra
mong muốn

• Trong quá trình học có giám sát, các cặp giá trị x được đưa đến ngõ
vào để tính giá trị ngõ ra của mạng. Nếu ngõ ra chưa đúng với ngõ ra
mong muốn thì sai số được dùng để hiệu chỉnh các trọng số
Học không có giám sát (Unsupervised learning)

Output

Dữ liệu ban đầu


Dữ liệu được phân loại

• Để huấn luyện mạng chúng ta đưa các ngõ vào x nhưng chúng ta
không đưa các giá trị mong muốn ngõ ra. Trong trường hợp này không
có ngõ ra mong muốn để so sánh xem ngõ ra hiện tại đã phù hợp
chưa. Do đó chúng ta gọi là học không có giám sát. Các mạng nơ-ron
học thông qua các ngõ vào để giải quyết các bài toán như phân nhóm
Một số kiến trúc mạng nơ-ron phổ biến
• Perceptron nơ-ron

• Mạng nhiều lớp lan truyền thẳng (Multilayer feed forward neural
network).
Input layer
Output layer
Một số kiến trúc mạng nơ-ron phổ biến
• Mạng nơ-ron tích chập (Convolutional Neural Network).

Input
image
Convolutional layer Fully connected layer

• Mạng hồi quy (Recurrent Neural Network)

Output
input
Môi trường phát triển các ứng dụng mạng nơ-ron
nhân tạo
• Phần mềm Matlab

• HĐH Ubuntu
• (Jyputer notebook)

• MacOS
• (Jyputer notebook)

• Google Colab: https://colab.research.google.com


Các thư viện phát triển
• Tensorflow,
• Keras,
• Caffe,
• Theano,
• Scikit-learn
• Torch

• Phương pháp tiếp cận:


Các tập dữ liệu phổ biến
• MNIST
• 60.000 training sample (28x28)
• 10.000 testing sample
Các tập dữ liệu phổ biến
• CIFAR-10
• 50.000 training sample (32x32)
• 10.000 testing sample (32x32)
Các tập dữ liệu phổ biến
• GTSRB (German Traffic Sign Recognition Dataset (GTSRB))
• The training set contains 39209 labeled images and the test set
contains 12630 images
Các tập dữ liệu phổ biến
• ImageNet
Bài tập:
• Viết mô hình toán cho một perceptron nơ-ron thực thi chức
năng một cổng AND, một cổng OR
• Viết chương trình trên Python

You might also like