Huấn luyện mạng nơron

Một phần của tài liệu Nghiên cứu mạng nơron và ứng dụng trong nhận dạng chữ viết tay trực tuyến (Trang 30 - 74)

1.5.1. Phƣơng pháp học

Trong các hệ thống sinh vật, học hỏi đƣợc hiểu nhƣ những sự thay đổi hóa học xảy ra ở điểm nối synapte giữa một tế bào này và một tế bào khác. Sự thay đổi đó làm mở ra một số cổng ở trên các dendrite-nơi nơron nhận tín hiệu.

Đối với các mạng nơron, học đƣợc định nghĩa nhƣ sau:

“Học là một quá trình mà trong đó các thông số tự do của mạng nơron được điều chỉnh lại cho phù hợp thông qua một quá trình kích thích bởi môi trường”.

Định nghĩa này có nghĩa:

- Mạng nơron đƣợc kích thích từ bên ngoài. - Mạng nơron biến chuyển bởi kích thích đó.

- Mạng nơron đáp lại bên ngoài một cách khác do những biến chuyển nội bộ. Một mạng nơron đƣợc huyấn luyện sao cho với một tập các vector đầu vào X, mạng có khả năng tạo ra tập các vector đầu ra mong muốn T của nó. Tập X đƣợc sử dụng cho huấn luyện mạng đƣợc gọi là tập huấn luyện (training set). Các phần tử x thuộc X đƣợc gọi là các mẫu huấn luyện (training example). Quá trình huấn luyện bản chất là sự thay đổi các trọng số liên kết của mạng. Trong quá trình này, các trọng số của mạng sẽ hội tụ dần tới các giá trị sao cho với mỗi vector đầu vào x từ tập huấn luyện, mạng sẽ cho ra vector đầu ra T nhƣ mong muốn .

Có ba phƣơng pháp học phổ biến là học có giám sát (supervised learning), học không giám sát (unsupervised learning) và học tăng cƣờng (Reinforcement learning).

1.5.1.1. Học có giám sát

Một thành phần không thể thiếu của phƣơng pháp này là sự có mặt của một “ngƣời thầy” (ở bên ngoài hệ thống). Ngƣời thầy này có kiến thức về môi

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

trƣờng. Điều này đƣợc thể hiện qua một tập hợp các cặp đầu vào - đầu ra đã đƣợc biết trƣớc. Hệ thống học (ở đây là mạng nơron) sẽ phải tìm cách thay đổi các tham số bên trong của mình (các trọng số và các ngƣỡng) để tạo nên một ánh xạ có khả năng ánh xạ các đầu vào thành các đầu ra mong muốn. Sự thay đổi này đƣợc tiến hành nhờ việc so sánh giữa đầu ra thực sự và đầu ra mong muốn[5].

1.5.1.2. Học không giám sát

Học không giám sát: Là việc học không cần có bất kỳ một sự giám sát nào. Trong bài toán học không giám sát, tập dữ liệu huấn luyện đƣợc cho dƣới dạng: D = {(x1, x2,...,xN)}, với (x1, x2,...,xN) là vector đặc trƣng của mẫu huấn luyện. Nhiệm vụ của thuật toán là phải phân chia tập dữ liệu D thành các nhóm con, mỗi nhóm chứa các vector đầu vào có đặc trƣng giống nhau.

Nhƣ vậy với học không giám sát, số lớp phân loại chƣa đƣợc biết trƣớc, và tùy theo tiêu chuẩn đánh giá độ tƣơng tự giữa các mẫu mà ta có thể có các lớp phân loại khác nhau[7].

1.5.1.3. Học tăng cƣờng

Học tăng cƣờng: đôi khi còn đƣợc gọi là học thƣởng-phạt (reward- penalty learning), là sự tổ hợp của cả hai mô hình trên. Phƣơng pháp này cụ thể nhƣ sau: với vector đầu vào, quan sát vector đầu ra do mạng tính đƣợc. Nếu kết quả đƣợc xem là “tốt” thì mạng sẽ đƣợc thƣởng theo nghĩa tăng các trọng số kết nối lên; ngƣợc lại mạng sẽ bị phạt, các trọng số kết nối không thích hợp sẽ đƣợc giảm xuống. Do đó học tăng cƣờng là học theo nhà phê bình (critic), ngƣợc với học có giám sát là học theo thầy giáo (teacher)[17],[7].

1.5.2. Thuật toán học

Thuật toán học của mạng nơron đƣợc thực hiện theo các bƣớc sau:

