Tải bản đầy đủ (.doc) (17 trang)

ĐỀ CƯƠNG ÔN TẬP HỌC PHẦN MẠNG NƠRON NHÂN TẠO

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 (545.52 KB, 17 trang )

ĐỀ CƯƠNG ÔN TẬP HỌC PHẦN
MẠNG NƠ-RON NHÂN TẠO
Đề 1
1. Mạng nơ-ron nhân tạo là gì? Tại sao chúng ta nghiên cứu mạng nơ-ron nhân tạo?
Mạng nơ-ron nhân tạo (Neural Networks – NNs) là mạng bao gồm các nơ-ron kết nối với
nhau như được tìm thấy trong các bộ não sinh học. Thành phần cơ bản để cấu tạo nên mạng nơ –ron
là các nơ-ron và cách mà chúng kết nối với nhau. Do vậy, để mô hình hóa hình thái và tìm hiểu
phương thức hoạt động của mạng nơ-ron, chúng ta sẽ bắt đầu từ các nơ-ron nhân tạo.
Nơ-ron nhân tạo là những mô phỏng thô của các nơ-ron sinh học trong bộ não. Chúng có thể
là các thiết bị vật lý hay chỉ là các mô hình toán học. Theo đó, mạng nơ-ron nhân tạo (Artificial
Neural Networks – ANNs) là mạng các nơ-ron nhân tạo kết nối với nhau và được xem như là mô
phỏng thô một phần bộ não sinh học. Chúng có thể là một hệ thống các thiết bị vật lý hoặc các mô
phỏng trên máy tính.
Mạng nơ-ron nhân tạo là hệ thống máy tính song song bao gồm nhiều đơn vị xử lý đơn giản,
kết nối với nhau theo một cấu trúc nào đó để thực hiện một nhiệm vụ cụ thể. Mặc dù được đơn giản
hóa về mặt mô phỏng nhưng mạng nơ-ron nhân tạo vẫn không mất đi các tính chất đặc trưng của một
bộ não thật.
- Ưu điểm lớn nhất của mạng nơ-ron nhân tạo: là tính hoàn toàn song song, cái mà làm cho
mạng nơ-ron nhân tạo trở nên hiệu quả. Thêm vào đó, mạng nơ-ron nhân tạo có thể học từ những dữ
liệu huấn luyện và khái quát những tình huống mới, nên nó không yêu cầu nhiều về kỹ năng lập trình.
Mạng nơ-ron nhân tạo còn đặc biệt chịu lỗi, đây là khả năng thường được tìm thấy trong các hệ thống
sinh học; và chịu nhiễu. Vì vậy chúng có thể đối phó với tình huống mà các hệ thống symbolic thông
thường sẽ gặp khó khăn. Nói tóm lại, về nguyên tắc, mạng nơ-ron nhân tạo có thể làm bất cứ điều gì
một hệ thống symbolic/logic có thể làm và thực tế nó còn có thể làm được nhiều hơn thế nữa.
- Giống như các lĩnh vực trí tuệ nhân tạo nói chung, hai mục tiêu cơ bản của việc nghiên cứu
mạng nơ-ron nhân tạo là:
+ Mô hình hóa bộ não: Mục đích khoa học của việc xây dựng các mô hình mạng nơ-ron nhân
tạo là tìm hiểu thực tế não làm việc như thế nào. Điều này có thể giúp chúng ta hiểu được bản chất sự
thông minh của con người, xây dựng các chiến lược dạy tốt, hoặc là các hoạt động chữa trị hiệu quả
cho các bệnh nhân bị thương tổn về não.
+ xây dựng hệ thống nhân tạo: Mục đích kỹ thuật của việc xây dựng hệt thống mạng nơ-ron


nhân tạo là nhằm đem lại hiệu quả tốt hơn đối với các ứng dụng thực tế. Điều này có thể làm cho máy
móc hoạt động tốt hơ, thay thế con người những công việc nhàm chán và thậm chí có thể cải thiện
hiệu suất công việc.
2. Hãy mô tả mô hình nơ-ron nhân tạo McColloch-Pitts?(Hình vẽ, phương trình tính
output)
 Trên cơ sở cấu trúc chung của một nơ-ron sinh học, McCulloch-Pitts đã đề nghị mô hình nơ-
ron nhân tạo đơn giản nhất được biết đến là đơn vị logic ngưỡng như hình vẽ 2-4, bao gồm:
 Một tập các kết nối (synapses) mang kích hoạt từ các nơ-ron khác đến.
 Một đơn vị xử lý tính tổng tất cả các tín hiệu vào và sau đó áp dụng một hàm kích hoạt
không tuyến tính (hàm chuyển hay hàm ngưỡng).
 Một đường ra truyền kết quả ra đến các nơ-ron khác.

 Kết quả ra của một nơ-ron McCulloch-Pitts có thể được biểu diễn như là một hàm của n thành
phần vào:
 trong đó θ là ngưỡng kích hoạt của nơ-ron. Chúng ta có thể dễ dàng thấy rằng:
 Lưu ý rằng nơ-ron McCulloch-Pitts là một mô hình cực kỳ đơn giản so với một nơ-ron sinh
học. Do đó một số đặc điểm đã bị đơn giản hóa như: giá trị vào/ra không phải là nhị phân,
tổng vào là không tuyến tính, ngưỡng mịn, tính ngẫu nhiên (stochasticity) và xử lý thông tin
có tính đến yếu tố thời gian.
Tuy thế, nơ-ron McCulloch-Pitts vẫn rất mạnh về mặt tính toán. Người ta đã chỉ ra rằng tập các
nơ-ron McCulloch-Pitts có thể tính toán được rất nhiều thứ
 Hàm ngưỡng hay hàm dấu sgn(x) được định nghĩa là
 Hàm logic hay hàm sigmoid Sigmoid(x) được định nghĩa là
