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 1Mụ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 23.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 3Lờ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 4Chươ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 5Chươ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 6thườ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 7Trong đó:
- (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 8Phâ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 9mả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 10Tuỳ 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 131.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 16Tá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 18n 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 20Chươ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 213- 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 22Lý 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 232.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 24mộ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 25Như 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 26Luậ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 27Lú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 29là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 30Chươ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 31số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 32Hầ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 33giữ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 35thườ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 37Hì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