Tải bản đầy đủ
TỔNG QUAN VỀ MẠNG NƠ RON NHÂN TẠO

TỔNG QUAN VỀ MẠNG NƠ RON NHÂN TẠO

Tải bản đầy đủ

http://www.ictu.edu.vn

4

chứng minh nó không dùng được cho các hàm logic phức (1969). Còn
Adaline là mô hình tuyến tính, tự chỉnh, được dùng rộng rãi trong điều khiển
thích nghi, tách nhiễu và vẫn phát triển cho đến nay.
+ Giai đoạn ba: Vào khoảng đầu thập niên 80, việc nghiên cứu mạng
nơ-ron diễn ra rất mạnh mẽ cùng với sự ra đời của máy tính cá nhân PC.
Những đóng góp lớn cho mạng nơ-ron trong giai đoạn này phải kể đến
Stephen Grossberg, Teuvo Kohonen, Rumelhart và John Hopfield. Trong đó
đóng góp lớn của nhà vật lý học người Mỹ John Hopfield gồm hai mạng phản
hồi: Mạng rời rạc năm 1982 và mạng liên tục năm 1984. Đặc biệt, ông đã dự
kiến nhiều khả năng tính toán lớn của mạng mà một nơ-ron không có khả
năng đó. Cảm nhận của Hopfield đã được Rumelhart, Hinton và Williams đề
xuất thuật toán sai số truyền ngược (back –propagation) nổi tiếng để huấn
luyện mạng nơ-ron nhiều lớp nhằm giải bài toán mà mạng khác không thực
hiện được. Nhiều ứng dụng mạnh mẽ của mạng nơ-ron ra đời cùng với các
mạng theo kiểu máy Boltzmann và mạng Neocognition của Fukushima.
+ Giai đoạn bốn: từ năm 1987 - đến nay, hàng năm thế giới đều mở hội
nghị toàn cầu chuyên ngành nơ-ron IJCNN (International Joint Conference on
Neural Networks). Rất nhiều công trình được nghiên cứu để ứng dụng mạng
nơ-ron vào các lĩnh vực cuộc sống, ví dụ như: Kỹ thuật tính, tối ưu, sinh học, y
học, thống kê, giao thông, hoá học… Cho đến nay, mạng nơ-ron đã tìm được và
khẳng định được vị trí của mình trong rất nhiều ứng dụng khác nhau.
1.1.2. Mô hình mạng nơ-ron nhân tạo
1.1.2.1. Nơ-ron sinh học
Bộ não con người có khoảng 1010 tế bào thần kinh liên kết chặt chẽ với
nhau được gọi là các nơ-ron. Mỗi nơ-ron gồm có ba phần: Thân nơ-ron với nhân
ở bên trong (soma), một đầu sợi trục thần kinh ra (axon) và một hệ thống tế bào
hình cây (dendrite). Tế bào hình cây có nhiệm vụ mang các tín hiệu điện tới các

http://www.ictu.edu.vn

5

