CHƯƠNG 2: MẠNG NƠRON NHÂN TẠO 1. Mạng nơron sinh học
2. Mạng nơron nhân tạo
2.3 Cấu trúc mạng nơ-ron nhân tạo .1Nút
Mỗi Neural (nút) là một đơn vị xử lý thông tin của mạng neural, là yếu tố cơ bản để cấu tạo nên mạng neural.
Cấu trúc 1 nơ-ron xi: các tín hiệu input
wkp: trọng số của từng input f(.): hàm hoạt động
yk: kết xuất của Neural
b: thông số ảnh hưởng đến ngưỡng ra của output
Mạng nơron nhân tạo thường được cấu tạo thành các lớp gồm lớp vào (input layer) , lớp ra (output layer) và các lớp ẩn (hidden layer). Các nơron trong một lớp chỉ nối với các nơron lớp tiếp theo, không cho phép có các liên kết giữa các nơron trong cùng một lớp.
Lớp vào là lớp nhận thông tin từ số liệu gốc. Thông tin này được đưa đến đầu vào của một số hay toàn bộ các nơron của lớp tiếp theo (lớp ẩn). Như vậy mỗi nơron của lớp ẩn sẽ nhận được tín hiệu của một số các nơron lớp vào. Các giá trị này sẽ được nhân với hệ số nhân (trọng số) của các nơron ẩn và đưa vào hàm thế sau khớp nối - PSP (Post Synaptic Potential function) thực hiện chức năng đầu vào để tạo tín hiệu duy nhất net. Chức năng kích hoạt đầu ra được thực hiện bằng hàm kích hoạt a(.) (activation function) hay còn gọi là hàm truyền f(.) (transfer function). Hàm này sẽ nhận tín hiệu đầu vào net để tạo ra tín hiệu đầu ra của nơron (kết xuất của nơron lớp ẩn). Tín hiệu ra của các nơron ẩn lại được đưa đến các nơron của lớp tiếp theo. Quá trình xử lý tương tự cho đến khi tín hiệu được đưa ra tại các nơron lớp ra. Đây chính là tín hiệu đầu ra của mạng. Nó chính là giá trị của các biến cần tìm.
Mạng nơron có thể tổ chức theo kiểu liên kết đầy đủ (fully connected) tức là đầu ra của các nơron lớp trước sẽ có liên kết với tất cả các nơron ở lớp tiếp theo hoặc ngược Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
wk1
wk2
wk3
∑ F (.)
lại theo kiểu không đầy đủ-mỗi đầu ra chỉ liên kết với một số nơron của lớp tiếp theo tuỳ theo chức năng của mạng.
2.3.2 Phân loại cấu trúc mạng nơ-ron
Mạng dẫn tiến một lớp
Đây là cấu trúc mạng neural đơn giản nhất. Mạng neural này chỉ gồm 1 lớp xuất, không có lớp ẩn.
Input output
Hình: cấu trúc mạng nơ-ron một lớp
Mạng dẫn tiến nhiều lớp
Hình: Cấu trúc mạng nơ-ron nhiều lớp
Mạng neural nhiều lớp có thể giải quyết các bài toán phi tuyến nhờ vào các lớp ẩn. Các lớp ẩn này xen giữa các input bên ngoài và output của mạng. Càng nhiều lớp ẩn thì khả năng mở rộng thông tin càng cao và xử lý tốt mạng có nhiều input và output.
Ngoài ra còn có mạng hồi quy và mạng Neural dạng lưới.
2.3.3 Các hàm hoạt động
Các hàm hoạt động phải có các đặc tinh sau:
- Hàm bị chặn trên và chặn dưới neuron
neuron neuron
neuron
48 - Hàm có tính đơn điệu
- Hàm phải có tính liên tục và trơn
Trong thực tế thông thường người ta thường chọn các hàm sau:
a. Hàm Threhold 1 nếu u > 0
f (u) =
0 nếu u < 0 b. Hàm piecewwise – linear
1 nếu u > 1/2
f (u) = u nếu 1/2 > u > -1/2
0 nếu u < -1/2 c. Hàm sigmoid (logistic) f (u) = 1
1 + exp (-au) d. Hàm tang- hyperbol f (u) = tanh (u) = eu – e-u
eu + e-u 2.4 Kiến trúc mạng nơ-ron
Mạng nơron nhân tạo như đã giới thiệu ở trên là sự liên kết của các nơron nhân tạo. Sự xắp xếp bố trí các nơron và cách thức liên hệ giữa chúng tạo nên kiến trúc mạng nơron. Theo cách sắp xếp nơron thì có kiểu kiến trúc một lớp (single layer) và kiến trúc đa lớp (Multiple layer), còn theo cách liên hệ giữa các nơron thì ta có kiến trúc mạng truyền thẳng (feedforward) và kiến trúc mạng hồi qui (recurrent). Ngoài ra còn một loại liên kết theo sự phân bố của các nơron trong không gian hai chiều trong một lớp, gọi là liên kết bên (lateral connection). Với loại liên kết bên này, Kohonen đã tạo ra loại mạng tự tổ chức (Self-Organizing Neural Network).
Theo số lớp
Nếu xét về số lớp thì mạng có cấu trúc là mạng nơron một lớp và mạng nơron nhiều lớp
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
• Mạng nơron một lớp là mạng chỉ có lớp vào và lớp ra. Đầu vào được đưa trực tiếp đến lớp ra. Mạng này có cấu trúc tương đối đơn giản, nó chủ yếu dùng cho các mạng làm chức năng phân loại và thực hiện các hàm đơn giản.
• Mạng nơron nhiều lớp là các mạng nơron có thêm một hoặc vài lớp ẩn.
Do đó cấu trúc mạng vì vậy mà phức tạp hơn rất nhiều. Tuy nhiên các mạng nơron này lại có khả năng thực hiện các công việc phức tạp hơn. Nó có thể thực hiện được các hàm phân bố ngẫu nhiên với điều kiện thu thập được một tập mẫu tin cậy và đủ lớn.
Theo kiểu liên kết của các nơron
Xét theo kiểu liên kết của các nơron thì có cấu trúc mạng nơron truyền thẳng và mạng nơron quy hồi
• Mạng nơron truyền thẳng (feedforward Neural Network) là mạng có cấu trúc mà ở đó các liên kết nơron đi theo một hướng nhất định, không tạo thành đồ thị có chu trình (Directed Acrylic Graph) với các đỉnh là các nơron và các cung là các liên kết giữa chúng.
• Mạng quy hồi (Recurrent Neural Network) cho phép các liên kết nơron tạo thành chu trình tức là tồn tại những liên kết từ các nơron lớp sau quay trở lai các nơron lớp trước. Trong chu trình này, các tín hiệu ra của nơron lại được truyền ngược lại cho các nơron đã kích hoạt chúng do đó mà mạng hồi quy có khả năng lưu giữ trạng thái trong dưới dạng các ngưỡng kích hoạt ngoài các trọng số liên kết nơron. Mạng hồi quy có thể là hồi quy một lớp hoặc hồi quy nhiều lớp.
Theo liên kết bên
Loại liên kết bên (lateral connection) thực hiện trên một lớp được gọi là lớp cạnh tranh (competitive layer). Lớp cạnh tranh thường được tổ chức như một lưới nơron hai chiều, và một tập tín hiệu vào sẽ đồng thời được đưa đến tất cả các nơron của lớp. Mỗi nơron của lớp cạnh tranh có một liên kết kích thích (excitatory và có trọng số là dương) với chính nó và có các liên kết ức chế (inhibitory và có trọng số là âm) với các nơron lân cận cùng lớp
- - - - - --
+ Lớp cạnh tranh
48 Hình: Liên kết bên trên lớp cạnh tranh
Chúng ta có thể tưởng tượng kiểu liên kết này như một cụm các nơron “cạnh tranh nhau” (competition), mỗi nơron sẽ kích hoạt chính nó đồng thời lại ức chế các nơron khác kế cận. Sau một chu kỳ số trao đổi tín hiệu trong mạng sẽ có các nơron với giá trị đầu vào net lớn hơn so với các nơron khác. Chúng sẽ được coi là các “nơron thắng” (winning neural) và được kích hoạt lên giá trị đầu ra lớn nhất, trong khi những nơron khác bị ức chế (giá trị đầu ra giảm xuống 0). Chính vì vậy đôi khi mạng này còn được gọi là “winner-takes-all”. Quá trình kích hoạt cạnh tranh này gọi là sự tiến hoá (evolution).
2.5 Một số ứng dụng của mạng nơ-ron 2.5.1 Mạng nơ-ron trong phân lớp
Mạng nơron là một công cụ rất tốt cho quá trình phân lớp mẫu dữ liệu, có thể kể đến một số mô hình mạng Perceptron, mạng cạnh tranh, hay SOFM.
Trong lĩnh vực phân cụm dữ liệu thì mạng nơron cũng có rất nhiều ứng dụng tốt.
Đối với phân cụm dữ liệu rõ thì nhiều bài báo nói đến như. Còn trong phân cụm mờ có thể kể đến các kết quả của một số mạng như: mạng ánh xạ đặc trưng tự tổ chức (self- organizing feature maps) do Kohonen đề xuất, mạng Kohonen mờ (fuzzy Kohonen clustering network) do Tsao đề xuất hay mạng Hopfield mờ (fuzzy Hopfield neural network) do Lin đề xuất. Các mạng này đã có sự kết hợp với các công thức của fuzzy c- means để thực hiện quá trình phân cụm.
2.5.2 Mạng nơ-ron trong nhận dạng
Nhận dạng mẫu là một nghành khoa học mà vai trò của nó là phân lớp các đối tượng thành một số loại hoặc một số lớp riêng biệt. Tuỳ thuộc vào lĩnh vực ứng dụng, các đối tượng có thể ở dạng ảnh, dạng tín hiệu, kí hiệu, nói chung là “mẫu” (pattern).
Hiện nay mạng nơron đã được sử dụng rất nhiều vào ngành khoa học này, có thể kể đến một số loại mạng như sau: mạng Perceptron, mạng Adaline, mạng sao vào (Instar)…
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN -
- - - - --
+
Liên kết bên Nơron thắng
Lớp cạnh tranh
2.5.3 Mạng nơ-ron trong dự báo
Hiện nay phân tích dự báo sử dụng mô hình mạng nơron mờ được ứng dụng rộng rãi trong nhiều lĩnh vực, chẳng hạn như phân tích dự báo một số mặt hàng chiến lược ảnh hưởng đến nền kinh tế Việt Nam và ảnh hưởng của chúng có tác động rất lớn đến các hoạt động kinh tế khác. Đây là hướng nghiên cứu mới đang được các nhà khoa học quan tâm.
2.5.4 Mạng nơ-ron và bài toán tối ưu
Vấn đề chính ở đây là tìm những thuật toán huấn luyện mạng sao cho góp phần tìm nghiệm cho nhiều lớp bài toán tối ưu toàn cục.
Có thể nêu lên các bước sau đây trong việc sử dụng mạng nơron để giải các bài toán tối ưu hoá hay còn gọi là ánh xạ các bài toán tối ưu lên mạng nơron:
- Chọn sơ đồ biểu diễn để các đầu ra của các nơron có thể giải mã thành các nghiệm có thể của bài toán tối ưu
- Chọn hàm năng lượng sao cho cực tiểu của nó ứng với nghiệm “tốt nhất” của bài toán cần ánh xạ
- Gán giá trị cho các tham số của hàm năng lượng - điều này sẽ xác định các trọng số tương đối gán cho các thành phần khác nhau của hàm năng lượng
- Rút ra phương trình động học của các nơron (tương ứng với việc xác định các trọng số liên kết và đầu vào ngoài)
- Đặt giá trị đầu cho các tín hiệu vào
Không có phương pháp trực tiếp ánh xạ các bài toán tối ưu có ràng buộc lên mạng nơron ngoại trừ việc thêm vào hàm mục tiêu các thành phần phạt khi các ràng buộc bị phá vỡ. Trong trường hợp hàm năng lượng được biểu diễn như tổng có trọng của hàm mục tiêu của bài toán và các thành phần phạt.