Tải bản đầy đủ (.docx) (23 trang)

Tổng quan về mạng nơ-ron và giới thiệu một số ứng dụng của mạng nơ-ron

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (776.18 KB, 23 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
________________
BÁO CÁO THU HOẠCH MÔN HỌC
CÔNG NGHỆ TRI THỨC & ỨNG DỤNG
Đề tài:
Tổng quan về mạng nơ-ron
và giới thiệu một số ứng dụng của
mạng nơ-ron

Giảng viên : GS.TSKH. Hoàng Kiếm
Sinh viên thực hiện: Tăng Chí Tâm
MSSV : CH1101130

TP. HCM, NĂM 2012
Lời mở đầu
Ngày nay, không ai có thể phủ nhận vai trò cực kỳ quan trọng của máy tính trong hầu hết
mọi lĩnh vực của đời sống. Tuy nhiên, máy tính sẽ chỉ là một cỗ máy đơn thuần như bao cỗ máy
khác nếu như nó không được sự hỗ trợ từ các phần mềm. Mạng nơ-ron nhân tạo là một sản phẩm
phần mềm ra đời nhằm kết hợp khả năng xử lý thông tin cực nhanh của máy tính với khả năng
xử lý thông tin song song gần như cùng lúc của bộ não con người. Từ đó đã tạo nên sự kỳ diệu
cho máy tính.
Trong phạm vi bài thu hoạch này, em sẽ trình bày “Tổng quan về mạng nơ-ron và giới
thiệu một số ứng dụng của mạng nơ-ron”. Nội dung bài thu hoạch gồm các chương sau:
Chương 1: Tổng quan về mạng nơ-ron.
Chương 2: Giới thiệu một số ứng dụng của mạng nơ-ron
Mong rằng bài viết có thể giúp cho người đọc có được những khái niệm cơ bản về mạng
nơ-ron và định hình được hướng xây dựng đề tài nghiên cứu dựa trên mạng nơ-ron.
Cảm ơn Thầy Hoàng Kiếm và các anh chị đã cung cấp những tài liệu liên quan đến đề tài.
Mục Lục
1. TỔNG QUAN VỀ MẠNG NƠ-RON (NEURAL)


1. Khái niệm
1.1.1.Nơ-ron sinh học
Các nhà khoa học đã cho ta thấy rằng nơ-ron hay tế bào thần kinh là đơn vị cơ sở đảm
nhiệm những chức năng xử lý nhất định hệ thần kinh, bao gồm não, tủy sống và các dây thần
kinh. Mỗi nơ-ron gồm một thân(soma) chứa nhân, hình sao nhiều cạnh hoặc bầu dục và các sợi.
Từ thân phát đi nhiều tua ngắn phân nhánh gọi là sợi nhánh (dendrite-dây thần kinh vào) và một
tua dài, mảnh gọi là sợi trục (axon-dây thần kinh ra). Doc sợi trục có thể có những tế bào
xchoan bao bọc tạo nên bao mi-ê-lin(myelin sheath). Sợi trục nối giữa trung ương thần kinh với
các cơ quan, chúng đi chung với nhau tạo thành từng bó gọi là dây thần kinh. Khoảng cách giữa
các bao này có những đoạn ngắn gọi là eo răng-vi-ê(node of ranvier), còn diện tích tiếp xúc giữa
những nhánh nhỏ phân từ tận cùng sợi trục của nơ-ron này với sợi nhánh của nơ-ron khác hoặc
cơ quan thụ cảm gọi là khớp nối(synapse). Mỗi nơ-ron có thể có từ vài chục tới vài trăm nghìn
khớp nối để nối với các nơ-ron khác. Người ta ước lượng rằng mạng các dây thần kinh ra cùng
với các khớp nối bao phủ diện tích khoảng 90% bề mặt nơ-ron.
Các tín hiệu truyền trong các dây thần kinh vào và dây thần kinh ra của các nơ-ron là các
tín hiệu điện, được thực hiện thông qua quá trình phản ứng và giải phóng các chất hữu cơ. Các
chất này được phát ra từ các khớp nối dẫn tới các dây thần kinh vào sẽ làm tăng hay giảm diện
thế của nhân tế bào. Khi điện thế này đạt tới một ngưỡng nào đó sẽ tạo ra một xung điện dẫn tới
trục dây thần kinh ra. Xung này được truyền theo trục tới các nhánh rẽ, khi chạm tới các khớp
nối với các nơ-ron khác sẽ giải phóng các chất truyền điện. Các liên kết khớp thần kinh khá
mềm dẻo, có thể biến động và chuyển đổi theo thời gian tùy thuôc vào các dạng kích thích. Các
nơ-ron có thể tự sản sinh các liên kết mới với các nơ-ron khác và đôi khi mạng các nơ-ron có
thể di trú từ vùng này sang vùng khác trong não bộ. Đây chình là cơ sở quan trọng để giải thích
cơ chế học của bộ não con người.
Các chức năng cơ bản của bộ não:
-Tổ chức theo các bó thông tin và truy cập theo nội dung
-Có khả năng tổng quát hóa, có thể truy xuất các tri thức hay các mối liên kết
chung của các đối tượng tương ứng với một khái niệm chung nào đó
-Có thể tự điều chỉnh hoặc tiếp tục thực hiện ngay khi có những sai lệch do thông
tin bị thiếu hay không chính xác.

-Có thể phát hiện và hồi phục các thông tin bị mất dựa trên sự tương đồng giữa
các đối tượng
-Có khả năng xuống cấp và thay thế dần dần. Khi có những trục trặc tại các vùng
não (bệnh,chấn thương) hoặc bắt gặp các thông tin hoàn toàn mới lạ thì bộ não vẫn có thể tiếp
tục làm việc.
-Có khả năng học.
Nếu so sánh bộ não con người với các máy tính hiện đại thì ta có thể dễ dàng thấy được
sự tương đồng giữa chúng:
-Về khả năng lưu trữ thì bộ não ta có thể lưu nhiều thông tin hơn các máy tính.
Tuy nhiên điều này không phải đúng mãi mãi vì bộ não chúng ta tiến hóa rất chậm trong
khi đó khoa học kỹ thuật tiến bộ rất nhanh, khả năng lưu trữ của máy tính nhờ vào đó mà
tăng rất nhanh
4
-Về tốc độ tính toán thì các bộ xử lý có thể tính toán hàng triệu lệnh trong 1 giây,
trong khi đó bộ não cần vài mili giây để kích hoạt
-Về khả năng xử lý song song thì máy tính vẫn còn nhiều hạn chế trong xử lý
song song trong khi đó bộ não lại có khả năng kích hoạt gần như cùng một lúc tại nhiều nơ-ron
và các khớp nối. Chính điều này đã tạo nên sự kỳ diệu trong khả năng tính toán và xử lý thông
tin của bộ nảo chúng ta mà các máy tính hiện đại nhất cũng không thể so sánh được.
Mạng nơ-ron nhân tạo ra đời có ý nghĩa to lớn nhằm tạo cho các thiết bị có thể kết hợp
khả năng xử lý song song như bộ não và khả năng tính toán cao của máy tính. Tuy nhiên cần
một thời gian dài nữa để các mạng nơ-ron nhân tạo có thể mô phỏng các hành vi sáng tạo như
bộ não.Chẳng hạn như bộ não có thể nhận ra khuôn mặt người quen trong vòng vài giây trong
khi đó máy tính cần thực hiện rất nhiều phép toán để nhận dạng và trong trường hợp thông tin
khuôn mặt như trên không chính xác hay có sự thay đổi đôi chút thì đó là cả vấn đề đối với máy
tính.
Một nơ-ron sinh học và cấu tạo của nó : sợi nhánh (dendrite), thân nơ-ron (soma), sợi trục (axon), bao mi-ê-lin
(myelin sheath), eo răng-vi-ê (node of ranvier), khớp nối (synapse)
5
1.1.2.Nơ-ron nhân tạo

Mô hình nơ-ron nhân tạo
Nơ-ron là một đơn vị xử lý thông tin cơ bản cho sự vận hành của mạng nơ-ron. Một nơ-
ron được cấu tạo gồm 3 thành phần chính: liên kết nơ-ron, bộ cộng, hàm kích hoạt.
-Liên kết nơ-ron là một thánh phần của mạng nơ-ron nhân tạo, liên kết giữa các
nơ-ron, nó nối đầu ra của nơ-ron lớp này với đầu vào của nơ-ron lớp khác. Đặc trưng của
thành phần liên kết là một trọng số mà mỗi tín hiệu đi qua đều nhân với trọng số này. Các
trọng số liên kết chính là các tham số tự do cơ bản của mạng nơ-ron, có thể thay đổi được
sao cho thích nghi với môi trường xung quanh.
-Bộ cộng dùng để tính tổng các tín hiệu đầu vào của nơ-ron, đã được nhân vớicác
trọng số liên kết tương ứng. Phép toán này được gọi là phép tổ hợp tuyến tính “linear
combiner”.
-Hàm kích hoạt hay còn gọi là hàm kích hoạt phi tuyến, có nhiệm vụ 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. Hàm kích hoạt
này đảm bảo tính chất phi tuyến cho tính toán mạng nơ-ron. Nó được xem như một hàm
giới hạn, nó giới hạn phạm vi biên độ cho phép của tín hiệu đầu ra trong một khoảng giá
trị hữu hạn. Trị số ngưỡng có tác dụng tăng hay giảm đi đầu vào thực của hàm kích hoạt.
Một nơ-ron k được diễn tả như sau:

Trong đó:
x
i
: tín hiệu vào
w
ki
: trọng lượng tín hiệu vào x
i
của nơ-ron k
u
k
: kết hợp tuyến tính xuất

: trị số ngưỡng kích hoạt của nơ-ron
y
k
: tín hiệu ra của nơ-ron k
f : hàm điều chỉnh biên độ tín hiệu ngõ ra của nơ-ron
6
u
0
1
f(u)
Hàm f được gọi là hàm truyền khi thỏa các tính chất sau:
f(u) là hàm bị chặn, nghĩa là các giá trị của f(u) không bao giờ được vượt quá chặn trên
cũng như thấp hơn chặn dưới với mọi giá trị của u.
f(u) là hàm đơn điệu tăng, nghĩa là giá trị của f(u) luôn tăng khi giá trị của u tăng.
f(u) là hàm liên tục tăng.
Một số hàm kích hoạt cơ bản trong mạng nơ-ron:
-Hàm logistic:
Đồ thị hàm logistic:
Hàm logistic thường dùng khi muốn kết xuất có giá trị trong khoảng [0,1].
Khi muốn kết xuất có giá trị trong khoảng [-1,1], ta có thể sử dụng một trong hai
hàm sau:
-Hàm hyperbol:
-Hàm tang-hyperbol:
Hàm tang-hyperbol tiến đến giới hạn của nó nhanh hơn hàm hyperbol.
1.1.3.Mạng nơ-ron nhân tạo
Là một hệ thống gồm nhiều nơ-ron hoạt động song song và nối với nhau bởi các liên kết
nơ-ron. Mỗi liên kết kèm theo một trọng số nào đó, đặc trưng cho tính kích hoạt hay ức chế giữa
các nơ-ron.
Có thể xem các trọng số là phương tiện để lưu trữ thông tin dài hạn trong mạng nơ-ron và
nhiệm vụ của quá trình huấn luyện của mạng là cập nhật các trọng số khi có thêm thông tin về

mẫu học nhằm điều chỉnh sao cho đầu ra của mạng phù hợp với môi trường đang xem xét.
7
Sơ đồ một mạng nơ-ron nhân tạo
Mô hình mạng nơ-ron trên gồm 3 lớp: lớp nhập, lớp ẩn, lớp xuất. Mỗi nút trong lớp nhận
giá trị của một biến độc lập và chuyển vào mạng.
Dữ liệu từ tất cả các nút trong lớp nhập được tích hợp lại(tổng trọng số) và chuyển kết
quả cho các nút trong lớp ẩn(các nút trong lớp này chỉ liên lạc giữa lớp nhập và lớp xuất, chỉ có
người thiết kế biết đến lớp này, người sử dụng không biết đến lớp này).
Các nút trong lớp xuất nhận các tín hiệu tổng trọng hóa từ các nút trong lớp ẩn. Mỗi nút
trong lớp xuất tương ứng với một biến phụ thuộc.
2. Đặc trưng của mạng nơ-ron
1. Tính phi tuyến
Một nơ-ron có thể tính toán một cách tuyến tính hay phi tuyến. Một mạng nơ-ron, cấu
thành bởi sự kết nối các nơ-ron phi tuyến thì tự nó sẽ có tính phi tuyến. Hơn nữa, điều đặc biệt
là tính phi tuyến này được phân tán trên toàn mạng. Tính phi tuyến là một thuộc tính rất quan
trọng, nhất là khi các cơ chế vật lý sinh ra các tín hiệu đầu vào (ví dụ tín hiệu tiếng nói) vốn là
phi tuyến.
2. Tính chất tương ứng đầu vào, đầu ra
Mặc dù khái niệm “học” hay “huấn luyện” chưa được bàn đến nhưng để hiểu được mối
quan hệ đầu vào-đầu ra của mạng nơ-ron, chúng ta sẽ đề cập sơ qua về khái niệm này. Một mô
hình học phổ biến được gọi là học với một người dạy hay học có giám sát liên quan đến việc
thay đổi các trọng số liên kết của mạng nơ-ron bằng việc áp dụng một tập hợp các mẫu tích luỹ
hay các ví dụ tích luỹ. Mỗi một ví dụ bao gồm một tín hiệu đầu vào và một đầu ra mong muốn
tương ứng. Mạng nơ-ron nhận một ví dụ lấy một cách ngẫu nhiên từ tập hợp nói trên tại đầu vào
của nó, và các trọng số liên kết của mạng được biến đổi sao cho có thể cực tiểu hoá sự sai khác
giữa đầu ra mong muốn và đầu ra thực sự của mạng theo một tiêu chuẩn thống kê thích hợp. Sự
tích luỹ của mạng được lặp lại với nhiều ví dụ trong tập hợp cho tới khi mạng đạt tới một trạng
thái ổn định mà ở đó không có một sự thay đổi đáng kể nào của các trọng số liên kết. Các ví dụ
tích luỹ được áp dụng trước có thể được áp dụng lại trong thời gian của phiên tích luỹ nhưng
8

theo một thứ tự khác. Như vậy mạng nơ-ron học từ các ví dụ bằng cách xây dựng nên một
tương ứng đầu vào-đầu ra cho vấn đề cần giải quyết.
3. Tính chất thích nghi
Các mạng nơ-ron có một khả năng mặc định là biến đổi các trọng số liên kết tuỳ theo sự
thay đổi của môi trường xung quanh. Đặc biệt, một mạng nơ-ron đã được tích luỹ để hoạt động
trong một môi trường xác định có thể được tích luỹ lại một cách dễ dàng khi có những thay đổi
nhỏ của các điều kiện môi trường hoạt động.
4. Tính chất đưa ra lời giải có bằng chứng
Trong ngữ cảnh phân loại mẫu, một mạng nơ-ron có thể được thiết kế để đưa ra thông tin
không chỉ về mẫu được phân loại, mà còn về sự tin cậy của quyết định đã được thực hiện.
Thông tin này có thể được sử dụng để loại bỏ các mẫu mơ hồ hay nhập nhằng.
5. Tính chất chấp nhận sai sót
Một mạng nơ-ron, được cài đặt dưới dạng phần cứng, vốn có khả năng chấp nhận lỗi, hay
khả năng tính toán thô, với ý nghĩa là tính năng của nó chỉ thoái hoá khi có những điều kiện hoạt
động bất lợi. Ví dụ, nếu một nơ-ron hay các liên kết kết nối của nó bị hỏng, việc nhận dạng lại
một mẫu được lưu trữ sẽ suy giảm về chất lượng.
6. Tính chất đồng dạng trong phân tích và thiết kế
Về cơ bản, các mạng nơ-ron có tính chất chung như là các bộ xử lý thông tin. Chúng ta
nêu ra điều này với cùng ý nghĩa cho tất cả các lĩnh vực có liên quan tới việc ứng dụng mạng
nơ-ron. Đặc tính này thể hiện ở một số điểm như sau:
Các nơ-ron, dưới dạng này hoặc dạng khác, biểu diễn một thành phần chung cho tất cả
các mạng nơ-ron.
Tính thống nhất này đem lại khả năng chia sẻ các lý thuyết và các thuật toán học trong
nhiều ứng dụng khác nhau của mạng nơ-ron.
Các mạng tổ hợp (modular) có thể được xây dựng thông qua một sự tích hợp các mô hình
khác nhau.
7. Khả năng cài đặt VLSI (very large scale intergrated
Bản chất song song đồ sộ của một mạng nơ-ron làm cho nó rất nhanh trong tính toán đối
với một số công việc. Đặc tính này cũng tạo ra cho một mạng nơ-ron khả năng phù hợp cho việc
cài đặt sử dụng kỹ thuật Very-large-scale-intergrated (VLSI). Kỹ thuật này cho phép xây dựng

những mạch cứng tính toán song song quy mô lớn. Chính vì vậy mà ưu điểm nổi bật của VLSI
là mang lại những phương tiện hữu hiệu để có thể xử lý được những hành vi có độ phức tạp cao
3. Phân loại mạng nơ-ron nhân tạo
1. Phân loại theo kiểu liên kết nơ-ron
Ta có mạng dẫn tiến (hay còn gọi là mạng truyền thẳng) và mạng hồi quy (hay còn gọi là
mạng quy hồi).
Trong mạng dẫn tiến các nơ-ron đi theo một hướng nhất định tạo thành đồ thị không có
chu trình, các đỉnh là các nơ-ron còn các cạnh là các liên kết giữa chúng.
Các mạng hồi quy cho phép các liên kết nơ-ron tạo thành chu trình, các thông tin ra của
các nơ-ron được truyền lại cho các nơ-ron đã góp phần kích hoạt chúng, nên mạng hồi quy còn
9
có khả năng lưu giữ trạng thái trong của nó dưới dạng các ngưỡng kích hoạt ngoài các trọng số
liên kết nơ-ron.
1.3.2. Một số loại mạng noron
1.3.2.1. Mạng dẫn tiến
Có thể nói mạng nơ-ron dẫn tiến là một kiểu mạng đơn giản trong việc sắp đặt mạng.
Trong mạng này thông tin chỉ truyền trên một hướng duy nhất từ lớp đầu vào xuyên qua lớp ẩn
(nếu có) và kết thúc tại lớp đầu ra. Không có chu trình hoặc vòng trong mạng.
1.3.2.1.1. Mạng dẫn tiến đơn mức
Trong một mạng nơ-ron phân mức, các nơ-ron được tổ chức dưới dạng các mức. Với
dạng đơn giản nhất của mạng phân mức, chúng ta có một mức đầu vào gồm các nút nguồn chiếu
trực tiếp tới mức đầu ra gồm các nơ-ron
Như vậy, mạng thực sự là không có chu trình. Hình trên minh họa cho trường hợp ba nút
đối với cả mức đầu ra và đầu vào. Một mạng như vậy được gọi là một mạng đơn mức. “Đơn
mức” tức là chỉ có một mức, chính là mức đầu ra gồm các nút tính toán (các nơ-ron). Chúng ta
không tính mức đầu vào của các nút nguồn vì không có tính toán nào được thực hiện ở đây.
1.3.2.1.2. Mạng dẫn tiến đa mức
Lớp thứ hai của một mạng nơ-ron dẫn tiến được phân biệt bởi sự có mặt của một hay
nhiều mức ẩn, mà các nút tính toán của chúng được gọi là các nơ-ron ẩn hay các đơn vị ẩn
(thuật ngữ “ẩn” ở đây mang ý nghĩa là không tiếp xúc với môi trường). Chức năng của các nơ-

ron ẩn là can thiệp vào giữa đầu vào và đầu ra của mạng một cách hữu hiệu. Bằng việc thêm
một vài mức ẩn, mạng có khả năng rút ra được các thống kê bậc cao của tín hiệu đầu vào. Khả
năng các nơ-ron ẩn rút ra được các thống kê bậc cao đặc biệt có giá trị khi mức đầu vào có kích
thước lớn
Mạng nơ-ron trong hình bên dưới được gọi là kết nối đầy đủ với ý nghĩa là tất cả các nút
trong mỗi mức của mạng được nối với tất cả các nút trong mức tiếp sau. Nếu một số kết nối
không tồn tại trong mạng, chúng ta nói rằng mạng là kết nối không đầy đủ.
10
1.3.2.2. Mạng hồi quy
Trái với mạng nơ-ron dẫn tiến , mạng hồi quy là những mô hình với hai luồng dữ liệu có
hướng. Trong khi mạng dẫn tiến truyền dữ liệu theo một đường thẳng thì những mạng nơ-ron
hồi quy có ít nhất một phản hồi từ những nơ-ron xử lý sau quay trở lại các nơ-ron xử lý trước đó
11
1.4.Huấn luyện mạng nơ-ron
1.4.1.Phương pháp học
Mạng nơ-ron nhân tạo phỏng theo việc xử lý thông tin của bộ não người, do vậy đặc
trưng cơ bản của mạng là có khả năng học, khả năng tái tạo các hình ảnh và dữ liệu khi đã học.
Trong trạng thái học thông tin được lan truyền theo hai chiều nhiều lần để học các trọng số. Có
3 kiểu học chính, mỗi kiểu học tương ứng với một nhiệm vụ học trừu tượng.
Đó là học có giám sát (có mẩu), học không giám sát và học tăng cường.
Thông thường loại kiến trúc mạng nào cũng có thể dùng được cho các nhiệm
vụ.
1.4.1.1. Học có giám sát
Một thành phần không thể thiếu của phương pháp này là sự có mặt của một người thầy (ở
bên ngoài hệ thống). Người thầy này có kiến thức về môi trường thể hiện qua một tập hợp các
cặp đầu vào - đầu ra đã được biết trước. Hệ thống học (ở đây là mạng nơ-ron) sẽ phải tìm cách
thay đổi các tham số bên trong của mình (các trọng số và các ngưỡng) để tạo nên một ánh xạ có
khả năng ánh xạ các đầu vào thành các đầu ra mong muốn. Sự thay đổi này được tiến hành nhờ
việc so sánh giữa đầu ra thực sự và đầu ra mong muốn.
1.4.1.2. Học không giám sát

Trong học không có giám sát, ta được cho trước một số dữ liệu x và hàm chi phí cần
được cực tiểu hóa có thể là một hàm bất kỳ của dữ liệu x và đầu ra của mạng, f - hàm chi phí
được quyết định bởi phát biểu của bài toán. Phần lớn các ứng dụng nằm trong vùng của các bài
toán ước lượng như mô hình hóa thống kê, nén, lọc, phân cụm.
1.4.1.3. Học tăng cường
Dữ liệu x thường không được tạo trước mà được tạo ra trong quá trình một agent tương
tác với môi trường. Tại mỗi thời điểm t, agent thực hiện hành động y
t
và môi trường tạo một
quan sát x
t
với một chi phí tức thời C
t
, theo một quy trình động nào đó (thường là không được
12
biết). Mục tiêu là một sách lược lựa chọn hành động để cực tiểu hóa một chi phí dài hạn nào đó
nghĩa là chi phí tích lũy mong đợi. Quy trình hoạt động của môi trường và chi phí dài hạn cho
mỗi sách lược thường không được biết, nhưng có thể ước lượng được. Mạng nơ-ron nhân tạo
thường được dùng trong học tăng cường như một phần của thuật toán toàn cục. Các bài toán
thường được giải quyết bằng học tăng cường là các bài toán điều khiển, trò chơi và các nhiệm
vụ quyết định tuần tự khác.
1.4.2.Thuật toán học
Có nhiều thuật toán có thể dùng để huấn luyện các mô hình mạng nơ-ron nhưng hầu hết
đều dựa trên lý thuyết về tối ưu hóa và ước lượng thống kê. Phần lớn các thuật toán huấn luyện
đều sử dụng kiểu gradient descent- tiến dần đến cực tiểu nào đó. Điều này được thực hiện bằng
cách lấy đạo hàm của hàm f theo các tham số của mạng và điều chỉnh các tham số cho phù hợp
với môi trường đang xét.
Các phương pháp thường dùng cho huấn luyện nơ-ron: phương pháp tiến hóa, giải thuật
luyện kim, cực đại hóa kỳ vọng và các phương pháp không tham số.
Thuật toán lan truyền ngược (backpropagation)

Thuật toán lan truyền ngược là dạng tổng quát của thuật toán trung bình bình phương tối
thiểu(Least Means Square-LMS). Thuật toán này thuộc dạng thuật toán xấp xỉ để tìm các điểm
mà tại đó hiệu năng của mạng là tối ưu. Chỉ số tối ưu thường được xác định bởi một hàm số của
các trọng số và các đầu vào nào đó do bài toán đặt ra.
Để huấn luyện mạng bằng thuật toán lan truyền ngược thì ta thực hiện hai quá trình: Quá
trình truyền tuyến tính và quá trình truyền ngược.
-Quá trình truyền tuyến tính: Dữ liệu từ lớp nhập qua lớp ẩn và đến lớp xuất để:
+ Thay đổi giá trị trong số liên kết W của các nơ-ron trong mạng biểu diễn
được dữ liệu học.
+ Tìm ra sự khác nhau giữa giá trị thật hàm mẫu mà mạng tính được và
kết quả dự đoán của mạng gọi là lỗi.
-Quá trình truyền ngược: giá trị lỗi sẽ được truyền ngược lại sao cho quá trình
huấn luyện sẽ tìm ra trọng số Wi để lỗi nhỏ nhất.
Để minh họa, chúng ta dẽ xem xét giải thuật lan truyền ngược hiệu chỉnh các trọng số của
một mạng nơ-ron gồm 3 lớp với 2 đầu vào và 1 đầu ra như sau:
13
Mỗi nơ-ron sẽ gồm hai thành phần chính. Thứ nhất là các trọng số w và các trị số đầu vào
x . Phần thứ 2 là hàm kích hoạt f. Và “y = f(e)” là đầu ra của một nơ-ron.
Để huấn luyện cho mạng chúng ta cần phải có các mẩu. Mỗi mẩu bao gồm hai thành
phần đó là
-Đầu vào x1, x2
-Đầu ra z là kết quả của mẩu
Quá trình lan truyền tuyến tính: Chúng ta sẽ bắt đầu với hai đầu vào x1, x2. Từ đó
chúng ta có thể tính được đầu ra của mỗi nơ-ron trong mạng. Hình dưới minh họa cho sự lan
truyền các giá trị trong mạng. Trong đó :
- W
(xm)n
: tượng trưng cho các trọng số w của kết nối giữa đầu vào x
m
và nơ-ron n

trong tầng input của mạng.
- Y
n
tượng trưng cho đầu ra của nơ-ron n.
14
Sự lan truyền của các tín hiệu từ lớp đầu vào đến lớp ẩn.
Kí hiệu w
mn
biểu diễn trọng số w của kết nối giữa đầu ra của nơ-ron m và là đầu vào của
nơ-ron n.
15
Sự lan truyền của tín hiệu đến lớp đầu ra :
Bước tiếp theo của giải thuật là so sánh giá trị đầu ra của mạng là Y với giá trị z là kết
quả của mẩu. Hiệu giữa chúng ta gọi là tín hiệu lỗi
δ
của lớp đầu ra.
Chúng ta không thể tính được các tín hiệu lỗi của các nơ-ron một cách trực tiếp. Bởi vì
chúng ta không có được đầu ra của mỗi nơ-ron. Nên chúng ta sẽ lan truyền tín hiệu lỗi
δ
lùi lại
đến tất cả các nơ-ron.
δ
n là tín hiệu lỗi ở nơ-ron n
Quá trình lan truyền ngược:
16
Các trọng số w
mn
được dùng để tính toán trong trường hợp lan truyền ngược này bằng
với các trọng số w
mn

trong quá trình lan truyền tuyến tính. Chỉ có chiều của lan truyền tín hiệu là
thay đổi. Kỹ thuật này được dùng cho tất cả các lớp của mạng. Ta có thể thấy bằng hình ảnh :
17
Khi tín hiệu lỗi của mỗi nơ-ron đã được tính thì chúng ta có thể dựa vào tín hiệu lỗi này
để thay đổi giá trị của các trọng số. Trong giải thuật lan truyền ngược, trọng số thay đổi dựa vào
đạo hàm của hàm kích hoạt trong mỗi nơ-ron.
18
Trong đó :
-df(e)/de : là đạo hàm của hàm kích hoạt.
-
η
là đại lượng ngẫu nhiên ảnh hưởng đến tốc độ huấn luyện của mạng. Có nhiều
cách để chọn
η
Có thể bắt đầu quá trình học bằng cách chọn
η
là một đại lượng lớn rồi
trong quá trình học sẽ giảm dần giá trị này. Hoặc bắt đầu bằng một giá trị nhỏ rồi sau đó
trong quá trình học có thể tăng dần giá trị này, đến cuối quá trình học lại giảm giá trị này
xuống
19
20
1.5.Thu thập dữ liệu cho mạng nơ-ron
Một khi ta quyết định giải quyết một vấn đề sử dụng mạng nơ-ron ta cần phải thu thập dữ
liệu cho mục tiêu huấn luyện. Tập hợp dữ liệu huấn luyện bao gồm một số trường hợp, mỗi
trường hợp chứa những giá trị của đầu vào và đầu ra khác nhau. Những việc đầu tiên cần làm là:
những biến nào được sử dụng, bao nhiêu trường hợp cần thu thập. Sự lựa chọn do trực giác
quyết định. Công việc chuyên môn của ta trong lĩnh vực cần giải quyết sẽ cho ta những ý tưởng
về các biến đầu vào phù hợp. Trong các mạng nơ-ron ta có thể chọn và loại bỏ nhiều biến và
mạng nơ-ron cũng có thể xác định bằng quá trình thực nghiệm. Trong một bước ta nên tính đến

bất kỳ biến nào mà ta nghĩ có ảnh hưởng đến quá trình thiết kế. Các mạng nơ-ron xử lý dữ liệu
số trong một tầm giới hạn rõ ràng. Điều này đưa ra một vấn đề, nếu dữ liệu nằm trong một vùng
đặc biệt như dữ liệu chưa biết hay không phải dữ liệu số thì phải có những phương pháp xử lý
thích hợp. Dữ liệu số được chia nhỏ thành những khoảng thích hợp cho mạng và những giá trị
thiếu có thể thay thế bằng giá trị trung bình hay giá trị thống kê của biến đó thông qua những
biến khác đã được huấn luyện. Xử lý dữ liệu không phải số thì khó hơn. Loại dữ liệu không phải
là số thông thường nhất là những biến có giá trị định danh như giới tính(nam, nữ). Biến định
danh có thể biểu diễn bằng số học và mạng nơ-ron có chức năng hỗ trợ điều này. Tuy nhiên,
mạng nơ-ron làm việc tốt với những trường hợp biến định danh là một tập nhiều giá trị.
Số trường hợp mẩu dùng để huấn luyện mạng rất khó xác định. Đã có một vài hướng dẫn
về mối liên hệ giữa số trường hợp mẩu với kích thước mạng(cách đơn giản nhất là số trường
hợp mẩu gấp 10 lần số kết nối trong mạng). Thực ra số trường hợp mẩu cũng có liên quan đến
độ phức tạp của hàm mà mạng phải học. Khi số biến tăng lên, số trường hợp mẩu cần huấn
luyện cũng tăng phi tuyến, vì thế với số các biến nhỏ thì lại cần một số lớn các trường hợp mẩu.
Trong hầu hết các vấn đề trong thực tế, số trường hợp mẩu là khoảng hàng trăm hay hàng nghìn
mẩu. Đối với những vấn đề rất phức tạp thì cần nhiều hơn, nhưng trường hợp này rất ít. Nếu dữ
liệu huấn luyện ít hơn, rõ ràng không đủ thông tin để huấn luyện mạng và cách tốt nhất là dùng
mạng tuyến tính. Nhiều vấn đề trong thực tế có dữ liệu không đáng tin cậy, một vài dữ liệu bị
phá hỏng do nhiễu, hoặc các giá trị không phối hợp đựợc với nhau. Mạng nơ-ron có khả năng
đặc biệt xử lý dữ liệu bị mất(sử dụng giá trị trung bình hay các những giá trị thống kê khác).
Mạng nơ-ron cũng chịu được nhiễu, nhưng cũng phải có giới hạn. Nếu thỉnh thoảng có giá trị
21
nằm xa ra khỏi vùng giá trị bình thường thì mạng huấn luyện phải có ngưỡng. Cách tốt nhất đối
với trường hợp này là nhận ra và loại bỏ những giá trị nằm xa đó ( có thể hủy trường hợp này
hoặc xem giá trị nằm xa này là giá trị bị mất ). Nếu giá trị này khó nhận ra, mạng nơ-ron có
chức năng huấn luyện chịu được giá trị nằm khỏi vùng này nhưng huấn luyện này thường kém
hiệu quả hơn là huấn luyện chuẩn.
Tóm lại cách thu thập dữ liệu có thể nói gọn lại như sau:
- Chọn những giá trị huấn luyện có tác dụng.
- Dữ liệu số và biến có giá trị định danh có thể xử lý trực tiếp bằng mạng nơ-ron.

Chuyển những loại biến khác sang một trong các dạng này.
- Cần hàng trăm hoặc hàng ngàn trường hợp mẩu huấn luyện; càng nhiều biến thì
càng nhiều mẩu huấn luyện. Mạng nơ-ron có khả năng nhận ra những biến hữu dụng để
huấn luyện.
1.6.Một số vần đề của mạng nơ-ron
Khi xây dựng một ứng dụng mạng nơ-ron chúng ta cần quan tâm một số vấn đề sau:
-Vấn đề về kiến trúc mạng nơ-ron : nơ-ron nào nối với nơ-ron nào? Đây chính là
sự lựa chọn mô hình của mạng nơ-ron. Nó sẽ phụ thuộc vào sự trình bày dữ liệu và ứng
dụng. Những mô hình phức tạp quá dẫn đến những vấn đề về lựa chọn quá trình huấn
luyện và giải thuật học.
-Lựa chọn giải thuật học: ở đây có nhiều sự cân bằng giữa các giải thuật học. Gần
như bất kỳ giải thuật nào sẽ làm tốt với độ chính xác của các siêu tham số cho việc huấn
luyện trên tập dữ liệu cố định cho trứớc. Tuy nhiên sự lựa chọn và điều hướng của giải
thuật cho việc huấn luyện trên các tập dữ liệu này cần thực hiện nhiều thí nghiệm, đó là
điều rất quan trọng. Trên một mô hình nếu lựa chọn giải thuật và hàm đánh giá phù hợp
thì mạng nơ-ron có thể cho kết quả rất tốt.
-Trọng số của các cung nối và ngưỡng thay đổi thường xuyên. Đã có nhiều nghiên
cứu về vấn đề này và cũng đã có một số kết quả: Nếu mạng gây ra lỗi, thì có thể xác định
nơ-ron nào gây ra lỗi => điều chỉnh nơ-ron đó.Với cách tiếp cận này, mạng phải biết rằng
nó gây ra lỗi. Trong thực tế, lỗi chỉ được biết sau một thời gian dài.
1.7.Một số hướng dẫn khi sử dụng mạng nơ-ron
Xây dựng mạng khởi tạo(dùng một lớp ẩn có số nơ-ron = ½ tổng số nơ-ron của lớp nhập
và lớp xuất)
Huấn luyện mạng dùng các giải thuật huấn luyện. Nên thực hiện trên nhiều mạng khác
nhau để tránh trường hợp cực tiểu cục bộ
Nếu máy “Không thuộc bài” => thêm một vài nơ-ron cho tầng ẩn
Ngược lại nếu máy “Học vẹt”=> bớt một vài nơ-ron ra khỏi tầng ẩn
Khi đã tìm được một kiến trúc mạng tương đối tốt thì lấy mẫu lại tập dữ liệu và huấn
luyện lại để tìm các mạng mới.
22

CHƯƠNG 2 : GIỚI THIỆU MỘT SỐ ỨNG DỤNG CỦA MẠNG NƠ-RON
2.1. Giới thiệu
Mạng nơ-ron trong một vài năm trở lại đây đã được nhiều người quan tâm và đã áp dụng
thành công trong nhiều lĩnh vực khác nhau như:
-Phi công tự động, giả lập đường bay, các hệ thống điều khiển lái máy bay
-Hệ thống dẫn đường trong xe ô tô.
-Nhận dạng khuôn mặt: hệ thống phát hiện, hệ thống nhận dạng trên các máy kỹ
thuật số, facebook
-Nhận dạng tiếng nói
-Phân tích tài chính, dự báo tỷ giá
-Đánh giá việc áp dụng chính sách, tối ưu hóa sản phẩm.

Thật vậy, bất cứ ở đâu có vấn đề về dự báo, phân loại và điều khiển, mạng nơ-ron đều có
thể ứng dụng được.
Kết hợp chặt chẽ với logic mờ, mạng nơ-ron nhân tạo đã tạo nên cuộc cách mạng thực sự
trong việc thông minh hóa và vạn năng hóa các bộ điều khiển kỹ thuật cao cho cả hiện nay và
trong tương lai. Ví dụ như ứng dụng tự động điều khiển hệ thống lái tàu, hệ thống dự báo sự cố.
Mạng nơ-ron dựa trên việc mô phỏng cấp thấp hệ thống nơ-ron sinh học. Trong tương lai với
sự phát triển mô phỏng nơ-ron sinh học, chúng ta có thể có loại máy tính thông minh thật sự.
2.2. Một số đề tài nghiên cứu ứng dụng mạng nơ-ron hiện nay
-Ứng dụng mạng nơ-ron nhân tạo điều khiển thiết bị bằng giọng nói tiếng Việt.
-Ứng dụng mạng nơ-ron nhân tạo trong việc nhận dạng khuôn mặt trong ảnh.
-Ứng dụng mạng nơ-ron nhân tạo để dự báo mưa và dòng chảy ngầm.
-Ứng dụng mạng nơ-ron nhân tạo để chuẩn đoán sự số máy tính.
-Ứng dụng mạng nơ-ron nhân tạo để nhận dạng chữ viết tay.
-Ứng dụng mạng nơ-ron nhân tạo để xác định lộ trình cho robot.
Tài liệu tham khảo:
- Giáo trình công nghệ tri thức và ứng dụng của Thầy Hoàng Kiếm.
- Tập các tài liệu tổng hợp do các anh chị khóa trước chia sẻ trên google group.
- Một số thông tin về mạng nơ-ron tại : vi/wikipedia.org/wiki/Mạng_nơ_ron

23

×