báo cáo môn trí tuê nhân tạo giải bài toán nhận diện chữ viêt tay bằng mạng noron nhân tao, sử dụng ngôn ngữ java - Pdf 23

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

BÀI TẬP LỚN
TRÍ TUỆ NHÂN TẠO
Đề tài: Nhận diện chữ viết tay bằng mạng noron nhân tạo
Giảng viên hướng dẫn : TS. Phạm Văn Hải
Nhóm sinh viên thực hiện : Nhóm 3
Nguyễn Xuân Tùng 20102495
Nguyễn Thị Kim Chi 20101157
Mai Thị Gấm 20090843
Phạm Thị Sen 20102077
Tống Thị Đông 20104037
Trần Văn Nhuận 20072164
Hà Nôi, Tháng 8 năm 2013
Giáo viên hướng dẫn: TS.Phạm Văn Hải
Mục Lục
2
Giáo viên hướng dẫn: TS.Phạm Văn Hải
LỜI CẢM ƠN
“Trí tuệ nhân tạo” là khoa học nghiên cứu các hành vi thông minh nhằm giải
quyết các vấn đề được đặt ra đối với các chương trình máy tính. Đây là môn học mới lạ
với chúng tôi nhưng rất quan trọng với những sinh viên công nghệ thông tin, giúp cung
cấp những kiến thức cần thiết về trí thông minh của các hệ thống máy tính. Và để có
được những kiến thức đó, chúng tôi xin gửi lời cảm ơn chân thành đến thầy Phạm Văn
Hải – Giảng viên Viện Công nghệ thông tin và truyền thông, Đại học Bách Khoa Hà Nội
đã tận tình chỉ dạy, đưa chúng tôi đến gần hơn với một lĩnh vực hoàn toàn mới, giúp
chúng tôi có thêm những kiến thức nền tảng để có thể phát triển tiếp trong tương lai và
hoàn thành bài tập này.
3
Giáo viên hướng dẫn: TS.Phạm Văn Hải

điểm chung với các tế bào khác trong cơ thể, ngoài ra chúng còn có những khả
năng mà các tế bào khác không có được, đó là khả năng nhận, xử lý và truyền các
tín hiệu điện hóa trên các đường mòn nơron, các con đường này tạo nên hệ thống
giao tiếp của bộ não
Hình 1: Cấu trúc của một nơron sinh học điển hình
Mỗi nơron sinh học có 3 thành phần cơ bản:
• Các nhánh vào hình cây ( dendrites)
• Thân tế bào (cell body)
• Sợi trục ra (axon)
Các nhánh hình cây truyền tín hiệu vào đến thân tế bào. Thân tế bào tổng hợp và
xử lý cho tín hiệu đi ra. Sợi trục truyền tín hiệu ra từ thân tế bào này sang nơron khác.
Điểm liên kết giữa sợi trục của nơron này với nhánh hình cây của nơron khác gọi là
synapse. Liên kết giữa các nơron và độ nhạy của mỗi synapse được xác định bởi quá
trình hóa học phức tạp. Một số cấu trúc của nơron được xác định trước lúc sinh ra. Một
số cấu trúc được phát triển thông qua quá trình học. Trong cuộc đời cá thể, một số liên
kết mới được hình thành, một số khác bị hủy bỏ.
5
X1
X2
Xn
f(x)
Bias
Result
Wi1
Win
Giáo viên hướng dẫn: TS.Phạm Văn Hải
Như vậy nơron sinh học hoạt động theo cách thức sau: nhận tín hiệu đầu vào, xử
lý các tín hiệu này và cho ra một tín hiệu output. Tín hiệu output này sau đó được truyền
đi làm tín hiệu đầu vào cho các nơron khác.
Dựa trên những hiểu biết về nơron sinh học, con người xây dựng nơron nhân tạo

ij
là trọn số liên kết của noron thứ i tới đầu vào j, còn x
j
là giá trị
đầu vào thứ j, bias là ngưỡng của noron, f() là hàm truyền, a là đầu ra của
noron.
3. Mạng noron nhân tạo
Mạng noron nhân tạo, Artificial Neural Network(ANN) là một mô hình xử lý
thông tin phỏng theo cách thức xử lý thông tin của các hệ noron sinh học. Nó được
tạo lên từ một số lượng các phần tử noron, kết nối với nhau thông qua trọng số
liên kết , làm việc như một thể thống nhất để giải quyết một vấn đề cụ thể nào đó.
Một mạng noron nhân tạo được cấu hình cho một ứng dụng cụ thể(nhận dạng
mẫu, phân loại dữ liệu, …) thông qua một quá trình học từ tập các mẫu huấn
7
Giáo viên hướng dẫn: TS.Phạm Văn Hải
luyện, về bản chất của quá trình học là quá trình hiệu chỉnh ngưỡng và các trọng
số liên kết.
8
Giáo viên hướng dẫn: TS.Phạm Văn Hải
CHƯƠNG II: GIỚI THIỆU BÀI TOÁN NHẬN DẠNG CHỮ CÁI BẰNG MẠNG
NORON NHÂN TẠO
1. Các phương pháp nhận dạng chữ cái.
Để nhận dạng chữ cái, nhiều giải pháp khác nhau đã được đưa ra, chúng tôi xin được
đưa ra một vài phương pháp thông dụng hiện nay:
1.1. Đối sánh mẫu : Đây là kỹ thuật nhận dạng chữ cái đơn giản nhất dựa trên cơ sở
đối sánh các nguyên mẫu với nhau để nhận dạng kí tự hoặc từ. Gồm:
- Đối sánh trực tiếp: với kí tự đầu vào là ảnh đa cấp xám hoặc ảnh nhị phân
đuợc so sánh trực tiếp với một tập mẫu chuẩn đã được lưu trữ.
- Các mẫu biến dạng và đối sánh mềm: Sử dụng các mẫu biến dạng trong đó
một phép biến dạng ảnh đuợc dùng để đối sánh là ảnh chưa biết với một cơ sở

