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

c bằng phương pháp thống kê Dùng mạng Neural_ mạng Hamming (Có Source Code)

5 398 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 136,5 KB

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 dạng đối tượng là một vấn đề tương đối rộng, trong đó có 2 vấn đề cơ bản:Vấn đề 1: làm thế nào để trích chọn các đặc trưng của đối tượngVấn đề 2: khi có thông tin mẫu và đặc trưng rồi thì làm thế nào để đưa ra kết luận về đối tượngTrong báo cáo em trình bày một trong số các phương pháp để giải quyết vấn đề 2: đó là phương pháp dùng mạng neural, cụ thể là dùng mạng Hamming để nhận dạng ký tự

Trang 1

Chủ đề

Nhận dạng một số ký tự bằng phương pháp thống kê

Dùng mạng Neural_ mạng Hamming

I Đặt vấn đề:

Nhận dạng đối tượng là một vấn đề tương đối rộng, trong đó có 2 vấn đề cơ bản:

Vấn đề 1: làm thế nào để trích chọn các đặc trưng của đối tượng

Vấn đề 2: khi có thông tin mẫu và đặc trưng rồi thì làm thế nào để đưa

ra kết luận về đối tượng

Trong báo cáo em trình bày một trong số các phương pháp để giải quyết vấn

đề 2: đó là phương pháp dùng mạng neural, cụ thể là dùng mạng Hamming

để nhận dạng ký tự

II Nội dung

Mạng Hamming được thiết kế để giải bài toán nhận dạng mẫu nhị phân (mỗi phần tử trong vecto đầu vào chỉ nhận 2 giá trị là 1) Mạng này có 2 lớp là lớp truyền thẳng và lớp hồi quy

Ý tưởng của phương pháp dùng mạng Hamming là quyết định xem vecto nguyên mẫu nào gần với vecto đầu vào nhất Quyết định này biểu thị ở đầu

ra của lớp hồi qui

1 Mô hình mạng

Dưới đây là mô hình một mạng Hamming chuẩn:

Mạng Hamming gồm có 2 lớp:

Lớp 1: lớp truyền thẳng Thực hiện một phép tương quan giữa vecto đầu vào và vecto nguyên mẫu ( tích trong)

Lớp 2: lớp hồi quy Thực hiện phép thi đấu để xác định vecto nguyên mẫu nào gần vecto đầu vào nhất

Số neural trong lớp thứ nhất bằng số neural trong lớp thứ 2

Cụ thể:

- Lớp truyền thẳng:

Trang 2

Mố hình trọng số trong lớp thứ nhất được thiết lập từ chính các nguyên mẫu; nếu ta coi mỗi nguyên mẫu là một vecto 1 chiều thì trọng số W1 là một

ma trận có các hàng chính là các vecto nguyên mẫu

Lớp truyền thẳng sử dụng hàm tuyến tính

a1 = purelin ( W1p + b1) = W1p + b1

trong đó mỗi phần tử của vecto bias b1 bằng R ( R là số phần tử hay số chiều của vecto vào), để đảm bảo giá trị ra của lớp 1 không âm

W1p = ||W1|| ||p|| cos θ lớn nhất khi θ = 0, khi đó vecto nguyên mẫu và vecto vào gần nhau nhất và tương ứng với khoảng cách Hamming là nhỏ nhất ( khoảng cách Hamming được định nghĩa là số thành phần khác nhau của 2 vecto, chỉ áp dụng với vecto nhị phân)

- Lớp hồi quy:

Lớp hồi quy của mạng Hamming được coi như là một lớp thi đấu Đầu vào của lớp này chính là đầu ra của lớp 1 Sau đó các neural thi đấu với nhau

để tìm ra neural thắng cuộc là neural gần với đầu vào nhất

Các phương trình mô tả sự thi đấu là:

a2(0)=a1 (khởi tạo)

a2(k+1) = poslin(W2 a2(k));

W2 là ma trận có các phần tử trên đường chéo chính bằng 1 các phần

tử còn lại bằng – ε, với 0 < ε < 1/(S -1) S là số neural trong lớp hồi quy

F(x)= poslin(x) =

Giải thích vì sao 0 < ε < 1/(S -1) ?

Vì nếu ε > 1/(S -1) thì tổng giá trị các thành phần trong ma trận trọng số W2 nhỏ hơn 0 Dẫn tới khi tính W2 a2 có thể các thành phần vecto tích sẽ âm, xảy ra khi các thành phần a1 chênh lệch nhau không nhiều qua hàm poslin ta sẽ thu được đầu ra lớp 2 chứa tất cả các thành phần đều bằng 0

2 Huấn luyện mạng

Mạng Hamming học dựa trên nguyên tắc học không giám sát

Điểm khác biệt giữa học có giám sát và học không giám sát là: trong học

có giám sát thì ta sử dụng thông tin đầu ra mong muốn tương ứng với đầu vào, tức là ta đã biết trước đầu ra đích và thay thế đầu ra thực sự Còn học không giám sát thì ta chỉ sử dụng thông tin đầu vào và thông tin trước đó

mà không biết trước đầu ra đích, hay không đòi hỏi bất cứ thông tin gì về đầu ra đích

Lớp truyền thẳng:

Tiến hành 2 công việc: huấn luyện để tìm ra các nguyên mẫu đại diện cho các nhóm; huấn luyện để có được đầu ra cho lớp truyền thẳng

Trang 3

1) Huấn luyện để tìm nguyên mẫu đại diện cho các nhóm

Ta áp dụng luật instar

Input: các ảnh ký tự mẫu cho các ký tự

Output: nguyên mẫu cho mỗi ký tự

Train:

a= hardlin(Wp + b );

W(0) được khởi tạo ngẫu nhiên Tại bước thứ k:

W(k)= W(k-1) + ∝ a(k) (p(k) – W(k-1)) Tiến hành cho đến khi W hội tụ ta sẽ thu được trọng số đại diện cho cả nhóm mẫu đưa vào

Mô tả chất lượng của luật instar

Do một instar chỉ dùng cho một lớp mẫu, tức là các vecto mẫu vào nhìn chung sai khác it nên đảm bảo tính hội tụ cho instar

Nhận xét: trong trường hợp các nhóm mẫu có sự chênh lệch nhau không lớn thì các vecto nguyên mẫu thu được sẽ có khoảng cách gần nhau Vì vậy khi xét tương quan với đầu vào sẽ gây ra sự nhầm lẫn

• Khi α = 0 thì W(k) = W(k-1) vecto trọng số không dịch

chuyển; điều này dẫn đến khi ta cho α→0 thì hệ thống sẽ lâu đạt được trạng thái ổn định, song khi đạt được trạng thái ổn định thì vecto trọng số sẽ có ổn định quanh giá trị trung tâm

• Khi α = 1 thì W(k) = p(k) trùng với vecto đầu vào Như vậy hệ thống nhanh đạt giá trị ổn định nhưng giá trị này dễ bị dao động khi nó tiếp nhận một đầu vào của lớp mẫu, dẫn đến khi ta cần nhận dạng một đầu vào thì dễ xảy ra nhầm lẫn

2) Huấn luyện tìm đầu ra cho lớp truyền thẳng

Input: p

Output: a1

Sử dụng các nguyên mẫu thu được ở trên để hình thành nên ma trận trọng số W1

Tính đầu ra của lớp 1:

a1 = W1 p + b

với số chiều của a1 chính là số vecto nguyên mẫu được nhận dạng Lớp hồi quy:

Trang 4

Input: a1

Output: a2

Train:

a2(0)=a1 (khởi tạo) tại bước thứ k

a2(k+1) = poslin(W2 a2(k));

thuật toán dừng khi vecto đầu ra hội tụ

khi đó thành phần max của a2 sẽ cho tương ứng vecto nguyên mẫu gần với vecto vào nhất và đó là kết quả nhận dạng ta thu được chứng minh tính hội tụ của a2 :

ta thấy với mỗi thành phần của a2 trong phép biến đổi trên:

a2

i(k+1) = poslin ( a2

với điều kiện 0 < ε < 1/(S -1) thì sau mỗi bước giá trị a2

i lại bị giảm đi các thành phần sẽ giảm đến khi nào chỉ còn một giá trị lớn nhất lớn hơn 0 và các phần tử còn lại đều bằng 0 Như vậy khi đó a2 hội tụ

3 Mô tả chương trình:

- Load ảnh vào

- Dò tách ký tự trong ảnh ( chỉ làm với trường hợp ảnh chứa duy nhất 1

kí tự)

- Chuẩn hóa ký tự theo một kích thước chuẩn 80 x 120

- Huấn luyện cho mạng dựa trên cơ sở tập mẫu được chuẩn hóa và các luật học trình bày trên

 Những nguyên mẫu thu được trong quá trình học được lưu lại

 Khi cần nhận dạng một ký tự vào thì load các nguyên mẫu ra để tiến hành học tiếp

- Đưa ra kết luận về ký tự ứng với ảnh đưa vào

4 Kết quả áp dụng thực tế

Trong báo cáo em trình bày kết quả khi áp dùng mạng Hamming để nhận dạng ký tự

Trong chương trình em mới chỉ nhận dạng với 3 chữ cái A,B,Z,E,C,K Lượng mẫu ban đầu để cho vào học với các mẫu là không nhiều song cho kết quả nhận được khá tốt

Trang 5

Ví dụ: khi viết chữ A bị méo hay biên bị nhòe thì chương trình đều có thể nhận ra Nếu đưa vào một ký tự thì nó trả về ký tự mẫu giống với ký tự đó nhất

Điểm hạn chế:

- chương trình còn nhận nhầm ký tự Ví dụ: cùng một chữ Z nếu viết nét mảnh thì bị nhận nhầm thành chữ A, nhưng khi cho nét đậm hơn là lại

có thể nhận ra đó là chữ Z

- Chương trình thử nghiệm với càng nhiều ký tự thì khả năng bị nhầm lẫn cao lên

- Chương trình mới chỉ giải quyết với ảnh mà chỉ chứa một ký tự và nền

là tương đối đồng nhất

- Mức độ hoàn thành mới ở mức độ minh họa

5 Hướng phát triển

Nâng cao khả năng làm việc của chương trình với nhiều ký tự và cả các chữ số

Nhận dạng một đoạn ảnh văn bản

Ngày đăng: 17/10/2014, 15:48

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w