Hình 6: Nơron nhân tạo Các thành phần cơ bản của một nơron nhân tạo bao gồm: ♦ Tập các đầu vào: Là các tín hiệu vào input signals của nơron, các tín hiệu này thường được đưa vào dưới dạ
Trang 1j ij
1
Trang 2DANH MỤC HÌNH ẢNH
Số hiệu
Hình 1 Cấu trúc của một nơron sinh học điển hình 5
23
Hình 21 Mối liên hệ giữa sai số và kích thước mẫu 29
Trang 4MỤC LỤC
DANH MỤC HÌNH ẢNH 1
MỤC LỤC 2
LỜI NÓI ĐẦU 1
CHƯƠNG 1: TỔNG QUAN VỀ MÔ HÌNH MẠNG NƠRON 2
1.1 Giới thiệu về mạng nơron nhân tạo 2
1.1.1 Mạng nơron nhân tạo là gì? 2
1.1.2 Lịch sử phát triển mạng nơron 2
1.1.3 So sánh mạng nơron với máy tính truyền thống 4
1.2 Nơron sinh học và nơron nhân tạo 5
1.2.1 Nơron sinh học 5
1.2.2 Nơron nhân tạo 6
1.3 Mô hình mạng nơron 8
1.3.1 Các kiểu mô hình mạng nơron 8
1.3.2 Perceptron 10
1.3.3 Mạng nhiều tầng truyền thẳng (MLP) 11
1.4 Cấu tạo và phương thức làm việc của mạng nơron 12
1.4.1 Mạng neural một lớp 14
1.4.2 Mạng neural truyền thẳng nhiều lớp 14
1.4.3 Mạng neural phản hồi 15
1.4.4 Mạng neural hồi quy 15
1.4.5 Mạng Hopfield 16
1.4.6 Mạng BAM 17
CHƯƠNG 2: HUẤN LUYỆN VÀ XÂY DỰNG MẠNG NƠRON 19
2.1 Huấn luyện mạng Nơron 19
CHƯƠNG 3: THUẬT TOÁN LAN TRUYỀN NGƯỢC 23
3.1 Thuật toán lan truyền ngược 23
3.2 Các vấn đề trong xây dựng mạng MLP 28
3.2.1 Chuản bị dữ liệu 28
3.2.2 Xác định các tham số cho mạng 31
3.2.3 Vấn đề lãng quên (catastrophic forgetting) 33
3.2.4 Vấn đề quá khớp 33
CHƯƠNG 4: CHƯƠNG TRÌNH ỨNG DỤNG MẠNG NƠ RON 35
I Mô tả các lớp thư viện chương trình có liên quan mạng nơ -ron 35
+ NeuronNetwork Class 35
Neuron.Core namespace 35
Trang 5NeuronNetwork.Core.Initializers namespace 36
NeuronNetwork.Core.LearningRateFunctions namespace 36
NeuronNetwork.Core.BackPropagation namespace 36
NeuronNetwork.Core.SOM namespace 36
NeuronNetwork.Core.SOM.NeighborhoodFunctions namespace 36
backpropagation network 37
Đoạn mã khởi tạo một Kohonen SOM 37
II.Chương trình 38
Nhận dạng ký tự bằng cách dùng chuột vẽ chữ 38
TÀI LIỆU THAM KHẢO 40
Trang 6LỜI NÓI ĐẦU
Cùng với sự phát triển nhanh chóng, vượt bậc của ngành công nghiệp máy tính, nhu cầu của
người dùng đối với máy tính ngày càng cao, không chỉ giải quyết các vấn đề lưu trữ, tính
toán bình thường, người dùng còn mong đợi máy tính có khả năng thông minh hơn, có thể
giải quyết vấn đề như con người Do đó môn máy học ra đời Máy học đóng vai trò hết sức
quan trọng trong việc phát triển Công nghệ thông tin, nâng cao sự hữu dụng của máy tính,
giúp con người gần gũi với máy tính hơn, góp phần thúc đẩy các ngành khoa học khác phát
triển Nhiều chương trình thông minh có khả năng 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 nơron nhân
tạo Mạng noron 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 của bài báo cáo này, em xin trình bày Mô hình mạng nơron nhân tạo,
phân tích cài đặt thuật toán lan truyền ngược
Chân thành cám ơn PGS.TS Vũ Thanh Nguyên đã tận tình giảng dạy, cung cấp rất đầy
đủ tài liệu của môn học Giúp chúng em tiếp thu kiến thức về các nguyên tắc, phương pháp
sáng tạo để không những vận dụng tốt trong bài thu hoạch mà còn giúp ích cho chúng em
giải quyết các bài toán trong đời sống cũng như trong nghiên cứu luận văn sau này
Với lượng thời gian có giới hạn và năng lực còn hạn chế nên không tránh khỏi những
sai sót, em mong nhận được sự góp ý hơn nữa của Thầy và các bạn
Nội dung báo cáo gồm các phần chính: CHƯƠNG 1: TỔNG QUAN VỀ MÔ HÌNHMẠNG NƠRON, CHƯƠNG 2: HUẤN LUYỆN VÀ XÂY DỰNG MẠNG NƠRON,
CHƯƠNG 3: THUẬT TOÁN LAN TRUYỀN NGƯỢC, CHƯƠNG 4: CHƯƠNG TRÌNH
ỨNG DỤNG MẠNG NƠRON
Trang 7CHƯƠNG 1: TỔNG QUAN VỀ MÔ HÌNH MẠNG NƠRON
1.1.1 Mạng nơron nhân tạo là gì?
Định nghĩa: Mạng nơron nhân tạo, Artificial Nơron Network (ANN) gọi tắt là mạng
nơron, nơron network, là một mô hình xử lý thông tin phỏng theo cách thức xử lý thông tin của các hệ nơron sinh học Nó được tạo lên từ một số lượng lớn các phần tử (gọi là phần tử
xử lý hay nơron) kết nối với nhau thông qua các liên kết (gọi là trọng số liên kết) làm việc
như một thể thống nhất để giải quyết một vấn đề cụ thể nào đó
Một mạng nơron nhân tạo được cấu hình cho một ứng dụng cụ thể (nhận dạng mẫu,
phân loại dữ liệu, ) thông qua một quá trình học từ tập các mẫu huấn luyện Về bản chất
học chính là quá trình hiệu chỉnh trọng số liên kết giữa các nơron
1.1.2 Lịch sử phát triển mạng nơron
Các nghiên cứu về bộ não con người đã được tiến hành từ hàng nghìn năm nay Cùngvới sự phát triển của khoa học kĩ thuật đặc biệt là những tiến bộ trong ngành điện tử hiệnđại, việc con người bắt đầu nghiên cứu các nơron nhân tạo là hoàn toàn tự nhiên Sự kiệnđầu tiên đánh dấu sự ra đời của mạng nơron nhân tạo diễn ra vào năm 1943 khi nhà thầnkinh học Warren McCulloch và nhà toán học Walter Pitts viết bài báo mô tả cách thức cácnơron hoạt động Họ cũng đã tiến hành xây dựng một mạng nơron đơn giản bằng các mạchđiện Các nơron của họ được xem như là các thiết bị nhị phân với ngưỡng cố định Kết quảcủa các mô hình này là các hàm logic đơn giản chẳng hạn như “ a OR b” hay “a AND b”
Tiếp bước các nghiên cứu này, năm 1949 Donald Hebb cho xuất bản cuốn sách
Organization of Behavior Cuốn sách đã chỉ ra rằng các nơron nhân tạo sẽ trở lên hiệu quả
hơn sau mỗi lần chúng được sử dụng
Những tiến bộ của máy tính đầu những năm 1950 giúp cho việc mô hình hóa cácnguyên lý của những lý thuyết liên quan tới cách thức con người suy nghĩ đã trở thành hiệnthực Nathanial Rochester sau nhiều năm làm việc tại các phòng thí nghiệm nghiên cứu củaIBM đã có những nỗ lực đầu tiên để mô phỏng một mạng nơron Trong thời kì này tính toántruyền thống đã đạt được những thành công rực rỡ trong khi đó những nghiên cứu về nơron
Trang 8còn ở giai đoạn sơ khai Mặc dù vậy những người ủng hộ triết lý “thinking machines” (cácmáy biết suy nghĩ) vẫn tiếp tục bảo vệ cho lập trường của mình
Năm 1956 dự án Dartmouth nghiên cứu về trí tuệ nhân tạo (Artificial Intelligence) đã
mở ra thời kỳ phát triển mới cả trong lĩnh vực trí tuệ nhân tạo lẫn mạng nơron Tác độngtích cực của nó là thúc đẩy hơn nữa sự quan tâm của các nhà khoa học về trí tuệ nhân tạo vàquá trình xử lý ở mức đơn giản của mạng nơron trong bộ não con người
Những năm tiếp theo của dự án Dartmouth, John von Neumann đã đề xuất việc môphỏng các nơron đơn giản bằng cách sử dụng rơle điện áp hoặc đèn chân không Nhà sinh
học chuyên nghiên cứu về nơron Frank Rosenblatt cũng bắt đầu nghiên cứu về Perceptron.
Sau thời gian nghiên cứu này Perceptron đã được cài đặt trong phần cứng máy tính và đượcxem như là mạng nơron lâu đời nhất còn được sử dụng đến ngày nay Perceptron một tầngrất hữu ích trong việc phân loại một tập các đầu vào có giá trị liên tục vào một trong hai lớp.Perceptron tính tổng có trọng số các đầu vào, rồi trừ tổng này cho một ngưỡng và cho ramột trong hai giá trị mong muốn có thể Tuy nhiên Perceptron còn rất nhiều hạn chế, nhữnghạn chế này đã được chỉ ra trong cuốn sách về Perceptron của Marvin Minsky và SeymourPapert viết năm 1969
Năm 1959, Bernard Widrow và Marcian Hoff thuộc trường đại học Stanford đã xâydựng mô hình ADALINE (ADAptive LINear Elements) và MADALINE (Multiple
ADAptive LINear Elements) Các mô hình này sử dụng quy tắc học Least-Mean-Squares
(LMS: Tối thiểu bình phương trung bình) MADALINE là mạng nơron đầu tiên được ápdụng để giải quyết một bài toán thực tế Nó là một bộ lọc thích ứng có khả năng loại bỏ tínhiệu dội lại trên đường dây điện thoại Ngày nay mạng nơron này vẫn được sử dụng trongcác ứng dụng thương mại
Năm 1974 Paul Werbos đã phát triển và ứng dụng phương pháp học lan truyềnngược ( back-propagation) Tuy nhiên phải mất một vài năm thì phương pháp này mới trởlên phổ biến Các mạng lan truyền ngược được biết đến nhiều nhất và được áp dụng rộngdãi nhất nhất cho đến ngày nay
Thật không may, những thành công ban đầu này khiến cho con người nghĩ quá lên vềkhả năng của các mạng nơron Chính sự cường điệu quá mức đã có những tác động khôngtốt đến sự phát triển của khoa học và kỹ thuật thời bấy giờ khi người ta lo sợ rằng đã đến lúcmáy móc có thể làm mọi việc của con người Những lo lắng này khiến người ta bắt đầuphản đối các nghiên cứu về mạng neuron Thời kì tạm lắng này kéo dài đến năm 1981
Trang 9Năm 1982 trong bài báo gửi tới viện khoa học quốc gia, John Hopfield bằng sự phântích toán học rõ ràng, mạch lạc, ông đã chỉ ra cách thức các mạng nơron làm việc và nhữngcông việc chúng có thể thực hiện được Cống hiến của Hopfield không chỉ ở giá trị củanhững nghiên cứu khoa học mà còn ở sự thúc đẩy trở lại các nghiên cứu về mạng neuron
1.1.3 So sánh mạng nơron với máy tính truyền thống
Các mạng nơron có cách tiếp cận khác trong giải quyết vấn đề so với máy tính truyềnthống Các máy tính truyền thống sử dụng cách tiếp cận theo hướng giải thuật, tức là máytính thực hiện một tập các chỉ lệnh để giải quyết một vấn đề Vấn đề được giải quyết phảiđược biết và phát biểu dưới dạng một tập chỉ lệnh không nhập nhằng Những chỉ lệnh nàysau đó phải được chuyển sang một chương trình ngôn ngữ bậc cao và chuyển sang mã máy
để máy tính có thể hiểu được
Trừ khi các bước cụ thể mà máy tính cần tuân theo được chỉ ra rõ ràng, máy tính sẽkhông làm được gì cả Điều đó giới hạn khả năng của các máy tính truyền thống ở phạm vigiải quyết các vấn đề mà chúng ta đã hiểu và biết chính xác cách thực hiện Các máy tính sẽtrở lên hữu ích hơn nếu chúng có thể thực hiện được những việc mà bản thân con ngườikhông biết chính xác là phải làm như thế nào
Các mạng nơron xử lý thông tin theo cách thức giống như bộ não con người Mạngđược tạo nên từ một số lượng lớn các phần tử xử lý được kết nối với nhau làm việc songsong để giải quyết một vấn đề cụ thể Các mạng nơron học theo mô hình, chúng không thểđược lập trình để thực hiện một nhiệm vụ cụ thể Các mẫu phải được chọn lựa cẩn thận nếukhông sẽ rất mất thời gian, thậm chí mạng sẽ hoạt động không đúng Điều hạn chế này làbởi vì mạng tự tìm ra cách giải quyết vấn đề, thao tác của nó không thể dự đoán được
Các mạng nơron và các máy tính truyền thống không cạnh tranh nhau mà bổ sung cho nhau Có những nhiệm vụ thích hợp hơn với máy tính truyền thống, ngược lại có những
nhiệm vụ lại thích hợp hơn với các mạng nơron Thậm chí rất nhiều nhiệm vụ đòi hỏi các hệthống sử dụng tổ hợp cả hai cách tiếp cận để thực hiện được hiệu quả cao nhất (thông
thường một máy tính truyền thống được sử dụng để giám sát mạng nơron)
Trang 101.2 Nơron sinh học và nơron nhân tạo
1.2.1 Nơron sinh học
Qua quá trình nghiên cứu về bộ não, người ta thấy rằng: bộ não con người bao gồm
truyền này dài khoảng hơn một mét Các nơron có nhiều đặc điểm chung với các tế bào
đó là khả năng nhận, xử lý và truyền các tín hiệu điện hóa trên các đường mòn nơron, các con đường này tạo nên hệ thống giao tiếp của bộ não
Hình 5: Cấu trúc của một nơron sinh học điển hình
Mỗi nơron sinh học có 3 thành phần cơ bản:
Các nhánh vào hình cây ( dendrites)
Thân tế bào (cell body)
Sợi trục ra (axon)
Các nhánh hình cây truyền tín hiệu vào đến thân tế bào Thân tế bào tổng hợp và xử lý cho tín hiệu đi ra Sợi trục truyền tín hiệu ra từ thân tế bào này sang nơron khác Điểm liên
kết giữa sợi trục của nơron này với nhánh hình cây của nơron khác gọi là synapse Liên kết
giữa các nơron và độ nhạy của mỗi synapse được xác định bởi quá trình hóa học phức tạp Một số cấu trúc của nơron được xác định trước lúc sinh ra Một số cấu trúc được phát triển thông qua quá trình học Trong cuộc đời cá thể, một số liên kết mới được hình thành, một sốkhác bị hủy bỏ
Như vậy nơron sinh học hoạt động theo cách thức sau: nhận tín hiệu đầu vào, xử lý các
tín hiệu này và cho ra một tín hiệu output Tín hiệu output này sau đó được truyền đi làm tín
hiệu đầu vào cho các nơron khác
Trang 11Dựa trên những hiểu biết về nơron sinh học, con người xây dựng nơron nhân tạo với
hy vọng tạo nên một mô hình có sức mạnh như bộ não
1.2.2 Nơron nhân tạo
Một nơron là một đơn vị xử lý thông tin và là thành phần cơ bản của một mạng nơron Cấu trúc của một nơron được mô tả trên hình dưới
Hình 6: Nơron nhân tạo
Các thành phần cơ bản của một nơron nhân tạo bao gồm:
♦ Tập các đầu vào: Là các tín hiệu vào (input signals) của nơron, các tín hiệu này
thường được đưa vào dưới dạng một vector N chiều
♦ Tập các liên kết: Mỗi liên kết được thể hiện bởi một trọng số (gọi là trọng số liên
kết – Synaptic weight) Trọng số liên kết giữa tín hiệu vào thứ j với nơron k thường được kí
hiệu là wkj Thông thường, các trọng số này được khởi tạo một cách ngẫu nhiên ở thời điểmkhởi tạo mạng và được cập nhật liên tục trong quá trình học mạng
♦ Bộ tổng (Summing function): Thường dùng để tính tổng của tích các đầu vào với
trọng số liên kết của nó
♦ Ngưỡng (còn gọi là một độ lệch - bias): Ngưỡng này thường được đưa vào như một
thành phần của hàm truyền
♦ Hàm truyền (Transfer function) : Hàm này được dùng để giới hạn phạm vi đầu ra
của mỗi nơron Nó nhận đầu vào là kết quả của hàm tổng và ngưỡng đã cho Thông thường, phạm vi đầu ra của mỗi nơron được giới hạn trong đoạn [0,1] hoặc [-1, 1] Các hàm truyền rất đa dạng, có thể là các hàm tuyến tính hoặc phi tuyến Việc lựa chọn hàm truyền nào là tuỳ thuộc vào từng bài toán và kinh nghiệm của người thiết kế mạng Một số hàm truyền
thường sử dụng trong các mô hình mạng nơron được đưa ra trong bảng 1
♦ Đầu ra: Là tín hiệu đầu ra của một nơron, với mỗi nơron sẽ có tối đa là một đầu ra
Xét về mặt toán học, cấu trúc của một nơron k, được mô tả bằng cặp biểu thức sau:
[cong thuc]
Trang 12trong đó: x1, x2, , xp: là các tín hiệu vào; (wk1, wk2, , wkp) là các trọng số liên kếtcủa nơron thứ k; uk là hàm tổng; bk là một ngưỡng; f là hàm truyền và yk là tín hiệu đầu ra của nơron
Như vậy tương tự như nơron sinh học, nơron nhân tạo cũng nhận các tín hiệu đầu vào,
xử lý ( nhân các tín hiệu này với trọng số liên kết, tính tổng các tích thu được rồi gửi kết quảtới hàm truyền), và cho một tín hiệu đầu ra ( là kết quả của hàm truyền)
Về mặt toán học, cấu trúc của một neuron i được mô tả bằng cặp biểu thức sau:
Hàm truyền có thể có các dạng sau:
- Hàm bước
- Hàm giới hạn chặt (hay còn gọi là hàm bước)
Trang 13Hình 3: Đồ thị các dạng hàm truyền
1.3 Mô hình mạng nơron
Mặc dù mỗi nơron đơn lẻ có thể thực hiện những chức năng xử lý thông tin nhất định, sức
mạnh của tính toán nơron chủ yếu có được nhờ sự kết hợp các nơron trong một kiến trúc thống
nhất Một mạng nơron là một mô hình tính toán được xác định qua các tham số: kiểu nơron (như là các nút nếu ta coi cả mạng nơron là một đồ thị), kiến trúc kết nối (sự tổ chức kết nối giữa các
nơron) và thuật toán học (thuật toán dùng để học cho mạng)
Về bản chất một mạng nơron có chức năng như là một hàm ánh xạ F: X → Y, trong đó X là
không gian trạng thái đầu vào (input state space) và Y là không gian trạng thái đầu ra (output state
space) của mạng Các mạng chỉ đơn giản là làm nhiệm vụ ánh xạ các vector đầu vào x ∈ X sang các
vector đầu ra y ∈ Y thông qua “bộ lọc” (filter) các trọng số Tức là y = F(x) = s(W, x), trong đó W
là ma trận trọng số liên kết Hoạt động của mạng thường là các tính toán số thực trên các ma trận
1.3.1 Các kiểu mô hình mạng nơron
Cách thức kết nối các nơron trong mạng xác định kiến trúc (topology) của mạng Các nơron trong mạng có thể kết nối đầy đủ (fully connected) tức là mỗi nơron đều được kết nối với tất cả các nơron khác, hoặc kết nối cục bộ (partially connected) chẳng hạn chỉ kết nối
giữa các nơron trong các tầng khác nhau Người ta chia ra hai loại kiến trúc mạng chính:
♦ Tự kết hợp (autoassociative): là mạng có các nơron đầu vào cũng là các nơron đầu
ra Mạng Hopfield là một kiểu mạng tự kết hợp
Trang 14Hình 4: Mạng tự kết hợp
♦ Kết hợp khác kiểu (heteroassociative): là mạng có tập nơron đầu vào và đầu ra riêng
biệt Perceptron, các mạng Perceptron nhiều tầng (MLP: MultiLayer Perceptron), mạng
Kohonen, … thuộc loại này
Hình 5: Mạng kết hợp khác kiểu
Ngoài ra tùy thuộc vào mạng có các kết nối ngược (feedback connections) từ các
nơron đầu ra tới các nơron đầu vào hay không, người ta chia ra làm 2 loại kiến trúc mạng
♦ Kiến trúc truyền thẳng (feedforward architechture): là kiểu kiến trúc mạng không có
các kết nối ngược trở lại từ các nơron đầu ra về các nơron đầu vào; mạng không lưu lại các giá trị output trước và các trạng thái kích hoạt của nơron Các mạng nơron truyền thẳng cho phép tín hiệu di chuyển theo một đường duy nhất; từ đầu vào tới đầu ra, đầu ra của một tầngbất kì sẽ không ảnh hưởng tới tầng đó Các mạng kiểu Perceptron là mạng truyền thẳng
Trang 15Hình 6: Mạng truyền thẳng
♦ Kiến trúc phản hồi (Feedback architecture): là kiểu kiến trúc mạng có các kết nối từ
nơron đầu ra tới nơron đầu vào Mạng lưu lại các trạng thái trước đó, và trạng thái tiếp theo không chỉ phụ thuộc vào các tín hiệu đầu vào mà còn phụ thuộc vào các trạng thái trước đó của mạng Mạng Hopfield thuộc loại này
Hình 7: Mạng phản hồi 1.3.2 Perceptron
Perceptron là mạng nơron đơn giản nhất, nó chỉ gồm một nơron, nhận đầu vào làvector có các thành phần là các số thực và đầu ra là một trong hai giá trị +1 hoặc -1
Hình 8: Perceptron
Trang 16Đầu ra của mạng được xác định như sau: mạng lấy tổng có trọng số các thành phần của vector đầu vào, kết quả này cùng ngưỡng b được đưa vào hàm truyền (Perceptron dùng hàm Hard-limit làm hàm truyền) và kết quả của hàm truyền sẽ là đầu ra của mạng
Hoạt động của Perceptron có thể được mô tả bởi cặp công thức sau:
1.3.3 Mạng nhiều tầng truyền thẳng (MLP)
Mô hình mạng nơron được sử dụng rộng rãi nhất là mô hình mạng nhiều tầng truyền thẳng (MLP: Multi Layer Perceptron) Một mạng MLP tổng quát là mạng có n (n≥2) tầng (thông thường tầng đầu vào không được tính đến): trong đó gồm một tầng đầu ra (tầng thứ n) và (n-1) tầng ẩn
Hình 9: Mạng MLP tổng quát
Kiến trúc của một mạng MLP tổng quát có thể mô tả như sau:
♦ Đầu vào là các vector (x1, x2, , xp) trong không gian p chiều, đầu ra là các vector (y1, y2, , yq) trong không gian q chiều Đối với các bài toán phân loại, p chính là kích
thước của mẫu đầu vào, q chính là số lớp cần phân loại Xét ví dụ trong bài toán nhận dạng chữ số: với mỗi mẫu ta lưu tọa độ (x,y) của 8 điểm trên chữ số đó, và nhiệm vụ của mạng là phân loại các mẫu này vào một trong 10 lớp tương ứng với 10 chữ số 0, 1, …, 9 Khi đó p làkích thước mẫu và bằng 8 x 2 = 16; q là số lớp và bằng 10
Trang 17♦ Mỗi nơron thuộc tầng sau liên kết với tất cả các nơron thuộc tầng liền trước nó
♦ Đầu ra của nơron tầng trước là đầu vào của nơron thuộc tầng liền sau nó
Hoạt động của mạng MLP như sau: tại tầng đầu vào các nơron nhận tín hiệu vào xử lý (tính tổng trọng số, gửi tới hàm truyền) rồi cho ra kết quả (là kết quả của hàm truyền); kết quả này sẽ được truyền tới các nơron thuộc tầng ẩn thứ nhất; các nơron tại đây tiếp nhận
như là tín hiệu đầu vào, xử lý và gửi kết quả đến tầng ẩn thứ 2;…; quá trình tiếp tục cho đếnkhi các nơron thuộc tầng ra cho kết quả
Một số kết quả đã được chứng minh:
♦ Bất kì một hàm Boolean nào cũng có thể biểu diễn được bởi một mạng MLP 2 tầng trong đó các nơron sử dụng hàm truyền sigmoid
♦ Tất cả các hàm liên tục đều có thể xấp xỉ bởi một mạng MLP 2 tầng sử dụng hàm
truyền sigmoid cho các nơron tầng ẩn và hàm truyền tuyến tính cho các nơron tầng ra với sai số nhỏ tùy ý
♦ Mọi hàm bất kỳ đều có thể xấp xỉ bởi một mạng MLP 3 tầng sử dụng hàm truyền
sigmoid cho các nơron tầng ẩn và hàm truyền tuyến tính cho các nơron tầng ra
1.4 Cấu tạo và phương thức làm việc của mạng nơron
Dựa trên những phương pháp xây dựng neuron đã trình bày ở mục trên, ta có thể hình dung mạng nơron như là một hệ truyền đạt và xử lý tín hiệu Đặc tính truyền đạt của neuron phần lớn là đặc tính truyền đạt tĩnh
Khi liên kết các đầu vào/ra của nhiều neuron với nhau, ta thu được một mạng nơron, việc ghép nối các neuron trong mạng với nhau có thể là theo một nguyên tắc bất kỳ Vì
mạng nơron là một hệ truyền đạt và xử lý tín hiệu, nên có thể phân biệt các loại neuron khácnhau, các neuron có đầu vào nhận thông tin từ môi trường bên ngoài khác với các neuron cóđầu vào được nối với các neuron khác trong mạng, chúng được phân biệt với nhau qua
vector hàm trọng số ở đầu vào w
Nguyên lý cấu tạo của mạng nơron bao gồm nhiều lớp, mỗi lớp bao gồm nhiều neuron
có cùng chức năng trong mạng Hình 9 là mô hình hoạt động của một mạng nơron 3 lớp với
8 phần tử neuron Mạng có ba đầu vào là x1, x2, x3 và hai đầu ra y1, y2 Các tín hiệu đầu vào được đưa đến 3 neuron đầu vào, 3 neuron này làm thành lớp đầu vào của mạng Các neuron trong lớp này được gọi là neuron đầu vào Đầu ra của các neuron này được đưa đến đầu vào của 3 neuron tiếp theo, 3 neuron này không trực tiếp tiếp xúc với môi trường bên ngoài mà
Trang 18nội hay neuron ẩn Đầu ra của các neuron này được đưa đến 2 neuron đưa tín hiệu ra môi
trường bên ngoài Các neuron trong lớp đầu ra này được gọi là neuron đầu ra
2
Hình 10 Mạng nơron ba lớp
Mạng neural được xây dựng như trên là mạng gồm 3 lớp mắc nối tiếp nhau đi từ đầu vào đến đầu ra Trong mạng không tồn tại bất kỳ một mạch hồi tiếp nào Một mạng neural
có cấu trúc như vậy gọi là mạng một hướng hay mạng truyền thẳng một hướng (Feed
forward network), và có cấu trúc mạng ghép nối hoàn toàn (vì bất cứ một neuron nào trong mạng cũng được nối với một hoặc vài neuron khác) Mạng neural bao gồm một hay nhiều lớp trung gian được gọi là mạng Multilayer Perceptrons) (MLP-Network)
Mạng neural khi mới được hình thành thì chưa có tri thức, tri thức của mạng sẽ được hình thành dần dần sau một quá trình học Mạng neural được học bằng cách đưa vào những kích thích, và mạng hình thành những đáp ứng tương ứng, những đáp ứng tương ứng phù hợp với từng loại kích thích sẽ được lưu trữ Giai đoạn này được gọi là giai đoạn học của
mạng Khi đã hình thành tri thức mạng, mạng có thể giải quyết các vấn đề một cách đúng đắn Đó có thể là vấn đề ứng dụng rất khác nhau, được giải quyết chủ yếu dựa trên sự tổ
chức hợp nhất giữa các thông tin đầu vào của mạng và các đáp ứng đầu ra
- Nếu nhiệm vụ của một mạng là hoàn chỉnh hoặc hiệu chỉnh các thông tin thu được không đầy đủ hoặc bị tác động của nhiễu Mạng neural kiểu này được ứng dụng trong lĩnh vực hoàn thiện mẫu, trong đó có một ứng dụng cụ thể là nhận dạng chữ viết
- Nhiệm vụ tổng quát của một mạng neural là lưu giữ động các thông tin Dạng thông tin lưu giữ này chính là quan hệ giữa các thông tin đầu vào và các đáp ứng đầu ra tương
ứng, để khi có một kích thích bất kỳ tác động vào mạng, mạng có khả năng suy diễn và đưa
ra một đáp ứng phù hợp Đây chính là chức năng nhận dạng theo mẫu của mạng neural Để thực hiện chức năng này, mạng neural đóng vai trò như một bộ phận tổ chức các nhóm
Trang 19thông tin đầu vào, và tương ứng với mỗi nhóm là một đáp ứng đầu ra phù hợp Như vậy,
một nhóm bao gồm một loại thông tin đầu vào và một đáp ứng đầu ra Các nhóm có thể
được hình thành trong quá trình học, và cũng có thể không hình thành trong quá trình học
1.4.1 Mạng neural một lớp
Mỗi một neuron có thể phối hợp với các neuron khác tạo thành một lớp các trọng
số Mạng một lớp truyền thẳng như hình 10 Một lớp neuron là một nhóm các neuron màchúng đều có cùng trọng số, nhận cùng một tín hiệu đầu vào đồng thời
Hình 11: Mạng truyền thẳng một lớp
Trong ma trận trọng số, các hàng là thể hiện neuron, hàng thứ j có thể đặt nhãn như
(j=1,2, ,n) đồng thời cùng nhận một tín hiệu đầu vào xj
Mạng neural nhiều lớp có các lớp được phân chia thành 3 loại sau đây:
- Lớp vào là lớp neuron đầu tiên nhận tín hiệu vào xi (i = 1, 2, , n) Mỗi tín hiệu xi
được đưa đến tất cả các neuron của lớp đầu vào Thông thường, các neuron đầu vào không
Trang 20làm biến đổi các tín hiệu vào xi, tức là chúng không có các trọng số hoặc không có các loạihàm chuyển đổi nào, chúng chỉ đóng vai trò phân phối các tín hiệu.
- Lớp ẩn là lớp neuron sau lớp vào, chúng không trực tiếp liên hệ với thế giới bênngoài như các lớp neuron vào/ra
- Lớp ra là lớp neuron tạo ra các tín hiệu ra cuối cùng
1.4.3 Mạng neural phản hồi
Mạng neural phản hồi là mạng mà đầu ra của mỗi neuron được quay trở lại nối với đầuvào của các neuron cùng lớp được gọi là mạng Laeral như hình 13
Hình 13: Mạng hồi tiếp một lớp
1.4.4 Mạng neural hồi quy
Hình 14: Mạng neural hồi quy
Mạng neural phản hồi có thể thực hiện đóng vòng được gọi là mạng neural hồi quynhư hình 14 Mạng neural hồi quy có trọng số liên kết đối xứng như mạng Hopfield, mạngluôn hội tụ về trạng thái ổn định (Hình13) Mạng BAM thuộc nhóm mạng neural hồi quy,gồm 2 lớp liên kết 2 chiều, không được gắn với tín hiệu vào/ra Nghiên cứu mạng neural hồiquy mà có trọng số liên kết không đối xứng, thì sẽ gặp phải vấn đề phức tạp nhiều hơn sovới mạng truyền thẳng và mạng hồi quy có trọng số liên kết đối xứng
Trang 211.4.5 Mạng Hopfield
Mạng Hopfield là mạng phản hồi một lớp, được chỉ ra trong hình 13 Cấu trúc chi tiếtcủa nó được thể hiện trong hình 15 Khi hoạt động với tín hiệu rời rạc, nó được gọi là mạngHopfield rời rạc, và cấu trúc của nó cũng được gọi là mạng hồi quy
Hình 15: Cấu trúc của mạng Hopfield
phản hồi về chính nó Nút đầu ra thứ j được nối tới mỗi đầu vào của nút khác qua trọng số
wij, với i ¿ j, (i = 1,2, ,n), hay nói cách khác wii = 0, (với i = 1,2, ,n)
(với i,j = 1,2, ,n) Khi đó, luật cập nhật cho mỗi nút mạng là như sau:
n ¿ ¿ , ¿
i = 1,2, ,n (6)Luật cập nhật trên được tính toán trong cách thức không đồng bộ Điều này có nghĩa
là, với một thời gian cho trước, chỉ có một nút mạng cập nhật được đầu ra của nó Sự cậpnhật tiếp theo trên một nút sẽ sử dụng chính những đầu ra đã được cập nhật Nói cách khác,dưới hình thức hoạt động không đồng bộ của mạng, mỗi đầu ra được cập nhật độc lập
Trang 22Có sự khác biệt giữa luật cập nhật đồng bộ và luật cập nhật không đồng bộ Với luậtcập nhật không đồng bộ thì sẽ chỉ có một trạng thái cân bằng của hệ (với giá trị đầu đã đượcxác định trước) Trong khi đó, với luật cập nhật đồng bộ thì có thể làm mạng hội tụ ở mỗiđiểm cố định hoặc một vòng giới hạn.
1.4.6 Mạng BAM
Mạng BAM bao gồm hai lớp và được xem như là trường hợp mở rộng của mạngHopfield Ở đây ta chỉ xét mạng rời rạc, vì nó đơn giản và dễ hiểu
Hình 16: Cấu trúc của BAM
Khi mạng neural được tích cực với giá trị đầu vào của vector tại đầu vào của một lớp,mạng sẽ có hai mẫu trạng thái ổn định, với mỗi mẫu tại đầu ra của nó là một lớp Tính độnghọc của mạng thể hiện dưới dạng tác động qua lại giữa hai lớp Cụ thể hơn, giả sử mộtvector đầu vào x được cung cấp cho đầu vào của lớp neuron y Đầu vào được xử lý vàtruyền tới đầu ra của lớp y như sau: