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

báo cáo bài tập lớn xử lý ngôn ngữ tự nhiên đề tài nhận dạng chữ viết

41 1,2K 2

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 41
Dung lượng 2,31 MB

Nội dung

- Tập các đầu vào: Là các tín hiệu vào của nơron, các tín hiệu này thường được đưavào dưới dạng một vector m chiều.. - Ngưỡng: Ngưỡng này thường được đưa vào như một thành phần của hàm t

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

BÁO CÁO BÀI TẬP LỚN XỬ LÝ NGÔN NGỮ TỰ NHIÊN

NHẬN DẠNG CHỮ VIẾT

Giảng viên hướng dẫn: PGS Lê Thanh Hương

Sinh viên thực hiện: Phạm Phương Bắc 20080176

Nguyễn Duy Hưởng 20081337

Lê Quốc Trung 20082778 Nguyễn Tuấn Vinh 20083174 Phạm Tuấn Việt 20083152

Hà Nội - 04/2012

Mục Lục

Mục Lục 2

Trang 2

Lời nói đầu 3

Chương I Tổng quan về tài 4

I.1 Tổng quan về nhận dạng chữ viết 4

I.2 Các khái niệm liên quan 4

I.2.1 Mạng nơ ron 4

I.2.2 Mạng nơ ron nhân tạo 5

I.2.3 Mạng Perceptron 17

I.2.4 Phương pháp học máy back-propagation 22

I.2.5 Tập huấn luyện mạng 29

Chương II Nội dung thực hiện 30

II.1 Các modun chương trình 30

II.1.1 Mô hình bài toán 30

II.1.2 Giao diện chương trình 35

II.2 Kết quả 37

II.3 Đánh giá 38

Kết luận 40

Tài liệu tham khảo 41

Chú thích 41

Lời nói đầu

Từ trước đến nay đề tài nhận dạng chữ viết đã được quan tâm nghiên cứu rất nhiều vì nó

có tính ứng dụng cao trong thực tiễn như giúp tăng tốc độ nhập thông tin từ các loại tài liệu chưa

Trang 3

được số hóa hoặc còn ở dạng ảnh sang dạng ngôn ngữ máy, hỗ trợ khả năng đọc văn bản chorobot, đặc biệt là với tình hình phát triển rất nhanh của các thiết bị di động như smart phone,tablet… một nhu cầu lớn được đặt ra là tốc độ tạo văn bản khi sử dụng Do vậy vấn đề nhận dạngchữ viết ngày càng chứng tỏ tính hữu dụng của nó trong đời sống.

Căn cứ vào tiềm năng của lĩnh vực nhận dạng chữ viết và niềm yêu thích lĩnh vực nhậndạng, nhóm em đã lựa chọn đề tài nhận dạng chữ viết

Chúng em xin cảm ơn PGS Lê Thanh Hương – Giảng viên viện CNTT&TT trường Đạihọc Bách khoa Hà Nội đã giúp chúng em giải đáp các thắc mắc trong quá trình học cũng như làmbài tập lớn

Chương I Tổng quan về tài

I.1 Tổng quan về nhận dạng chữ viết

Nhận dạng chữ viết có hai loại là nhận dạng chữ in và chữ viết tay Mỗi kiểu nhận dạng

có những đặc trưng riêng Chữ in thường tuân theo những mẫu nhất định của các font chữ trongcác chương trình tạo văn bản và thường rõ nét Đối với chữ viết tay, mỗi người có một kiểu viếtriêng thậm chí chữ viết của một người cũng không giống nhau qua các lần viết khác nhau Chữ

Trang 4

viết tay trên văn bản như giấy thường hay bị mờ, mất nét, lệch dòng…Điều đó khiến cho việcnhận dạng trở lên khó khăn hơn

Trong khuôn khổ bài tập lớn, nhóm em làm về nhận dạng các ký tự viết tay, cụ thể hơn làcác ký tự số viết tay Ảnh của các ký tự này được tạo bởi chương trình vẽ của máy tính và đượclưu vào các tệp ảnh png

I.2 Các khái niệm liên quan

