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

đồ án tốt nghiệp sử dụng mạng nơ ron nhận dạng ký tự

70 1,2K 10

Đ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 70
Dung lượng 2,6 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Có hai khái niệm mới liên quan đến sự hồi sinh này, đó là:  Việc sử dụng các phương pháp thống kê để giải thích hoạt động của một lớp các mạng hồi quy recurrent networks có thể được dùn

Trang 1

ĐẠI HỌC GIAO THÔNG VẬN TẢI KHOA CÔNG NGHỆ THÔNG TIN

BỘ MÔN MẠNG VÀ CÁC HỆ THỐNG THÔNG TIN

Giáo viên hướng dẫn : TS Đặng Thị Thu Hiền

Hà Nội 05/2012

Trang 2

Nguyễn Thị Quyên Trang 2

MỤC LỤC

LỜI NÓI ĐẦU ……….5

CHƯƠNG 1: TỔNG QUAN VỀ MẠNG NƠ-RON NHÂN TẠO 7

1.1 Sơ lược về mạng Nơ-ron nhân tạo: 7

1.1.1 Lịch sử phát triển: 7

1.1.2 Nơ-ron sinh học: 8

1.1.3 Nơ-ron nhân tạo: 10

1.1.4 Mạng nơ-ron nhân tạo: 14

1.2 Đặc trưng của mạng nơ-ron: 15

1.2.1 Tính phi tuyến: 15

1.2.2 Tính chất tương ứng đầu vào đầu ra: 15

1.2.3 Tính chất thích nghi: 15

1.2.4 Tính chất đưa ra lời giải có bằng chứng: 15

1.2.5 Tính chất chấp nhận sai xót: 15

1.2.6 Khả năng cài đặt VLSI(Very-large-scale-intergrated): 16

1.2.7 Tính chất đồng dạng trong phân tích và thiết kế: 16

1.3 Phân loại mạng nơ-ron: 16

1.3.1 Mạng nơ-ron truyền thẳng: 17

1.3.1.1 Mạng nơ-ron truyền thẳng một lớp (Perceptron): 18

1.3.1.2 Mạng nơ-ron truyền thẳng nhiều lớp (MLP): 18

1.3.2 Mạng nơ-ron quy hồi: 19

1.4 Huấn luyện mạng nơ-ron: 20

1.4.1 Các phương pháp học: 20

1.4.2 Học có giám sát trong mạng nơ-ron: 22

1.4.3 Thuật toán học: 22

1.4.3.1 Thuật toán học của mạng nơ-ron truyền thẳng một lớp: 22

1.4.3.2 Thuật toán học của mạng nơ-ron nhiều lớp: 24

Trang 3

Nguyễn Thị Quyên Trang 3

1.4.3.3 Một số yếu tố ảnh hưởng đến quá trình học theo phương pháp lan truyền

ngược sai số: 30

1.4.3.4 Một số hạn chế của phương pháp lan truyền ngược: 31

1.5 Thu thập dữ liệu cho mạng nơ-ron: 32

1.6 Biểu diễn tri thức cho mạng nơ-ron: 33

CHƯƠNG 2: ỨNG DỤNG MẠNG NƠ-RON TRONG NHẬN DẠNG KÝ TỰ 36

2.1 Sơ lược: 36

2.2 Bài toán nhận dạng ký tự: 36

2.3 Các bước giải quyết bài toán nhận dạng ký tự: 37

2.3.1 Xác định đầu vào và đầu ra của bài toán: 37

2.3.2 Xác định cấu trúc mạng nơ-ron: 37

2.3.3 Thuật toán huấn luyện mạng: 39

2.3.4 Xử lý dữ liệu: 42

2.3.4.1 Tách dòng ký tự: 42

2.3.4.2 Tách ký tự: 43

2.3.4.3 Tìm giới hạn ký tự: 45

2.3.4.4 Ánh xạ vào ma trận: 47

2.3.5 Huấn luyện mạng nơ-ron: 49

2.3.6 Nhận dạng ảnh kí tự: 53

CHƯƠNG 3: CÀI ĐẶT CHƯƠNG TRÌNH THỰC NGHIỆM 55

3.1 Giao diện chính của chương trình: 55

3.2 Tổng quan về các chức năng chính của chương trình: 55

3.3 Thực nghiệm chương trình: 56

3.3.1 Thực nghiệm tính một vài tham số đầu vào: 56

3.3.1.1 Số vòng lặp huấn luyện: 56

3.3.1.2 Thực nghiệm tìm tham số tốc độ học: 57

3.3.2 Thực nghiệm huấn luyên mạng nơ-ron: 57

3.3.3 Thực nghiệm nhận dạng ký tự: 62

Trang 4

Nguyễn Thị Quyên Trang 4

3.4 Nhận xét và đánh giá về chương trình: 68

3.4.1 Sai số trong nhận dạng ký tự: 68

3.4.2 Những hạn chế của chương trình: 68

KẾT LUẬN 69

TÀI LIỆU THAM KHẢO 70

Trang 5

Nguyễn Thị Quyên Trang 5

LỜI NÓI ĐẦU

Mạng nơ-ron trong một vài năm trở lại đây đã được nhiều người quan tâm và đã áp dụng thành công trong nhiều lĩnh vực khác nhau như: tài chính, y tế, địa chất, vật lý… Thật vậy, bất cứ ở đâu có vấn đề về dự báo, phân loại và điều khiển, mạng nơ-ron đều

có thể ứng dụng được Ví dụ như khả năng nhận dạng mặt người trong các hệ thống quản lý thông tin liên quan đến con người (quản lý nhân sự ở các công sở, doanh nghiệp, quản lý học sinh, sinh viên trong các trường trung học, đại học và cao đẳng…); các ngành khoa học hình sự, tội phạm; khoa học tướng số, tử vi,…Với sự phát triển mạnh mẽ của công nghệ thông tin như hiện nay, ứng dụng của mạng nơ-ron nhân tạo ngày càng được quan tâm và phát triển

Một trong những ứng dụng cơ bản của mạng nơ-ron là nhận dạng ký tự Từ lâu các nhà khoa học đã nhận thấy những ưu điểm của bộ óc con người và tìm cách bắt chước để thực hiện trên máy tính, tạo cho nó có khả năng học tập, nhận dạng và phân loại Các mạng nơ-ron nhân tạo đã ra đời từ những nỗ lực đó Nó thực sự được chú ý và nhanh chóng trở thành một hướng nghiên cứu đầy triển vọng trong mục đích xây dựng các máy thông minh tiến gần tới trí tuệ con người, đặc biệt là lĩnh vực nhận dạng

Xuất phát từ những thực tiễn nói trên, cùng với sự giúp đỡ nhiệt tình của T.S Đặng Thị

Thu Hiền em đã thực hiện đồ án tốt nghiệp với đề tài: “Sử dụng mạng nơ-ron nhận dạng ký tự”

Mục đích, yêu cầu của đề tài: Nhận dạng các ký tự với đầu vào là định dạng file ảnh (*.bmp,*.jmp,…), sử dụng công cụ là mạng nơ-ron để có đầu ra là tập hợp các ký tự lưu trữ dưới dạng văn bản

Các mục tiêu cần đạt được:

 Tìm hiểu được mạng nơ-ron nhân tạo là gì?

 Khả năng ứng dụng của mạng nơ-ron nhân tạo trong việc nhận dạng ký tự như thế nào?

 Sử dụng ngôn ngữ lập trình C# và môi trường lập trình Visual Studio để cài đặt chương trình Nhận dạng ký tự dựa trên thuật toán Back Propagation (Lan truyền ngược sai số) đối với mạng nơ-ron truyền thẳng nhiều lớp (MLP: Multi Layer Perceptron)

Trang 6

Nguyễn Thị Quyên Trang 6

Nội dung báo cáo bao gồm các chương sau:

Chương 1:Tổng quan về mạng nơ-ron nhân tạo

Chương này sẽ trình bày cái nhìn tổng quan nhất về mạng nơ-ron, bao gồm: cấu tạo, các đặc trưng, các mô hình mạng và cách thức huấn luyện mạng nơ-ron

Chương 2: Ứng dụng mạng nơ-ron nhận dạng kí tự

Chương 2 sẽ đưa ra bài toán nhận dạng ký tự bằng mạng nơ-ron và cách thức để giải quyết bài toán

Chương 3: Cài đặt chương trình thử nghiệm

