Mạng neural nhân tạo (Artificial Neural Networks : ANN) ra đời xuất phát từ ý tưởng mô phỏng hoạt động của bộ não con người. Mạng noron nhân tạo là sự tái tạo bằng kỹ thuật những chức năng của hệ thần kinh con người với vô số các neural được liên kết truyền thông với nhau qua mạng.Giống như con người , ANN được học bởi kinh nghiệm, lưu những kinh nghiệm đó và sử dụng trong những tình huống phù hợp. Mạng neural trong một vài năm trở lại đây đã được nhiều người quan tâm và đã áp dụng thành công trong nhiều lĩnh vực khác nhau, như tài chính, y tế, địa chất và vật lý. Thật vậy, bất cứ ở đâu có vấn đề về dự báo, phân loại và điều khiển, mạng neural đều có thể ứng dụng được. Ví dụ như khả năng nhận dạng mặt người trong các hệ thống quản lý thông tin liên quan đến con người (quản lý nhân sự ở các công sở, doanh nghiệp; quản lý học sinh, sinh viên trong các trường trung học, đại học và cao đẳng;… ); các 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 cuộc cách mạng thực sự trong việc thông minh hóa và vạn năng hóa các bộ điều khiển kỹ thuật cao cho cả hiện nay và trong tương lai. Ví dụ như ứng dụng tự động điều khiển hệ thống lái tàu, hệ thống dự báo sự cố,… Mạng neural dựa trên việc mô phỏng cấp thấp hệ thống neural sinh học. Trong tương lai với sự phát triển mô phỏng neural sinh học, chúng ta có thể có loại máy tính thông minh thật sự. Trong phạm vi đề cập những gì liên quan đến kiến thức cơ sở để làm đồ án, chúng em chỉ xin trình bày những vấn đề có liên quan, những kiến thức được sử dụng phục vụ cho việc hoàn thành đồ án.
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ơng có 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 hồ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 tố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 Ngồ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 tố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ị ln ln weight ln ln 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ơ hồn tồ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 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= 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ố 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 khơng thể 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 khơng 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 tố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 q 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 tốn tồn cục Các tố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 đốn 50%, weights có giá trị hồn tồn ngẫu nhiên Nếu nơron đốn khơng cần làm cả, nơron đố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 đố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ó qn 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 hồn tồ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 thơi 2.Thuật Tốn Huấn Luyện Mạng 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 Trong đồ án , chúng em sử dụng mạng feed-forward thuật toán lan truyền ngược sai số Back Propagation để xử lý toán 2.1.Thuật Toán Lan Truyền Ngược Back Propagation Đây phương pháp thông dụng để huấn luyện cho mạng nơron truyền thẳng nhiều lớp Có thể áp dụng cho mạng truyền thẳng với hàm chuyển hàm lỗi khả vi Tiêu chuẩn huấn luyện: Làm cho sai số đầu nhỏ tốt Triết lý phương pháp: dựa đầu để điều chỉnh trọng số lớp ra, sau dựa tính tốn lớp để điều chỉnh trọng số lớp ẩn Huấn luyện mạng neural nhiều lớp sử dụng thuật toán Lan truyền ngược gồm hai q trình: Q trình truyền tuyến tính q trình truyền ngược: Q trình truyền tuyến tính: Dữ liệu từ lớp nhập qua lớp ẩn đến lớp xuất để: Thay đổi giá trị trọng số liên kết W neural mạng biểu diễn liệu học Tìm khác giá trị thật hàm mẫu mà mạng tính kết dự đoán mạng gọi lỗi (học có giám sát) Q trình truyền ngược: Giá trị lỗi truyền ngược lại cho trình huyến luyện(học) tìm trọng số Wi để lỗi nhỏ Cơng thức tính áp dụng cụ thể cho toán đề cập phần I.2 Chương Những hạn chế phương pháp lan truyền ngược: Ngồi thành cơng giải thuật học lan truyền ngược, có số khía cạnh làm cho giải thuật trở nên chưa bảo đảm lúc tốt Khó khăn chủ yếu q trình huấn luyện lâu Có thể nhịp độ học động lực không tối ưu Sự sai sót việc huấn luyện nói chung xuất từ hai nguồn: mạng liệt cực tiểu địa phương Thông tin sai số lan truyền ngược qua mạng để điều chỉnh lại trọng số vòng lặp l -Công thức điều chỉnh trọng số với liên kết noron thứ j lớp ẩn noron thứ i lớp lần lặp l+1: (l+1