1. Trang chủ
  2. » Công Nghệ Thông Tin

Ứng dụng mạng nơron trong bài toán nhận dạng ký tự

64 573 1

Đ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 64
Dung lượng 1,98 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ấu trúc của một noron được mô tả như hình dưới đây: Hình 1.2: Một noron nhân tạo Các thành phần cơ bản của một noron nhân tạo bao gồm: - Tập các đầu vào: Là các tín hiệu vào input signa

Trang 1

LỜI CẢM ƠN

Trước hết, em xin chân thành cảm ơn quý thầy cô trường Đại học CôngNghệ Thông Tin Và Truyền Thông, đặc biệt các thầy cô trong khoa Công NghệThông Tin đã tận tình dạy dỗ, truyền đạt cho chúng em nhiều kiến thức quý báu

Em xin gửi lời biết ơn sâu sắc đến thầy ThS Lê Anh Tú đã dành nhiều thờigian và tâm huyết để hướng dẫn nghiên cứu và giúp đỡ em hoàn thành đồ án này Thầy đã mở cho em những vấn đề khoa học rất lý thú, hướng em vàonghiên cứu những lĩnh vực hết sức thiết thực và bổ ích, đồng thời tạo điều kiệnthuận lợi cho em học tập và nghiên cứu

Xin chân thành cảm ơn các bạn trong lớp, Trường Đại Học Công NghệThông Tin Và Truyền Thông đã giúp đỡ, động viên tôi rất nhiều trong quá trìnhthực hiện đồ án này

Mặc dù đã có nhiều cố gắng hoàn thiện bằng năng lực và sự nhiệt tìnhcủa mình, tuy nhiên vẫn không tránh khỏi những thiếu sót Em rất mong được sựgóp ý của các thầy cô và các bạn

Em xin chân thành cảm ơn!

Thái Nguyên, tháng 06 năm 2012.

Sinh viên

CHU VĂN NGỌC

1

Trang 2

LỜI CAM ĐOAN

Em xin cam đoan về nội dung đồ án không sao chép nội dung cơ bản từ các

đồ án khác, và sản phẩm của đồ án là của chính bản thân nghiên cứu và xây

dựng nên

Thái Nguyên, tháng 06 năm 2012

Người cam đoan

CHU VĂN NGỌC

Trang 3

MỤC LỤC

LỜI CẢM ƠN 1

LỜI CAM ĐOAN 2

LỜI NÓI ĐẦU 5

CHƯƠNG 1: TỔNG QUAN VỀ MẠNG NORON NHÂN TẠO 8

1.1 Lịch sử phát triển mạng noron 8

1.2 Tổng quan về mạng nơron 9

1.2.1 Nơron sinh học 9

1.2.2 Noron nhân tạo 10

1.3 Mạng nơron nhân tạo 13

1.3.1 Định nghĩa mạng nơron nhân tạo 13

1.3.2 Mô hình mạng nơron nhân tạo 13

1.3.3 Các thuật toán học 18

1.3.3.2 Thuật toán huấn luyện mạng 19

1.4 Thuật toán lan truyền ngược và Giải thuật Back propagation minh họa 24

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

1.4.2 Giải thuật Back propagation minh họa 25

1.4.3 Một số vấn đề gặp phải khi sử dụng mạng Back Perceptoron 34

CHƯƠNG 2 : 37ỨNG DỤNG MẠNG NƠRON TRONG BÀI TOÁN NHẬN DẠNG KÍ TỰ 37

2.1 Mô tả bài toán 37

2.2 Hướng phát triển của bài toán 37

2.3 Trình tự các bước giải quyết giải quyết bài toán 38

2.3.1 Ảnh đầu vào 38

2.3.2 Tách dòng kí tự 38

2.3.3 Tách kí tự 39

2.3.4 Tìm giới hạn kí tự 40

2.3.5 Ánh xạ vào ma trận 42

2.3.6 Thiết kế mạng noron 43

2.3.7 Huấn luyện mạng noron 44

3

Trang 4

2.3.8 Nhận dạng ảnh kí tự 47

2.3.9 Bảng mã ASCII sử dụng cho chương trình 48

CHƯƠNG 3: CHƯƠNG TRÌNH THỬ NGHIỆM 50

3.1 Môi trường thực nghiệm 50

3.2 Giao diện chương trình 50

3.4 Thực nghiệm 51

3.4.1 Thực nghiệm quá trình tính giá trị một số tham số đầu vào 51

3.4.2 Thực nghiệm huấn luyện mạng 53

