Bước tới nội dung

Mạng thần kinh nhân tạo

Bách khoa toàn thư mở Wikipedia
(Đổi hướng từ Mạng neural nhân tạo)
Một mạng neural là một nhóm các nút nối với nhau, gần giống như mạng khổng lồ các neural trong não người.

Mạng neural nhân tạo hay thường gọi ngắn gọn là mạng neural (tiếng Anhartificial neural network - ANN hay neural network) là một mô hình toán học hay mô hình tính toán được xây dựng dựa trên các mạng neural sinh học. Nó gồm có một nhóm các neural nhân tạo (nút) 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 (cách tiếp cận connectionism đối với tính toán). Trong nhiều trường hợp, mạng neural nhân tạo là một hệ thống thích ứng (adaptive system) 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.

Trong thực tế sử dụng, nhiều mạng neural là các công cụ mô hình hóa dữ liệu thống kê phi tuyến. Chúng có thể được dùng để mô hình hóa các mối quan hệ phức tạp giữa dữ liệu vào và kết quả hoặc để tìm kiếm các dạng/mẫu trong dữ liệu.

Huấn luyện

[sửa | sửa mã nguồn]

Mạng thần kinh học (hoặc được huấn luyện) thông qua việc xử lý các ví dụ, mỗi ví dụ đều chứa đầu vào và kết quả đã biết, hình thành các kết hợp có trọng số xác suất giữa hai thành phần này, chúng được lưu trữ trong cấu trúc dữ liệu của chính mạng. Việc huấn luyện mạng nơ-ron từ một ví dụ nhất định thường được tiến hành bằng cách xác định sự khác biệt giữa đầu ra đã xử lý của mạng (thường là dự đoán) và một đầu ra mục tiêu. Sự khác biệt này chính là lỗi. Mạng sau đó điều chỉnh các kết hợp có trọng số của nó theo một quy tắc học tập và sử dụng giá trị lỗi này. Các điều chỉnh liên tiếp sẽ khiến mạng nơ-ron tạo ra đầu ra ngày càng giống với đầu ra mục tiêu. Sau một số lượng đủ lớn các điều chỉnh này, việc huấn luyện có thể được kết thúc dựa trên một số tiêu chí nhất định. Đây là một hình thức của học có giám sát.

Các hệ thống như vậy "học" thực hiện các tác vụ bằng cách xem xét các ví dụ, thông thường không cần được lập trình với các quy tắc cụ thể cho nhiệm vụ. Ví dụ, trong thị giác máy tính, chúng có thể học cách xác định các hình ảnh chứa mèo bằng cách phân tích các hình ảnh mẫu đã được gắn nhãn thủ công là "có mèo" hoặc "không có mèo" và sử dụng kết quả để xác định mèo trong các hình ảnh khác. Chúng làm điều này mà không cần bất kỳ kiến thức trước nào về mèo, ví dụ như chúng có lông, đuôi, râu và khuôn mặt giống mèo. Thay vào đó, chúng tự động tạo ra các đặc điểm nhận dạng từ các ví dụ mà chúng xử lý.

Sử dụng mạng neural nhân tạo

[sửa | sửa mã nguồn]

Có lẽ lợi thế lớn nhất của mạng neural nhân tạo là khả năng được sử dụng như một cơ chế xấp xỉ hàm tùy ý mà 'học' được từ các dữ liệu quan sát. Tuy nhiên, sử dụng chúng không đơn giản như vậy, và một sự hiểu biết tương đối tốt về các lý thuyết cơ bản là điều cần thiết.

  • Chọn mô hình: điều này sẽ phụ thuộc vào cách trình bày dữ liệu và các ứng dụng. Mô hình quá phức tạp có xu hướng dẫn đến những thách thức trong việc học.
  • Thuật toán học: có rất nhiều sự thỏa thận giữa các thuật toán học. Hầu hết các thuật toán sẽ làm việc tốt với các siêu tham số (hyperparameter) đúng để huấn luyện trên một tập hợp dữ liệu cố định cụ thể. Tuy nhiên, việc lựa chọn và điều chỉnh một thuật toán để huấn luyện trên dữ liệu không nhìn thấy yêu cầu một số lượng đáng kể các thử nghiệm.
  • Mạnh mẽ: nếu các mô hình, hàm chi phí và thuật toán học được lựa chọn một cách thích hợp, thì ANN sẽ cho kết quả có thể vô cùng mạnh mẽ.

Với việc thực hiện chính xác, ANN có thể được sử dụng một cách tự nhiên học trực tuyến và các ứng dụng tập dữ liệu lớn. Việc thực thi đơn giản của chúng và sự tồn tại của chủ yếu là địa phương phụ thuộc được thể hiện trong cấu trúc cho phép triển khai nhanh chóng, song song trong phần cứng.

Tham khảo

[sửa | sửa mã nguồn]

Liên kết ngoài

[sửa | sửa mã nguồn]