GIỚI THIỆU MẠNG NƠ-RON

Một phần của tài liệu Nghiên cứu phương pháp nhận dạng chữ quang học và ứng dụng nhận dạng thẻ bảo hiểm y tế (Trang 41)

6. BỐ CỤC LUẬN VĂN

2.1. GIỚI THIỆU MẠNG NƠ-RON

2.1.1. Khái niệm cơ bản

Theo các nhà nghiên cứu sinh học về bộ não, hệ thống thần kinh của con ngƣời bao gồm khoảng 100 tỷ tế bào thần kinh, thƣờng gọi là các nơ-ron. Mỗi tế bào nơ- ron gồm ba phần [4]:

• Thân nơ-ron với nhân bên trong (gọi là soma), là nơi tiếp nhận hay phát ra các xung động thần kinh.

• Một hệ thống dạng cây các dây thần kinh vào (gọi là dendrite) để đƣa tín hiệu tới nhân nơ-ron. Các dây thần kinh vào tạo thành một lƣới dày đặc xung quanh thân nơ-ron, chiếm diện tích khoảng 0,25 mm2

• Đầu dây thần kinh ra (gọi là sợi trục axon) phân nhánh dạng hình cây, có thể dài từ một cm đến hàng mét. Chúng nối với các dây thần kinh vào hoặc trực tiếp với nhân tế bào của các nơ-ron khác thông qua các khớp nối (gọi là synapse). Thông thƣờng mỗi nơ-ron có thể có từ vài chục cho tới hàng trăm ngàn khớp nối để nối với các nơ-ron khác. Có hai loại khớp nối, khớp nối kích thích (excitatory) sẽ cho tín hiệu qua nó để tới nơ-ron còn khớp nối ức chế (inhibitory) có tác dụng làm cản tín hiệu tới nơ-ron. Ngƣời ta ƣớc tính mỗi nơ-ron trong bộ não của con ngƣời có khoảng 104 khớp nối (hình 2.1)

Chức năng cơ bản của các tế bào nơ-ron là liên kết với nhau để tạo nên hệ thống thần kinh điều khiển hoạt động của cơ thể sống. Các tế bào nơ-ron truyền tín hiệu cho nhau thông qua các dây thần kinh vào và ra, các tín hiệu đó có dạng xung điện và đƣợc tạo ra từ các quá trình phản ứng hoá học phức tạp. Tại nhân tế bào, khi điện thế của tín hiệu vào đạt tới một ngƣỡng nào đó thì nó sẽ tạo ra một xung điện dẫn tới các nơ-ron khác.

Với mục đích tạo ra một mô hình tính toán phỏng theo cách làm việc của nơ- ron trong bộ não con ngƣời, vào năm 1943, các tác giả McCulloch và Pitts [10] đã đề xuất mô hình toán cho một nơ-ron nhƣ sau:

Hình 2.2. Mô hình nơ-ron nhân tạo

Trong mô hình này, một nơ-ron thứ i sẽ nhận các tín hiệu vào xj với các

trọng số tƣơng ứng là wij , tổng các thông tin vào có trọng số là

1 w m ij j j x  

Thông tin đầu ra ở thời điểm t+1 đƣợc tính từ các thông tin đầu vào nhƣ sau:

 ij 

( 1) w j( ) i

out t gx t  (2.1) Trong đó g là hàm kích hoạt (còn gọi là hàm chuyển) có dạng là hàm bƣớc nhảy, nó đóng vai trò biến đổi từ thông tin đầu vào thành tín hiệu đầu ra.