Chương này sẽ trình bày giao diện và chức năng của chương trình

Trang 7

Nguyễn Thị Quyên Trang 7

CHƯƠNG 1: TỔNG QUAN VỀ MẠNG NƠ-RON

 Cuối thế kỷ 19, đầu thế kỷ 20, sự phát triển chủ yếu chỉ là những công việc có sự tham gia của cả ba ngành Vật lý học, Tâm lý học và Thần kinh học bởi các nhà khoa học như Hermann von Hemholtz, Ernst Mach, Ivan Pavlov Các công trình nghiên cứu của họ chủ yếu đi sâu vào các lý thuyết tổng quát về HỌC (Learning), NHÌN (vision) và LẬP LUẬN (conditioning), không hề đưa ra những mô hình toán học cụ thể mô tả hoạt động của các nơ-ron

 Mọi chuyện thực sự bắt đầu vào những năm 1940 với công trình của Warren McCulloch và Walter Pitts Họ chỉ ra rằng về nguyên tắc, mạng của các nơ-ron nhân tạo có thể tính toán bất kỳ một hàm số học hay logic nào

 Tiếp theo là Donald Hebb, ông đã phát biểu rằng việc thuyết lập luận cổ điển (classical conditioning) (như Pavlov đưa ra) là hiện thực bởi do các thuộc tính của từng nơ-ron riêng biệt Ông cũng nêu ra một phương pháp học của các nơ-ron nhân tạo

 Ứng dụng thực nghiệm đầu tiên của các nơ-ron nhân tạo có được vào cuối những năm 50 cùng với phát minh của mạng nhận thức (perceptron network) và luật học tương ứng bởi Frank Rosenblatt Mạng này có khả năng nhận dạng các mẫu Điều này đã mở ra rất nhiều hi vọng cho việc nghiên cứu mạng nơ-ron Tuy nhiên nó có hạn chế là chỉ có thể giải quyết một số lớp hữu hạn các bài toán

 Cùng thời gian đó, Bernard Widrow và Ted Hoff đã đưa ra một thuật toán học mới và sử dụng nó để huấn luyện cho các mạng nơ-ron tuyến tính thích nghi, mạng có cấu trúc và chức năng tương tự như mạng của Rosenblatt Luật học Widrow-Hoff vẫn còn được sử dụng cho đến nay

 Tuy nhiên cả Rosenblatt và Widrow-Hoff đều cùng vấp phải một vấn đề do Marvin Minsky và Seymour Papert phát hiện ra, đó là các mạng nhận thức chỉ có khả năng giải quyết các bài toán khả phân tuyến tính Họ cố gắng cải tiến luật

Trang 8

Nguyễn Thị Quyên Trang 8

học và mạng để có thể vượt qua được hạn chế này nhưng họ đã không thành công trong việc cải tiến luật học để có thể huấn luyện được các mạng có cấu trúc phức tạp hơn

 Do những kết quả của Minsky-Papert nên việc nghiên cứu về mạng nơ-ron gần như bị đình lại trong suốt một thập kỷ do nguyên nhân là không có được các máy tính đủ mạnh để có thể thực nghiệm

 Mặc dù vậy, cũng có một vài phát kiến quan trọng vào những năm 70 Năm

1972, Teuvo Kohonen và James Anderson độc lập nhau phát triển một loại mạng mới có thể hoạt động như một bộ nhớ Stephen Grossberg cũng rất tích cực trong việc khảo sát các mạng tự tổ chức (Self organizing networks)

 Vào những năm 80, việc nghiên cứu mạng nơ-ron phát triển rất mạnh mẽ cùng với sự ra đời của PC Có hai khái niệm mới liên quan đến sự hồi sinh này, đó là:

 Việc sử dụng các phương pháp thống kê để giải thích hoạt động của một lớp các mạng hồi quy (recurrent networks) có thể được dùng như bộ nhớ liên hợp (associative memory) trong công trình nghiên cứu của nhà vật lý học Johh Hopfield

 Sự ra đời của thuật toán lan truyền ngược (back-propagation) để huấn luyện các mạng nhiều lớp được một vài nhà nghiên cứu độc lập tìm ra như: David Rumelhart, James McCelland, Đó cũng là câu trả lời cho Minsky-Papert

1.1.2 Nơ-ron sinh học:

Trang 9

Nguyễn Thị Quyên Trang 9

Theo nghiên cứu sinh học về bộ não, hệ thống thần kinh của con người bao gồm khoảng 100 tỷ tế bào thần kinh, thường gọi là các nơ-ron Mỗi tế bào nơ-ron gồm ba phần:

 Thân nơ-ron với nhân bên trong (gọi là soma), là nơi tiếp nhận hay phát ra các xung động thần kinh

 Một hệ thống dạng cây các dây thần kinh vào (gọi là dendrites) 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à nơ-ron nhận được Các dendrites tạo thành một lưới dày đặc xung quanh thân nơ-ron, chiếm diện tích khoảng 0,25 mm2

 Đầu dây thần kinh ra (gọi là sợi trục axon) phân nhánh dạng hình cây, có thể dài

từ một cm đến hàng mét 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ừ nơ-ron đ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 đó 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 nơ-ron 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 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 nơ-ron khác

Thông thường mỗi nơ-ron có thể có từ vài chục cho tới hàng trăm ngàn khớp nối

để nối với các nơ-ron khác Có hai loại khớp nối:

 Khớp nối kích thích (excitatory) sẽ cho tín hiệu qua nó để tới nơ-ron

 Khớp nối ức chế (inhibitory) có tác dụng làm cản tín hiệu tới nơ-ron Người ta ước tính mỗi nơ-ron trong bộ não của con người có khoảng 104 khớp nối (hình 1.1)

Trang 10

Nguyễn Thị Quyên Trang 10

Hình 1.1 Cấu tạo của tế bào nơ-ron sinh học

Có thể tóm tắt hoạt động của một nơ-ron như sau: nơ-ron lấy tổng tất cả các điện thế vào mà nó nhận được, và phát ra một xung điện thế nếu tổng ấy lớn hơn một ngưỡng nào đó Các nơ-ron nối với nhau ở các synapses Synapse được gọi là mạch khi nó cho phép truyền dẫn dễ dàng tín hiệu qua các nơ-ron khác Ngược lại, một synapse yếu sẽ truyền dẫn tín hiệu rất khó khăn

Các synapses đóng vai trò rất quan trọng trong sự học tập Khi chúng ta học tập thì hoạt động của các synapses được tăng cường, tạo nên nhiều liên kết mạnh giữa các nơ-ron

Có thể nói rằng người nào học càng giỏi thì càng có nhiều synapses và các synapses ấy càng mạnh mẽ, hay nói cách khác, thì liên kết giữa các nơ-ron càng nhiều, càng nhạy bén

1.1.3 Nơ-ron nhân tạo:

Nơ-ron nhân tạo 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 liên kết Đặc trưng của nơ-ron là một hàm kích hoạt phi tuyến chuyển đổi 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 Hàm kích hoạt này đảm bảo tính chất phi tuyến cho tính toán của mạng nơ-ron

Trang 11

Nguyễn Thị Quyên Trang 11

Hình1.2: Mô hình một rơ-ron nhân tạo

Trong một mạng nơ-ron có ba kiểu đơn vị:

 Các đơn vị đầu vào (Input units), nhận tín hiệu từ bên ngoài

 Các đơn vị đầu ra (Output units), gửi dữ liệu ra bên ngoài

 Các đơn vị ẩn (Hidden units), tín hiệu vào (input) và ra (output) của nó nằm trong mạng

Mỗi đơn vị có thể có một hoặc nhiều đầu vào: x0, x1, … xn, nhưng chỉ có một đầu ra

tự do cơ bản của mạng nơ-ron, có thể thay đổi được nhằm thích nghi với môi

trường xung quanh

 Bộ cộng dùng để tính tổng các tín hiệu đầu vào của nơ-ron, đã được nhân với các trọng số liên kết tương ứng, phép toán được mô tả ở đây tạo nên một bộ hợp tuyến tính

 Hàm kích hoạt hay còn gọi 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 Hàm kích hoạt này đảm bảo tính chất phi tuyến cho tính toán mạng nơ-ron Nó được xem như

là một hàm giới hạn, nó giới hạn phạm vi biên độ cho phép của tín hiệu đầu ra trong một khoảng giá trị hữu hạn Mô hình nơ-ron trong hình 1.2 còn bao gồm một hệ số điều chỉnh b tác động từ bên ngoài Hệ số điều chỉnh b có tác dụng

