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

Tiểu luận môn Máy học và ứng dụng TÌM HIỂU VỀ MẠNG NEURON NHÂN TẠO VÀ ỨNG DỤNG TRONG NHẬN DẠNG KÝ TỰ QUANG HỌC

31 1,1K 0

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

Nội dung

Vì lý do đó, mạng nơron nhân tạo Artificial Neural Networks ra đời từmục đích cố gắng mô phỏng hoạt động trí tuệ của con người.Từ khi ra đời, mạngneuron đã nhanh chóng phát triển trong

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

BÀI THU HOẠCH MÔN

MÁY HỌC

ĐỀ TÀI TÌM HIỂU VỀ MẠNG NEURON NHÂN TẠO VÀ ỨNG DỤNG TRONG NHẬN

DẠNG KÝ TỰ QUANG HỌC

GVHD: PGS.TS Vũ Thanh Nguyên SVTH: Nguyễn Hải Yến

MSSV: CH1301074

Trang 2

TP Hồ Chí Minh, ngày 22 tháng 03 năm 2014

LỜI NÓI ĐẦU

Từ khi ra đời, máy tính đã nhanh chóng phát triển và đóng một vai trò rấtquan trọng trong nghiên cứu khoa học kỹ thuật cũng như trong đời sống

Nhưng một máy tính dù có mạnh đến đâu chăng nữa, cũng chỉ có thể làmviệc theo một chương trình đã được hoạch định sẵn bởi lập trình viên Nó vẫnkhông có khả năng liên tưởng, kết nối sự việc này với sự việc khác, và quan trọnghơn hết là khả năng sáng tạo như con người

Vì lý do đó, mạng nơron nhân tạo (Artificial Neural Networks ) ra đời từmục đích cố gắng mô phỏng hoạt động trí tuệ của con người.Từ khi ra đời, mạngneuron đã nhanh chóng phát triển trong các lĩnh vực về nhận dạng, dự đoán, phânloại, giảm nhiễu, …

Trong phạm vi bài thu hoạch này em xin trình bày về “Ứng dụng mạngneuron nhân tạo giải quyết bài toán dự đoán phân loại “

Em xin gửi lời cảm ơn chân thành đến trường Đại học Công Nghệ ThôngTin TP.HCM đã tạo điều kiện cho em được tiếp cận với môn học “Máy học ”

Em xin cảm ơn Thầy PGS.TS Vũ Thanh Nguyên đã truyền đạt kiến thức

và có những định hướng giúp em hoàn thành bài thu hoạch

Mặc dù đã rất cố gắng nhưng bài thu hoạch của em khó tránh khỏi thiếusót em mong Thầy góp ý nhận xét để bài thu hoạch hoàn thiện hơn

Trang 3

MỤC LỤC



LỜI NÓI ĐẦU 2

Chương 1 TỔNG QUAN VỀ MẠNG NƠ-RON NHÂN TẠO 4

1.1 Giới thiệu về mạng nơ-ron nhân tạo 4

1.1.1 Bắt nguồn từ động cơ sinh học 4

1.1.2 Mô hình mạng nơ-ron nhân tạo (ANN: Artificial Neuron Network) 5

1.2 Mạng nơ-ron lan truyền thẳng nhiều lớp 10

1.3 Mạng nơ-ron lan truyền ngược 14

1.3.1 Kiến trúc 14

1.3.2 Thuật toán lan truyền ngược ( Back Propagation) 15

1.3.3 Đánh giá thuật toán lan truyền ngược 19

Chương 2 NHẬN DẠNG KÝ TỰ QUANG HỌC 20

2.1 Phát biểu bài toán 20

2.2 Xác định cấu trúc mạng 20

2.3 Phương pháp và thuật toán nhận dạng ký tự 22

2.3.1 Phương pháp xử lý dữ liệu ( nhận dạng kí tự) : 22

2.3.2 Thuật toán nhận dạng kí tự quang học 28

2.3.3 Huấn luyện mạng 30KẾT LUẬN 30

TÀI LIỆU THAM KHẢO 31

Trang 4

Chương 1.

TỔNG QUAN VỀ MẠNG NƠ-RON NHÂN TẠO

1.1 Giới thiệu về mạng nơ-ron nhân tạo

1.1.1 Bắt nguồn từ động cơ sinh học

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