- Bƣớc 1: Xây dựng cấu trúc thích hợp cho mạng nơron, chẳng hạn có (n + 1) nơron vào (n nơron cho biến vào và 1 nơron cho ngƣỡng x0), m nơron đầu ra, và khởi tạo các trọng số liên kết của mạng.

- Bƣớc 2: Đƣa một vector x trong tập mẫu huấn luyện X vào mạng - Bƣớc 3: Tính vector đầu ra o của mạng.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

- Bƣớc 4: So sánh vector đầu ra mong muốn t (là kết quả đƣợc cho trong tập huấn luyện) với vector đầu ra o do mạng tạo ra; nếu có thể thì đánh giá lỗi. - Bƣớc 5: Hiệu chỉnh các trọng số liên kết theo một cách nào đó sao cho ở lần tiếp theo khi đƣa vector x vào mạng, vector đầu ra o sẽ giống với y hơn.

- Bƣớc 6: Nếu cần, lặp lại các bƣớc từ 2 đến 5 cho tới khi mạng đạt tới trạng thái hội tụ.

Việc đánh giá lỗi có thể thực hiện theo nhiều cách, cách dùng nhiều nhất là sử dụng lỗi tức thời:

Err = (o- t) hoặc Err = |o- t| (1.7)

Trong đó: - o là vector đầu ra của mạng - t là vector đầu ra mong muốn

Lỗi trung bình bình phƣơng (MSE: mean-square error): Err = (o-t)2/2 (1.8)

Thuật toán tổng quát ở trên cho học có giám sát trong các mạng nơron có nhiều cài đặt khác nhau, sự khác nhau chủ yếu là cách các trọng số liên kết đƣợc thay đổi trong suốt thời gian học. Trong đó tiêu biểu nhất là thuật toán lan truyền ngƣợc.

1.6. Thu thập dữ liệu cho mạng nơron

Một khi ta quyết định giải quyết một vấn đề sử dụng mạng nơron ta cần phải thu thập dữ liệu cho mục tiêu huấn luyện. Tập hợp dữ liệu huấn luyện bao gồm một số trƣờng hợp, mỗi trƣờng hợp chứa những giá trị của đầu vào và đầu ra khác nhau. (adsbygoogle = window.adsbygoogle || []).push({});

Sự lựa chọn do trực giác và kinh nghiệm quyết định. Công việc chuyên môn của ta trong lĩnh vực cần giải quyết sẽ cho ta những ý tƣởng về các biến đầu vào phù hợp. Trong những mạng nơron ta có thể chọn và loại bỏ nhiều biến và mạng nơron cũng có thể xác định bằng quá trình thực nghiệm. Trong một bƣớc ta nên tính đến bất kỳ biến nào mà ta nghĩ có ảnh hƣởng đến quá trình thiết kế.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Những mạng nơron xử lý dữ liệu số trong một tầm giới hạn rõ ràng. Điều này đƣa ra một vấn đề, nếu dữ liệu nằm trọng một vùng đặc biệt nhƣ dữ liệu chƣa biết hay không phải dữ liệu số. Thì phải có những phƣơng pháp xử lý thích hợp, chẳng hạn. Dữ liệu số đƣợc chia nhỏ thành những khoảng thích hợp cho mạng và những giá trị thiếu có thể thay thế bằng giá trị trung bình hay giá trị thống kê của biến đó thông qua những biến khác đã đƣợc huấn luyện.

Xử lý dữ liệu không phải số thì khó hơn. Loại dữ liệu không phải là số thông thƣờng nhất là những biến có giá trị định danh nhƣ giới tính (nam, nữ). Biến định danh có thể biểu diễn bằng số học và mạng nơron có chức năng hỗi trợ điều này. Tuy nhiên, mạng nơron làm việc tốt với những trƣờng hợp biến định danh là một tập nhiều giá trị.

Số lƣợng mẫu dùng để huấn luyện mạng rất khó xác định. Đã có một vài hƣớng dẫn về mối liên hệ giữa số lƣợng mẫu với kích thƣớc mạng (cách đơn giản nhất là số lƣợng mẫu gấp 10 lần số kết nối trong mạng). Thực ra số lƣợng mẫu cũng có liên quan đến độ phức tạp của hàm mà mạng phải học. Khi số biến tăng lên, số lƣợng mẫu cần huấn luyện cũng tăng phi tuyến, vì thế với số các biến nhỏ (50 hoặc nhỏ hơn) thì lại cần một số lớn các trƣờng hợp mẫu.

