1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nhận dạng ký tự quang sử dụng mạng nơron kohonen

99 1K 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 99
Dung lượng 0,94 MB

Nội dung

Nhận dạng ký tự quang sử dụng mạng nơron kohonen Nhận dạng ký tự quang sử dụng mạng nơron kohonen Nhận dạng ký tự quang sử dụng mạng nơron kohonen Nhận dạng ký tự quang sử dụng mạng nơron kohonen Nhận dạng ký tự quang sử dụng mạng nơron kohonen Nhận dạng ký tự quang sử dụng mạng nơron kohonen Nhận dạng ký tự quang sử dụng mạng nơron kohonen Nhận dạng ký tự quang sử dụng mạng nơron kohonen Nhận dạng ký tự quang sử dụng mạng nơron kohonen

Trang 1

Lời cảm ơn

Chúng ta đều biết rằng, bộ não con người là một sản phẩm hoàn hảocủa tạo hóa, nó có khả năng tư duy và sáng tạo Hiện nay, con người đangnghiên cứu phương thức hoạt động của bộ não, sau đó áp dụng cho nhữngcông nghệ hiện đại Để tiếp cận khả năng học, người ta đưa ra mô hình mạngnơron gồm các nơron liên kết với nhau thành mạng phỏng theo cấu trúc mạngthần kinh của con người

Mỗi nơron riêng lẻ có khả năng xử lý thông tin yếu, nhưng khi chúngđược ghép với nhau thành mạng, thì khả năng xử lý thông tin sẽ mạnh hơn rấtnhiều Mỗi cấu trúc mạng đều có một ưu điểm đặc thù, chúng cho ta một công

cụ mạnh trong các lĩnh vực kỹ thuật điều khiển và kỹ thuật thông tin Mộtmạng nơron nhân tạo là tập hợp một số lớn các phần tử xử lý (các nút hay cáckhối), thường được tổ chức song song và được cấu hình theo kiến trúc đệ quy.Cách ứng sử trên mạng nơron nhân tạo giống như bộ não con người, nó chứng

tỏ khả năng học, nhớ lại, và tổng quát hóa từ dữ liệu huấn luyện

Mạng nơron nhân tạo là công cụ tốt trong việc giải quyết các bài toánnhư: hợp và phân lớp đối tượng, xấp xỉ hàm, tối ưu hóa, định lượng vector,phân cụm dữ liệu, Nó thay thế hiệu quả các công cụ tính toán truyền thống

để giải quyết các bài toán này

Trang 2

Nhận dạng là một lĩnh vực đóng vai trò quan trọng trong khoa học kỹthuật Trong hầu hết các vấn đề kỹ thuật ngày nay, ta đều phải xác định, nhậndạng được các mô hình và đối tượng liên quan, để từ đó tìm ra giải pháp.Nhận dạng mô hình là bài toán rất quan trong trong lý thuyết hệ thống Lý dođơn giản là vì không thể phân tích, tổng hợp hệ thống khi không có mô hìnhtoán học mô tả hệ thống Trong quá trình xây dựng mô hình hệ thống trênphương diện lý thuyết, người ta thường không khảo sát được mọi ảnh hưởngcủa môi trường đến tính động học của hệ thống, cũng như những tác động qualại bên trong hệ thống một cách chính xác tuyệt đối Rất nhiều yếu tố đã bị bỏqua, hoặc chỉ được xem xét đến như là một tác động ngẫu nhiên Bởi vậy, nếunói một cách chặt chẽ thì những hiểu biết lý thuyết ban đầu về hệ thống, mớichỉ có thể giúp ta khoanh được lớp các mô hình thích hợp Để có thể có đượcmột mô hình cụ thể có chất lượng phù hợp với bài cụ thể toán đặt ra trong lớpcác mô hình thích hợp đó, thì phải sử dụng phương pháp nhận dạng Còn bàitoán nhận dạng, phân tích phân cụm dữ liệu, là các bài toán rất hay gặp trongthực tế, khi chúng ta nhìn thấy một vật gì đó, thì câu hỏi thường trực của mỗingười là; vật đó có máy loại, và nó thuộc loại nào trong các loại có thể có.

Để giải quyết các bài toán nhận dạng, người ta đã đưa vào các cách tiếpcận khác nhau, mỗi phương pháp tiếp cận trong những bài toán cụ thể đều cónhững ưu, nhược điểm riêng Phương pháp ứng dụng mạng nơron trong nhận

Trang 3

dạng là một cách tiếp cận mới và hiện đại Nó có thể là công cụ rất mạnh đểgiải quyết các bài toán trong lĩnh vực này

Nội dung của đề tài đi vào tìm hiểu và xây dựng các phần tử nơron cơbản, xem xét và nghiên cứu cấu trúc một mạng nơron, giới thiệu về mạngnơron nhiều lớp với thuật toán lan truyền ngược Trọng tâm của đề tài đi vàotìm hiểu về mạng nơron Kohonen (hay mạng nơron tự tổ chức – SOM)

Đề tài gồm ba chương

Chương 1, trình bày cấu trúc một phần tử nơron cơ bản, các cấu trúcmạng nơron nhân tạo thường gặp, thuật toán học, phân tích ưu nhược điểmcủa chúng, và giới thiệu về thuật toán lan truyền ngược

Chương 2, tìm hiểu mạng nơron Kohonen

Chương 3, nhận dạng ký tự quang sử dụng mạng nơron Kohonen

Cuối cùng em xin cảm ơn các thày cô giáo, đặc biệt là PGS.TSKH BùiCông Cường đã tận tình chỉ dẫn cho em trong suốt thời gian làm đề tài Xincảm ơn các bạn cùng lớp đã tạo điều kiện cho tôi được học tập và nghiên cứutrong môi trường tốt