I.2.1 Mạng nơ ron

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ể chialàm bốn thành phần cơ bản như sau: dendrites, soma, axon và synapses

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

- Soma: là hạt nhân

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

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

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

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

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

Trang 5

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

I.2.2 Mạng nơ ron nhân tạo

Mô hình toán học của mạng nơron sinh học được đề xuất bởi McCulloch và Pitts, thườngđược gọi là nơron M-P, ngoài ra nó còn được gọi là phần tử xử lý và được ký hiệu là PE(Processing Element)

Mô hình nơron có m đầu vào x 1 , x 2 ,…, x m , và một đầu ra y i như sau:

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

Giải thích các thành phần cơ bản:

Trang 6

- Tập các đầu vào: Là các tín hiệu vào của nơron, các tín hiệu này thường được đưa

vào dưới dạng một vector m chiều.

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

được gọi là trọng số liên kết) Trọng số liên kết giữa tín hiệu vào thứ j cho nơron i thường được ký hiệu là w ij Thông thường các trọng số này được khởi tạo ngẫu nhiên

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

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

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

- Hàm truyền: Hàm này dùng để giới hạn phạm vi đầu ra của mỗi nơron Nó nhận đầuvà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ủamỗi nơron được giới hạn trong đoạn [0,1] hoặc [-1,1] Các hàm truyền rất đa dạng, cóthể là các hàm tuyến tính hoặc phi tuyến Việc lựa chọn hàm truyền tùy thuộc vàotừng bài toán và kinh nghiệm của người thiết kế mạng

- Đầu ra: Là tín hiệu đầu ra của một nơron, với mỗi nơron sẽ có tối đa một đầu ra

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

trong đó: x 1 , x 2, … x m là các tín hiệu đầu vào, còn w i1 , w i2 , …, w im là các trọng số kết nối của

nơron thứ i, net i là hàm tổng, f là hàm truyền, Ө i là một ngưỡng, y i là tín hiệu đầu ra củanơron

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

Trang 7

●Đồ thị các dạng hàm truyền được biểu diễn như sau:

I.2.2.1 Cấu tạo và phương thức làm việc của mạng nơron

Trang 8

Dựa trên những phương pháp xây dựng mạng nơron đã trình bày ở mục trên, ta có thểhình dung mạng nơron như là một hệ truyền đạt và xử lý tín hiệu Đặc tính truyền đạt của nơronphần lớn là đặc tính truyền đạt tĩnh.

Khi liên kết các đầu vào/ra của nhiều nơron với nhau, ta thu được một mạng nơron, việcghép nối các nơron trong mạng với nhau có thể là theo một nguyên tắc bất kỳ Vì mạng nơron làmột hệ truyền đạt và xử lý tín hiệu, nên có thể phân biệt các loại nơron khác nhau, các nơron cóđầu vào nhận thông tin từ môi trường bên ngoài khác với các nơron có đầu vào được nối với các

nơron khác trong mạng, chúng được phân biệt với nhau qua vector hàm trọng số ở đầu vào w.

Nguyên lý cấu tạo của mạng nơron bao gồm nhiều lớp, mỗi lớp bao gồm nhiều lớp, mỗilớp bao gồm nhiều nơron có cùng chức năng trong mạng Hình 1.5 là mô hình hoạt động của một

mạng nơron 3 lớp với 8 phần tử nơron Mạng có ba đầu vào x 1 , x 2 , x 3 và hai đầu vào y 1 , y 2 Cáctín hiệu đầu vào được đưa đến 3 nơron đầu vào, 3 nơron này làm thành lớp đầu vào của mạng.Các nơron trong lớp này được gọi là nơron đầu vào Đầu ra của các nơron này được đưa đến đầuvào của 3 nơron tiếp theo, 3 nơron này không trực tiếp tiếp xúc với môi trường bên ngoài mà làmthành lớp ẩn, hay còn gọi là lớp trung gian Các nơron trong lớp này có tên là nơron nội haynơron ẩn Đầu ra của các nơron này được đưa đến 2 nơron đưa tín hiệu ra môi trường bên ngoài.Các nơron trong lớp đầu ra này được gọi là nơron đầu ra

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úcnhư vậy gọi là mạng một hướng hay mạng truyền thẳng một hướng ( Feed forward network), và

