Tiểu luận môn hệ hỗ trợ quyết định TÌM HIỂU MẠNG NEURAL NHÂN TẠO VÀ THUẬT TOÁN LAN TRUYỀN NGƯỢC - Pdf 27

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC MÁY TÍNH
Bài thu hoạch môn học
Hệ hỗ trợ ra quyết định
Đề tài
TÌM HIỂU MẠNG NEURAL NHÂN TẠO
VÀ THUẬT TOÁN LAN TRUYỀN NGƯỢC
Giảng viên giảng dạy: PGS.TS. Đỗ Phúc
Họ tên học viên: Lê Hoàng Vân
Mã số học viên: CH1301071
Thành phố Hồ Chí Minh – 2014
Mục lục
Bài thu hoạch môn Hệ hỗ trợ ra quyết định
Danh mục hình ảnh
Lê Hoàng Vân – CH1301071 Trang 2
Bài thu hoạch môn Hệ hỗ trợ ra quyết định
LỜI MỞ ĐẦU
Ngày nay với sự phát triển như vũ bão của khoa học kỹ thuật, đặc biệt là trong
lĩnh vực công nghệ thông tin. Nhiều chương trình thông minh có khả năng hỗ trợ giải
quyết những vấn đề khó khăn của con người đã ra đời và đóng góp những thành tựu to
lớn. Những chương trình này được ứng dụng nhiều công nghệ tri thức tiên tiến. Một
trong những công nghệ đó là mạng neural nhân tạo. Bài tiểu luận này xin được trình
bày một số nội dung khái quát về mạng neural nhân tạo và thuật toán lan truyền ngược
trong mạng neural nhân tạo cùng một chương trình demo nhỏ để minh họa thuật toán.
Lê Hoàng Vân – CH1301071 Trang 3
Bài thu hoạch môn Hệ hỗ trợ ra quyết định
CHƯƠNG I: MẠNG NEURAL NHÂN TẠO
1. Giới thiệu
Neural nhân tạo là một đơn vị tính toán có nhiều đầu vào và một đầu ra.
Hình 1 : Mô hình neuron nhân tạo ở mức đơn giản

thêm thông tin về mẫu học. Hay nói một cách khác, các trọng số đều được điều chỉnh
sao cho dáng điệu vào ra của mạng sẽ mô phỏng hoàn toàn phù hợp với môi trường
đang xem xét.
2.1. Mạng Một Tầng
Mạng một tầng với S neural được minh họa trong hình 3.1. Chú ý rằng với mỗi
một đầu vào trong số R đầu vào sẽ được nối với từng nơ-ron và ma trận trọng số bây
giờ sẽ có S hàng.
Một tầng bao gồm ma trận trọng số, các bộ cộng, vector ngưỡng b, hàm chuyển
và vector đầu ra a.
i
a
i
b
Mỗi phần tử của vector đầu vào p được nối với từng nơ-ron thông qua
ma trận trọng số W. Mỗi nơ-ron có một ngưỡng , một bộ cộng, một hàm chuyển f
và một đầu ra .
Cùng với nhau, các đầu ra tạo thành một vector đầu ra a.
Thông thường thì số lượng đầu vào của tầng khác với số lượng nơ-ron.(R#S).
Có phải tất cả các nơ-ron trong cùng một tầng phải có hàm chuyển giống nhau ? Câu
trả lời là không; bạn có thể định nghĩa các nơ-ron trong một tầng có hàm chuyển khác
Lê Hoàng Vân – CH1301071 Trang 6
Bài thu hoạch môn Hệ hỗ trợ ra quyết định
nhau bằng cách kết hợp song song hai mạng nơ-ron giống ở trên. Cả hai sẽ có đầu vào
giống nhau, và mỗi mạng sản xuất ra vài đầu ra.
Ma trận trọng số cho các phần tử trong vector đầu vào W:
W =





f
1
p
2
p
3
p
1,1
w
RS
w
,
1
a
2
a
S
a
1
b
2
b
S
b
1
n
2
n
S
n

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.
3. Các luật học
Mạng neural 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ụ.
3.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 neural) 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.
3.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.
3.3. Học tăng cường.
Lê Hoàng Vân – CH1301071 Trang 10
Bài thu hoạch môn Hệ hỗ trợ ra quyết định
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