Hà nội, tháng 12 năm 2009

Trang 4

Chương 1 Giới thiệu về mạng nơron nhân tạo

Học máy là một ngành khoa học nghiên cứu các thuật toán cho phép

máy tính có thể học được các khái niệm

Phân loại: Có hai loại phương pháp học máy chính

 Phương pháp quy nạp : Máy học/phân biệt các khái niệm dựa trên dữliệu đã thu thập được trước đó Phương pháp này cho phép tận dụngđược nguồn dữ liệu rất nhiều và sẵn có

 Phương pháp suy diễn : Máy học/phân biệt các khái niệm dựa vào cácluật Phương pháp này cho phép tận dụng được các kiến thức chuyênngành để hỗ trợ máy tính

Hiện nay, các thuật toán đều cố gắng tận dụng được ưu điểm của hai phươngpháp này

Các ngành khoa học liên quan:

 Lý thuyết thống kê: các kết quả trong xác suất thống kê là tiền đề chorất nhiều phương pháp học máy Đặc biệt, lý thuyết thống kê cho phépước lượng sai số của các phương pháp học máy

Trang 5

 Các phương pháp tính: các thuật toán học máy thường sử dụng các tínhtoán số thực/số nguyên trên dữ liệu rất lớn Trong đó, các bài toán như:tối ưu có/không ràng buộc, giải phương trình tuyến tính v.v… được sửdụng rất phổ biến

 Khoa học máy tính: là cơ sở để thiết kế các thuật toán, đồng thời đánhgiá thời gian chạy, bộ nhớ của các thuật toán học máy

Ứng dụng: Học máy có ứng dụng rộng khắp trong các ngành khoa học/sản

xuất, đặc biệt những ngành cần phân tích khối lượng dữ liệu khổng lồ Một sốứng dụng thường thấy như:

 Xử lý ngôn ngữ tự nhiên: xử lý văn bản, giao tiếp người – máy, …

 Nhận dạng: nhận dạng tiếng nói, chữ viết tay, vân tay, thị giác máy(Computer Vision) …

 Tìm kiếm

 Chẩn đoán trong y tế: phân tích ảnh X-quang, các hệ chuyên gia chẩnđoán tự động

 Tin sinh học: phân loại chuỗi gene, quá trình hình thành gene/protein

 Vật lý: phân tích ảnh thiên văn, tác động giữa các hạt …

 Phát hiện gian lận tài chính (financial fraud): gian lận thẻ tỉn dụng

 Phân tích thị trường chứng khoán (stock market analysis)

Trang 6

Rôbốt: là tổng hợp của rất nhiều ngành khoa học, trong đó học máy tạo

nên hệ thần kinh/bộ não của người máy

Các nhóm giải thuật học máy: Học có giám sát, học không giám sát,

học nửa giám sát, học tăng cường,…

1.1 Cấu trúc và mô hình mạng nơron

1.1.1 Mô hình một nơron sinh học

Phần tử xử lý cơ bản của một mạng nơron sinh học là một nơron, phần

tử này có thể chia làm bốn thành phần cơ bản như sau: dendrites, soma, axon,

và synapses

- Dendrites: là phần nhận tín hiệu đầu vào

- Soma: là hạt nhân

- Axon: là phần dẫn ra tín hiệu xử lý

- Synapses: là đường tín hiệu điện hóa giao tiếp giữa các nơron

Kiến trúc cơ sở này của bộ não con người có một vài đặc tính chung.Một cách tổng quát, thì một nơron sinh học nhận đầu vào từ các nguồn khácnhau, kết hợp chúng tại với nhau, thực thi tổ hợp phi tuyến chúng để cho rakết quả cuối cùng ở đầu ra Hình 1.1 chỉ ra mối quan hệ giữa bốn phần tử củamột nơron sinh học

Trang 7

Hình 1.1 Một nơron sinh học

Một nơron sinh học chỉ có một số chức năng cơ bản như vậy, ta nhậnthấy khả năng xử lý thông tin của nó là rất yếu Để có được khả năng xử lýthông tin hoàn hảo như bộ não con người, thì các nơron phải kết hợp và traođổi thông tin với nhau Ta hình dung sơ đồ liên kết, và trao đổi thông tin giữahai nơron như hình 1.2

Hình 1.2 Sự liên kết các nơron

Trang 8

1.1.2 Cấu trúc và mô hình của một nơron nhân tạo

Mô hình toán học của mạng nơron sinh học được đề xuất bởi McCulloch

và Pitts, thường được gọi là nơron M-P, ngoài ra nó còn được gọi là phần tử

xử lý và được ký hiệu là PE (Processing Element)

Mô hình nơron có m đầu vào x1, x2, , xm, và một đầu ra yi như sau:

Hình 1.3 Mô hình một nơron nhân tạo

Trang 9

điểm khởi tạo mạng và được cập nhật liên tục trong quá trình họcmạng.

- Bộ tổng (Hàm tổng): Thường dùng để tính tổng của tích các đầu vàovới trọng số liên kết của nó

- Ngưỡng: Ngưỡng này thường được đưa vào như một thành phần củahàm truyền

- Hàm truyền: Hàm này dùng để giới hạn phạm vi đầu ra của mỗinơ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áchàm tuyến tính hoặc phi tuyến Việc lựa chọn hàm truyền tùy thuộcvào từng bài toán và kinh nghiệm của người thiết kế mạng

- Đầ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 đamột đầu ra

Về mặt toán học, cấu trúc của một nơron i được mô tả bằng cặp biểuthức sau:

y if(net i i) và j

n j ij

Trang 10

Như vậy, tương tự như nơron sinh học, nơron nhân tạo cũng nhận cáctí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ínhtổng các tích thu được rồi gửi kết quả đến hàm truyền), và cho một tín hiệuđầu ra (là kết quả của hàm truyền).