3.4.3 Thực nghiệm nhận dạng 56

KẾT LUẬN 60

TÀI LIỆU THAM KHẢO 61

Trang 5

DANH MỤC HÌNH ẢNH

Hình 1.1: Mô hình noron sinh học 9

Hình 1.2: Một noron nhân tạo 10

Hình 1.3: Một số hàm truyền thông dụng 12

Hình 1.4: Mạng noron nhân tạo đơn giản 14

Hình 1.5: Mạng truyền thẳng với một mức nơron 15

Hình 1.6: Mạng dẫn tiến kết nối đầy đủ với một mức ẩn và một mức đầu ra 16 Hình 1.8: Mạng phản hồi có các nơron ẩn 17

Hình 1.9: Minh họa giải thuật Back Propagation 25

Hình 1.10: Các thành phần của noron nhân tạo 26

Hình 1.11: Minh họa giải thuật Back Propagation 27

Hình 1.12: Quá trình lan truyền tiến 27

Hình 1.13: Tính giá trị lỗi ở đầu ra 29

Hình 1.14: Lan truyền ngược 29

Hình 1.15: Lan truyền ngược 29

Hình 1.16: Lan truyền ngược lớp 2 30

Hình 1.17: Lan truyền ngược 31

Hình 1.18: Lan truyền ngược vòng 2 32

Hình 1.19: Nội suy hàm y = sin(x/3) + v, 0≤ x ≤ 20 35

Hình 2.1: Quá trình tách dòng kí tự 39

Hình 2.2: Quá trình tách kí tự 40

Hình 2.3: Quá trình tìm giới hạn kí tự 41

Hình 2.4: Sơ đồ mạng nơron thiết kế 43

Hình 2.5: Sơ đồ khối quá trình huấn luyện mạng nơron 46

Hình 2.6: Sơ đồ khối quá trình nhận dạng kí tự 47

Hình 3.1: Giao diện chương trình thực nghiệm 50

Hình 3.2: Ảnh đầu dùng để huấn luyện 54

Hình 3.3: File là đầu ra mong muốn 54

Hình 3.4 a : chữ “o_ hoa” 56 Hình 3.4b : chữ “o_thường” 56

5

Trang 6

Hình 3.5a : Ảnh kích cỡ cua font Arial 56

Hình 3.5b : Kết quả thu được của font Arial 57

Hình 3.6a : Ảnh vào của font Times New Roman 57

Hình 3.6b : Kết quả thu được của font Times New Roman 57

Hình 3.7a : Kết quả thu được của font Tahoma 58

Hình 3.7b: Kết quả thu được của font Tahoma 58

Trang 7

LỜI NÓI ĐẦU

Sự phát triển mạnh mẽ của công nghệ nói chung và công nghệ thông tin nóiriêng đã tạo nên nhiều hệ thống thông tin phục vụ việc tự động hoá Điều này đãtạo ra những dòng dữ liệu khổng lồ Phát hiện tri thức trong cơ sở dữ liệu(Knowledge Discovery in Databases - KDD) là một quá trình hợp nhất các dữliệu từ nhiều hệ thống dữ liệu khác nhau tạo thành các kho dữ liệu, phân tíchthông tin để có được nhiều tri thức tiềm ẩn có giá trị Khai phá dữ liệu là mộttrong những lĩnh vực nghiên cứu của khoa học máy tính hiện nay đang đượcphát triển rất mạnh mẽ Nó kết hợp giữa học máy, công nghệ cơ sở dữ liệu vàmột số chuyên ngành khác để tìm ra những tri thức từ những cơ sở dữ liệu lớn.Trong công nghệ khai phá dữ liệu (Data mining) thì mạng noron nhân tạo làmột hướng tiếp cận được đánh giá cao Hướng tiếp cận này có hàm lượng khoa họclớn và có thể ứng dụng trong thực tiễn để giải quyết nhiều lớp bài toán khác nhau.Trong bài báo cáo này Em sẽ đi sâu tìm hiểu về mạng noron nhân tạo lantruyền ngược Back Perceptoron Đây là một mô hình mạng noron điển hình đãđược nghiên cứu và triển khai rộng rãi trong nhiều lĩnh vực

Nội dung chính của bài báo cáo được tổ chức thành 3 chương có nội dungnhư sau:

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

- Chương 2: Ứng dụng mạng noron nhân tạo trong bài toán nhận dạng kí tự

- Chương 3: Chương trình thử nghiệm

7

Trang 8

là các thiết bị nhị phân với ngưỡng cố định Kết quả của các mô hình này là cáchàm logic đơn giản.