Trang 12

Nguyễn Thị Quyên Trang 12

tăng lên hoặc giảm đi đầu vào thực của hàm kích hoạt, tùy theo nó dương hay

âm

Một số hàm kích hoạt cơ bản trong mạng nơ-ron:

1) Hàm đồng nhất (Linear function, Identity function):

g(x)=x Nếu coi các đầu vào là một đơn vị thì chúng sẽ sử dụng hàm này

Hình 1.3 Hàm đồng nhất

2) Hàm bước nhị phân (Binary step function, Hard limit function):

Hàm này cũng được biết đến với tên "Hàm ngưỡng" (Threshold function hay Heaviside function) Đầu ra của hàm này được giới hạn vào một trong hai giá trị:

1, nếu (x≥ 𝜃) g(x) =

0, nếu (x≤ 𝜃) Dạng hàm này được sử dụng trong các mạng chỉ có một lớp Trong hình vẽ sau, θ được chọn bằng 1

Hình 1.4 Hàm ngưỡng

3) Hàm sigmoid (Sigmoid function (logsig)) :

g(x) = 1

1+𝑒−𝑥

Trang 13

Nguyễn Thị Quyên Trang 13

Hàm này đặc biệt thuận lợi khi sử 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 vì nó dễ lấy đạo hàm, do đó có thể giảm đáng kể tính toán trong quá trình huấn luyện Hàm này được ứng dụng cho các chương trình ứng dụng mà các đầu ra mong muốn rơi vào khoảng [0,1]

Hình 1.6 Hàm sigmoid lưỡng lực

Các hàm chuyển của các đơn vị ẩn (hidden units) là cần thiết để biểu diễn sự phi tuyến vào trong mạng Lý do là hợp thành của các hàm đồng nhất là một hàm đồng nhất Mặc dù vậy nhưng nó mang tính chất phi tuyến (nghĩa là, khả năng biểu diễn các hàm phi tuyến) làm cho các mạng nhiều tầng có khả năng rất tốt trong biểu diễn các ánh xạ phi tuyến Tuy nhiên, đối với luật học lan truyền ngược, hàm phải khả vi (differentiable) và sẽ có ích nếu như hàm được gắn trong một khoảng nào đó Do vậy, hàm sigmoid là lựa chọn thông dụng nhất

Đối với các đơn vị đầu ra (output units), các hàm chuyển cần được chọn sao cho phù hợp với sự phân phối của các giá trị đích mong muốn Chúng ta đã thấy rằng đối với các giá trị ra trong khoảng [0,1], hàm sigmoid là có ích; đối với các giá trị đích mong muốn là liên tục trong khoảng đó thì hàm này cũng vẫn có ích, nó có thể cho

ta các giá trị ra hay giá trị đích được căn trong một khoảng của hàm kích hoạt đầu

ra Nhưng nếu các giá trị đích không được biết trước khoảng xác định thì hàm hay

Trang 14

Nguyễn Thị Quyên Trang 14

được sử dụng nhất là hàm đồng nhất (identity function) Nếu giá trị mong muốn là dương nhưng không biết cận trên thì nên sử dụng một hàm kích hoạt dạng mũ (exponential output activation function)

1.1.4 Mạng nơ-ron 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à nơ-ron) tựa như nơ-ron 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 nơ-ron Mỗi liên kết 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 nơ-ron

Có thể xem các trọng số là phương tiện để lưu trữ thông tin dài hạn trong mạng nơ-ron

và nhiệm vụ của quá trình huấn luyện của mạng là cập nhật các trọng số khi có thêm thông tin về mẫu học Hay nói một cách khác, các trọng số đều được điều chỉnh sao cho dáng điệu vào ra của mạng sẽ mô phỏng hoàn toàn phù hợp với môi trường đang xem xét

Hình 1.7 Mô hình mạng nơ-ron nhân tạo

Mô hình mạng nơ-ron ở trên gồm 3 lớp: lớp vào (input), lớp ẩn(hidden) và lớp xuất (output) Mỗi nút trong lớp nhập 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 nhập đượ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 nhập và lớp xuất, 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 xuất nhận các tín hiệu tổng trọng số từ các nút trong lớp ẩn Mỗi nút trong lớp xuất tương ứng với một biến phụ thuộc

Trang 15

Nguyễn Thị Quyên Trang 15

1.2 Đặc trưng của mạng nơ-ron:

1.2.1 Tính phi tuyến:

Một nơ-ron có thể tính toán một cách tuyến tính hay phi tuyến Một mạng nơ-ron, cấu thành bởi sự kết nối các nơ-ron phi tuyến thì tự nó sẽ có tính phi tuyến Hơn nữa, điều đặc biệt là tính phi tuyến này được phân tán trên toàn mạng Tính phi tuyến là một thuộc tính rất quan trọng, nhất là khi các cơ chế vật lý sinh ra các tín hiệu đầu vào (ví

dụ tín hiệu tiếng nói) vốn là phi tuyến

1.2.2 Tính chất tương ứng đầu vào đầu ra:

Mặc dù khái niệm “học” hay “huấn luyện” chưa được bàn đến nhưng để hiểu được mối quan hệ đầu vào - đầu ra của mạng nơ-ron, chúng ta sẽ đề cập sơ qua về khái niệm này Một mô hình học phổ biến được gọi là học với một người dạy hay học có giám sát liên quan đến việc thay đổi các trọng số liên kết của mạng nơ-ron bằng việc áp dụng một tập hợp các mẫu tích luỹ hay các ví dụ tích luỹ Mỗi một ví dụ bao gồm một tín hiệu đầu vào và một đầu ra mong muốn tương ứng Mạng nơ-ron nhận một ví dụ lấy một cách ngẫu nhiên từ tập hợp nói trên tại đầu vào của nó, và các trọng số liên kết của mạng được biến đổi sao cho có thể cực tiểu hoá sự sai khác giữa đầu ra mong muốn và đầu ra thực sự của mạng theo một tiêu chuẩn thống kê thích hợp Sự tích luỹ của mạng được lặp lại với nhiều ví dụ trong tập hợp cho tới khi mạng đạt tới một trạng thái ổn định mà

ở đó không có một sự thay đổi đáng kể nào của các trọng số liên kết Các ví dụ tích luỹ được áp dụng trước có thể được áp dụng lại trong thời gian của phiên tích luỹ nhưng theo một thứ tự khác Như vậy mạng nơ-ron học từ các ví dụ bằng cách xây dựng nên một tương ứng đầu vào-đầu ra cho vấn đề cần giải quyết

1.2.3 Tính chất thích nghi:

Các mạng nơ-ron có một khả năng mặc định là biến đổi các trọng số liên kết tuỳ theo sự thay đổi của môi trường xung quanh Đặc biệt, một mạng nơ-ron đã được tích luỹ để hoạt động trong một môi trường xác định có thể được tích luỹ lại một cách dễ dàng khi

có những thay đổi nhỏ của các điều kiện môi trường hoạt động

1.2.4 Tính chất đưa ra lời giải có bằng chứng:

Trong ngữ cảnh phân loại mẫu, một mạng nơ-ron có thể được thiết kế để đưa ra thông tin không chỉ về mẫu được phân loại, mà còn về sự tin cậy của quyết định đã được thực hiện Thông tin này có thể được sử dụng để loại bỏ các mẫu mơ hồ hay nhiễu

1.2.5 Tính chất chấp nhận sai xót:

Một mạng nơ-ron, được cài đặt dưới dạng phần cứng, vốn có khả năng chấp nhận lỗi, hay khả năng tính toán thô, với ý nghĩa là tính năng của nó chỉ thoái hoá khi có những điều kiện hoạt động bất lợi Ví dụ, nếu một nơ-ron hay các liên kết kết nối của nó bị hỏng, việc nhận dạng lại một mẫu được lưu trữ sẽ suy giảm về chất lượng

Trang 16

Nguyễn Thị Quyên Trang 16

1.2.6 Khả năng cài đặt VLSI(Very-large-scale-intergrated):

Bản chất song song đồ sộ của một mạng nơ-ron làm cho nó rất nhanh trong tính toán đối với một số công việc Đặc tính này cũng tạo ra cho một mạng nơ-ron khả năng phù hợp cho việc cài đặt sử dụng kỹ thuật Very-large-scale-intergrated (VLSI) Kỹ thuật này cho phép xây dựng những mạch cứng tính toán song song quy mô lớn Chính vì vậy mà ưu điểm nổi bật của VLSI là mang lại những phương tiện hữu hiệu để có thể xử

