Khóa luận tốt nghiệp SV Lê Minh Hoàng 33 CHƯƠNG 2 GIỚI THIỆU MẠNG THẦN KINH NHÂN TẠO (NEURAL NETWORK) 2 1 Tổng quan về mạng nơ ron (neural network) 2 1 1 Mạng nơ ron nhân tạo Mạng nơ ron nhân tạo (Artifical Neural Networks) mô phỏng lại mạng nơ ron sinh học là một cấu trúc khối gồm các đơn vị tính toán đơn giản được liên kết chặt chẽ với nhau trong đó các liên kết giữa các nơ ron quyết định chức năng của mạng 2 1 2 Các đặc trưng cơ bản của mạng nơ ron Gồm một tập các đơn vị xử lý (các nơ ro.
Khóa luận tốt nghiệp SV: Lê Minh Hồng CHƯƠNG GIỚI THIỆU MẠNG THẦN KINH NHÂN TẠO (NEURAL NETWORK) 2.1 Tổng quan mạng nơ-ron (neural network): 2.1.1 Mạng nơ-ron nhân tạo: Mạng nơ-ron nhân tạo (Artifical Neural Networks) mô lại mạng nơ-ron 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 liên kết nơ-ron định chức mạng 2.1.2 Các đặc trưng mạng nơ-ron : - Gồm tập đơn vị xử lý (các nơ-ron 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 hiện - Một đơn vị điều chỉnh (độ lệch bias, offset) dơ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 2.2 Các thành phần mạng nơ-ron nhân tạo: 2.2.1 Đơn vị xử lý: Còn gọi nơ-ron hay nút (node), thực hiện công việc đơn giản, nhận tín hiệu vào từ đơn vị phía trước hay ng̀n bên ngồi sử dụng chúng để tính tín hiệu sẽ lan truyền sang đơn vị khác 33 Khóa luận tốt nghiệp SV: Lê Minh Hồng Hình 2.1 Đơn vị xử lý (Processing Unit) Trong đó: Xi :các đầ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 - 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 mạng, đầu đơn vị khác, đầu 2.2.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 hiện 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 θj : 34 Khóa luận tốt nghiệp SV: Lê Minh Hoàng 𝑎𝑗 = ∑𝑛𝑖=1 𝑊𝑗𝑖 𝑥𝑖 + 𝜃𝑗 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: 𝑎𝑗 = ∑𝑛𝑖=1 𝑊𝑗𝑖 ∏𝑚 𝑘=1 𝑥𝑖𝑘 + 𝜃𝑗 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 𝜃𝑗 chọn số toán xấp xỉ đa thức 𝜃𝑗 = 2.2.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 funciton, Identity function) Nếu coi đầu vào đơn vị chúng sẽ sử dụng hàm Đôi số nhân với net-input để tạo hàm đồng Hình 2.2 Hàm đờng Hàm bước nhị phân (Binary step function/ Hard limit function) 35 Khóa luận tốt nghiệp SV: Lê Minh Hoàng Hàm biết đến với tên “Hàm ngưỡng” (Threshold function) Đầu hàm giới hạn vào hai giá trị: 𝑔 (𝑥 ) = { 1, 𝑛ế𝑢 (𝑥 ≥ 𝜃) 0, 𝑛ế𝑢 (𝑥 < 𝜃) Dạng hàm sử dụng mạng có lớp Trong hình vẽ sau, θ chọn Hình 2.3 Hàm bước nhị phân Hàm sigmoid (Sigmoid function/ logsig) 𝑔 (𝑥 ) = 1 + 𝑒 −𝑥 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.4 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] 36 Khóa luận tốt nghiệp SV: Lê Minh Hồng Hình 2.5 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) sẽ 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ũ 2.3 Các dạng mạng : Hình dạng mạng định nghĩa : 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ị 2.3.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 37 Khóa luận tốt nghiệp SV: Lê Minh Hồng Hình 2.6 Mạng nơ-ron truyền thẳng nhiều lớp 2.3.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 cá đơn vị trải qua q 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à 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.7 Mạng nơ-ron hời quy 2.4 Huấn luyện mạng: Chức mạng nơ-ron định nhân tố như: hình dạ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 dạng mạng thường cố định, 38 Khóa luận tốt nghiệp SV: Lê Minh Hoàng 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 tố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) 2.4.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 lụ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) thỏa mãn tất mẫu học đầu vào Hình 2.8 Mơ hình học có thầy (Supervised learning) 2.4.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 sẽ 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 39 Khóa luận tốt nghiệp SV: Lê Minh Hồng có thầy ln thực hiện cơng việc tương tự mạng tự liên hợp, cô đọng thông tin từ liệu vào 2.5 Hàm mục tiêu: Để huấn luyện mạng xét xem thực hiện tốt đến đâu, ta cần xây dựng hàm mục tiêu để 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ể hiện mục tiêu thiết kế định thuật tốn huấn lụ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) 𝑃 𝑁 ∑ ∑(𝑡𝑝𝑖 − 𝑦𝑝𝑖 )2 𝐸= 𝑁𝑃 𝑃=1 𝑖=1 Trong : P : số thứ tự mẫu tập huấn luyện i: số thứ tự đơn vị đầu 𝑡𝑝𝑖 𝑦𝑝𝑖 : 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 40 ... tất mẫu học đầu vào Hình 2. 8 Mơ hình học có thầy (Supervised learning) 2. 4 .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... 37 Khóa luận tốt nghiệp SV: Lê Minh Hồng Hình 2. 6 Mạng nơ-ron truyền thẳng nhiều lớp 2. 3 .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... tâm Hình 2. 7 Mạng nơ-ron hời quy 2. 4 Huấn luyện mạng: Chức mạng nơ-ron định nhân tố như: hình dạ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