tế bào thân, tế bào thân sẽ thực hiện gộp (Sum) và phân ngưỡng ( Thresholds)
các tín hiệu đến. Sợi trục thần kinh làm nhiệm vụ đưa các tín hiệu thân ra ngoài
Trong thực tế có rất nhiều dây thần kinh vào và chúng bao phủ một diện
tích rất lớn (0.25 mm2) để nhận các tín hiệu từ các nơ-ron khác. Đầu thần kinh ra
được rẽ nhánh nhằm chuyển giao tín hiệu từ thân nơ-ron tới nơ-ron khác. Các
nhánh của đầu thần kinh được nối với các khớp thần kinh (synapse). Các khớp
thần kinh này được nối với thần kinh vào của các nơ-ron khác. Sự sắp xếp của
các nơ-ron và mức độ mạnh yếu của các khớp thần kinh được quyết định bởi quá
trình hóa học phức tạp, sẽ thiết lập chức năng của mạng nơ-ron, các nơ-ron có
thể sửa đổi tín hiệu tại các khớp, trong các nơ-ron nhân tạo được gọi là trọng số.
Có thể nói, mạng nơ-ron sinh học hoạt động chậm hơn rất nhiều so với
các linh kiện điện tử (10-3 giây so với 10-9 giây), nhưng bộ não có thể thực hiện
nhiều công việc nhanh hơn rất nhiều so với máy tính thông thường. Do cấu trúc
song song của mạng nơ-ron sinh học thể hiện toàn bộ các nơ-ron thực hiện đồng
thời tại một thời điểm. Mạng nơ-ron nhân tạo cũng có được đặc điểm này. Các
mạng nơ-ron nhân tạo chủ yếu thực nghiệm trên các máy tính mạnh có vi mạch
tích hợp rất lớn, các thiết bị quang, bộ xử lý song song. Điều này cũng giải thích
tại sao những nghiên cứu khoa học về mạng nơ-ron nhân tạo có điều kiện phát
triển cùng với sự phát triển về kỹ thuật công nghệ phần cứng máy tính.
Có nhiều loại nơ-ron khác nhau về kích thước và khả năng thu phát tín
hiệu. Tuy nhiên, chúng có cấu trúc và nguyên lý hoạt động chung.

Hình vẽ (1.1) là một hình ảnh đơn giản hoá của một loại nơ-ron như vậy.

http://www.ictu.edu.vn

6

Hình 1.1. Mô hình nơ-ron sinh học
- Hoạt động của nơ-ron sinh học có thể mô tả tóm tắt như sau:
Mỗi nơ-ron nhận tín hiệu vào từ các tế bào thần kinh khác.Chúng tích
hợp các tín hiệu vào, khi tổng tín hiệu vượt quá một ngưỡng nào đó chúng tạo
tín hiệu ra và gửi tín hiệu này tới các nơ-ron khác thông qua dây thần kinh.
Các nơ-ron liên kết với nhau thành mạng. Mức độ bền vững của các liên kết
này xác định một hệ số gọi là trọng số liên kết.
1.1.2.2. Nơ-ron nhân tạo
Để mô phỏng các tế bào thần kinh và các khớp nối thần kinh của bộ
não con người, mạng nơ-ron nhân tạo có các thành phần có vai trò tương tự là
các nơ-ron nhân tạo và kết nối giữa chúng (kết nối này gọi là weights). Nơron là một đơn vị tính toán có nhiều đầu vào và một đầu ra, mỗi đầu vào đến
từ một khớp nối thần kinh (synapse). Đặc trưng của nơ-ron là một hàm kích
hoạt phi tuyến chuyển đổi một tổ hợp tuyến tính của tất cả các tín hiệu đầu
vào thành tín hiệu đầu ra.
Một nơ-ron nhân tạo là một đơn vị tính toán hay đơn vị xử lý thông tin
cơ sở cho hoạt động của một mạng nơ-ron.
Các thành phần cơ bản của một mô hình nơ-ron

http://www.ictu.edu.vn

7

• Trọng số và tổng tín hiệu đầu vào:
Mỗi nơ-ron có rất nhiều dây thần kinh vào, nghĩa là mỗi nơ-ron có thể
tiếp nhận đồng thời nhiều tín hiệu. Giả sử tại nơ-ron i có N tín hiệu vào, mỗi
tín hiệu vào S j được gán một trọng số Wij tương ứng. Ta ước lượng tổng tín
hiệu đi vào nơ-ron net i theo một số dạng sau:
(i)Dạng tuyến tính:
N

neti = ∑ Wij s j

(1.1)

j =1

(ii)Dạng toàn phương:
N

neti = ∑ Wij s 2j

(2.2)

j =1

(iii)Dạng mặt cầu:
neti = − ρ

2

N

∑( s
j =1

j

− w ij )

2

(3.3)