lý được những hành vi có độ phức tạp cao

1.2.7 Tính chất đồng dạng trong phân tích và thiết kế:

Về cơ bản, các mạng nơ-ron có tính chất chung như là các bộ xử lý thông tin Chúng ta nêu ra điều này với cùng ý nghĩa cho tất cả các lĩnh vực có liên quan tới việc ứng dụng mạng nơ-ron Đặc tính này thể hiện ở một số điểm như sau:

 Các nơ-ron, dưới dạng này hoặc dạng khác, biểu diễn một thành phần chung cho tất cả các mạng nơ-ron

 Tính thống nhất này đem lại khả năng chia sẻ các lý thuyết và các thuật toán học trong nhiều ứng dụng khác nhau của mạng nơ-ron

 Các mạng tổ hợp (modular) có thể được xây dựng thông qua một sự tích hợp các

mô hình khác nhau

1.3 Phân loại 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

Hình 1.8 Mạng tự kết hợp

Trang 17

Nguyễn Thị Quyên Trang 17

 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

ra, đầu ra của một tầng bấ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

Các mạng qui hồi (Feedback architecture) cho phép các liên kết nơ-ron tạo thành chu trình, các thông tin ra của các nơ-ron được truyền lại cho các nơ-ron đã góp phần kích hoạt chúng, nên mạng qui hồi còn có khả năng lưu giữ trạng thái trong của nó dưới dạng các ngưỡng kích hoạt ngoài các trọng số liên kết nơ-ron

1.3.1 Mạng nơ-ron truyền thẳng:

Có thể nói mạng nơ-ron truyền thẳng là một kiểu mạng đơn giản trong việc sắp đặt mạng Trong mạng này thông tin chỉ truyền trên một hướng duy nhất, từ lớp đầu vào xuyên qua lớp ẩn (nếu có) và kết thúc tại lớp đầu ra Không có chu trình hoặc vòng trong mạng

Trang 18

Nguyễn Thị Quyên Trang 18

1.3.1.1 Mạng nơ-ron truyền thẳng một lớp (Perceptron):

Perceptron là mạng nơ-ron đơn giản nhất, nó chỉ gồm một nơpron, 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 Đầu vào

Mức đầu vào Mức đầu ra

Hình 1.10 Mạng nơ-ron truyền thẳng 1 lớp hay Perceptron

Đầ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

và y = f(u - b) = Hardlimit(u - b)

y nhận giá trị +1 nếu u - b>0, ngược lại y nhận giá trị -1

Perceptron cho phép phân loại chính xác trong trường hợp dữ liệu có thể phân chia tuyến tính (các mẫu nằm trên hai mặt đối diện của một siêu phẳng) Nó cũng phân loại đúng đầu ra các hàm AND, OR và các hàm có dạng đúng khi n trong m đầu vào của nó đúng (n ≤ m) Nó không thể phân loại được đầu ra của hàm XOR