0 1

x khi

x khi

0 1

) sgn(

x khi

x khi x

1 0

1 1

) sgn(

x khi

x khi

x

x khi x

Trang 11

Hình 1.4 Đồ thị các dạng hàm truyền

1.2 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 nơron đã 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 Đặctính truyền đạt của nơron 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 nơron với nhau, ta thu được mộtmạng nơron, việc ghép nối các nơron trong mạng với nhau có thể là theo mộtnguyê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 nơron khác nhau, các nơron có đầu vào nhận thôngtin từ môi trường bên ngoài khác với các nơron có đầu vào được nối với cácnơron 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

Trang 12

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ồmnhiều nơron có cùng chức năng trong mạng Hình 1.5 là mô hình hoạt độngcủa một mạng nơron 3 lớp với 8 phần tử nơron 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 nơron đầu vào, 3nơron này làm thành lớp đầu vào của mạng Các nơron trong lớp này đượcgọi là nơron đầu vào Đầu ra của các nơron này được đưa đến đầu vào của 3nơron tiếp theo, 3 nơron này không trực tiếp tiếp xúc với môi trường bênngoài mà làm thành lớp ẩn, hay còn gọi là lớp trung gian Các nơron trong lớpnày có tên là nơron nội hay nơron ẩn Đầu ra của các nơron này được đưa đến

2 nơron đưa tín hiệu ra môi trường bên ngoài Các nơron trong lớp đầu ra nàyđược gọi là nơron đầu ra

Hình 1.5 Mạng nơron ba lớp

Mạng nơron đượ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

Trang 13

nào Một mạng nơron có cấu trúc như vậy gọi là mạng một hướng hay mạngtruyền thẳng một hướng (Feed forward network), và có cấu trúc mạng ghépnối hoàn toàn (vì bất cứ một nơron nào trong mạng cũng được nối với mộthoặc vài nơron khác) Mạng nơron bao gồm một hay nhiều lớp trung gianđược gọi là mạng Multilayer Perceptrons) (MLP-Network).

Mạng nơron khi mới được hình thành thì chưa có tri thức, tri thức củamạng sẽ được hình thành dần dần sau một quá trình học Mạng nơron đượchọc bằng cách đưa vào những kích thích, và mạng hình thành những đáp ứngtươ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ìnhthà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ôngtin thu được không đầy đủ hoặc bị tác động của nhiễu Mạng nơronkiể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 nơron 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

Trang 14

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 nơron Đểthực hiện chức năng này, mạng nơron đóng vai trò như một bộ phận tổchức các nhóm thô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ôngtin đầu vào và một đáp ứng đầu ra Các nhóm có thể được hình thànhtrong quá trình học, và cũng có thể không hình thành trong quá trìnhhọc.

Hình 1.6 là một số liên kết đặc thù của mạng nơron Nơron được vẽ là cácvòng tròn xem như một tế bào thần kinh, chúng có các mối liên hệ đến cácnơron khác nhờ các trọng số liên kết Tập hợp các trọng số liên kết này sẽ lậpthành các ma trận trọng số tương ứng

1.2.1 Mạng nơron một lớp

Mỗi một nơron có thể phối hợp với các nơron khác tạo thành mộtlớp các trọng số Mạng một lớp truyền thẳng như hình 1.6a Một lớp nơron làmột nhóm các nơron 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

Trong ma trận trọng số, các hàng là thể hiện nơron, hàng thứ j có thểđặt nhãn như một vector wj của nơron thứ j gồm m trọng số wji Các trọng số

Trang 15

trong cùng một cột thứ j (j=1,2, ,n) đồng thời cùng nhận một tín hiệu đầuvào xj.

Trang 16

(d) Mạng nơron hồi quy

Hình 1.6 Một số dạng mạng nơron

1.2.2 Mạng nơron truyền thẳng nhiều lớp

Mạng nơron nhiều lớp (Hình 1.6.c) có các lớp được phân chia thành 3 loạisau đây:

 Lớp vào là lớp nơron đầu tiên nhận tín hiệu vào xi (i = 1, 2, , n) Mỗitín hiệu xi được đưa đến tất cả các nơron của lớp đầu vào Thôngthường, các nơron đầu vào không là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ại hàm chuyển đổinào, chúng chỉ đóng vai trò phân phối các tín hiệu

 Lớp ẩn là lớp nơron sau lớp vào, chúng không trực tiếp liên hệ với thếgiới bên ngoài như các lớp nơron vào/ra

 Lớp ra là lớp nơron tạo ra các tín hiệu ra cuối cùng

Trang 17

1.2.4 Mạng nơron hồi quy

Mạng nơron phản hồi có thể thực hiện đóng vòng được gọi là mạngnơron hồi quy như hình 1.6d Mạng nơron hồi quy có trọng số liên kết đốixứng như mạng Hopfield, mạng luôn hội tụ về trạng thái ổn định (Hình 1.6.b).Mạng BAM thuộc nhóm mạng nơron 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 nơron hồi quy 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

1.2.5 Mạng Hopfield

Mạng Hopfield là mạng phản hồi một lớp, được chỉ ra trong hình 1.6.b.Cấu trúc chi tiết của nó được thể hiện trong hình 1.7 Khi hoạt động với tínhiệu rời rạc, nó được gọi là mạng Hopfield rời rạc, và cấu trúc của nó cũngđược gọi là mạng hồi quy

Trang 18

Hình 1.7 Cấu trúc của mạng Hopfield

Như mạng Hopfield đã vẽ ở trên, ta thấy nút có một đầu vào bên ngoài