bộ xử lý “ nơron” được kết nối song song chằng chịt với nhau. Do bản chất
song song của các noron nên nó có thể thực hiện các tính toán tốc độ cao hơn
so với các kỹ thuật phân lớp khác. Một mạng nơron chứa nhiều nút, đầu ra của
một nút đuợc sử dụng cho một nút khác ở trong mạng và hàm quyết định cuối
cùng phụ thuộc vào sự tuơng tác phức tạp giữa các nút. Mặc dù nguyên lý
khác nhau nhưng hầu hết các kiến trúc mạng nơron đều tương đương với các
phương pháp nhận diện dạng mẫu thống kê.
- Các kiến trúc mạng nơron có thể được phân thành 2 nhóm chính là: Mạng
truyền thẳng và mạng lan truyền nguợc.Trong các hệ thống nhận dạng chữ,
các mạng nơron sử dụng phổ biến nhất là mạng perceptron đa lớp thuộc nhóm
mạng truyền thẳng và mạng SOM của Kohonen thuộc nhóm mạng lan truyền
ngược.
- Mạng perceptron đa lớp đuợc đề xuất bởi Rosenblatt đuợc nhiều tác giả sử
dụng trong các hệ nhận dạng chữ viết tay. Hầu hết các nghiên cứu phát triển
nhận dạng chữ viết tay hiện nay đều tập trung vào mạng SOM .SOM kết hợp
trích chọn đặc trưng và nhận dạng trên một tập lớp các ký tự huấn luyện.
Mạng này chứng tỏ rằng nó tuơng đuơng với thuật tóan phân cụm k- mean.
- Với thật toán đơn giản nhưng hiệu quả, cùng với thành công của mô hình này
trong các ứng dụng thực tiễn, mạng nơron hiện đang là một trong các huớng
nghiên cứu của lĩnh vực học máy. Mạng nơ ron tỏ ra phù hợp với các bài tóan
đối sánh, phân loại mẫu, xấp xỉ hàm, tối ưu hóa, luợng tử hóa véc tơ và phân
hoach không gian dữ liệu, trong khi các phương pháp truyền thống không đủ
khả năng giải quyết các vấn đề nêu trên một cách hiệu quả. Đăc biệt trong các
hệ thống nhận dạng sử dụng mạng nơron đã đạt đuợc tỉ lệ nhận dạng khá
chính xác, có thể so sánh với các phương pháp nhận dạng cấu trúc, thống
kê….
Trong bài tập lớn của mình chúng tôi áp dụng phương pháp mạng noron
nhân tạp để giải quyết bài tóan nhận dạng chữ của mình.
10
Mẫu

ảnh thành 2 phần : phần nền và phần chữ. Hầu hết các phương pháp nhị phân
hóa ảnh hiện nay đều lựa chọn một ngưỡng thích hợp theo cường độ sáng của
ảnh và sau đó chuyển tất cả các giá trị độ sang lớn hơn ngưỡng đó thành một
11
Giáo viên hướng dẫn: TS.Phạm Văn Hải
giá trị độ sáng ( ví dụ “ trắng” ) và tất cả các giá trị bé hơn ngưỡng thành một
giá trị độ sáng khác (“đen”).
- Lọc nhiễu.
Nhiễu là một tập các điểm sang thừa trên ảnh. Khử nhiễu là một vấn đề
thuờng gặp trong nhận dạng, nhiễu có nhiều loại (nhiễu đốm, nhiễu vệt, nhiễu
đứt nét…).
Để khử các nhiễu đốm ( các nhiễu với kích thước nhỏ), có thể sử dụng các
phương pháp lọc ( lọc trung bình, lọc trung vị). Tuy nhiên, với các nhiễu vệt
(hoặc các nhiễu có kích thước lớn) thì các phương pháp lọc tỏ ra kém hiệu
quả, trong trường hợp này sử dụng phương pháp khử các vùng liên thông tỏ ra
có hiệu quả hơn.
- Chuẩn hóa kích thước ảnh
Việc chuẩn hóa kích thước ảnh dựa trên việc xác định trọng tâm ảnh, sau đó
xác định khoảng cách lớn nhất từ tâm ảnh đến các cạnh trên, dưới, trái, phải
của hình chữ nhật bao quanh ảnh. Thông qua khoảng cách lớn nhất đó, có thể
xác định được một tỷ lệ co, gian của ảnh gốc so với kích thước đã xác định,
từ đó hiệu chỉnh kích thước ảnh theo tỉ lệ co, giãn này. Như vậy thuật toán
chuẩn hóa kích thước ảnh luôn luôn được đảm bảo tính cân bằng khi co giãn
ảnh sẽ không bị biến dạng hoặc bị lệch.
- Làm trơn biên chữ
- Đôi khi do chất lượng quét ảnh quá xấu, các đuờng biên của chữ không còn
giữ được dáng điệu trơn tru ban đầu mà hình thành các đường răng cưa giả
tạo. Trong các trường hợp này, phải dùng các thuật toán làm trơn biên để khắc
phục.
12

