Trong khuôn khổ của một luận văn thạc sĩ tôi chọn đề tài: “Nhận dạng lá Ngón sử dụng mạng nơron lan truyền ngược” nhằm nghiên cứu về phương pháp nhận dạng mẫu trong xử lý ảnh và xây dựng
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI
HOÀNG THỊ MAI
NHẬN DẠNG LÁ NGÓN SỬ DỤNG MẠNG NƠRON LAN
TRUYỀN NGƯỢC
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Chuyên nghành: Khoa học máy tính
Người hướng dẫn khoa học PGS.TS ĐỖ NĂNG TOÀN
Trang 2LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Chuyên nghành: Khoa học máy tính
Mã số chuyên ngành: 60.48.01.01
Người hướng dẫn khoa học PGS.TS ĐỖ NĂNG TOÀN
Trang 3LỜI CẢM ƠN
Để hoàn thành chương trình cao học và viết luận văn này, em đã nhậnđược sự hướng dẫn, giúp đỡ và góp ý nhiệt tình của quý Thầy, Cô Khoa Côngnghệ thông tin trường Đại học Sư phạm Hà Nội
Trước hết, tôi xin chân thành cảm ơn đến quý Thầy, Cô Khoa Côngnghệ thông tin trường Đại học Sư phạm Hà Nội, đặc biệt là những Thầy Cô
đã tận tình dạy bảo em suốt thời gian học tập Đồng thời, tôi xin chân thànhcảm ơn các Thầy, Cô trường Đại học Tây Bắc đã tạo điều kiện về cơ sở vậtchất để tôi có thể hoàn thành chương trình học tập tại trường
Em xin gửi lời biết ơn sâu sắc và chân thành nhất đến PGS.TS ĐỗNăng Toàn đã dành rất nhiều thời gian và tâm huyết hướng dẫn nghiên cứu vàgiúp tôi hoàn thành luận văn tốt nghiệp
Cuối cùng, em xin gửi lời cảm ơn tới cơ quan, bạn bè đồng nghiệp, giađình và người thân đã cùng chia sẻ giúp đỡ, động viên, tạo mọi điều kiệnthuận lợi để tôi hoàn thành nhiệm vụ học tập và nghiên cứu
Mặc dù có nhiều cố gắng hoàn thiện luận văn bằng tất cả sự nhiệt tình
và năng lực của mình, tuy nhiên không thể tránh khỏi những thiếu sót, rấtmong nhận được những đóng góp quý báu của quý Thầy Cô và các bạn
Hà Nội, tháng 10 năm 2015
Học viên
Hoàng Thị Mai
Trang 4LỜI CAM ĐOAN
Tôi xin cam đoan số liệu và kết quả nghiên cứu trong luận văn là trungthực và không sao chép Các thông tin trích dẫn trong luận văn này đã được chỉ rõ nguồn gốc tham khảo
Tác giả luận văn
Hoàng Thị Mai
Trang 51.1.1.3 Lịch sử của lĩnh vực nhận dạng mẫu 4
1.1.2 Quy trình hoạt động của một hệ thống nhận dạng mẫu 5
Trang 62.2.1 Lan truyền ngược độ nhậy cảm 12
2.2.1.1 Sử dụng thuật toán lan truyền ngược 15
Trang 7Hình 3.5 Mô hình rron trong bài toán nhận dạng mẫu 37Hình 3.6 Giao diện hệ thống nhận dạng lá cây 39Hình 3.7 Giao diện nhận dạng đặc trưng của ảnh cây 40Hình 3.8 Giao diện chức năng huấn luyện mạng nơron 41Hình 3.9 Giao diện chức năng nhận dạng ảnh lá cây 42Hình 3.10 Kết quả nhận dạng khi tham số khoảng cách giữa
Trang 8Bảng 3.2 Kết quả thử nghiệm nhận dạng lá cây 44
Trang 9PHẦN MỞ ĐẦU
1 Lý do chọn đề tài
Cây lá ngón, tên khoa học Gelsemium elegans, thuộc họ Hoàng đằng(Gelsemiaceae) là một loại cây leo, thân quấn, màu xanh dài tới 12 m, mọchoang phổ biến ở vùng rừng núi nước ta Đây là một trong bốn cây có độc tốcao nhất (thuốc độc bảng A) Người ta cho rằng chỉ cần ăn 3 lá là đủ gây chếtngười với các triệu chứng ngộ độc: Khát nước, đau họng, chóng mặt, hoa mắt,buồn nôn… sau đó bị mỏi cơ, thân nhiệt hạ, huyết áp hạ, răng cắn chặt, sùibọt mép, đau bụng dữ dội, tim đập yếu, khó thở, đồng tử giãn và chết rấtnhanh do ngừng hô hấp Mức độ độc của cây giảm theo thứ tự: rễ, lá, hoa,quả, thân cây Các nhà khoa học đã tìm thấy 17 đơn phân ancaloit gây độcđược chiết ra từ lá ngón Hàng năm ở nước ta xảy ra nhiều vụ ngộ độc cây Lángón do sử dụng nhầm lẫn, đầu độc, tự sát Qua đó chúng ta nhận thấy rằngvẫn có không ít người dân nhầm lẫn lá ngón với các loại lá thuốc khác Vìmức độ nguy hiểm của loài cây này, là một học viên đang tham gia học côngnghệ thông tin, tôi rất muốn đóng góp kiến thức chuyên ngành của mình để cóthể giúp mọi người phân biệt được lá ngón Trong khuôn khổ của một luận
văn thạc sĩ tôi chọn đề tài: “Nhận dạng lá Ngón sử dụng mạng nơron lan
truyền ngược” nhằm nghiên cứu về phương pháp nhận dạng mẫu trong xử lý
ảnh và xây dựng bài toán nhận dạng giúp
2 Mục đích, nhiệm vụ nghiên cứu
Mục đích của luận văn này là trình bày một phương pháp nhận dạng vậtmẫu dựa trên mạng nơron lan truyền ngược Theo đó, tôi sẽ lần lượt trình bày
về cơ sở lý thuyết của việc nhận dạng mẫu trong xử lý ảnh, quy trình hoạtđộng của một hệ thống nhận dạng mẫu
Trang 10sức mới mẻ này, tôi mong luận văn này sẽ trình bày một sự hiểu biết tươngđối về xử lý ảnh nói chung và nhận dạng lá ngón nói riêng Đồng thời, hyvọng rằng trong một tương lai không xa sẽ có điều kiện ứng dụng nhữngnghiên cứu đã đạt được trong luận văn này vào thực tế.
3 Đối tượng nghiên cứu
Trong luận văn này, tôi tìm hiểu cơ bản về phần lý thuyết nhận dạng mẫutrong xử lý ảnh và đi sâu vào việc nhận dạng lá Ngón sử dụng mạng nơron lantruyền ngược
4 Nội dung nghiên cứu
Giới thiệu về các phương pháp chung nhất trong nhận dạng mẫu bằngmạng nơron lan truyền ngược
Tìm hiểu tổng quan về lý thuyết xử lý ảnh
Cài đặt bài toán về nhận dạng mẫu bằng mạng nơron lan truyền ngược
5 Phạm vi nghiên cứu
Lý thuyết về xử lý ảnh–nhận dạng mẫu bằng mạng nơron lan truyền ngược.Một số thuật toán
6 Phương pháp nghiên cứu
Dự kiến luận văn sử dụng hai phương pháp nghiên cứu chính là:
Phương pháp đọc tài liệu, phân tích, tổng hợp
Phương pháp thực nghiệm, kiểm tra, đánh giá
Trang 11Chương 1: KHÁI QUÁT VỀ NHẬN DẠNG MẪU
VÀ BÀI TOÁN NHẬN DẠNG LÁ NGÓN 1.1 Khái quát về nhận dạng mẫu
1.1.1 Khái niệm nhận dạng mẫu
1.1.1.1 Mẫu là gì?
Mẫu (pattern) có thể phân thành 2 loại: mẫu trừu tượng và mẫu cụ thể.Các ý tưởng, lập luận và khái niệm… là những ví dụ về mẫu trừu tượng, nhậndạng các mẫu như vậy thuộc về lĩnh vực nhận dạng khái niệm Các mẫu cụthể bao gồm các đối tượng có tính không gian, thời gian và hình ảnh… Cácđối tượng vật lý, chữ ký, chữ viết, ký hiệu, ảnh, đoạn sóng âm thanh, điện não
đồ hoặc điện tâm đồ, hàm số… là những ví dụ về mẫu cụ thể
1.1.1.2 Nhận dạng mẫu là gì?
Không có một định nghĩa thống nhất cho nhận dạng mẫu (Patternrecognition) nhưng điều này không gây tranh cãi gì trong giới nghiên cứu.Sau đây là một số định nghĩa theo ngữ cảnh nghiên cứu:
Duda Et Al: Nhận dạng mẫu là việc quy những đối tượng vật lí hay sự
kiện vào một loại (nhóm) nào đó đã xác định từ trước
Jiirgen Schiirmann: Nhận dạng mẫu là việc gán nhãn w cho một quan sát x.
Selim Aksoy: Nhận dạng mẫu là việc nghiên cứu cách làm cho một máy
có thể thực hiện:
+ Quan sát môi trường
+ Học cách phân biệt được các mẫu cần quan tâm
+ Đưa ra các quyết định đúng đắn về loại (nhóm) của các mẫu
Trang 121.1.1.3 Lịch sử của lĩnh vực nhận dạng mẫu
Nhận dạng mẫu đã có lịch sử khá lâu đời, trong thập kỷ 60 của thế kỷ
20 hầu hết vấn đề nhận dạng mẫu dừng lại ở việc nghiên cứu lí thuyết thống
kê Về sau với sự phát triển mạnh mẽ của máy tính thì phần thực hiện cũngtrở nên đơn giản hơn Khi mà xã hội chúng ta đang phát triển từ thời kỳ côngnghiệp sang hậu công nghiệp, đối với vấn đề tự động hóa thì việc thông tinnhận được và xử lý một cách tự động là rất cần thiết Khuynh hướng này làmcho vấn đề nhận dạng mẫu trở nên rất quan trọng trong ứng dụng kỹ thuật vàtrong nghiên cứu ngày nay Nhận dạng mẫu tích hợp hầu hết vào các hệ thốngmáy móc thông minh, có khả năng tự đưa ra quyết định để giải quyết vấn đề
1.1.1.4 Ứng dụng của nhận dạng mẫu
Nhận dạng mẫu có rất nhiều ứng dụng trong đời sống cũng như trongkhoa học kỹ thuật:
Trong nông nghiệp: Nhận dạng mẫu được sử dụng để phân tích mùa
màng, dự báo các đại dịch như châu chấu, sâu bệnh, cúm gia cầm, cúm lợn…Ngoài ra nhận dạng mẫu cũng còn được dùng để phân loại đất từ các ảnhđược chụp từ vệ tinh
Khám phá tri thức trên Web: Ngày nay việc bùng nổ lượng thông tin
khổng lồ trên Internet làm cho việc tìm kiếm và lọc thông tin trên mạng là hếtsức quan trọng Nhận dạng mẫu được nhúng vào các máy tìm kiếm để trả lạikết quả tìm kiếm thông minh và chính xác Ngoài ra nó cũng được sử dụngtrong các hệ thống lọc thư rác, nhận dạng tự động các trang web đen
Trong lĩnh vực y học: Phân tích và biểu diễn gene, phân loại sinh học
dựa trên thông tin di truyền
Trang 131.1.1.5 Các bài toán nhận dạng mẫu
Trên thực tế thường gặp các bài toán nhận dạng mẫu sau:
Phân lớp (classify): Dựa trên một tập con đã biết nhãn, đưa ra một cáchphân các đối tượng thuộc tập nền thành các lớp
Phân cụm (cluster): Chia tập đối tượng thành nhóm sao cho các đốitượng trong mỗi nhóm tương đối giống nhau còn các đối tượng khác nhóm thìkhác nhau
Phân tích hồi quy (regression) hay nhận dạng hàm: Xác định một biến(hàm) qua tập các biến khác
Nhận thực (Identify): Xác định đối tượng trong tập đã cho có là đốitượng đang quan tâm hay không Chẳng hạn như nhận thực vân tay, nhận thựcmặt người…
Mô tả: Mô tả các đối tượng dưới hình thức dễ phân tích Ví dụ đốitượng mô ta điện tâm đồ dưới dạng biểu đồ đặc trưng hoặc xâu mã
1.1.2 Quy trình hoạt động của một hệ thống nhận dạng mẫu
Mặc dù có rất nhiều loại bài toán nhận dạng mẫu, tuy nhiên để giảiquyết một bài toán thì một hệ thống nhận dạng mẫu phải thực hiện qua cácbước cơ bản dưới đây:
Trang 14Hình 1.1 Các bước xử lý trong hệ thống nhận dạng mẫu
1.1.2.1 Thu nhận tín hiệu
Nếu là hệ nhận dạng đối tượng vật lý, ở đầu vào của hệ thống thường làmột loại thiết bị chuyển đổi như máy ghi hình hay ghi âm… Thiết bị này thunhận tín hiệu về đối tượng để nhận dạng Các tín hiệu này thông thường sẽđược số hóa, sau đó sẽ được tiến hành tiền xử lý như: lọc nhiễu, tách ngưỡng,
…
1.1.2.2 Phân đoạn (segmentation)
Phân đoạn là một trong những bài toán rất khó trong nhận dạng mẫu.Chẳng hạn, trong bài toán nhận dạng văn bản in ra dữ liệu text thì giai đoạnphân đoạn chính là việc xác định đâu là vùng dữ liệu text để nhận dạng, tiếp
đó ta phải tách được những vùng có thể là một từ, rồi lại tách tiếp ra từng kýtự… Như vậy có thể nói việc phân đoạn trong bài toán nhận dạng mẫu là quátrình xác định được đâu là vùng dữ liệu cần quan tâm
1.1.2.3 Trích chọn đặc trưng
Ranh giới khái niệm giữa việc trích chọn đặc trưng và phân lớp ở mức
độ nào đó có phần không rõ ràng: một bộ trích chọn đặc trưng lý tưởng phảilàm cho công việc còn lại của bộ phân lớp trở nên dễ dàng Mục tiêu chungcủa bộ trích chọn đặc trưng là dựa trên tín hiệu thu được mô tả các đối tượngbằng các giá trị của chúng mà chúng có giá trị gần xấp xỉ nhau đối với các đốitượng thuộc cùng loại và khác xa nhau nếu khác loại Hơn nữa để tiện xử lýthì càng ít đặc trưng càng tốt Điều này dẫn đến việc phải tìm ra các đặc trưngkhác nhau và chúng không phụ thuộc hoàn cảnh ta thu tín hiệu về đối tượng
Đầu ra của công đoạn này được gọi là vector đặc trưng của đối tượng, thông
Trang 151.1.2.4 Nhận dạng
Nhiệm vụ của thành phần này trong hệ thống là sử dụng các vector đặctrưng được cung cấp từ bước trước (trích chọn đặc trưng) để gắn các đốitượng vào các lớp hoặc phân tích hồi quy hay mô tả đối tượng Các kỹ thuậtthường được sử dụng cho công đoạn nhận dạng đó là: thuật toán k-láng giềnggần nhất, mạng neural, máy vector hỗ trợ SVM… Nói chung, ở bước này gầnnhư đã có công thức xử lý cố định thường không bị phụ thuộc vào bài nhậndạng mẫu cụ thể nào
1.1.2.5 Hậu xử lý
Một bộ nhận dạng hiếm khi chỉ để dùng đơn lẻ Thay vào đó nó thườngdùng để đưa ra thao tác tương ứng, mỗi thao tác mất một chi phí tương ứng.Hậu xử lý sẽ dùng đầu ra của bộ phân lớp để quyết định thao tác tương ứng.Theo quan niệm, cách đơn giản nhất để đánh giá hoạt động của một bộ nhậndạng là xem tỷ lệ nhận dạng sai với các mẫu mới Do đó chúng ta cần phảinhận dạng với tỷ lệ lỗi thấp nhất Tuy nhiên chúng ta cần các thao tác tươngứng phải làm cho tổng chi phí là thấp nhất Có thể phải kết hợp các tri thức đãbiết về chi phí, và nó sẽ có ảnh hưởng đến việc ra các quyết định hành động.Chúng ta cũng cần ước lượng trước chi phí để xem có thỏa mãn hay không
1.2 Bài toán nhận dạng lá ngón
1.2.1 Đặc điểm của lá ngón
Lá ngón (còn gọi là cây co ngón, rút ruột, hoàng đằng, hồ mạn đắng,đoạn trường thảo) khá phổ biến ở miền rừng núi nước ta, ngay cả ở vùng rừngngập mặn – nơi chỉ có một số loài thực vật đặc thù
Trang 16Hầu như tỉnh thành nào cũng có sự xuất hiện của cây lá ngón Tại LâmĐồng, mặc dù điều kiện khí hậu, thổ nhưỡng, độ cao có sự khác biệt rất lớnnhưng tất cả các huyện, thị đều có cây lá ngón: Từ thôn Cao Xinh (Gia Viễn,Cát Tiên) ở độ cao 200m so với mặt nước biển đến thôn Đưng K’Si (ĐạChais, Lạc Dương) 1.500m hay đỉnh núi Lang Biang hơn 1.900m.
Là loài cây ưa sáng nên lá ngón thường mọc chỗ đất trống, bìa rừng,ven đường như đèo Bảo Lộc (TX Bảo Lộc), xã Hòa Bắc (Di Linh), xã Ka Đô(Đơn Dương), Núi Voi (Đức Trọng), xã Đạ Rsal (Đam Rông) …
Lá ngón không những rất giống mà còn mọc gần nhiều cây thuốc vàrau ăn nên dễ dẫn đến sự nhầm lẫn gây hậu quả chết người
Đặc điểm quan trọng để phân biệt là lá ngón có hoa màu vàng, còn hầuhết cây thuốc và rau ăn gần giống lá ngón như là thủ ô nam, bướm bạc cambốt, chè vằng, lài gân, lá bép, lá giang… đều ra hoa màu trắng
Nguy hiểm hơn, các nhà khoa học phát hiện tại khu vực Suối Vàng(Lạc Dương), cây thuốc bướm bạc mọc trong cùng một bụi với lá ngón
Chỉ cần nhầm lẫn bứt vài lá ngón cho vào gói lá thuốc cũng đủ dẫn đếnchết người bởi lá ngón cực độc Theo nhóm tác giả thuộc Khoa Sinh, Đại học
Đà Lạt, “9 phút sau khi uống 3 giọt dung dịch (10g lá ngón tươi/10ml nướccất), chuột đã lăn ra chết”
Với con người, chỉ cần ăn 3 lá ngón hoặc 1 lá ngón với một chút rượu
sẽ bị thiệt mạng Không chỉ lá mà tất cả các bộ phận rễ, thân, hoa, quả và hạtcủa lá ngón đều chứa các chất độc nguy hại
Người bị ngộ độc lá ngón có các triệu chứng khát nước, đau họng,chóng mặt, hoa mắt, buồn nôn… sau đó bị mỏi cơ, thân nhiệt hạ, huyết áp hạ,
Trang 17răng cắn chặt, sùi bọt mép, đau bụng dữ dội, tim đập yếu, khó thở, đồng tửgiãn và chết rất nhanh do ngừng hô hấp.
Sở dĩ ngộ độc lá ngón gây tử vong rất nhanh vì độc tính nội tại của nóquá mạnh Bởi thế, khi có biểu hiện ngộ độc phải lập tức áp dụng kinhnghiệm dân gian như giã thật nhiều cây rau má hoặc rau muống, vắt lấy nướccốt uống để làm giảm độc tính của lá ngón, sau đó đưa đến bệnh viện cấp cứu.
Hình 1.2 Cây lá ngón
đó sẽ áp dụng các phương pháp đúng đắn vào để giải quyết vấn đề được đặtra
Trước hết ta xét mặt thực vật của cây lá ngón với những thành phần sau:
1 Đặc điểm thực vật, định tên khoa học mẫu nghiên cứu
2 Xác định đặc điểm vi phẫu: rễ, thân, lá
Trang 184 Chiết xuất và phân lập alcaloid chính.
5 Nhận dạng alcaloid phân lập được
Có hai phương pháp nhận dạng phổ biến hiện nay là nhận dạng dựatrên đặc trưng của các phần tử trên bề mặt lá ngón như biến đổi GaborWavelet và mạng Neural, SVM,… và nhận dạng dựa trên xét tổng thể toàn bộcây lá ngón như phương pháp PCA, LDA, LFA Trong đó, PCA là phươngpháp trích rút đặc trưng nhằm giảm số chiều của ảnh tuy đơn giản nhưng lạimang lại hiệu quả tốt Nhận dạng lá ngón dùng PCA kết hợp với mạng nơron
là phương pháp mang lại hiệu quả nhận dạng cao bởi nó phát huy được ưuđiểm của PCA và mạng nơron
1.2.3 Các khó khăn trong giải quyết bài toán
Dựa vào đặc điểm nhận dạng cũng như các thành phần độc tính hóahọc trong cây lá ngón đôi khi thực nghiệm sẽ gây ra nhiều khó khăn bất cậptrong việc xử lý vật phẩm như:
1 Nhận diện về mặt thực vật sinh học gây khó khăn do cây lá ngóngiống một số cây khác như cây chè vằng
2 Nhận diện về mặt độc tính hóa học cũng gây ra nhiều khó khăn vìđộc tính của loại cây này giống độc tính của một số cây địa phương khác
Một khó khăn thách thức nữa khi nhận dạng lá ngón bằng mạng nơronlan truyền ngược là: khi dùng mạng nơron chưa có phương pháp luận chungkhi thiết kế cấu trúc mạng cho các bài toán nhận dạng mà phải cần tới kiếnthức của chuyên gia Mặt khác khi xấp xỉ mạng nơron với một hệ phi tuyến sẽkhó khăn khi luyện mạng vì có thể không tìm được điểm tối ưu toàn cục…
Trang 19Chương 2: NHẬN DẠNG LÁ NGÓN SỬ DỤNG MẠNG NƠRON LAN
TRUYỀN NGƯỢC 2.1 Trích chọn đặc trưng của lá ngón
Cây Lá ngón còn có tên là Co ngón, Thuốc rút ruột, Hồ mạn trường,
Hồ mạn đằng, Đại trà đằng, Hoàng đằng, Câu vẫn, Đoạn trường thảo Tênkhoa học là Gelsemium elegans Benth (Medica elegans Gardn) Họ Mã tiền(Loganiaceae)
Cây Lá ngón thuộc loại cây bụi, thân gỗ nhỏ thẳng, dựa vào cây khácdài 10-12m Cành non mầu xanh lục nhạt không có lông Cành già mầuxám nâu nhạt Lá mọc đối không có lông, xanh bóng, lá nguyên, hình trứng,thuôn dài về hai phía, mũi lá nhọn Hoa mọc thành chùm ở kẽ lá hoặc đầucành, hoa mầu vàng, mùa hoa từ tháng 6 – 10 Quả nang thon dài 1cm x0,5cm, mầu nâu xỉn Hạt nhỏ, hình thận, mầu nâu nhạt, có diềm mỏng giúphạt phát tán theo gió
Trang 20Hình 2.1 Hoa cây lá ngón
Mặc dù cây Lá ngón mọc tự nhiên, khá phổ biến ở rừng núi nước ta,Trung Quốc, Bắc Mỹ và có tên là Thuốc rút ruột nhưng nhân dân ta khôngdùng làm thuốc vì là cây cực độc (độc nhất trong các cây độc) Tất cả các bộphận rễ, thân, lá, hoa, quả và hạt đều chứa các chất độc nguy hại Một ngườilớn chỉ ăn nhầm phải ba Lá ngón đã có thể bi ngộ độc chết Người bị ngộ độc
Lá ngón có các triệu chứng mệt mỏi, chóng mặt, buồn nôn, chảy nước bọt(xều bọt mép), đau bụng dữ dội, mỏi cơ, đứng không vững, tim đập yếu, khóthở, đồng tử giãn và chết nhanh
2.2 Mạng nơron lan truyền ngược trong hệ thống nhận dạng lá ngón 2.2.1 Lan truyền ngược độ nhậy cảm
Bây giờ ta cần tính nốt ma trận độ nhậy cảm sm Để thực hiện điều nàychỉ cần sử dụng một áp dụng khác của luật xích Quá trình này cho ta kháiniệm về sự “lan truyền ngược” bởi vì nó mô tả mối quan hệ hồi quy trong đó
độ nhậy cảm sm được tính qua độ nhậy cảm sm+1 của lớp m+1
Trang 21Để dẫn đến quan hệ đó, ta sử dụng ma trận Jacobi sau:
Xét phần tử (i, j) của ma trận trên:
trong đó:
Như vậy, ma trận Jacobi có thể viết lại như sau:
Trang 22trong đó:
Bây giờ ta viết lại quan hệ hồi quy cho độ nhậy cảm dưới dạng ma trận:
Đến đây có thể thấy độ nhậy cảm được lan truyền ngược qua mạng từ lớp cuối cùng trở về lớp đầu tiên:
Cần nhấn mạnh rằng ở đây thuật toán lan truyền ngược lỗi sử dụngcùng một kỹ thuật giảm theo hướng như thuật toán LMS Sự phức tạp duy
Trang 23nhất là ở chỗ để tính gradient ta cần phải lan truyền ngược độ nhậy cảm từ cáclớp sau về các lớp trước như đã nêu trên.
Bây giờ ta cần biết điểm bắt đầu lan truyền ngược, xét độ nhậy cảm sM
tại lớp cuối cùng:
Bởi vì:
nên ta có thể viết:
Ở dạng ma trận sẽ là:
2.2.1.1 Sử dụng thuật toán lan truyền ngược
Trên đây là thuật toán lan truyền ngược cơ bản, sau đây ta sẽ bàn vềcác khía cạnh ứng dụng của thuật toán lan truyền ngược như chọn lựa cấutrúc mạng, sự hội tụ và khả năng tổng quát hóa
Trang 242.2.1.2 Chon lựa cấu trúc mạng
Như ta đã biết, thuật toán lan truyền ngược có thể được sử dụng để xấp
xỉ bất kỳ một hàm số học nào nếu như ta có đủ số nơron trong các lớp ẩn.Mặc dù vậy, phát biểu trên chưa cho ta được một số cụ thể các lớp và sốnơron trong mỗi lớp cần sử dụng Ta sẽ dùng một ví dụ để có được cái nhìnchi tiết hơn về vấn đề này
Ví dụ, ta muốn xấp xỉ hàm số sau:
Trong đó i nhận các giá trị 1, 2, 4 và 8 Khi i tăng thì hàm số cần xét
sẽ trở nên phức tạp hơn do ta sẽ nhận được nhiều chu kỳ của hình sin trongphạm vi [-2, 2] Khi đó, mạng nơron với một số nơron cố định sẽ khó có thểxấp xỉ được hàm nếu i tăng Trong phần sau, ta sẽ sử dụng ví dụ FunctionApproximation trong thư viện của bộ Matlab 5.3 (file nnd11fa.m) Ở đây,mạng sử dụng có 1 lớp ẩn, 1 lớp ra; đương nhiên, mạng có 1 đầu vào và mộtđầu ra Lớp ẩn sử dụng hàm sigmoid, lớp ra dùng hàm đồng nhất:
Số nơron trong lớp ẩn là 4, kết quả xấp xỉ của mạng trong các trườnghợp i = 1, 2, 4, 8 như trong các hình vẽ dưới đây Các đường màu đen là trảlời của mạng, còn các đường mờ hơn là hàm cần xấp xỉ
Trang 25Khi ta tăng số nơron trong lớp ẩn lên thì khả năng xấp xỉ hàm số của mạng sẽ tốt hơn.
Chẳng hạn, xét trường hợp sử dụng 9 nơron trong lớp ẩn và i = 8 ta có được kết quả sau:
Trang 26Điều đó có nghĩa là nếu ta muốn xấp xỉ một hàm số mà có số điểm cầnxấp xỉ là lớn thì ta sẽ cần số nơron lớn hơn trong lớp ẩn.
2.2.1.3 Sự hội tụ
Trong phần trên ta đã thấy các trường hợp mạng nơron không trả lạikết quả chính xác mặc dù thuật toán lan truyền ngược đã thực hiện tối thiểuhóa trung bình bình phương lỗi Điều đó là do khả năng của mạng bị giớihạn bởi số nơron trong lớp ẩn Tuy nhiên, cũng có trường hợp mà thuậttoán lan truyền ngược không cho ta các tham số có thể dẫn đến kết quảchính xác nhưng mạng vẫn có thể xấp xỉ được hàm số Điều này xảy ra là dotrạng thái khởi đầu của mạng, sau khi luyện, mạng có thể rơi vào điểm cựctiểu toàn cục hoặc rơi vào điểm cực tiểu địa phương
Cần chú ý rằng trong thuật toán trung bình bình phương tối thiểu, điểmcực trị toàn cục là luôn tồn tại bởi lẽ hàm trung bình bình phương lỗi củathuật toán trung bình bình phương tối thiểu là một hàm bậc hai, hơn nữa, do
là hàm bậc hai nên đạo hàm bậc hai của hàm lỗi sẽ là hằng số, do vậy mà độcong của hàm theo một hướng cho trước là không thay đổi Trong khi đó,thuật toán lan truyền ngược áp dụng cho các mạng nhiều lớp sử dụng cáchàm chuyển phi tuyến sẽ có nhiều điểm cực trị địa phương và độ cong củahàm lỗi có thể không cố định theo một hướng cho trước
2.2.1.4 Sự tổng quát hóa (Generalization):
Trong phần lớn các trường hợp, mạng nơron truyền thẳng nhiều lớpđược luyện bởi một số cố định các mẫu xác định sự hoạt động đúng của mạng:
{(p1, t1), (p2, t2), , (pQ, tQ )},
Trong đó, pi là các đầu vào, tương ứng với nó là các đầu ra mong
Trang 27lớp có thể các cặp Một điều rất quan trọng là mạng nơron có khả năng tổngquát hóa được từ những cái nó đã học Nếu có được điều đó, mặc dù dữ liệu
có nhiễu thì mạng vẫn có khả năng hoạt động tốt (trả lại kết quả gần vớiđích mong muốn)
“Để một mạng có khả năng tổng quát hóa tốt, nó cần có số tham số
ít hơn số dữ liệu có trong tập huấn luyện” Trong các mạng nơron, cũng nhưcác bài toán mô hình hóa, ta thường mong muốn sử dụng một mạng đơn giảnnhất có thể cho kết quả tốt trên tập huấn luyện
Một cách khác đó là dừng luyện mạng trước khi mạng xảy ra tình trạngthừa ăn khớp Kỹ thuật này liên quan đến việc chia tập dữ liệu thu được thành
ba tập: tập huấn luyện sử dụng để tính toán gradient và cập nhật các trọng sốcủa mạng, tập kiểm định được dùng để kiểm tra điều kiện dừng của mạng vàtập kiểm tra được sử dụng để so sánh khả năng tổng quát hóa của mạng đốivới các bộ tham số của mạng sau các lần huấn luyện
2.2.2 Một số biến thể của mạng nơron lan truyền ngược
Ta đã xem xét một số đặc điểm của thuật toán lan truyền ngược sửdụng kỹ thuật giảm theo hướng Mạng sử dụng thuật toán này tồn tại nhượcđiểm: rơi vào điểm cực tiểu địa phương đối với mạng nơron truyền thẳngnhiều lớp sử dụng các hàm chuyển phi tuyến Hơn nữa, khi thực hiện luyệnmạng bằng cách đưa từng mẫu vào, sau đó thực hiện cập nhật tham số, sẽ làmảnh hưởng đến quá trình học các mẫu khác Do đó, một phương pháp để tăngtốc độ hội tụ là sử dụng phương pháp học cả gói (batch training), nghĩa làtất cả các mẫu được đưa vào mạng, sau đó mới thực hiện cập nhật các tham
số Bây giờ ta sẽ xem xét một số biến thể của thuật toán lan truyền ngược sửdụng phương pháp học cả gói nhằm vượt qua các nhược điểm này
Trang 28Đây là một phương pháp heuristic dựa trên quan sát kết quả luyệnmạng nhằm làm tăng tốc độ hội tụ của thuật toán lan truyền ngược dựa trên
kỹ thuật giảm nhanh nhất Thuật toán lan truyền ngược cập nhật các tham sốcủa mạng bằng cách cộng thêm vào một lượng thay đổi là:
Khi áp dụng mạng nơron lan truyền ngược có sử dụng bước đà,
phương trình trên thay đổi như sau:
Người ta đã chứng tỏ rằng khi sử dụng tham số bước đà thì hệ số học
có thể lớn hơn rất nhiều so với mạng nơron lan truyền ngược chuẩn không
sử dụng tham số bước đà trong khi vẫn giữ được độ tin cậy của thuật toán.Một điểm khác nữa là khi sử dụng tham số bước đà thì sự hội tụ của thuậttoán sẽ được tăng tốc nếu như thuật toán đang đi theo một hướng bền vững(chỉ đi xuống trong một khoảng dài)
2.2.2.2 Sử dụng hệ số học biến đổi
Trong thực tế, các hàm hiệu năng có dạng biểu diễn hình học là khôngđồng đều, có lúc có dạng phẳng (hàm không thay đổi giá trị hoặc thay đổi rấtít) hoặc có dạng phễu (giá trị của hàm thay đổi rất nhanh khi thay đổi tham
số đầu vào) Nếu ta chỉ sử dụng hệ số học cố định thì có thể sẽ tốn thờigian tại các vùng phẳng Vì vậy, tư tưởng của thuật toán lan truyền ngược
sử dụng hệ số học biến đổi là khi gặp vùng phẳng thì tăng hệ số học lên và
Trang 29Người ta đã đưa ra rất nhiều phương pháp để thực hiện điều trên, ở đâychỉ nêu ra một cách biến đổi hệ số học dựa trên hiệu năng của mạng
Bước 1: Nếu bình phương lỗi trên toàn bộ tập huấn luyện tăng một số
phần trăm cho trước
ξ(thông thường là từ 1% cho đến 5%) sau một lần cập nhật trọng số,thì bỏ qua việc cập nhật này, hệ số học được nhân với một số hạng ρ nào đó(với 0 < ρ < 1) và tham số bước đà (nếu có sử dụng) được đặt bằng 0
Bước 2: Nếu bình phương lỗi giảm sau một lần cập nhật trọng số, thì
cập nhật đó là chấp nhận được và hệ số học được nhân với một số hạng nào
đó > 1, nếu tham số bước đà đã bị đặt bằng 0 thì đặt lại giá trị lúc đầu
Bước 3: Nếu bình phương lỗi tăng một lượng <ξ, thì cập nhật trọng số
là chấp nhận được, nhưng hệ số học không thay đổi và nếu tham số bước đà
đã bị đặt bằng 0 thì đặt lại giá trị lúc đầu
Các thuật toán heuristic luôn cho ta sự hội tụ nhanh hơn trong một sốbài toán, tuy nhiên chúng có hai nhược điểm chính sau đây:
Thứ nhất, việc sửa đổi thuật toán lan truyền ngược cần có thêm một số
tham số, trong khi trong thuật toán lan truyền ngược chuẩn chỉ yêu cầu cómột tham số đó là hệ số học Một số thuật toán sửa đổi cần đến năm hoặc sáutham số, trong khi hiệu năng của thuật toán khá nhạy cảm đối với những thayđổi của các tham số này Hơn nữa việc chọn lựa các tham số lại độc lập vớibài toán đặt ra
Thứ hai, các thuật toán sửa đổi có thể không hội tụ trong một số bài
toán mà thuật toán lan truyền ngược chuẩn có thể hội tụ được
Trang 30Người ta đã thấy rằng cả hai nhược điểm nêu trên thường xảy ra khi sửdụng các thuật toán sửa đổi phức tạp hơn (yêu cầu nhiều tham số hơn).
2.2.2.3 Sử dụng phương pháp Gradient kết hợp:
Nhắc lại phương pháp gradient kết hợp bao gồm các bước sau:
1 Chọn hướng bắt đầu ngược với gradient (p0 = -g0).
2 Thực hiện một bước (∆xk = (xk+1 - xk) = αkpk) Chọn αk để tốithiểu hàm theo hướng tìm kiếm đã chọn Có thể chọn như sau:
(phương trình trên được suy ra bằng cách chọn αk để tối thiểu hóa hàm
F(xk + αkpk) Để thực hiện, ta lấy đạo hàm của F theo αk, đặt bằng 0 ta sẽ thu
được phương trình trên.)
3 Chọn hướng tiếp theo dựa vào một trong ba phương trình tính βk
4 Nếu thuật toán chưa hội tụ thì quay lại bước 2
Phương pháp này không thể áp dụng trực tiếp trong việc luyện mạngnơron, bởi lẽ hàm chỉ số hiệu năng trong nhiều trường hợp không ở dạng bậchai Điều này ảnh hưởng đến thuật toán này như sau:
Trang 31để tối thiểu hóa hàm theo đường thẳng (xk + α kpk) như trong bước thứ 2.
Thứ hai, điểm cực tiểu chính xác sẽ không thể đạt tới được một cáchbình thường sau một số hữu hạn bước và do vậy thuật toán sẽ phải được thiếtlập lại sau một số hữu hạn bước
Các bước chính trong quá trình thiết kế và xây dựng
Trước hết, dưới đây nêu ra các bước chính trong quá trình thiết kế vàxây dựng một ứng dụng dựa trên mạng nơron Có rất nhiều vấn đề cần phải xemxét khi xây dựng mạng nơron nhiều lớp sử dụng thuật toán lan truyền ngược:
Trang 32Kích thước của các tập huấn luyện, kiểm tra, và kiểm định.
Cấu trúc mạng (topology)
Số đầu vào
Số lớp ẩn
Số nơron trong các lớp
Số nơron đầu ra
Hàm chuyển cho các nơron
Trang 3312 Thực thi trong thực tế.
Trong khi thực hiện, không nhất thiết phải theo thứ tự các bước mà
có thể quay lại các bước trước đó, đặc biệt là ở bước huấn luyện và lựa chọncác biến
Bước 1: Chọn lựa các biến
Trong bài toán nhận dạng lá ngón với các dữ liệu thì có thể giúp chọnlựa các biến là các chỉ số quan trọng Đối với một bài toán cụ thể cần thựchiện xem xét các vấn đề lý thuyết mà từ đó sẽ xác định được các nhân tố ảnhhưởng đến bài toán Tại bước này trong quá trình thiết kế, điều cần quan tâm
đó là các dữ liệu thô từ đó có thể phát triển thành các chỉ số quan trọng Cácchỉ số này sẽ tạo ra các đầu vào cho mạng
Bước 2: Thu thập dữ liệu
Cần xem xét khả năng có thể thu thập được các dữ liệu Các dữ liệu kỹthuật có thể thu thập được dễ dàng hơn là các dữ liệu cơ bản Mặt khác, các
dữ liệu sau khi thu thập cần được kiểm tra tính hợp lệ của chúng Đồng thời,các dữ liệu bị thiếu sót cần được xử lý cẩn thận, có thể bỏ qua chúng hoặc giả sửrằng các dữ liệu bị thiếu đó không thay đổi so với dữ liệu trước nó
Bước 3: Tiền xử lý dữ liệu
Tiền xử lý dữ liệu liên quan đến việc phân tích và chuyển đổi giá trịcác tham số đầu vào, đầu ra mạng để tối thiểu hóa nhiễu, nhấn mạnh các đặctrưng quan trọng, phát hiện các xu hướng và cân bằng phân bố của dữ liệu.Các đầu vào, đầu ra của mạng nơron hiếm khi được đưa trực tiếp vào mạng.Chúng thường được chuẩn hóa vào khoảng giữa cận trên và cận dưới của hàm