Những tiến bộ của máy tính đầu những năm 1950 giúp cho việc mô hìnhhóa các nguyên lý của những lý thuyết liên quan tới cách thức con người suynghĩ đã trở thành hiện thực Nathanial Rochester sau nhiều năm làm việc tại cácphòng thí nghiệm nghiên cứu của IBM đã có những nỗ lực đầu tiên để mô phỏngmột mạng noron

Năm 1956 dự án Dartmouth nghiên cứu về trí tuệ nhân tạo (ArtificialIntelligence) đã mở ra thời kỳ phát triển mới cả trong lĩnh vực trí tuệ nhân tạo lẫnmạng noron

Từ những năm sau đó tới năm 1985 đã xuất hiện thêm nhiều phát minh racác mô hình mạng noron nhân tạo khác nhau

Năm 1985, viện vật lý Hoa Kỳ bắt đầu tổ chức các cuộc họp hàng năm vềmạng noron ứng dụng trong tin học (Neural Networks for Computing)

Năm 1987, hội thảo quốc tế đầu tiên về mạng noron của Viện các kỹ sư điện

và điện tử IEEE (Institute of Electrical and Electronic Engineer) đã thu hút hơn

1800 người tham gia

Ngày nay, không chỉ dừng lại ở mức nghiên cứu lý thuyết, các nghiên cứuứng dụng mạng noron để giải quyết các bài toán thực tế được diễn ra ở khắp mọinơi Các ứng dụng mạng noron ra đời ngày càng nhiều và ngày càng hoàn thiệnhơn Điển hình là các ứng dụng: xử lý ngôn ngữ, nhận dạng kí tự nhận dạng tiếngnói (Voice Recognition), nhận dạng mẫu (Pattern Recognition), xử lý tín hiệu(Signal Processing), Lọc dữ liệu (Data Filtering),…

Trang 9

1.2 Tổng quan về mạng nơron

1.2.1 Nơron sinh học

Bộ não con người bao gồm khoảng 1011 noron tham gia vào khoảng 1015kết nối trên các đường truyền Các noron có khả năng nhận, xử lý và truyền cáctín hiệu điện hóa trên các dây thần kinh

Một số cấu trúc của noron được xác định trước lúc sinh ra Một số cấu trúcđược phát triển thông qua quá trình học

Như vậy noron sinh học hoạt động theo cách thức sau: nhận tín hiệu đầuvào, xử lý các tín hiệu này và cho ra một tín hiệu output Tín hiệu output này sau

đó được truyền đi làm tín hiệu đầu vào cho các noron khác

Dựa trên những hiểu biết về noron sinh học, con người xây dựng noronnhân tạo với hy vọng tạo nên một mô hình có sức mạnh như bộ não

Hình 1.1: Mô hình noron 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àsynaptic

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

- Soma: là hạt nhân

9

Trang 10

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

Synaptic: 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ác nhau, kết hợp chúng tại vớinhau, thực thi tổ hợp phi tuyến chúng để cho ra kết quả cuối cùng ở đầu ra Hình1.1 chỉ ra mối quan hệ giữa bốn phần tử của một nơron sinh học

1.2.2 Noron nhân tạo

Một noron là một đơn vị xử lý thông tin và là thành phần cơ bản của mộtmạng noron Cấu trúc của một noron được mô tả như hình dưới đây:

Hình 1.2: Một noron nhân tạo

Các thành phần cơ bản của một noron nhân tạo bao gồm:

- Tập các đầu vào: Là các tín hiệu vào (input signals) của noron, các tín

hiệu này thường được đưa vào dưới dạng một vector N chiều

- Tập các liên kết: Mỗi liên kết được thể hiện bởi một trọng số (gọi là

trọng số liên kết – Synaptic weight) Trọng số liên kết giữa tín hiệu vào thứ j

với noron k thường được kí hiệu là wkj Thông thường, các trọng số này đượckhởi tạo một cách ngẫu nhiên ở thời điểm khởi tạo mạng và được cập nhật liêntục trong quá trình học mạng

- Bộ tổng (Summing function): Thường dùng để tính tổng của tích các đầu

vào với trọng số liên kết của nó

- Ngưỡng (còn gọi là một độ lệch - bias): Ngưỡng này thường được đưa vào

Trang 11

như một thành phần của hàm truyền.

- Hàm truyền (Transfer function) : Hàm này được dùng để giới hạn phạm