( ) { (2.2) Nhƣ vậy, out = 1 (ứng với việc nơ-ron tạo tín đầu ra) khi tổng các tín hiệu vào lớn hơn ngƣỡng θi , còn out = 0 (nơ-ron không tạo tín hiệu ở đầu ra) khi tổng các tín hiệu vào nhỏ hơn ngƣỡng θi.

Trong mô hình nơ-ron, các trọng số wij thể hiện ảnh hƣởng của khớp nối trong liên kết giữa nơ-ron j (nơ-ron gửi tín hiệu) và nơ-ron i (nơ-ron nhận tín hiệu). Trọng số wij dƣơng ứng với khớp nối kích thích, trọng số âm ứng với khớp nối ức chế còn wij

bằng 0 khi không có liên kết giữa hai nơ-ron. Hàm chuyển g ngoài dạng hàm bƣớc nhảy còn có thể chọn nhiều dạng khác nhau và sẽ đƣợc đề cập ở các phần sau.

2.1.2. Mô hình mạng nơ-ron nhân tạo

Nhƣ đã đƣợc giới thiệu, mạng nơ-ron nhân tạo (ANN) là một hệ thống xử lý thông tin đƣợc xây dựng trên cơ sở tổng quát hoá mô hình toán học của nơ-ron sinh học và phỏng theo cơ chế làm việc của bộ não con ngƣời. Mạng nơ-ron nhân tạo đƣợc thể hiện thông qua ba thành phần cơ bản: mô hình của nơ-ron, cấu trúc và sự liên kết giữa các nơ-ron, phƣơng pháp học đƣợc áp dụng cho mạng nơ-ron.

2.1.2.1. Các phần tử xử lý

Việc xử lý thông tin tại mỗi nơ-ron có thể xem là gồm hai phần: xử lý tín hiệu vào (input) và đƣa tín hiệu ra (output). Tƣơng ứng với phần vào của mỗi nơ- ron là một hàm tƣơng tác (interaction) f, hàm này kết hợp các thông tin truyền tới nơ-ron và tạo thành thông tin đầu vào tổng hợp (gọi là net input) của nơ-ron đó.

Một nơ-ron thứ i trong mạng thƣờng có hàm fi ở dạng tuyến tính nhƣ sau [14][17]: 1 : w m i i ij j i j f net x     (2.3) Thao tác thứ hai trong mỗi nơ-ron là tính giá trị đầu ra tƣơng ứng với giá trị đầu vào f thông qua hàm kích hoạt hay còn gọi là hàm chuyển g(f) (hàm kích hoạt). Một số hàm chuyển thƣờng đƣợc sử dụng:

- Hàm bƣớc nhảy

( ) { (2.4) - Hàm dấu

- Hàm sigmoid 1 ( ) 1 f g f e   hoặc 2 ( ) 1 1 f g f e    (2.6)

2.1.2.2. Liên kết trong mạng nơ-ron nhân tạo

Mạng nơ-ron nhân tạo gồm các nơ-ron và liên kết có trọng số giữa chúng. ANN tạo nên một hệ thống xử lý thông tin làm việc trên cơ sở phỏng theo cách làm việc của hệ thống các nơ-ron trong bộ não con ngƣời. Tuy nhiên, trong bộ não của con ngƣời, các tế bào nơ-ron liên kết với nhau chằng chịt và tạo nên một mạng lƣới vô cùng phức tạp.

Các loại mạng nơ-ron nhân tạo [4] đƣợc xác định bởi cách liên kết giữa các nơ-ron, trọng số của các liên kết đó và hàm chuyển tại mỗi nơ-ron. Các hình vẽ dƣới đây thể hiện các cách kết nối khác nhau.

Hình 2.3.Mạng nơ-ron nhân tạo chỉ có một nút và có sự phản hồi

Mạng nơ-ron truyền thẳng một lớp là loại mạng chỉ có lớp nơ-ron đầu vào và một lớp nơ-ron đầu ra (thực chất lớp nơ-ron đầu vào không có vai trò xử lý, do đó ta nói mạng chỉ có một lớp). Loại mạng này còn đƣợc gọi là mạng perceptron một lớp. Mỗi nơ-ron đầu ra có thể nhận tín hiệu từ các đầu vào x1, x2, …, xmđể tạo ra tín hiệu đầu ra tƣơng ứng.

Hình 2.4. Mạng nơ-ron truyền thẳng một lớp [6]

Mạng nơ-ron truyền thẳng nhiều lớp, lớp nhận tín hiệu vào của mạng gọi là lớp vào (input layer), nó thƣờng không thực hiện việc chuyển đổi thông tin mà chỉ làm chức năng nhận tín hiệu. Tín hiệu ra của mạng đƣợc đƣa ra từ lớp ra (output layer). Các lớp ở giữa lớp vào và lớp ra gọi là các lớp ẩn. Trong mạng truyền thẳng (feedforward network) không có nút nào mà đầu ra của nó là đầu vào của một nút khác trên cùng lớp với nó hoặc lớp trƣớc.

Mạng có phản hồi (feedback network) là mạng mà đầu ra của một nơ-ron có thể trở thành đầu vào của nơ-ron trên cùng một lớp hoặc của lớp trƣớc đó. Mạng feedback network có chu trình khép khín gọi là mạng quy hồi (recurrent network).

2.1.2.3. Các luật học của mạng nơ-ron nhân tạo

Luật học là yếu tố quan trọng tạo nên một mạng nơ-ron nhân tạo. Có hai vấn đề cần học đối với mỗi mạng nơ-ron nhân tạo đó là học tham số (parameter learning) và học cấu trúc (structure learning).

Học tham số là việc thay đổi trọng số của các liên kết giữa các nơ-ron trong một mạng, còn học cấu trúc là việc điều chỉnh cấu trúc của mạng bao gồm thay đổi số lớp nơ-ron, số nơ-ron của mỗi lớp và cách liên kết giữa chúng. Hai vấn đề này có thể đƣợc thực hiện đồng thời hoặc tách biệt.

Về mặt phƣơng pháp học, có thể chia ra làm ba loại: học có giám sát hay còn gọi là học có thầy (supervised learning), học tăng cƣờng (reinforcement learning) và học không có giám sát hay còn gọi là học không có thầy (unsupperviced learning).

2.1.3. Khả năng ứng dụng của mạng nơ-ron nhân tạo

Đặc trƣng của mạng nơ-ron nhân tạo là khả năng học và xử lý song song. Nó có thể gần đúng mối quan hệ tƣơng quan phức tạp giữa các yếu tố đầu vào và đầu ra của các quá trình cần nghiên cứu và khi đã học đƣợc thì việc kiểm tra độc lập thƣờng cho kết quả tốt. Sau khi đã học xong, mạng nơ-ron nhân tạo có thể tính toán kết quả đầu ra tƣơng ứng với bộ số liệu đầu vào mới.

Về mặt cấu trúc, mạng nơ-ron nhân tạo là một hệ thống gồm nhiều phần tử xử lý đơn giản cùng hoạt động song song. Tính năng này của ANN cho phép nó có thể đƣợc áp dụng để giải các bài toán lớn.

Mạng nơ-ron có những tính chất sau đây:

 Một là, tính phi tuyến. Đây là một tính chất này rất quan trọng. Mạng nơ- ron nhân tạo có thể tính toán một cách tuyến tính hay phi tuyến. Nó cho phép mạng nơ- ron tạo ra các mặt cắt trong không gian dữ liệu không phải là siêu phẳng mà lồi

lõm không đều. Nhƣ vậy không gian mẫu có thể chia thành nhiều miền. Mỗi miền đƣợc gọi là một lớp. Đặc trƣng này đƣợc sử dụng nhiều, ví dụ trong xấp xỉ mạng, miền nhiễu và có khả năng phân lớp.

 Hai là, tự thích nghi và tự tổ chức. Các mạng nơ-ron có khả năng xử lý thích nghi và điều chỉnh bền vững dựa vào các thuật toán học và quy tắc tự tổ chức. Khả năng xử lý thích nghi thể hiện ở khả năng biến đổi các trọng số trong mạng tuỳ theo sự thay đổi của môi trƣờng xung quanh. Một mạng nơ-ron đã đƣợc huấn luyện trong môi trƣờng xác định, vẫn có thể thích nghi trong môi trƣờng khác bằng cách tự thay đổi trọng số các kết nối. Vì vậy dù mẫu không ổn định hay bị nhiễu thì nó vấn có thể đáp ứng thích hợp. Tuy nhiên, không phải lúc nào tính tự thích nghi cũng mang lại hiệu quả hay sức mạnh cho mạng.

 Ba là, tính chịu lỗi. Não của con ngƣời có khả năng dung thứ lỗi, tức là với những thông tin thiếu chính xác, không đầy đủ mà vẫn có thể xử lý, giải quyết đƣợc các vấn đề đặt ra. Mạng nơ-ron bắt chƣớc khả năng này của bộ não. Hệ thống mạng nơ-ron vẫn có thể tiếp tục hoạt động và điều chỉnh, khi nhận tín hiệu vào có một phần thông tin bị sai lệch hay bị thiếu. Khi một số nơ-ron không thực hiện tính toán, hay một vài kết nối bị hỏng thì khả năng của mạng chỉ bị giảm đi chứ không bị đổ vỡ. Mạng nơ-ron luôn đƣa ra kết quả thích hợp trong mọi tình huống.

 Bốn là, tính đồng dạng trong thiết kế. Các mô hình mạng nơ-ron đều có chung đặc điểm là đƣợc cấu thành từ các nơ-ron riêng biệt liên kết với nhau. Liên kết càng phức tạp thì mô hình mạng nơ-ron càng mạnh. Các mạng tổ hợp có thể xây dựng bằng cách tích hợp nhiều mạng khác nhau.

Với những đặc điểm đó, mạng nơ-ron nhân tạo đã đƣợc sử dụng để giải quyết nhiều bài toán thuộc nhiều lĩnh vực của các ngành khác nhau. Các nhóm ứng dụng mà mạng nơ-ron nhân tạo đã đƣợc áp dụng rất có hiệu quả là [4]:

• Bài toán phân lớp: Loại bài toán này đòi hỏi giải quyết vấn đề phân loại các đối tƣợng quan sát đƣợc thành các nhóm dựa trên các đặc điểm của các nhóm

đối tƣợng đó. Đây là dạng bài toán cơ sở của rất nhiều bài toán trong thực tế: nhận dạng chữ viết, tiếng nói, phân loại gen, phân loại chất lƣợng sản phẩm,…

Bài toán dự báo: Mạng nơ-ron nhân tạo đã đƣợc ứng dụng thành công trong việc xây dựng các mô hình dự báo sử dụng tập dữ liệu trong quá khứ để dự đoán số liệu trong tƣơng lai. Đây là nhóm bài toán khó và rất quan trọng trong nhiều ngành khoa học.

• Bài toán điều khiển và tối ƣu hoá: Nhờ khả năng học và xấp xỉ hàm mà mạng nơ-ron nhân tạo đã đƣợc sử dụng trong nhiều hệ thống điều khiển tự động cũng nhƣ góp phần giải quyết những bài toán tối ƣu trong thực tế. Tóm lại, mạng nơ-ron nhân tạo đƣợc xem nhƣ là một cách tiếp cận đầy tiềm năng để giải quyết các bài toán có tính phi tuyến, phức tạp và đặc biệt là trong tình huống mối quan hệ bản chất vật lý của quá trình cần nghiên cứu không dễ thiết lập tƣờng minh.

2.2. MẠNG TRUYỀN THẲNG MỘT LỚP 2.2.1. Mạng perceptron một lớp 2.2.1. Mạng perceptron một lớp

Mạng perceptron một lớp do Rosenblatt đề xuất năm 1960 [14,17] là mạng nơ-ron truyền thẳng chỉ một lớp vào và một lớp ra không có lớp ẩn. Trên mỗi lớp này có thể có một hoặc nhiều nơ-ron. Mô hình mạng nơ-ron của Rosenblatt sử dụng hàm ngƣỡng đóng vai trò là hàm chuyển. Do đó, tổng của các tín hiệu vào lớn hơn giá trị ngƣỡng thì giá trị đầu ra của nơ-ron sẽ là 1, còn trái lại sẽ là 0.

(2.7) với neti wijxj là tổng các giá trị vào có trọng số của nơ-ron i, trong đó

wijlà trọng số liên kết từ nơ-ron j tới nơ-ron i , xj là đầu vào từ nơ-ron j, và θ là ngƣỡng của nơ-ron i. Việc huấn luyện mạng dựa trên phƣơng pháp học có giám sát với tập mẫu học là {(x(k), t(k))}, k= 1,2, …, p. Nhƣ hình 2.4 một mạng truyền thẳng

với t(k) = [t1(k), t2(k), …, tn(k)]T là véc tơ đầu ra mong muốn, tƣơng ứng với vec tơ đầu vào x(k) = [x1(k), x2(k), …, xm(k)]T và kết quả hiện thời là y(k) = [y1(k), y2(k), …, yn(k)]T (với m là số đầu vào, n là số đầu ra và p là số mẫu dùng cho việc học)

2.2.2. Quá trình học của mạng truyền thẳng một lớp

Với mỗi mẫu học {(x(k), t(k))}, k= 1,2, …, p các bƣớc đƣợc thực hiện [14][17]:

Bƣớc 1:

Tính giá trị y(k) theo công thức 2.8

1 ( ) (w ( )) ( w (k)) m T i i ij j j y k g x k g x     với i=1,2,…,n; k=1,2,…,p (2.8) Bƣớc 2:

Xác định sai số ei tại nơ-ron i: ei = ti – yi, trong đó tilà giá trị đầu ra mong muốn và yilà giá trị đầu ra tính toán tại nơ-ron thứ i.

Bƣớc 3:

Tính ∆wij là số gia của trọng số wij (trọng số liên kết giữa đầu vào j tới nơ- ron i) theo công thức 2.9

wij =ηeixjtrong đó η là tốc độ học (0<η<1). (2.9)

Bƣớc 4:

Hiệu chỉnh wij(t+1) = wij(t) + ∆wij =wij(t) +ηδi(t)xj(t) trong đó wij(t+1) là trọng số sau khi điều chỉnh ở lần học tại thời điểm t.

Sau quá trình học, đầu ra tính toán đƣợc y(k) sẽ bằng đầu ra với mẫu học t(k)

thảo phƣơng trình (2.10) 1 ( ) (w ( )) ( w (k)) ( ) m T i i ij j i j y k g x k g x t k      với i=1,2,…,n; k=1,2,…,p (2.10)

2.3. MẠNG TRUYỀN THẲNG NHIỀU LỚP 2.3.1. Mạng perceptron nhiều lớp 2.3.1. Mạng perceptron nhiều lớp

Mạng perceptron nhiều lớp (MLP) [4] còn đƣợc gọi là mạng truyền thẳng nhiều lớp là sự mở rộng của mô hình mạng perceptron với sự bổ sung thêm những lớp ẩn và các nơ-ron trong các lớp ẩn này có hàm chuyển (hàm kích hoạt) dạng phi tuyến. Mạng MLP có một lớp ẩn là mạng nơ-ron nhân tạo đƣợc sử dụng phổ biến nhất, nó có thể xấp xỉ các hàm liên tục đƣợc định nghĩa trên một miền có giới hạn cũng nhƣ những hàm là tập hợp hữu hạn của các điểm rời rạc.

2.3.2. Thuật toán học theo phƣơng pháp lan truyền ngƣợc sai số [6]

Thuật toán học lan truyền ngƣợc (truyền lỗi) do Rumelhart và cộng sự đề xuất [11] là một trong số những kết quả nghiên cứu quan trọng nhất đối với sự phát triển của mạng nơ-ron nhân tạo. Thuật toán này đƣợc áp dụng cho mạng truyền thẳng nhiều lớp trong đó các nơ-ron có thể sử dụng các hàm chuyển có các dạng khác nhau. Thuật toán sử dụng một tập các mẫu gồm các cặp vào - ra để huấn luyện mạng. Hình 2.6 mô tả một ví dụ của quá trình huấn luyện mạng truyền thẳng có nhiều lớp. Mạng nơ-ron đƣợc xét có m nơ-ron ở lớp vào, q nơ-ron trong lớp ẩn và n

nơ-ron ở lớp ra. Đƣờng kẻ liền thể hiện luồng tín hiệu đƣợc truyền thuận từ đầu vào tới đầu ra còn các đƣờng kẻ nét đứt thể hiện luồng tín hiệu lỗi đƣợc truyền ngƣợc trở lại từ đầu ra. Trọng số của liên kết từ nơ-ron j của lớp vào tới nơ-ron s của lớp ẩn ký hiệu là vsj và trọng số của kết nối từ nơ-ron h của lớp ẩn tới nơ-ron i của lớp ra ký hiệu là wis

Hình 2.6. Lan truyền tín hiệu theo phương pháp lan truyền ngược [6]

Một phần của tài liệu Nghiên cứu phương pháp nhận dạng chữ quang học và ứng dụng nhận dạng thẻ bảo hiểm y tế (Trang 41)

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

(86 trang)