Chức năng cơ bản của các tế bào nơ-ron là liên kết với nhau để tạo nên hệthống thần kinh điều khiển hoạt động của cơ thể sống Các tế bào nơ-ron truyềntín hiệu cho nhau thông qua các dây thần kinh vào và ra, các tín hiệu đó có dạngxung điện và được tạo ra từ các quá trình phản ứng hoá học phức tạp Mỗi nơ-ronvừa là đơn vị lưu trữ vừa là đơn vị xử lý

Não bộ của con người là một cỗ máy học hoàn hảo Mặc dù tốc độ tính toán

số học chậm hơn máy tính, thời gian trao đổi thông tin giữa các nơ-ron là 10-3 giây( chậm hơn so với máy tính là 10-10 giây ) nhưng con người có thể đưa ra nhữngquyết định phức tạp và nhanh chóng một cách đáng ngạc nhiên ( chỉ mất 10-1 giây

để nhận ra người thân của mình)

Hình :Minh họa não bộ con người và mạng nơ-ron thần kinh

Trang 5

1.1.2 Mô hình mạng nơ-ron nhân tạo (ANN: Artificial Neuron Network)

Mạng nơ-ron nhân tạo là một hệ thống xử lý thông tin được xây dựng trên

cơ sở tổng quát hoá mô hình toán học của nơ-ron sinh học và mô phỏng theo cơchế làm việc của bộ não con người Mạng nơ-ron nhân tạo được thể hiện thôngqua ba thành phần cơ bản: mô hình của nơ-ron, cấu trúc và sự liên kết giữa cácnơ-ron, phương pháp học được áp dụng cho mạng nơ-ron

a Mô hình của nơ-ron

Việc xử lý thông tin tại mỗi nơ-ron có thể xem là gồm hai phần: xử lý tínhiệu vào (input) và đưa tín hiệu ra (output) Tương ứng với phần vào của mỗi nơ-ron là một hàm tương tác f, hàm này kết hợp các thông tin truyền tới nơ-ron và tạothành thông tin đầu vào tổng hợp (gọi là net input) của nơ-ron đó Một nơ-ron thứ

i trong mạng thường có hàm fi ở dạng tuyến tính như sau :

- xj : Tín hiệu vào

- w ij : trọng số tương ứng

- : một giá trị ngưỡng iThao tác thứ hai trong mỗi nơ-ron là tính giá trị đầu ra tương ứng với giá trị đầu vào f thông qua hàm kích hoạt hay còn gọi là hàm chuyển g(f) Một số hàm

chuyển thường được sử dụng:

 Hàm bước nhảy

 Hàm dấu

Trang 6

 Hàm Sigmoid

b Cấu trúc và sự liên kết giữa các nơ-ron

Mạng nơ-ron nhân tạo gồm các nơ-ron và liên kết có trọng số giữa chúng Sau đây

là mô hình của một số mạng nơ-ron nhân tạo

 Mạng ANN có một nút và có sự phản hồi

 Mạng ANN truyền thẳng một lớp

 Mạng ANN truyền thẳng nhiều lớp

Trang 7

 Mạng ANN quy hồi một lớp

c Phương pháp học áp dụng cho mạng nơ-ron

Có hai vấn đề cần học đối với mỗi mạng nơ-ron nhân tạo đó là học tham

số (parameter learning) và học cấu trúc (structure learning)

Học tham số là việc thay đổi trọng số của các liên kết giữa các nơ-ron trongmột mạng, còn học cấu trúc là việc điều chỉnh cấu trúc của mạng bao gồm thay đổi

số lớp nơ-ron, số nơ-ron của mỗi lớp và cách liên kết giữa chúng Hai vấn đề này

có thể được thực hiện đồng thời hoặc tách biệt

Phương pháp học được chia làm ba loại :

 Học có giám sát (Supervisit Learning) :(học có thầy) Đây là cách học từ những mẫu dữ liệu mà ở đó các kỹ thuật máy học giúp hệ thống xây

Trang 8

dựng cách xác định những lớp dữ liệu Hệ thống phải tìm một sự mô tả cho từng lớp (đặc tính của mẫu dữ liệu).

Người ta có thể sử dụng các luật phân loại hình thành trong quá trìnhhọc và phân lớp để có thể sử dụng dự báo các lớp dữ liệu sau này

Thuật toán học có giám sát gồm tập dữ liệu huấn luyện M cặp:

S = {(xi, cj) i=1,…,M; j=1,…,C}