Câu 3: Hãy giải thích bản chất của luật học Perceptron? (Hình vẽ minh họa, phương trình luật
học Perceptron). Hãy chỉ ra ưu, khuyết điểm và phạm vi ứng dụng của luật học perceptron?
- Để có thể cài đặt được một ứng dụng, nhiều nơ-ron sẽ được kết nối với nhau và được đánh
số. Luồng kích hoạt truyền giữa chúng được thực hiện thông qua các khớp nối có trọng số tương ứng
là w
ki
, w

ij

- Chúng ta có thể kết nối các nơ-ron McCulloch-Pitts lại với nhau theo một cách bất kỳ mà
chúng ta muốn. Mạng bao một lớp vào (input) được kết nối trực tiếp với một lớp các nơ-ron
McCulloch-Pitt như hình vẽ 3-2 được gọi là mạng Perceptron một lớp.
- Một trong những ứng dụng đơn giản nhất đầu tiên mà chúng ta có thể cài đặt là sử
dụng mạng Perceptron để thiết lập các cổng logic. Điều mà chúng ta cần là làm thế nào để xác
định trọng số kết nối và ngưỡng nơ-ron thích hợp để kết quả sinh ra là đúng với một tập dữ
liệu vào.
- Để có thể hoàn thành được một cổng logic như thế, chúng ta sẽ băt đầu với các công
logic đơn giản như NOT, AND và OR, bởi vì chúng ta có thể thiết kế được bất cứ chức năng
logic nào từ 3 cổng logic nêu trên. Tuy nhiên, thực tế người ta thường sẽ không thiết kế ANN
phức tạp hơn Perceptron một lớp, mà người ta tìm cách xác định trọng số và ngưỡng trực tiếp
từ một kiến trúc Perceptron một lớp nào đó khác.
- Thực tế đã chứng minh rằng, việc thiết kế một ANN đơn giản là một chuyện, nhưng
vấn đề là làm thế nào để chứng tỏ được rằng ANN đó thực hiện được chức năng như mục tiêu
đã đề ra! Nếu dùng phương pháp thử như trên, vấn đề là sau bao lâu thì chúng ta mới tìm ra
được lời giải? (ví dụ trường hợp cổng XOR) Vì vậy chúng ta nên tìm một phương pháp tính
toán thích hợp khác để xác định các tham số, hơn là việc thử và sai.
- Chúng ta sẽ bắt đầu phương pháp tính toán với mô hình mạng Perceptron cho cổng AND.
Theo mô hình này, chúng ta có 2 trọng số w
1
, w
2
và ngưỡng θ. Đối với mỗi mẫu huấn luyện,
chúng ta cần thỏa mãn:
out = sgn( w
1
in
1

+ w
2
in
2
-
θ
)
- Việc huấn luyện dữ liệu dẫn đến 4 bất phương trình sau:
- Có thể dễ dàng nhìn thấy rằng có vô hạn lời giải. Tương tự, có vô hạn lời giải cho mạng OR
và mạng NOT.
- Trở lại với mạng Perceptron cho cổng logic XOR, với phương pháp tính toán như trên,
chúng ta có được 4 bất phương trình
- Rõ ràng bất phương trình 2 và 3 không bao giờ thỏa mãn được bất phương trình 4 và như
vậy không thể tìm ra được lời giải. Chúng ta cần loại mạng phức tạp hơn, ví dụ tổ hợp từ nhiều mạng
đơn, hoặc sử dụng hàm ngưỡng/kích hoạt khác. Thêm vào đó sẽ khó khăn hơn khi xác định trọng số
và ngưỡng bằng phương pháp thử.
* Ưu điểm: Mạng Perceptron là công cụ tính toán mạnh, có khả năng thực hiện “bất kỳ” chức
năng logic nào.
* Khuyết điểm: mạng Perceptron một lớp với hàm kích hoạt “step-function” vẫn bộc lộ những
hạn chế, ví dụ nó không thể thực hiện bài toán XOR.
- Một ứng dụng điển hình của ANNs là phân loại. Chúng ta hãy xem xét một ví dụ đơn giản
về phân loại máy bay dựa trên trọng tải (mass) và tốc độ (speed), với các thông tin mô tả về hai loại
máy bay này (tương ứng với trọng tải và tốc độ) như bảng sau. Câu hỏi đặt ra là làm thế nào chúng ta
có thể xây dựng được một ANNs có thể phân loại được 2 loại máy bay ném bom (Bomber) và tiêm
kích (Fighter)?
Câu 4: Hãy giải thích bản chất của luật học delta? (phương trình luật học delta) Hãy so sánh
luật học delta với luật học perceptron?
Chúng ta giờ đã có giải thuật học bằng cách giảm gradient cho mạng một lớp:
Chú ý rằng nó vẫn bao gồm đạo hàm của hàm chuyển f(x). Đó chính là vấn đề đối với
Perceptron một lớp có sử dụng hàm bước sgn(x) như là hàm ngưỡng của nó. Bởi vì đạo hàm là luôn