xj và một giá trị ngưỡng j (j = 1,2, n) Một điều quan trọng cần nói ở đây làmỗi nút không có đường phản hồi về chính nó Nút đầu ra thứ j được nối tớimỗ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áchkhác wii = 0, (với i = 1,2, ,n)

Một điều quan trọng nữa là trọng số của mạng Hopfield là đối xứng,tức là wij = wji, (với i,j = 1,2, ,n) Khi đó, luật cập nhật cho mỗi nút mạng lànhư sau:

, sgn

1 ) )

i w y x

i = 1,2, ,n (1.11)

Trang 19

Luật cập nhật trên được tính toán trong cách thức không đồng bộ Điềunà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ập nhật tiếp theo trên một nút sẽ sử dụng chínhnhững đầu ra đã được cập nhật Nói cách khác, dưới hình thức hoạt độngkhông đồng bộ của mạng, mỗi đầu ra được cập nhật độc lập.

Có 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ật cậ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 đã được xá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ớihạn

1.2.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ủamạng Hopfield Ở đây ta chỉ xét mạng rời rạc, vì nó đơn giản và dễ hiểu

Trang 20

Khi mạng nơron được tích cực với giá trị đầu vào của vector tại đầu vàocủ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 racủa nó là một lớp Tính động học của mạng thể hiện dưới dạng tác động qualại giữa hai lớp Cụ thể hơn, giả sử một vector đầu vào x được cung cấp chođầu vào của lớp nơron y Đầu vào được xử lý và truyền tới đầu ra của lớp ynhư sau:

x

1

; với j = 1,2, ,m (1.13)Sau đó x’ nuôi trở lại đầu vào của lớp y và tạo ra hàm y’’ theo phươngtrình (1.12) Quá trình này cứ tiếp tục, bao gồm các bước như sau:

y(1) = a(wx(0)) (truyền thẳng lần thứ nhất)

x(2) = a(w(T)y(1)) (truyền ngược lần thứ nhất)

y(3) = a(wx(2)) (truyền thẳng lần thứ hai)

x(4) = a(w(T)y(3)) (truyền ngược lần thứ hai) (1.14)

y(k-1) = a(wx(k-2)) (truyền thẳng lần thứ k/2)

Trang 21

x(k) = a(w(T)y(k-1)) (truyền ngược lần thứ k/2)

Chú ý rằng trạng thái cập nhật trong phương trình (1.14) là đồng bộ theophương trình (1.12) và (1.13) Trạng thái cập nhật cũng có thể không đồng bộtheo phương trình (1.12) và (1.13) với các nút i, j được chọn tự do Người ta

đã chỉ ra rằng, hệ thống ổn định cho cả hai chế độ đồng bộ và không đồng bộ.Tuy nhiên, chế độ đồng bộ sẽ làm cho hệ thống hội tụ nhanh hơn nhiều

1.3 Các luật học

Thông thường, mạng nơron được điều chỉnh hoặc được huấn luyện đểhướng các đầu vào riêng biệt đến đích ở đầu ra Cấu trúc huấn luyện mạngđược chỉ ra ở hình dưới Ở đây, hàm trọng số của mạng được điều chỉnh trên

cơ sở so sánh đầu ra với đích mong muốn (taget), cho tới khi đầu ra của mạngphù hợp với đích Những cặp vào/đích (input/taget) được dùng để giám sátcho sự huấn luyện mạng

Hình 1.9: Cấu trúc huấn luyện mạng nơron

Trang 22

Để có được một số cặp vào/ra, ở đó mỗi giá trị vào được gửi đến mạng

và giá trị ra tương ứng được thực hiện bằng mạng là sự xem xét và so sánhvới giá trị mong muốn Bình thường, nó sẽ tồn tại một sai số vì giá trị mongmuốn không hoàn toàn phù hợp với giá trị thực Sau mỗi lần chạy, ta có tổngbình phương của tất cả các sai số Sai số này được sử dụng để xác định cáchàm trọng số mới

Sau mỗi lần chạy, hàm trọng số của mạng được sửa đổi với đặc tính tốthơn tương ứng với đặc tính mong muốn Từng cặp giá trị vào/ra phải đượckiểm tra và trọng số được điều chỉnh một vài lần Sự thay đổi các hàm trọng

số của mạng sẽ được dừng lại, nếu tổng các bình phương sai số nhỏ hơn mộtgiá trị đặt trước, hoặc đã chạy đủ một số lần chạy xác định (trong trường hợpnày, mạng có thể không thoả mãn yêu cầu đặt ra do sai lệch còn cao) Có haikiểu học:

 Học tham số: là các tham số về trọng số cập nhật kết nối giữa cácnơron

 Học cấu trúc: trọng tâm là sự biến đổi cấu trúc của các mạng nơrongồm số lượng nút và các loại liên kết

Giả sử ma trận trọng số bao gồm tất cả các phần tử thích ứng của mạngnơron Nhiệm vụ của việc học tham số là tìm ra được ma trận chính xác mong

Trang 23

muốn từ ma trận giả thiết ban đầu (với cấu trúc của mạng nơron có sẵn) Đểlàm được điều này thì mạng nơron phải sử dụng các trọng số điều chỉnh, vớinhiều phương pháp học khác nhau để có thể tính toán gần đúng ma trận Wcần tìm đặc trưng cho mạng Sau đây là 3 phương pháp học:

1.3.1 Học có giám sát

Học có giám sát: là quá trình học có tín hiệu chỉ đạo bên ngoài d (Hình1.10) Trong học có giám sát, thì tại mỗi thời điểm khi đầu vào được cung cấptới mạng nơron, phản ứng đầu ra mong muốn d tương ứng của hệ thống đượcđưa ra Ở hình (1.10), khi mỗi đầu vào x(k) được đặt vào mạng, đầu ra mongmuốn tương ứng d(k) cũng được cung cấp tới mạng Hiệu giữa đầu ra thực y(k)

