CHƢƠNG 1 : GIỚI THIỆU TỔNG QUAN VỀ HỌC MÁY VÀ HỌC SÂU
2.2. Giới thiệu về mạng Neural
Mạng neural nhân tạo - Artificial Neural Network (ANN) gọi tắt là mạng neural, mạng neural network. Đây là một mơ hình xử lý thơng tin mơ phỏng theo cách thức xử lý thơng tin của các hệ neural sinh học. Nĩ bao gồm một lƣợng lớn các phần tử (phần tử xử lý hay neural) kết nối với nhau thơng qua các kiên kết (gọi là trọng số liên kết) làm việc nhƣ một hệ thống nhất để giải quyết vấn đề nào đĩ. ANN giống nhƣ con ngƣời, đƣợc học bởi kinh nghiệm, lƣu kinh nghiệm hiểu biết và sử dụng trong những tình huống phù hợp.
ANN đƣợc giới thiệu vào năm 1943 bởi nhà thần kinh học Warren McCulloch và nhà logic học Walter Pits. Họ đã tiến hành xây dựng một mạng Neural đơn giản bằng các mạch điện. Kết quả củ các mơ hình này là các hàm logic đơn giản. Chẳng hạn nhƣ “a OR b” hay “a AND b”. Tuy nhiên, với hạn chế kỹ thuật trong thời gian này chƣa cho phép họ nghiên cứu đƣợc nhiều.
Những năm gần đây mơ phỏng ANN khơng chỉ dừng lại ở việc nghiên cứu lý thuyết. Việc ứng dụng mạng Neural ngày càng hồn thiện hơn. Các nghiên cứu ứng dụng đã đƣợc thực hiện trong nhiều ngành nhƣ: điện, điện tử, kỹ thuật chế tạo, y học, quân sự, ... và mới nhất là các nghiên cứu ứng dụng trong các bài tốn dự báo.
Hiện tại ở Việt Nam, việc nghiên cứu và ứng dụng ANN vào bài tốn dự báo mới chỉ bắt đầu trong vài năm gần đây.
Cấu trúc và hoạt động của mạng Neural
Cấu trúc của mạng Neural
Mạng neural nhân tạo cĩ chức năng tƣơng tự nhƣ chức năng đơn giản nhất của các neural sinh học. Đĩ là tích lũy (ghi nhớ) những tri thức đƣợc học về các sự vật đã biết, phân biệt chúng mỗi khi gặp lại. Chức năng đƣợc hình thành thơng qua một chuỗi liên tiếp các quá trình xử lý thơng tin của các neural trong mạng. Dựa vào mơ phỏng neural sinh học, neural nhân tạo cũng thực hiện nhiệm vụ của mình thơng qua các thao tác nhận đầu vào từ các neural trƣớc, xử lý đầu vào bằng cách nhân mỗi đầu vào này với trọng số liên kết tƣơng ứng và tính tổng các tích thu đƣợc rồi
29
đƣa ra một hàm truyền. Sau đĩ gửi kết quả cho các neural tiếp theo hoặc đƣa ra output. Cứ nhƣ vậy, các neural này hoạt động phối hợp nhau tạp thành hoạt động chính của mạng neural. [4]
Quy trình xử lý thơng tin của một neural qua cấu trúc thể hiện ở hình 2.1
Hình 2.1: Cấu trúc một neural
xi: các tín hiệu input f(.) : hàm hoạt động wkp: trọng số của từng input yk: kết xuất của Neurol Trong hình vẽ trên:
(x1,x2,.......xp) với p≥1: là các tín hiệu đầu vào của neural. Các tín hiệu này cĩ thể là đầu ra của neural trƣớc đĩ hoặc đầu vào ban đầu của mạng và thƣờng đƣợc đƣa vào dƣới dạng một vector p chiều.
wk1,wk2,....wkp là tạo các trọng số liên kết của từng neural k với p đầu vào tƣơng ứng với (x1,x2,.......xp). Thơng thƣờng, các trọng số này đƣợc khởi tạo một cách ngẫu nhiên ở thời điểm khởi tạo mạng và đƣợc cập nhật liên tục trong quá trình học của mạng.
là hàm tổng trên một neural, dùng dể tính tổng các giá trị kích hoạt trên neural đĩ. Thơng thƣờng, đây là tổng các tích giữa đầu vào và trọng số liên kết tƣơng ứng của neural.
30
uk là tổng các giá trị kích hoạt lên neural thứ k, giá trị này là đầu ra của hàm tổng.
f(.) là hàm truyền, cịn gọi là hàm kích hoạt (activation function). Hàm
truyền đƣợc dùng để giới hạn vi đầu ra của mỗi neural. Đối số của hàm lá giá trị hàm tổng và ngƣỡng bk. Thơng thƣờng, phạm vi đầu ra của mỗi neural đƣợc giới hạn trong đoạn [0,1] hoặc [1,-1]. Nhƣ vậy miền giá trị của các hàm kích hoạt cũng là một trong hai giai đoạn trên.
yk là tín hiệu đầu ra của neural thứ k, mỗi neural thƣờng cĩ một đầu ra và tối đa là một đầu ra. Giá trị yk đƣợc tính theo cơng thức
yk = f(uk + bk) với uk =
Nhƣ vật, sau q trình xử lý của neural trên tập các tín hiệu đầu vào, ta sẽ thu đƣợc một tin hiệu đầu ra duy nhất.
Hoạt động của mạng neural
Một mạng neural cĩ thể cĩ nhiều lớp/tầng mạng và ít nhất cĩ một lớp gọi là lớp đầu ra. Mỗi lớp cĩ thể cĩ một hoặc nhiều neural. Cấu trúc tổng quát của mạng neural thể hiện trong hình 2.2 dƣới đây
Hình 2.2: Cấu trúc chung của một mạng neural
31
Đầu vào của mạng vector cĩ kích thƣớc p: ( x1, x2 , ....,xp) và đầu ra là vector a1, a2, ..., aq cĩ kích thƣớc q. Trong bài tốn phân loại mẫu, kích thƣớc đầu ra của mạng chính là số lớp cần phân loại.
Lớp ẩn đầu tiên là lớp H1, sau đĩ đến lớp ẩn thứ hai H2, tiếp tục nhƣ vậy đến lớp ẩn cuối cùng rồi lớp đầu ra O.
Các neural trong lớp cĩ cấu trúc nhƣ trên hình 2.1 liên kết giữa các neural
giữa các lớp cĩ thể là liên kết đầy đủ mỗi neural thuộc lớp sau liên kết với tất cả các neural ở lớp trƣớc nĩ) hoặc liên kết chọn lọc (mỗi neural thuộc lớp sau liên kết với tất cả neural ở lớp trƣớc đĩ).
Đầu ra của lớp trƣớc chính là đầu vào của lớp ngay sau nĩ. Hàm truyền tại các neural khơng nhất thiết giống nhau.
Với cấu trúc nhƣ vậy, hoạt động của mạng neural diễn ra nhƣ sau: Đầu tiên vector đầu vào đƣợc lan truyền qua lớp H1. Tại lớp này, mỗi neural nhận vector đầu vào rồi xử lý (tính tổng trọng số của các đầu vào rồi cho qua hàm truyền) và cho ra kết quả tƣơng ứng. Đầu ra của lớp H1 chính là đầu vào của lớp H2, do đĩ sau khi lớp H1 cho kết quả ở đầu ra của mình thì lớp H2 nhận đƣợc đầu vào và tiếp tục quá trình xử lý. Cứ nhƣ vậy cho đến khi thu đƣợc đầu ra lớp sau O. Đầu này chính là đầu ra cuối cùng của mạng.