luôn 0 ngoại trừ tại x=0 nên nó là vô hạn.
May mắn là có một mẹo mà chúng ta có thể vượt qua được trở ngại trên: Giả chúng ta có hàm
chuyển f(x) = x + 1/2, thì f(x)=1 khi x=1/2 và f(x)=0 khi x = -1/2. Rõ ràng những giá trị này cũng
tuân theo qui luật của hàm dấu sgn(x) và Perceptron cũng sẽ hoạt động được với hàm ngưỡng này.
Nói một cách khác, chúng ta có thể sử dụng thuật toán học bằng cách giảm gradient với f(x) = x + 1/2
để Perceptron có thể học các trọng số. Trong trường hợp này, f’(x)=1 và do đó phương trình cập nhật
trọng số trở thành:
Phương trình này có tên gọi là Luật học Delta bởi vì nó phụ thuộc trên sự khác biệt δ
l
= targ
l

out
l

* so sánh luật học delta với luật học perceptron
- Giống nhau: luật học Delta và luật học Perceptron đối với Perceptron một lớp có cùng
phương trình cập nhật trọng số.
- Khác nhau:
 Các luật học Perceptron sử dụng hàm kích hoạt f(x) = sgn(x), trong khi luật Delta sử
dụng hàm tuyến tính f(x) = x + 1/2.
 Hai thuật toán được xuất phát từ những quan điểm lý thuyết khác nhau: luật học
Perceptron bắt nguồn từ việc xem xét làm thế nào để di chuyển siêu phẳng quyết định,
trong khi luật Delta xuất từ việc tối thiểu hóa SSE bằng cách giảm gradient.
 Luật học Perceptron sẽ hội tụ khi lỗi bằng 0 và trọng số sẽ không thay đổi sau một số
hữu hạn các bước thực hiện nếu vấn đề đang xem xét là tuyến tính, còn không thì nó sẽ
bị dao động qua lại. Trong khi đó luật Delta (với η đủ nhỏ) luôn luôn hội tụ về một tập
trọng số mà lỗi là tối thiểu, mặc dù sự hội tụ đến những giá trị chính xác của x = ± 1/2
thông thường phụ thuộc vào một tốc độ giảm η.
Câu 5: Hãy giải thích nguyên tắc và cơ chế học lan truyền ngược trong mạng Perceptron nhiều

lớp? (Hình vẽ minh họa, các phương trình điều chỉnh trọng số)
* Bản chất của mạng lan truyền ngược:
- Chúng ta đã không thể tìm được trọng số của mạng Perceptron một lớp khi giải bài toán
XOR. Tuy nhiên, mạng Perceptrons nhiều lớp (MLPs) lại có khả năng giải các bài toán không tuyến
tính.
* Mô hình ANNs nhiều lớp
- hoặc nếu xem xét đối với mỗi nơ-ron thì
trong đó mỗi đơn vị xử lý j trong lớp n nhận kích hoạt out
i
(n-1)
từ các đơn vị xử lý i của lớp trước đó
(n-1) và gởi kích hoạt out
j
(n)
cho các đơn vị xử lý của lớp kế tiếp (n+1).
Theo qui ước, lớp vào của một ANNs là lớp 0 và khi chúng ta nói đến một ANNs N lớp thì có
nghĩa là có N lớp trọng số và N lớp đơn vị xử lý (không kể lớp vào). Như vậy, Perceptron 2 lớp sẽ
như sau:
Rõ ràng chúng ta có thể thêm nhiều lớp nữa, nhưng thực tế thì 2 lớp là đủ. Chúng ta có thể sử
dụng hàm kích hoạt khác nhau cho các lớp khác nhau, thậm chí cho cả các đơn vị xử lý khác nhau
trong cùng lớp.
* Phương trình điều chỉnh trọng số và giải thích:
- Chúng ta có thể sử dụng cùng ý tưởng như đã trình bày để huấn luyện mạng N lớp. Chúng ta
muốn điều chỉnh trọng số mạng w
ij
(n)
để giảm thiểu hàm tổng bình phương lỗi
và một lần nữa chúng ta có thể thực hiện điều này bằng một loạt các cập nhật trọng số bằng cách
giảm gradient
Lưu ý rằng đây mới chỉ là kết quả ra out

j
(N)
của các lớp cuối cùng xuất hiện trong hàm lỗi.
Tuy nhiên, kết quả ra lớp cuối cùng lại phụ thuộc vào các lớp trọng số trước đó và giải thuật học sẽ
điều chỉnh tất cả chúng. Giải thuật học tự động điều chỉnh kết quả ra out
i
(n-1)
của các lớp (ẩn) trước sao
cho chúng tạo ra những đại diện trung gian (ẩn) thích hợp.
Đối với mạng 2 lớp, kết quả ra cuối cùng có thể được ghi:
Chúng ta có thể sử dụng luật biến đổi đạo hàm, như đã làm đối với Perceptron một lớp, để có
được đạo hàm đối với 2 tập trọng số w
hl
(1)
và w
hl
(2)
:
Bây giờ chúng ta thay thế các đạo hàm trong hai phương trình cập nhật trọng số
Nếu hàm chuyển f(x) là hàm Sigmoid thì chúng ta sử dụng f’(x) = f(x).(1 - f(x)) để cho
Các phương trình này tạo thành giải thuật học lan truyền ngược

Đề 2:
Câu 1: So sánh học có giám sát và học không có giám sát? Những mạng nơ-ron nào đại diện cho
2 loại mạng này?
* So sánh học có giám sát và không giám sát?
+ Điểm giống nhau của hai loại mạng:
Cả hai phương pháp học đều cần phải có một tập huấn luyện (training data set) để hệ thống có
thể “học” và rút ra được các đặc trưng dùng cho việc gán nhãn.
+ Điểm giống nhau của hai loại mạng:

Phương pháp học có giám sát cần biết trước đầu ra chính là số nhãn lớp. Phương pháp học
không giám sát không cần biết trước đầu ra (là số cụm và nhãn) để phân cụm.
* Các loại mạng của học có giám sát: K_mean;
1.1. Học có giám sát:
Cách 1:
Mạng được huấn luyện bằng cách cung cấp cho nó các cặp mẫu đầu vào và các đầu ra mong
muốn (target values). Các cặp được cung cấp bởi "thầy giáo", hay bởi hệ thống trên đó mạng hoạt
động. Sự khác biệt giữa các đầu ra thực tế so với các đầu ra mong muốn được thuật toán sử dụng để
thích ứng các trọng số trong mạng. Điều này thường được đưa ra như một bài toán xấp xỉ hàm số -
cho dữ liệu huấn luyện bao gồm các cặp mẫu đầu vào x, và một đích tương ứng t, mục đích là tìm ra
hàm f(x) thoả mãn tất cả các mẫu học đầu vào.
Hình: Mô hình học có giám sát (Supervised learning model)
Cách 2:
Là một kĩ thuật của ngành học máy để xây dựng một hàm (function) từ tập dữ liệu huấn
luyện. Dữ liệu huấn luyện bao gồm các cặp gồm đối tượng đầu vào (thường dạng vec-tơ), và đầu ra
mong muốn. Đầu ra của một hàm có thể là một giá trị liên tục (gọi là hồi qui), hay có thể là dự đoán
một nhãn phân loại cho một đối tượng đầu vào (gọi là phân loại). Nhiệm vụ của chương trình học có
giám sát là dự đoán giá trị của hàm cho một đối tượng bất kì là đầu vào hợp lệ, sau khi đã xem xét
một số ví dụ huấn luyện (nghĩa là, các cặp đầu vào và đầu ra tương ứng). Để đạt được điều này,
chương trình học phải tổng quát hóa dữ liệu sẵn có để dự đoán được những tình huống chưa gặp phải
theo một cách "hợp lí".
Học có giám sát có thể tạo ra 2 loại mô hình. Phổ biến nhất, học có giám sát tạo ra một mô
hình toàn cục (global model) để ánh xạ đối tượng đầu vào đến đầu ra mong muốn. Tuy nhiên, trong
một số trường hợp, việc ánh xạ được thực hiện dưới dạng một tập các mô hình cục bộ, dựa trên các
“hàng xóm” của nó.
Để giải quyết một bài toán học có giám sát(ví dụ: để nhận dạng chữ viết tắt) người ta phải xét
nhiều bước khác nhau:
Xác định loại của tập dữ liệu huấn luyện. Trước khi làm bất cứ điều gì, chúng ta nên quyết
định loại dữ liệu nào sẽ được sử dụng làm dùng để huấn luyện. Chẳng hạn, đó có thể là một kí tự viết
tay đơn lẻ, toàn bộ một từ viết tay, hay toàn bộ một dòng chữ viết tay.

Thu thập dữ liệu huấn luyện. Tập dữ liệu huấn luyện cần phù hợp với các hàm chức năng
được xây dựng. Vì vậy, cần thiết phải kiểm tra tích thích hợp của dữ liệu đầu vào để được dữ liệu đầu
ra tương ứng. Tập dữ liệu huấn luyện có thể được thu thập từ nhiều nguồn khác nhau: từ việc đo được
tính toán, từ các tập dữ liệu có sẵn…
Xác định việc biễu diễn các đặc trưng đầu vào cho hàm chức năng. Sự chính xác của hàm
chức năng phụ thuộc lớn vào cách biểu diễn các đối tượng đầu vào. Thông thường, đối tượng đầu vào
được chuyển đổi thành một vec-tơ đặc trưng, chứa một số các đặc trưng nhằm mô tả cho đối tượng
đó. Số lượng các đặc trưng không nên quá lớn, do sự bùng nổ dữ liệu, nhưng phải đủ lớn để dự đoán
chính xác đầu ra. Nếu hàm chức năng mô tả quá chi tiết về đối tượng, thì các dữ liệu đầu ra có thể bị
phân rã thành nhiều nhóm hay nhãn khác nhau, việc này dẫn tới việc khó phân biệt được mối quan hệ
giữa các đối tượng hay khó tìm được nhóm(nhãn) chiếm đa số trong tập dữ liệu cũng như việc dự
đoán phần tử đại diện cho nhóm, đối với các đối tượng gây nhiễu, chúng có thể được dán nhãn, tuy
nhiễn số lượng nhãn quá nhiều, và số nhãn tỉ lệ nghịch với số phần của mỗi nhãn. Ngược lại, hàm
chức năng có quá ít mô tả về đối tượng dễ dẫn tới việc dán nhãn đối tượng bị sai hay dễ bỏ xót các
đối tượng gây nhiễu. Việc xác định tương đối đúng số lượng đặc tính của phần tử sẽ giảm bớt chi phí
khi thực hiện đánh giá kết quả sau huấn luyện cũng như kết quả gặp bộ dữ liệu đầu vào mới.
Xác định cấu trúc của hàm chức năng cần tìm và giải thuật học tương ứng. Ví dụ, người kĩ sư
có thể lựa chọn việc sử dụngmạng nơ-ron nhân tạo hay cây quyết định.
Hoàn thiện thiết kế. Người thiết kế sẽ chạy giải thuật học từ tập huấn luyện thu thập được. Các
tham số của giải thuật học có thể được điều chỉnh bằng cách tối ưu hóa hiệu năng trên một tập con
(gọi là tập kiểm chứng -validation set) của tập huấn luyện, hay thông qua kiểm chứng chéo (cross-
validation). Sau khi học và điều chỉnh tham số, hiệu năng của giải thuật có thể được đo đạc trên một
tập kiểm tra độc lập với tập huấn luyện.
1.2. Học không giám sát:
Cách 1:
Với cách học không có giám sát, không có phản hồi từ môi trường để chỉ ra rằng đầu ra của mạng là
đúng. Mạng sẽ phải khám phá các đặc trưng, các điều chỉnh, các mối tương quan, hay các lớp trong
dữ liệu vào một cách tự động. Trong thực tế, đối với phần lớn các biến thể của học không có thầy, các
đích trùng với đầu vào. Nói một cách khác, học không có thầy luôn thực hiện một công việc tương tự
như một mạng tự liên hợp, cô đọng thông tin từ dữ liệu vào.