có cấu trúc mạng ghép nối hoàn toàn (vì bất cứ một nơron nào trong mạng cũng được nối vớimột hoặc một vài nơron khác) Mạng nơron bao gồm một hay nhiều lớp trung gian được gọi làmạng Multilayer Perceptrons (MLP – Network)

Mạng nơron khi mới được hình thành thì chưa có tri thức, tri thức của mạng sẽ được hìnhthành dần dần sau một quá trình học Mạng nơron được học bằng cách đưa vào những kích thích,

và mạng hình thành những đáp ứng tương ứng, những đáp ứng tương ứng phù hợp với từng loạikích thích sẽ được lưu trữ Giai đoạn này được gọi là giai đoạn học của mạng Khi đã hình thành

Trang 9

tri thức mạng, mạng có thể giải quyết các vấn đề một cách đúng đắn Đó có thể là vấn đề ứngdụng rất khác nhau, được giải quyết chủ yếu dựa trên sự tổ chức hơp nhất giữa các thông tin đầuvào của mạng và các đáp ứng đầu ra.

● Nếu nhiệm vụ của một mạng là hoàn chỉnh hoặc hiệu chỉnh các thông tin thu được không đầy đủ hoặc bị tác động của nhiễu Mạng nơron kiểu này được ứng dụng trong lĩnh vực hoàn thiện mẫu, trong đó có một ứng dụng cụ thể là nhận dạng chữ viết

● Nhiệm vụ tổng quát của một mạng nơron là lưu giữ động các thông tin Dạng thông tin lưu trữ giữ này chính là quan hệ giữa các thông tin đầu vào và các đáp ứng đầu ra tương ứng, để khi có một kích thích bất kỳ tác động vào mạng, mạng có khả năng suy diễn và đưa ra một đáp ứng phù hợp Đây chính là chức năng nhận dạng theo mẫu của mạng nơ ron Để thực hiện chức năng này, mạng nơron đóng vai trò như một bộ phận tổ chức các nhóm thông tin đầu vào, và tương ứng với mỗi nhóm là một đáp ứng đầu ra phù hợp Như vậy, một nhóm bao gồm một loại thông tin đầu vào và một đáp ứng đầu ra Các nhóm có thể được hình thành trong quá trình học, và cũng có thể không hình thành trong quá trình học

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

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

Mỗi một nơron có thể phối hợp với các nơron khác tạo thành một lớp các trọng số Mạngmột lớp truyền thẳng như hình 1.6a Một lớp nơron là một nhóm các nơron mà chúng đều cócùng trọng số, nhận cùng một tín hiệu đầu vào đồng thời

Trong ma trận trọng số, các hàng là thể hiện nơron, hàng thứ j có thể đặt nhãn như một vector w j của nơron thứ j gồm m trọng số w ji Các trọng số trong cùng một cột thứ j (j = 1,2,…n) đồng thời cùng nhận môt tín hiệu đầu vào x j

w j = [w j1 , w j2 , …, w jm]

Tại cùng một thời điêm, vector đầu vào x = [ x 1 , x 2 ,… x n] có thể là một nguồn bên ngoài

là cảm biến hoặc thiết bị đo lường đưa tới mạng

Trang 10

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

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

● Lớp vào là lớp nơron đầu tiên nhận tín hiệu vào x i (i = 1,2,…,n) Mỗi tín hiệu x i được đưa đến tất cả các nơron của lớp đầu vào Thông thường, các nơron đầu vào không làm

biến đổi các tín hiệu vào x i, tức là chúng không có các trọng số hoặc không có các loại hàm chuyển đổi nào, chúng chỉ đóng vai trò phân phối các tín hiệu

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

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

Trang 11

Mạng nơron phản hồi

Mạng nơron phản hồi là mạng mà đầu ra của mỗi nơron được quay trở lại nối với đầu vàocủa các nơron cùng lớp được gọi là mạng Laeral (như hình 1.6.b)