Trong hầu hết các vấn đề trong thực tế, số lƣợng mẫu là khoảng hàng trăm hay hàng nghìn mẫu. Đối với những vấn đề rất phức tạp thì cần nhiều hơn, nhƣng trƣờng hợp này rất ít. Nếu dữ liệu huấn luyện ít hơn, rõ ràng không đủ thông tin để huấn luyện mạng, và cách tốt nhất là dùng mạng tuyến tính. Nhiều vấn đề trong thực tế có dữ liệu không đáng tin cậy, một vài dữ liệu bị phá hỏng do liệu do nhiễu, hoặc các giá trị không phối hợp đƣợc với nhau. Mạng nơron có khả năng đặc biệt xử lý dữ liệu bị mất (sử dụng giá trị trung bình hay những giá trị thống kê khác). Mạng nơron cũng chịu đƣợc nhiễu, nhƣng cũng phải có giới hạn. Nếu thỉnh thoảng có giá trị nằm xa ra khỏi vùng giá trị bình thƣờng thì mạng huấn luyện phải có ngƣỡng. Cách tốt nhất đối với trƣờng hợp này là nhận ra và loại bỏ những giá trị nằm xa đó (có thể hủy trƣờng hợp này hoặc xem giá trị nằm xa này là giá trị bị mất). Nếu giá trị này khó nhận ra, mạng nơron có chức năng huấn luyện chịu đƣợc giá trị nằm khỏi vùng này nhƣng huấn luyện này thƣờng kém hiệu quả hơn là huấn luyện chuẩn.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Tóm lại cách thu thập dữ liệu có thể nói gọn lại nhƣ sau: - Chọn những giá trị huấn luyện có tác dụng.

- Dữ liệu số và biến có giá trị định danh có thể xử lý trực tiếp bằng mạng nơron. Chuyển những loại biến khác sang một trong các dạng này.

- Cần hàng trăm hoặc hàng ngàn trƣờng hợp mẫu huấn luyện; càng nhiều biến thì càng nhiều mẫu huấn luyện. Mạng nơron có khả năng nhận ra những biến hữu dụng để huấn luyện.

1.7. Biểu diễn tri thức cho mạng nơron

Chúng ta có thể đƣa ra định nghĩa về tri thức nhƣ sau:

Tri thức chính là thông tin được lưu trữ hay các mô hình được con người và máy móc sử dụng để biểu diễn thế giới thực, phán đoán về thế giới và có những đáp ứng phù hợp với thế giới bên ngoài.

Các đặc tính cơ bản biểu diễn tri thức là: Thông tin gì thực sự đƣợc biểu diễn.

Làm thế nào thông tin đƣợc mã hóa một cách vật lý cho việc sử dụng sau này.

Trong các ứng dụng thực tế của các máy tính thông minh, có thể nói rằng một giải pháp tốt phụ thuộc vào một biến tri thức tốt. Điều đó cũng đúng với các mạng nơron, một lớp đặc biệt của các máy thông minh. Tuy nhiên, các dạng biểu diễn có thể từ các đầu vào thành các tham số bên trong của mạng là rất đa dạng, và có khuynh hƣớng là cho việc tìm ra một giải pháp thích hợp nhằm biểu diễn tri thức bằng phƣơng tiện mạng nơron trở nên một sự thách thức về thiết kế.

Ở đây cần nhấn mạnh rằng mạng nơron lƣu trữ thông tin về thế giới thực bằng chính bản thân cấu trúc của nó kể cả về mặt hình dạng cũng nhƣ giá trị tham số bên trong (có thể thay đổi đƣợc để nắm bắt môi trƣờng). Một nhiệm vụ chính của mạng nơron là học một mô hình của thế giới thực để đạt đƣợc một số mục đích xác định cần quan tâm. Tri thức của thế giới bao gồm hai loại thông tin sau:

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

- Trạng thái thế giới đã biết, đƣợc biểu diễn bởi các sự kiện về những cái đã biết; dạng tri thức này đƣợc xem nhƣ là các thông tin ban đầu.

- Các quan sát (đo đạc) về thế giới, thu nhập đƣợc thông qua các bộ cảm biến đƣợc thiết kế để thăm dò môi trƣờng mà trong đó mạng hoạt động. Nói chung, các quan sát này luôn bị nhiễu và sai lệch do nhiều nguyên nhân khác nhau. Các quan sát thu nhận đƣợc nhƣ vậy cung cấp một quỹ thông tin, mà từ đó lấy ra các ví dụ đƣợc dùng để huấn luyện mạng nơron.

Do cấu trúc một mạng nơron là vô cùng đa dạng, nên để có thể biểu diễn tri thức một cách có hiệu quả, ngƣời ta đƣa ra bốn quy tắc chung sau:

Quy tắc 1. Các đầu vào tƣơng tự từ các lớp tƣơng tự cần phải luôn tạo ra