Trong đó: ρ và w ij ( j = 1, N ) lần lượt là tâm và bán kính mặt cầu
• Hàm kích hoạt (hàm chuyển):
Hầu hết các đơn vị trong mạng nơ-ron chuyển net input bằng cách sử dụng
một hàm vô hướng (scalar – to – scalar function) gọi là hàm kích hoạt, kết quả
của hàm này là một giá trị gọi là mức độ kích hoạt của đơn vị. Trừ khả năng
đơn vị đó thuộc lớp ra, giá trị kích hoạt được đưa vào một hay nhiều đơn vị
khác. Các hàm kích hoạt thường bị ép vào một khoảng giá trị xác định, do đó
thường được gọi là các hàm nén (squashing).
Hàm biến đổi tín hiệu đầu vào net cho tín hiệu đầu ra out được gọi là hàm
kích hoạt. Hàm này có đặc điểm là không âm và bị chặn, dùng để giới hạn biên

http://www.ictu.edu.vn

8

độ đầu ra của nơ-ron. Có nhiều dạng hàm kích hoạt, người ta thường sử dụng
một hàm kích hoạt chung cho toàn mạng.
Một số hàm kích hoạt thường được sử dụng
1) Hàm đồng nhất (Linear function, Identity function)
g(x) = x

(1.3)

Nếu coi các đầu vào là một đơn vị thì chúng sẽ sử dụng hàm này. Có khi một
hằng số được nhân với net-input tạo thành một hàm đồng nhất.

Đồ thị hàm đồng nhất (Identity function)
2) Hàm bước nhị phân (Binary step function, Hard limit function)
Hàm này còn gọi là hàm ngưỡng (Threshold function hay Heaviside
function). Đầu ra của hàm này giới hạn một trong hai giá trị:

1, neáu x ≥ θ
g( x ) = 
0, neáu x < θ
ở đây θ là ngưỡng.

Đồ thị hàm bước nhị phân (Binary step function)

(1.4)

http://www.ictu.edu.vn

9

Dạng hàm này thường sử dụng trong mạng một lớp. Trong hình vẽ θ được
chọn bằng 1.
3) Hàm sigmoid (Sigmoid function (logsig))
Hàm sigma là dạng chung nhất của hàm kích hoạt được sử dụng trong
cấu trúc mạng nơ-ron nhân tạo. Nó là một hàm tăng và nó thể hiện một sự
trung gian giữa tuyến tính và phi tuyến. Một ví dụ của hàm này là hàm
logistics, xác định như sau:

g( x ) =

1
1 + e− λ x

(1.5)

ở đó λ là tham số độ dốc của hàm sigma. Bằng việc biến đổi tham số λ ,
chúng ta thu được các hàm sigma với các độ dốc khác nhau. Thực tế, hệ số
góc tại x= 0 là λ /4. Khi tham số hệ số góc tiến tới không xác định, hàm sigma
trở thành một hàm ngưỡng đơn giản. Trong khi một hàm ngưỡng chỉ có giá
trị là 0 hoặc 1, thì một hàm sigma nhận các giá trị từ 0 tới 1. Cũng phải ghi
nhận rằng hàm sigma là hàm phân biệt, trong khi hàm ngưỡng thì không
(Tính phân biệt của hàm là một đặc tính quan trọng trong lý thuyết mạng
neuron). Hàm này thường được dùng cho các mạng được huấn luyện (trained)
bởi thuật toán lan truyền ngược (back –propagation), bởi nó dễ lấy đạo hàm,
làm giảm đáng kể tính toán trong quá trình huấn luyện. Hàm được dùng cho
các chương trình ứng dụng mà đầu ra mong muốn rơi vào khoảng [0,1].

Đồ thị hàm sigmoid

http://www.ictu.edu.vn

10