Cách 2:
Tiếng Anh là unsupervised learning, là một phương pháp nhằm tìm ra một mô hình mà phù
hợp với các tập dữ liệu quan sát. Nó khác biệt với học có giám sát ở chỗ là đầu ra đúng tương ứng
cho mỗi đầu vào là không biết trước. Trong học không có giám sát, đầu vào là một tập dữ liệu được
thu thập. Học không có giám sát thường đối xử với các đối tượng đầu vào như là một tập các biến
ngẫu nhiên. Sau đó, một mô hình mật độ kết hợp sẽ được xây dựng cho tập dữ liệu đó.
Học không có giám sát có thể được dùng kết hợp với suy diễn Bayes(Bayesian inference) để
cho ra xác suất có điều kiện cho bất kì biến ngẫu nhiên nào khi biết trước các biến khác.
Học không có giám sát cũng hữu ích cho việc nén dữ liệu: về cơ bản, mọi giải thuật nén dữ
liệu hoặc là dựa vào một phân bố xác suất trên một tập đầu vào một cách tường minh hay không
tường minh.
* Những mạng nơ-ron nào đại diện cho 2 loại mạng này?
…………….
Câu 2: Hãy cho biết những nguyên tắc huấn luyện mạng nơ-ron để chúng vừa học tốt vừa khái
quá hóa tốt? (6.3)
* Trình bày nguyên tắc huấn luyện mạng:
1. Hiểu và xác định vấn đề (bài toán) theo nghĩa “dữ liệu vào” và “kết quả đích”. Ví dụ, phân loại các
kết quả theo các lớp mà thông thường được biểu diễn dưới dạng các véc-tơ nhị phân.
2. Xây dựng ANN đơn giản nhất mà bạn nghĩ rằng nó có thể giải quyết được vấn đề của bạn, ví dụ
Perceptron đơn.
3. Cố gắng tìm các trọng số thích hợp (bao gồm cả ngưỡng nơ-ron) sao cho mạng sinh ra kết quả
đúng tương ứng với mỗi dữ liệu vào (thuộc tập dữ liệu huấn luyện).
4. Hãy chắc chắn rằng mạng hoạt động tốt với dữ liệu huấn luyện và thử nghiệm khả năng khái quát
hóa của nó với dữ liệu kiểm tra.
5. Nếu mạng vận hành chưa tốt, trở lại bước 3 và huấn luyện thêm.
6. Nếu mạng vẫn không vận hành tốt thì trở về bước 2 và thử với một kiến trúc khác phức tạp hơn.
7. Nếu mạng vẫn không vận hành tốt nữa thì trở về bước 1 và thử đặt lại vấn đề một cách khác.
* Giải thích khi nào thì huấn luyện dừng:
Sự hội tụ của luật học Perceptron
Việc thay đổi trọng số Δwij cần được thực hiện lặp đi lặp lại đối với mỗi trọng số wij và đối

với mỗi mẫu huấn luyện trong tập huấn luyện. Thông thường, sau một số vòng lặp, khi tất cả kết quả
ra là trùng với kết quả đích đối với tất cả các mẫu huấn luyện, Δwij lúc đó bằng 0 và quá trình huấn
luyện sẽ dừng. Chúng ta nói quá trình huấn luyện đã hội tụ (đến một lời giải). Điều đó chỉ ra rằng nếu
tồn tại một tập các trọng số đối với một mạng Perceptron có thể giải quyết một bài toán cụ thể nào đó,
thì chúng ta có thể nói rằng luật học Perceptron có thể tìm thấy tập trọng số này sau một số vòng lặp
hữu hạn. Có nghĩa là, nếu bài toán là có thể tách tuyến tính, luật học Perceptron sẽ tìm thấy tập trọng
số sau một số vòng lặp hữu hạn sao cho nó có thể giải bài toán một cách chính xác.
* Thế nào học tốt và khái quát tốt?
Để huấn luyện một mạng và xét xem nó thực hiện tốt đến đâu, ta cần xây dựng một hàm mục
tiêu (hay hàm giá) để cung cấp cách thức đánh giá khả năng hệ thống một cách không nhọc nhằng.
Việc chọn hàm mục tiêu là rất quan trọng bởi vì hàm này thể hiện các mục tiêu thiết kế và quyết định
thuật toán huấn luyện nào có thể được áp dụng. Để phát triển một hàm mục tiêu đo được chính xác
cái chúng ta muốn không phải là việc dễ dàng. Một vài hàm cơ bản được sử dụng rất rộng rãi. Một
trong số chúng là hàm tổng bình phương lỗi (sum of squares error function),
trong đó:
p: số thứ tự mẫu trong tập huấn luyện
i : số thứ tự của đơn vị đầu ra
tpi và ypi : tương ứng là đầu ra mong muốn và đầu ra thực tế của mạng cho đơn vị đầu ra thứ
i trên mẫu thứ p.
Trong các ứng dụng thực tế, nếu cần thiết có thể làm phức tạp hàm số với một vài yếu tố khác
để có thể kiểm soát được sự phức tạp của mô hình.
Trong quá trình học, mạng cố gắng điều chỉnh các tham số sao cho tổng bình phương lỗi là
nhỏ nhất. Khả năng hội tụ của mạng phụ thuộc vào các tham số khởi đầu, còn khả năng tổng quát hóa
thì lại phụ thuộc rất nhiều vào dữ liệu đầu vào. Nếu dữ liệu đầu vào quá nhiều (!) thì có thể dẫn tới
tình trạng luyện mạng mất rất nhiều thời gian và khả năng tổng quát hóa kém, nếu quá ít dữ liệu thì
sai số sẽ tăng.
Ngoài đặc trưng về dữ liệu, một đặc trưng khác trong quá trình huấn luyện mạng cần quan tâm
là nếu số lần thực hiện điều chỉnh các tham số của mạng quá ít sẽ dẫn đến tình trạng là khả năng tổng
quát hóa của mạng rất kém. Bởi vậy, số chu kỳ các mẫu đưa vào mạng cần được xem xét phải lớn
hơn một ngưỡng nào đó (từ vài nghìn cho đến vài chục nghìn lần).