những biểu diễn tƣơng tự trong mạng, và nhƣ vậy nên đƣợc phân lớp thuộc về cùng một loại. Trong tiêu chuẩn này, ngƣời ta thƣờng sử dụng một số thƣớc đo để xác định độ “tƣơng tự” giữa các đầu vào (ví dụ khoảng cách euclide).

Quy tắc 2. Các phần tử mà có thể phân ra thành các lớp riêng biệt thì

nên có những biểu diễn khác nhau đáng kể trong mạng.

Quy tắc 3. Nếu một đặc trƣng nào đó đặc biệt quan trọng thì nên có một

số lƣợng lớn nơron liên quan đến việc biểu diễn đặc trƣng này trong mạng. Số lƣợng lớn các nơron bảo đảm mức độ chính xác cao trong việc thực hiện các quyết định và nâng cao khả năng chịu đựng các neuron hỏng.

Quy tắc 4. Thông tin ban đầu và các tính chất bất biến nên đƣợc đƣa vào

trong thiết kế ban đầu của một mạng nơron, và nhƣ vậy sẽ giảm bớt gánh nặng cho quá trình học.

Trong các quy tắc trên thì quy tắc 4 đặc biệt quan trọng vì nếu chúng ta áp dụng nó một cách thích hợp sẽ dẫn đến khả năng tạo ra các mạng nơron với một kiến trúc chuyên biệt. Điều này thực sự đƣợc quan tâm do một số nguyên nhân sau: (adsbygoogle = window.adsbygoogle || []).push({});

- Các mạng nơron thị giác và thính giác sinh học đƣợc biết là rất chuyên biệt. - Một mạng nơron với cấu trúc chuyên biệt thƣờng có một số lƣợng nhỏ các tham số tự do phù hợp cho việc chỉnh lý hơn là một mạng kết nối đầy đủ. Nhƣ vậy mạng nơron chuyên biệt cần một tập hợp dữ liệu nhỏ hơn cho việc tích luỹ; nó học sẽ nhanh hơn, và thƣờng có khả năng tổng quát hoá tốt hơn.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

- Tốc độ chuyển thông tin qua một mạng chuyên biệt là nhanh hơn. - Giá của việc xây dựng một mạng chuyên biệt sẽ nhỏ hơn do kích thƣớc nhỏ của nó so với mạng kết nối đầy đủ.

1.8. Ứng dụng của mạng nơron.

Trong một vài năm trở lại đây, mạng nơron đã đƣợc nhiều ngƣời quan tâm và đã đƣợc á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 nơron đều có khả năng ứ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 doanh nghiệp, quản lý sinh, sinh viên trong các trƣờng học… ), các ngành khoa học hình sự, khoa học tƣớng số và tử vi, v.v…

Kết hợp chặt chẽ với logic mờ, mạng nơron 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 tại 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 nơron thực hiện việc mô phỏng cấp thấp hệ thống nơron sinh học. Trong tƣơng lai với sự phát triển mô phỏng nơron sinh học, chúng ta có thể có loại máy tính thông minh thật sự.

Một số ứng dụng chính của mạng nơron:

- Aerospace: Phi công tự động, giả lập đƣờng bay, các hệ thống điều khiển lái máy bay, bộ phát hiện lỗi.

- Automotive: Các hệ thống dẫn đƣờng tự động cho ô tô, các bộ phân tích hoạt động của xe.

- Banking: Bộ đọc séc và các tài liệu, tính tiền của thẻ tín dụng.

- Defense: Định vị - phát hiện vũ khí, dò mục tiêu, phát hiện đối tƣợng, nhận dạng nét mặt, các bộ cảm biến thế hệ mới, xử lý ảnh radar,...

- Electronics: Dự đoán mã tuần tự, sơ đồ chip IC, điều khiển tiến trình, phân tích nguyên nhân hỏng chip, nhận dạng tiếng nói, mô hình phi tuyến.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

- Financial: Định giá bất động sản, cho vay, kiểm tra tài sản cầm cố, đánh giá mức độ hợp tác, phân tích đƣờng tín dụng, chƣơng trình thƣơng mại qua giấy tờ, phân tích tài chính liên doanh, dự báo tỷ giá tiền tệ.

- Insurance: Đánh giá việc áp dụng chính sách, tối ƣu hóa sản phẩm.

Kết luận chương 1:

Qua việc nghiên cứu về mạng nơron tổng quan ở trên, ta đã thấy có rất nhiều loại mạng nơron và cũng có rất nhiều thuật toán học khác nhau. Qua đó,

Một phần của tài liệu Nghiên cứu mạng nơron và ứng dụng trong nhận dạng chữ viết tay trực tuyến (Trang 30 - 74)