1.3.1.2 Mạng nơ-ron truyền thẳng nhiều lớp (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 lớp truyền thẳng (MLP: Multi Layer Perceptron) Một mạng MLP tổng quát là mạng có n (n≥2) lớp (thông thường lớp đầu vào không được tính đến): trong đó gồm một lớp đầu ra (lớp thứ n) và (n-1) lớp ẩn

b

Trang 19

Nguyễn Thị Quyên Trang 19

Tầng vào

Tầng ẩn 1 Tầng ẩn (n-1) Tầng ra …

Hình 1.11 Mạng nơ-ron truyền thẳng nhiều lớp (MLP) 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 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 đến khi các nơ-ron thuộc tầng ra cho kết quả

1.3.2 Mạng nơ-ron quy hồi:

Trái với mạng nơ-ron truyền thẳng, mạng nơ-ron quy hồi là những mô hình với hai luồng dữ liệu có hướng Trong khi mạng truyền thẳng truyền dữ liệu theo một đường thẳng thì những mạng nơ-ron quy hồi có ít nhất một phản hồi từ những nơ-ron xử lý sau quay trở lại các nơ-ron xử lý trước đó

Trang 20

Nguyễn Thị Quyên Trang 20

Hình 1.10 Mạng hồi quy không có nơ-ron ẩn và không có vòng lặp tự phản hồi

Hình 1.11 Mạng hồi quy có các nơ-ron ẩn

1.4 Huấn luyện mạng nơ-ron:

Trang 21

Nguyễn Thị Quyên Trang 21

Một mạng nơ-ron được huyấn luyện sao cho với một tập các vector đầu vào X, mạng có khả năng tạo ra tập các vector đầu ra mong muốn Y của nó Tập X được sử dụng cho huấn luyện mạng được gọi là tập huấn luyện (training set) Các phần tử x thuộc X được gọi là các mẫu huấn luyện (training example) Quá trình huấn luyện bản chất là sự thay đổi các trọng số liên kết của mạng Trong quá trình này, các trọng số của mạng sẽ hội tụ dần tới các giá trị sao cho với mỗi vector đầu vào x từ tập huấn luyện, mạng sẽ cho ra vector đầu ra y như mong muốn Có ba phương pháp học phổ biến là học có giám sát (supervised learning), học không giám sát (unsupervised learning) và học tăng cường (Reinforcement learning)

Học có giám sát: Là quá trình học có sự tham gia giám sát của một “thầy giáo”

Cũng giống như việc ta dạy một em nhỏ các chữ cái Ta đưa ra một chữ “a” và bảo với em đó rằng đây là chữ “a” Việc này được thực hiện trên tất cả các mẫu chữ cái Sau đó khi kiểm tra ta sẽ đưa ra một chữ cái bất kì (có thể viết hơi khác đi) và hỏi em đó đây là chữ gì?

Với học có giám sát, tập mẫu huấn luyện được cho dưới dạng:

D = {(x,t) | (x,t) ∈ [IRN x RK]}, trong đó: x = (x1, x2, ,xN) là vector đặc trưng

N chiều của mẫu huấn luyện và t = (t1, t2, ,tK) là vector mục tiêu K chiều tương ứng, nhiệm vụ của thuật toán là phải thiết lập được một cách tính toán trên mạng như thế nào đó để sao cho với mỗi vector đặc trưng đầu vào thì sai số giữa giá trị đầu ra thực sự của mạng và giá trị mục tiêu tương ứng là nhỏ nhất Chẳng hạn mạng có thể học để xấp xỉ một hàm t = f(x) biểu diễn mối quan hệ trên tập các mẫu huấn luyện (x,t)

Như vậy với học có giám sát, số lớp cần phân loại đã được biết trước Nhiệm vụ của thuật toán là phải xác định được một cách thức phân lớp sao cho với mỗi vector đầu vào sẽ được phân loại chính xác vào lớp của nó

Học không giám sát: Là việc học không cần có bất kỳ một sự giám sát nào

Trong bài toán học không giám sát, tập dữ liệu huấn luyện được cho dưới dạng:

D = {(x1, x2, ,xN)}, với (x1, x2, ,xN) là vector đặc trưng của mẫu huấn luyện Nhiệm vụ của thuật toán là phải phân chia tập dữ liệu D thành các nhóm con, mỗi nhóm chứa các vector đầu vào có đặc trưng giống nhau Như vậy với học không giám sát, số lớp phân loại chưa được biết trước, và tùy theo tiêu chuẩn đánh giá độ tương tự giữa các mẫu mà ta có thể có các lớp phân loại khác nhau

Học tăng cường: đôi khi còn được gọi là học thưởng - phạt (reward-penalty

learning), là sự tổ hợp của cả hai mô hình trên Phương pháp này cụ thể như sau: với vector đầu vào, quan sát vector đầu ra do mạng tính được Nếu kết quả được xem là “tốt” thì mạng sẽ được thưởng theo nghĩa tăng các trọng số kết nối lên; ngược lại mạng sẽ bị phạt, các trọng số kết nối không thích hợp sẽ được giảm

Trang 22

Nguyễn Thị Quyên Trang 22

xuống Do đó học tăng cường là học theo nhà phê bình (critic), ngược với học có giám sát là học theo thầy giáo (teacher)

1.4.2 Học có giám sát trong mạng nơ-ron:

Học có giám sát có thể được xem như việc xấp xỉ một ánh xạ: X→ Y, trong đó X là tập các vấn đề và Y là tập các lời giải tương ứng cho vấn đề đó Các mẫu (x,y) với x = (x1, x2, ,xn)∈ X, y = (yl, y2, , ym) ∈ Y được cho trước Học có giám sát trong các mạng nơ-ron thường được thực hiện theo các bước sau:

 B1: Xây dựng cấu trúc thích hợp cho mạng ron, chẳng hạn có (n + 1) ron vào (n nơ-ron cho biến vào và 1 nơ-ron cho ngưỡng x0), m nơ-ron đầu

nơ-ra, và khởi tạo các trọng số liên kết của mạng

 B2: Đưa một vector x trong tập mẫu huấn luyện X vào mạng

 B3: Tính vector đầu ra o của mạng

 B4: So sánh vector đầu ra mong muốn y (là kết quả được cho trong tập huấn luyện) với vector đầu ra o do mạng tạo ra; nếu có thể thì đánh giá lỗi

 B5: Hiệu chỉnh các trọng số liên kết theo một cách nào đó sao cho ở lần tiếp theo khi đưa vector x vào mạng, vector đầu ra o sẽ giống với y hơn

 B6: Nếu cần, lặp lại các bước từ 2 đến 5 cho tới khi mạng đạt tới trạng thái hội tụ Việc đánh giá lỗi có thể thực hiện theo nhiều cách, cách dùng nhiều nhất là sử dụng lỗi tức thời : Err = (o - y), hoặc Err = |o - y|; lỗi trung bình bình phương (MSE: mean-square error): Err = (o- y)2/2;

Có hai loại lỗi trong đánh giá một mạng nơ-ron Thứ nhất, gọi là lỗi rõ ràng (apparent error), đánh giá khả năng xấp xỉ các mẫu huấn luyện của một mạng

đã được huấn luyện Thứ hai, gọi là lỗi kiểm tra (test error), đánh giá khả năng tổng quá hóa của một mạng đã được huấn luyện, tức khả năng phản ứng với các vector đầu vào mới Để đánh giá lỗi kiểm tra chúng ta phải biết đầu

ra mong muốn cho các mẫu kiểm tra

Thuật toán tổng quát ở trên cho học có giám sát trong các mạng nơ-ron có nhiều cài đặt khác nhau, sự khác nhau chủ yếu là cách các trọng số liên kết được thay đổi trong suốt thời gian học Trong đó tiêu biểu nhất là thuật toán lan truyền ngược

1.4.3 Thuật toán học:

1.4.3.1 Thuật toán học của mạng nơ-ron truyền thẳng một lớp:

Xét trường hợp perceptron sử dụng hàm kích hoạt ngưỡng:

Trang 23

Nguyễn Thị Quyên Trang 23

d

i

i i

t w v

t w v output

1

1

, 1

, 1

i

i i

d

i

i i

w v sign

w v

w v output

0 0

0

0 ,

1

0 ,

Phương trình w.v=0 là chính là siêu phẳng trong không gian d-chiều, suy ra

perceptron có khả năng phân lớp tuyến tính, có khả năng giải bài toán quy hồi tuyến tính

- Hạn chế:

Không thể phân lớp phi tuyến

Giải pháp: sử dụng mạng nơ-ron nhiều tầng MLP

Trang 24

Nguyễn Thị Quyên Trang 24

1.4.3.2 Thuật toán học của mạng nơ-ron nhiều lớp:

Huấn luyện mạng nơ-ron nhiều lớp sử dụng thuật toán Lan truyền ngược (Back

Propagation) Thuật toán học lan truyền ngược là một phương pháp cho phép xác định

tập hàm trọng lượng tốt nhất để giải một bài toán được 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ặp lại nhiều lần hai tiến trình chính; ánh xạ và lan truyền ngược Sai số của hai tiến trình này được áp dụng trên một tập mẫu xác định Ta gọi chung quá trình này là huấn luyện mạng hay là học

Quá trình huấn luyện mạng được bắt đầu với các giá trị trọng số tuỳ ý (có thể là các

số ngẫu nhiên) và tiến hành lặp đi lặp lại, mỗi lần lặp được gọi là một thế hệ Trong mỗi thế hệ, mạng hiệu chỉnh các thông số sao cho sai số giảm dần (sai số là độ lệch giữa các kết xuất thực và các kết xuất đích) Tiến trình điều chỉnh nhiều lần giúp cho trọng số dần dần đạt được tập hợp các giá trị tối ưu

Thuật toán sử dụng một tập các mẫu gồm p các cặp đầu vào - đầu ra để huấn luyện mạng Với mỗi cặp đầu vào-đầu ra (𝑥(𝑘),𝑑(𝑘)) thuật toán lan truyền ngược sai số thực hiện 2 giai đoạn sau:

 Giai đoạn thứ nhất, mẫu đầu vào 𝑥(𝑘) được truyền từ lớp vào tới lớp ra, và ta có kết quả đầu ra tính toán được là 𝑦(𝑘)

 Giai đoạn tiếp theo, tín hiệu lỗi được tính toán từ sự khác nhau giữa đầu ra quan sát được 𝑑(𝑘)) với đầu ra tính toán 𝑦(𝑘) sẽ được lan truyền ngược lại từ lớp ra đến các lớp trước để điều chỉnh các trọng số của mạng Để làm ví dụ ta xét mạng truyền thẳng có một lớp ẩn dưới đây, đối với các mạng có kích thước lớn hơn thì thao tác cũng tương tự

Mạng nơ-ron được xét có m nơ-ron ở lớp vào, l nơ-ron trong lớp ẩn và n nơ-ron ở lớp

ra Đường kẻ liền thể hiện luồng tín hiệu được truyền từ đầu vào tới đầu ra còn các đường kẻ nét đứt thể hiện luồng tín hiệu lỗi được truyền ngược trở lại từ đầu ra

Trang 25

Nguyễn Thị Quyên Trang 25

Hình 1.12 Lan truyền tín hiệu trong quá trình học theo phương pháp

lan truyền ngược sai số

Chúng ta xét một cặp đầu vào - đầu ra để luyện mạng (x,d), để đơn giản chúng ta bỏ ký hiệu mũ k thể hiện số thứ tự của cặp mẫu này trong bộ mẫu dùng để luyện mạng Khi đưa vào đầu vào x, nơ-ron thứ q trong lớp ẩn sẽ nhận tín hiệu vào của mạng là:

Và cuối cùng, đầu ra của nơ-ron i trên lớp ra sẽ là:

𝑦𝑖𝑞 = 𝑔 𝑛𝑒𝑡𝑖 = 𝑔 𝑤𝑖𝑞𝑧𝑞

𝑙 𝑞=1