và đầu ra mong muốn d(k) được đo trong máy phát tín hiệu lỗi Máy này sẽ tạo

ra tín hiệu lỗi cho mạng để hiệu chỉnh các trọng số của mạng, và với các hiệuchỉnh này thì đầu ra thực sẽ tiến sát với đầu ra mong muốn

Hình 1.10: Học có giám sát

Trang 24

1.3.2 Học củng cố

Tín hiệu chủ đạo d có thể lấy từ môi trường bên ngoài, nhưng tín hiệunày không được đầy đủ, mà chỉ có một vài bit đại diện có tính chất kiểm traquá trình tốt hay xấu Học củng cố cũng là một dạng của học có giám sát, bởi

vì mạng vẫn nhận một số tín hiệu từ bên ngoài Nhưng tín hiệu phản hồi chỉmang tính chất đánh giá hơn là mạng tính chất chỉ dẫn Nó cho biết mức độtốt hay xấu của một đầu ra đặc biệt Tín hiệu củng cố bên ngoài thường được

xử lý bằng máy phát tín hiệu đánh giá để tạo ra nhiều hơn nữa các thông tintín hiệu đánh giá, sau đó dùng để điều chỉnh các trọng số với mục đích đạtđược tín hiệu đánh giá tốt hơn

1.3.3 Học không có giám sát

Hình 1.11: Học không có giám sát

Trong phần học không có giám sát, sẽ không có thầy hướng dẫn, tức làkhông có tín hiệu d cung cấp tới mạch phản hồi Điều này cho thấy, ta sẽkhông biết đầu ra đạt giá trị gì Với loại này, thì các nơron tự xoay xở với các

dữ liệu mẫu mà nó có được, chứ không có “thầy” gợi ý cần luyện theo hướng

Trang 25

nào Mạng phải tự khám phá mẫu, đặc tính, sự tương quan hay loại đầu vào.Trong khi khám phá những đặc tính này, tham số của mạng sẽ bị thay đổi.Quá trình này được gọi là tự tổ chức Một ví dụ điển hình là quá trình phânloại đối tượng không có thầy, những lớp thích hợp được hình thành bằng cáchkhám phá sự tương tự và không tương tự trong số các đối tượng.

Hình (1.12) mô tả cấu trúc chung của quá trình học của ba phươngpháp học đã nêu ở trên Trong tín hiệu vào xj (j = 1,2, ,m), có thể được lấy từđầu ra của các nơron khác hoặc có thể được lấy ra từ bên ngoài Trọng số củanơron thứ i được thay đổi tùy theo tín hiệu ở đầu vào mà nó thu nhận giá trịđầu ra của nó

Dạng tổng quát của luật học trọng số của mạng nơron cho biết số giacủa vector wi là w i tỉ lệ với tín hiệu học r và tín hiệu đầu vào x(t)

Trang 26

Hình 1.12: Sơ đồ cấu trúc chung của quá trình học

Từ hình (1.12) ta thấy, vector trọng số wi = [wi1, wi2, , wim]T có số gia

tỷ lệ với tín hiệu vào x và tín hiệu học r Vector trọng số ở thời điểm (t+1)được tính như sau:

wi(t+1) = wi(t) + fr(wi(t),x(t),d(t)).x(t) (1.17)

Phương trình liên quan đến sự biến đổi trọng số trong mạng nơron rời rạc, vàtương ứng với sự thay đổi trọng số trong mạng nơron liên tục theo biểu thứcsau:

) ( r x t dt

Trang 27

Mạng nơron nhân tạo có các tính chất sau:

1.4 Thuật toán lan truyền ngược

Thuật toán lan truyền ngược được ứng dụng để giải các bài toán điều khiểncác hệ phi tuyến phức tạp và bất ổn định Lan truyền ngược là một phươngpháp cho phép xác định tập trọng số tốt nhất của mạng để giải một bài toán đãcho Việc áp dụng phương pháp lan truyền ngược là một quá trình lặp đi lặplại nhiều lần hai tiến trình chính: lan truyền tiến để thực hiện ánh xạ và lantruyền ngược sai số để cập nhật các trọng số Các trọng số của mạng là các hệ

số của mô hình Phương pháp giảm gradient được dùng để cập nhật những hệ

số này sao cho giảm thiểu được sai số của mô hình

Xét lớp mạng 3 lớp như hình (1.14)

Trang 28

Hình 1.14: Mạng 3 lớp lan truyền ngược

Thuật toán: Đầu tiên ta cho lan truyền thẳng suốt trong mạng, qua cácphần tử nơron và được tiếp tục với các hàm kích hoạt của phần tử nơron Cácmạng được nghiên cứu cùng với thuật toán học lan truyền ngược được gọi làmạng lan truyền ngược

Huấn luyện các cặp vào/ra

{(x(k), d(k))}, k = 1,2, ,p

Thuật toán cung cấp một thủ tục cho việc thay đổi các vector trọng sốtrong mạng, đầu ra của mạng được lan truyền ngược trở lại lớp đầu vào chođúng các mẫu Cơ sở cho việc cập nhật các trọng số là phương pháp độ dốcGradient

Với cặp vào ra (x(k), d(k)), thuật toán lan truyền ngược thực hiện các bướcnhư sau:

Trang 29

Đầu tiên, mẫu x(k) được lan truyền từ lớp đầu vào qua các lớp ẩn đi đến lớpđầu ra có kết quả là y(k) Sau đó, sai số giữa y(k) và d(k) được lan truyền ngượctrở lại từ lớp đầu ra tới lớp đầu vào để cập nhật trọng số Hình (1.14) diễn giảithuật toán lan truyền ngược Kết quả có thể mở rộng sang mạng nơron nhiềulớp.

Trên hình (1.14) có m phần tử nơron đầu vào, l phần tử nơron ở lớp ẩn, và

n phần tử nơron ở lớp đầu ra Đường nét liền diễn tả lan truyền thẳng của cáctín hiệu, đường nét đứt diên tả lan truyền ngược của các sai số Đầu tiên huấnluyện vào cặp vào/ra ký hiệu (x,d) để cho đơn giản ta bỏ chỉ số k Khi mộtmẫu đầu vào x được đưa vào thì các phần tử trong mạng sẽ được tính như sau:Đầu vào phần tử q của lớp ẩn sẽ được tính theo phương trình:

j m j qj

qj x v

 1 )(1.20)

