Khái niệm mạng nơron nhân tạo

Một phần của tài liệu Trung tâm Thư viện và Tri thức số - Library and Digital Knowledge Center (Trang 29)

Mạng nơron nhân tạo hay thường gọi ngắn gọn là mạng nơron, trong tiếng anh là Artificial Neural Network. Nó gồm có một nhóm các nơron nhân tạo nối với nhau, và xử lý thông tin bằng cách truyền theo các kết nối và tính giá trị mới tại các nút. Trong nhiều trường hợp, mạng nơron nhân tạo là một hệ thống thích ứng, tự thay đổi cấu trúc của mình dựa trên các thông tin bên ngoài hay bên trong chảy qua mạng trong quá trình học.

Một mạng nơron nhân tạo được cấu hình cho một ứng dụng cụ thể (nhận dạng đối tượng, phân loại dữ liệu, ...) thông qua một quá trình học từ tập các đối tượng

huấn luyện. Về bản chất, học chính là quá trình hiệu chỉnh trọng số liên kết giữa các nơron.

2.1.2. Lịch s phát triển của mạng nơron

Một trong những mô hình điển hình của mạng noron chính là não bộ của con người. Bộ não người là một mạng noron có cấu tạo vô cùng phức tạp. Con người đã nghiên cứu nó hàng nghìn năm nay. Cùng với sự phát triển của khoa học kĩ thuật đặc biệt là những tiến bộ trong ngành điện tử hiện đại, con người đã bắt đầu nghiên cứu các nơron và sự kiện đầu tiên đánh dấu sự ra đời của mạng nơron nhân tạo vào năm 1943 khi nhà thần kinh học Warren McCulloch và nhà

toán học Walter Pitts viết bài báo mô tả cách thức các nơron hoạt động. Họ cũng đã tiến hành xây dựng một mạng nơron đơn giản bằng các mạch điện. Năm 1949 cuốn sách Organization of Behavior của Donald Hebb được xuất bản đã chỉ ra rằng các nơron nhân tạo sẽ trở lên hiệu quả hơn sau mỗi lần chúng được sử dụng.

Những tiến bộ của máy tính đầu những năm 1950, dự án Dartmouth nghiên cứu về trí tuệ nhân tạo năm 1956 đã mở ra thời kỳ phát triển mới cả trong lĩnh vực trí tuệ nhân tạo lẫn mạng nơron. Những năm tiếp theo của dự án Dartmouth, John von Neumann đã đề xuất việc mô phỏng các nơron đơn giản bằng cách sử dụng rơle điện áp hoặc đèn chân không. Nhà sinh học chuyên nghiên cứu về nơron Frank Rosenblatt cũng bắt đầu nghiên cứu về Perceptron – một thuật ngữ trong học máy, đó là một thuật toán phân loại. Sau thời gian nghiên cứu này Perceptron đã được cài đặt trong phần cứng máy tính và được xem như là mạng nơron lâu đời nhất còn được sử dụng đến ngày nay.

Năm 1974 Paul Werbos đã phát triển và ứng dụng phương pháp học lan truyền ngược (back-propagation).

Ngày nay, đi xa hơn mức nghiên cứu lý thuyết, các nhà khoa học đã nghiên cứu mạng nơron để cho ra các ứng dụng có khả năng giải quyết các bài toán thực tế được diễn ra ở khắp mọi nơi. Các ứng dụng mạng nơron ra đời ngày càng nhiều và ngày càng hoàn thiện hơn.

2.1.3. Mô hình nơron

2.1.3.1. Nơron nhân tạo đơn giản

Một nơron nhân tạo đơn giản là một thiết bị với nhiều đầu vào và có một đầu ra. Nơron có hai chế độ hoạt động: chế độ huấn luyện và chế độ sử dụng. Trong chế độ huấn luyện, nơron có thể được huấn luyện với một số các đối tượng đầu vào tới khi không được sử dụng nữa. Trong chế độ sử dụng thì khi phát hiện một đối tượng đã học tại đầu vào, đầu ra của nó sẽ trở thành đầu ra hiện tại. Nếu đối tượng đầu vào không thuộc vào danh sách đối tượng đã học thì luật loại bỏ được sử dụng để tiếp tục dùng hay loại bỏ nơron. Hình 2.1 mô tả một nơron đơn giản đó.

Hình 2.1: Nơron đơn giản [15]

2.1.3.2. Nơron phức tạp hơn (Mô hình McCulloch và Pitts: MCP)

Sự khác biệt với mô hình đơn giản ở trên là đầu vào của mô hình này có trọng số, hiệu quả của nó là mỗi đầu vào có một sự đưa ra quyết định phụ thuộc vào trọng số của từng đầu vào. Trọng số của một đầu vào là một số mà khi nhân với đầu vào thì ta có được trọng số đầu vào. Những đầu vào trọng số này được nhóm lại với nhau và nếu chúng vượt quá giá trị ngưỡng thì nơron sẽ bị loại bỏ. Với các trường hợp khác thì nơron không bị loại bỏ.