vi đầu ra của mỗi noron 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 noron được giới hạn trong đoạn[0,1] hoặc [-1, 1] Các hàm truyền rất đa dạng, có thể là các hàm tuyến tính hoặcphi tuyến Việc lựa chọn hàm truyền nào là tuỳ thuộc vào từng bài toán và kinhnghiệm của người thiết kế mạng Một số hàm truyền thường sử dụng trong các

mô hình mạng noron được đưa ra trong bảng bên dưới

Đầu ra: Là tín hiệu đầu ra của một noron, với mỗi noron sẽ có tối đa là mộtđầu ra Xét về mặt toán học, cấu trúc của một noron k, được mô tả bằng cặp biểuthức

Uk=

1w

k

kj j j

là tín hiệu đầu ra của noron

Như vậy tương tự như noron sinh học, noron nhân tạo cũng nhận các tínhiệu đầu vào, xử lý (nhân các tín hiệu này với trọng số liên kết, tính tổng các tíchthu được rồi gửi kết quả tới hàm truyền), và cho một tín hiệu đầu ra (là kết quảcủa hàm truyền)

11

Trang 12

Một số hàm truyền thông dụng

Hình 1.3: Một số hàm truyền thông dụng

Hàm vùng tuyến tính: Đối với loại hàm này chúng ta có

Trang 13

Dạng hàm này có thể được xem như môt xấp xỉ của một bộ khuếch đại phi tuyến Hàm sigma: 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 noron 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àmlogistics, xác định như sau:

Ở đó a là tham số độ dốc của hàm sigma Bằng việc biến đổi tham số a,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óctại v=0 là a/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à 0hoặ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ằnghàm sigma là hàm phân biệt, trong khi hàm ngưỡng thì không (Tính phân biệtcủa hàm là một đặc tính quan trọng trong lý thuyết mạng noron)

Các hàm kích hoạt được định nghĩa trong các công thức bên trên đều trongphạm vi từ 0 đến 1 Đôi khi có những yêu cầu xây dựng hàm kích hoạt trongphạm vi từ -1 đến 1, trong trường hợp này hàm kích hoạt được giả định có dạngđối xứng qua gốc toạ độ (hay có thể gọi là dạng phản đối xứng); nghĩa là hàmkích hoạt là một hàm lẻ

1.3 Mạng nơron nhân tạo

1.3.1 Định nghĩa mạng nơron nhân tạo

Mạng noron nhân tạo, Artificial Neural Network (ANN) gọi tắt là mạng

noron, là một mô hình xử lý thông tin phỏng theo cách thức xử lý thông tin củacác hệ noron sinh học Nó được tạo nên từ một số lượng lớn các phần tử (gọi làphần tử xử lý hay noron) kết nối với nhau thông qua các liên kết (gọi là trọng sốliên kết) làm việc như một thể thống nhất để giải quyết một vấn đề cụ thể nào đó

1.3.2 Mô hình mạng nơron nhân tạo

Một mạng noron là một mô hình tính toán được xác định qua các thamsố: kiểu noron (như là các nút nếu ta coi cả mạng noron là một đồ thị), kiến trúckết nối (sự tổ chức kết nối giữa các noron) và thuật toán học (thuật toán dùng để

13

Trang 14

học cho mạng).

Về bản chất một mạng noron có chức năng như là một hàm ánh xạ F: X->Y,trong đó X là không gian trạng thái đầu vào (input state space) và Y là khônggian trạng thái đầu ra (output state space) của mạng Các mạng chỉ đơn giản làlàm nhiệm vụ ánh xạ các vector đầu vào x thuộc X sang các vector đầu ra y thuộc

Y thông qua các trọng số Tức là y=F(x)=s(W, x), trong đó W là ma trận trọng sốliên kết

Sơ đồ của hình dưới chỉ ra mô hình của mạng noron nhân tạo dạng dơngiản:

Hình 1.4: Mạng noron nhân tạo đơn giản

Mô hình mạng nơron ở trên gồm 3 lớp: lớp nhập (input layer), lớp ẩn (hiddenlayer) và lớp xuất (output layer) Mỗi nút trong lớp nhập nhận giá trị của mộtbiế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ớpnà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 hóa 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

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 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ạng truyền

Trang 15

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

1.3.2.1 Các kiểu mô hình mạng noron

Cách thức kết nối các noron trong mạng xác định kiến trúc (topology) củamạng Các noron trong mạng có thể kết nối đầy đủ (fully connected) tức là mỗinoron đều được kết nối với tất cả các noron khác, hoặc kết nối cục bộ (partiallyconnected) chẳng hạn chỉ kết nối giữa các noron trong các tầng khác nhau