tổng có trọng số sẽ nhỏ hơn threshold và buộc neural phải cho output bằng 0.
Như vậy, khi dạy chữ B thành công rồi thì neural có quên đi chữ đã học
trước đó là A không ? Không, vì khi input là các chữ khác nhau thì nhóm các
đường inputs đang hoạt động cũng khác nhau hoặc là không hoàn toàn trùng
nhau. Nhớ là chúng ta chỉ biến đổi weights của các inputs đang hoạt động thôi.
Chúng ta chỉ việc lập đi lập lại quá trình dạy như trên cho tới khi neural học
thuộc bài mới thôi.
Lê Hoàng Vân – CH1301071 Trang 12
Bài thu hoạch môn Hệ hỗ trợ ra quyết định
CHƯƠNG II: MẠNG NEURAL TRUYỀN THẲNG
1. Kiến trúc cơ bản
Để đơn giản và tránh hiểu nhầm, mạng truyền thẳng xét trong chương này là các
mạng truyền thẳng có nhiều lớp. Kiến trúc mạng truyền thẳng nhiều lớp (Multi-
layer Feed Forward - MLFF) là kiến trúc chủ đạo của các mạng neural hiện tại. Mặc
dù có khá nhiều biến thểnhưng đặc trưng của kiến trúc này là cấu trúc và thuật toán
học là đơn giản và nhanh (Masters 1993).
1.1. Mạng truyền thẳng
Một mạng truyền thẳng nhiều lớp bao gồm một lớp vào, một lớp ra và một hoặc
nhiều lớp ẩn. Các neural đầu vào thực chất không phải các neural theo đúng nghĩa,
bởi lẽchúng không thực hiện bất kỳmột tính toán nào trên dữliệu vào, đơn giản nó
chỉtiếp nhận các dữliệu vào và chuyển cho các lớp kế tiếp. Các neural ởlớp ẩn và
lớp ra mới thực sự thực hiện các tính toán, kết quả được định dạng bởi hàm đầu ra
(hàm chuyển). Cụm từ “truyền thẳng” (feed forward) (không phải là trái nghĩa của
lan truyền ngược) liên quan đến một thực tếlà tất cả các neural chỉ có thể được kết
nối với nhau theo một hướng: tới một hay nhiều các neural khác trong lớp kế tiếp
(loại trừcác neural ở lớp ra).
Hình sau ở dạng tóm tắt biểu diễn mạng neural một cách cô đọng và tránh gây
ra sự hiểu nhầm.
Lê Hoàng Vân – CH1301071 Trang 13
Bài thu hoạch môn Hệ hỗ trợ ra quyết định

Mỗi liên kết gắn với một trọng số, trọng sốnày được thêm vào trong quá trình
tín hiệu đi qua liên kết đó. Các trọng sốcó thểdương, thểhiện trạng thái kích thích,
hay âm, thểhiệntrạng thái kiềm chế. Mỗi neural tính toán mức kích hoạt của chúng
bằng cách cộng tổng các đầu vào và đưa ra hàm chuyển. Một khi đầu ra của tất
cảcác neural trong một lớp mạng cụthể đã thực hiện xong tính toán thì lớp kếtiếp có
Lê Hoàng Vân – CH1301071 Trang 14
Bài thu hoạch môn Hệ hỗ trợ ra quyết định
thểbắt đầu thực hiện tính toán của mình bởi vì đầu ra của lớp hiện tại tạo ra đầu vào
của lớp kếtiếp. Khi tất cảcác neural đã thực hiện tính toán thì kết quả được trảlại bởi
các neural đầu ra. Tuy nhiên, có thểlà chưa đúng yêu cầu, khi đó một thuật toán
huấn luyện cần được áp dụng để điều chỉnh các tham sốcủa mạng.
Trong hình 9, sốneural ởlớp thứnhất, và lớp thứhai tương ứng là S
1
và S
2
. Ma
trận trọng số đối với các lớp tương ứng là W
1
và W
2
. Có thểthấy sựliên kết giữa các
lớp mạng thểhiện trong hình vẽ5: ởlớp thứ2, vector đầu vào chính là net outputcủa
lớp thứnhất.
Tương tựnhưvậy, nếu thêm vào các lớp khác nữa vào trong cấu trúc này thì lớp
mạng cuối cùng thường là lớp cho ra kết quảcủa toàn bộmạng, lớp đó gọi là lớp ra
(OUTPUT LAYER).
Mạng có nhiều lớp có khảnăng tốt hơn là các mạng chỉcó một lớp, chẳng hạn
nhưmạng hai lớp với lớp thứnhất sửdụng hàm sigmoid và lớp thứhai dùng hàm
đồng nhất có thểáp dụng đểxấp xỉcác hàm toán học khá tốt, trong khi các mạng
chỉcó một lớp thì không có khảnăng này.