Hình 2.2: Nơron phức tạp hơn [15]

Ví dụ ta có giá trị ngưỡng là T thì về mặt toán học, nơron này sẽ bị loại bỏ khi và chỉ khi bất đẳng thức sau xảy ra:

X1.W1 + X2.W2 + X3.W3 + … > T

Sự thêm vào trọng số đầu vào và giá trị ngưỡng của nơron làm cho nó linh hoạt và mạnh hơn. Nơron MCP có khả năng thích nghi với hoàn cảnh cụ thể như là thay đổi trọng số hay giá trị ngưỡng.

2.1.4. Một số kiến trúc mạng nơron dùng nhận dạng đối tượng

2.1.4.1. Mạng truyền thẳng

Mạng truyền thẳng (hình 2.3) cho phép tín hiệu truyền chỉ theo một đường từ đầu vào tới đầu ra, không có sự phản hồi hay lặp lại. Mạng này có xu hướng truyền thẳng giữa đầu vào với đầu ra. Chúng được dùng rộng rãi trong nhận dạng đối tượng. Cách tổ chức trong mạng truyền thẳng là tham chiếu tới phương pháp từ dưới lên hoặc là từ trên xuống.

Hình 2.3: mạng truyền thẳng [15]

2.1.4.2. Mạng hồi quy

Mạng hồi quy có kiến trúc tương tự mạng truyền thẳng (hình 2.3) nhưng có điểm khác nhau đó là nó cho phép tín hiệu truyền theo cả hai hướng. Mạng hồi quy truyền tín hiệu rất tốt và có thể trở lên rất phức tạp. Nó có tính động; trạng thái của nó thay đổi liên tục tới khi đạt tới điểm trạng thái cân bằng. Chúng duy trì điểm cân bằng tới khi đầu vào thay đổi và cần tìm một một trạng thái cân bằng mới. Kiến trúc hồi quy có thể tham chiếu tới việc tương tác.

2.1.4.3. Các lớp mạng

Các loại phổ biến nhất của mạng nơron nhân tạo bao gồm ba nhóm hoặc lớp của các đơn vị: một lớp của các đơn vị "đầu vào" được kết nối với một lớp của các đơn vị "ẩn", và lớp đơn vị “ẩn” này được kết nối với một lớp của đơn vị "đầu ra". (xem hình 2.4)

 Hoạt động của các đơn vị đầu vào mô tả các thông tin thô được đưa vào mạng.

 Hoạt động của từng đơn vị ẩn được xác định bởi các hoạt động của các đơn vị đầu vào và trọng số trên các kết nối giữa đầu vào và các đơn vị ẩn.

 Hành vi của các đơn vị đầu ra phụ thuộc vào hoạt động của các đơn vị ẩn và trọng số giữa các đơn vị ẩn và đầu ra.

Hình 2.4: mạng hồi quy đơn giản [15]

Loại mạng hồi quy đơn giản này khá thú vị bởi vì các đơn vị ẩn được tự do xây dựng đại diện đầu vào riêng của chúng. Trọng số giữa đầu vào và các đơn vị ẩn xác định khi mỗi đơn vị ẩn đang hoạt động. Do đó bằng cách thay đổi các trọng số, một đơn vị ẩn có thể chọn cái nó đại diện.

Chúng ta cũng phân biệt kiến trúc lớp đơn và kiến trúc nhiều lớp. Tổ chức lớp đơn, trong đó tất cả các đơn vị được kết nối với nhau, tạo thành trường hợp tổng quát nhất và là sức mạnh tính toán tiềm năng hơn tổ chức nhiều lớp cấu trúc phân cấp. Trong các mạng đa lớp, các đơn vị thường được đánh số theo lớp, thay vì đánh số theo toàn bộ hệ thống mạng.

2.1.4.4. Perceptrons

Nghiên cứu có ảnh hưởng nhất trên mạng nơron trong những năm 60 được tiến hành dưới tiêu đề của “perceptron” một thuật ngữ được đặt ra bởi Frank Rosenblatt. Perceptron (hình 2.5) trở thành một mô hình MCP (nơron với đầu vào

trọng số) với một số bổ sung, sửa chữa, tiền xử lý. Các đơn vị có nhãn A1, A2, Aj, Ap được gọi là đơn vị kết nối và nhiệm vụ của chúng là trích xuất các đặc điểm riêng biệt từ những hình ảnh đầu vào. Perceptron bắt chước các ý tưởng cơ bản đằng sau hệ thống thị giác động vật có vú. Chúng chủ yếu được sử dụng trong mô hình nhận dạng đối tượng mặc dù khả năng của chúng được mở rộng hơn rất nhiều.