Đầu vào phần tử thứ i của lớp đầu ra sẽ là:

) (

1 1

1

j m j qj l

q iq q

l q iq

Trang 30

)) (

(

) (

) (

1 1

1

j m j qj l

q iq q

l q iq i

2

2

1 ) ( 2

1 ) (

l q q iq i

n i

i i

w

E w

i i i  q oi q iq

i i

i i

i i

w

net net

net net

y y

Trong đó, oi là tín hiệu sai số, chỉ số dưới thứ hai là điểm thứ i trong lớp đầu

ra Sai số tín hiệu được định nghĩa bởi:

i

i i i

net

y y

E net

Trang 31

Trong đó, neti là đầu vào của phần tử nơron thứ i trong lớp đầu ra và

i

i i

net

net a

Bây giờ ta phải tính đầu ra zq của lớp ẩn:

Với trọng số nối giữa đầu vào và các lớp ẩn, ta sử dụng thay đổi luật cùngphương pháp độ dốc Gradient, ta cập nhật trọng số để kết nối giữa phần tử thứ

j của lớp đầu vào với phần tử thứ q của lớp ẩn Khi đó:

q q

qj

q q

qj qj

v

net net

z z

E v

net net

E v

iq i i

iq oi

i oi q

q

q q

q

net

z z

E net

Trang 32

Trong đó, netq là đầu vào phần tử thứ q của lớp ẩn.

Tín hiệu sai số của một phần tử trong lớp ẩn khác so với tín hiệu sai sốcủa một phần tử trong lớp đầu ra, như đã được chỉ ra trong công thức (1.30)

và (1.26) Do có sự khác nhau này, nên các thủ tục cập nhật các trọng số trênđược gọi là luật học delta tổng quát Chúng ta xem xét công thức (1.30), sai sốtín hiệu hq của phần tử lớp ẩn q có thể được xác định trong các mẫu của cáctín hiệu sai số oi của các phần tử ở lớp ra thứ i (yi) cung ứng Các hệ số làcác trọng số được sử dụng cho lan truyền thẳng, nhưng ở đây chúng truyềncác tín hiệu sai số (oi) ngược trở lại, đó chính là các đường nét đứt tronghình (1.13) Điều này đã chứng tỏ được đặc điểm quan trọng của thuật toánlan truyền ngược – luật cập nhật cục bộ, đây chính là tính toán trọng số thayđổi dựa vào sự kết nối, và chúng ta chỉ cần giá trị ở hai đầu của kết nối này

Sự đạo hàm ở trên có thể dễ dàng mở rộng cho mạng có nhiều hơn mộtlớp ẩn, bằng cách sử dụng chuỗi luật liên tiếp Trong trường hợp chung, với

số lớp tùy ý, thì sự lan truyền ngược được cập nhật luật ở dạng sau:

j input i output j

Trang 33

và được định nghĩa bởi công thức (1.30) cho tất cả các lớp khác Khi hàmsigmoid lưỡng cực được sử dụng làm hàm kích hoạt, đồng thời sử dụng (1.26)

và (1.30) ta có hàm y được xác định như sau:

1 1

1 )

1 ) ( ) (

net

net a net

i oi

1

Thuật toán lan truyền ngược

Xem xét một mạng với Q lớp lan truyền ngược, q=1,2, ,Q; với qneti và

qyi lần lượt là đầu vào và đầu ra của khối trong lớp thứ q Mạng có m nơronđầu vào, l nơron ở lớp ẩn, và n nơron đầu ra Với qwij là trọng số nối từ q-1wj

Bước 0 (Đặt giá trị ban đầu)

- Lựa chọn bước tính (Hằng số học) 0<η<1 và Eη<η<1 và E1 và Emax (sai số lớn nhấtcho phép)

Trang 34

- Chọn các trọng số ban đầu nối từ phần tử thứ j của lớp (q – 1) đếnphần tử thứ i của lớp q là qwij có giá trị nhỏ và ngẫu nhiên.

- Cho sai số E = 0 và k = 1

Bước 1 (Vòng lặp huấn luyện)

Áp dụng mẫu vào thứ k, cho lớp đầu vào q=1 Khi đó ta có:

qyi = 1yi = xi(k) cho tất cả các i = 1,2,3,…,m (1.34)

Bước 2 (Lan truyền thẳng)

Lan truyền tín hiệu thẳng xuyên suốt mạng sử dụng công thức (1.35)cho mỗi i và q cho tới khi các đầu ra của lớp đầu ra Qyi được thực hiện

) (

q i

q i

Bước 3 (Đo lường sai số đầu ra)

Tính toán giá trị sai lệch và tín hiệu sai lệch Qi cho lớp đầu ra nhưsau:

E y

)

( 2

1

) '(

).

( ( )

i

Q i Q k i i

Trong đó: i

Q

 là tín hiệu sai lệch của nơron thứ i cho lớp ra Q;

là đạo hàm của hàm truyền ặ) theo tổng trọng số của phần tử icủa lớp đầu ra là

Trang 35

) ( ) '(

i Q i

Q

net d

da net

Bước 4 (lan truyền ngược sai số)

