Đăng ký Đăng nhập
Trang chủ Nghiên cứu mạng neural nhận dạng chữ in tiếng anh...

Tài liệu Nghiên cứu mạng neural nhận dạng chữ in tiếng anh

.PDF
70
117
126

Mô tả:

i LỜICAMĐOAN Tôixincam côngtrìnhnghiêncứucủachínhbảnthân.Cáckết đoanluậnvănnàylà quảnghiêncứutrongluậnvănlà trungthựcvà chưađượccôngbố trongcáccông trìnhnàokhác. Tácgiảluậnvăn Nguyễn Ngọc Quyên ii LỜICẢMƠN Tôixinbàytỏlòngbiếtơnchânthànhtới thầy PGS.TS. Ngô Quốc Tạongườiđãdìu dắtvàgiúpđỡtôitrongcảlĩnhvựcnghiêncứucủaluậnáncũngnhưtrongcông tácchuyênmônvàcuộcsống. Tác giả xin chân thành cảm ơn sự giúp đỡ của các thầy cô giáo trường Đa ̣i ho ̣c Công ngh ệ thông tin và Truyền thông Thái Nguyên đã ta ̣o điề u kiê ̣n giúp đỡ tận tình trong việc nghiên cứu luận văn. Cuố i cùng tác giả xin chân thành cảm ơn sự giúp đỡ của Ban giám hiê ̣u, Khoa Sau Đại học trường Đa ̣i ho ̣c Công nghệ thông tin và Truyền thông Thái Nguyên đã cho phép và ta ̣o điề u kiê ̣n thuâ ̣n lơ ̣i để tác giả hoàn thành bản luâ ̣n văn này. Tácgiảluậnvăn Nguyễn Ngọc Quyên iii MỤC LỤC CHƢƠNG 1 : MẠNG NEURAL VÀ BÀI TOÁN NHẬN DẠNG CHỮ IN.................... 3 1.1. Khái Niệm Mạng Neural ...................................................................................................... 3 1.1.1. Sơ lược về neural sinh học ............................................................................................... 3 1.1.2. Mạng Neural Nhân Tạo .................................................................................................... 4 1.1.3. Kiến Trúc Mạng ............................................................................................................... 8 1.1.3.1. Mạng truyền thẳng ........................................................................................................ 9 1.1.3.2. Mạng hồi quy (Recurrent Neutral Network) .............................................................. 12 1.1.4. Luật học mạng neural. ................................................................................................. 12 1.1.4.1. Phương Pháp Học........................................................................................................ 12 1.1.4.2. Luật học tham số ......................................................................................................... 14 1.1.4.3. Học có tín hiệu chỉ đạo................................................................................................ 14 1.1.4.4. Học không có tín hiệu chỉ đạo..................................................................................... 15 1.1.4.5. Học tăng cường ........................................................................................................... 15 1.1.4.6. Học cấu trúc ................................................................................................................ 16 1.1.5. Các phương pháp huấn luyện mạng. .............................................................................. 16 1.1.5.1. Phương pháp huấn luyện một pha .............................................................................. 16 1.1.5.2. Phương pháp huấn luyện hai pha ................................................................................ 17 1.1.5.3. phương pháp huấn luyện mạng hai pha HDH ............................................................. 17 1.1.5.4. Phương pháp huấn luyện ba pha đầy đủ...................................................................... 20 1.2. Bài toán nhận dạng chữ in.................................................................................................. 20 1.2.1. Bài toán nhận dạng nói chung ........................................................................................ 20 1.2.2. Giới thiệu về bài toán nhận dạng mẫu ............................................................................ 22 1.2.3. Bài toán nhận dạng chữ in .............................................................................................. 23 1.2.3.1. Phương pháp trích đặc trưng chữ in sử dụng Momen Legendre ................................. 24 CHƢƠNG 2: NHẬN DẠNG CHỮ IN SỬ DỤNG MẠNG NEURAL ........................... 27 2.1. Thiết kế mạng neural .......................................................................................................... 27 2.2. Huấn luyện mạng neural .................................................................................................... 35 2.2.1 Chuẩn bị tập dữ liệu huấn luyện: .................................................................................... 35 2.2.2 Biểu diễn tri thức tập dữ liệu huấn luyện: ....................................................................... 37 2.2.3 Thuật toán lan truyền ngược: .......................................................................................... 39 2.2.4 Áp dụng trong huấn luyện mạng neural nhận dạng chữ in: ............................................ 43 2.3. Nhận dạng mạng neural ..................................................................................................... 46 CHƢƠNG 3: CHƢƠNG TRÌNH NHẬN DẠNG KÝ TỰ .............................................. 47 3.1. Xác định các tham số cho mạng ......................................................................................... 47 3.2. Xử lý dữ liệu và lựa chọn dữ liệu ....................................................................................... 47 3.2.1. Lấy mẫu xuống hình ảnh ................................................................................................ 47 3.2.2. Xử lý dữ liệu (Phân tích ảnh) ......................................................................................... 49 3.2.2.1. Tách dòng kí tự ........................................................................................................... 49 3.2.2.2. Tách từng kí tự ............................................................................................................ 51 3.3. Một số kết quả ..................................................................................................................... 54 iv 3.4. Kết luận ................................................................................................................................ 57 * Về mặt lý thuyết .................................................................................................................... 59 * Về mặt thực tiễn .................................................................................................................... 60 3. Hƣớng phát triển tiếp theo .................................................................................................... 60 * Nhận dạng chữ viết tay tiếng Việt........................................................................................ 60 v DANH MỤC HÌNH Hình 1.1 : Mô hình neural sinh học.................................................................................... 3 Hình 1.2: Đồ thị hàm đồng nhất (Identity function)......................................................... 5 Hình 1.3: Đồ thị hàm bƣớc nhị phân (Binary step function) ........................................... 6 Hình 1.4: Đồ thị hàm sigmoid ............................................................................................. 7 Hình 1.5: Đồ thị hàm sigmoid lƣỡng cực ........................................................................... 7 Hình 1.6. Mô hình một nơ-ron ............................................................................................ 8 Hình 1.7. Mạng truyền thẳng nhiều lớp........................................................................... 11 Hình 1.8. Mạng một lớp có nối ngƣợc .............................................................................. 12 Hình 1.9 . Mạng nhiều lớp có nối ngƣợc .......................................................................... 12 Hình 1.10: Các bƣớc xử lý trong hệ thống nhận dạng mẫu ........................................... 23 Hình 1.11:Các bƣớc giải quyết hình dạng chữ in ........................................................... 24 Hình 2.1: Sơ đồ đồ thị có hƣớng đơn giản ...................................................................... 27 Hình 2.2: Biên quyết định trong không gian mẫu .......................................................... 30 Hình 2.3: Không gian mẫu khả tách tuyến tính .............................................................. 31 Hình 2.4: Không gian mẫu không khả tách tuyến tính .................................................. 32 Hình 2.5: Mô hình mạng 3 lớp .......................................................................................... 34 Hình 2.6: Các bƣớc huấn luyện ........................................................................................ 45 Hình 3.1: Quá trình xác định dòng của các kí tự ............................................................ 50 Hình 3.2: Tách từng kí tự .................................................................................................. 53 Hình 3.3: Giao diện chƣơng trình mô phỏng .................................................................. 54 Hình 3.4: Nhận dạng chữ tiếng Anh trong ảnh ............................................................... 55 Hình 3.5: Nhận dạng kí tự có dấu .................................................................................... 56 Hình 3.6: Kí tự có dấu ....................................................................................................... 57 Hình 3.7: Kí tự số viết tay ................................................................................................. 61 Hình 3.8: Kí tự tiếng Anh viết tay .................................................................................... 62 1 LỜI MỞ ĐẦU Từ khi ra đời cho đến nay, máy tính luôn luôn không ngừng phát triển và đóng một vai trò quan trọng trong nghiên cứu khoa học kĩ thuật, cũng như trong cuộc sống của con người. Nhưng máy tính cũng vẫn chỉ là một công cụ do con người sáng tạo ra và nó sẽ hoạt động theo một chương trình đã được lập trình sẵn của con người.Nó vẫn không có khả năng liên tưởng,suy luận,kết nối các sự việc một cách linh hoạt,và quan trọng hơn hết khả năng sáng tạo như bộ não của con người là không thể. Việc mô phỏng quá trình hoạt động trí tuệ của con người vào ứng dụng trong máy tính là một nỗ lực rất lớn và đang được hoàn thiện của các lập trình viên. Do đó mạng noron(Artificial neural networks) ra đời với mục đích cố gắng mô phỏng quá trình hoạt động trí tuệ của con người. Các nghiên cứu ứng dụng đã được thực hiện trong các ngành: điện, điện tử, kỹ thuật chế tạo, y học, quân sự, kinh tế...và mới nhất là các nghiên cứu ứng dụng trong lĩnh vực quản lý dự án xây dựng Bàitoánnhậndạnglà bàitoánsửdụngcáctínhnăngcủamạngneuralnhiềunhất. Bàitoánnhậndạngvớisựtrợgiúpcủamạngneuralngàynay đã khôngcòndừngởmức độnghiêncứunữamà nó trởthànhmộtlĩnhvực để ápdụngvàothựctế. Trong số các bài toán nhận dạng này, nhận dạng chữ viết đang được ứng dụng rất phổ biến. Nhận dạng chữ viết được ứng dụng trong quá trình tự động hóa các công việc văn phòng như nhập liệu, trữ văn bản, sách báo, phân loại thư tín.... Trong cuộc chạy đua về trí tuệ nhân tạo của thế giới thì hai công ty lớn của làng công nghệ thế giới là Google và Apple thì Google cũng đã đưa ra Google glass sử một nên tảng rất mới và hoạt động chính trên bài toán nhận dạng. Ngoài ra việc xử lý các kí tự để số hoá tài liệu để có thể tìm kiếm thông tin trên các tài liệu cũng được Google nghiên cứu phát triển. 2 Mới đây nhất trong hội nghị các nhà phát triển của Apple thì đại gia làng công nghệ của thế giới đã công bố một thư viện chuyên sâu về mạng neural để việc ứng dụng mạng neural trong các bài toán thực tế trong việc xây dựng các ứng dụng trên nền tảng của Apple. Trong lần giới thiệu về bộ thư việc này thì đã được hưởng ứng nhiệt tình bởi Apple đã cung cấp được một bộ thư viện hỗ trợ việc huấn luyện mạng trong các ứng dụng thực tế và nó sẽ là đặc biệt ứng dụng trong bài toán nhận dạng. Các dòng điện thoại thông minh đang càng ngày được phổ biến với cấu hình mạnh mẽ thì chắc chắn hoàn toàn có thể đáp ứng được việc xây dựng các mạng neural vào để thực hiện các bài toán nhận dạng. Bài toán nhận dạng kí tự này sẽ phát triển mạnh mẽ trong số hoá các văn bản truyền thống và ngoài ra ứng dụng bài toán nhận dạng hoàn toàn có thể giúp cho những người khiếm thị có thể nghe được các văn bản chuyển thể từ nhận dạng chữ sang dạng số hoá rồi có thể tái hiện lại bằng âm thanh giúp những người này có thể tiếp cận các tri thức của nhân loại. Hầu hết các công ty công nghệ hàng đầu đều đi sâu vào việc nghiên cứu các hướng huấn luyện máy tính học được kiến thức của con người. Nên bản thân em cũng muốn tìm hiểu về mạng neural trong việc xây dựng một mạng neural trong bài toán nhận dạng. Mục đích của luận văn là trình bày các kết quả nghiên cứu lý thuyết phục vụ chủ đề “Nghiên cứu mạng neural nhận dạng chữ in tiếng anh”. Để hoàn thành bài tiểu luận này, em đã được sự hướng dẫn nhiệt tình từ thầy PGS.TS. Ngô Quốc Tạo.Những bài giảng và tài liệu của thầy chính là cơ sở đểem có thể hoàn thành tốt báo cáo của mình. Em xin chân thành cảm ơn thầy. 3 CHƢƠNG 1 : MẠNG NEURAL VÀ BÀI TOÁN NHẬN DẠNG CHỮ IN 1.1.Khái Niệm Mạng Neural 1.1.1.Sơ lược về neural sinh học Bộ não con ngƣời có khoảng 1010 tế bào thần kinh liên kết chặt chẽ với nhau được gọi là các nơ-ron. Sau đây là những thành phần chính của một nơ ron Hình 1.1 : Mô hình neural sinh học Trong đó :  Các Soma là thân của neural.  Các dendrites là các dây mảnh, dài, gắn liền với soma, chúng truyền dữ liệu (dưới dạng xung điện thế) đến cho soma xử lý. Bên trong soma các dữ liệu đó được tổng hợp lại. Có thể xem gần đúng sự tổng hợp ấy như là một phép lấy tổng tất cả các dữ liệu mà neural nhận được.  Một loại dây dẫn tín hiệu khác cũng gắn với soma là các axon. Khác với dendrites, axons có khả năng phát các xung điện thế, chúng là các dây dẫn tín hiệu từ neural đi các nơi khác. Chỉ khi nào điện thế trong soma vượt quá một giá trị ngưỡng nào đó (threshold) thì axon mới phát một xung điện thế, còn nếu không thì nó ở trạng thái nghỉ.  Axon nối với các dendrites của các neural khác thông qua những mối nối đặc biệt gọi là synapse. Khi điện thế của synapse tăng lên do các xung phát ra 4 từ axon thì synapse sẽ nhả ra một số chất hoá học (neurotransmitters);các chất này mở "cửa" trên dendrites để cho các ions truyền qua. Chính dòng ions này làm thay đổi điện thế trên dendrites, tạo ra các xung dữ liệu lan truyền tới các neural khác. - Hoạt động của neural sinh học có thể mô tả tóm tắt như sau: Mỗi neural nhận tín hiệu vào từ các tế bào thần kinh khác.Chúng tích hợp các tín hiệu vào, khi tổng tín hiệu vượt quá một ngưỡng nào đó chúng tạo tín hiệu ra và gửi tín hiệu này tới các neural khác thông qua dây thần kinh. Các neural liên kết với nhau thành mạng. Mức độ bền vững của các liên kết này xác định một hệ số gọi là trọng số liên kết. 1.1.2.Mạng Neural Nhân Tạo Để mô phỏng các tế bào thần kinh và các khớp nối thần kinh của bộ não con người, mạng neural nhân tạo có các thành phần có vai trò tương tự là các neural nhân tạo và kết nối giữa chúng (kết nối này gọi là weights). Neural là một đơn vị tính toán có nhiều đầu vào và một đầu ra, mỗi đầu vào đến từ một khớp nối thần kinh (synapse). Đặc trưng của neural là một hàm kích hoạt phi tuyến chuyển đổi một tổ hợp tuyến tính của tất cả các tín hiệu đầu vào thành tín hiệu đầu ra. Một neural nhân tạo là một đơn vị tính toán hay đơn vị xử lý thông tin cơ sở cho hoạt động của một mạng neural. Neural này sẽ hoạt động như sau: giả sử có N inputs, nơron sẽ có N weights (trọng số) tương ứng với N đường truyền inputs. Neural sẽ lấy tổng các trọng số của tất cả các inputs. Nói như thế có nghĩa là neural sẽ lấy input thứ nhất, nhân với weight trên đường input thứ nhất, lấy input thứ hai nhân với weight của đường input thứ hai v.v..., rồi lấy tổng của tất cả các kết quả thu được. Đường truyền nào có weight càng lớn thì tín hiệu truyền qua đó 5 càng lớn, như vậy có thể xem weight là đại lượng tương đương với synapse trong neural sinh học.  Trọng số và tổng tín hiệu đầu vào: Giả sử tại neural i có N tín hiệu vào, mỗi tín hiệu vào S j được gán một trọng số Wij tương ứng. Ta ước lượng tổng tín hiệu đi vào neural net i theo một số dạng sau: (i)Dạng tuyến tính: N neti  Wij s j (1.1) j 1 (ii)Dạng toàn phương: N neti  Wij s 2j (1.2) j 1 (iii)Dạng mặt cầu: neti    s N 2 j 1 j  w ij  2 (1.3) Trong đó:  và w ij  j  1, N  lần lượt là tâm và bán kính mặt cầu  Hàm kích hoạt (hàm chuyển): Một số hàm kích hoạt thường được sử dụng: 1) Hàm đồng nhất (Linear function, Identity function) g(x) = x (1.4) Nếu coi các đầu vào là một đơn vị thì chúng sẽ sử dụng hàm này. Có khi một hằng số được nhân với net-input tạo thành một hàm đồng nhất. Hình 1.2: Đồ thị hàm đồng nhất (Identity function) 6 2) Hàm bước nhị phân (Binary step function, Hard limit function) Hàm này còn gọi là hàm ngưỡng (Threshold function hay Heaviside function). Đầu ra của hàm này giới hạn một trong hai giá trị: ì1 (x ³ q ) g(x) = í î0 (x < q ) (1.5) ở đây  là ngưỡng Hình 1.3: Đồ thị hàm bước nhị phân (Binary step function) Dạng hàm này thường sử dụng trong mạng một lớp. Trong hình vẽ  được chọn bằng 1. 3) Hàm sigmoid (Sigmoid function (logsig)) Hàm sigma là dạng chung nhất của hàm kích hoạt được sử dụng trong cấu trúc mạng neural nhân tạo. Nó là một hàm tăng và nó thể hiện một sự trung gian giữa tuyến tính và phi tuyến. Một ví dụ của hàm này là hàm logistics, xác định như sau: g( x)  1 1 e  x (1.6) ở đó  là tham số độ dốc của hàm sigma. Bằng việc biến đổi tham số  , chúng ta thu được các hàm sigma với các độ dốc khác nhau. Thực tế, hệ số góc tại x= 0 là  /4. Khi tham số hệ số góc tiến tới không xác định, hàm sigma trở thành một hàm ngưỡng đơn giản. Trong khi một hàm ngưỡng chỉ có giá trị là 0 hoặc 1, thì ở đó  là tham số độ dốc của hàm sigma. Bằng việc biến đổi tham số  , chúng ta thu được các hàm sigma với các độ dốc khác nhau. 7 Trong khi một hàm ngưỡng chỉ có giá trị là 0 hoặc 1, thì một hàm sigma nhận các giá trị từ 0 tới 1. Cũng phải ghi nhận rằng hàm sigma là hàm phân biệt, trong khi hàm ngưỡng thì không (Tính phân biệt của hàm là một đặc tính quan trọng trong lý thuyết mạng neuron). Hàm này thường được dùng cho các mạng được huấn luyện (trained) bởi thuật toán lan truyền ngược (back – propagation), bởi nó dễ lấy đạo hàm, làm giảm đáng kể tính toán trong quá trình huấn luyện. Hàm được dùng cho các chương trình ứng dụng mà đầu ra mong muốn rơi vào khoảng [0,1]. Hình 1.4: Đồ thị hàm sigmoid 4)Hàm sigmoid lưỡng cực (Bipolar sigmoid function (tan(sig)) 1 e x g( x)  1 e x (1.7) Hàm này có đặc tính tương tự hàm sigmoid. Hàm làm việc tốt đối với các ứng dụng có đầu ra yêu cầu trong khoảng [-1,1]. Hình 1.5: Đồ thị hàm sigmoid lưỡng cực 8  Nút bias: Là một nút thêm vào nhằm tăng khả năng thích nghi của mạng nơ-ron trong quá trình học. Trong các mạng nơ-ron có sử dụng bias, mỗi nơ-ron có thể có một trọng số tương ứng với bias. Trọng số này luôn có giá trị là 1. Mô hình của một nút xử lý (nút thứ i): Vi Wi1 Vj Wij Ui=  Vi=fi(Ui) Vi WiN VN Hình 1.6. Mô hình một nơ-ron N U i   Wij Vj  θ i j 1 j #i Vi  f i U i  (1.8) (1.9) Trong đó: Ui : là tín hiệu vào tại nơ-ron i Vi : là tín hiệu ra tại nơron i Wij : là trọng số liền kề từ nơ-ron j đến nơ-ron i  i : là ngưỡng (đầu vào ngoài) kích hoạt nơ-ron i. fi : là hàm kích hoạt của nơ-ron i 1.1.3.Kiến Trúc Mạng Mạng neural nhân tạo là một hệ thống bao gồm nhiều phần tử xử lý đơn giản (hay còn gọi là neural) tựa như neural thần kinh của não người, hoạt động song song và được nối với nhau bởi các liên kết neural. Mỗi liên kết 9 kèm theo một trọng số nào đó, đặc trưng cho tính kích hoạt hoặc ức chế giữa các neural. Việc ứng dụng mạng neural có thể giải quyết được các lớp bài toán nhất định, như: Bài toán người du lịch, bài toán tô màu bản đồ, bài toán xếp loại, bài toán lập thời khóa biểu, bài toán tìm kiếm, bài toán nhận dạng mẫu... Các bài toán phức tạp cao, không xác định. Tuy nhiên, sự liên kết giữa một bài toán bất kỳ trong thực tế với một giải pháp mạng neural lại là một việc không hề dễ dàng. Xét một cách tổng quát, mạng neural mang các đặc tính nổi bật sau :  Là mô hình toán học dựa trên bản chất của neural.  Bao gồm một số lượng rất lớn các neural liên kết với nhau.Mạng neural có khả năng học, khái quát hóa tập dữ liệu học thông qua việc gán và hiệu chỉnh các trọng số liên kết.  Tổ chức theo kiểu tập hợp mang lại cho mạng neural khả năng tính toán rất lớn, trong đó không có neural nào mang thông tin riêng biệt. 1.1.3.1. Mạng truyền thẳng - Mạng truyền thẳng một lớp Mạng truyền thẳng một lớp là mạng perceptron một lớp. Là mạng truyền thẳng chỉ một lớp vào và một lớp ra. Trên mỗi lớp có thể có một hoặc nhiều neural mạng truyền thẳng một lớp chỉ có một lớp vào và một lớp ra. Mô hình mạng neural perceptron sử dụng hàm ngưỡng đóng vai trò là hàm chuyển. Do đó, tổng của tín hiệu vào lớn hơn giá trị ngưỡng thì giá trị đầu ra của neural sẽ là 1, còn trái lại sẽ là 0. ì1 (neti ³ q ) outi = í î0 (neti < q ) Với neti = w ij xj là tổng thông tin đầu vào của neural i. (1.10) 10 Trong đó ma trận trọng số cho các phần tử trong vector đầu vào W:  w1,1 w1, 2 ...w1, R    w2,1 w2, 2 ...w2, R   W = ......................     wS ,1 wS , 2 ...wS , R   Với mỗi giá trị đầu vào. x  x1, x2, ..., xn  . Qua quá trình xử lý của T mạng ta sẽ thu được một bộ tương ứng các giá trị đầu ra là y  y1, y2, ..., yn  T được xác định như sau :  m  yi  f i   wij x j   i , i  1, n  j 1  (1.11) Trong đó : m : Số tín hiệu vào n : Số tín hiệu ra WiT wi1 , wi 2 ,..., win T : là véc tơ trọng số của neural thứ i. fi : Là hàm kích hoạt neural thứ i  i : Là ngưỡng của neural thứ i. Ngay từ khi mạng Perceptron được đề xuất nó được sử dụng để giải quyết bài toán phân lớp. Một đối tượng sẽ được neural i phân vào lớp A nếu : m : Số tín hiệu vào n : Số tín hiệu ra Tổng thông tin đầu vào w ij xj > i Trong trường hợp trái lại neural sẽ được phân vào lớp B. 11 Mạng truyền thẳng nhiều lớp (Multilayer Perceptron –MLP) Nếu dùng mạng neural truyền thẳng một lớp ở trên để phân tích một bài toán phức tạp sẽ gặp nhiều khó khăn. Do vậy để khắc phục những khó khăn đó người ta đưa ra mô hình mạng neural truyền thẳng nhiều lớp bằng việc kết hợp các lớp neural lại với nhau. Loại mạng này có 3 lớp  Lớp vào là lớp nhận tín hiệu vào  Lớp ra là lớp đưa tín hiệu ra  Lớp ẩn là lớp ở giữa lớp vào và lớp ra các neural trong lớp này có hàm chuyển dạng phi tuyến Do vậy mạng neural nhiều lớp có thể giải quyết các bài toán phi tuyến nhờ vào các lớp ẩn. Càng nhiều lớp ẩn thì khả năng mở rộng thông tin càng cao và xử lý tốt mạng x1 Lớp vào Lớp ẩn Lớp ra y1 x2 y2 yn xm Hình 1.7. Mạng truyền thẳng nhiều lớp Mỗi nút trong lớp vào nhận giá trị của một biến độc lập và chuyển vào mạng. Dữ liệu từ tất cả các nút trong lớp vào được tích hợp – ta gọi là tổng trọng số – và chuyển kết quả cho các nút trong lớp ẩn. Gọi là “ẩn” vì các nút trong lớp này chỉ liên lạc với các nút trong lớp vào và lớp ra, và chỉ có người thiết kế mạng mới biết lớp này (người sử dụng không biết lớp này). Các nút trong lớp ra nhận các tín hiệu tổng trọng hóa từ các nút trong lớp ẩn. Mỗi nút trong lớp ra tương ứng với một biến phụ thuộc. 12 1.1.3.2. Mạng hồi quy (Recurrent Neutral Network) Mạng hồi quy một lớp có nối ngƣợc X1 Y1 X2 ... Y2 ... ... XN YM Hình 1.8. Mạng một lớp có nối ngược Mạng hồi quy nhiều lớp có nối ngƣợc. X1 Y1 X2 ... Y2 ... XN ... ... YM Hình 1.9 . Mạng nhiều lớp có nối ngược 1.1.4. Luật học mạng neural. 1.1.4.1.Phương Pháp Học Bộ não muốn hoạt động một cách nhanh nhạy và chuẩn xác thì cần một quá trình tích lũy kinh nghiệm và thích nghi với môi trường. Do vậy tiến trình học là một tiến trình quan trọng của con người để bộ não có thể tích lũy kinh nghiệm và thích nghi với môi trường để xử lý tình huống một cách tốt hơn. Mạng neural được xây dựng lại theo cấu trúc bộ não thì cũng phải cần có khả năng nhận biết dữ liệu thông qua tiến trình học. Các thông số tự do của mạng có thể thay đổi liên tục bởi những thay đổi của môi trường và mạng neural cần phải ghi nhớ giá trị đó. 13 Quá trình học có thể được thực hiện như sau: - Giá trị đầu vào được đưa vào mạng và theo dòng chảy trong mạng tạo thành giá trị đầu ra. - Quá trình so sánh giá trị tạo ra bởi mạng neural với giá trị mong muốn. Nếu hai giá trị này giống nhau thì không thay đổi gì cả. Tuy nhiên, nếu có một sai lệch giữa hai giá trị này vượt quá giá trị sai số mong muốn thì đi ngược mạng từ đầu ra về đầu vào để thay đổi một số kết nối. Đây là quá trình lặp lại liên tục và có thể không dừng khi không tìm được giá trị W sao cho đầu ra tạo bởi mạng neural bằng đúng đầu ra mong muốn.Để có thể dừng quá trình lặp này người ta sẽ thiết lập một tiêu chuẩn dựa vào giá trị sai số giữa hai giá trị hoặc số lần lặp. Công thức tính sai lệch giữa haigiá trị là: e=t–y kí hiệu : y là giá trị kết xuất của mạng nơ-ron t là giá trị ra mong muốn, e là sai lệch giữa hai giá trị này Cấu trúc song song của mạng neural là một ưu điểm lớn so với máy tính truyền thống, nó rất thích hợp cho những ứng dụng đòi hỏi tốc độ nhanh theo thời gian thực. Khả năng huấn luyện của mạng neural có thể khai thác để phát triển hệ thống thích nghi. Mặt khác, với khả năng tổng quát hóa của mạng neural, nó có thể áp dụng để điều khiển nhiều tham số phức tạp đồng thời từ đó giải quyết dễ dàng một số bài toán thuộc lớp bài toán NP- đầy đủ (NP-Complete). Cách đơn giản về khái niệm học của mạng neural là cập nhật trọng số trên cơ sở các mẫu. Rộng hơn thì luật học có thể chia ra làm hai loại là học tham số và học cấu trúc. Các luật học đóng vai trò quan trọng trong việc xác định một mạng neural nhân tạo 14 1.1.4.2. Luật học tham số Học tham số là nhằm tìm kiếm ma trận trọng số sao cho mạng có khả năng đưa ra dự báo sát với thực tế. Dạng chung của luật học tham số là: Wij  rx j , i  1, N , j  1, M (1.12) Trong đó: Wij : là sự thay đổi trọng số liên kết từ neural j đến neural i. x j : là tín hiệu vào neural j.  : là tốc độ học, nằm trong khoảng (0,1). r : là hằng số học. Hằng số học r sẽ được xác định theo 3 cách tương ứng với 3 luật học trong luật học tham số để hiệu chỉnh trọng số của mạng. 1.1.4.3. Học có tín hiệu chỉ đạo Trong quá trình học mạng sẽ dựa vào sai số giữa đầu ra thực tế và đầu vào mong muốn để làm cơ sở cho quá trình hiệu chỉnh trọng số. Sai số này chính là hằng số học r Luật học điển hình của nhóm này là luật học Delta của Widrow (1962) nêu ra đầu tiên dùng để xấp xỉ trọng của Adaline dựa trên nguyên tắc giảm gradient. Luật học Perceptron của Rosenblatt (1958) luật Perceptron thì thêm hoặc bỏ trọng số tùy theo giá trị sai số dương hay âm. Ngoài ra còn một luật học khác cũng dựa trên tư tưởng đó như luật học Oja là cải tiến và nâng cấp của luật Delta, luật truyền ngược lại mở rộng luật Delta cho mạng nhiều lớp. Đối với mạng truyền thẳng thường sử dụng luật truyền ngược để chỉnh trọng số với tín hiệu chỉ đạo từ bên ngoài và người ta gọi mạng này là mạng lan truyền ngược. 15 1.1.4.4. Học không có tín hiệu chỉ đạo Luật học này sử dụng đầu ra của mạng làm cơ sở để hiệu chỉnh các trọng số liên kết. Hay trong luật này chính là tín hiệu ra của mạng. Điển hình là luật Hebb (1949) thường dùng cho các mạng tự liên kết, luật LVQ (Learning Vector Quantization) dùng cho mạng tự tổ chức một lớp thuộc lớp mạng ánh xạ đặc trưng của Kohonen.Luật học Hebb cho rằng: Giữa hai neural có quan hệ và có thay đổi thế năng thì giữa chúng có sự thay đổi trọng số liên kết. Trọng số được điều chỉnh theo mối tương quan trước và sau, nghĩa là: Wij  yi x j , i  1, N , j  1, M (1.13) Trong đó: Wij là sự thay đổi trọng số liên kết từ neural j đến neural i. x j: là tín hiệu vào neural j. yi là tín hiệu ra của neural i.  là tốc độ học, nằm trong khoảng (0,1). Luật Hebb giải thích việc chỉnh trọng trong phạm vi cục bộ của mạng mà không cần tín hiệu chỉ đạo từ bên ngoài. Hopfield cũng cải tiến luật Hebb cho các mạng tự liên kết thành 16 dạng khác nhau theo kiểu luật Hebb, luật đối Hebb, luật Hopfield... 1.1.4.5. Học tăng cường Luật học này dựa vào cơ sở thông tin phản hồi chỉ là tín hiệu bao gồm hai trạng thái cho biết tín hiệu đầu ra của mạng là đúng hay sai. Quá trình học dựa trên các thông tin hướng dẫn như vậy được gọi là học có củng cố (học tăng cường) và tín hiệu mang thông tin phản hồi được gọi là tín hiệu củng cố cho quá trình học. Ta có thể thấy rằng quá trình học này là một dạng của quá
- Xem thêm -

Tài liệu liên quan