Một số loại mạng nơron điển hình[20]

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 26 - 74)

1.3.2.1. Mạng dẫn tiến (feedforward)

Có thể nói mạng nơron dẫn tiến là một kiểu mạng đơn giản trong việc sắp đặt mạng. Trong mạng này thông tin chỉ truyền trên một hƣớng duy nhất: từ lớp đầu vào xuyên qua lớp ẩn (nếu có) và kết thúc tại lớp đầu ra. Mạng dẫn tiến không có chu trình hoặc vòng ở bên trong.

a) Các mạng dẫn tiến (feedforward) đơn mức

Trong một mạng nơron phân mức, các nơron đƣợc tổ chức dƣới dạng các mức. Với dạng đơn giản nhất của mạng phân mức, mạng có một mức đầu vào gồm các nút nguồn chiếu trực tiếp tới mức đầu ra gồm các nơron.

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

Mức đầu vào Mức đầu ra Hình 1.9 Mạng tiến với một mức nơron

Nhƣ vậy, mạng thực sự là không có chu trình. Mạng nơron trong hình 1.9 minh họa trƣờng hợp ba nút đối với cả mức đầu ra và đầu vào. Một mạng nhƣ vậy đƣợc gọi là một mạng đơn mức. Mạng đƣợc gọi là “đơn mức” tức là chỉ có một mức, chính là mức đầu ra gồm các nút tính toán (các nơron). Chúng ta không tính mức đầu vào của các nút nguồn vì không có tính toán nào đƣợc thực hiện ở đây.

b) Các mạng dẫn tiến đa mức

Lớp thứ hai của một mạng nơron dẫn tiến đƣợc phân biệt bởi sự có mặt của một hay nhiều mức ẩn. Các nút tính toán của mức ẩn đƣợc gọi là các nơron ẩn hay các đơn vị ẩn (thuật ngữ “ẩn” ở đây mang ý nghĩa là không tiếp xúc với môi trƣờng). Chức năng của các nơron ẩn là can thiệp vào giữa đầu vào và đầu ra của mạng một cách hữu hiệu. Bằng việc thêm một vài mức ẩn, mạng có khả năng rút ra đƣợc các thống kê bậc cao của tín hiệu đầu vào . Khả năng các nơron ẩn rút ra đƣợc các thống kê bậc cao đặc biệt có giá trị khi mức đầu vào có kích thƣớc lớn.

Các nút nguồn trong mức đầu vào của mạng cung cấp các phần tử của vector đầu vào; chúng tạo nên các tín hiệu đầu vào cho các nơron (các nút tính toán) trong mức thứ hai (mức ẩn thứ nhất). Các tín hiệu đầu ra của mức thứ hai đƣợc sử dụng nhƣ các đầu vào cho mức thứ ba, và nhƣ cứ vậy cho phần còn lại của mạng. Về cơ bản, các nơron trong mỗi mức của mạng có các đầu vào của chúng là các tín hiệu đầu ra của chỉ mức đứng liền trƣớc nó (điều này có thể khác trong thực tế cài đặt). Tập hợp các tín hiệu đầu ra của các nơron trong

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

mức đầu ra của mạng tạo nên đáp ứng toàn cục của mạng đối với các vector đầu vào đƣợc cung cấp bởi các nút nguồn của mức đầu vào.

Mạng nơron trong hình 1.10 đƣợc gọi là kết nối đầy đủ. Tại đó, tất cả các nút trong mỗi mức của mạng đƣợc nối với tất cả các nút trong mức tiếp sau. Nếu một số kết nối không tồn tại trong mạng, chúng ta nói rằng mạng là kết nối không đầy đủ.

Mức đầu vào gồm các nút nguồn

Mức ẩn gồm các nơron

ẩn Mức đầu ra gồm các nơron đầu ra Hình 1.10 Mạng tiến kết nối đầy đủ với một mức ẩn và một mức đầu ra

1.3.2.1. Mạng quy hồi (recurrent network)

Trái với mạng nơron dẫn tiến , mạng nơron quy hồi là những mô hình với hai luồng dữ liệu có hƣớng. Trong khi mạng dẫn tiến truyền dữ liệu theo một đƣờng thẳng thì mạng nơron quy hồi có ít nhất một phản hồi từ những nơron xử lý sau quay trở lại các nơron xử lý trƣớc đó.

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

Hình 1.12 Mạng hồi quy có các nơron ẩn

Sự có mặt của các vòng lặp phản hồi, trong cả cấu trúc hồi quy có một ảnh hƣởng sâu sắc đến khả năng học của mạng và đến tính năng của nó. Hơn nữa, các vòng lặp phản hồi bao hàm việc sử dụng các nhánh đặc biệt gồm có các phần tử đơn vị trễ (ký hiệu là z-1), thể hiện một hành vi phi tuyến động theo thời gian (cùng với giả sử rằng mạng neuron bao gồm các đơn vị phi tuyến).

1.4. Xây dựng mạng nơron[8]

Về cơ bản, ta có thể hiểu mạng nơron là một đồ thị có hƣớng nhƣ hình 1.13. Trong đó, các đỉnh của đồ thị là các nơron và các cạnh của đồ thị là các liên kết giữa các nơron.

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

Vì vậy, để xây dựng một mạng nơron, ta xây dựng một đồ thị có hƣớng: số đỉnh của đồ thị bằng số nơron trong mạng, giá trị của các cạnh chính là trọng số liên kết nơron.

1.5. Huấn luyện mạng nơron 1.5.1. Phƣơng pháp học 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.

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ừ

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 26 - 74)