Các cặp huấn luyện này được gọi là mẫu, với

xi là vector n-chiều còn gọi là vector đặc trưng,

cj là lớp thứ j đã biết trước

Thuật toán máy học giám sát tìm kiếm không gian của những giả

thuyết có thể, gọi là H Đối với một hay nhiều giả thuyết, mà ước lượng tốt nhất hàm không được biết chính xác f : x c.

Đối với công việc phân lớp có thể xem giả thuyết như một tiêu chíphân lớp.Thuật toán máy học tìm ra những giả thuyết bằng cách khámphá ra những đặc trưng chung của những ví dụ mẫu thể hiện cho mỗi

lớp.Kết quả nhận được thường ở dạng luật (Nếu thì).

Khi áp dụng cho những mẫu dữ liệu mới, cần dựa trên những giảthuyết đã có để dự báo những phân lớp tương ứng của chúng Nếu nhưkhông gian giả thuyết lớn, thì cần một tập dữ liệu huấn luyện đủ lớn

nhằm tìm kiếm một hàm xấp xỉ tốt nhất f.

 Học không giám sát (UnSupervisit Learning) : học không có thầy

Đây là việc học từ quan sát và khám phá Hệ thống khai thác dữ liệuđược ứng dụng với những đối tượng nhưng không có lớp được địnhnghĩa trước, mà để nó phải tự hệ thống quan sát những mẫu và nhận ramẫu Hệ thống này dẫn đến một tập lớp, mỗi lớp có một tập mẫu đượckhám phá trong tập dữ liệu

Học không giám sát còn gọi là học từ quan sát và khám phá

Trong trường hợp chỉ có ít, hay gần như không có tri thức về dữ liệuđầu vào, khi đó một hệ thống học không giám sát sẽ khám phá ra những

Trang 9

phân lớp của dữ liệu, bằng cách tìm ra những thuộc tính, đặc trưngchung của những mẫu hình thành nên tập dữ liệu.

Một thuật toán máy học giám sát luôn có thể biến đổi thành mộtthuật toán máy học không giám sát (Langley 1996)

Đối với một bài toán mà những mẫu dữ liệu được mô tả bởi n đặc trưng, người ta có thể chạy thuật toán học giám sát n-lần, mỗi lần với

một đặc trưng khác nhau đóng vai trò thuộc tính lớp, mà chúng ta đangtiên đoán

Kết quả sẽ là n tiêu chí phân lớp (n bộ phân lớp), với hy vọng là ít nhất một trong n bộ phân lớp đó là đúng.

 Học tăng cường (Hybrid Learning)

Học nửa giám sát là các thuật toán học tích hợp từ học giám sát và họckhông giám sát Việc học nửa giám sát tận dụng những ưu điểm củaviệc học giám sát và học không giám sát và loại bỏ những khuyết điểmthường gặp trên hai kiểu học này

1.1.3 Ứng dụng của mạng nơ-ron nhân tạo

Đặc trưng của mạng nơ-ron nhân tạo là khả năng học và xử lý song song

Nó có thể gần đúng mối quan hệ tương quan phức tạp giữa các yếu tố đầu vào vàđầu ra của các quá trình cần nghiên cứu và khi đã học được thì việc kiểm tra độclập thường cho kết quả tốt Sau khi đã học xong, mạng nơ-ron nhân tạo có thể tínhtoán kết quả đầu ra tương ứng với bộ số liệu đầu vào mới

Về mặt cấu trúc, mạng nơ-ron nhân tạo là một hệ thống gồm nhiều phần tử

xử lý đơn giản cùng hoạt động song song Tính năng này của ANN cho phép nó

có thể được áp dụng để giải các bài toán lớn

Mô hình mạng nơ-ron nhân tạo cho phép liên kết có trọng số các phần tửphi tuyến (các nơ-ron đơn lẻ) tạo nên dạng hàm tổng hợp từ các hàm thành phần

Do vậy, sau một quá trình điều chỉnh sự liên kết cho phù hợp (quá trình học), cácphần tử phi tuyến đó sẽ tạo nên một hàm phi tuyến phức tạp có khả năng xấp xỉhàm biểu diễn quá trình cần nghiên cứu

Trang 10

Ứng dụng mạng nơ-ron nhân tạo giải quyết các bài toán phân lớp : phânloại chất lượng sản phẩm, nhận dạng người, nhận dạng tiếng nói, chữ viết Ứngdụng trong giải quyết các bài toán về dự báo: dự báo gía vàng, giá chứng khoán,

dự báo thiên tai Ứng dụng mạng nơ-ron nhân tạo giải các bài toán tìm xấp xỉ tốiưu,…

1.2 Mạng nơ-ron lan truyền thẳng nhiều lớp

1.2.1 Mạng perceptron một lớp

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 không có lớp ẩn Trên mỗi lớp này có thể có một hoặc nhiều nơ-ron Mô hìnhmạng nơ-ron một lớp sử dụng hàm ngưỡng đóng vai trò là hàm chuyển Do đó,tổng của các tín hiệu vào lớn hơn giá trị ngưỡng thì giá trị đầu ra của nơ-ron sẽ là

1, còn trái lại sẽ là 0

Ngay từ khi mạng Perceptron một lớp đượ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 nơ-ron i phân vào lớp A nếu

Tổng thông tin đầu vào :

Trong đó w ij là trọng số liên kết từ nơ-ron j tới nơ-ron i , xj là đầu vào từ

nơ-ron j, và θ là ngưỡng của nơ-ron i Trong trường hợp trái lại đối tượng sẽ được

phân vào lớp B

Việc huấn luyện mạng dựa trên phương pháp học có giám sát với tập mẫuhọc là

{(x(k), d(k))}, k= 1,2, …, p Trong đó d(k) = [d1(k), d2(k), …, dn(k)]T là đầu raquan sát được tương ứng với đầu vào x(k) = [x1(k), x2(k), …, xm(k)]T (với m là số đầuvào, n là số đầu ra và p là cặp mẫu đầu vào - đầu ra dùng cho việc học) Như vậychúng ta mong rằng sau quá trình học, đầu ra tính toán được y(k) = [y1(k), y2(k), …,

yn(k)]T sẽ bằng với đầu ra của mẫu học d(k)

Trang 12

tuyến tính phức tạp Sau đây là hình ảnh minh họa học để nhận dạng 10 nguyên

âm xuất hiện trong ngữ cảnh “h_d” (“had”,”hid”,…)

Mạng MLP thường dùng các hàm chuyển là hàm sigmoid (phi tuyến + khả vi) nhưsau :

Trang 13

Giá trị đầu ra ( hàm g(x) ) nằm trong đoạn (0,1) hay xấp xỉ giá trị 0,1 khi |x| lớn.Cần đưa các giá trị đầu vào x về khoảng có giá trị nhỏ, nếu không thì các nơ-rontại các lớp ẩn ngay ban đầu đã có thể đạt giá trị bão hoà và quá trình học của mạngkhông đạt kết quả mong muốn Với dạng hàm như trên thì giá trị đầu vào củamạng thường được chuẩn hoá về khoảng thuộc đoạn[-3, 3] Mặt khác, do tín hiệu đầu ra của nơ-ron nằm trong khoảng giá trị (0,1) nêncác giá trị đầu ra thực tế trong các mẫu học cũng cần chuẩn hoá về khoảng giá trịnày để có thể dùng cho quá trình luyện mạng Do vậy trong quá trình tính toán,

để có các giá trị thực tế ở đầu ra của mạng chúng ta cần phải chuyển các giá trịtrong khoảng (0,1) về miền các giá trị thực tế

Khi mạng có cấu trúc (số nút ẩn và liên kết) cũng như số lần học chưa đủ so vớinhu cầu của bài toán thì sẽ dẫn tới tình trạng mạng không đủ khả năng mô tả gầnđúng mối quan hệ tương quan giữa đầu vào và đầu ra của quá trình cần dự báo vàdẫn tới học chưa đủ

Trái lại, nếu mạng quá phức tạp (quá nhiều nút ẩn và quá nhiều tham số) và đượchọc “quá khít” đối với các mẫu dùng để luyện mạng thì có thể dẫn tới tình trạngmạng học cả thành phần nhiễu lẫn trong các mẫu đó, đây là tình trạng “học quáthuộc” của mạng Vấn đề nêu trên có thể làm cho nhiều loại mạng nơ-ron, đặc biệt

là mạng MLP có thể có những trường hợp cho kết quả dự đoán rất sai lệch vớithực tế

giải pháp cho vấn đề học chưa đủ và học quá thuộc của mạng