Hình 2.5: Perceptron [15]

2.1.5. Ứng d ng của mạng nơron nhân tạo

Khả năng học và xử lý song song là hai đặc trưng của mạng nơron nhân tạo. Nó có thể mô tả gần đúng mối quan hệ tương quan phức tạp giữa các yếu tố đầu vào và đầu ra của các quá trình cần nghiên cứu. Thêm vào đó thì khi đã học được thì việc kiểm tra độc lập thường cho kết quả tốt. Sau khi đã học xong, mạng nơron nhân tạo có thể tính toán kết quả đầu ra tương ứng với bộ số liệu đầu vào mới.

Về mặt cấu trúc, mạng nơron nhân tạo là một hệ thống gồm nhiều phần tử xử lý đơn giản cùng hoạt động song song. Tính năng này của mạng nơron nhân tạo cho phép nó có thể được áp dụng để giải các bài toán lớn.

Về khía cạnh toán học, theo định lý Kolmogorov, một hàm liên tục bất kỳ f(x1, x2,.. , xn) xác định trên khoảng In

(với I =[0,1]) có thể được biểu diễn dưới dạng:

trong đó : χj , Ψij là các hàm liên tục một biến. Ψij là hàm đơn điệu, không phụ thuộc vào hàm f. Mặt khác, mô hình mạng nơron nhân tạo cho phép liên kết có trọng số các phần tử phi tuyến (các nơron đơn lẻ) tạo nên dạng hàm tổng hợp từ các hàm thành phần. Do vậy, sau một quá trình điều chỉnh sự liên kết cho phù hợp (quá trình học), các phần tử phi tuyến đó sẽ tạo nên một hàm phi tuyến phức tạp có khả năng xấp xỉ hàm biểu diễn quá trình cần nghiên cứu. Kết quả là đầu ra của nó sẽ tương tự với kết quả đầu ra của tập dữ liệu dùng để luyện mạng. Khi đó ta nói mạng nơron nhân tạo đã học được mối quan hệ tương quan đầu vào - đầu ra của quá trình và lưu lại mối quan hệ tương quan này thông qua bộ trọng số liên kết giữa các nơron. Do đó, mạng nơron nhân tạo có thể tính toán trên bộ số liệu đầu vào mới để đưa ra kết quả đầu ra tương ứng[13].

Với những đặc điểm đó, mạng nơron nhân tạo đã được sử dụng để giải quyết nhiều bài toán thuộc nhiều lĩnh vực của các ngành khác nhau. Các nhóm ứng dụng mà mạng nơron nhân tạo đã được áp dụng rất có hiệu quả là:

Bài toán phân lớp: Loại bài toán này đòi hỏi giải quyết vấn đề phân loại

các đối tượng quan sát được thành các nhóm dựa trên các đặc điểm của các nhóm đối tượng đó. Đây là dạng bài toán cơ sở của rất nhiều bài toán trong thực tế: nhận dạng chữ viết, tiếng nói, phân loại gen, phân loại chất lượng sản phẩm,…

Bài toán dự báo: Mạng nơron nhân tạo đã được ứng dụng thành công

trong việc xây dựng các mô hình dự báo sử dụng tập dữ liệu trong quá khứ để dự đoán số liệu trong tương lai. Đây là nhóm bài toán khó và rất quan trọng trong nhiều ngành khoa học.

Bài toán điều khiển và tối ưu hoá: Nhờ khả năng học và xấp xỉ hàm mà

mạng nơron nhân tạo đã được sử dụng trong nhiều hệ thống điều khiển tự động cũng như góp phần giải quyết những bài toán tối ưu trong thực tế.

Tóm lại, mạng nơron nhân tạo được xem như là một cách tiếp cận đầy tiềm năng để giải quyết các bài toán có tính phi tuyến, phức tạp và đặc biệt là trong tình huống mối quan hệ bản chất vật lý của quá trình cần nghiên cứu không dễ thiết lập tường minh.

2.2. Thiết kế mạng nơron nhân tạo

2.2.1. Các bước thiết kế

Các bước trong thiết kế một mô hình mạng nơron nhân tạo, gồm 7 bước:  Bước 1: Lựa chọn biến

 Bước 2: Thu thập dữ liệu  Bước 3: Tiền xử lý dữ liệu

 Bước 4: Các tập dữ liệu huấn luyện, kiểm thử, và chứng thực.  Bước 5: Sơ đồ mạng nơron:

 Số lượng lớp ẩn,

 Số lượng nơron ẩn,

 Hàm chuyển đổi.

 Bước 6: Huấn luyện mạng nơron: Số lần lặp lại huấn luyện.  Bước 7: Triển khai

2.2.2. Chi tiết các bước thiết kế một mạng nơron.