4) Hàm sigmoid lưỡng cực (Bipolar sigmoid function (tan(sig))
g( x ) =

1 − e− x
1 + e− x

(1.6)

Hàm này có đặc tính tương tự hàm sigmoid. Hàm làm việc tốt đối với các ứng
dụng có đầu ra yêu cầu trong khoảng [-1,1].

Đồ thị

hàm

sigmoid

lưỡng cực

Các hàm chuyển của các đơn vị ẩn (hidden units) là cần thiết để biểu diễn sự
phi tuyến vào trong mạng.
• Nút bias:
Là một nút thêm vào nhằm tăng khả năng thích nghi của mạng nơ-ron
trong quá trình học. Trong các mạng nơ-ron có sử dụng bias, mỗi nơ-ron có
thể có một trọng số tương ứng với bias. Trọng số này luôn có giá trị là 1.
Mô hình của một nút xử lý (nút thứ i):
Vi
Vj

Wi1
Wij
WiN

Ui= ∑ V =f (U )
i
i
i

Vi

VN
Hình 1.2. Mô hình một nơ-ron

http://www.ictu.edu.vn

11

N

U i = ∑ Wij Vj + θ i
j =1
j #i

Vi = f i (U i )

(1.7)

(1.8)

Trong đó:
Ui : là tín hiệu vào tại nơ-ron i
Vi : là tín hiệu ra tại nơ ron i
Wij : là trọng số liền kề từ nơ-ron j đến nơ-ron i

θi : là ngưỡng (đầu vào ngoài) kích hoạt nơ-ron i.
fi : là hàm kích hoạt của nơ-ron i

1.1.2.3. Mạng nơ-ron nhân tạo
Mạng nơ-ron nhân tạo (gọi tắt là mạng nơ-ron) là mô hình toán học hay
mô hình tính toán được xây dựng dựa trên các mạng nơ-ron sinh học. Nó gồm
có một nhóm các nơ-ron nhân tạo(nút) nối với nhau, và xử lý thông tin bằng
cách truyền theo các kết nối và tính giá trị mới tại các nút (cách tiếp cận
connectionism đối với tính toán). Phần lớn mạng nơ-ron nhân tạo là một hệ
thống thích ứng (adaptive system) tự thay đổi cấu trúc của mình dựa trên các
thông tin bên ngoài hay bên trong chảy qua mạng trong quá trình học.
Với việc giả lập các hệ thống sinh học, các cấu trúc tính toán, mạng nơron có thể giải quyết được các lớp bài toán nhất định, như: Bài toán người du
lịch, bài toán tô màu bản đồ, bài toán xếp loại, bài toán lập thời khóa biểu, bài
toán tìm kiếm, bài toán nhận dạng mẫu... Các bài toán phức tạp cao, không
xác định. Tuy nhiên, sự liên kết giữa một bài toán bất kỳ trong thực tế với một
giải pháp mạng nơ-ron lại là một việc không dễ dàng.

http://www.ictu.edu.vn

12

Xét một cách tổng quát, mạng nơ-ron là một cấu trúc xử lý song song
thông tin phân tán mang các đặc tính nổi bật sau :
 Là mô hình toán học dựa trên bản chất của nơ-ron.
 Bao gồm một số lượng rất lớn các nơ-ron liên kết với nhau.
 Mạng nơ-ron có khả năng học, khái quát hóa tập dữ liệu học
thông qua việc gán và hiệu chỉnh các trọng số liên kết.
 Tổ chức theo kiểu tập hợp mang lại cho mạng nơ-ron khả năng
tính toán rất lớn, trong đó không có nơ-ron nào mang thông tin
riêng biệt.
Ví dụ : Hình 1.2, 1.3,1.4, 1.5 là một số mô hình mạng thông dụng.
• Các hình trạng của mạng
Hình trạng mạng được định nghĩa bởi: số lớp (layers), số đơn vị trên
mỗi lớp, và sự liên kết giữa các lớp đó. Các mạng thường được chia làm hai
loại dựa trên cách thức liên kết các đơn vị:
1.1.2.3.1. Mạng truyền thẳng
- Mạng truyền thẳng một lớp
Mạng perceptron một lớp do F.Rosenblatt đề xuất năm 1960 là mạng
truyền thẳng chỉ một lớp vào và một lớp ra không có lớp ẩn. Trên mỗi lớp này
có thể có một hoặc nhiều nơ-ron. Mô hình mạng nơ-ron của F.Rosenblatt sử
dụng hàm ngưỡng đóng vai trò là hàm chuyển. Do đó, tổng của tín hiệu vào
lớn hơn giá trị ngưỡng thì giá trị đầu ra của nơ-ron sẽ là 1, còn trái lại sẽ là 0.

1, neáu neti ≥ θ
outi = 
0 , neáu neti < θ
Với neti =

∑w

ij

(1.9)

x j là tổng thông tin đầu vào của nơ-ron i.

Mô hình mạng nơ-ron truyền thẳng một lớp là mô hình liên kết cơ bản
và đơn giản nhất. Các nơ-ron tổ chức lại với nhau tạo thành một lớp, đường

http://www.ictu.edu.vn

13

truyền tín hiệu được truyền theo một hướng nhất định nào đó. Các đầu vào
được nối với các nơ-ron theo các trọng số khác nhau, sau quá trình xử lý cho
ra một chuỗi các tín hiệu ra.
x1

y1

x2

y2

Xm

yn

Hình 1.3. Mạng truyền thẳng một lớp

[

Với mỗi giá trị đầu vào. x = x1, x2, ..., xn

]

T

. Qua quá trình xử lý của

mạng ta sẽ thu được một bộ tương ứng các giá trị đầu ra là

y = [ y1, y 2, ..., y n ]

T

được xác định như sau :

 m

yi = f i  ∑ wij x j − θ i , i = 1, n
 j =1


(1.10)

Trong đó :
m : Số tín hiệu vào
n : Số tín hiệu ra
: WiT =[ wi1 , wi 2 ,..., win ] T là véc tơ trọng số của nơ-ron thứ i.
f i : Là hàm kích hoạt nơ-ron thứ i

θi : Là ngưỡng của nơ-ron thứ i.

Ngay từ khi mạng Perceptron được đề xuất nó được sử dụng để giải quyết bài
toán phân lớp. Một đối tượng sẽ được nơ-ron i phân vào lớp A nếu:

http://www.ictu.edu.vn

Tổng thông tin đầu vào

14

∑w

ij

x j > θi

Trong trường hợp trái lại nơ-ron sẽ được phân vào lớp B.
- Mạng truyền thẳng nhiều lớp (Multilayer Perceptron –MLP)
Với mạng nơ-ron truyền thẳng một lớp ở trên, khi phân tích một bài
toán phức tạp sẽ gặp rất nhiều khó khăn, để khắc phục vấn đề này người ta
đưa ra mô hình mạng nơ-ron truyền thẳng nhiều lớp bằng việc kết hợp một số
lớp nơ-ron lại với nhau. Lớp nhận tín hiệu vào gọi là lớp vào, lớp đưa tín hiệu
ra của mạng được gọi là lớp ra. Các lớp ở giữa lớp vào và lớp ra được gọi là
lớp ẩn và các nơ-ron trong các lớp ẩn có hàm chuyển (hàm kích hoạt) dạng
phi tuyến. Mạng nơ-ron nhiều lớp có thể giải quyết các bài toán phi tuyến nhờ
vào các lớp ẩn. Càng nhiều lớp ẩn thì khả năng mở rộng thông tin càng cao và
xử lý tốt mạng có nhiều lớp vào và lớp ra.
Hình (1.4) mô tả cấu trúc của mạng nơ-ron truyền thẳng nhiều lớp.
x1

Lớp vào

Lớp ẩn

Lớp ra

x2
xm

y1
y2
yn

Hình 1.4. Mạng truyền thẳng nhiều lớp

1.1.2.3.2. Mạng hồi quy (Recurrent Neutral Network)
Mạng hồi quy một lớp có nối ngược
X1

Y1

X2

...
XN

Y2

...

...
YM