Các sai số lan truyền ngược với mục đích để cập nhật các trọng

số và tính toán các tín hiệu sai lệch i

q

 1

cho các lớp xử lý:

j q i q ij

q w  1y

q old ij q new ij

q ww   w

(1.38)

j j

q ji

q i

q i

q  anetw

1

; với q=Q,Q-1, ,2 (1.39) Trong đó:

- là sai lệch tại thời điểm tính của giá trị trọng số liên kết cậpnhật mới và cũ, liên kết từ phần tử thứ j của lớp q-1 đến phần tử icủa lớp q

- là giá trị trọng số liên kết cập nhật mới từ phần tử thứ jcủa lớp (q-1) đến phần tử i của lớp q

- là giá trị trọng số liên kết cũ từ phần tử thứ j của lớp (q-1) đếnphần tử i của lớp q

- là tín hiệu ra của phần tử j của lớp (q-1)

Bước 5 (Sau mỗi vòng lặp)

Trang 36

Kiểm tra xem đã lặp hết các giá trị mẫu huấn luyện chưa, nếu chưaquay vòng hết (tức là k<η<1 và Ep) tăng k=k+1, và nhảy tới bước 1, ngược lại(tức k=p) thì chuyển sang bước 6.

Bước 6 (Kiểm tra tổng sai số)

Kiểm tra sự khác nhau giữa tổng sai số và sai số cho phép:

- Nếu tổng sai số nhỏ hơn sai số cho phép (tức là E<η<1 và EEmax) thì kết thúcquá trình huấn luyện, và ghi lại các giá trị trọng số cuối cùng

- Trái lại, thì lại gán E=0, k=1 và bắt đầu một quá trình huấn luyệnmới bằng cách nhảy tới bước 1

độ lệch và các trọng số kết nối sẽ được áp dụng

Trang 37

Các mạng nơron được huấn luyện bằng cách sử dụng thuật toán lantruyền ngược Thuật toán lan truyền ngược là một dạng huấn luyện có giámsát Mạng nơron được đưa vào dữ liệu huấn luyện cho cho ra kết quả, các kếtquả này được so sánh với các kết quả được mong đợi Sự khác nhau giữa cáckết quả thực tế và các kết quả mong đợi sẽ có một mức sai số nào đó Đểgiảm thiểu sai số này, người ta tiến hành sử dụng thuật toán lan truyền ngược

để điều chỉnh các trọng số và độ lệch của mạng Đây là cách mà sai số đượcgiảm đáng kể Trong chương tiếp theo, chúng ta sẽ tìm hiều về mạng nơronKohonen Sự khác nhau quan trọng nhất giữa mạng nơron Kohonen và mạngnơron lan truyền ngược là phương thức huấn luyện Phương thức lan truyềnngược sử dụng phương thức huấn luyện có giám sát Còn mạng nơronKohonen sử dụng phương thức huấn luyện không giám sát

Trang 38

Chương 2 Tìm hiểu mạng nơron Kohonen

2.1 Giới thiệu

Trong các kiểu khác nhau của mạng nơron, mạng nơron Kohonengiống với mạng nơron sinh học hơn cả về cấu tạo lẫn cơ chế học Mạng nơronnhân tạo này lần đầu tiên được giới thiệu bởi Kohonen vào năm 1982, nóđược biết đến như là ánh xạ đặc trưng tự tổ chức (SOM) Ánh xạ tự tổ chứccủa Kohonen còn được biết đến là một trong những mô hình khá đơn giản củamạng nơron, và người ta thường gọi đó là mạng nơron Kohonen

Mạng nơron Kohonen (hay nơron tự tổ chức) mô hình hóa cách hoạtđộng bộ não của con người, mặc dù nó khá đơn giản Chúng ta có thể nhậnđược một số ý tưởng cách bộ não lưu trữ hình ảnh và cách nó nhận dạng cáchình ảnh

Cách xử lý thông tin các mạng nơron khác thường chỉ quan tâm đến giátrị và dấu hiệu của thông tin đầu vào, chưa quan tâm khai thác các mối liên hệ

có tính chất cấu trúc trong lân cận của các vùng dữ liệu mẫu, hay toàn thểkhông gian Nhưng trong mạng nơron Kohonen đã quan tâm đến các yếu tốnày

Tự tổ chức trong mạng nơron là một trong những chủ đề cuốn hút trongmạng nơron Một mạng nơron như vậy có thể được luyện để tìm ra các quy

Trang 39

luật và các tương quan, các giá trị nhập vào và dự đoán các kết quả tiếp theo.Các nơron của mạng thông qua quá trình luyện cạnh tranh để nhận ra mộtnhóm các đối tượng đầu vào tương đương nhau Mục đích chính của việcluyện trong mạng nơron Kohonen là nhận dạng một nhóm các vector đầu vàocùng loại.

Trong phần tiếp theo, chúng ta có thể chỉ ra hình ảnh được lưu trữ vànhận dạng với mạng nơron Kohonen Việc thi hành mạng nơron Kohonen cóthể được thay thế bởi một thuật toán tương ứng mà dễ dàng thi hành, và luônluôn được sử dụng trong các ứng dụng của mạng nơron Kohonen Chúng tagọi thuật toán đó là thuật toán mạng nơron tự tổ chức (Kohonen, 1988) hayánh xạ tự tổ chức SOM Ý tưởng đáng chú ý của thuật toán này là ánh xạ cácđặc trưng topo tự tổ chức nhằm bảo toàn trật tự sắp xếp các mẫu trong khônggian biểu diễn nhiều chiều sang một không gian mới với các mảng nơron có