đủlớn cho lớp ẩn. Chính xác hơn, các mạng truyền thẳng với một lớp ẩn được luyện
bởi các phương pháp bình phương tối thiểu (least-squares) là các bộxấp xỉchính xác
cho các hàm hồi quy nếu nhưcác giảthiết vềmẫu, độnhiễu, số đơn vịtrong lớp ẩn và
các nhân tốkhác thỏa mãn. Các mạng neural truyền thẳng với một lớp ẩn sửdụng
các hàm chuyển hay hàm phân ngưỡng là các bộxấp xỉ đa năng cho bài toán phân
lớp nhịphân với các giảthiết tương tự.
3. Vấn đề thiết kế cấu trúc mạng
Mặc dù, vềmặt lý thuyết, có tồn tại một mạng có thểmô phỏng một bài toán với
độchính xác bất kỳ. Tuy nhiên, đểcó thểtìm ra mạng này không phải là điều đơn
giản. Để định nghĩa chính xác một kiến trúc mạng như: cần sửdụng bao nhiêu lớp
ẩn, mỗi lớp ẩn cần có bao nhiêu đơn vịxửlý cho một bài toán cụthểlà một công việc
hết sức khó khăn.
Dưới đây trình bày một sốvấn đềcần quan tâm khi ta thiết kếmột mạng.
3.1. Số lớp ẩn
Vì các mạng có hai lớp ẩn có thểthểhiện các hàm với dáng điệu bất kỳ, nên, vềlý
thuyết, không có lý do nào sửdụng các mạng có nhiều hơn hai lớp ẩn. Người ta đã
xác định rằng đối với phần lớn các bài toán cụthể, chỉcần sửdụng một lớp ẩn cho
mạng là đủ. Các bài toán sửdụng hai lớp ẩn hiếm khi xảy ra trong thực tế. Thậm chí
đối với các bài toán cần sử dụng nhiều hơn một lớp ẩn thì trong phần lớn các trường
hợp trong thực tế, sửdụng chỉmột lớp ẩn cho ta hiệu năng tốt hơn là sửdụng nhiều
Lê Hoàng Vân – CH1301071 Trang 17
Bài thu hoạch môn Hệ hỗ trợ ra quyết định
hơn một lớp. Việc huấn luyện mạng thường rất chậm khi mà sốlớp ẩn sửdụng càng
nhiều. Lý do sau đây giải thích cho việc sửụng càng ít các lớp ẩn càng tốt là:
1) Phần lớn các thuật toán luyện mạng cho các mạng neural truyền thẳng đều
dựa trên phương pháp gradient. Các lớp thêm vào sẽthêm việc phải lan truyền các
lỗi làm cho vector gradient rất không ổn định. Sựthành công của bất kỳmột thuật
toán tối ưu theo gradient phụthuộc vào độkhông thay đổi của hướng khi mà các
tham sốthay đổi.
2) Sốcác cực trị địa phương tăng lên rất lớn khi có nhiều lớp ẩn. Phần lớn các