Người ta chia ra hai loại kiến trúc mạng chính:

a Kiến trúc truyền thẳng

Kiến trúc truyền thẳng: là kiểu kiến trúc mạng không có các kết nối ngược

trở lại từ các noron đầu ra về các noron đầu vào; mạng không lưu lại các giá trịoutput trước và các trạng thái kích hoạt của noron Các mạng noron truyền thẳngcho phép tín hiệu di chuyển theo một đường duy nhất; từ đầu vào tới đầu ra, đầu

ra của một tầ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ó hai dạng truyền:

+ đơn mức: Trong một mạng nơron phân mức, các nơron được tổ chức dưới

dạng các mức Với dạng đơn giản nhất của mạng phân mức, chúng ta có một mứcđầu vào gồm các nút nguồn chiếu trực tiếp tới mức đầu ra gồm các nơron

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

Hình 1.5: Mạng truyền thẳng với một mức nơron

15

Trang 16

Như vậy, mạng thực sự là không có chu trình Nó được minh hoạ trong hình1.5 cho trường hợp ba nút đối với cả mức đầu ra và đầu vào Một mạng như vậyđược gọi là một mạng đơn mức “Đơn mức” tức là chỉ có một mức, chính là mức đầu

ra gồm các nút tính toán (các nơron) Chúng ta không tính mức đầu vào của các nútnguồn vì không có tính toán nào được thực hiện ở đây

+ đa mức: Lớp thứ hai của một mạng nơron dẫn tiến được phân biệt bởi sự có

mặt của một hay nhiều mức ẩn, mà các nút tính toán của chúng được gọi là cácNơron ẩn hay các đơn vị ẩn (thuật ngữ “ẩn” ở đây mang ý nghĩa là không tiếpxúc với môi trường) Chức năng của các nơron ẩn là can thiệp vào giữa đầu vào

và đầu ra của mạng một cách hữu hiệu Bằng việc thêm một vài mức ẩn, mạng cókhả năng rút ra được các thống kê bậc cao của tín hiệu đầu vào Khả năng cácnơron ẩn rút ra được các thống kê bậc cao đặc biệt có giá trị khi mức đầu vào cókích thước lớn

Mạng nơron trong hình 1.6 được gọi là kết nối đầy đủ với ý nghĩa là tất cảcác nút trong mỗi mức của mạng được nối với tất cả các nút trong mức tiếp sau.Nếu một số kết nối không tồn tại trong mạng, chúng ta nói rằng mạng là kết nốikhông đầy đủ

Mức đầu vào Mức ẩn Mức đầu ra gồm các nút gồm các gồm các nguồn nơron ẩn nơron đầu ra

Hình 1.6: Mạng dẫn tiến kết nối đầy đủ với một mức ẩn và một mức đầu ra

Trang 18

b Kiến trúc phản hồi

Kiến trúc phản hồi: là kiểu kiến trúc mạng có các kết nối từ noron đầu ra tới

noron đầu vào Mạng lưu lại các trạng thái trước đó, và trạng thái tiếp theokhông chỉ phụ thuộc vào các tín hiệu đầu vào mà còn phụ thuộc vào các trạngthái trước đó của mạng

Trang 19

1.3.2.2 Đặc trưng của mạng neural

Một số khái niệm cần biết

Học trong mạng noron là quá trình thay đổi giá trị của w để mạng có thểđưa ra được kết quả mong muốn tối ưu

Sự khác nhau giữa giá trị thật của mẫu và kết quả dự đoán của mạng gọi làlỗi Quá trình học sẽ tìm các wi* để lỗi nhỏ nhất

1.3.3.1 Các phương pháp học

a 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ốngnhư 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, 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 chovới mỗi vector đầu vào sẽ được phân loại chính xác vào lớp của nó

b 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ọckhô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ậttoá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ácvector đầ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ớpphân loại chưa được biết trước, và tùy theo tiêu chuẩn đánh giá độ tương tự giữacác mẫu mà ta có thể có các lớp phân loại khác nhau

19

Trang 20

c 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 đầuvà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 xuống Do đó họctă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ọctheo thầy giáo

1.3.3.2 Thuật toán huấn luyện mạng

a Thuật toán học 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:

i i

t w v

t w v output

1

1 ,

1

, 1

(1.1)Nếu ta cho w0=-t và v0=1, ta có thể viết lại

i i i

d

w v

w v output

0 0

0 0 ,

1

0 ,

1

(1.2)Thuật toán:

Thuật toán học của perceptron hay mạng neural một lớp gồm 3 bước chính:Bước 1: Khởi tạo:

Khởi tạo trọng số w (0 hoặc ngẫu nhiên)

Trang 21

Phương trình w.v=0 là chính là siêu phẳng trong không gian d-chiều, suy raperceptron có khả năng phân lớp tuyến tính, có khả năng giải bài toán quy hồituyế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 neural nhiều tầng MLP

b Thuật toán học của mạng neural nhiều lớp

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

gồm hai quá trình: Quá trình truyền tuyến tính và quá trình truyền ngược:

Quá trình truyền tuyến tính: Dữ liệu từ lớp nhập qua lớp ẩn và đến lớp xuất để:1,Thay đổi giá trị của trọng số liên kết W của các neural trong mạng biểu diễnđược dữ liệu học

2.Tìm ra sự khác nhau giữa giá trị thật hàm mẫu mà mạng tính được và kết quả

dự đoán của mạng gọi là lỗi (học có giám sát)

Quá trình truyền ngược: Giá trị lỗi sẽ được truyền ngược lại sao cho quátrình huyến luyện(học) sẽ tìm ra trọng số Wi để lỗi nhỏ nhất

Thuật toán:

Xét mạng neural 3 lớp : input, hiden và output

Hàm kích hoạt các neural : logistic (sigmoid).g(x)= (1.3)

Bước 1: Khởi tạo trọng số w ngẫu nhiên nhỏ

Bước 2 : Chọn lớp đầu vào x và đính nó vào lớp đầu vào

Bước 3 : Truyền sự kích hoạt qua trọng số đến khi kich hoạt các neural đầu ra.Bước 4: Tính đạo hàm riêng “δE” theo trọng số cho lớp xuất sử dụngE” theo trọng số cho lớp xuất sử dụngGRADIENT của hàm lỗi

Bước 5: Tính đạo hàm riêng “δE” theo trọng số cho lớp xuất sử dụngE” theo trọng số cho lớp ẩn sử dụng GRADIENTcủa hàm lỗi

Bước 6: Cập nhật tất cả trọng số theo Wi=W(i-1)-µ(δE” theo trọng số cho lớp xuất sử dụngE/ δE” theo trọng số cho lớp xuất sử dụng Wi)

Bước 7: quay lai “Bước 2” cho đến “Bước 6” cho tất cả các mẫu

Trong đó: GRADIENT hàm lỗi

21

Trang 22

Đối với các neural lớp đầu ra:

Hàm lỗi:

2)1(

2

1)

E

(1.4)( t là giá trị thật của mẫu huấn luyện)

Đạo hàm riêng của hàm lỗi theo trọng số b:

b

v v

z z

E b

0 ,

1

) 1 (

) (

i b

v

z z v

g v z

t z z E

i

Đặt:

) 1 ( ) (  

E p

i p b

E

i i

(1.6)Đối với lớp ẩn :

Trang 23

Đạo hàm riêng của hàm lỗi theo trọng số:

a

u u

y y

E a

0,11

)1()(

1

j c

j a

u

y y u

y

b y

v

p z z t z v

z z

E y

E

j j

i i

i i i i i i

i i

K

i

i i

i i

23

Trang 24

)1(

1

y y b p u

y y

E

i i

E

i (1.8) Sau khi tính được đạo hàm riêng của hàm lỗi theo từng trọng số, trọng số sẽđược điều chỉnh bằng cách trừ bớt đi 1 lượng bằng tích của đạo hàm riêng và tốc

độ học:

i i

E w

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ấtlớ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à đạtgiá 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ộtcự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ươngphá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ộtphương án khác là tăng thêm số lượng đơn vị ẩn Như vậy sẽ làm việc trongkhô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ăngcũ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

Trang 25

1.4 Thuật toán lan truyền ngược và Giải thuật Back propagation minh họa

1.4.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 và 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 là trọng số liên kết từ nơron thứ jtrong lớp q – 1 tới nơron thứ i trong lớp q

Đầu vào: các cặp huấn luyện { ) | k=1,2, ,p}, ở đó giá trị đầu vàocủa phần tử cuối cùng bằng 1, tức là

Bước 1: Khởi tạo các trọng số ngẫu nhiên nhỏ Chọn hằng số và

(sai số lớn nhất cho phép) Cho sai số E= 0 và k= 1

Bước 2: Chọn lớp đầu vào và đính nó vào lớp đầu vào

Bước 3: Lan truyền tín hiệu từ lớp vào tới lớp ra (lan truyền thẳng)

(1.10)