Mạng nơron hồi quy

Mạng nơron phản hồi có thể thực hiện đóng vòng được gọi là mạng nơron hồi quy (nhưhình 1.6.d) Mạng nơron hồi quy có trọng số liên kết đối xứng như mạng Hopfield, mạng luônhội tụ về trạng thái ổn định (Hình 1.6.b) Mạng BAM thuộc nhóm mạng nơron hồi quy, gồm 2lớp liên kết 2 chiều, không được gắn với tín hiệu vào/ra Nghiên cứu mạng nơron hồi quy mà cótrọng số liên kết không đối xứng, thì sẽ gặp phải vấn đề phức tạp nhiều hơn so với mạng truyềnthẳng và mạng hồi quy có trọng số liên kết đối xứng

Mạng Hopfield

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

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

ngưỡng Ө j ( j = 1,2,…n) Một điều quan trọng cần nói ở đây là mỗi nút không có đường phản hồi

về chính nó Nút đầu ra thứ j được nối tới mỗi đầu vào của nút khác qua trọng số w ij , với i ≠ j, (i

= 1,2,…,n), hay nói cách khác w ii = 0, (với i = 1,2,…,n).

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

Luật cập nhật trên được tính toán trong cách thức không đồng bộ Điều này có nghĩa là,với một thời gian cho trước, chỉ có một nút mạng cập nhật được đầu ra của nó Sự cập nhật tiếp

Trang 12

theo trên một nút sẽ sử dụng chính những đầu ra đã được cập nhật Nói cách khác, dưới hìnhthức hoạt động không đồng bộ của mạng, mỗi đầu ra được cập nhật độc lập.

Có sự khác biệt giữa luật cập nhật đồng bộ và luật cập nhật không đồng bộ Với luật cậpnhật không đồng bộ thì sẽ chỉ có một trạng thái cân bằng của hệ (với giá trị đầu đã được xác địnhtrước) Trong khi đó, với luật cập nhật đồng bộ thì có thể làm mạng hội tụ ở mỗi điểm cố địnhhoặc một vòng giới hạn

vào x được cung cấp cho đầu vào của lớp nơron ỵ Đầu vào được xử lý và truyền tới đầu ra của lớp y như sau:

y’ = ăwx) ; y’ i = ă∑w ij x j); với i = 1,2,…,n (1.12)

Ở đó ặ) là hàm truyền, vector y’ bây giờ lại nuôi trở lại lớp nơron X và tạo nên đầu ra

như sau:

x’ = ăw T y’); x j = ă ); với j = 1,2,…,m (1.13)

Sau đó x’ nuôi trở lại đầu vào của lớp y và tạo ra hàm y’’ theo phương trình (1.12) Quá

trình này cứ tiếp tục, bao gồm các bước như sau:

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

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

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

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

Trang 13

x (k) = a(w (T) y (k-1) ) (truyền ngược lần thứ k/2)Chú ý rằng trạng thái cập nhật trong phương trình (1.14) là đồng bộ theo phương trình(1.12) và (1.13) Trạng thái cập nhật cũng có thể không đồng bộ theo phương trình (1.12) và

(1.13) với các nút i,j được chọn tự do Người ta đã chỉ ra rằng, hệ thống ổn định cho cả hai chế

độ đồng bộ và không đồng bộ Tuy nhiên, chế độ đồng bộ sẽ làm cho hệ thống hội tụ nhanh hơnnhiều

I.2.2.2 Các luật học

Thông thường, mạng nơron được điều chỉnh hoặc được huấn luyện để hướng các đầu vàoriêng biệt đến đích ở đầu ra Cấu trúc huấn luyện mạng được chỉ ra ở hình dưới Ở đây, hàmtrọng số của mạng được điều chỉnh trên cơ sở so sánh đầu ra với đích mong muốn (target), chotới khi đầu ra của mạng phù hợp với đích Những cặp vào/đích (input/ target) được dùng để giámsát cho sự huấn luyện mạng

