Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 33 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
33
Dung lượng
647,43 KB
Nội dung
TIỂU LUẬN : ỨNG DỤNG MẠNG NEURAL TRONG NHẬN DẠNG KÝ TỰ QUANG HỌC GVHD : TS Đỗ Phúc Sinh viên thực : Lương Vũ Trúc Lâm Tú Bình Huỳnh Thị Phương Oanh Nguyễn Chí Thanh Lời mở đầu Từ đời, máy tính nhanh chóng phát triển đóng vai trò quan trọng nghiên cứu khoa học kỹ thuật đời sống Nhưng máy tính dù có mạnh đến đâu nữa, làm việc theo chương trình hoạch định sẵn lập trình viên.Nó khả liên tưởng, kết nối việc với việc khác, quan trọng hết khả sáng tạo người Vì lý ,mạng noron (Artificial neural networks ) đời từ mục đích cố gắng mô hoạt động trí tuệ người.Từ đời, mạng neuron nhanh chóng phát triển lĩnh vực nhận dạng ,phân loại , giảm nhiễu, dự đoán… Trong phạm vi tiểu luận nhỏ, chúng em xin trình bày “Ứng dụng mạng neuron nhận dạng ký tự quang học” Để hoàn thành tiểu luận này, chúng em hướng dẫn nhiệt tình từ thầy TS Đỗ Phúc.Những giảng tài liệu thầy sở để chúng em hoàn thành tốt báo cáo Chúng em xin chân thành cảm ơn thầy! Nhóm thực Chương : Tổng Quan Về Mạng Neural I.Giới Thiệu Mạng neural nhân tạo (Artificial Neural Networks : ANN) đời xuất phát từ ý tưởng mô hoạt động não người Mạng noron nhân tạo tái tạo kỹ thuật chức hệ thần kinh người với vô số neural liên kết truyền thông với qua mạng.Giống người , ANN học kinh nghiệm, lưu kinh nghiệm sử dụng tình phù hợp Mạng neural vài năm trở lại nhiều người quan tâm áp dụng thành công nhiều lĩnh vực khác nhau, tài chính, y tế, địa chất vật lý Thật vậy, đâu có vấn đề dự báo, phân loại điều khiển, mạng neural ứng dụng Ví dụ khả nhận dạng mặt người hệ thống quản lý thông tin liên quan đến người (quản lý nhân công sở, doanh nghiệp; quản lý học sinh, sinh viên trường trung học, đại học cao đẳng;… ); ngành khoa học hình sự, tội phạm; khoa học tướng số, tử vi,… Kết hợp chặt chẽ với logic mờ, mạng neural nhân tạo tạo nên cách mạng thực việc thông minh hóa vạn hóa điều khiển kỹ thuật cao cho tương lai Ví dụ ứng dụng tự động điều khiển hệ thống lái tàu, hệ thống dự báo cố,… Mạng neural dựa việc mô cấp thấp hệ thống neural sinh học Trong tương lai với phát triển mô neural sinh học, có loại máy tính thông minh thật Trong phạm vi đề cập liên quan đến kiến thức sở để làm đồ án, chúng em xin trình bày vấn đề có liên quan, kiến thức sử dụng phục vụ cho việc hoàn thành đồ án II.Khái Niệm Mạng Neural 1.Sơ lược neural sinh học Sau thành phần cấu trúc nơron não người Hình 1.1 : Mô hình neuron sinh học Trong : Các Soma thân noron Các dendrites dây mảnh, dài, gắn liền với soma, chúng truyền liệu (dưới dạng xung điện thế) đến cho soma xử lý Bên soma liệu tổng hợp lại Có thể xem gần tổng hợp phép lấy tổng tất liệu mà nơron nhận Một loại dây dẫn tín hiệu khác gắn với soma axon Khác với dendrites, axons có khả phát xung điện thế, chúng dây dẫn tín hiệu từ nơron nơi khác Chỉ điện soma vượt giá trị ngưỡng (threshold) axon phát xung điện thế, không trạng thái nghỉ Axon nối với dendrites nơron khác thông qua mối nối đặc biệt gọi synapse Khi điện synapse tăng lên xung phát từ axon synapse nhả số chất hoá học (neurotransmitters); chất mở "cửa" dendrites ions truyền qua Chính dòng ions làm thay đổi điện dendrites, tạo xung liệu lan truyền tới nơron khác Có thể tóm tắt hoạt động nơron sau: nơron lấy tổng tất điện vào mà nhận được, phát xung điện tổng lớn ngưỡng Các nơron nối với synapses Synapse gọi mạnh cho phép truyền dẫn dễ dàng tín hiệu qua nơron khác Ngược lại, synapse yếu truyền dẫn tín hiệu khó khăn Các synapses đóng vai trò quan trọng học tập Khi học tập hoạt động synapses tăng cường, tạo nên nhiều liên kết mạnh nơron Có thể nói người học giỏi có nhiều synapses synapses mạnh mẽ, hay nói cách khác, liên kết nơron nhiều, nhạy bén 2.Mạng Neural Nhân Tạo -Noron nhân tạo đơn vị tính toán có nhiều đầu vào đầu Hình 1.2 : Mô hình neuron nhân tạo mức đơn giản Nơron hoạt động sau: giả sử có N inputs, nơron có N weights (trọng số) tương ứng với N đường truyền inputs Nơron lấy tổng cótrọng số tất inputs Nói có nghĩa nơron lấy input thứ nhất, nhân với weight đường input thứ nhất, lấy input thứ hai nhân với weight đường input thứ hai v.v , lấy tổng tất kết thu Đường truyền có weight lớn tín hiệu truyền qua lớn, xem weight đại lượng tương đương với synapse nơron sinh học Có thể viết kết lấy tổng nơron sau: Kết so sánh với threshold t nơron, lớn t nơron cho output 1, nhỏ output Ngoài ta trừ tổng nói cho t, so sánh kết thu với 0, kết dương nơron cho ouput 1, kết âm output Dưới dạng toán học ta viết output nơron sau: Trong f hàm Heaviside: f gọi threshold function hay transfer function nơron, giá trị (-t) gọi bias hay offset nơron Nếu đưa thêm input vào, input thứ 0, có giá trị luôn weight luôn bias (-t) output nơron viết dạng: Lưu ý số tổng trước 3.Kiến Trúc Mạng Là hệ thống bao gồm nhiều phần tử xử lý đơn giản (hay gọi neural) tựa neural thần kinh não người, hoạt động song song nối với liên kết neural Mỗi liên kết kèm theo trọng số đó, đặc trưng cho tính kích hoạt ức chế neural Có thể xem trọng số phương tiện để lưu trữ thông tin dài hạn mạng neural nhiệm vụ trình huấn luyện mạng cập nhật trọng số có thêm thông tin mẫu học Hay nói cách khác, trọng số điều chỉnh cho dáng điệu vào mạng mô hoàn toàn phù hợp với môi trường xem xét 3.1 Mạng Một Tầng Mạng tầng với S nơ-ron minh họa hình 3.1 Chú ý với đầu vào số R đầu vào nối với nơ-ron ma trận trọng số có S hàng Một tầng bao gồm ma trận trọng số, cộng, vector ngưỡng b, hàm chuyển vector đầu a bi Mỗi phần tử vector đầu vào p nối với nơ-ron thông qua ma trận trọng số W Mỗi nơ-ron có ngưỡng , cộng, hàm chuyển f đầu Cùng với nhau, đầu tạo thành vector đầu a Thông thường số lượng đầu vào tầng khác với số lượng nơ-ron.(R#S) Có phải tất nơ-ron tầng phải có hàm chuyển giống ? Câu trả lời không; bạn định nghĩa nơ-ron tầng có hàm chuyển khác cách kết hợp song song hai mạng nơ-ron giống Cả hai có đầu vào giống nhau, mạng sản xuất vài đầu Ma trận trọng số cho phần tử vector đầu vào W: W= w1,1 w1, w1, R w2,1 w2, w2, R wS ,1 wS , wS , R pS a = f(Wp+b) Hình 3.1 : Mô hình mạng lớp Các số hàng phần tử ma trận W nơ-ron đích kết hợp với trọng số đó, số cột cho biết đầu vào cho trọng số Vì vậy, số w3, nói trọng số đầu vào thứ nối với nơ-ron thứ 3.2 Mạng Đa Tầng Hình 3.2 :Ví dụ mô hình mạng đa tầng Mô hình mạng neural gồm lớp: lớp nhập (input), lớp ẩn(hidden) lớp xuất (output) Mỗi nút lớp nhập nhận giá trị biến độc lập chuyển vào mạng Dữ liệu từ tất nút lớp nhập tích hợp – ta gọi tổng trọng số – chuyển kết cho nút lớp ẩn Gọi “ẩn” nút lớp liên lạc với nút lớp nhập lớp xuất, có người thiết kế mạng biết lớp (người sử dụng lớp này) Các nút lớp xuất nhận tín hiệu tổng trọng hóa từ nút lớp ẩn Mỗi nút lớp xuất tương ứng với biến phụ thuộc III.Huấn luyện mạng neural 1.Phương Pháp Học Mạng neural nhân tạo theo việc xử lý thông tin não người, đặc trưng mạng có khả học, khả tái tạo hình ảnh liệu học Trong trạng thái học thông tin lan truyền theo hai chiều nhiều lần để học trọng số Có kiểu học chính, kiểu học tương ứng với nhiệm vụ học trừu tượng Đó học có giám sát (có mẫu), học không giám sát học tăng cường Thông thường loại kiến trúc mạng dùng cho nhiệm vụ 1.1.Học có giám sát Một thành phần thiếu phương pháp có mặt người thầy (ở bên hệ thống) Người thầy có kiến thức môi trường thể qua tập hợp cặp đầu vào - đầu biết trước Hệ thống học (ở mạng neural) phải tìm cách thay đổi tham số bên (các trọng số ngưỡng) để tạo nên ánh xạ có khả ánh xạ đầu vào thành đầu mong muốn Sự thay đổi tiến hành nhờ việc so sánh đầu thực đầu mong muốn 1.2.Học không giám sát Trong học giám sát, ta cho trước số liệu x hàm chi phí cần cực tiểu hóa hàm liệu x đầu mạng, f – hàm chi phí định phát biểu toán Phần lớn ứng dụng nằm vùng toán ước lượng mô hình hóa thống kê, nén, lọc, phân cụm 1.3.Học tăng cường Dữ liệu x thường không tạo trước mà tạo trình agent tương tác với môi trường Tại thời điểm t, agent thực hành động yt môi trường tạo quan sát xt với chi phí tức thời Ct, theo quy trình động (thường không biết) Mục tiêu sách lược lựa chọn hành động để cực tiểu hóa chi phí dài hạn đó, nghĩa chi phí tích lũy mong đợi Quy trình hoạt động môi trường chi phí dài hạn cho sách lược thường không biết, ước lượng Mạng neural nhân tạo thường dùng học tăng cường phần thuật toán toàn cục Các toán thường giải học tăng cường toán điều khiển, trò chơi nhiệm vụ định (sequential decision making) khác 1.4.Ví dụ Giả sử muốn dạy nơron phân biệt chữ A B Khi đưa input A muốn nơron cho output 1, input B nơron phải cho output Hãy bắt đầu cách cho weights giá trị ngẫu nhiên, lúc nơron chưa biết hết Bây input chữ A Nơron lấy tổng có trọng số inputs so sánh kết với Nếu kết dương output 1, âm output Khả nơron đoán 50%, weights có giá trị hoàn toàn ngẫu nhiên Nếu nơron đoán không cần làm cả, nơron đoán sai (output 0), phải tăng weights inputs hoạt động (các inputs khác không) lên, cho lần tới tổng có trọng số vượt threshold tạo nên output Ngược lại, đưa chữ B vào nơron đoán sai (output 1), ta phải giảm weights inputs hoạt động xuống, cho lần tới tổng có trọng số nhỏ threshold buộc nơron phải cho output Như vậy, dạy chữ B thành công nơron có quên chữ học trước A không ? Không, input chữ khác nhóm đường inputs hoạt động khác không hoàn toàn trùng Nhớ biến đổi weights inputs hoạt động Chúng ta việc lập lập lại trình dạy nơron học thuộc -Quá trình phân tích ảnh thực chất phân tích chuỗi văn ảnh thành ký tự Việc phân tích dựa việc nhận dạng pixel màu ký tự ảnh với liệu đầu vào xử lý chuyển thành định dạng *.bmp có pixel điểm đen RGB(0,0,0) điểm trắng RGB(255, 255, 255) Quá trình phân tích ảnh thực sau : -Phân tích văn thành dòng văn -Phân tích dòng văn thành ký tự ảnh 1.1.Tách dòng kí tự - Việc tách dòng kí tự sở để tiến hành tách kí tự cách dễ dàng nhanh chóng Thuật toán : -Bắt đầu từ điểm ảnh (x, y) file ảnh (0,0) , gán số dòng xét lines =0; a.-Xác định giới hạn dòng : Quét hết chiều rộng ảnh, giá trị y ( chạy x