Cấu trúc và hoạt động của mạng Neuron

Một phần của tài liệu Nghiên cứu về mô hình thống kê học sâu và ứng dụng trong nhận dạng chữ viết tay hạn chế (Trang 30 - 35)

Chương 2: MÔ HÌNH SVM VÀ MÔ HÌNH THỐNG KÊ HỌC SÂU

2.2. Cơ sở lý thuyết mô hình thống kê học sâu

2.2.1. Một số lý thuyết về mạng Neuron

2.2.1.2. Cấu trúc và hoạt động của mạng Neuron

Từ định nghĩa ta thấy đơn vị hình thành nên mạng neuron là các neuron.Chức năng của mạng neuron nhân tạo tương tự như chức năng đơn giản nhất của các neuron 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 này đượ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 neuron trong mạng.

Về cơ bản, mỗi neuron sinh học thực hiện nhiệm vụ của mình thông qua các bước: nhận đầu vào, xử lý đầu vào đó, đưa dữ liệu đã được xử lý ra output và liên

lạc với các neuron khác để gửi output này đi. Với bản chất là mô hình mô phỏng đơn của của neuron sinh học, neuron 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 neuron trước nhóm 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 đưa ra một hàm truyền, sau đó gửi kết quả cuối cùng cho các neuron tiếp theo hoặc đưa ra output. Cứ như vậy các neuron này hoạt động phối hợp với nhau tạo thành hoạt động chính của mạng neuron.

Chúng ta có thể hình dung rõ rang hơn quy trình xử lý thông tin của một neuron qua cấu trúc của nó được thể hiện trong hình 2-5.

Hình 2-5: Cấu trúc của một neuron Trong hình vẽ trên:

 ( ,x x1 2,,xp) với p1: là các tín hiệu đầu vào của neuron. Các tín hiệu này có thể là đầu ra của các neuron 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ập các trọng số liên kết của neuron k với p đầu vào tương ứng ( ,x x1 2,,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 neuron, dùng để tính tổng các giá trị kích hoạt lên neuron đó. Thông thường, đây là tổng của các tích giữa đầu vào với

trọng số liên kết tương ứng của neuron.

uk là tổng các giá trị kích hoạt lên neuron thứ k, giá trị này chính là đầu ra của hàm tổng.

bk là ngưỡng (còn gọi là hệ số bias) của neuron thứ k, giá trị này được dùng như một thành phần phân ngưỡng trên hàm truyền và cũng dược cập nhật liên tục trong quá trình học của mạ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 phạm vi đầu ra của nỗi neuron. Đố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 neuron đượ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 đoạn trên. Có rất nhiều hàm truyền thường được dùng, việc lựa chọn hàm truyền nào cho phù hợp tùy thuộc vào từng bài toán.

yk là tín hiệu đầu ra của neuron thứ k, mỗi neuron 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:

( )

k k k

yf ub với

1 p

k kj j

j

u w x



Như vậy, sau quá trình xử lý của neuron trên tập tín hiệu đầu vào ta sẽ thu được một đầu ra duy nhất.

b. Hoạt động của mạng neuron

Một mạng neuron có thể có nhiều lớp/tầng mạng và ít nhất phải có một lớp đó là lớp đầu ra (lớp đầu vào thường không được tính là một lớp mạng). Mỗi lớp có thể có một hoặc nhiều neuron. Cấu trúc tổng quát của mạng neuron được thể hiện trong hình 2-6 dưới đây:

Hình 2-6: Cấu trúc chung của mạng neuron

Mạng neuron với cấu trúc như hình vẽ trên có thể mô tả như sau:

 Đầu vào của mạng vector có kích thước p: ( ,x x1 2,,xp) và đầu ra là vector a a1, 2,,aq có kích thước q. Trong vài toán phân loại mẫu, kích thước đầu vào của mạng là kích thước của mẫu đầu vào, kích thước đầu ra của mạng chính là số lớp cần phân loại. Ví dụ, trong bài toán nhận dạng chữ số, kích thước đầu ra của mạng là 10 tương ứng với 10 chữ số 0,…,9, trong vài toán nhận dạng chữ cái tiếng Anh viết thường, kích thước đầu ra của mạng là 26 tương ứng với 26 chữ cái a…z.

 Lớp đầu tiên là lớp H1, sau đó đến lớp ẩn thứ hai H2, tiếp tục như vậy cho đến lớp ẩn cuối cùng rồi lớp đầu ra O.

 Các neuron trong các lớp có cấu trúc như trên hình 2-4, liên kết giữa các neuron giữa các lớp có thể là liên kết đầy đủ (mỗi neuron thuộc lớp sau liên kết với tất cả các neuron ở lớp trước nó) hoặc liên kết chọn lọc (mỗi neuron thuộc lớp sau liên kết với tất cả neuron ở 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 neuron 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 neuron 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 neuron nhận vector đầu vào rồi xử lý (tính tổng có 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 tới khi thu được đầu ra sau lớp O, đầu ra này chính là đầu ra cuối cùng của mạng.

Bàn về mô hình mạng neuron thường gặp, mô hình mà chúng ta hay gặp nhất là mạng neuron nhiều tầng truyền thẳng MLP (Multi Layer Perceptrons). Mạng này có cấu trúc như mô tả trên hình 2-6 chỉ cụ thể hơn ở chỗ: liên kết giữa các neuron ở các lớp thường là liên kết đầu đủ. Nhiều thực nghiệm đã chứng minh rằng:

mạng MLP (chỉ cần hai lớp neuron) với thuật toán huấn luyện và thuật toán lan truyền ngược sai số và hàm truyền sigmoid là một trong những mô hình có thể sử dụng để giải quyết các bài toán nhận dạng chữ viết.

c. Hàm truyền

Có rất nhiều hàm truyền có thể dùng trong các mạng neuron. Hàm truyền được phân loại theo hàm tuyến tính hoặc phi tuyến, hàm liên tục hay gián đoạn. Việc lựa chọn hàm truyền phù hợp với bài toán thường được tiến hành qua thực nghiệm.

Trong bảng dưới đây, chúng ta dùng công thức yf x( ) để biểu diện hàm truyền.

Bảng 2-1: Các hàm truyền cơ bản

Tên hàm truyền Đồ thị Miền giá trị Ứng dụng

Symmetrical hard limit (hardlim)

1 0

1 0

if x

y if x

 

 

 

Sử dụng ở tầng ra của mạng neuron trong các bài

toán phân loại hai lớp

Linear (purelin) yx

Sử dụng trong mạng

ADALINE

Hàm Saturating Linear (satlin)

0 0

0 1

1 1

if x

y x if x

if x

 

  

 

Sử dụng trong mạng

ADALINE

Log-Sigmoid (sigmoid)

1

1 n

ye

Sử dụng trong mạng neuron nhiều

tầng

Một phần của tài liệu Nghiên cứu về mô hình thống kê học sâu và ứng dụng trong nhận dạng chữ viết tay hạn chế (Trang 30 - 35)

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

(70 trang)