Để có được một số cặp vào/ra, ở đó mỗi giá trị vào được gửi đến mạng và giá trị ra tươngứng được thực hiện bằng mạng là sự xem xét và so sánh với giá trị mong muốn Bình thường, nó

sẽ tồn tại một sai số vì giá trị mong muốn không hoàn toàn phù hợp với giá trị thực Sau mỗi lầnchạy, ta có tổng bình phương của tất cả các sai số Sai số này đuợc sử dụng để xác định các hàmtrọng số mới

Sau mỗi lần chạy, hàm trọng số của mạng được sửa đổi với đặc tính tốt hơn tương ứngvới đặc tính mong muốn Từng cặp giá trị vào/ra phải được kiểm tra và trọng số được điều chỉnhmột vài lần Sự thay đổi các hàm trọng số của mạng sẽ được dừng lại, nếu tổng các bình phươngsai số nhỏ hơn một giá trị đặt trước, hoặc đã chạy đủ một số lần chạy xác định (trong trường hợpnày, mạng có thể không thỏa mãn yêu cầu đặt ra do sai lệch còn cao) Có hai kiểu học:

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

● Học cấu trúc: trọng tâm là sự biến đổi cấu trúc của các mạng nơron gồm số lượng nút

và các loại liên kết

Trang 14

Giả sử ma trận trọng số bao gồm tất cả các phần tử thích ứng của mạng nơron Nhiệm vụcủa việc học tham số là tìm ra được ma trận chính xác mong muốn từ ma trận giả thiết ban đầu(với cấu trúc của mạng nơron có sẵn) Để làm được điều này thì mạng nơron phải sử dụng cáctrọng số điều chỉnh, với nhiều phương pháp học khác nhau để có thể tính toán gần đúng ma trận

W cần tìm đặc trưng cho mạng Sau đây là 3 phương pháp học:

Học có giám sát

Học có giám sát: là quá trình học có tín hiệu chỉ đạo bên ngoài d (Hình 1.10) Trong học

có giám sát, thì tại mỗi thời điểm khi đầu vào được cung cấp tới mạng nơron, phản ứng đầu ra

mong muốn d tương ứng của hệ thống đươc đưa ra Ở hình (1.10), khi mỗi đầu vào x (k) được đặt

vào mạng, đầu ra mong muốn tương ứng d (k) cũng đuợc cung cấp tới mang Hiệu giữa đầu ra thực

y (k) và đầu ra mong muốn d (k) được đo trong máy phát tín hiệu lỗi Máy này sẽ tạo ra tín hiệu lỗicho mạng để hiệu chỉnh các trọng số của mạng, và với các hiệu chỉnh này thì đầu ra thực sẽ tiếnsát với đầu ra mong muốn

Học củng cố

Tín hiểu chủ đạo d có thể lấy từ môi trường bên ngoài, nhưng tín hiệu này không được

đầy đủ, mà chỉ có một vài bit đại diện có tính chất kiểm tra qua trình tốt hay xấu Học củng cố

cũng là một dạng của học có giám sát, bởi vì mạng vẫn nhận một số tín hiệu từ mạng bên ngoài.Nhưng tín hiệu phản hồi chỉ mang tính chất đánh giá hơn là mạng tính chất chỉ dẫn Nó cho biếtmức độ tốt hay xấu của một đầu ra đặc biệt Tín hiệu củng cố bên ngoài thường được xử lý bằngmáy phát tín hiệu đánh giá để tạo ra nhiều hơn nữa các thông tin tín hiệu đánh giá, sau đó dùng

để điều chỉnh các trọng số với mục đích đạt được tín hiệu đánh giá tốt hơn

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

Trong phần học không có giám sát, sẽ không có thầy hướng dẫn, tức là không có tín hiệu

d cung cấp tới mạch phản hồi Điều này cho thấy, ta sẽ không biết đầu ra đạt giá trị gì Với loại

Trang 15

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

Hình (1.12) mô tả cấu trúc chung của quá trình học của ba phương pháp học đã nêu ở

trên Trong tín hiệu vào x j (j = 1,2,…,m), có thể được lấy từ đầu ra của các nơron khác hoặc có thể được lấy ra từ bên ngoài Trọng số của nơron thứ i được thay đổi tùy theo tín hiệu ở đầu vào

mà nó thu nhận giá trị đầu ra của nó

Dạng tổng quát của luật học trọng số của mạng nơron cho biết số gia của vector w i là Δw i

tỉ lệ với tín hiệu học r và tín hiệu vào x(t).

Δw i (t) = ηr.x(t)r.x(t) (1.15)

η là một sô dương và được gọi là hằng số học dùng để xác định tốc độ học, r là tín hiệu

học và phụ thuộc: r = f r (w i , x, d i ). (1.16)

Từ hình (1.12) ta thấy, vector trọng số w i = [w i1, w i2 ,…, w im]T có số gia tỷ lệ với tín hiệu

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

w i (t+1) =w i (t) + ηr.x(t)f r (w i (t), x(t), d(t)).x(t) (1.17)Phương trình liên quan đến sự biến đổi trọng số trong mạng nơron rời rạc, và tương ứngvới sự thay đổi trọng số trong mạng nơron liên tục theo biểu thức sau:

Vấn đề quan trọng trong việc phân biệt luật học cập nhật trọng số có giám sát hay không

có giám sát, hoặc học củng cố là tín hiệu học r Như vậy, đối với tín hiệu học r thì nó làm thế nào

để thay đổi hoặc cập nhật trọng số trong mạng nơron

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

Trang 17

I.2.3 Mạng Perceptron

I.2.3.1 Mạng Perceptron một lớp

Mạng perceptron một lớp do F.Rosenblatt đề xuất năm 1960 [1] là một mạng truyềnthẳng chỉ có 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ặcnhiều nơron Mô hình mạng nơron của Rosenblatt sử dụng hàm ngưỡng đóng vai trò là hàmchuyể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

outi = với net i = ∑w ij x j là tổng thông tin đầu vào của nơron i.

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 : ∑w ij x j > Ө i

Trong đó w ij là trọng số liên kết từ nơron j tới nơron i, x j 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ẫu học là {(x(k),

d(k))}, k= 1,2,…,p Trong đó d(k) = [d1(k), d2(k),…, dn(k)]T là đầu ra quan sát được tương ứng với đầuvào x(k) = [x1(k), x2(k), …, xm(k)]T (với m là số đầu và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ậy chúng ra 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)

