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

Nhận dạng chữ số viết tay với mạng neuron nhân tạo

88 787 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 88
Dung lượng 35,16 MB

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

Nội dung

Nhìn chung, dù là mô hình nào và kỹ thuật nhận dạng ra sao, một hệ thống nhận dạng có thể tóm tắt theo sơ đồ sau: Trích chọn đặc tính Phân lớp trả lời Đánh biểu diễn đối tượng ra quyế

Trang 1

Mục lục

Lời nói đầu 3

Chương 0: Mục tiêu, nội dung 4

Chương 1: Nghiên cứu tổng quan về công nghệ xử lý ảnh và kỹ thuật nhận dạng 5

1.1 các vấn đề cơ bản trong xử lý ảnh 5

1.1.1 Một số khái niệm cơ bản 5

1.1.2 Biểu diễn ảnh 6

1.1.3 Tăng cường ảnh 6

1.1.4 Biến đổi ảnh 7

1.1.5 Phân tích ảnh 8

1.2 Các định dạng ảnh cơ bản trong xử lý ảnh 9

1.2.1 Định dạng ảnh IMG 9

1.2.2 Định dạng ảnh PCX 10

1.2.3 Định dạng ảnh TIFF 11

1.2.4 Định dạng ảnh GIF(Graphics Interchanger Format) 13

1.3 Xử lý ảnh 15

1.3.1 Tăng độ tương phản(stretching contrast) 15

1.3.2 Tách nhiễu và phân ngưỡng 16

1.3.3 Làm trơn nhiễu, nổi biên = kỹ thuật lọc trung bình 16

1.3.4 Bản chất của quá trình nhận dạng 18

Chương 2: Nghiên cứu về trí tuệ nhân tạo 20

2.1 Tổng quan về trí tuệ nhân tạo 20

2.1.1 Trí tuệ nhân tạo (AI) là gì? 20

2.1.2 Các kĩ thuật trí tuệ nhân tạo cơ bản 21

2.2 Biểu diễn trí thức 22

2.2.1 Tổng quan 22

2.2.2 Tri thức và biểu diễn tri thức 22

2.2.2.1 Tri thức 23

2.2.2.2 Biểu diễn tri thức bằng Logic mệnh đề 23

2.2.2.3 Suy diễn 24

2.3 Máy học 29

Chương 3: Mạng neuron và bài toán nhận dạng chữ số viết tay 30

3.1 Mạng neuron nhân tạo là gì? 30

3.1.1 Nguồn gốc mạng nơron nhân tạo 30

3.1.2 Mạng nơron nhân tạo là gì? 31

3.1.3 Triển vọng phát triển mạng nơron 32

3.2 Mô hình neuron và các kiến trúc mạng 32

3.2.1 Mô hình neuron nhân tạo 32

3.2.2 Phân loại mạng nơron: 35

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

3.2.2.2 Mạng nơron nhiều lớp: 37

3.2.2.3 Mạng hồi quy: 38

3.2.3 Các quy tắc học 39

3.2.4 Phương pháp học Perceptron: 41

3.2.4.1 Perceptron 41

3.2.4.1.1 Kiến trúc Perceptron: 41

3.2.4.1.2 Quy tắc học perceptron: 42

Trang 2

3.2.4.1.3 Đánh giá 45

3.2.4.2 Mạng Hopfield 45

3.2.4.2.1 Kiến trúc mạng 46

3.2.4.2.2 Huấn luyện mạng 47

3.2.4.2.3 Đánh giá: 48

3.2.4.3 Mạng liên kết bộ nhớ hai chiều thích nghi (ABAM):Adaptive Bidirectional Associative Memory 48

3.2.4.3.1 Kiến trúc mạng: 48

3.2.4.3.2 Huấn luyện mạng 49

3.2.4.3.3 Đánh giá 50

3.2.5 Thuật toán lan truyền ngược (BackProgation) 50

3.2.5.1 Perceptron nhiều lớp 50

3.2.5.2 Thuật toán lan truyền ngược 51

3.2.5.3 Đánh giá: 53

3.2.6 Phương pháp học cạnh tranh 53

3.2.6.1 Mạng Hamming 53

3.2.6.1.1 Kiến trúc mạng: 54

3.2.6.1.2 Huấn luyện mạng 55

3.2.6.1.3 Đánh giá: 56

3.2.6.2 Adaptive Resonance Theory (ART) 56

3.2.6.2.1 Mạng instar- outstar: 56

3.2.6.2.2 Mạng ART1 58

3.2.6.2.3 Nhận xét đánh giá 60

3.3 Mạng Kohonen và lượng tử vectơ học 61

3.3.1 Giới thiệu chung: 61

3.3.2.Thuật toán K-means: 61

3.3.3 Mạng Kohonen Vector Quantization: 64

3.3.4 SOFM 67

3.3.4.1 Vai trò của qúa trình truyền bên 67

3.3.4.2 ánh xạ đặc điểm tự tổ chức SOFM 70

3.3.5 Lượng tử vectơ học- Learning Vector Quantization: 73

3.3.5.1 LVQ 73

3.3.5.2 Cải tiến mạng LVQ: 75

3.3.6 Tổng kết 77

3.4 Bài toán nhận dạng số viết tay 78

3.4.1 Giới thiệu chung về bài toán 78

3.4.2 Bài toán nhận dạng chữ số viết tay 81

Kết luận 88

Trang 3

Lời nói đầu

Nhận dạng là bài toán xuất hiện từ khá lâu và vẫn thu hút được nhiều sự quan tâm, nghiên cứu của các nhà khoa học Đặc biệt trong vài thập niên gần đây,

do sự thúc đẩy của quá trình tin học hóa trong mọi lĩnh vực, bài toán nhận dạng không còn dừng ở mức độ nghiên cứu nữa mà nó trở thành một lĩnh vực để áp dụng vào thực tế

Các bài toán nhận dạng được nghiên cứu nhiều nhất hiện nay tập trung vào nhận dạng mẫu hình học ( vân tay, mặt người, hình khối, ), nhận dạng tiếng nói

và nhận dạng chữ viết

Đề tài này tập trung vào việc nghiên cứu về công nghệ mạng neuron và áp dụng vào bài toán nhận dạng chữ số viết tay, từ đó xây dựng chương trình demo nhận dạng chữ số viết tay

Trong báo cáo này chúng tôi xin trình bày các công việc đã làm và những kết quả đã đạt được của nhóm đề tài Bản báo cáo gồm 4 chương:

Chương 0: Trình bày tóm tắt nội dung, mục tiêu và kết quả nghiên cứu của

đề tài, mà nội dung chi tiết sẽ được đề cập ở các chương sau

Chương 1: Trình bày các nội dung nghiên cứu về công nghệ xử lý ảnh Chương 2: Trình bày các nội dung nghiên cứu về trí tuệ nhân tạo

Chương 3: Trình bày về mạng neuron và bài toán nhận dạng chữ số viết tay

Tuy rằng chúng tôi đã rất cố gắng và làm việc nghiêm túc, song do hạn chế

về trình độ và thời gian, do sự phát triển nhanh chóng của công nghệ thông tin, chắc chắn còn nhiều vấn đề phải chỉnh lý và bổ sung để chương trình được hoàn thiện hơn Rất mong nhận được sự đóng góp của các đồng chí cán bộ quản lý cũng như các đồng nghiệp

Nhân dịp này chúng tôi xin chân thành cảm ơn Ban Giám đốc, Phòng Quản

lý Nghiên cứu Khoa học, Khoa CNTT - Học viện Kỹ thuật Mật mã và các bạn

đồng nghiệp đã tạo điều kiện thuận lợi cho việc nghiên cứu, hoàn thành Đề tài

Hà nội, 11/2009

Trang 4

Chương 0: Mục tiêu, nội dung

Nhóm nghiên cứu đã đề ra mục tiêu: nghiên cứu công nghệ mạng neuron và bài toán nhận dạng chữ số viết tay, từ đó xây dựng phần mềm nhận dạng chữ số viết tay và ứng dụng vào giảng dạy an toàn thông tin tại HVKTMM

Để thực hiện được mục tiêu trên nhóm nghiên cứu đã xác định các nội dung nghiên cứu cụ thể và đã thực hiện được tất cả các nội dung đề ra, cụ thể là:

1 Nghiên cứu về công nghệ xử lý ảnh, hỗ trợ cho bài toán nhận dạng chữ

số viết tay

2 Nghiên cứu cơ sở lý thuyết trí tuệ nhân tạo

3 Nghiên cứu về mạng neuron và bài toán nhận dạng chữ số viết tay

- Các mô hình mạng neuron

- Các thuật toán trên mạng neuron

- Sử dụng mạng neuron vào việc nhận dạng chữ số viết tay

4 Xây dựng chương trình demo nhận dạng chữ số viết tay

Trang 5

Chương 1: Nghiên cứu tổng quan về công nghệ xử lý ảnh và

kỹ thuật nhận dạng

1.1 các vấn đề cơ bản trong xử lý ảnh

1.1.1 Một số khái niệm cơ bản

 Pixel (Picture Element): phần tử ảnh

ảnh trong thực tế là một ảnh liên tục về không gian và về giá trị độ sáng

Để có thể xử lý ảnh bằng máy tính cần thiết phải tiến hành số hoá ảnh Trong quá trình số hoá , người ta biến đổi tín hiệu liên tục sang tín hiệu rời rạc thông qua quá trình lấy mẫu (rời rạc hóa về không gian) và lượng hoá thành phần giá trị mà thể về nguyên tắc bằng mắt thường không phân biệt được hai điểm kề nhau Trong quá trình này, người ta sử dụng khái niệm Picture element mà ta quen gọi hay viết là

các hệ thống đồ hoạ máy tính Để tránh nhầm lẫn ta tạm gọi khái niệm pixel này là pixel thiết bị Khái niệm pixel thiết bị có thể xem xét như sau: khi ta quan sát màn hình (trong chế độ đồ hoạ), màn hình không liên tục mà gồm nhiều điểm nhỏ, gọi

là pixel Mỗi pixel gồm một cặp toạ độ x, y và màu

Cặp toạ độ x, y tạo nên độ phân giải (resolution) Như màn hình máy tính có nhiều loại với độ phân giải khác nhau: màn hình CGA có độ phân giải là 320 x 200; màn hình VGA là 640 x 350,

Như vậy, một ảnh là một tập hợp các điểm ảnh Khi được số hoá, nó thường

được biểu diễn bởi bảng hai chiều I(n,p): n dòng và p cột Ta nói ảnh gồm n x p pixels Người ta thường kí hiệu I(x,y) để chỉ một pixel Thường giá trị của n chọn bằng p và bằng 256 Hình 1.2 cho ta thấy việc biểu diễn một ảnh với độ phân giải khác nhau Một pixel có thể lưu trữ trên 1, 4, 8 hay 24 bit

Gray level: Mức xám

Mức xám là kết quả sự mã hoá tương ứng một cường độ sáng của mỗi điểm

ảnh với một giá trị số - kết quả của quá trình lượng hoá Cách mã hoá kinh điển

Trang 6

thường dùng 16, 32 hay 64 mức Mã hoá 256 mức là phổ dụng nhất do lý do kỹ thuật Vì 28 = 256 (0, 1, , 255), nên với 256 mức, mỗi pixel sẽ được mã hoá bởi 8 bit.

1.1.2 Biểu diễn ảnh

Trong biểu diễn ảnh, người ta thường dùng các phần tử đặc trưng của ảnh là pixel Nhìn chung có thể xem một hàm hai biến chứa các thông tin như biểu diễn của một ảnh Các mô hình biểu diễn ảnh cho ta một mô tả lô gic hay định lượng các tính chất của hàm này Trong biểu diễn ảnh cần chú ý đến tính trung thực của

ảnh hoặc các tiêu chuẩn “thông minh” để đo chất lượng ảnh hoặc tính hiệu quả của các kỹ thuật xử lý

Việc xử lý ảnh số yêu cầu ảnh phải được mẫu hoá và lượng tử hoá Thí dụ một ảnh ma trận 512 dòng gồm khoảng 512 x 512 pixel Việc lượng tử hoá ảnh là chuyển đổi tín hiệu tương tự sang tín hiệu số (Analog Digital Convert) của một ảnh

đã lấy mẫu sang một số hữu hạn mức xám

Hình 1.3 ở trên cho ta thí dụ về sự biến dạng của ảnh do nhiễu

Khôi phục ảnh là nhằm loại bỏ các suy giảm (degradation) trong ảnh Với một hệ thống tuyến tính, ảnh của một đối tượng có thể biểu diễn bởi:

Hệ thống Thu nhận

Trang 7

Trong đó:

- (x,y) là hàm biểu diễn nhiễu cộng

- f(α,ò) là hàm biểu diễn đối tượng

sở có dạng:

A*k,l = ak al*T, với ak là cột thứ k của ma trận A A là ma trận đơn vị Có nghĩa là A

A*T = I Các A*k,l định nghĩa ở trên với k,l = 0,1, ., N-1 là ảnh cơ sở Có nhiều loại biến đổi được dùng như :

- Biến đổi Fourier, Sin, Cosin, Hadamard,

- Tích Kronecker (*)

- Biến đổi KL (Karhumen Loeve): biến đổi này có nguồn gốc từ khai triển của các quá trình ngẫu nhiên gọi là phương pháp trích chọn các thành phần chính

Do phải xử lý nhiều thông tin, các phép toán nhân và cộng trong khai triển

là khá lớn Do vậy, các biến đổi trên nhằm làm giảm thứ nguyên của ảnh để việc

Trang 8

Phân tích ảnh liên quan đến việc xác định các độ đo định lượng của một ảnh

để đưa ra một mô tả đầy đủ về ảnh Các kỹ thuật được sử dụng ở đây nhằm mục

đích xác định biên của ảnh Có nhiều kỹ thuật khác nhau như lọc vi phân hay dò theo quy hoạch động

Người ta cũng dùng các kỹ thuật để phân vùng ảnh Từ ảnh thu được, người

ta tiến hành kỹ thuật tách (split) hay hợp (fusion) dựa theo các tiêu chuẩn đánh giá như: màu sắc, cường độ, v v Các phương pháp được biết đến như Quad-Tree,

Trang 9

mảnh hoá biên, nhị phân hoá đường biên Cuối cùng, phải kể đến cac kỹ thuật phân lớp dựa theo cấu trúc

+ 4 bytes tiếp: mô tả kích cỡ pixel

+ 2 bytes tiếp : số pixel trên một dòng ảnh

+ 2 bytes cuối: số dòng ảnh trong ảnh

ảnh IMG được nén theo từng dòng Mỗi dòng bao gồm các gói(pack) Các dòng giống nhau cũng được nén thành một gói Có 4 loại gói sau:

 Loại 1: Gói các dòng giống nhau

Quy cách gói tin này như sau: 0x00 0x00 0xFF Count Ba byte đầu cho biết

số các dãy giống nhau; byte cuối cho biết số các dòng giống nhau

 Loại 2: Gói các dãy giống nhau

Quy cách gói tin này như sau: 0x00 Count Byte thứ hai cho biết số các dãy giống nhau được nén trong gói Độ dài của dãy ghi ở đầu tệp

 Loại 3: Dãy các pixel không giống nhau, không lặp lại và không nén được.

Qui cách như sau: 0x80 Count Byte thứ hai cho biết độ dài dãy các pixel không giống nhau không nén được

 Loại 4: Dãy các pixel giống nhau

Trang 10

Tuỳ theo các bit cao của byte đầu được bật hay tắt Nếu bit cao được bật (giá trị 1) thì đây là gói nén các bytes chỉ gồm bit 0, số các byte được nén được tính bởi 7 bit thấp còn lại Nếu bit cao tắt (giá trị 0) thì đây là gói nén các byte gồm toàn bit 1 Số các byte được nén được tính bởi 7 bit thấp còn lại

Các gói tin của file IMG phong phú như vậy là do ảnh IMG là ảnh đen trắng,

do vậy chỉ cần 1 bit cho 1 pixel thay vì 4 hoặc 8 như đã nói ở trên Toàn bộ ảnh chỉ

có những điểm sáng và tối tương ứng với giá trị 1 hoặc giá trị 0 Tỷ lệ nén của kiểu định dạng này là khá cao

1.2.2 Định dạng ảnh PCX

Định dạng ảnh PCX là một trong những định dạng ảnh cổ điển nhất Nó sử dụng phương pháp mã loạt dài RLE (Run-Length-Encoded) để nén dữ liệu ảnh Quá trình nén và giải nén được thực hiện trên từng dòng ảnh Thực tế, phương pháp giải nén PCX kém hiệu quả hơn so với kiểu IMG Tệp PCX gồm 3 phần: đầu tệp (header), dữ liệuảnh (image data) và bảng màu mở rộng

Header của tệp PCX có kích thước cố định gồm 128 byte và được phân bố như sau:

+ 1 byte : chỉ ra kiểu định dạng Nếu là kiểu PCX/PCC nó luôn có giá trị là 0Ah

+ 1 byte: chỉ ra version sử dụng để nén ảnh, có thể có các giá trị sau:

- 0: version 2.5

- 2: version 2.8 với bảng màu

- 3: version 2.8 hay 3.0 không có bảng màu

- 5: version 3.0 có bảng màu

+ 1 byte: chỉ ra phương pháp mã hoá Nếu là 0 thì mã hoá theo phương pháp BYTE PACKED, nếu không là phương pháp RLE

+ 1 byte: số bit cho một điểm ảnh plane

+ 1 word: toạ độ góc trái trên của ảnh Với kiểu PCX nó có giá trị là (0,0); còn PCC thì khác (0,0)

+ 1 word: toạ độ góc phải dưới

+ 1 word: kích thước bề rộng và bề cao ảnh

Trang 11

+1 byte: số bit plane mà ảnh sử dụng Với ảnh 16 màu, giá trị này là 4, với

ảnh 256 màu (1 pixel/8 bit) thì số bit plane lại là 1

+ 1 byte: số bytes cho một dòng quét ảnh

+ 1 word: kiểu bảng màu

+ 58 byte: không dùng

Tóm lại, định dạng ảnh PCX thường được dùng để lưu trữ ảnh vì thao tác

đơn giản, cho phép nén và giải nén nhanh Tuy nhiên vì cấu trúc của nó cố định, nên trong một số trường hợp nó làm tăng kích thước lưu trữ Và cũng vì nhược

điểm này mà một số ứng dụng lại sử dụng một kiểu định dạng khác mềm dẻo hơn:

định dạng TIFF (Targed Image File Format) sẽ mô tả dưới đây

1.2.3 Định dạng ảnh TIFF

Kiểu định dạng TIFF được thiết kế để làm nhẹ bớt các vấn đề liên quan đến việc mở rộng tệp ảnh cố định Về cấu trúc, nó cũng gồm 3 phần chính:

- Phần Header (IFH): có trong tất cả các tệp TIFF và gồm 8 byte:

+ 1 word: chỉ ra kiểu tạo tệp trên máy tính PC hay Macintosh Hai loại này khác nhau rất lớn ở thứ tự các byte lưu trữ trong các số dài 2 hay 4 byte Nếu trường này có giá trị là 4D4Dh thì đó là ảnh cho máy Macintosh; nếu là 4949h là của máy PC

+ 1 word: version Từ này luôn có giá trị là 42 Có thể coi đó là

đặc trưng của file TIFF vì nó không thay đổi

+ 2 word: giá trị Offset theo byte tính từ đầu file tới cấu trúc IFD(Image File Directory) là cấu trúc thứ hai của file Thứ tự các byte ở đây phụ thuộc vào dấu hiệu trường đầu tiên

Trang 12

- Phần thứ 2 (IFD): Nó không ở ngay sau cấu trúc IFH mà vị trí của nó được xác định bởi trường Offset trong đầu tệp Có thể có một hay nhiều IFD cùng tồn tại trong file (nếu file có nhiều hơn 1 ảnh)

Một IFD gồm:

+ 2 byte: chứa các DE (Directory Entry)

+ 12 byte là các DE xếp liên tiếp Mỗi DE chiếm 12 byte

+ 4 byte : chứa Offset trỏ tới IFD tiếp theo Nếu đây là IFD cuối cùng thì trường này có giá trị là 0

- Cấu trúc phần dữ liệu thứ 3: các DE

Các DE có độ dài cố định gồm 12 byte và chia làm 4 phần:

+ 2 byte: Chỉ ra dấu hiệu mà tệp ảnh đã được xây dựng

+ 2 byte: kiểu dữ liệu của tham số ảnh Có 5 kiểu tham số cơ bản:

+ 4 byte: đó là Offset tới điểm bắt đầu dữ liệu thực liên quan tới dấu hiệu, tức là dữ liệu liên quan với DE không phải lưu trữ vật lý cùng với nó nằm ở một vị trí nào đó trong file

Dữ liệu chứa trong tệp thường được tổ chức thành các nhóm dòng (cột) quét của dữ liệu ảnh Cách tổ chức này làm giảm bộ nhớ cần thiết cho việc

đọc tệp Việc giải nén được thực hiện theo bốn kiểu khác nhau được lưu trữ trong byte dấu hiệu nén

Như đã nói ở trên, file ảnh TIFF là dùng để giải quyết vấn đề khó mở rộng của file PCX Tuy nhiên, với cùng một ảnh thì việc dùng file PCX chiếm ít không gian nhớ hơn.

Trang 13

1.2.4 Định dạng ảnh GIF(Graphics Interchanger Format)

Cách lưu trữ kiểu PCX có lợi về không gian lưu trữ: với ảnh đen trắng kích thước tệp có thể nhỏ hơn bản gốc từ 5 đến7 lần Với ảnh 16 màu, kích thước ảnh nhỏ hơn ảnh gốc 2-3 lần, có trường hợp có thể xấp xỉ ảnh gốc Tuy nhiên, với ảnh

256 màu thì nó bộc lộ rõ khả năng nén rất kém Điều này có thể lý giải như sau: khi số màu tăng lên, các loạt dài xuất hiện ít hơn và vì thế, lưu trữ theo kiểu PCX không còn lợi nữa Hơn nữa, nếu ta muốn lưu trữ nhiều đối tượng trên một tệp ảnh như kiểu định dạng TIFF, đòi hỏi có một định dạng khác thích hợp

Định dạng ảnh GIF do hãng ComputServer Incorporated (Mỹ) đề xuất lần

đầu tiên vào năm 1990 Với địng dạng GIF, những vướng mắc mà các định dạng khác gặp phải khi số màu trong ảnh tăng lên không còn nữa Khi số màu càng tăng thì ưu thế của định dạng GIF càng nổi trội Những ưu thế này có được là do GIF tiếp cận các thuật toán nén LZW(Lempel-Ziv-Welch) Bản chất của kỹ thuật nén LZW là dựa vào sự lặp lại của một nhóm điểm chứ không phải loạt dài giống nhau

Do vậy, dữ liệu càng lớn thì sự lặp lại càng nhiều (xem chương 8) Dạng ảnh GIF cho chất lượng cao, độ phân giải đồ hoạ cũng đạt cao, cho phép hiển thị trên hầu hết các phần cứng đồ hoạ

Định dạng tổng quát của ảnh GIF như sau:

 Chữ ký của ảnh GIF note

 Bộ mô tả hiển thị GIF Header (7 byte)

 Bản đồ màu tổng thể Global Palette

 Mô tả một đối tượng của ảnh Header Image (10 byte)

- Dấu phân cách Palete of Imge 1(nếu có)

- Bộ mô tả ảnh Data of Image 1

- Bản đồ màu cục bộ ' ,' ký tự liên kết

- Dữliệu ảnh

';' GIF terminator Phần mô tả này lặp n lần nếu ảnh chứa n đối tượng

 Phần đầu cuối ảnh GIF(terminator)

Trang 14

- Chứ ký của ảnh GIF có giá trị là GIF87a Nó gồm 6 ký tự, 3 kí tự đầu chỉ

ra kiểu định dạng, 3 ký tự sau chỉ ra version của ảnh

- Bộ hình hiển thị: chứa mô tả các thông số cho toàn bộ ảnh GIF:

+ Độ rộng hình raster theo pixel: 2 byte;

+ Độ cao hình raster theo pixel: 2 byte;

+ Các thông tin về bản đồ màu, hình hiển thị,

+ Thông tin màu nền: 1 byte;

+ Phần chưa dùng: 1 byte

- Bản đồ màu tổng thể: mô tả bộ màu tối ưu đòi hỏi khi bit M = 1 Khi bộ màu tổng thể được thể hiện, nó sẽ xác lập ngay bộ mô tả hình hiển thị Số lượng thực thể bản đồ màu lấy theo bộ mô tả hình hiển thị ở trên và bằng 2 m, với m là lượng bit trên một pixel khi mỗi thực thể chứa đựng 3 byte (biểu diễn cường độ màu của ba màu cơ bản Red-Green-Blue

- Bộ mô tả ảnh: định nghĩa vị trí thực tế và phần mở rộng của ảnh trong phạm vi không gian ảnh đã có trong phần mô tả hình hiển thị Nếu ảnh biểu diễn theo ánh xạ bản đồ màu cục bộ thì cờ định nghĩa phải được thiết lập Mỗi bộ mô tả

ảnh được chỉ ra bởi ký tự kết nối ảnh Ký tự này chỉ được dùng khi định dạng GIF

có từ 2 ảnh trở lên Ký tự này có giá trị 0x2c (ký tự dấu phảy) Khi ký tự này được

đọc qua, bộ mô tả ảnh sẽ được kích hoạt

- Bản đồ màu cục bộ: bản đồ màu cục bộ chỉ được chọn khi bit M của byte thứ 10 là 1 Khi bản đồ màu được chọn, bản đồ màu sẽ chiếu theo bộ mô tả ảnh

mà lấy vào cho đúng Tại phần cuối ảnh, bản đồ màu sẽ lấy lại phần xác lập sau

bộ mô tả hình hiển thị Lưu ý là trường “pixel “ của byte thứ 10 chỉ được dùng khi bản đồ màu được chỉ định Các tham số này không những chỉ cho biết kích thước

ảnh theo pixel mà còn chỉ ra số thực thể bản đồ màu của nó

- Dữ liệu ảnh: chuỗi các giá trị có thứ tự của các pixel màu tạo nên ảnh Các pixel được xếp liên tục trên một dòng ảnh, từ trái qua phải Các dòng ảnh

được viết từ trên xuống dưới

- Phần kết thúc ảnh: cung cấp tính đồng bộ cho đầu cuối của ảnh GIF Cuối của ảnh sẽ xác định bởi kí tự “;” (0x3b)

Trang 15

Định dạng GIF có rất nhiều ưu điểm và đã được công nhận là chuẩn để lưu trữ ảnh màu thực tế (chuẩn ISO 10918-1) Nó được mọi trình duyệt Web (Web Browser) hỗ trợ với nhiều ứng dụng hiện đại Cùng với nó có chuẩn JPEG (Joint Photograph Expert Group) GIF dùng cho các ảnh đồ hoạ (Graphic), còn JPEG dùng cho ảnh chụp (Photographic).

1.3 Xử lý ảnh

1.3.1 Tăng độ tương phản(stretching contrast)

Trước tiên cần làm rõ khái niệm độ tương phản ảnh số là tập hợp các

điểm, mà mỗi điểm có giá trị độ sáng khác nhau ở đây, độ sáng để mắt người

dễ cảm nhận ảnh song không phải là quyết định Thực tế chỉ ra rằng hai đối tượng

có cùng độ sáng nhưng đặt trên hai nền khác nhau sẽ cho cảm nhận khác nhau Như vậy, độ tương phản biểu diễn sự thay đổi độ sáng của đối tượng so với nền Một cách nôm na, độ tương phản là độ nổi của điểm ảnh hay vùng ảnh so với nền Với định nghĩa này, nếu ảnh của ta có độ tương phản kém, ta có thể thay đổi tuỳ

ý theo ý muốn

ảnh với độ tương phản thấp có thể do điều kiện sáng không đủ hay không

đều, hoặc do tính không tuyến tính hay biến động nhỏ của bộ cảm nhận ảnh Để

điều chỉnh lại độ tương phản của ảnh, ta điều chỉnh lại biên độ trên toàn dải hay trên dải có giới hạn bằng cách biến đổi tuyến tính biên độ đầu vào (dùng hàm biến

đổi là hàm tuyến tính) hay phi tuyến (hàm mũ hay hàm lôgarít) Khi dùng hàm tuyến tính các độ dốc , ,  phải chọn lớn hơn một trong miền cần dãn Các tham

số a và b (các cận) có thể chọn khi xem xét lược đồ xám của ảnh

Trang 16

Tách nhiễu là trường hợp đặc biệt của dãn độ tương phản khi hệ số góc  =

 = 0 Tách nhiễu được ứng dụng một cách hữu hiệu để giảm nhiễu khi biết tín hiệu vào nằm trên khoảng [a,b]

Phân ngưỡng là trường hợp đặc biệt của tách nhiễu khi a = b = const và rõ ràng trong trường hợp này, ảnh đầu ra là ảnh nhị phân (vì chỉ có 2 mức) Phân ngưỡng hay dùng trong kỹ thuật in ảnh 2 màu vì ảnh gần nhị phân không thể cho

ra ảnh nhị phân khi quét ảnh bởi có sự xuất hiện của nhiễu do bộ cảm biến và sự biến đổi của nền Thí dụ như trường hợp ảnh vân tay.

1.3.3 Làm trơn nhiễu, nổi biên = kỹ thuật lọc trung bình

Vì có nhiều loại nhiễu can thiệp vào quá trình xử lý ảnh như: nhiễu cộng, nhiễu xung, nhiễu nhân nên cần có nhiều bộ lọc thích hợp Với nhiễu cộng và nhiễu nhân ta dùng các bộ lọc thông thấp, trung bình và lọc đồng hình (homomorphie); với nhiễu xung ta dùng lọc trung vị , giả trung vị, lọc ngoài (outlier)

Trang 17

- v(m,n) : ảnh đầu ra

- w(m,n) : là cửa sổ lọc

- a(k,l) : là trọng số lọc

với ak,l = 1

Nw và Nw là số điểm ảnh trong cửa sổ lọc W

Lọc trung bình có trọng số chính là thực hiện chập ảnh đầu vào với nhân chập H Nhân chập H trong trường hợp này có dạng:

bộ lọc tuyến tính theo nghĩa là điểm ảnh ở tâm cửa sổ sẽ được thay bởi thế bởi tổ hợp tuyến tính các điểm lân cận chập với mặt nạ

Giả sử ảnh đầu vào biểu diễn bởi ma trận I:

Trang 18

n m X n

m X n m X n m X n m X

ở dây, nhân chập H là nhân chập 2*2 và mỗi điểm ảnh kết quả có giá trị bằng trung bình cộng của nó với trung bình cộng của 4 lân cận (4 lân cận gần nhất)

1.3.4 Bản chất của quá trình nhận dạng

Quá trình nhận dạng gồm 3 giai đoạn chính:

- Lựa chọn mô hình biểu diễn đối tượng

- Lựa chọn luật ra quyết định (phương pháp nhận dạng) và suy diễn quá trình học

- Học nhận dạng

Khi mô hình biểu diễn đối tượng đã được xác định, có thể là định lượng (mô hình tham số) hay định tính (mô hình cấu trúc), quá trình nhận dạng chuyển sang giai đoạn học Học là giai đoạn rất quan trọng Thao tác học nhằm cải thiện, điều chỉnh việc phân hoạch tập đối tượng thành các lớp

Việc nhận dạng chính là tìm ra quy luật và các thuật toán để có thể gán đối tượng vào một lớp hay nói một cách khác gán cho đối tượng một tên

Học có thày (supervised learning)

Kỹ thuật phân loại nhờ kiến thức biết trước gọi là học có thày Đặc điểm cơ bản của kỹ thuật này là người ta có một thư viện các mẫu chuẩn Mẫu cần nhận dạng sẽ được đem sánh với mẫu chuẩn để xem nó thuộc loại nào Thí dụ như trong một ảnh viễn thám, người ta muốn phân biệt một cánh đồng lúa, một cánh rừng hay một vùng đất hoang mà đã có các miêu tả về các đối tượng đó Vấn đề chủ yếu

là thiết kế một hệ thống để có thể đối sánh đối tượng trong ảnh với mẫu chuẩn và quyết định gán cho chúng vào một lớp Việc đối sánh nhờ vào các thủ tục ra quyết

Trang 19

định dựa trên một công cụ gọi là hàm phân lớp hay hàm ra quyết định Hàm này sẽ

được đề cập trong phần sau

Học không có thày (unsupervised learning)

Kỹ thuật học này phải tự định ra các lớp khác nhau và xác định các tham số

đặc trưng cho từng lớp Học không có thày đương nhiên là khó khăn hơn Một mặt,

do số lớp không được biết trước, mặt khác những đặc trưng của các lớp cũng không biết trước Kỹ thuật này nhằm tiến hành mọi cách gộp nhóm có thể và chọn lựa cách tốt nhất Bắt đầu từ tập dữ liệu, nhiều thủ tục xử lý khác nhau nhằm phân lớp

và nâng cấp dần để đạt được một phương án phân loại

Nhìn chung, dù là mô hình nào và kỹ thuật nhận dạng ra sao, một hệ thống nhận dạng có thể tóm tắt theo sơ đồ sau:

Trích chọn đặc tính Phân lớp trả lời Đánh

biểu diễn đối tượng ra quyết định giá

Quá trình tiền xử lý Khối nhận dạng

Hình 3.8 Sơ đồ tổng quát một hệ nhận dạng

Trang 20

Chương 2: Nghiên cứu về trí tuệ nhân tạo

2.1 Tổng quan về trí tuệ nhân tạo

2.1.1 Trí tu ệ nhân t ạ o (AI) l à gì?

Trí tuệ nhân tạo nghiên cứu về cách hành xử thông minh (intelligent behaviour) với mục tiêu là xây dựng lý thuyết đầy đủ về thông minh để có thể giải thích được hoạt động thông minh của sinh vật và áp dụng được các hiểu biết vào các máy móc nói chung, nhằm phục vụ cho con người

- Về mặt kỹ thuật: Tạo ra các máy thông minh để giải quyết vấn đề thực tế

dùng các kỹ thuật AI

- Khoa học: Phát triển các khái niệm và thuật ngữ để hiểu được các hành xử

thông minh của sinh vật

Trí tuệ con người (Human Intelligence): Cho đến nay có hai khái niệm về trí tuệ con người được chấp nhận và sử dụng nhiều nhất, đó là:

Khái niệm trí tuệ theo quan điểm của Turing

 “Trí tuệ là những gì có thể đánh giá được thông qua các trắc nghiệm thông minh”

Khái niệm trí tuệ đưa ra trong tụ điển bách khoa toàn thư:

 “Trí tuệ là khả năng:

Phản ứng một cách thích hợp những tình huống mới thông qua hiệu chỉnh hành

vi một cách thích đáng

Hiểu rõ những mối liên hệ qua lại của các sự kiện của thế giới bên ngoài nhằm

đưa ra những hành động phù hợp đạt tới một mục đích nào đó

Những nghiên cứu các chuyên gia tâm lý học nhận thức chỉ ra rằng quá trình hoạt

động trí tuệ của con người bao gồm 4 thao tác cơ bản:

1- Xác định tập đích (goals)

2- Thu thập các sự kiện (facts) và các luật suy diễn (inference rules) để đạt

được đích đặt ra

Trang 21

3- Thu gọn (pruning) quá trình suy luận nhằm xác định tập các suy diễn có thể

2- Khả năng mô phỏng hành vi của con người

3- Khả năng trừu tượng hoá, tổng quát hoá và suy diễn

4- Khả năng tự giải thích hành vi

5- Khả năng thích nghi tình huống mới kể cả thu nạp tri thức và dữ liệu

6- Khả năng xử lý các biểu diễn hình thức như các ký hiệu tượng trưng

7- Khả năng sử dụng tri thức heuristic

8- Khả năng xử lý các thông tin không đầy đủ, không chính xác

2.1.2 Các kĩ thuật trí tuệ nhân tạo cơ bản

Lý thuyết giải bài toán và suy diễn thông minh: Lý thuyết giải bài toán cho

phép viết các chương trình giải câu đố, chơi các trò chơi thông qua các suy luận mang tính người; các hệ thống chứng minh định lý Ngoài ra các hệ thống hỏi đáp thông minh còn cho phép lưu trữ và xử lý khối lượng lớn các thông tin

Lý thuyết tìm kiếm may rủi: Lý thuyết này bao gồm các phương pháp và kỹ

thuật tìm kiếm với sự hỗ trợ của thông tin phụ để giải bài toán một cách có hiệu quả

Các ngôn ngữ về Trí tuệ nhân tạo: Để xử lý các tri thức người ta không chỉ

sử dụng các ngôn ngữ lập trình dùng cho các xử lý dữ liệu số, mà cần có ngôn ngữ khác Các ngôn ngữ chuyên dụng này cho phép lưu trữ và xử lý thông tin ký hiệu Một số ngôn ngữ được nhiều người biết đến là IPL.V,LISP, PROLOG

Lý thuyết thể hiện tri thức và hệ chuyên gia: Trí tuệ nhân tạo là khoa học về

thể hiện và sử dụng tri thức Mạng ngữ nghĩa, lược đồ, logic vị từ, khung là các phương pháp thể hiện tri thức thông dụng Việc gắn liền cách thể hiện và sử dụng tri thức là cơ sở hình thành hệ chuyên gia

Trang 22

Lý thuyết nhận dạng và xử lý tiếng nói: Giai đoạn phát triển đầu của Trí tuệ

nhân tạo gắn với lý thuyết nhận dạng Các phương pháp nhận dạng chính gồm: nhận dạng hình học, nhận dạng dùng tâm lý học, nhận dạng theo phương pháp hàm thế, dùng máy nhận dạng ứng dụng của phương pháp này trong việc nhận dạng chữ viết, âm thanh

Người máy: Cuối những năm 70, người máy trong công nghiệp đã đạt được

nhiều tiến bộ Người máy có bộ phận cảm nhận và các cơ chế hoạt động được nối ghép theo sự điều khiển thông minh Khoa học về cơ học và Trí tuệ nhân tạo được tích hợp trong khoa học người máy

Tâm lý học xử lý thông tin : Các kết quả nghiên cứu của tâm lý học giúp Trí

tuệ nhân tạo xây dựng các cơ chế trả lời theo hành vi, có ý thức; nó giúp cho việc thực hiện các suy diễn mang tính người

Ngoài ra, xử lý danh sách, kỹ thuật đệ quy, kỹ thuật quay lui và xử lý cú

pháp hình thức là những kỹ thuật cơ bản của tin học truyền thống có liên quan trực

tiếp đến Trí tuệ nhân tạo

2.2 Biểu diễn trí thức

2.2.1 Tổng quan

Con người sống trong môi trường cụ thể nhận thức được thế giới nhờ các giác quan (tai, mắt và các giác quan khác), sử dụng các tri thức tích luỹ được và nhờ khả năng lập luận, suy diễn, con người có thể đưa ra các hành động hợp lý cho công việc mà con người đang làm Một mục tiêu của Trí tuệ nhân tạo ứng dụng là thiết kế các Agent thông minh (intelligent agent) cũng có khả năng đó như con người Chúng ta cú thể hiểu Agent thông minh là bất cứ cái gì cụ thể nhận thức được môi trường thông qua các b ộ c ả m nh ậ n (sensors) và đưa ra hành động hợp lý đáp ứng lại môi trường thông qua b ộ ph ậ n h à nh độ ng (effectors) Các robots, các softbot (software robot), các hệ chuyên gia, là các ví dụ về Agent thông minh Các Agent thông minh cần phải có tri thức về thế giới hiện thực mới có thể đưa ra các quyết định đúng đắn

2.2.2 Tri thức và biểu diễn tri thức

Trang 23

2.2.2.1 Tri thức

Thành phần trung tâm của agent d ự a trên tri th ứ c (knowledge-based agent), cũng gọi là h ệ d ự a trờn tri th ứ c (knowledge-based system) hoặc đơn giản là hệ tri thức trong đó chứa cơ sở tri thức (Knowledge Base: viết tắt tiếng Anh: KB; viết tắt tiếng Việt: CSTT)

Cơ sở tri thức là một tập hợp các tri thức được biểu diễn dưới dạng nào đó Mỗi khi nhận được các thông tin đưa vào, Agent cần có khả năng suy diễn để đưa

ra các câu trả lời, đưa ra các hành động hợp lý Nhiệm vụ này được thực hiện bởi

bộ suy diễn-thành phần cơ bản khỏc của các hệ tri thức Như vậy, hệ tri thức bao hàm một CSTT và được trang bị một thủ tục suy diễn Mỗi khi tiếp nhận các sự kiện từ môi trường, thủ tục suy diễn thực hiện quá trình liên kết các sự kiện với các tri thức trong CSTT để rút ra các câu trả lời, hoặc các hành động hợp lý mà Agent cần thực hiện Khi thiết kế một Agent giải quyết vấn đề nào đó thì CSTT sẽ chứa các tri thức về đối tượng cụ thể đó Để máy tính có thể sử dụng, xử lý tri thức, cần biểu diễn tri thức dưới dạng thuận tiện Đó là mục tiêu của biểu diễn tri thức

2.2.2.2 Biểu diễn tri thức bằng Logic mệnh đề

Định nghĩa: Logic mệnh đề là công cụ toán logic, trong đó các mệnh đề

được mã hoá (gán) cho một biến, hoặc hằng; còn các biểu thức là sự liên kết có nghĩa giữa các biến hằng với một số toán tử nhất định

Ví dụ: M ệ nh đề “N ế u tr ờ i m ư a (A) thì đấ t ướ t (B) “ đượ c mô t ả : A => B

Tri thức được mụ tả dưới dạng cỏc mệnh đề trong ngụn ngữ biểu diễn tri

thức Mỗi cõu cú thể xem như sự mó húa một sự hiểu biết của ta về thế giới thực

Ngụn ngữ biểu diễn tri thức (cũng như mọi ngụn ngữ hỡnh thức khỏc) gồm hai

thành phần cơ bản là cỳ phỏp và ngữ nghĩa:

• Cỳ phỏp của một ngụn ngữ bao gồm cỏc ký hiệu và cỏc quy tắc liờn kết cỏc ký hiệu (cỏc luật cỳ phỏp) để tạo thành cỏc cõu (cụng thức) trong ngụn ngữ Cỏc cõu ở đõy là biểu diễn ngoài, cần phõn biệt với biểu diễn bờn trong mỏy tớnh Cỏc cõu sẽ được chuyển thành cỏc cấu trỳc dữ liệu thớch hợp được cài đặt trong

Trang 24

một vùng nhớ nào đó của máy tính, đó là biểu diễn bên trong Bản thân các câu chưa chứa đựng một nội dung nào cả, chưa mang một ý nghĩa nào cả

• Ngữ nghĩa của ngôn ngữ cho phép ta xác định ý nghĩa của các câu trong một miền nào đó của thế giới hiện thực Chẳng hạn, trong ngôn ngữ các biểu thức

số học, dãy ký hiệu (x+y)*z là một câu viết đúng cú pháp Ngữ nghĩa của ngôn ngữ này cho phép ta hiểu rằng, nếu x, y, z, ứng với các số nguyên, ký hiệu + ứng với phép toán cộng, còn * ứng với phép nhân, thì biểu thức (x+y)*z biểu diễn quá trình tính toán: lấy số nguyên x cộng với số nguyên y, kết quả được nhân với số nguyên z

• Ngoài hai thành phần cú pháp và ngữ nghĩa, ngôn ngữ biểu diễn tri thức

cần được cung cấp cơ chế suy diễn Một luật suy diễn (rule of inference) cho phép

ta suy ra một công thức từ một tập nào đó các công thức Chẳng hạn, trong logic mệnh đề, luật modus ponens cho phép từ hai công thức A và A => B suy ra công

thức B Chúng ta sẽ hiểu lập luận hoặc suy diễn là một quá trình áp dụng các luật

suy diễn để từ các tri thức trong cơ sở tri thức và các sự kiện ta nhận được các tri thức mới

Như vậy chúng ta xác định:

Ngôn ngữ biểu diễn tri thức = Cú pháp + Ngữ nghĩa + Cơ chế suy diễn

Ngoài ra còn có các cách biểu diến tri thức như sau:

- Biểu diễn tri thức bằng luật và lập luận

- Biểu diễn tri thức bằng mạng ngữ nghĩa

2.2.2.3 Suy di ễ n

Các hệ tri thức mà cơ sở tri thức bao gồm các luật sẽ được gọi là các hệ

dựa trên luật (rule - based system)

Một khi chúng ta đã lưu trữ một cơ sở tri thức, chúng ta cần có thủ tục lập luận để rút ra các kết luận từ cơ sở tri thức Trong các hệ dựa luật, có hai phương pháp lập luận cơ bản:

• Lập luận tiến và lập luận lùi

Trang 25

Như vậy quá trình lập luận tiến là quá trình xem xét các luật Với mỗi luật,

ta đi từ phần điều kiện tới phần kết luận của luật, khi mà tất cả các điều kiện của luật đều được làm thoả mãn (bởi các sự kiện trong cơ sở sự kiện), thì ta suy ra sự kiện trong phần kết luận của luật Chính vì lẽ đó mà có tên lập luận tiến (forward chaining hoặc forward reasoning)

Quá trình lập luận tiến không định hướng tới giải quyết một vấn đề nào cả, không định hướng tới tìm ra câu trả lời cho một câu hỏi nào cả Lập luận tiến chỉ

là quá trình suy ra các sự kiện mới từ các sự kiện trong bộ nhớ làm việc Vì vậy

lập luận tiến còn được gọi là lập luận điều khiển bởi dữ liệu (data - driven

reasioning), hoặc lập luận định hướng dữ liệu (data – directed reasioning)

Ví dụ lập luận tiến: để thấy được quá trình lập luận tiến diễn ra như thế nào,

chúng ta xét ví dụ sau đây:

Giả sử cơ sở luật (cơ sở luật về các động vật trong sở thú) gồm các luật sau

Luật 1: nếu động vật có lông mao

Trang 26

Luật 6: nếu 1 động vật là thú ăn thịt, và

2 động vật có màu lông vàng hung, và

3 động vật có đốm sẫm

thì động vật là báo Châu Phi

Luật 7: nếu 1 động vật là thú ăn thịt, và

2 động vật có màu lông vàng hung, và

3 động vật có vằn đen

thì động vật là hổ

Luật 8: nếu 1 động vật là chim, và

2 động vật không biết bay, và

3 động vật có chân dài, và

4 động vật có cổ dài

thì động vật là đà điểu

Luật 9: nếu 1 động vật là chim, và

2 động vật không biết bay, và

Trang 27

Lúc này cơ sở sự kiện sẽ bao gồm các sự kiện trên

Thủ tục lập luận tiến xem xét luật 1 Khi biến “động vật” trong luật này được thay bởi Ki, điều kiện của luật trỏ thành “Ki có lông mao”, đây là một sự kiện có trong

bộ nhớ làm việc, do đó ta suy ra “Ki là loài có vú” Đây là sự kiện mới, do đó nó được thêm vào bộ nhớ làm việc Xét luật 4, thế biến “động vật” bởi Ki, thì hai điều kiện của luật trở thành:

bỏ bởi tình trạng hiện thời của bộ nhớ làm việc Khi mà bộ nhớ làm việc thay đổi (chúng ta thêm vào hoặc loại bỏ một số sự kiện) thì một giả thuyết đã được chứng minh có thể trở thành bị bác bỏ và ngược lại

Quá trình lập luận lùi diễn ra như sau: Ta đối sánh giả thuyết đưa ra với các

sự kiện trong bộ nhớ làm việc Nếu có một sự kiện khớp với giả thuyết, (ở đây

Trang 28

“khớp” được hiểu là hai câu mô tả sự kiện và giả thuyết trùng nhau qua một phép thế nào đó), thì ta xem như giả thuyết là đúng Nếu không cớ sự kiện nào khớp với giả thuyết, thì ta đối sánh giả thuyết với phần kết luận của các luật Với mỗi luật

mà kết luận của luật khớp với giả thuyết, ta đi lùi lại phần điều kiện của luật Các điều kiện này của luật được xem như các giả thuyết mới Với giả thuyết mới, ta lập lại quá trình trên

Nếu tất cả các giả thuyết được sinh ra trong quá trình phát triển các giả thuyết bởi các luật được chọn thích hợp đều được thoả mãn (đều có trong bộ nhớ làm việc) thì giả thuyết đã đưa ra được xem là đúng Ngược lại, dù ta áp dụng luật nào để phát triển các giả thuyết cũng dẫn tới các giả thuyết không có trong bộ nhớ làm việc và không thể quy giả thuyết này về các giả thuyết mới khác, thì giả thuyết đã đưa ra được xem là sai

Ví dụ lập luận lùi : để làm sáng tỏ tư tưởng của lập luận lùi, xét với dụ sau.Giả sử

bộ nhớ làm việc chứa các sự kiện sau

Bibi có lông vũ

Bibi có chân dài

Bibi có cổ dài

Bibi không biết bay

Ta đưa ra giả thuyết sau đây

Bibi là đà điểu

Đối sánh giả thuyết này với phần kết luận của các luật, ta thấy nó khớp với kết luận của luật 8 nếu thế biến “động vật” bởi Bibi Từ luật 8, ta suy ra rằng, giả thuyết “Bibi là đà điểu” là đúng, nếu các điều kiện sau là đúng

1 Bibi là chim

2 Bibi không biết bay

3 Bibi có chân dài

4 Bibi có cổ dài

Đây là 4 giả thuyết mới Việc đánh giá giả thuyết “Bibi là đà điểu” được quy về việc đánh giá bốn giả thuyết mới này Các giả thuyết 2, 3 và 4 đều có trong bộ nhớ

Trang 29

làm việc, ta chỉ cần đánh giá giả thuyết “Bibi là chim” Lại đối sánh giả thuyết này với phần kết luận của các luật Ta thấy nó khớp với kết luận của luật 2 và luật 3 Xét luật 3, đi lùi lại phần điều kiện của luật này, ta nhận được các giả thuyết mới là:

Bibi biết bay

Bibi đẻ trứng

Cả hai giả thuyết này đều không có trong bộ nhớ làm việc và cũng không khớp với phần kết luận của luật nào cả Do đó, ta không thể phát triển tiếp các giả thuyết này được nữa Chuyển sang xét luật 2, để “Bibi là chim” luật này đòi hỏi điều kiện

“Bibi có lông vũ” Điều kiện này có trong bộ nhớ làm việc Vậy giả thuyết đã đưa

ra “Bibi là đà điểu” là đúng

Lập luận lùi nhằm chứng minh một giả thuyết Chính vì thế mà lập luận lùi còn

được gọi là lập luận định hướng mục đích (goal - ariented reasoning).

vụ đó’

Có 3 cách tiếp cận của việc học : tiếp cận kí hiệu, tiếp cận mạng neuron và

tiếp cận di truyền và tiến hóa

Trong chương tiếp theo chúng ta sẽ tìm hiểu chi tiết về hướng tiếp cận mạng neuron

Trang 30

Chương 3: Mạng neuron và bài toán nhận dạng chữ số viết

tay

3.1 Mạng neuron nhân tạo là gì?

3.1.1 Nguồn gốc mạng nơron nhân tạo

Vào những năm thập niên 1940, Werren McCulloch và Walter Pitts chỉ ra rằng các mạng nơnron nhân tạo có thể tính toán được một số hàm logic và số học Tiếp đó là Rosebatt, Windrow, Hoff đã có các mạng và các quy tắc học đầu tiên Thập niên 1960 Minsky và Papert đã đưa ra các hạn chế của mạng nơron và các nghiên cứu gần như dừng lại Những năm 1970 có Amari, Anderson, Kohonen tiếp tục nghiên cứu nhưng tốc độ chậm Từ thập niên 80 với những phát triển mới quan trọng về thuật toán học như truyền ngược lỗi, mạng nơron đã hồi sinh và phát triển mạnh Càng ngày chúng càng chứng tỏ vai trò và triển vọng của nó trong các ứng dụng thực tiễn và không còn chỉ nằm trong các phòng thí nghiệm mà đã xuất hiện nhiều ứng dụng quan trọng

Sau đây ta sẽ xem xét qua một số tính chất cơ bản của bộ não là cảm hứng cho sự phát triển của các nơron nhân tạo

Bộ não con người có khoảng 1011 nơron được nối với nhau bởi 104 liên kết Mỗi nơron có 3 thành phần cơ bản: xúc tu(dendrite), thân tế bào và sợi trục(axon) Các xúc tu là các mạng dây thần kinh lĩnh hội có xúc tu Thân tế bào cộng và đặt ngưỡng các tín hiệu đi đến Sợi trục là một sợi dài mang tín hiệu từ thân tế bào đến các nơron khác Điểm tiếp xúc giữa một sợi trục và một xúc tu khác của tế bào khác gọi là lớp thần kinh(synape) Sự sắp đặt các nơron và độ mạnh của các khớp thần kinh riêng biệt được quyết định bởi một quá trình hoá học phức tạp, tạo nên chức năng của mạng nơron

Một số cấu trúc thần kinh được các định ngay từ lúc sinh ra Còn lại chúng phát triển qua quá trình học, các liên kết mới được tạo ra, một số khác mất đi Các cấu trúc thần kinh liên tục thay đổi trong suốt cuộc sống Giai đoạn đầu của cuộc

Trang 31

sống là quá trình phát triển mạnh mẽ nhất, về sau chủ yếu là sự tăng hoặc giảm độ mạnh của các khớp thần kinh

Người ta đã thấy rằng, mỗi nơron có thể gồm vài chục hoặc hàng trăm khớp nối để nối với các nơron khác Điều đáng chú ý là chính các nơron rất đơn giản trong cơ chế làm việc, nhưng mạng các nơron liên kết với nhau lại có khả năng tính toán, suy nghĩ, ghi nhớ và điều khiển

Các khả năng cơ bản của bộ não là:

+ Có thể tổng quát hoá, liên hệ các thuộc tính của đối tượng với nhau

+ Có thể tiếp tục thực hiện ngay cả khi thông tin bị thiếu hoặc không chính xác

+ Có thể phát hiện và phục hồi thông tin bị mất

+ Có khả năng xuống cấp và có khả năng thay thế dần dần

+ Có khả năng học

Người ta thấy rằng tất cả các chức năng thần kinh sinh học được thực hiện nhờ vào các liên kết giữa các nơron sinh học Quá trình học tập của não là việc hình thành các liên kết mới giữa các nơron hoặc thay đổi các liên kết đang có Từ những hiểu biết này, người ta xây dựng và phát triển mạng nơron nhân tạo dựa trên mô hình của nơron sinh học với mục đích là có thể huấn luyện các mạng nơron nhân tạo này để chúng có thể giải quyết một số bài toán theo cách của bộ não sinh học thực hiện đồng thời thông qua đó tìm hiểu các cơ chế nhớ và cách tính toán của bộ não

3.1.2 Mạng nơron nhân tạo là gì?

Mạng nơron là một mạng của nhiều đơn vị xử lý nhỏ, mỗi đơn vị có thể có một bộ nhớ cục bộ riêng, nhỏ Các đơn vị này được nối với nhau bằng các đường liên kết mang một giá trị số Các đơn vị này chỉ hoạt động trên dữ liệu cục bộ và nhận đầu vào qua các liên kết này Giới hạn về hoạt động cục bộ thường được bỏ qua trong quá trình huấn luyện

Một số mạng noron mang mô hình của mạng nơron sinh học trong khi một

số khác lại có cấu trúc khác hẳn, song nguồn gốc các thành phần của mạng đều xuất phát từ khát khao tạo ra các hệ thống tinh vi, “thông minh”, có khả năng tính toán tương đương với hoạt động của bộ não con người

Trang 32

Hầu hết các mạng nơron đều phải tuân thủ theo một số quy tắc(còn gọi là luật dạy-training rule) để hiệu chỉnh các trọng số liên kết trên cơ sở dữ liệu đưa vào Nói cách khác, mạng nơron “học” từ các ví dụ mẫu và sau đó tổng quát hoá cho các trường hợp khác.

3.1.3 Triển vọng phát triển mạng nơron

Mạng nơron đã được ứng dụng trong nhiều lĩnh vực Chất lượng và số lượng của chúng đang tăng lên rất nhanh và hứa hẹn giải quyết nhiều bài toán mà thực hiện bằng các phương pháp truyền thống là rất khó khăn Một số lĩnh vực và ứng dụng của mạng nơron đã được thực hiện bao gồm: Không gian vũ trụ, máy bay tự lái, trợ giúp điều khiển, phát hiện lỗi, tổng hợp tiếng nói, lập mô hình phi tuyến, người máy(điều khiển tay máy, hệ thống thị giác), y học (phân tích thiết kế các bộ phận giả), Tiếng nói: nhận dạng tiếng nói, nén âm thanh, phân loại nguyên âm, tổng hợp tiếng nói

Tuy có nhiều hứa hẹn nhưng mạng nơron cũng còn nhiều vấn đề như:

Đánh giá các giới hạn của mạng, đánh giá khả năng tổng quát hoả của mạng, kết hợp với các công nghệ khác như giải thuật gen hoặc tiếp cận mờ Một số vấn đề

mở đang đặt ra hiện nay bao gồm: độ phức tạp của tổng thể của mạng là gì? Độ phức tạp của thuật toán huấn luyện là gì? Giải pháp mạng nơron nhân tạo có tổng quát quá không? Mạng học cái gì? Giải pháp mạng nơron nhân tạo tỷ lệ với số chiều của bài toán như thế nào? Ngoài ra còn nhiều yếu tố ảnh hưởng đến sự phát triển của mạng nơron Không chỉ các cơ sở toán học, các phương pháp thiết kế mạng, các thuật toán huấn luyện, mà còn có cả các khám phá trong lĩnh vực sinh học, tâm lý học, sẽ là những yếu tố quan trọng đối với sự phát triển của mạng nơron nhân tạo

3.2 Mô hình neuron và các kiến trúc mạng

3.2.1 Mô hình neuron nhân tạo

Mạng nơron nhân tạo(Artificial Neural Network) bao gồm các nơron( còn gọi là một đơn vị xử lý hay một node) đượ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/ ức chế

Trang 33

giữa các nơron Có thể xem các trọng số là các phương tiện để lưu trữ thông tin dài hạn trong mạng nơron Nhiệm vụ chung của quá trình huấn luyện mạng là cập nhật các trọng số khi có thêm các thông tin về mẫu học

Thông thường các nơron có nhiều đầu vào Một nơron có R đầu vào

Trang 34

- Hàm chuyển f(n,b):(còn được gọi là hàm kích hoạt hay hàm tích hợp)

Là một dạng hàm không tuyến tính đóng vai trò biến đổi từ Net sang tín hiệu

đầu ra a Các dạng hàm kích hoạt sau thường được dùng trong thực tế:

Trang 35

thường gán xR+1=+1 Giá trị ban đầu của wR+1=-b Giá trị của wR+1 có thể thay đổi sau mỗi lần học

Mạng nơron là hệ thống bao gồm nhiều phần tử xử lý đơn giản( nơron) hoạt

động song song Tính năng cỉa hệ thống này tuỳ thuộc vào cấu trúc của hệ, các trọng số liên kết và quá trình tính toán tại các nơron đơn lẻ Có nhiều cách phân loại mạng nơron, chủ yếu là dựa trên các cơ sở sau:

Theo kiểu liên kết nơron:

 Mạng nơron truyền thẳng(Feed Forward NN): Các liên kết nơron đi theo một hướng nhất định, không tạo thành đồ thị có chu trình

Trang 36

 Mạng nơron hồi quy( Recurrent NN) : cho phép các liên kết nơron tạo thành chu trình

Theo phương pháp huấn luyện mạng:

 Học giám sát( supervised learning)

 Học không có giám sát( unsupervised learning)

 Học tăng cường( reinforcement learning)

Theo số lớp:

Các nơron có thể tổ chức lại thành các lớp Tùy theo vấn đề cần giải quyết

mà sử dụng mạng một lớp hay mạng đa lớp, các liên kết là nối đầy đủ hay không đầy đủ Sau đây chúng ta sẽ tìm hiểu phương phân loại dựa vào số lớp nơron trong mạng

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

Thông thường một nơron với nhiều đầu vào thường không đủ khả năng để giải quyết các bài toán Người tao thường phải dùng nhiều nơron hoạt động song song gọi là một lớp( hay còn gọi là một tầng) nơron

Một lớp của S nơron được mô tả trong hình 5 Các liên kết trong mạng này

là nối đầy đủ, tức là R đầu vào được nối đầy đủ với các nơron và ma trận trọng số bây giờ có S hàng

Trang 37

Hình 5: Mạng Nơron một lớp có S- nơron

Số đầu vào và số đầu ra là độc lập với nhau, chúng không cần phải bằng nhau( R<>S) Hơn nữa, các hàm chuyển f của mỗi nơron trong cùng một lớp cũng không nhất thiết phải giống nhau

3.2.2.2 Mạng nơron nhiều lớp:

Bây giờ ta xem xét mạng phức tạp hơn với một số lớp nơron nối tiếp nhau Mỗi lớp có ma trận trọng số W riêng của nó, vector lệch b riêng, vector đầu vào tổng n riêng và vector đầu ra riêng Chúng ta sẽ ký hiệu chỉ số trên của mỗi biến là

số thứ tự của lớp(W1, W2, a1, a2, )

Trang 38

Đầu ra của lớp j-1 là đầu vào của lớp j, đầu ra của lớp j ;à đầu vào của lớp j+1 Do vậy với lớp thứ j có Sj-1 đầu vào, Sj nơron đầu ra và Sj-1.Sj trọng số trong ma trận Wj Đầu vào của mạng thứ j là aj-1 và đầu ra là aj

Lớp cuối cùng của mạng nơron gọi là lớp ra Các lớp khác gọi là lớp ẩn

Hình 6: Mạng Nơron đa tầng

Mạng nhiều lớp có nhiều khả năng hơn mạng một lớp Một mạng hai lớp có hàm sigmoid ở lớp thứ nhất và hàm tuyến tính của lớp thứ hai có thể huấn luyện để xấp xỉ hầu hết mọi hàm tùy ý Mạng một lớp không thể thực hiện được việc này

3.2.2.3 Mạng hồi quy:

Mạng hồi quy là mạng có các phản hồi Một số đầu ra của mạng được đưa quay lại làm đầu vào của chính nó Điều này hoàn toàn khác với các mạng đã đề cập đến trước đây là tín hiệu đầu ra chỉ được chuyển tiếp mà không đưa quay trở lại Mô hình mạng hồi quy rời rạc theo thời gian được mô tả trong hình:

Trang 39

Hình 7: Mạng hồi quy

Trong mạng đặc biệt này, tại thời điểm ban đầu t= 0, đầu ra của mạng được khởi

tạo giá trị a(0)=p Các đầu ra về sau được tính từ đầu ra trước đó

a (t+1) = f(Wa(t)+ b)

Các mạng hồi quy có tiềm năng mạnh hơn các mạng chuyển tiếp và có thể biểu

diễn các cư xử theo thời gian

3.2.3 Các quy tắc học

Quy tắc học là một thủ tục sửa đổi trọng số và độ lệch của mạng.( Thủ tục

này còn được gọi là thuật toán huấn luyện) Thủ tục này sẽ huấn luyện mạng để nó

có thể thực hiên một số nhiệm vụ mà ta mong muốn Yêu cầu chính trong vấn đề

này là cần có một cơ chế điều chỉnh trọng số thích hợp

Đa số các cơ chế điều chỉnh trọng số đều dựa trên cơ sở một phát triển của

Donald Hebb, được gọi là phương pháp học Hebb

Phát biểu của Hebb như sau:

“ Khi có một xung động của tế bào A- một trong nhiều tế bào kích thích tế

bào B- gần đủ để kích hoạt B và xung động này lặp đi lặp lại hoặc kéo dài, thì một

số quá trình trao đổi chất xảy trong một hay cả hai tế bào sẽ được tăng lên do tác

động đó của A”

Có thể tóm tắt phát biểu trên bằng luật sau, mà đôi khi còn gọi là luật Hebb:

Trang 40

“ Giá trị trọng số của một đầu vào sẽ được tăng nếu đầu ra là tích cực khi

đầu vào gắn với trọng số đó cũng là tích cực”

Lời phát biểu này có thể diễn giải bằng vài cách khác nhau Một cách là giá trị trọng số W chỉ được tăng khi và chỉ khi đầu ra là một và đầu vào tương ứng cũng là một Nếu các trọng số ban đầu đều đặt về 0, thì các giá trị của chúng sau khi học xong một tập các mẫu vào là:

Trong đó pq là một đầu vào của mạng và tq là đầu ra đúng tương ứng.Khi

đầu vào được áp dụng vào mạng, đầu ra của mạng được so dánh với đích Quy tắc học sau đó được áp dụng để điều chỉnh các trọng số và độ lệch của mạng cốt làm cho đầu ra của mạng gần đích đúng của đầu vào

Ngày đăng: 22/09/2016, 22:14

HÌNH ẢNH LIÊN QUAN

Hình 1.3 ảnh biến dạng do nhiễu  Hình 1.3 ở  trên  cho ta  thí dụ về sự biến dạng của ảnh do nhiễu - Nhận dạng chữ số viết tay với mạng neuron nhân tạo
Hình 1.3 ảnh biến dạng do nhiễu Hình 1.3 ở trên cho ta thí dụ về sự biến dạng của ảnh do nhiễu (Trang 6)
Hình 3.8 Sơ đồ tổng quát một hệ nhận dạng. - Nhận dạng chữ số viết tay với mạng neuron nhân tạo
Hình 3.8 Sơ đồ tổng quát một hệ nhận dạng (Trang 19)
Hình 1: Mô hình một neural nhân tạo - Nhận dạng chữ số viết tay với mạng neuron nhân tạo
Hình 1 Mô hình một neural nhân tạo (Trang 33)
Hình 3: Hàm chuyển tuyến tính - Nhận dạng chữ số viết tay với mạng neuron nhân tạo
Hình 3 Hàm chuyển tuyến tính (Trang 34)
Hình 6: Mạng Nơron đa tầng  Mạng nhiều lớp có nhiều khả năng hơn mạng một lớp. Một mạng hai lớp có  hàm sigmoid ở lớp thứ nhất và hàm tuyến tính của lớp thứ hai có thể huấn luyện để  xấp xỉ hầu hết mọi hàm tùy ý - Nhận dạng chữ số viết tay với mạng neuron nhân tạo
Hình 6 Mạng Nơron đa tầng Mạng nhiều lớp có nhiều khả năng hơn mạng một lớp. Một mạng hai lớp có hàm sigmoid ở lớp thứ nhất và hàm tuyến tính của lớp thứ hai có thể huấn luyện để xấp xỉ hầu hết mọi hàm tùy ý (Trang 38)
Hình 10: Mạng Hopfield với hàm chuyển là hàm Satlins. - Nhận dạng chữ số viết tay với mạng neuron nhân tạo
Hình 10 Mạng Hopfield với hàm chuyển là hàm Satlins (Trang 46)
Hình 13: Biểu diễn thu gọn của mạng Hamming. - Nhận dạng chữ số viết tay với mạng neuron nhân tạo
Hình 13 Biểu diễn thu gọn của mạng Hamming (Trang 54)
Hình 14: Mô hình mạng instar- outstar - Nhận dạng chữ số viết tay với mạng neuron nhân tạo
Hình 14 Mô hình mạng instar- outstar (Trang 57)
Hình 15: Mô hình mạng ART1. - Nhận dạng chữ số viết tay với mạng neuron nhân tạo
Hình 15 Mô hình mạng ART1 (Trang 59)
Hình 18 : Kiến trúc Kohonen trong không gian hai chiều. - Nhận dạng chữ số viết tay với mạng neuron nhân tạo
Hình 18 Kiến trúc Kohonen trong không gian hai chiều (Trang 65)
Hình 17: Kiến trúc Kohonen trong không gian một chiều - Nhận dạng chữ số viết tay với mạng neuron nhân tạo
Hình 17 Kiến trúc Kohonen trong không gian một chiều (Trang 65)
Hình 23: Huấn luyện mạng. - Nhận dạng chữ số viết tay với mạng neuron nhân tạo
Hình 23 Huấn luyện mạng (Trang 74)
Hình 25: Các giai đoạn của quá trình nhận dạng ảnh. - Nhận dạng chữ số viết tay với mạng neuron nhân tạo
Hình 25 Các giai đoạn của quá trình nhận dạng ảnh (Trang 80)
Hình 2.5: Quá trình chia lưới kí tự - Nhận dạng chữ số viết tay với mạng neuron nhân tạo
Hình 2.5 Quá trình chia lưới kí tự (Trang 83)

TỪ KHÓA LIÊN QUAN

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

w