Bước 4: Tính toán lỗi đầu ra

E (1.11)

(1.12)

Bước 5: 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 cho các lớp trước

25

Trang 26

(1.14)

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

Kiểm tra xem đã lặp hết các giá trị mẫu huấn luyện chưa, nếu chưa quay vònghết (tức là k< p) 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 7

Bước 7: 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< E max) thì kết thúc quá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ện mới bằngcách nhảy tới bước 1

1.4.2 Giải thuật Back propagation minh họa

b Giải thuật Back propagation minh họa

Giải thuật chia làm hai giai đoạn:

- Lan truyền tiến (tính output của các noron)

- Lan truyền ngược

Để minh họa cho giải thuật, chúng ta sẽ xem xét giải thuật Back propagationhiệu chỉnh các weights của một mạng noron gồm ba lớp với 2 đầu vào và mộtđầu ra như hình bên dưới:

Trang 27

Hình 1.9: Minh họa giải thuật Back Propagation

Mỗi noron sẻ gồm hai thành phần chính Thứ nhất là các trọng số weights

và các trị số đầu vào x Phần thứ 2 là hàm kích hoạt f Và y = f(e) là đầu ra củamột noron

Hình 1.10: Các thành phần của noron nhân tạo

Để dạy cho mạng chúng ta cần phải có các mẫu.Mỗi mẫu bao gồm hai thànhphần đó là:

Trang 28

Chúng ta sẻ bắt đầu với hai đầu vào x1, x2 Từ đó chúng ta có thể tính đượcđầu ra của mỗi noron trong mạng Hình dưới minh họa cho sự lan truyền các giátrị trong mạng

Trong đó :

và noron n trong tầng input của mạng

-Yn : tượng trưng cho đầu ra của noron n

Hình 1.11: Minh họa giải thuật Back Propagation

Trang 29

Hình 1.12: Quá trình lan truyền tiến

29

Trang 30

Sự lan truyền của các tín hiệu từ lớp đầu vào đến lớp ẩn

Kí hiệu wmn biểu diễn trọng số weights của kết nối giữa đầu ra của noron m

và là đầu vào của noron n

Sự lan truyền của tín hiệu đến lớp đầu ra:

Bước tiếp theo của giải thuật là so sánh giá trị đầu ra của mạng là Y với giá trị

z là kết quả mong muốn Hiệu giữa chúng ta gọi là tín hiệu lỗi của lớp đầu ra

Trang 31

Hình 1.13: Tính giá trị lỗi ở đầu ra

Chúng ta không thể tính được các tín hiệu lổi của các noron một cách trựctiếp Bởi vì chúng ta không có được đầu ra của mổi noron Nên chúng ta sẻ lantruyền tín hiệu lỗi lùi lại đến tất cả các noron là tín hiệu lỗi ở noron n  là tín hiệu lỗi ở noron n

Bước 2: Lan truyền ngược:

Hình 1.14: Lan truyền ngược

Hình 1.15: Lan truyền ngược

31

Trang 32

Chú ý: Các trọng số weights wmn được dùng để tính toán trong trường hợplan truyền ngược này bằng với các trọng số weights wmn trong lan truyền tiến.Chỉ có chiều của lan truyền tín hiệu là thay đổi Kỹ thuật này được dùng cho tất

cả các lớp của mạng Ta có thể thấy bằng hình ảnh :

Hình 1.16: Lan truyền ngược lớp 2

hiệu lỗi này để thay đổi giá trị của các trọng số

Trong giải thuật Back propagation trọng số thay đổi dựa vào đạo hàm củahàm kích hoạt trong mỗi noron

Trong đó:

- df e( )

de : là đạo hàm của hàm kích hoạt