y i (k) =g(w i T x (k) ) = g( = d i (k) với i = 1,2, …, n; k = 1,2, …, p (1.19)

Hình 1.13 Mạng perceptron một lớp

Trang 18

Để bắt đầu quá trình luyện mạng, các trọng số được gán giá trị ngẫu nhiên trong khoảng

[-3, 3] Sau đó hiệu chỉnh các trọng số cho phù hợp với mẫu học để làm giảm sai số giữa y (k) và

d (k)

Các bước tiến hành:

● Xác định ngẫu nhiên bộ trọng số

● Với mỗi mẫu học (x(k), d(k)), k = 1,2, …, p thực hiện các bước:

◦ Tính giá trị y(k) theo công thức

◦ Xác định sai số tại nơron i: = d i – y i , trong đó d i là giá trị đầu ra quan sát

được và y i là giá trị đầu ra tính toán tại nơron thứ i

◦ Tính Δw ij là số gia của trọng số w ij (trọng số liên kết giữa đầu vào j tới nơron i)

theo công thức Δw ij = ηr.x(t) trong đó ηr.x(t) là tốc độ học ( 0 < η < 1)

◦ Hiệu chỉnh w ij (t+1) = w ij (t) + Δww ij = w ij (t) + ηr.x(t) trong đó w ij (t+1) là trọng số

sau khi điều chỉnh ở lần học tại thời điểm tRosenblatt đã chứng minh rằng quá trình học của mạng Perceptron sẽ hội tụ tới bộ trọng

số W, biểu diễn đúng các mẫu học với điều kiện là các mẫu này biểu thị các điểm rời rạc của một

hàm khả tách tuyến tính nào đó ( f: R n  R được gọi là khả tách tuyến tính nếu các tập {F-1(xk)},với xk thuộc miền trị của f, có thể tách được với nhau bởi các siêu phẳng trong không gian Rn )

Năm 1969, Minsky và Papert đã chứng minh một cách chặt chẽ rằng lớp hàm thể hiện sựphụ thuộc giữa đầu vào và đầu ra có thể học bởi mạng Perceptron một lớp là lớp hàm khả táchtuyến tính Khả tách tuyến tính là trường hợp tồn tại một mặt siêu phẳng để phân cách tất cả cácđối tượng của một lớp này với một lớp khác, ví dụ một mặt phẳng sẽ phân chia không gian bachiều thành hai vùng riêng biệt Mở rộng ra, nếu có n đầu vào , n>2 thì công thức (

) tạo nên một siêu phẳng có n-1chiều trong không gian n chiều, nó chia khônggian đó thành hai nửa Trong nhiều bài toán thực tế đòi hỏi chia các vùng của các điểm trong mộtsiêu không gian thành các lớp riêng biệt Loại bài toán này gọi là bài toán phân lớp Bài toánphân lớp có thể giải quyết bằng cách tìm các tham số thích hợp cho một siêu phẳng để nó có thểchia không gian n chiều thành các vùng riêng biệt

Với tính chất của như đã nêu trên, mạng perceptron một lớp có thể mô tả các hàm logicnhư AND, OR và NOT Tuy nhiên nó không thể hiện được hàm XOR Như vậy chứng tỏ môhình perceptron một lớp không thể giải quyết bài toán này Vấn đề này sẽ được giải quyết bằng

mô hình mạng nơ-ron perceptron nhiều lớp (Multilayer Perceptron - MLP)

Trang 19

I.2.3.2 Mạng perceptron nhiều lớp

Mạng perceptron nhiều lớp (Multilayer Perceptron –MLP) còn được gọi là mạng truyềnthẳng nhiều lớp là sự mở rộng của mô hình mạng perceptron với sự bổ sung thêm những lớp ẩn

và các nơ-ron trong các lớp ẩn này có hàm chuyển (hàm kích hoạt) dạng phi tuyến Mạng MLP

có một lớp ẩn là mạng nơ-ron nhân tạo được sử dụng phổ biến nhất, nó có thể xấp xỉ các hàmliên tục được định nghĩa trên một miền có giới hạn cũng như những hàm là tập hợp hữu hạn củacác điểm rời rạc

1 Giải quyết bài toán XOR với mạng MLP

Ta thấy có thể dùng hai đường thẳng để phân tách với trường hợp hàm XOR

2.1Vấn đề chuẩn hóa số liệu đầu vào

Mạng MLP thường sử dụng hàm chuyển là hàm sigmoid có dạng như sau

Trang 20

Hình 1.18 Hàm sigmoid g(x) = 1/(1 + )

Với dạng hàm này, giá trị ở đầu ra của mỗi nơ-ron nằm trong phạm vi khoảng (0,1) và

nó đạt các giá trị bão hoà ( xấp xỉ 0 hay 1 ) khi ⎢x ⎢ lớn Do đó, khi đầu vào của mạng có giátrị tuyệt đối lớn thì ta cần chuẩn hoá nó về khoảng có giá trị nhỏ, nếu không thì các nơ-ron tạicác lớp ẩn ngay ban đầu đã có thể đạt giá trị bão hoà và quá trình học của mạng không đạt kếtquả mong muốn Với dạng hàm như trên thì giá trị đầu vào của mạ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ên cá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ế

2.2 Vấn đề học chưa đủ và học quá thuộc của mạng

Vấn đề mấu chốt khi xây dựng một mạng nơ-ron nhân tạo là làm thế nào mạng có khảnăng tổng quát hoá cao để đưa ra kết quả tốt cả với những trường hợp đầu vào của mạng khôngnằm trong tập mẫu đã dùng để luyện mạng Giống như các mô hình hồi quy phi tuyến khác, đốivới mạng nơ-ron nhân tạo ta cũng phải giải quyết hai vấn đề là ANN học chưa đủ (underfitting)

và học quá (overfitting) 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ới nhu 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 đúngmố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à được họ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ạng mạng học cả thành phần nhiễulẫ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àmcho 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ới thực tế

Một số giải pháp cho vấn đề học quá của mạng:

● Sử dụng tập số liệu có tính đại diện tốt để luyện mạng: Đây được xem là một cách khá tốt để

tránh hiện tượng overfitting Khi tập mẫu dùng để luyện mạng thể hiện được nhiều trạng thái cóthể 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 từ tập dữ liệu đó và sẽ không chịu ảnh hưởng nhiều của hiện tượng overfitting Ngoài ramột số biện pháp dưới đây cũng có thể góp phần quan trọng giúp khắc phục hiện tượngoverfitting của mạng

Ngày đăng: 23/10/2014, 23:41

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Một nơron sinh học - báo cáo bài tập lớn xử lý ngôn ngữ tự nhiên đề tài nhận dạng chữ viết
Hình 1.1 Một nơron sinh học (Trang 4)
Hình 1.2. Sự liên kết các nơron - báo cáo bài tập lớn xử lý ngôn ngữ tự nhiên đề tài nhận dạng chữ viết
Hình 1.2. Sự liên kết các nơron (Trang 5)
Hình 1.3: Mô hình một nơron nhân tạo - báo cáo bài tập lớn xử lý ngôn ngữ tự nhiên đề tài nhận dạng chữ viết
Hình 1.3 Mô hình một nơron nhân tạo (Trang 5)
Hình dung mạng nơron như là một hệ truyền đạt và xử lý tín hiệu. Đặc tính truyền đạt của nơron - báo cáo bài tập lớn xử lý ngôn ngữ tự nhiên đề tài nhận dạng chữ viết
Hình dung mạng nơron như là một hệ truyền đạt và xử lý tín hiệu. Đặc tính truyền đạt của nơron (Trang 7)
Hình 1.13 Mạng perceptron một lớp - báo cáo bài tập lớn xử lý ngôn ngữ tự nhiên đề tài nhận dạng chữ viết
Hình 1.13 Mạng perceptron một lớp (Trang 16)
Hình 1.18 Hàm sigmoid g(x) = 1/(1 +  ) - báo cáo bài tập lớn xử lý ngôn ngữ tự nhiên đề tài nhận dạng chữ viết
Hình 1.18 Hàm sigmoid g(x) = 1/(1 + ) (Trang 19)
Hình 1.19 Nội suy hàm y = sin(x/3) + v, 0  sử dụng MLP - báo cáo bài tập lớn xử lý ngôn ngữ tự nhiên đề tài nhận dạng chữ viết
Hình 1.19 Nội suy hàm y = sin(x/3) + v, 0 sử dụng MLP (Trang 20)
Hình 1.15 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ố - báo cáo bài tập lớn xử lý ngôn ngữ tự nhiên đề tài nhận dạng chữ viết
Hình 1.15 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ố (Trang 22)
Hình 1.16 Sai số E được xét là hàm của trọng số W - báo cáo bài tập lớn xử lý ngôn ngữ tự nhiên đề tài nhận dạng chữ viết
Hình 1.16 Sai số E được xét là hàm của trọng số W (Trang 23)
Hình 1.17 Minh họa về ý nghĩa của quán tính trong thực tế Hàm giá: - báo cáo bài tập lớn xử lý ngôn ngữ tự nhiên đề tài nhận dạng chữ viết
Hình 1.17 Minh họa về ý nghĩa của quán tính trong thực tế Hàm giá: (Trang 27)
Bảng dưới đây là kết quả chạy thử nghiệm mạng nơ ron 3 tầng với 400 mẫu cho quá trình  huấn luyện và 150 mẫu cho việc kiểm thử - báo cáo bài tập lớn xử lý ngôn ngữ tự nhiên đề tài nhận dạng chữ viết
Bảng d ưới đây là kết quả chạy thử nghiệm mạng nơ ron 3 tầng với 400 mẫu cho quá trình huấn luyện và 150 mẫu cho việc kiểm thử (Trang 36)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w