Input = (numOfStrokes, d1, cos() (K là số điểm được chọn ra từ dãy điểm
của chữ, và cố định trong một bài toán nhận dạng cụ thể.
Target = {a1, ,an}, ai = 1 nếu mẫu thuộc lớp thứ i, và ạ=0 với mọi ij. (N là số
lớp chữ cái cần nhận dạng).
Ta có mô hình:
Trong đó:
• Data: là tập dữ liệu ban đầu
15
Giáo viên hướng dẫn: TS.Phạm Văn Hải
• Training Set: là tập dữ liệu huấn luyện.
• Test Set: là tập dữ liệu kiểm tra
• ANN: là mạng nơron cần huấn luyện.
• Model: là mô hình tạo ra sau khi huấn luyện mạng với tập dữ liệu huấn
luyện.
• Evaluator: là phần đánh giá chất lượng của mô hình, thường lấy tỉ lệ phân
loại đúng trên tập kiểm tra làm tiêu chí đánh giá.
• Thuật toán cập nhập trong bài toán này, chúng tôi sử dụng thuật toán lan
truyền ngược (Back-propagation).
Các mẫu được chia thành hai tập là tập huấn luyện(training set) và tập kiểm tra(test
set). Khởi đầu với số lượng nút ẩn nhỏ, quá trình huấn luyện được tiến hành như sau:
huấn luyện mạng với tập dữ liệu huấn luyện, kiểm tra mô hình thu được trên tập dữ liệu
kiểm tra. Chừng nào sai số trên tập kiểm tra còn giảm xuống thì tập kiểm tra không giảm
nữa(có thể tăng lên)thì dừng lại.
2. Quá trình nhận dạng
Sau quá trình huấn luyện, mạng nơron có thể được sử dụng cho quá trình nhận
dạng chữ cái viết tay trực tuyến. Với mỗi mẫu chữ đầu vào(được biểu diễn dưới một
vector đặc trưng), khi qua mạng noron sẽ cho ra một vector đầu ra có dạng {a1,a2,
…,an} với thành phần là các số thực và N là số lớp chữ cái cần nhận dạng. Ta phát
biểu và chứng minh giả thuyết sau:
Giả thuyết: nếu ai(1 <= i <= N) là phần tử lớn nhất trong dãy a1,a2,…,an thì sai số

đầu vào.
• l: tốc độ học
• hàm truyền : out =
Thuật toán được mô tả như sau:
Input:
- Mạng feedforward với n
i
đầu vào, n
h
nút ẩn và n
o
đầu ra. Trong bài toán,
chúng tôi xây dựng với 1 lớp ẩn, với 100 nút ẩn và 8 nút đầu ra. Mỗi đầu ra
tương ứng với 1 bit để biểu diễn chữ cái cần nhận dạng.
- Hệ số học l, ( l = 0.3)
- Tập dữ liệu D = {là tập vecto đầu vào, tập vecto đầu ra mong muốn} (folder
training).
Output: các vector trọng số
Thuật toán:
B1: khởi tạo tập trọng số ngẫu nhiên (khởi tạo trong khoảng [-1,1])
17
Giáo viên hướng dẫn: TS.Phạm Văn Hải
B2: Lặp lại cho tới khi tất cả các mẫu dữ liệu mẫu đều trả lại kết quả mong
muốn.
Với mỗi mẫu dữ liệu ta thực hiện các bước như sau:
2.1 Tính đầu ra oj cho mỗi nút j .
O
j
= f(Σx
ji

j
x
ji
W
ji
= W
ji
+Δw
ji
Δb
j
= lErr
j
b
j
= b
j
+Δb
j
18
Giáo viên hướng dẫn: TS.Phạm Văn Hải
CHƯƠNG IV: CÀI ĐẶT BÀI TOÁN
1. Mô hình lớp của thuật toán
2. Thông số bài toán:
- Số lượng đặc trưng ảnh: 256 đặc trưng
- Số lượng noron của tầng đầu ra: 8
- Ngưỡng đánh giá kết quả là 0.5
- Số noron lớp ẩn : 100 noron
- Tốc độ học là 0.3
- Ngưỡng để thoát khỏi vòng lặp là 100000


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status