Để có thể xem xét, đánh giá được khả năng tổng quát hóa của mạng, cần thực hiện phân chia
tập dữ liệu thành các tập: huấn luyện (training set) và tập kiểm tra (test set). Tập các dữ liệu thử sẽ
không đưa vào để kiểm tra hoạt động của mạng để đảm bảo sự khách quan.
Mạng có khả năng sẽ không thể đạt được đến trạng thái mong muốn,
mà có thể nó sẽ bỏ qua điểm cực trị. Để có thể tránh điều này, không nên đặt hệ số học quá lớn (cỡ
0.1 chẳng hạn), cũng như hệ số bước đà quá lớn (chẳng hạn = 0.5) (do đặc trưng của thuật toán lan
truyền ngược sử dụng tham số bước đà).
Để đảm bảo khả năng có thể đạt đến điểm cực tiểu, số các đơn vị trong
lớp ẩn cần đủ lớn. Tuy nhiên, nếu số các đơn vị trong lớp ẩn vượt quá một ngưỡng nào đó thì khả
năng tổng quát hóa của mạng sẽ kém, bởi lẽ sau khi huấn luyện mạng có xu hướng ghi nhớ tất cả các
mẫu đã được học. Khi đó, nên xem xét đến khả năng sử dụng thêm một lớp ẩn nữa với số nơron nhỏ
(vài nơron) và giảm bớt số nơron ở lớp ẩn thứ nhất.
* Sự tương quan giữa học tốt và khái quát tốt
Câu 3: Người ta dựa trên tính chất nào của mạng Hopfield để giải quyết bài toán tối ưu hóa?
Hãy cho ví dụ?
* Ứng dụng mạng Hopfiel tối ưu bài toán TSP
Tính năng động của mô hình Hopfield là khác với mô hình associator tuyến tính ở chỗ nó tính toán
kết quả ra của nó một cách đệ quy theo thời gian cho đến khi hệ thống trở nên ổn định.
Dưới đây là một mô hình Hopfield với sáu nơ-ron, trong đó mỗi nút kết nối với tất cả các nút khác
trong mạng.
Hình 9-2: Mô hình Hopfield
Không giống như mô hình associator tuyến tính bao gồm hai lớp các đơn vị xử lý, với một lớp
được sử dụng như lớp vào trong khi lớp kia đóng vai trò là lớp ra, mô hình Hopfield bao gồm một lớp
duy nhất các đơn vị xử lý mà mỗi đơn vị kết nối với tất cả các đơn vị khác trong mạng ngoại trừ
chính nó. Ma trận trọng số kết nối W là vuông và đối xứng, nghĩa là, w
ij
= w
ji
cho i, j = 1, 2, , m.
Mỗi đơn vị có một đầu vào bên ngoài mở rộng I

i
. Đầu vào mở rộng này dẫn đến một sửa đổi trong
tính toán input j:
với j = 1, 2, , m. Không giống như associator tuyến tính, các đơn vị trong mô hình Hopfield hoạt
động vừa là đơn vị đầu vào và vừa là đơn vị ra. Tuy vậy, cũng giống như các associator tuyến tính,
một cặp mẫu kết hợp đơn được lưu trữ bằng cách tính toán ma trận trọng số sau: W
k
= X
k
T Y
k
trong đó Y
k
= X
k

