Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 18 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
18
Dung lượng
354,79 KB
Nội dung
Giớithiệuvề mạng nơronnhântạoMạngnơron hay mạngnơronnhântạo là sự tái tạo bằng kỹ thuật những chức năng của hệ thần kinh con người. Trong quá trình tái tạo không phải tất cả các chức năng của bộ não con người có đều được tái tạo, mà chỉ có những chức năng cần thiết. Bên cạnh đó còn có những chức năng mới được tạo ra nhằm giải quyết một bài toán điều khiển đã định hướng trước. Trước khi tìm hiểu vềmạngnơron chúng ta giớithiệu sơ lược vềmạngnơron sinh học. 2.1. Mạngnơron sinh học Não người là tổ chức vật chất cấp cao, có cấu tạo vô cùng phức tạp, dày đặc các mối liên kết giữa các nơron nhưng xử lý thông tin rất linh hoạt trong môi trường bất định. Hình 2.1. Mô hình mạngnơron sinh học Trong bộ não người có khoảng 11 12 10 - 10 tế bào thần kinh được gọi là các nơron và mỗi nơron có thể liên kết với 14 10 nơron khác thông qua các khớp nối thần kinh (synapse). Dưới con mắt của những người làm tin học cấu tạo của mỗi nơron gồm các thành phần cơ bản sau: - Thân nơron được giới hạn trong một màng membran và trong cùng là nhân. Từ thân nơron còn có rất nhiều đường rẽ nhánh tạm gọi là rễ. - “Bus” liên kết nơron này với các nơron khác được gọi là axon, trên axon có các đường rẽ nhánh. Nơron còn có thể liên kết với các nơron khác qua các rễ. Chính vì cách liên kết đa dạng như vậy nên mạngnơron có độ liên kết rất cao. Các rễ của noron được chia làm hai loại: loại nhận thông tin từ các nơron khác qua axon, mà ta sẽ gọi là rễ đầu vào và loại đưa thông tin qua axon tới các nơron khác, gọi là rễ đầu ra. Một nơron có thể có nhiều rễ đầu vào, nhưng chỉ có một rễ đầu ra. Bởi vậy nếu coi nơron như một khâu điều khiển thì nó chính là khâu có nhiều đầu vào, một đầu ra. Một nơron sẽ ở trạng thái kích thích khi tại đầu vào xuất hiện một tín hiệu tác động vượt quá ngưỡng cân bằng của nơron. Một tính chất rất cơ bản của mạngnơron sinh học là các đáp ứng theo kích thích có khả năng thay đổi theo thời gian. Các đáp ứng có thể tăng lên, giảm đi hoặc hoàn toàn biến mất. Qua các nhánh axon liên kết tế bào nơron này với các nơron khác, sự thay đổi trạng thái của một nơron cũng dẫn theo sự thay đổi trạng thái của những nơron khác và do đó là sự thay đổi của toàn bộ mạng nơron. Việc thay đổi trạng thái của mạngnơron có thể thực hiện qua một quá trình “dạy” hoặc do khả năng “học” tự nhiên. Cấu trúc của mạngnơron luôn luôn phát triển và thay đổi để thích nghi dần với môi trường, làm cho cấu trúc bộ não ngày càng trở nên phức tạp sau mỗi lần học. Một số cấu trúc của nơron được xác định trước, một số sau này mới được hình thành và một số thì bị huỷ bỏ qua quá trình chọn lọc tự nhiên, học và thích nghi. Các nhà khoa học đã và đang xây dựng và phát triển các mô hình xử lý thông tin mô phỏng hoạt dộng của bộ não người. Đó chính là mô hình mạngnơronnhân tạo. å M 1 x 2 x n x j y 1 j w nj w 2 j w j q net j ( )f net 2.2. Mạngnơronnhântạo 2.2.1 Mô hình nơronnhântạo Một nơronnhântạo phản ánh các tính chất cơ bản của nơron sinh học. Mỗi nơronnhântạo là một đơn vị xử lí thông tin làm cơ sở cho hoạt động của một mạng nơron. Nó có chức năng nhận tín hiệu vào, tổng hợp và xử lý các tín hiệu vào để tính tín hiệu ra. Dưới đây là một mô hình của một nơronnhân tạo. Hình 2.2. Mô hình một nơronnhântạo Trong đó: - i x với 1,2, .,i n= : các tín hiệu đầu vào. - ij w với 1,2, .,i n= : các trọng số tương ứng với đầu vào. - j q : ngưỡng kích hoạt của nơron j . - net : tín hiệu tổng hợp đầu vào. - ( )f net : Hàm kích hoạt. - j y : tín hiệu ra của nơron j . Đầu vào của nơronnhântạo gồm n tín hiệu i x với 1,2, .,i n= . Mỗi tín hiệu đầu vào tương ứng với một trọng số ij w với 1,2, .,i n= , nó thể hiện mức độ ảnh hưởng của tín hiệu i x đến nơron j . Một nơron có thể có nhiều đầu vào nhưng chỉ có một tín hiệu đầu ra. Tín hiệu đầu vào của một nơron có thể là dữ liệu từ bên ngoài mạng, hoặc đầu ra của một nơron khác, hoặc là đầu ra của chính nó. Nhằm tăng khả năng thích nghi của mạngnơron trong quá trình học, người ta sử dụng gán thêm một tham số (Bias) cho mỗi nơronnhân tạo. Tham số đó còn gọi là trọng số của nơron, ta kí hiệu trọng số của nơron thứ j là j q . Mỗi một nơron trong một mạng kết hợp các giá trị đưa vào nó thông qua các liên kết với nơron khác, sinh ra một giá trị gọi là net . Hàm thực hiện nhiệm vụ này gọi là hàm kết hợp (combination function), được định nghĩa bởi một luật lan truyền cụ thể. Trong phần lớn các mạng nơron, chúng ta giả sử rằng mỗi một nơron cung cấp một bộ cộng như là đầu vào cho đơn vị mà nó liên kết. Để tính tổng hợp tín hiệu đầu vào net , ta giả định net là hàm của các tín hiệu i x và các trọng số ij w . 1 1 2 2 1 . n j j n nj i ij i net x w x w x w x w = = + + + = å . (2.1) Có nhiều cách để tính tổng tín hiệu vào của nơron, trên dây là cách khá đơn giản và hữu ích khi chúng ta xây dựng một mạng có nhiều nơron. Trường hợp 0 ij w > , nơron được coi là đang ở trạng thái kích thích. Tương tự, nếu như 0 ij w < , nơron ở trạng thái kiềm chế. Sau khi tổng hợp được tín hiệu đầu vào net , sử dụng hàm kích hoạt f biến đổi net để thu được tín hiệu đầu ra out . ( ) j j y out f net= = (2.2) Tóm lại có thể xem nơron là một hàm phi tuyến nhiều đầu vào, một đầu ra. Hàm kích hoạt phải thoả mãn các điều kiện sau: - Tín hiệu đầu ra phải không âm với mọi giá trị của net . - Hàm f phải liên tục và bị chặn trong khoảng [ ] 0,1 . Hàm kích hoạt hay còn được gọi là hàm nén vì chúng nén tín hiệu đầu ra vào một khoảng nhỏ. Hàm kích hoạt hay được sử dụng là: 1) Hàm đồng nhất (Linear function, Identity function) ( ) f x x= (2.3) Nếu coi các đầu vào là một đơn vị thì chúng ta sẽ sử dụng hàm này. Đôi khi một hằng số được nhân với net để tạo ra một hàm đồng nhất. 1 -1 1 f(x) 1 x -1 0 1 2 3 4 x -1 f(x) Hình 2.3. Hàm đồng nhất 2) Hàm bước nhị phân (Binary step function, Hard limit function) Hàm này còn được gọi là hàm ngưỡng (Threshold function hay Heaviside function). Đầu ra của hàm này chỉ giới hạn trong hai giá trị: ( ) 1, nÕu x 0, nÕu x< f x q q ì ³ ï ï = í ï ï î (2.4) Dạng hàm này được sử dụng trong các mạng chỉ có một lớp. Trong hình vẽ sau, q được chọn bằng 1. Hình 2.4. Hàm bước nhị phân 3) Hàm sigmoid (Sigmoid function (logsig)) ( ) 1 1 x f x e - = + (2.5) 0 1 Hàm này đặc biệt thuận lợi khi sử dụng cho các mạng được huấn luyện (trained) bởi thuật toán lan truyền ngược (back-propagation), bởi vì nó dễ lấy đạo hàm, do đó có thể giảm đáng kể tính toán trong quá trình huấn luyện. Hàm này được ứng dụng cho các chương trình ứng dụng mà các đẩu ra mong muốn rơi vào khoảng [0,1]. 4) Hàm sigmoid lưỡng cực (Bipolar sigmoid function (tansig)) ( ) 1 1 x x e f x e - - - = + (2.6) Hàm này có các thuộc tính tương tự của hàm sigmoid. Nó làm việc tốt đối với các ứng dụng có đầu ra yêu cầu trong khoảng [-1,1]. 2.2.2 Định nghĩa và phân loại mạngnơronnhân tạo. 2.2.2.1 Định nghĩa Mạngnơronnhântạo là sự mô phỏng hoạt động của bộ não con người. Nó là sự liên giữa các nơron độc lập với nhau. Không có một định nghĩa tổng quát vềmạng nơron, song phần lớn những người làm việc trong lĩnh vực mạngnơron đều có thể đồng ý với định nghĩa sau: “Mạng nơron là một hệ thống bao gồm rất nhiều phần tử xử lý đơn giản hoạt động song song. Tính năng của hệ thống này phụ thuộc vào cấu trúc của hệ thống, cường độ liên kết giữa các phần tử và quá trình xử lý bên trong các phần tử. Hệ thống này có thể học số liệu và có khả năng tổng quát hoá từ các số liệu được học”. Trong định nghĩa trên, các phần tử xử lý được nhắc đến chính là các nơron. 2.2.2.2 Phân loại Liên kết các đầu vào và ra của nhiều nơron với nhau ta được một mạng nơron. Nguyên lý cấu tạo của một mạngnơron bao gồm một hoặc nhiều lớp. Mỗi lớp bao gồm nhiều nơron có cùng một chức năng trong mạng. Mạngnơronnhântạo có thể được chế tạo bằng nhiều cách khác nhau vì vậy trong thực tế tồn tại rất nhiều kiểu mạngnơronnhân tạo. Dựa vào số lớp hay sự liên 1 x 2 x n x 1 y 2 y m y M M kết giữa các lớp trong mạng mà người ta phân mạng nơronnhântạo thành các nhóm khác nhau. * Phân loại theo số lớp Phân loại theo số lớp thì mạng nơronnhântạo gồm có hai nhóm: mạng một lớp và mạng nhiều lớp. - Mạng một lớp Mạng một lớp cấu thành từ một lớp mạng, nó vừa là lớp vào vừa là lớp trung gian và cũng là lớp ra. Một lớp mạng bao gồm một nhóm các nơron được tổ chức theo một cách sao cho tất cả chúng đều nhận cùng một véc tơ đầu vào để xử lý cùng thời điểm. Việc sản sinh ra net đầu vào, biến đổi thành tín hiệu đầu ra out xuất hiện cùng một lúc trong tất cả các nơron. Hình 2.5. Mô hình mạng một lớp. - Mạng nhiều lớp Mạng nhiều lớp được cấu thành từ nhiều lớp liên kết với nhau, bao gồm một lớp vào, lớp ẩn và một lớp ra. Trong đó, lớp nhận tín hiệu đầu vào được gọi là lớp vào. Các tín hiệu đầu ra của mạng được sản sinh bởi lớp ra của mạng. Các lớp nằm giữa lớp vào và lớp ra được gọi là lớp ẩn. Lớp ẩn là thành phần nội tại của mạng, nó không có bất kỳ tiếp xúc nào với môi trường bên ngoài. Số lượng lớp ẩn có thể M n x M m y M M 2 y 1 y M 1 x 2 x dao động từ 0 đến một vài lớp. Tuy nhiên thực tế cho thấy chỉ cần một lớp ẩn là mạng đã đủ để giải quyết được một lớp các bài toán phức tạp nào. Hình 2.6. Mô hình mạng 3 lớp truyền thẳng. * Phân loại theo sự liên kết giữa các lớp Sự liên kết trong mạngnơron tuỳ thuộc vào nguyên lý tương tác giữa đầu ra của từng nơron riêng biệt với nơron khác và tạo ra cấu trúc mạng nơron. Về nguyên tắc sẽ có rất nhiều kiểu liên kết giữa các nơron, nhưng chỉ có một số cấu trúc hay gặp trong ứng dụng sau: - Mạng truyền thẳng (Feedforward neural networks) Dòng dữ liệu đầu vào từ các nơron đầu vào đến các nơron đầu ra chỉ được truyền thẳng. Việc xử lý dữ liệu có thể mở rộng ra nhiều lớp, nhưng không có các liên kết ngược. Tức là, không có các liên kết từ các đơn vị đầu ra tới các đơn vị đầu vào trong cùng một lớp hay các lớp trước đó. Nếu mô hình hoá mạng truyền thẳng bằng một đồ thị, thì nó là một đồ thị có hướng hữu hạn không chu trình. Trong đó, mỗi nơron là một nút, các liên liên kết giữa các nơron là các cung của đồ thị. Hình 2.6 là một minh họa vềmạng truyền thẳng nhiều lớp. lớp vào lớp ẩn lớp ra M n x M m y M M 2 y 1 y M 1 x 2 x - Mạng hồi quy (mạng nối ngược) (Recurrent neural network) Khác với mạng truyền thẳng, mạng hồi quy có chứa các liên kết ngược. Mô hình hoá mạng hồi quy bằng một đồ thị thì nó là một đồ thị có hướng hữu hạn có chu trình. Hình 2.7 minh họa cho một mạng hồi quy. Hình 2.7. Mô hình mạngnơron nhiều lớp hồi quy 2.3. Thủ tục học của mạng nơronnhântạoMạngnơron khi mới hình thành chưa có tri thức, để có thể giải quyết một bài toán cụ thể nào đó thì phải cho mạngnơron học. Mạngnơron học thông qua quá trình huấn luyện mạng bằng một tập dữ liệu (training data). Tiến trình điều chỉnh các trọng số để mạng “nhận biết ” được mối quan hệ giữa đầu vào và đích mong muốn được gọi là học (learning) hay huấn luyện (training) . Rất nhiều thuật toán học đã được phát minh để tìm ra tập trọng số tối ưu làm giải pháp cho bài toán. Các nhân tố quyết định tới khả năng của một mạngnơron gồm: cấu trúc của mạng (số lớp, số nơron trên một lớp, 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. Dựa vào điều này, người ta phân các thuật toán học của mạngnơron thành hai nhóm chính: học cấu trúc và học tham số. . Giới thiệu về mạng nơron nhân tạo Mạng nơron hay mạng nơron nhân tạo là sự tái tạo bằng kỹ thuật những chức năng của. hình mạng nơron nhân tạo. å M 1 x 2 x n x j y 1 j w nj w 2 j w j q net j ( )f net 2.2. Mạng nơron nhân tạo 2.2.1 Mô hình nơron nhân tạo Một nơron nhân tạo