Dưới đây là phần chi tiết các bước thiết kế một mạng nơron

2.2.2.1. Lựa chọn biến

Để thiết kế tốt được mạng nơron thì chúng ta cần phải hiểu rõ vấn đề chúng ta cần giải quyết. Lựa chọn biến đầu vào cho phù hợp là một quá trình không dễ dàng. Với những giá trị đầu vào không quan trọng sẽ tăng độ phức tạp cho quá trình học của mạng nơron. Ta cần chọn biến đầu vào nào cho tối ưu nhất với yêu cầu đầu ra mà chúng ta cần. Một số vấn đề xảy ra nếu chúng ta chọn đầu vào chưa tốt:

- Tăng số lượng đầu vào sẽ làm tính toán phức tạp và cần nhiều bộ nhớ hơn.

- Quá trình học sẽ khó khăn với các đầu vào không cần thiết. - Khó khăn hơn để hiểu mô hình mạng nơron này.

Phương pháp lựa chọn biến đầu vào được phát triển dựa trên quá trình kiểm thử thống kê giữa các giá trị đầu vào và đầu ra mong muốn. Một số trường hợp có sự phụ thuộc giữa biến đầu vào dẫn đến việc đánh giá quá cao số lượng đầu vào. Một cách để giải quyết vấn đề này là khi tiền xử lý dữ liệu, chúng ta dùng phương pháp phân tích thành phần phụ thuộc.

2.2.2.2. Thu thập dữ liệu

Sau khi đã chọn biến thì các nhà nghiên cứu cần phải thu thập dữ liệu cho các biến đã chọn. Việc thu thập dữ liệu phải tách biệt với tiền xử lý, tập huấn hay đánh giá hiệu năng mạng. Mọi dữ liệu cần được kiểm tra lỗi nếu có sự biến đổi hàng ngày của dữ liệu, biến đổi về phạm vi, và sự thống nhất về logic.

2.2.2.3. Tiền xử lý dữ liệu

Việc xử lý trước dữ liệu chính là phân tích và chuyển đổi biến đầu vào và đầu ra sao cho giảm bớt nhiễu, nhấn mạnh các liên hệ quan trọng, tìm ra xu hướng và phân đồng đều các biến, giúp mạng nơron học các đối tượng liên quan hiệu quả hơn. Vì mạng nơron là các khớp đối tượng, việc miêu tả dữ liệu cực kỳ quan trọng trong việc thiết kế thành công mạng nơron. Dữ liệu được thu thập để đưa vào mạng hiếm khi để nguyên dạng thô ban đầu. Ít nhất thì dữ liệu đó cũng được cân bằng với cận trên và cận dưới của hàm chuyển đổi ( thường là nằm giữa 0 và 1 hoặc -1 và 1).

Có hai phương pháp chuyển đổi dữ liệu phổ biến đó là đạo hàm bậc nhất và logarit tự nhiên của một biến. Một cách khác nữa đó là dùng tỉ lệ của các biến đầu vào. Làm mịn dữ liệu đầu vào và đầu ra bằng cách tính trung bình đơn giản hoặc dùng số mũ.

Lấy đối tượng và lọc dữ liệu giúp cho việc hủy các observation từ tập huấn luyện và kiểm thử để tạo ra một sự phân phối đồng đều hơn. Cách lọc được sử dụng nên thống nhất với mục đích của nhà nghiên cứu. Nhà nghiên cứu phải xác định chính xác mạng nơron của mình cần học gì. Một lợi ích của việc lọc là tăng về số lượng thực tế tập huấn mà cho phép kiểm thử trên nhiều biến đầu vào, nhiều trọng số ban đầu ngẫu nhiên hoặc nhiều nơron ẩn hơn các tập dữ liệu huấn luyện lớn.

Trên thực tế thì quá trình tiền xử lý dữ liệu gồm nhiều thử nghiệm và có lỗi nhiều. Để lựa chọn thích hợp biến đầu vào cần kiểm thử kết hợp đa dạng các biến đầu vào.

2.2.2.4. Các tập dữ liệu huấn luyện, kiểm thử, và chứng thực.

Trên thực tế, tập dữ liệu được chia thành ba tập khác nhau đó là tập huấn luyện, tập kiểm thử và tập hợp lệ.

 Tập kiểm thử là tập dữ liệu dùng để kiểm thử. Lấy dữ liệu đó để kiểm tra xem độ chính xác của mạng nơron là bao nhiêu phần trăm. Tập này có kích thước tương đương 10% - 30% kích thước của tập huấn luyện.

 Việc kiểm tra cuối cùng trong hiệu năng của mạng huấn luyện là sử dụng

Một phần của tài liệu Trung tâm Thư viện và Tri thức số - Library and Digital Knowledge Center (Trang 29)

Tải bản đầy đủ (PDF)

(66 trang)