để lưu trữ p cặp mẫu kết hợp khác nhau. Bởi vì mô hình Hopfield là một mô hình bộ nhớ
autoassociative, các mẫu, thay vì các cặp mẫu kết hợp, được lưu trữ trong bộ nhớ.
Sau khi mã hóa, mạng có thể được sử dụng cho giải mã. Giải mã trong mô hình Hopfield được
thực hiện bằng cách tìm kiếm đệ quy một mẫu đã lưu trữ tương ứng với một mẫu vào. Với một mẫu
vào X, giải mã được thực hiện bởi việc tính toán inputj và xác định kết quả ra bằng các sử dụng hàm
ra để sinh ra mẫu X'. Mẫu X ' sau đó được đưa trở lại cho các đơn vị xử lý như là một mẫu vào để tạo
ra mẫu X''. Mô hình X'' là một lần được đưa trở lại cho các đơn vị xử lý để tạo ra mẫu X'''. Quá trình
này lặp đi lặp lại cho đến khi mạng ổn định trên một mẫu đã lưu trữ, mà ở đó các tính toán thêm
không làm thay đổi kết quả ra của đơn vị xư lý.
Nếu mẫu vào X là một mẫu không đầy đủ hoặc có chứa một số biến dạng, mẫu đã lưu trữ mà
làm cho mạng ổn định sẽ là mẫu tương tự với X nhất (không có biến dạng) Tính năng này được gọi
sự hoàn chỉnh mẫu và được ứng dụng trong xử lý ảnh.
Trong quá trình giải mã, có nhiều sơ đồ có thể được sử dụng để cập nhật các đầu ra của đơn
vị. Các sơ đồ cập nhật là đồng bộ (song song), không đồng bộ (tuần tự), hoặc kết hợp cả hai (lai).

Trong sơ đồ cập nhật đồng bộ, kết quả ra của các đơn vị được cập nhật như là một nhóm trước
khi đưa trở lại vào mạng. Trong khi, trong sơ đồ cập nhật không đồng bộ, kết quả ra của các đơn vị
được cập nhật theo thứ tự ngẫu nhiên hoặc tuần tự và kết quả ra sau đó được đưa trở lại mạng sau mỗi
cập nhật đơn vị. Với sơ đồ lai, các nhóm con của các đơn vị được cập nhật đồng bộ trong khi các đơn
vị trong từng nhóm con cập nhật không đồng bộ. Việc chọn sơ đồ cập nhật có ảnh hưởng đến sự hội
tụ của mạng.
* Bản chất của hàm năng lượng:( 9.3.1 và 9.3.2)
* Cho ví dụ:
Phát biểu bài toán: Một người bán hàng cần đi qua n thành phố chỉ duy nhất một lần và
cuối cùng quay về thành phố xuất phát với khoảng cách là ngắn nhất.
Giả thiết rằng có n thành phố và khoảng cách giữa hai thành phố i và j là d
ij
. Chúng ta cần tìm ra
đường đi ngắn nhất giữa các thành phố. Chúng ta có thể giải quyết bài toán này bằng cách liệt kê tất
cả các phương án có thể, tính toán chi phí cho mỗi phương án và tìm ra phương án tốt nhất . Với n
thành phố thì một hành trình đòi hỏi có n! phép toán nhưng thực tế thì chỉ cần n!/(2n). Với 30 thành
phố thì hành trình chúng ta cần 2.65x 10
32
phép toán. Tổng số phép toán sẽ tăng lên đột ngột khi
tổng số thành phố tăng lên.
Sử dụng mạng Noron sẽ cho ta các phương án để giải quyết bài toán này với thời gian tính toán
thấp hơn so với các thuật toán khác.
- Với n thành phố được thăm, gọi V
ij
với:

Nếu đi từ thành phố i -> j
Nếu ngược lại




=
0
1
ij
X
- Gọi d
ij
là khoảng cách từ thành phố i đến thành phố j. Lúc đó bài toán TSP được phát biểu lại
như sau:
Cần cực tiểu hóa hàm mục tiêu tuyến tính sau:
(2.4)
Một chiến lược đơn giản để giải quyết bài toán này là tìm tất cả các hành trình có thể đi được và
tính toán tổng khoảng cách cho mỗi hành trình đó, sau đó chọn hành trình có tổng khoảng cách nhỏ
nhất. Tuy nhiên, nếu có n thành phố thì số thành trình có thể đi được là (n-1)!. Chiến lược này sẽ
không khả thi nếu số thành phố là quá lớn.
Ví dụ: Với 11 thành phố được thăm thì sẽ có 10! = 3628800 hành trình có thể thực hiện được
(bao gồm những hành trình có cùng số thành phố nhưng hướng đi khác nhau) con số này sẽ tăng lên
6.2 tỉ nếu có 13 thành phố. Vì thế thuật toán Hopfield Tank được sử dụng để giải quyết bài toán này
một cách tương đối với số lần tính toán nhỏ nhất.
Một vài ứng dụng của bài toán TSP trong việc xác định mạng lưới phân phát thư, tìm ra đường đi
tối ưu cho các tuyến xe buyt trường học
Câu 4: Hãy giải thích nguyên tắc, cơ chế hoạt động của mạng RBF? Hãy so sánh mạng RBF với
mạng Perceptron 2 lớp?
* Hình vẽ mạng RBF
† Mạng RBF đang ngày càng trở nên phổ biến với các ứng dụng khác nhau
† Hầu hết các cảm hứng cho RBF đều bắt nguồn từ các kỹ thuật phân loại mẫu
truyền thống dựa trên thống kê.
† Đặc trưng cơ bản của mạng RBF
Tách các lớp

Không tuyến nh
Các lớp tách
Tuyến nh
Biến đổi đến
Không gian
Vector chiều cao hơn
d
ij
n
ji
n
ij
ij
X
∑∑
= =
:
* Bản chất của mỗi lớp mạng RBF
† Lớp vào đơn giản chỉ đóng vai trò tiếp nhận dữ liệu vào
† Lớp ẩn thực hiện ánh xạ dữ liệu vào không tuyến tính từ không gian vào (lớp vào) đến
một không gian (thông thường) cao hơn sao cho dữ liệu vào trở nên tuyến tính.
† Lớp ra đơn giản chỉ thực hiện tính tổng có trọng số
Nếu mạng RBF được sử dụng cho xấp xỉ hàm (số thực) thì hàm ngưỡng ra được sử
dụng có thể vẫn là hàm tuyến tính.
Tuy nhiên nều sự phân loại mẫu được yêu cầu, thì hàm sigmoid hay hard-limiter sẽ
được sử dụng cho các nơ-ron lớp ra để kết quả ra là nhị phân
* Nguyên tắc và cơ chế hoạt động của mạng RBF
Điểm đặc trưng của mạng RBF là tiến trình xử lý được thực hiện ở lớp ẩn. Ý tưởng chính là
các mẫu ở không gian vào sẽ được phân cụm. Nếu tâm các cụm này được biết trước, thì khoảng cách
đến tâm các cụm này sẽ được tính toán. Hơn nữa, vì việc đo khoảng cách này là được thực hiện

không tuyến tính, nên nếu một mẫu nằm gần với tâm của cụm thì khoảng cách sẽ được sẽ được cho
gần bằng 1. Nhưng nếu nằm xa hơn, khoảng cách sẽ có giá trị giảm dần.
Ý tưởng phân cụm của mạng RBF
Như vậy sự phân bố các mẫu trong mỗi cụm được xem là đối xứng xuyên tâm xung quanh
một tâm và do đó hàm ánh xạ (ngưỡng) không tuyến tính được gọi một tên khác là hàm cơ sở xuyên
tâm RBF (radial-basis function).
Hàm xuyên tâm được sử dụng phổ biến nhất cho mạng RBF là hàm Gaussian. Phương trình
biểu diễn hàm Gaussian có dạng hình chuông như sau
Hàm Gaussi được sử dụng cho mạng RBF
trong lớp ẩn, các trọng số biểu diễn tọa độ của tâm cụm. Do vậy, khi nơ-ron nhận một mẫu vào x,
khoảng cách r được tính toán bởi phương trình sau:
và hàm ngưởng của nút ẩn là
trong đó biến sigma δ định nghĩa độ rộng hay bán kính của chuông và thông thường được xác định
bởi thực nghiệm.
* So sánh mạng RBF với mạng Perceptron 2 lớp?
 Việc thực hiện huấn luyện mạng RBF là nhanh hơn mạng Perceptrons đa lớp MLP.
 Lớp ẩn của mạng RBF là dể diễn dịch hơn là của mạng MLP.
 Mặc dù mạng RBF huấn luyện nhanh hơn mạng MLP, nhưng khi sử dụng, tốc độ thực
hiện của mạng RBF lại chậm hơn so với mạng MLP.
Câu 5: Hãy giải thích cơ chế ánh xạ tính chất (đặc điểm) của các lớp mẫu vào lên mạng
Kohonen 2 chiều (2D map)? Tại sao phải chọn 2D map đủ rộng khi số lớp mẫu vào lớn?
* Hình vẽ mạng kohonen
* Bản chất cơ chế hoạt động của mạng Kohonrn:
- Mạng Kohonen hai chiều có 2 lớp đó là lớp vào và lớp ra Kohonen.
Lớp vào (input layer): dùng để đưa dữ liệu huấn luyện vào mạng Kohonen. Kích thước của
lớp vào tương ứng với kích thước của mỗi mẫu học.
Trong mạng Kohonen hai chiều, các neural của lớp ra được sắp xếp trên một mảng 2 chiều.
Mảng này được gọi là lớp ra Kohonen.
Tất cả các Neural của lớp vào đều được nối với các neural trên lớp ra Kohonen. Mỗi liên kết
giữa đầu vào và đầu ra của mạng Kohonen tương ứng với một trọng số. Kích thước của mỗi vector

trọng số bằng kích thước của lớp vào.
* Cơ chế ánh xạ:
Giả sử chúng ta có bốn điểm dữ liệu (x) trong không gian 2D liên tục, và muốn ánh xạ 4 điểm
này lên không gian ra 1D gián đoạn. Các nút ra ánh xạ lên không gian vào thành các điểm tròn (o).
Trong số ngẫu nhiên ban đầu khởi động các điểm tròn tại các vị trí ngẫu nhiên trong không gian vào.
Chúng ta chọn một điểm dữ liệu để thực hiện huấn luyện ( ). Điểm ra gần nhất biểu diễn nơ-ron
chiến thắng ( ). Nơ-ron chiến thắng này sẽ di chuyển về phía điểm dữ liệu vào một khoảng nào đó
và 2 nơ-ron lân cận cũng di chuyển về hướng này với một khoảng ít hơn (hướng mũi tên).
Tiếp theo, chúng ta chọn ngẫu nhiên một điểm dữ liệu khác để huấn luyện ( ). Điểm ra gần
nhất trở thành nơ-ron chiến thắng ( ). Nơ-ron chiến thắng này sẽ di chuyển về phía điểm dữ liệu vào
một khoảng nào đó và 2 nơ-ron lân cận cũng di chuyển về hướng này một khoảng ít hơn (hướng mũi
tên).
Chúng ta chọn ngẫu nhiên các điểm dữ liệu để huấn luyện ( ). Mỗi nơ-ron chiến thắng di
chuyển về hướng điểm dữ liệu vào một khoảng và các nơ-ron lân cận di chuyển một khoảng nhỏ hơn
(hướng mũi tên). Cuối cùng toàn bộ lưới output tự tách ra thể hiện không gian vào.
Hình 10-3: Ví dụ về tiến trình tự tổ chức
* Phải chọn 2D map đủ lớn khi số lớp mẫu vào lớn:
Mạng Kohonen là một mạng nơron làm việc theo lối tự tổ chức nhằm tạo ra một ánh xạ từ tập
các mẫu học có số chiều lớn thành các cụm có số chiều thấp hơn. Mạng Kohonen hai chiều thường
được sử dụng để gom cụm văn bản vì kết quả gom cụm được thể hiện trực quan trên một lưới hai
chiều. Trong mạng Kohonen hai chiều, các nơron của lớp ra được sắp xếp trên một mảng hai chiều.
Mảng này được gọi là lớp ra Kohonen. Tất cả các nơron của lớp vào đều được nối với các nơron trên
lớp ra Kohonen

×