o Sử dụng tập số liệu có tính đại diện tốt để luyện mạng (Khi tậpmẫu dùng để luyện mạng thể hiện được nhiều trạng thái có thể

Trang 14

xẩy ra của quá trình cần nghiên cứu thì sau khi học mạng sẽ cókhả năng tổng quát hoá tương đối tốt)

o Lựa chọn cấu trúc mô hình phù hợp (Các mạng có độ phức tạphơn (10 nút ẩn, 50 nút ẩn) tuy nó có thể học khá chính xác cácmẫu được sử dụng nhưng lại làm cho nó học quá nhiều cả thànhphần nhiễu nên khả năng tổng quát hoá giảm và dẫn tới hiệntượng học quá)

o Dừng học đúng lúc (tập mẫu chia làm hai phần : phần luyệnmạng và phần kiểm thử; Tính toán sự thay đổi lỗi kiểm thử trongquá trình luyện mạng dừng học khi lỗi kiểm thử tăng )

Gọi số nơ-ron thuộc lớp ẩn là L, số nơ-ron ở lớp vào là p thì:

- Số nơ-ron tối ưu ở lớp ẩn <= (2p+1)

- Cơ sở dữ liệu học phải có số mẫu thoả mãn:

Mạng nơ-ron lan truyền ngược là mạng có cấu trúc truyền thẳng, học

có giám sát và sử dụng thuật toán lan truyền ngược Mạng nơ-ron lan truyềnngược có thể dùng cho các bài toán: phân loại, mô hình hóa, xấp xỉ hàm, dự đoánchuỗi thời gian Sau đây là mô hình chi tiết

Trang 15

1.3.2 Thuật toán lan truyền ngược ( Back Propagation)

Thuật toán có hai giai đoạn tính toán tách biệt nhau: giai đoạn ward) và giai đoạn lùi(backward)

tiến(for- Trong giai đoạn tiến, các tín hiệu được tính toán dựa trên cơ sở từ nơ-ron nàyđến nơ-ron khác theo chiều tiến của mạng Bắt nguồn từ đầu vào củamẫu dữ liệu, quá trình toán tính cứ tiếp diễn cho tới khi tính được đầu racủa các nơ-ron nằm trong lớp đầu ra của mạng Giá trị đầu ra này được so sánhvới giá trị đầu ra mong muốn từ đó thu nhận tín hiệu lỗi

 Giai đoạn tính toán lùi bắt đầu tại mức đầu ra bằng cách chuyển tín hiệulỗi ngược trở lại qua toàn bộ mạng theo từng mức nhằm tính toán gradi-ent cục bộ mỗi nơ-ron Quá trình này cho phép các trọng số của mạng có thểđiều chỉnh

Chi tiết thuật toán

BACKPROPAGATION (training_examples, , nin, nout, nhidden)

 Mỗi mẫu huấn luyện là một cặp ( x , t ), với x là véc tơ các giá trị đầu vàomạng, và t là véc tơ các giá trị xuất

  là hệ số học , nin là số đầu vào mạng, nhidden là số đơn vị lớp ẩn, và nout là

số đơn vị xuất

 Đầu vào đơn vị j đến từ đơn vị i được ký hiệu là xji, và trọng số từ đơn vị iđến đơn vị j được ký hiệu là wji

Trang 16

Tạo một mạng truyền thẳng với n in đầu vào, n hidden đơn vị ẩn, và n outđơn vị xuất.Khởi gán tất cả trọng số mạng bằng các số ngẫu nhiên nhỏ (ví dụ giữa -0.5 và 0.5).Cho đến khi (<đk kết thúc được thỏa>) làm

{

B1: Lan truyền gía trị đầu vào thẳng qua mạng

Nhập vào mạng và tính giá trị đầu ra o u của mỗi đơn vị u trong mạng

B2: Lan truyền các lỗi ngược qua mạng

Đối với mỗi đơn vị xuất k của mạng, tính giá trị lỗi k

Đối với mỗi đơn vị ẩn h, tính giá trị lỗi h

Cập nhật từng trọng số mạng w ji

}

Điều kiện dừng thuật toán:

 Nếu lỗi tổng thể E nhỏ hơn ngưỡng lỗi chấp nhận được hoặc khi lặp vớimột số lần lặp cho trước … thì quá trình học kết thúc và trả về bộ trọng sốhọc được

 Ngược lại gán E = 0, bắt đầu chu trình học mới (quay lại bước 1)

Minh họa cho thuật toán:

Ngày đăng: 21/05/2015, 12:49

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w