= 𝑔( 𝑤𝑖𝑞𝑔( 𝑣𝑞𝑗𝑥𝑗

𝑚

𝑗 =1

𝑙 𝑞=1

= 𝑤𝑖𝑞𝑔( 𝑣𝑞𝑗𝑥𝑗

𝑚

𝑗 =1

𝑙 𝑞=1

)

(1.6)

Trang 26

Nguyễn Thị Quyên Trang 26

Công thức trên cho biết quá trình lan truyền tín hiệu từ đầu vào qua lớp ẩn tới đầu ra

Tiếp theo chúng ta xét tín hiệu lỗi được lan truyền ngược lại từ lớp ra Trước hết, đối

với mỗi cặp giá trị vào – ra chúng ta xây dựng một hàm giá như sau:

(1.7)

Như vậy với một tập gồm p mẫu học, chúng ta lần lượt xây dựng được p hàm giá như

vậy Việc học của mạng hay nhiệm vụ của giải thuật thực chất là tìm kiếm tập trọng số

W trong không gian 𝑅𝑀 (M là số trọng số có trong mạng) để lần lượt tối thiểu hoá các

hàm giá như vậy Điều đáng chú ý là việc tối thiểu hoá được tiến hành liên tiếp nhau và

theo chu kỳ đối với các hàm giá

Để tối thiểu hoá các hàm giá như vậy, giải thuật lan truyền ngược sai số sử dụng

phương pháp giảm gradient để điều chỉnh các trọng số liên kết giữa các nơ-ron Bản

chất của phương pháp này là khi sai số E được vẽ như hàm của tham số gây ra sai số sẽ

phải có một cực tiểu tại bộ giá trị nào đó của tham số Khi quan sát độ dốc của đường

cong, chúng ta quyết định phải thay đổi tham số thế nào để có thể tiến gần đến cực tiểu

cần tìm kiếm hơn Trong hình vẽ dưới đây, giá trị của trọng số phải giảm nếu đạo hàm

𝑑𝐸/𝑑𝑊 là dương

Hình 1.13 Sai số E được xét là hàm của trọng số W

Bằng biểu thức, chúng ta có thể biểu diễn phương pháp giảm gradient như sau:

Δ𝑤 = 𝑤𝑛𝑒𝑤 − 𝑤𝑜𝑙𝑑 = −𝜂 𝜕𝐸/𝜕𝑤 (1.8)

Trang 27

Nguyễn Thị Quyên Trang 27

Ở đây η là hằng số dương xác định tốc độ giảm giá trị của w, còn dấu âm chỉ chiều giảm gradient

Áp dụng phương pháp giảm gradient đối với các trọng số liên kết giữa các nơ-ron trong lớp ẩn tới các nơ-ron của lớp ra ta có:

Trong đó 𝛿𝑜𝑖 là tín hiệu sai số và chỉ số oi có nghĩa là nút thứ i trong trên lớp ra Tín

hiệu sai số được tính như sau:

𝛿𝑜𝑖 = − 𝜂 𝜕𝐸

𝜕𝑛𝑒𝑡𝑖 = − 𝜕𝐸

𝜕𝑦𝑖 𝜕𝑦𝑖

𝜕𝑛𝑒𝑡𝑖 = 𝑑𝑖 − 𝑦𝑖 𝑔′ 𝑛𝑒𝑡𝑖 (1.11) Trong đó 𝑛𝑒𝑡𝑖 là tín hiệu vào của nơ-ron thứ i trên lớp ra và g’(𝑛𝑒𝑡𝑖) = ∂g(𝑛𝑒𝑡𝑖)/∂net Kết quả này tương tự luật học delta áp dụng cho mạng perceptron một lớp với đầu vào bây giờ là đầu ra 𝑧𝑞của lớp ẩn

Để điều chỉnh trọng số của các liên kết giữa lớp vào tới lớp ẩn ta cũng sử dụng phương pháp giảm gradient và lấy đạo hàm theo các biến trung gian như đã áp ở trên Xét liên kết giữa nơ-ron thứ j ở lớp vào và nơ-ron thứ q trên lớp ra:

Trang 28

Nguyễn Thị Quyên Trang 28

Trong đó 𝛿ℎ𝑞 là tín hiệu lỗi của nơ-ron thứ q trong lớp ẩn và được định nghĩa như sau:

Tổng quát đối với lớp bất kỳ, luật lan truyền ngược có dạng:

∆𝑤𝑦 = 𝜂𝛿𝑖𝑥𝑗 = 𝜂𝛿𝑜𝑢𝑡𝑝𝑢𝑡 _𝑖 𝑥𝑖𝑛𝑝𝑢𝑡 _𝑗 (1.16)

Trong đó “output_i ” là đầu ra của nơ-ron i và “ input_j ” là đầu vào của nơ-ron j

Từ các phân tích trên, thuật toán lan truyền ngược sai số được xây dựng như sau:

Xét một mạng nơ-ron truyền thẳng có Q lớp, q = 1, 2, …, Q, và gọi 𝑛𝑒𝑡𝑖 và 𝑦𝑖 là tín hiệu vào và ra của nơ-ron thứ i trong lớp q Mạng này có m đầu vào và n đầu ra Đặt

𝑞 𝑤𝑖𝑗 là trọng số của liên kết từ nơ-ron thứ j trong lớp q-1 tới nơ-ron thứ i trong lớp q Đầu vào : Một tập các cặp mẫu học {(𝑥(𝑘),𝑑(𝑘)) | k= 1, 2, …, p } và véc tơ đầu vào được bổ sung thêm 𝑥𝑘

Tại lớp vào (q =1), với mọi i ta có : 𝑞𝑦𝑖 = 1𝑦𝑖 = 𝑥(𝑘)𝑖

Bước 2: Lan truyền tín hiệu từ lớp vào tới lớp ra:

Trang 29

Nguyễn Thị Quyên Trang 29

𝐸 = 1

2 (𝑑𝑖

𝑘 𝑛

𝑖=1

− 𝑄𝑦𝑖) 2 + 𝐸

𝑄𝛿𝑖 = (𝑑𝑖 𝑘 − 𝑄𝑦𝑖)𝑔′( 𝑄𝑛𝑒𝑡𝑖)

Bước 4: Lan truyền ngược sai số

Lan truyền ngược sai số để điều chỉnh các trọng số và tính toán tín hiệu lỗi 𝑞 − 1𝛿𝑖cho các lớp trước:

∆ 𝑞𝑤𝑖𝑗 = 𝜂 𝑞𝛿𝑖𝑞−1𝑦𝑖 và ∆ qwijnew= qwij old+ Δqwij

𝑞−1𝛿𝑖 = 𝑔′( 𝑞 −1𝑛𝑒𝑡𝑖) 𝑞𝑤𝑖𝑗

𝑖

𝑞𝛿𝑗 với q = Q, Q-1,…, 2

Bước 5: Kiểm tra điều kiện lặp

Trang 30

Nguyễn Thị Quyên Trang 30

𝑅𝑀𝑆 = (𝑦𝑖 − 𝑑𝑖)

2 𝑛

𝑖=1

𝑝 𝑘=1

Hằng số học η

Hằng số học η cũng là một yếu tố quan trọng ảnh hưởng đến hiệu quả và độ hội tụ của giải thuật lan truyền ngược sai số Không có hằng số η phù hợp cho tất cả các bài toán khác nhau Hằng số học này thường được chọn bằng thực nghiệm cho mỗi bài toán ứng dụng cụ thể bằng phương pháp thử sai

Trong nhiều ứng dụng thực tế cho thấy một hằng số học có thể phù hợp ở thời điểm bắt đầu của quá trình học nhưng lại không phù hợp với giai đoạn sau của quá trình học Do

đó, có một phương pháp hiệu quả hơn đó là sử dụng hằng số học thích nghi Một cách

xử lý đơn giản cho vấn đề này đó là kiểm tra xem các trọng số mới có làm giảm hàm giá hay không, nếu không thì có thể các trọng số đã vượt quá xa vùng cực tiểu và như vậy hằng số η cần phải giảm Trái lại, nếu sau vài vòng lặp hàm giá liên tục giảm thì ta

có thể thử tăng hằng số η để đẩy nhanh hơn tốc độ hội tụ đến giá trị cực tiểu Năm

1991, trong nghiên cứu của mình Hertz và các cộng sự đã đề xuất luật điều chỉnh hằng

Trang 31

Nguyễn Thị Quyên Trang 31

- ∆E là thay đổi của hàm giá

∆𝑤 𝑡 = −𝜂∇𝐸 𝑡 + 𝛼∆𝑤 𝑡 − 1 (𝛼là hằng số quán tính, 𝛼 ∈ [0,1])

Nhờ thành phần này, quá trình học có thể vượt qua điểm cực tiểu địa phương để tìm đến điểm cực tiểu toàn cục, đồng thời thành phần quán tính cũng ngăn cản sự thay đổi đột ngột của các trọng số theo hướng khác với hướng mà lời giải đang di chuyển đến

i=1

Tuy nhiên, nó có thể được thay thế bằng một hàm F(yi, di) bất kỳ có đạo hàm và đạt cực tiểu khi hai đối số di và yi bằng nhau Thông thường hàm giá được chọn có dạng:

E = 1

p (di− yi)

p n

i=1

Như vậy khi chọn p = 2 ta có hàm giá là hàm bình phương sai số như đã xét ở trên

1.4.3.4 Một số hạn chế của phương pháp lan truyền ngược:

Ngoài những thành công của giải thuật học lan truyền ngược, vẫn còn có một số khía cạnh làm cho giải thuật trở nên chưa được bảo đảm là mọi lúc đều tốt

Trang 32

Nguyễn Thị Quyên Trang 32

 Khó khăn chủ yếu là ở quá trình huấn luyện lâu Có thể do nhịp độ học và

động lực không tối ưu Sự sai sót trong việc huấn luyện nói chung xuất hiện

từ hai nguồn: mạng liệt và những cực tiểu địa phương

 Mạng liệt: xảy ra khi những trọng số được điều chỉnh tới những giá trị rất

lớn Tổng đầu vào của một đơn vị ẩn hoặc đơn vị đầu ra có thể bởi vậy mà đạt giá trị rất cao (hoặc dương hoặc âm), và qua hàm kích hoạt sigmoid, đơn

vị sẽ có một giá trị kích hoạt rất gần 0 hoặc rất gần 1 Giá trị hiệu chỉnh trọng

số gần 0, và quá trình huấn luyện có thể đi đến một trạng thái dừng ảo

 Cực tiểu địa phương: bề mặt sai số của mạng rất phức tạp đầy những ngọn

đồi và những thung lũng Bởi vì sự hạ độ dốc, mạng có thể bị mắc bẫy tại một cực tiểu địa phương khi có nhiều cực tiểu thấp hơn gần bên cạnh Những phương pháp thống kê có thể giúp để tránh cái bẫy này, nhưng chúng làm chậm Một phương án khác là tăng thêm số lượng đơn vị ẩn Như vậy sẽ làm việc trong không gian sai số nhiều chiều, nên cơ hội gặp bẫy nhỏ hơn Tuy nhiên việc tăng cũng có giới hạn trên, khi vượt qua giới hạn này, cơ hội mắc bẫy lại tăng lên

1.5 Thu thập dữ liệu cho mạng nơ-ron:

Một khi ta quyết định giải quyết một vấn đề sử dụng những mạng nơ-ron ta cần phải thu thập dữ liệu cho mục tiêu huấn luyện Tập hợp dữ liệu huấn luyện bao gồm một số trường hợp, mỗi trường hợp chứa những giá trị của đầu vào vả đầu ra khác nhau Những việc đầu tiên cần làm là: những biến nào được sử dụng, bao nhiêu trường hợp cần thu thập

Sự lựa chọn do trực giác quyết định Công việc chuyên môn trong lĩnh vực cần giải quyết sẽ cho ta những ý tưởng về các biến đầu vào phù hợp Trong những mạng nơ-ron

có thể chọn và loại bỏ nhiều biến và mạng nơ-ron cũng có thể xác định bằng quá trình thực nghiệm Trong một bước nên tính đến bất kỳ biến nào mà ta nghĩ có ảnh hưởng đến quá trình thiết kế

Những mạng nơ-ron xử lý dữ liệu số trong một tầm giới hạn rõ ràng Điều này đưa ra một vấn đề, nếu dữ liệu nằm trọng một vùng đặc biệt như dữ liệu chưa biết hay không phải dữ liệu số Thì phải có những phương pháp xử lý thích hợp, chẳng hạn Dữ liệu số được chia nhỏ thành những khoảng thích hợp cho mạng và những giá trị thiếu có thể thay thế bằng giá trị trung bình hay giá trị thống kê của biến đó thông qua những biến khác đã được huấn luyện

Xử lý dữ liệu không phải số thì khó hơn Loại dữ liệu không phải là số thông thường nhất là những biến có giá trị định danh như giới tính (nam, nữ) Biến định danh có thể

Trang 33

Nguyễn Thị Quyên Trang 33

biểu diễn bằng số học và mạng nơ-ron có chức năng hỗi trợ điều này Tuy nhiên, mạng nơ-ron làm việc tốt với những trường hợp biến định danh là một tập nhiều giá trị

Số trường hợp mẫu dùng để huấn luyện mạng rất khó xác định Đã có một vài hướng dẫn về mối liên hệ giữa số trường hợp mẫu với kích thước mạng (cách đơn giản nhất là

số trường hợp mẫu gấp 10 lần số kết nối trong mạng) Thực ra số trường hợp mẫu cũng

có liên quan đến độ phức tạp của hàm mà mạng phải học Khi số biến tăng lên, số trường hợp mẫu cần huấn luyện cũng tăng phi tuyến, vì thế với số các biến nhỏ (50 hoặc nhỏ hơn) thì lại cần một số lớn các trường hợp mẫu

Trong hầu hết các vấn đề trong thực tế, số trường hợp mẫu là khoảng hàng trăm hay hàng nghìn mẫu Đối với những vấn đề rất phức tạp thì cần nhiều hơn, nhưng trường hợp này rất ít Nếu dữ liệu huấn luyện ít hơn, rõ ràng không đủ thông tin để huấn luyện mạng, và cách tốt nhất là dùng mạng tuyến tính Nhiều vấn đề trong thực tế có dữ liệu không đáng tin cậy, một vài dữ liệu bị phá hỏng do liệu do nhiễu, hoặc các giá trị không phối hợp đựợc với nhau Mạng nơ-ron có khả năng đặc biệt xử lý dữ liệu bị mất (sử dụng giá trị trung bình hay các những giá trị thống kê khác) Mạng nơ-ron cũng chịu được nhiễu, nhưng cũng phải có giới hạn Nếu thỉnh thoảng có giá trị nằm xa ra khỏi vùng giá trị bình thường thì mạng huấn luyện phải có ngưỡng Cách tốt nhất đối với trường hợp này là nhận ra và loại bỏ những giá trị nằm xa đó (có thể hủy trường hợp này hoặc xem giá trị nằm xa này là giá trị bị mất) Nếu giá trị này khó nhận ra, mạng nơ-ron có chức năng huấn luyện chịu được giá trị nằm khỏi vùng này nhưng huấn luyện này thường kém hiệu quả hơn là huấn luyện chuẩn

Tóm lại cách thu thập dữ liệu có thể nói gọn lại như sau:

- Chọn những giá trị huấn luyện có tác dụng

- Dữ liệu số và biến có giá trị định danh có thể xử lý trực tiếp bằng mạng nơ-ron Chuyển những loại biến khác sang một trong các dạng này

- Cần hàng trăm hoặc hàng ngàn trường hợp mẫu huấn luyện; càng nhiều biến thì càng nhiều mẫu huấn luyện Mạng nơ-ron có khả năng nhận ra những biến hữu dụng để huấn luyện

1.6 Biểu diễn tri thức cho mạng nơ-ron:

Có thể đưa ra định nghĩa về tri thức như sau:

Tri thức chính là thông tin được lưu trữ hay các mô hình được con người và máy móc

sử dụng để biểu diễn thế giới thực, phán đoán về thế giới và có những đáp ứng phù hợp với thế giới bên ngoài

Các đặc tính cơ bản của diễn tri thức là:

 Thông tin gì thực sự được biểu diễn

Trang 34

Nguyễn Thị Quyên Trang 34

 Làm thế nào thông tin được mã hóa một cách vật lý cho việc sử dụng sau này Trong các ứng dụng thực tế của các máy tính thông minh, có thể nói rằng một giải pháp tốt phụ thuộc vào một biến tri thức tốt Điều đó cũng đúng với các mạng nơ-ron, một lớp đặc biệt của các máy thông minh Tuy nhiên, các dạng biểu diễn có thể từ các đầu vào thành các tham số bên trong của mạng là rất đa dạng, và có khuynh hướng làm cho việc tìm ra một giải pháp thích hợp nhằm biểu diễn tri thức bằng phương tiện mạng nơ-ron trở nên một

sự thách thức về thiết kế

Ở đây cần nhấn mạnh rằng mạng nơ-ron lưu trữ thông tin về thế giới thực bằng chính bản thân cấu trúc của nó kể cả về mặt hình dạng cũng như giá trị tham số bên trong (có thể thay đổi được) Một nhiệm vụ chính của mạng nơ-ron là học một mô hình của thế giới thực để đạt được một số mục đích xác định cần quan tâm Tri thức của thế giới bao gồm hai loại thông tin sau:

 Trạng thái thế giới đã biết, được biểu diễn bởi các sự kiện về những cái đã biết, dạng tri thức này được xem như là các thông tin ban đầu

 Các quan sát (đo đạc) về thế giới, thu nhập được thông qua các bộ cảm biến được thiết kế để thăm dò môi trường mà trong đó mạng hoạt động Nói chung, các quan sát này luôn bị nhiễu và sai lệch do nhiều nguyên nhân khác nhau Các quan sát thu nhận được như vậy cung cấp một quỹ thông tin, mà từ

đó lấy ra các ví dụ được dùng để huấn luyện mạng nơ-ron

Do cấu trúc một mạng nơ-ron là vô cùng đa dạng, nên để có thể biểu diễn tri thức một cách có hiệu quả, người ta đưa ra bốn quy tắc chung sau:

Quy tắc 1 Các đầu vào tương tự từ các lớp tương tự cần phải luôn tạo ra

những biểu diễn tương tự trong mạng, và như vậy nên được phân lớp thuộc

về cùng một loại Trong tiêu chuẩn này, người ta thường sử dụng một số thước đo để xác định độ “tương tự” giữa các đầu vào (ví dụ khoảng cách euclide)

Quy tắc 2 Các phần tử mà có thể phân ra thành các lớp riêng biệt thì nên có

những biểu diễn khác nhau đáng kể trong mạng

Quy tắc 3 Nếu một đặc trưng nào đó đặc biệt quan trọng thì nên có một số

lượng lớn nơ-ron liên quan đến việc biểu diễn đặc trưng này trong mạng Số lượng lớn các nơ-ron bảo đảm mức độ chính xác cao trong việc thực hiện các quyết định và nâng cao khả năng chịu đựng các nơ-ron hỏng

Quy tắc 4 Thông tin ban đầu và các tính chất bất biến nên được đưa vào

trong thiết kế ban đầu của một mạng nơ-ron, và như vậy sẽ giảm bớt gánh nặng cho quá trình học Quy tắc 4 đặc biệt quan trọng vì nếu chúng ta áp dụng nó một cách thích hợp sẽ dẫn đến khả năng tạo ra các mạng nơ-ron với một kiến trúc chuyên biệt Điều này thực sự được quan tâm do một số nguyên nhân sau:

Trang 35

Nguyễn Thị Quyên Trang 35

1 Các mạng nơ-ron thị giác và thính giác sinh học được biết là rất chuyên biệt

2 Một mạng nơ-ron với cấu trúc chuyên biệt thường có một số lượng nhỏ các tham số tự do phù hợp cho việc chỉnh lý hơn là một mạng kết nối đầy đủ Như vậy mạng nơ-ron chuyên biệt cần một tập hợp dữ liệu nhỏ hơn cho việc tích luỹ, nó học sẽ nhanh hơn, và thường có khả năng tổng quát hoá tốt hơn

3 Tốc độ chuyển thông tin qua một mạng chuyên biệt là nhanh hơn

4 Giá của việc xây dựng một mạng chuyên biệt sẽ nhỏ hơn do kích thước nhỏ của nó so với mạng kết nối đầy đủ

KẾT LUẬN CHƯƠNG:

Trong chương này em đã tìm hiểu các khái niệm, cấu trúc và khả năng ứng dụng của mạng nơ-ron nhân tạo Trình bày chi tiết về mạng nơ-ron truyền thẳng nhiều lớp và các thuật toán học đối với loại mạng này Mạng nơ-ron nhân tạo được coi là một công cụ mạnh, mềm dẻo để giải quyết các bài toán có tính phi tuyến, phức tạp và đặc biệt trong các trường hợp mà mối quan hệ giữa các quá trình không dễ thiết lập một cách tường minh Do đó, khả năng ứng dụng của nó là rất lớn đặc biệt trong bài toán nhận dạng ký

tự

Ngày đăng: 17/04/2015, 15:07

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2.] Lương Mạnh Bá, Nguyễn Thanh Thủy, Nhập môn xử lý ảnh số, Nhà xuất bản Khoa học và kỹ thuật, 2008 Sách, tạp chí
Tiêu đề: Lương Mạnh Bá, Nguyễn Thanh Thủy
Nhà XB: Nhà xuất bản Khoa học và kỹ thuật
[3.] Học viện công nghệ Bưu chính Viễn Thông (2007), Nhập môn Trí tuệ Nhân tạo, Hà Nội, tr 118-133 Sách, tạp chí
Tiêu đề: Học viện công nghệ Bưu chính Viễn Thông
Tác giả: ] Học viện công nghệ Bưu chính Viễn Thông
Năm: 2007
[4.] Artificial Neural Networks and Information theory, colin Fyfe, department of computing and information system, the university of Paisley Sách, tạp chí
Tiêu đề: Artificial Neural Networks and Information theory
[7.] Christopher M. Bishop, Neural Networks for Pattern Recognition Sách, tạp chí
Tiêu đề: Christopher M. Bishop
[1.] Tài liệu về mạng nơ-ron nhân tạo do T.s Đặng Thị Thu Hiền cung cấp Khác