số chiều nhỏ hơn, thường là hai chiều Đây là một phép chiếu phi tuyến đemlại một “ánh xạ đặc trưng” hai chiều, nó có thể được sử dụng trong việc pháthiện và phân tích những đặc trưng trong không gian đầu vào Ta hiểu điều nàynhư là bảo toàn cấu trúc các đặc trưng Trong mạng nơron Kohonen, cácvector tín hiệu đầu vào gần nhau sẽ được ánh xạ sang các nơron lân cận trongmạng

Trang 40

Kỹ thuật SOM đã được áp dụng thành công trong một số lĩnh vực nhưnhận dạng, phân cụm dữ liệu, dự đoán chuỗi và khai phá dữ liệu, Mẫu đượcnhận dạng có thể là ảnh, âm thanh hoặc văn bản, Có thể xem SOM là mộtlớp điển hình, nhưng rất đơn giản của các mạng nơron Kohonen.

2.2 Mạng nơron Kohonen

Mạng luyện không không có thầy hướng dẫn, là một kiểu luyện mà ở

đó các nơron tự xoay xở với các dữ liệu mẫu mà nó có được chứ không có

“Ông thầy” gợi ý cần luyện theo hướng nào

Tự mình khám phá những quan hệ đang được quan tâm, ví dụ về cácdạng ( patterns), các đặc trưng (features ) từ dữ liệu vào (input data)sau đó chuyển thành cái ra (outputs) Như vậy thực chất : đó là các mạng tự

tổ chức (hay mạng nơron Kohonen)

Định nghĩa: Mạng noron Kohonen là mạng có khả năng sử dụng những

kinh nghiệm của quá khứ để thích ứng với những biến đổi của môi trường(không dự báo trước) Loại mạng này thuộc nhóm hệ học, thích nghi khôngcần có tín hiệu chỉ đạo từ bên ngoài

Trong phần này chúng ta sẽ trình bày một số quy trình luyện tham sốcủa luyện không có thày như sau:

Mô hình

Mạng có n nơron PE i , i=1,2, , n

Ngày đăng: 28/08/2014, 14:24

HÌNH ẢNH LIÊN QUAN

Hình 1.1 Một nơron sinh học - Nhận dạng ký tự quang sử dụng mạng nơron kohonen
Hình 1.1 Một nơron sinh học (Trang 7)
Hình 1.2. Sự liên kết các nơron - Nhận dạng ký tự quang sử dụng mạng nơron kohonen
Hình 1.2. Sự liên kết các nơron (Trang 7)
Hình 1.3 Mô hình một nơron nhân tạo - Nhận dạng ký tự quang sử dụng mạng nơron kohonen
Hình 1.3 Mô hình một nơron nhân tạo (Trang 8)
Hình 1.4 Đồ thị các dạng hàm truyền - Nhận dạng ký tự quang sử dụng mạng nơron kohonen
Hình 1.4 Đồ thị các dạng hàm truyền (Trang 11)
Hình 1.5 Mạng nơron ba lớp - Nhận dạng ký tự quang sử dụng mạng nơron kohonen
Hình 1.5 Mạng nơron ba lớp (Trang 12)
Hình 1.7 Cấu trúc của mạng Hopfield - Nhận dạng ký tự quang sử dụng mạng nơron kohonen
Hình 1.7 Cấu trúc của mạng Hopfield (Trang 18)
Hình 1.8 Cấu trúc của BAM - Nhận dạng ký tự quang sử dụng mạng nơron kohonen
Hình 1.8 Cấu trúc của BAM (Trang 19)
Hình 1.9: Cấu trúc huấn luyện mạng nơron - Nhận dạng ký tự quang sử dụng mạng nơron kohonen
Hình 1.9 Cấu trúc huấn luyện mạng nơron (Trang 21)
Hình 1.10:  Học có giám sát - Nhận dạng ký tự quang sử dụng mạng nơron kohonen
Hình 1.10 Học có giám sát (Trang 23)
Hình 1.11: Học không có giám sát - Nhận dạng ký tự quang sử dụng mạng nơron kohonen
Hình 1.11 Học không có giám sát (Trang 24)
Hình 1.12: Sơ đồ cấu trúc chung của quá trình học - Nhận dạng ký tự quang sử dụng mạng nơron kohonen
Hình 1.12 Sơ đồ cấu trúc chung của quá trình học (Trang 26)
Hình 1.14: Mạng 3 lớp lan truyền ngược - Nhận dạng ký tự quang sử dụng mạng nơron kohonen
Hình 1.14 Mạng 3 lớp lan truyền ngược (Trang 28)
Hình 2.1: Một dạng mạng nơron Kohonen - Nhận dạng ký tự quang sử dụng mạng nơron kohonen
Hình 2.1 Một dạng mạng nơron Kohonen (Trang 43)
Hình 3.1:Mô hình chung trong nhận dạng chữ viết. - Nhận dạng ký tự quang sử dụng mạng nơron kohonen
Hình 3.1 Mô hình chung trong nhận dạng chữ viết (Trang 90)
Hình 3.2: Sơ đồ huấn luyện mạng - Nhận dạng ký tự quang sử dụng mạng nơron kohonen
Hình 3.2 Sơ đồ huấn luyện mạng (Trang 90)
Hình 3.9 Đưa chữ ký vào mạng và gán tên - Nhận dạng ký tự quang sử dụng mạng nơron kohonen
Hình 3.9 Đưa chữ ký vào mạng và gán tên (Trang 95)
Hình 3.8 Kết quả mạng nơron Kohonen nhận dạng ký tự e và ký tự c f. Chọn ảnh, lấy chữ ký (hình 3.9) - Nhận dạng ký tự quang sử dụng mạng nơron kohonen
Hình 3.8 Kết quả mạng nơron Kohonen nhận dạng ký tự e và ký tự c f. Chọn ảnh, lấy chữ ký (hình 3.9) (Trang 95)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w