1. Trang chủ
  2. » Thể loại khác

Lý Thuyết Mạng Nơron

15 201 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Lý Thuyết Mạng Nơron Tổng quan mạng nơron Mạng nơron nhân tạo Mạng noron nhân tạo (Artifical Neural Networks) mô lại mạng noron sinh học cấu trúc khối gồm đơn vị tính tốn đơn giản liên kết chặt chẽ với nhautrong liên kết noron định chức mạng Các đặc trưng mạng nơron - Gồm tập đơn vị xử lý (các noron nhân tạo) - Trạng thái kích hoạt hay đầu đơn vị xử lý - Liên kết đơn vị Xét tổng quát, liên kết định nghĩa trọng số Wjk cho ta biết hiệu ứng mà tín hiệu đơn vị j có đơn vị k - Một luật lan truyền định cách tính tín hiệu đơn vị từ đầu vào - Một hàm kích hoạt, hay hàm chuyển (activation function, transfer function), xác định mức độ kích hoạt khác dựa mức độ kích hoạt - Một đơn vị điều chỉnh (độ lệch) (bias, offset) đơn vị - Phương pháp thu thập thông tin (luật học - learning rule) - Môi trường hệ thống hoạt động Các thành phần mạng nơron nhân tạo 3.1 Đơn vị xử lý Còn gọi nơron hay nút (node), thực công việc đơn giản: nhận tín hiệu vào từ đơn vị phía trước hay nguồn bên ngồi sử dụng chúng để tính tín hiệu lan truyền sang đơn vị khác Hình 2.6 – Đơn vị xử lý (Processing Unit) Trong đó: xi : đầu vào wji : trọng số tương ứng với đầu vào θj : độ lệch (bias) aj : đầu vào mạng (net-input) zj : đầu nơron g(x): hàm chuyển (hàm kích hoạt) Trong mạng nơron có ba kiểu đơn vị: - Các đơn vị đầu vào (Input units), nhận tín hiệu từ bên ngồi - Các đơn vị đầu (Output units), gửi liệu bên ngồi - Các đơn vị ẩn (Hidden units), tín hiệu vào (input) (output) nằm mạng Mỗi đơn vị j có nhiều đầu vào: x0, x1, x2, … xn, có đầu zj Một đầu vào tới đơn vị liệu từ bên ngồi mạng, đầu đơn vị khác, đầu 3.2 Hàm kết hợp Mỗi đơn vị mạng kết hợp giá trị đưa vào thơng qua liên kết với đơn vị khác, sinh giá trị gọi net input Hàm thực nhiệm vụ gọi hàm kết hợp (combination function), định nghĩa luật lan truyền cụ thể Trong phần lớn mạng nơron, giả sử đơn vị cung cấp cộng đầu vào cho đơn vị mà có liên kết Tổng đầu vào đơn vị j đơn giản tổng trọng số đầu riêng lẻ từ đơn vị kết nối cộng thêm ngưỡng hay độ lệch (bias) θj : Trường hợp wji > 0, nơron coi trạng thái kích thích Tương tự, wji < 0, nơron trạng thái kiềm chế Chúng ta gọi đơn vị với luật lan truyền sigma units Trong vài trường hợp người ta sử dụng luật lan truyền phức tạp Một số luật sigma-pi, có dạng sau: Rất nhiều hàm kết hợp sử dụng "độ lệch" hay "ngưỡng" để tính net input tới đơn vị Đối với đơn vị đầu tuyến tính, thơng thường, θj chọn số toán xấp xỉ đa thức θj = 3.3 Hàm kích hoạt Phần lớn đơn vị mạng nơron chuyển net input cách sử dụng hàm vô hướng (scalar-to-scalar function) gọi hàm kích hoạt, kết hàm giá trị gọi mức độ kích hoạt đơn vị (unit's activation) Loại trừ khả đơn vị thuộc lớp ra, giá trị kích hoạt đưa vào hay nhiều đơn vị khác Các hàm kích hoạt thường bị ép vào khoảng giá trị xác định, thường gọi hàm bẹp (squashing) Các hàm kích hoạt hay sử dụng là:  Hàm đồng (Linear function, Identity function ) Nếu coi đầu vào đơn vị chúng sử dụng hàm Đôi số nhân với net-input để tạo hàm đồng Hình 2.7 – Hàm đồng (Identity function)  Hàm bước nhị phân (Binary step function, Hard limit function) Hàm biết đến với tên "Hàm ngưỡng" (Threshold function hay Heaviside function) Đầu hàm giới hạn vào hai giá trị: Dạng hàm sử dụng mạng có lớp Trong hình vẽ sau, θ chọn Hình 2.8 – Hàm bước nhị phân (Binary step function)  Hàm sigmoid (Sigmoid function (logsig)) Hàm đặc biệt thuận lợi sử dụng cho mạng huấn luyện (trained) thuật toán Lan truyền ngược (back-propagation), dễ lấy đạo hàm, giảm đáng kể tính tốn q trình huấn luyện Hàm ứng dụng cho chương trình ứng dụng mà đầu mong muốn rơi vào khoảng [0,1] Hình 2.9 – Hàm Sigmoid  Hàm sigmoid lưỡng cực (Bipolar sigmoid function (tansig)) Hàm có thuộc tính tương tự hàm sigmoid Nó làm việc tốt ứng dụng có đầu yêu cầu khoảng [-1,1] Hình 2.10 – Hàm sigmoid lưỡng cực Các hàm chuyển đơn vị ẩn (hidden units) cần thiết để biểu diễn phi tuyến vào mạng Lý hợp thành hàm đồng hàm đồng Mặc dù mang tính chất phi tuyến (nghĩa là, khả biểu diễn hàm phi tuyến) làm cho mạng nhiều tầng có khả tốt biểu diễn ánh xạ phi tuyến Tuy nhiên, luật học lan truyền ngược, hàm phải khả vi (differentiable) có ích hàm gắn khoảng Do vậy, hàm sigmoid lựa chọn thông dụng Đối với đơn vị đầu (output units), hàm chuyển cần chọn cho phù hợp với phân phối giá trị đích mong muốn Chúng ta thấy giá trị khoảng [0,1], hàm sigmoid có ích; giá trị đích mong muốn liên tục khoảng hàm có ích, cho ta giá trị hay giá trị đích khoảng hàm kích hoạt đầu Nhưng giá trị đích khơng biết trước khoảng xác định hàm hay sử dụng hàm đồng (identity function) Nếu giá trị mong muốn dương khơng biết cận nên sử dụng hàm kích hoạt dạng mũ (exponential output activation function) Các hình trạng mạng Hình trạng mạng định nghĩa bởi: số lớp (layers), số đơn vị lớp, liên kết lớp Các mạng tổng thể chia thành hai loại dựa cách thức liên kết đơn vị: 4.1 Mạng truyền thẳng (Feed-forward neural network): Dòng liệu từ đơn vị đầu vào đến đơn vị đầu truyền thẳng Việc xử lý liệu mở rộng nhiều lớp, khơng có liên kết phản hồi Nghĩa là, liên kết mở rộng từ đơn vị đầu tới đơn vị đầu vào lớp hay lớp trước khơng cho phép Hình 2.11 – Mạng nơron truyền thẳng nhiều lớp (Feed-forward neural network) 4.2 Mạng hồi quy (Recurrent neural network): Có chứa liên kết ngược Khác với mạng truyền thẳng, thuộc tính động mạng quan trọng Trong số trường hợp, giá trị kích hoạt đơn vị trải qua trình nới lỏng (tăng giảm số đơn vị thay đổi liên kết) mạng đạt đến trạng thái ổn định giá trị kích hoạt khơng thay đổi Trong ứng dụng khác mà cách chạy động tạo thành đầu mạng thay đổi giá trị kích hoạt đáng quan tâm Hình 2.12 – Mạng nơron hồi quy (Recurrent neural network) Huấn luyện mạng Chức mạng nơron định nhân tố như: hình trạng mạng (số lớp, số đơn vị tầng, cách mà lớp liên kết với nhau) trọng số liên kết bên mạng Hình trạng mạng thường cố định, trọng số định thuật toán huấn luyện (training algorithm) Tiến trình điều chỉnh trọng số để mạng “nhận biết” quan hệ đầu vào đích mong muốn gọi học (learning) hay huấn luyện (training) Rất nhiều thuật toán học phát minh để tìm tập trọng số tối ưu làm giải pháp cho tốn Các thuật tốn chia làm hai nhóm chính: Học có thầy (Supervised learning) Học khơng có thầy (Unsupervised Learning) 5.1 Học có thầy (Supervised learning): Mạng huấn luyện cách cung cấp cho cặp mẫu đầu vào đầu mong muốn (target values) Các cặp cung cấp "thầy giáo", hay hệ thống mạng hoạt động Sự khác biệt đầu thực tế so với đầu mong muốn thuật tốn sử dụng để thích ứng trọng số mạng Điều thường đưa toán xấp xỉ hàm số - cho liệu huấn luyện bao gồm cặp mẫu đầu vào x, đích tương ứng t, mục đích tìm hàm f(x) thoả mãn tất mẫu học đầu vào Hình 2.13 – Mơ hình Học có thầy (Supervised learning model) 5.2 Học khơng có thầy (Unsupervised Learning): Với cách học khơng có thầy, khơng có phản hồi từ môi trường để đầu mạng Mạng phải khám phá đặc trưng, điều chỉnh, mối tương quan, hay lớp liệu vào cách tự động Trong thực tế, phần lớn biến thể học khơng có thầy, đích trùng với đầu vào Nói cách khác, học khơng có thầy thực công việc tương tự mạng tự liên hợp, cô đọng thông tin từ liệu vào Hàm mục tiêu Để huấn luyện mạng xét xem thực tốt đến đâu, ta cần xây dựng hàm mục tiêu (hay hàm giá) để cung cấp cách thức đánh giá khả hệ thống cách không nhập nhằng Việc chọn hàm mục tiêu quan trọng hàm thể mục tiêu thiết kế định thuật tốn huấn luyện áp dụng Để phát triển hàm mục tiêu đo xác muốn việc dễ dàng Một vài hàm sử dụng rộng rãi Một số chúng hàm tổng bình phương lỗi (sum of squares error function) Trong p: số thứ tự mẫu tập huấn luyện i : số thứ tự đơn vị đầu tpi ypi : tương ứng đầu mong muốn đầu thực tế mạng cho đơn vị đầu thứ i mẫu thứ p Trong ứng dụng thực tế, cần thiết làm phức tạp hàm số với vài yếu tố khác để kiểm sốt phức tạp mơ hình Mạng truyền thẳng thuật tốn lan truyền ngược Để đơn giản tránh hiểu nhầm, mạng truyền thẳng trình bày phần mạng truyền thẳng có nhiều lớp (MLP - MultiLayer Perceptron) Đây mạng truyền thẳng điển hình, thường sử dụng hệ thống nhận dạng Mạng truyền thẳng MLP Một mạng truyền thẳng nhiều lớp bao gồm lớp vào, lớp nhiều lớp ẩn Các nơron đầu vào thực chất nơron theo nghĩa, lẽ chúng không thực tính tốn liệu vào, đơn giản tiếp nhận liệu vào chuyển cho lớp Các nơron lớp ẩn lớp thực thực tính tốn, kết định dạng hàm đầu (hàm chuyển) Cụm từ “truyền thẳng” (feed forward) (không phải trái nghĩa lan truyền ngược) liên quan đến thực tế tất nơron kết nối với theo hướng: tới hay nhiều nơron khác lớp (loại trừ nơron lớp ra) Hình 2.14 – Mạng nơron truyền thẳng nhiều lớp Trong P: Vector đầu vào (vector cột) Wi: Ma trận trọng số nơron lớp thứ i (SixRi: S hàng (nơron) - R cột (số đầu vào)) bi: Vector độ lệch (bias) lớp thứ i (Six1: cho S nơron) ni: net input (Six1) fi: Hàm chuyển (hàm kích hoạt) ai: net output (Six1) ⊕: Hàm tổng thông thường Mỗi liên kết gắn với trọng số, trọng số thêm vào q trình tín hiệu qua liên kết Các trọng số dương, thể trạng thái kích thích, hay âm, thể trạng thái kiềm chế Mỗi nơron tính tốn mức kích hoạt chúng cách cộng tổng đầu vào đưa hàm chuyển Một đầu tất nơron lớp mạng cụ thể thực xong tính tốn lớp bắt đầu thực tính tốn đầu lớp tạo đầu vào lớp Khi tất nơron thực tính tốn kết trả lại nơron đầu Tuy nhiên, chưa u cầu, thuật tốn huấn luyện cần áp dụng để điều chỉnh tham số mạng Xét trường hợp mạng có hai lớp hình 2.14, cơng thức tính tốn cho đầu sau: Mạng có nhiều lớp có khả tốt mạng có lớp, chẳng hạn mạng hai lớp với lớp thứ sử dụng hàm sigmoid lớp thứ hai dùng hàm đồng áp dụng để xấp xỉ hàm tốn học tốt, mạng có lớp khơng có khả Thiết kế cấu trúc mạng Mặc dù, mặt lý thuyết, có tồn mạng mơ tốn với độ xác Tuy nhiên, để tìm mạng khơng phải điều đơn giản Để định nghĩa xác kiến trúc mạng như: cần sử dụng lớp ẩn, lớp ẩn cần có đơn vị xử lý cho tốn cụ thể cơng việc khó khăn Số lớp ẩn: Vì mạng có hai lớp ẩn thể hàm với dáng điệu bất kỳ, nên, lý thuyết, lý sử dụng mạng có nhiều hai lớp ẩn Người ta xác định phần lớn toán cụ thể, cần sử dụng lớp ẩn cho mạng đủ Các toán sử dụng hai lớp ẩn xảy thực tế Thậm chí toán cần sử dụng nhiều lớp ẩn phần lớn trường hợp thực tế, sử dụng lớp ẩn cho ta hiệu tốt sử dụng nhiều lớp Việc huấn luyện mạng thường chậm mà số lớp ẩn sử dụng nhiều Số đơn vị lớp ẩn: Một vấn đề quan trọng việc thiết kế mạng cần có đơn vị lớp Sử dụng q đơn vị dẫn đến việc khơng thể nhận dạng tín hiệu đầy đủ tập liệu phức tạp, hay thiếu ăn khớp (underfitting) Sử dụng nhiều đơn vị tăng thời gian luyện mạng, có lẽ nhiều để luyện mà luyện mạng khoảng thời gian hợp lý Số lượng lớn đơn vị dẫn đến tình trạng thừa ăn khớp (overfitting), trường hợp mạng có nhiều thông tin, lượng thông tin tập liệu mẫu (training set) không đủ liệu đặc trưng để huấn luyện mạng Số lượng tốt đơn vị ẩn phụ thuộc vào nhiều yếu tố - số đầu vào, đầu mạng, số trường hợp tập mẫu, độ nhiễu liệu đích, độ phức tạp hàm lỗi, kiến trúc mạng thuật toán luyện mạng Trong phần lớn trường hợp, khơng có cách để dễ dàng xác định số tối ưu đơn vị lớp ẩn mà luyện mạng sử dụng số đơn vị lớp ẩn khác dự báo lỗi tổng quát hóa lựa chọn Cách tốt sử dụng phương pháp thử-sai (trial-and-error) Trong thực tế, sử dụng phương pháp Lựa chọn tiến (forward selection) hay Lựa chọn lùi (backward selection) để xác định số đơn vị lớp ẩn Lựa chọn tiến bắt đầu với việc chọn luật hợp lý cho việc đánh giá hiệu mạng Sau đó, ta chọn số nhỏ đơn vị ẩn, luyện thử mạng; ghi lại hiệu mạng Sau đó, tăng chút số đơn vị ẩn; luyện thử lại lỗi chấp nhận được, khơng có tiến triển đáng kể so với trước Lựa chọn lùi, ngược với lựa chọn tiến, bắt đầu với số lớn đơn vị lớp ẩn, sau giảm dần Q trình tốn thời gian giúp ta tìm số lượng đơn vị phù hợp cho lớp ẩn Thuật toán lan truyền ngược (Back-Propagation) Cần có phân biệt kiến trúc mạng thuật toán học nó, mơ tả mục mục đích nhằm làm rõ yếu tố kiến trúc mạng cách mà mạng tính tốn đầu từ tập đầu vào Sau mô tả thuật toán học sử dụng để điều chỉnh hiệu mạng cho mạng có khả sinh kết mong muốn Về có hai dạng thuật tốn để luyện mạng: học có thầy học khơng có thầy Các mạng nơron truyền thẳng nhiều lớp luyện phương pháp học có thầy Phương pháp dựa việc yêu cầu mạng thực chức sau trả lại kết quả, kết hợp kết với đầu mong muốn để điều chỉnh tham số mạng, nghĩa mạng học thơng qua sai sót Thuật tốn lan truyền ngược dạng tổng quát thuật toán trung bình bình phương tối thiểu (Least Means Square-LMS) Thuật tốn thuộc dạng thuật tốn xấp xỉ để tìm điểm mà hiệu mạng tối ưu Chỉ số tối ưu (performance index) thường xác định hàm số ma trận trọng số đầu vào mà q trình tìm hiểu tốn đặt Bỏ qua phức tạp mặt tốn học, thuận tốn phát biểu đơn giản sau:  Bước 1: Lan truyền xi tính tốn mạng truyền thẳng - Khi đó, đầu lớp trở thành đầu vào lớp Phương trình thể hoạt động sau (trong M số lớp mạng) : - Các nơron lớp thứ nhận tín hiệu từ bên ngồi (với p điểm bắt đầu phương trình hình 2.14) -  Đầu lớp cuối xem đầu mạng: Bước 2: Lan truyền lỗi (hay độ nhạy cảm) ngược lại qua mạng - Thuật toán lan truyền ngược sử dụng số hiệu trung bình bình phương lỗi đầu so với giá trị đích Đầu vào thuật tốn tập cặp mô tả hoạt động mạng: Trong pi đầu vào ti đầu mong muốn tương ứng, với i=1 Q - Mỗi đầu vào đưa vào mạng, đầu mạng đem so sánh với đầu mong muốn.Thuật toán điều chỉnh tham số mạng để tối thiểu hóa trung bình bình phương lỗi  Bước 3: Cập nhật lại trọng số độ lệch tương ứng

Ngày đăng: 02/12/2017, 18:48

Xem thêm:

TỪ KHÓA LIÊN QUAN

w