Ngày đăng: 20/04/2017, 22:16

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1.] Đinh Thị Hương Lan, CT603, Trường đại học dân lập hải phòng,Tìm hiểu mạng neural nhân tạo cho bài toán nhận dạng Sách, tạp chí
Tiêu đề: Đinh Thị Hương Lan, CT603, Trường đại học dân lập hải phòng
[2.] Ben Krose, faculty of Mathematics and computer science, university of Amsterdam. And Patrick van der smagt, institute of robotics and system dynamics German aerospase Reseach establishment, MathNeuralNetworks Sách, tạp chí
Tiêu đề: Ben Krose, faculty of Mathematics and computer science, university ofAmsterdam. And Patrick van der smagt, institute of robotics and systemdynamics German aerospase Reseach establishment
[3.] Colin Fyfe, department of computing and information system, the university of Paisley, Artificial Neural Networks and Information theory Sách, tạp chí
Tiêu đề: Colin Fyfe, department of computing and information system, the universityof Paisley
[4.] Mostefa golea and Mario Marchand, Deparment of physics, university of Ottawa Canada, A Growth Algorithm for Neural Networks Decision Trees Sách, tạp chí
Tiêu đề: Mostefa golea and Mario Marchand, Deparment of physics, university ofOttawa Canada
[5.] From Wikipedia, the free encyclopedia. Artificial neural network . [6.] http://en.wikipedia.org/wiki/Non-linear Sách, tạp chí
Tiêu đề: From Wikipedia, the free encyclopedia." Artificial neural network .[6.]
[7.] Ngô Xuân Bách, ứng dụng mô hình mạng noron trong nhận dạng chữ viết tay rời rạc hạn chế trực tuyến trên table pc, khóa luận tốt nghiệp ngành CNTT ĐH Công nghệ Sách, tạp chí
Tiêu đề: ứng dụng mô hình mạng noron trong nhận dạng chữ viếttay rời rạc hạn chế trực tuyến trên table pc

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Mô hình noron sinh học - Ứng dụng mạng nơron trong bài toán nhận dạng ký tự
Hình 1.1 Mô hình noron sinh học (Trang 9)
Hình 1.3: Một số hàm truyền thông dụng - Ứng dụng mạng nơron trong bài toán nhận dạng ký tự
Hình 1.3 Một số hàm truyền thông dụng (Trang 12)
Sơ đồ của hình dưới chỉ ra mô hình của mạng noron nhân tạo dạng dơn giản: - Ứng dụng mạng nơron trong bài toán nhận dạng ký tự
Sơ đồ c ủa hình dưới chỉ ra mô hình của mạng noron nhân tạo dạng dơn giản: (Trang 14)
Hình 1.8: Mạng phản hồi có các nơron ẩn - Ứng dụng mạng nơron trong bài toán nhận dạng ký tự
Hình 1.8 Mạng phản hồi có các nơron ẩn (Trang 18)
Hình 1.7: Mạng phản  hồi không có nơron ẩn và không có vòng lặp tự phản hồi - Ứng dụng mạng nơron trong bài toán nhận dạng ký tự
Hình 1.7 Mạng phản hồi không có nơron ẩn và không có vòng lặp tự phản hồi (Trang 18)
Hình 1.9: Minh họa giải thuật Back Propagation - Ứng dụng mạng nơron trong bài toán nhận dạng ký tự
Hình 1.9 Minh họa giải thuật Back Propagation (Trang 27)
Hình 1.12: Quá trình lan truyền tiến - Ứng dụng mạng nơron trong bài toán nhận dạng ký tự
Hình 1.12 Quá trình lan truyền tiến (Trang 29)
Hình 1.15: Lan truyền ngược - Ứng dụng mạng nơron trong bài toán nhận dạng ký tự
Hình 1.15 Lan truyền ngược (Trang 31)
Hình 1.14: Lan truyền ngược - Ứng dụng mạng nơron trong bài toán nhận dạng ký tự
Hình 1.14 Lan truyền ngược (Trang 31)
Hình 1.16: Lan truyền ngược lớp 2 - Ứng dụng mạng nơron trong bài toán nhận dạng ký tự
Hình 1.16 Lan truyền ngược lớp 2 (Trang 32)
Hình 1.17: Lan truyền ngược - Ứng dụng mạng nơron trong bài toán nhận dạng ký tự
Hình 1.17 Lan truyền ngược (Trang 33)
Hình 1.18: Lan truyền ngược vòng 2 - Ứng dụng mạng nơron trong bài toán nhận dạng ký tự
Hình 1.18 Lan truyền ngược vòng 2 (Trang 34)
Hình 2.4: Sơ đồ mạng nơron thiết kế - Ứng dụng mạng nơron trong bài toán nhận dạng ký tự
Hình 2.4 Sơ đồ mạng nơron thiết kế (Trang 45)
Hình 2.5: Sơ đồ khối quá trình huấn luyện mạng nơron - Ứng dụng mạng nơron trong bài toán nhận dạng ký tự
Hình 2.5 Sơ đồ khối quá trình huấn luyện mạng nơron (Trang 48)
Hình 2.6: Sơ đồ khối quá trình nhận dạng kí tự - Ứng dụng mạng nơron trong bài toán nhận dạng ký tự
Hình 2.6 Sơ đồ khối quá trình nhận dạng kí tự (Trang 49)

TỪ KHÓA LIÊN QUAN

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