5.3.1. Khái niệm về mạng neuron nhân tạo
Mạng neuron nhân tạo hay thường gọi ngắn gọn là mạng neuron (tiếng Anh là Artificial Neural network - ANN hay Neural Network) là một mơ hình tốn học hay mơ hình tính tốn được xây dựng dựa trên các mạng neuron 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 tốn). Dựa vào các đặc trương cơ bản của neuron sinh học người ta đã xây dựng lên mạng neuron nhân tạo. [7]
Mạng neuron nhân tạo (ANN) ngày nay gần giống với bộnão con người như : Cĩ khả năng học, tức là sử dụng những kinh nghiệm để cải thiện hiệu suất. Khi thu thập được đủ một lượng mẫu thì ANN cĩ thểkhái quát hĩa rất cao.
Chính vì vậy mà mạng neuron cĩ thể giải quyết các vấn đề phức tạp và cĩ quy mơ lớn, khĩ hiện nay.
5.3.2 Cấu tạo của mạng neuron
5.3.2.1 Kiến trúc mạng
Kiến trúc chung của một mạng neuron nhân tạo (ANN) gồm 3 thành phần đĩ là: Input Layer, Hidden Layer và Output Layer. [8]
Lớp ẩn (Hidden Layer) gồm các neuron nhận dữ liệu input từ các neuron ở lớp (Layer) trước đĩ và chuyển đổi các input này cho các lớp xử lý tiếp theo. Trong một ANN cĩ thểcĩ nhiều lớp ẩn.
67
Luồng thơng tin trong mạng neuron truyền thẳng sẽđi từtrái qua phải, các giá trị đầu vào được truyền tới các neuron lớp ẩn thơng qua trọng số kết nối sau đĩ đưa tới lớp ra. Trọng số kết nối từ phần tử vào thứ tới neuron ẩn thứ được ký hiệu là ,
trọng số kết nối từ neuron ẩn thứ tới cácneuron ra thứ được ký hiệu là . Với lớp neuron ẩn thứ : = Với neuron ra thứ k: = Hàm kích hoạt: 1 1 − Hình22 Mạng truyền thẳng nhiều lớp
68
Với một mẫu đầu vào được cho trước, mạng sẽ tạo ra giá trịđầu ra thực tế ,
giá trịnày được so sánh với giá trị mẫu mong muốn ởđầu ra . Các trọng số của mạng sau đĩ được hiệu chỉnh để giảm lỗi và đưa ra các mẫu tiếp theo. Sau đĩ trọng số sẽ tiếp tục được hiệu chỉnh tới khi tổng lỗi qua tất cảcác mẫu học được giảm tới mức cho phép. Thuật tốn học này được hiểu như thuật tốn lan truyền ngược.
5.3.2.2 Số lớp ẩn
Trong quá trình nghiên cứu, người ta đã xác định rằng đối với phần lớn các bài tốn cụ thể, chỉ cần sử dụng một lớp ẩn cho mạng là đủ. Các mạng cĩ hai lớp ẩn cĩ thể thể hiện các hàm với dáng điệu bất kỳnên khơng cĩ lý do nào sử dụng các mạng cĩ nhiều hơn hai lớp ẩn. Thậm chí các bài tốn sử dụng hai lớp ẩn hiếm khi xảy ra trong thực tế. Hay đối với các bài tốn cần sử dụng nhiều hơn một lớp ẩn trong thực tế, ta chỉ cần sử dụng một lớp ẩn thì nĩ cho tahiệu năng tốt hơn là sử dụng nhiều hơn một lớp. Và việc huấn luyện mạng thường rất chậm nếu mà số lớp ẩn sử dụng càng nhiều.
5.3.2.3 Số neuron trong lớp ẩn
Một vấn đề quan trọng trong việc thiết kế một mạng là cần cĩ bao nhiêu đơn vị trong mỗi lớp. Sử dụng quá ít đơn vịcĩ thể dẫn đến việc khơng thể nhận dạng được các tín hiệu đầy đủ trong một tập dữ liệu phức tạp, hay thiếu ăn khớp (underfitting). Sử dụng quá nhiều đơn vị sẽtăng thời gian luyện mạng, cĩ lẽlà quá nhiều để luyện khi mà khơng thể luyện mạng trong một khoảng thời gian hợp lý. Sốlượng lớn các đơn vịcĩ thể dẫn đến tình trạng thừa ăn khớp (overfitting), trong trường hợp này mạng cĩ quá nhiều thơng tin, hoặc lượng thơng tin trong tập dữ liệu mẫu (training set) khơng đủcác dữ liệu đặc trưng để huấn luyện mạng.
Thơng thường đểxác định được sốđơn vị tối ưu trong lớp ẩn cần phải thơng qua huấn luyện mạng với một bộ sốcác đơn vị trong lớp ẩn và dựbáo lỗi tổng quát hĩa của từng lựa chọn. Cách tốt nhất đểtìm ra sốđơn vị tối ưu là sử dụng phương pháp thử sai (Trial – and – Error).
5.3.3 Phân loại mạng neuron
5.3.3.1. Dựa vào các đặc trưng mạng neuron nhân tạo
69
Trong đĩ: (a). Mạng truyền thẳng một lớp
(b). Mạng truyền thẳng nhiều lớp. (c). Neuron tự phản hồi
(d). Mạng phản hồi một lớp (e). Mạng phản hồi nhiều lớp
5.3.3.2. Phân loại theo đường truyền tín hiệu
- Mạng truyền thẳng: Là mạng hai hay nhiều lớp mà quá trình truyền tín hiệu từ đầu ra lớp này đến đầu vào lớp kia theo một hướng.
- Mạng phản hồi:Là mạng mà trong đĩ một hoặc nhiều đầu ra của các phần tử lớp sau truyền ngược tới đầu vào của lớp trước.
70
- Mạng tự tổ chức:Là mạng cĩ khảnăng sử dụng những kinh nghiệm của quá khứ đểthích ứng với những biến đổi của mơi trường (khơng dựbáo trước). Loại mạng này thuộc nhĩm hệ học, thích nghi khơng cần cĩ tín hiệu chỉđạo từbên ngồi.
5.3.3.3. Phân loại mạng theo số lớp trong mạng
- Mạng một lớp:Là tập hợp các phần tửneuron cĩ đầu vào và đầu ra trên cùng một phần tử. Nếu mạng nối đầu ra của các phần tửnày với đầu vào của phần tử kia gọi là mạng tựliên kết (Autoassociative).
- Mạng nhiều lớp: Gồm một lớp đầu vào và một lớp đầu ra riêng biệt. Các lớp nằm giữa lớp đầu vào và lớp đầu ra gọi là lớp ẩn (Hidden Layer)
5.3.4. Một số hàm phi tuyến tính thường được sử dụng trong các mơ hình
neuron
5.3.4.1. Hàm tuyến tính (Purelin)
Cơng thức của hàm:
Đạo hàm của hàm tuyến tính:
1
Nhận xét: Giá trịđầu ra khơng bị giới hạn trong một khoảng cụ thểmà chỉ phụ thuộc vào miền giá trị của thơng sốđầu vào khi đi qua hàm.
71
Do bài tốn giải quyết của nghiên cứu là xây dựng ANN đểtính tốn và dựbáo giá trịđộ rỗng nên hàm hoạt động ở lớp đầu ra chính làhàm tuyến tính.
5.3.4.2. Hàm sigmoid
Đây là hàm thơng dụng thường được dùng trong ANN đa lớp. Hàm cĩ cơng thức như sau:
1
1 −
Đạo hàm của hàm sigmoid:
1
Nhận xét: Đồ thịhàm sigmoid cho giá trịđầu ra từ0 đến 1 khi giá trịneuron đầu vào đi từ -∞ đến +∞
5.3.4.3. Hàm tanh
Giống với hàm sigmoid, hàm tanh cũng được sử dụng nhiều trong mạng neuron đa lớp.
72 Cơng thức của hàm cĩ dạng:
tanh −−
Đạo hàm của hàm tanh:
1
Nhận xét: Dựa vào đồ thị, giá trị của hàm đi từ -1 đến 1ứng với giá trịđầu vào đi từ -∞ đến +∞.
5.3.4.4. Hàm ReLU (Rectified Linear Unit)
Hàm ReLU là hàm kích hoạt phổ biến nhất vì tính đa dụng trong mạng neuron tích chập (convolutional neural network) và học sâu.
Cơng thức hàm cĩ dạng:
max 0,
73 Đạo hàm của hàm ReLU:
0 , ế < 0
1, ế ≥ 0
Nhận xét: Giá trị của hàm luơn bằng 1 khi giá trị đầu vào lớn hơn hoặc bằng 0. Khi giá trịđầu vào là giá trịâm, hàm sẽluơn bằng 0, điều này sẽlàm giảm khảnăng phù hợp dữ liệu của mơ hình và ảnh hưởng đến quá trình huấn luyện dữ liệu.
5.3.4.5Hàm dấu (sgn)
Cơng thức hàm cĩ dạng:
ln ln
Hình27 Đồ thị biểu diễn hàm ReLU
74 Đạo hàm của hàm dấu sgn:
1 ế ≥ 0
1 ế < 0
Nhận xét: Giá trị của hàm luơn luơn bằng 1 khi giá trịđầu vào là giá trịdương. Ngược lại, giá trị của hàm luơn luơn bằng -1 khi giá trịđầu vào là giá trịâm.
5.3.5 Huấn luyện mạng
Chức năng của một mạng nơron được quyết định bởi các nhân tốnhư: hình trạng mạng (số lớp, số đơn vịtrên mỗi tầng, và cách mà các lớp được liên kết với nhau) và các trọng số của các liên kết bên trong mạng. Tiến trình điều chỉnh, thay đổi, cập nhật các trọng liên kết được gọi là học tham số.
5.3.3 Hầu hết các luật học tồn tại thuộc kiểu học tham số. Luật học tham số thường được chia thành 3 dạng chính: Học giám sát, học khơng giám sát và học củng cố.
5.3.5.1 Học cĩ giám sát(Supervised learning)
Học cĩ giám sát là nhĩm thuật tốn dựđốn đầu ra (output) của dữ liệu mới (new input) dựa trên các cặp dữ liệu đã biết trước. Cặp dữ liệu này cịn được gọi là dữ liệu - nhãn (data- label). Đây là nhĩm phổ biến nhất trong các thuật tốn học máy. [9]
Hình29 Các dạng học tham số
75
Theo tốn học, học cĩ giám sát là khi cĩ một tập hợp “ ” biến đầu à , … } và một tập hợp“ ”nhãn tương ứng , … }. Các cặp dữ liệu biết trước ( , ) được gọi là tập dữ liệu huấn luyện (training data). Từ tập huấn luyện này cần tạo ra một hàm sốánh xạ mỗi phần tử từ tập sang một phần tử (xấp xỉ) tương ứng của tập .
Mục đích là xấp xỉ hàm số thật tốt để khi cĩ một dữ liệu mới cĩ thể suy ra được nhãn tương ứng từhàm số .
Nhĩm thuật tốn học cĩ giám sát gồm các bài tốn chính sau:
- Phân loại (classification): Các nhãn của dữ liệu đầu vào được chia thành các nhĩm hữu hạn.
Hồi quy (regression): Nhãn là một giá trị thực cụ thể.
5.3.5.2 Học khơng giám sát (unsupervised learning)
Trong thuật tốn này khơng biết trước được đầu ra hay nhãn của tập dữ liệu đầu vào, chỉ dựa vào cấu trúc của dữ liệu để thực hiện cơng việc như: phân nhĩm (clustering) hoặc giảm số chiều của dữ liệu (dimension reduction) để thuận tiện trong việc lưu trữ và tính tốn.
Học khơng giám sát là khi chỉcĩ dữ liệu đầu vào X mà khơng biết nhãn Y tương ứng.
5.3.5.3 Học củng cố (reinforcement learning)
Học củng cốgiúp hệ thống tựđộng xác định hành vi dựa trên hồn cảnh đểđạt được lợi ích cao nhất (maximising the performance).
5.3.5 Thuật tốn lan truyền ngược
Giải thuật lan truyền ngược tìm kiếm một vector các trọng số (weights vector) giúp cực tiểu hĩa lỗi tổng thể của hệ thống đối lập với tập học.
76
Giai đoạn lan truyền tiến tín hiệu (Signal Forward). Các tín hiệu đầu vào (vector các giá trịđầu vào) được lan truyền tiến từ tầng đầu vào đến tầng đầu ra (đi qua các tầng ẩn).
Giai đoạn lan truyền ngược lỗi (Error Backward):
- Căn cứvào giá trịđầu ra mong muốn của vector đầu vào, hệ thống sẽ tính tốn giá trị lỗi.
- Giá trị lỗi được lan truyền ngược từ tầng đầu ra đến tầng đầu vào.
- Các trọng sẽđược cập nhật đến khi lỗi cĩ thể chấp nhận được. Ta sử dụng các kỹ hiệu sau:
- : Neuron thứJ (hay nút thứ J). - :Vector đầu vào neuron thứ J. - :Vectoer trọng số của neuron thứ J. - : Trọng sốtrên .
- :Ngưỡng tại nút thứ J.
- : Tổng trọng sốtrên các đầu vào của nút thứ J. - :Đầu vào của nút thứ J (với ).
- ̇: Đầu ra mong muốn của nút thứ J.
- : Tập các nút nhận đầu ra của nút thứJ làm một giá trịđầu vào. - :Tập các nút trong tầng ra.
- : Tốc độ học. - :Hàm truyền,
+ .
Ta tìm cơng thức tính . Sựthay đổi trong mỗi lần cập nhật với: ∆
Trong đĩ E là hàm lỗi.
Do trọng số cập nhật sau mỗi mẫu huấn luyện, để đơn giản cĩ thể coi tập huấn luyện chỉ gồm một mẫu. Khi đĩ hàm lỗi được tính như sau:
77 1
2 ∈
Theo quy tắc chuỗi ta cĩ:
Mặc khác:
Do đĩ:
Thay vào biểu thức trên ta được:
Xét hai trường hợp: Trường hợp 1: j là neuron tầng ra ( ∈ ) Đặt: Ta cĩ: ∆ (1) Tất cảcác nút đầu ra ≠ là độ lập với , ta cĩ thể coi: 1 2 Khi đĩ: 1 2
78 = ( ) = ( ) = ( ) 1 = ( ) 1 Trường hợp 2: j là neuron tầng ẩn. Ta cĩ nhận xét sau: 1. Với mỗi nút ∈ , là một hàm . 2. Việc tạo ra các lỗi của tất cảcác nút ≠ trong cùng một tầng với là độc lập với .
3. Cũng theo quy tắc chuỗi:
∈ ∑ ∈ Nếu đặt: ∈ Ta cĩ: ∆ (2) Từđĩ: ∈ (1 ) ∈ = 1 ∑ ∈
Như vậy từ(1) và (2) ta thấy rằng trong mọi trường hợp đều cĩ: ∆
79 Trong đĩ được tính như sau:
Với là nút xuất thì:
( ) 1 Với là nút ẩn thì:
1
∈
Thuật tốn lan truyền ngược được mơ tả lại như sau: Input:
- Mạng feed-forward với đầu vào, nút ẩn vào noeuron đầu ra. - Hệ số học .
- Tập dữ liệu huấn luyện , , , . . là vector đầu vào , , là vector đầu ra mong muốn.
Output: Các vector trọng số Thuật tốn:
Bước 1: Khởi tạo trọng số bởi các giá trị ngẫu nhiên nhỏ. Bước 2: Lặp lại cho tới khi thỏa mãn điều kiện kết thúc. Với mỗi mẫu , ∈ thực hiện các bước sau: - Tính đầu ra cho mỗi nốt
- Với mỗi nút thược tầng ra, tính theo cơng thức:
( ) 1
- Với mỗi nútℎthuộc tầng ẩn, tính theo cơng thức: 1
∈
- Cập nhật: Trong đĩ:∆
80
5.3.6 Nguyên lý hoạt động của mạng neuron
Mơ hình tốn học của ANN lan truyền thẳng được trình bày như sau:
=
Trong đĩ:
- :Giá trịđầu ra theo biến
- :Hàm kích hoạt hay hàm truyền
- : Trọng sốliên kết của neuron
- : Các giá trịđầu vào.
Bản chất nguyên lý hoạt động của ANN truyền thẳng chính là quá trình huấn luyện mạng (training). Cụ thể, quá trình huấn luyện thường sử dụng giải thuật lan truyền ngược đểtìm đạo hàm cho từng tham số trong mạng.
Giai đoạn lan truyền thẳng :
Bước 1:Vector thơng sốđầu vào được nhập vào các neuron ở lớp nhập. 0
Bước 2: Tại neuron lớp ẩn thứ , giá trịtín hiệu nhận từ lớp nhập sẽđược tính tổng trọng sốhĩa của tất cảcác dữ liệu được nhập bằng cách cộng tất cảtích của mỗi dữ liệu đầu vào và trọng sốliên kết giữa lớp ẩn và lớp nhập.
81
=
Bước 3: Sau đĩ, hàm kích hoạt (hàm truyền) sẽ được sử dụng để chuyển giá trị được nhận thành giá trịđầu ra.
Tiếp theo, giá trị đầu ra tại neuron lớp ẩn tiếp tục được truyền đến neuron lớp xuất k giống với phương thức từ lớp nhập đến lớp ẩn.
=
Sau đĩ, hàm truyền lại được sử dụng đểtính giá trịđầu ra của neuron tại lớp xuất.
Lúc này, giai đoạn lan truyền thẳng đến đây kết thúc, mạng sẽ chuyển đến giai đoạn lan truyền ngược.
Bước 4:Trong giai đoạn nhập, số liệu nhập gồm cả số liệu đầu vào và giá trị thực tế. Từ đĩ, với mỗi bộ số liệu tính được từng sai số đầu ra tương ứng, giá trịnày được gọi là hàm mất mát (Cost Function - J).
Bước 5: Từhàm cost function vừa tìm được, tính đạo hàm của hàm này theo trọng số giữa lớp ẩn - lớp ra và trọng số giữa lớp nhập - lớp ẩn.
∆ ∆
Bước 6: Kế tiếp, giá trị trọng số liên kết giữa lớp ẩn và lớp xuất cũng như giá trị trọng sốliên kết giữa lớp nhập và lớp ẩn được hiệu chỉnh lại đồng thời.
∆ ∆
82
5.3.8. Hiện tượng Overfitting
Overfitting khơng phải là một thuật tốn trong Machine Learning.
Overfitting là hiện tượng mơ hình tìm được quá khớp với dữ liệu huấn luyện. Việc này sẽgây ra hậu quả lớn nếu trong tập dữ liệu huấn luyện cĩ nhiễu. Khi đĩ, mơ hình khơng thực sự mơ tả tốt dữ liệu ngồi tập huấn luyện. Overfitting đặc biệt xảy ra khi lượng dữ liệu huấn luyện quá nhỏ hoặc độ phức tạp của mơ hình quá cao.
Một mơ hình được coi là tốt (fit) nếu cả training error và test error đều thấp. Nếu training error thấp nhưng test error cao, mơ hình bị overfitting. Nếu training error cao và test error cao, mơ hình bịunderfitting, cịn đối với việc training error cao - test error