HÌNH ẢNH LIÊN QUAN

Hình 1.1 Cấu tạo của tế bào nơ-ron sinh học - đồ án tốt nghiệp sử dụng mạng nơ ron nhận dạng ký tự
Hình 1.1 Cấu tạo của tế bào nơ-ron sinh học (Trang 10)
Hình 1.7 Mô hình mạng nơ-ron nhân tạo - đồ án tốt nghiệp sử dụng mạng nơ ron nhận dạng ký tự
Hình 1.7 Mô hình mạng nơ-ron nhân tạo (Trang 14)
Hình 1.9 Mạng kết hợp khác kiểu - đồ án tốt nghiệp sử dụng mạng nơ ron nhận dạng ký tự
Hình 1.9 Mạng kết hợp khác kiểu (Trang 17)
Hình 1.11 Mạng nơ-ron truyền thẳng nhiều lớp (MLP) - đồ án tốt nghiệp sử dụng mạng nơ ron nhận dạng ký tự
Hình 1.11 Mạng nơ-ron truyền thẳng nhiều lớp (MLP) (Trang 19)
Hình 1.10  Mạng hồi quy không có nơ-ron ẩn và không có vòng lặp tự phản hồi - đồ án tốt nghiệp sử dụng mạng nơ ron nhận dạng ký tự
Hình 1.10 Mạng hồi quy không có nơ-ron ẩn và không có vòng lặp tự phản hồi (Trang 20)
Hình 1.12 Lan truyền tín hiệu trong quá trình học theo phương pháp - đồ án tốt nghiệp sử dụng mạng nơ ron nhận dạng ký tự
Hình 1.12 Lan truyền tín hiệu trong quá trình học theo phương pháp (Trang 25)
Hình 2.1: Sơ đồ mạng nơ-ron thiết kế - đồ án tốt nghiệp sử dụng mạng nơ ron nhận dạng ký tự
Hình 2.1 Sơ đồ mạng nơ-ron thiết kế (Trang 38)
Hình 2.4 Ví dụ các ký tự sau khi được tách - đồ án tốt nghiệp sử dụng mạng nơ ron nhận dạng ký tự
Hình 2.4 Ví dụ các ký tự sau khi được tách (Trang 46)
Hình 2.5  Quá trình tìm giới hạn ký tự - đồ án tốt nghiệp sử dụng mạng nơ ron nhận dạng ký tự
Hình 2.5 Quá trình tìm giới hạn ký tự (Trang 47)
Hình 2.7 Quá trình ánh xạ từ ma trận điểm sang ma trận giá trị - đồ án tốt nghiệp sử dụng mạng nơ ron nhận dạng ký tự
Hình 2.7 Quá trình ánh xạ từ ma trận điểm sang ma trận giá trị (Trang 49)
Hình 2.8: Sơ đồ khối quá trình huấn luyện mạng nơ-ron - đồ án tốt nghiệp sử dụng mạng nơ ron nhận dạng ký tự
Hình 2.8 Sơ đồ khối quá trình huấn luyện mạng nơ-ron (Trang 52)
Hình 2.9 Sơ đồ khối quá trình nhận dạng kí tự - đồ án tốt nghiệp sử dụng mạng nơ ron nhận dạng ký tự
Hình 2.9 Sơ đồ khối quá trình nhận dạng kí tự (Trang 53)
Hình 3.3 Nhận dạng ký tự - đồ án tốt nghiệp sử dụng mạng nơ ron nhận dạng ký tự
Hình 3.3 Nhận dạng ký tự (Trang 62)
Hình 3.4 Ví dụ nhận dạng với file đầu vào gồm nhiều ký tự - đồ án tốt nghiệp sử dụng mạng nơ ron nhận dạng ký tự
Hình 3.4 Ví dụ nhận dạng với file đầu vào gồm nhiều ký tự (Trang 63)
Hình 3.5 Kết quả thực nghiệm nhận dạng với font Arial 72pt - đồ án tốt nghiệp sử dụng mạng nơ ron nhận dạng ký tự
Hình 3.5 Kết quả thực nghiệm nhận dạng với font Arial 72pt (Trang 65)

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

🧩 Sản phẩm bạn có thể quan tâm

w