Trong phần lớn các trường hợp, không có một cách đểcó thểdễdàng xác định
được sốtối ưu các đơn vịtrong lớp ẩn mà không phải luyện mạng sửdụng sốcác đơn
vịtrong lớp ẩn khác nhau và dựbáo lỗi tổng quát hóa của từng lựa chọn. Cách tốt
nhất là sửdụng phương pháp thử-sai(trial-and-error). Trong thực tế, có thểsửdụng
phương pháp Lựa chọn tiến (forward selection) hay Lựa chọn lùi (backward
selection) đểxác định số đơn vịtrong lớp ẩn.
Lựa chọn tiến bắt đầu với việc chọn một luật hợp lý cho việc đánh giá hiệu năng
của mạng. Sau đó, ta chọn một sốnhỏcác đơn vị ẩn, luyện và thửmạng; ghi lại hiệu
năng của mạng. Sau đó, tăng một chút số đơn vị ẩn; luyện và thửlại cho đến khi lỗi
là chấp nhận được, hoặc không có tiến triển đáng kểso với trước.
Lựa chọn lùi, ngược với lựa chọn tiến, bắt đầu với một sốlớn các đơn vịtrong
lớp ẩn, sau đó giảm dần đi. Quá trình này rất tốn thời gian nhưng sẽgiúp ta tìm được
sốlượng đơn vịphù hợp cho lớp ẩn.
Lê Hoàng Vân – CH1301071 Trang 19
Bài thu hoạch môn Hệ hỗ trợ ra quyết định
CHƯƠNG III: THUẬT TOÁN LAN TRUYỀN NGƯỢC
Cần có một sựphân biệt giữa kiến trúc của một mạng và thuật toán học của nó,
các mô tảtrong các mục trên mục đích là nhằm làm rõ các yếu tố về kiến trúc của mạng
và cách mà mạng tính toán các đầu ra từ tập các đầu vào. Sau đây là mô tả của thuật
toán học sử dụng để điều chỉnh hiệu năng của mạng sao cho mạng có khả năng sinh ra
được các kết quảmong muốn.
Như đã nêu, về cơ bản có hai dạng thuật toán để luyện mạng cơ bản: học có
giám sát và học không giám sát. Các mạng neural truyền thẳng nhiều lớp được luyện
bằng phương pháp học có thầy. Phương pháp này căn bản dựa trên việc yêu cầu mạng
thực hiện chức năng của nó và sau đó trả lại kết quả, kết hợp kết quảnày với các đầu ra
mong muốn để điều chỉnh các tham sốcủa mạng, nghĩa là mạng sẽhọc thông qua những
sai sót của nó.
Về cơ bản, 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

i
là một đầu vào và t
i
là đầu ra mong muốn tương ứng, với i = 1 Q.
Mỗi đầu vào đưa vào mạng, đầu ra của mạng đối với nó được đem so sánh với đầu ra
mong muốn.
Thuật toán sẽ điều chỉnh các tham sốcủa mạng đểtối thiểu hóa trung bình bình
phương lỗi:
F(x) = E[e
2
] = E[(t - a)
2
] ,
trong đó xlà biến được tạo thành bởi các trọng sốvà độlệch, Elà ký hiệu kỳvọng
toán học. Nếu nhưmạng có nhiều đầu ra, ta có thểviết lại phương trình trên ởdạng ma
trận:
F(x) = E[e
T
e] = E[(t - a)
T
(t - a)] .
Tương tựnhưthuật toán LMS, xấp xỉcủa trung bình bình phương lỗi nhưsau:
ký hiệu là giá trịxấp xỉcủa thì:
Lê Hoàng Vân – CH1301071 Trang 21
Bài thu hoạch môn Hệ hỗ trợ ra quyết định
trong đó kỳvọng toán học của bình phương lỗi được thay bởi bình phương lỗi tại
bước k. Thuật toán giảm theo hướng cho trung bình bình phương lỗi xấp xỉlà:
trong đó αlà hệsốhọc.
Nhưvậy, mọi chuyện đến đây đều giống nhưthuật toán trung bình bình phương
tối thiểu. Tiếp theo chúng ta sẽ đi vào phần khó nhất của thuật toán: tính các đạo hàm

Lê Hoàng Vân – CH1301071 Trang 23
Bài thu hoạch môn Hệ hỗ trợ ra quyết định
Đểdẫn đến quan hệ đó, ta sửdụng ma trận Jacobisau:
Xét phần tử(i, j) của ma trận trên:
trong đó:
Nhưvậy, ma trận Jacobicó thểviết lại nhưsau:
Lê Hoàng Vân – CH1301071 Trang 24
Bài thu hoạch môn Hệ hỗ trợ ra quyết định
trong đó:
Bây giờta viết lại quan hệhồi quy cho độnhạy cảm dưới dạng ma trận:
Đến đây có thểthấy độnhạy cảm được lan truyền ngược qua mạng từlớp cuối
cùng trởvềlớp đầu tiên
Cần nhấn mạnh rằng ở đây thuật toán lan truyền ngược lỗi sửdụng cùng một
kỹthuật giảm theo hướng nhưthuật toán LMS. Sựphức tạp duy nhất là ởchỗ đểtính
gradient ta cần phải lan truyền ngược độnhạy cảm từcác lớp sau vềcác lớp trước như đã
nêu trên.
Bây giờta cần biết điểm bắt đầu lan truyền ngược, xét độnhạy cảm s
M
tại lớp
cuối cùng:
Lê Hoàng Vân – CH1301071 Trang 25


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status