Tìm hiểu mạng neural nhân tạo và thuật toán lan truyền ngược

29 1.3K 10
Tìm hiểu mạng neural nhân tạo và thuật toán lan truyền ngược

Đ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

Tìm hiểu mạng neural nhân tạo và thuật toán lan truyền ngược 1 MỤC LỤC LỜI MỞ ĐẦU 2 PHẦN I. MẠNG NEURAL NHÂN TẠO 3 I. Cấu trúc và mô hình của một neuron nhân tạo 3 II. Cấu tạo và phương thức làm việc của mạng neural 5 1. Mạng neural một lớp 7 2. Mạng neural truyền thẳng nhiều lớp 8 3. Mạng neural phản hồi 8 4. Mạng neural hồi quy 9 5. Mạng Hopfield 9 6. Mạng BAM 11 III. Các luật học 12 1. Học có giám sát 13 2. Học củng cố 14 3. Học không có giám sát 14 PHẦN 2. THUẬT TOÁN LAN TRUYỀN NGƯỢC 17 VÀ CHƯƠNG TRÌNH DEMO I. Thuật toán lan truyền ngược 17 II. Chương trình demo 23 1. Vấn đề giải quyết 23 2. Cấu trúc và cách sử dụng chương trình 23 PHẦN 3. KẾT LUẬN 26 TÀI LIỆU THAM KHẢO 27 Tìm hiểu mạng neural nhân tạo và thuật toán lan truyền ngược 2 LỜI MỞ ĐẦU Ngày nay với sự phát triển như vũ bão của khoa học kỹ thuật, đặc biệt là trong lĩnh vực công nghệ thông tin. Nhiều chương trình thông minh có khả năng giải quyết những vấn đề khó khăn của con người đã ra đời và đóng góp những thành tựu to lớn. Những chương trình này được ứng dụng nhiều công nghệ tri thức tiên tiến. Một trong những công nghệ đó là mạng neural nhân tạo. Bài tiểu luận này xin được trình bày một số nội dung khái quát về mạng neural nhân tạo và thuật toán lan truyền ngược trong mạng neural nhân tạo cùng một chương trình demo ứng dụng thuật giải lan truyền ngược để xác định màu của một điểm có tọa độ x, y trong khoảng từ 0 đến 1 là một điểm màu xanh hay điểm màu đỏ. Tìm hiểu mạng neural nhân tạo và thuật toán lan truyền ngược 3 PHẦN I. MẠNG NEURAL NHÂN TẠO I. Cấu trúc và mô hình của một neuron nhân tạo Mô hình toán học của mạng neural sinh học được đề xuất bởi McCulloch và Pitts, thường được gọi là neuron M-P, ngoài ra nó còn được gọi là phần tử xử lý và được ký hiệu là PE (Processing Element). Mô hình neuron có m đầu vào x 1 , x 2 , , x m , và một đầu ra y i như sau: Hình 1. Mô hình một neuron nhân tạo Giải thích các thành phần cơ bản: - Tập các đầu vào: Là các tín hiệu vào của neuron, các tín hiệu này thường được đưa vào dưới dạng một vector m chiều. - Tập các liên kết (các trọng số): Mỗi liên kết được thể hiện bởi một trọng số (thường được gọi là trọng số liên kết). Trọng số liên kết giữa tín hiệu vào thứ j cho neuron i thường được ký hiệu là w ij . Thông thường các trọng số này được khởi tạo 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 mạng. - Bộ tổng (Hàm tổng): Thường dùng để tính tổng của tích các đầu vào với trọng số liên kết của nó. - Ngưỡng: Ngưỡng này thường được đưa vào như một thành phần của hàm truyền. - Hàm truyền: Hàm này dùng để giới hạn phạm vi đầu ra của mỗi neuron. Nó nhận đầu vào là kết quả của hàm tổng và ngưỡng đã cho. 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]. Các hàm truyền rất đa dạng, có thể Tìm hiểu mạng neural nhân tạo và thuật toán lan truyền ngược 4 là các hàm tuyến tính hoặc phi tuyến. Việc lựa chọn hàm truyền tùy thuộc vào từng bài toán và kinh nghiệm của người thiết kế mạng. - Đầu ra: Là tín hiệu đầu ra của một neuron, với mỗi neuron sẽ có tối đa một đầu ra. Về mặt toán học, cấu trúc của một neuron i được mô tả bằng cặp biểu thức sau: )( iii netfy θ −= và j n j iji xwnet ∑ = = 1 trong đó: x 1 , x 2 , …x m là các tín hiệu đầu vào, còn w i1 , w i2 ,…,w im là các trọng số kết nối của neuron thứ i, net i là hàm tổng, f là hàm truyền, i θ là một ngưỡng, y i là tín hiệu đầu ra của neuron. Hàm truyền có thể có các dạng sau: - Hàm bước    < ≥ = 00 01 xkhi xkhi y (1) - Hàm giới hạn chặt (hay còn gọi là hàm bước)    <− ≥ == 01 01 )sgn( xkhi xkhi xy (2) - Hàm bậc thang      < ≤≤ > == 00 10 11 )sgn( xkhi xkhix xkhi xy (3) - Hàm ngưỡng đơn cực x λ − + = e y 1 1 với λ>0 (4) - Hàm ngưỡng hai cực 1 1 2 − + = − x λ e y với λ>0 (5) Tìm hiểu mạng neural nhân tạo và thuật toán lan truyền ngược 5 Đồ thị các dạng hàm truyền được biểu diễn như sau: Hình 2. Đồ thị các dạng hàm truyền II. Cấu tạo và phương thức làm việc của mạng neural Dựa trên những phương pháp xây dựng neuron đã trình bày ở mục trên, ta có thể hình dung mạng neural như là một hệ truyền đạt và xử lý tín hiệu. Đặc tính truyền đạt của neuron phần lớn là đặc tính truyền đạt tĩnh. Khi liên kết các đầu vào/ra của nhiều neuron với nhau, ta thu được một mạng neural, việc ghép nối các neuron trong mạng với nhau có thể là theo một nguyên tắc bất kỳ. Vì mạng neural là một hệ truyền đạt và xử lý tín hiệu, nên có thể phân biệt các loại neuron khác nhau, các neuron có đầu vào nhận thông tin từ môi trường bên ngoài khác với các neuron có đầu vào được nối với các neuron khác trong mạng, chúng được phân biệt với nhau qua vector hàm trọng số ở đầu vào w. Nguyên lý cấu tạo của mạng neural bao gồm nhiều lớp, mỗi lớp bao gồm nhiều neuron có cùng chức năng trong mạng. Hình 1.5 là mô hình hoạt động của một mạng neural 3 lớp với 8 phần tử neuron. Mạng có ba đầu vào là x 1 , x 2 , x 3 và hai đầu ra y 1 , y 2 . Các tín hiệu đầu vào được đưa đến 3 neuron đầu vào, 3 neuron này làm thành lớp đầu vào của mạng. Các neuron trong lớp này được gọi là neuron đầu vào. Đầu ra của các Tìm hiểu mạng neural nhân tạo và thuật toán lan truyền ngược 6 neuron này được đưa đến đầu vào của 3 neuron tiếp theo, 3 neuron này không trực tiếp tiếp xúc với môi trường bên ngoài mà làm thành lớp ẩn, hay còn gọi là lớp trung gian. Các neuron trong lớp này có tên là neuron nội hay neuron ẩn. Đầu ra của các neuron này được đưa đến 2 neuron đưa tín hiệu ra môi trường bên ngoài. Các neuron trong lớp đầu ra này được gọi là neuron đầu ra. Hình 3. Mạng neural ba lớp Mạng neural được xây dựng như trên là mạng gồm 3 lớp mắc nối tiếp nhau đi từ đầu vào đến đầu ra. Trong mạng không tồn tại bất kỳ một mạch hồi tiếp nào. Một mạng neural có cấu trúc như vậy gọi là mạng một hướng hay mạng truyền thẳng một hướng (Feed forward network), và có cấu trúc mạng ghép nối hoàn toàn (vì bất cứ một neuron nào trong mạng cũng được nối với một hoặc vài neuron khác). Mạng neural bao gồm một hay nhiều lớp trung gian được gọi là mạng Multilayer Perceptrons) (MLP- Network). Mạng neural khi mới được hình thành thì chưa có tri thức, tri thức của mạng sẽ được hình thành dần dần sau một quá trình học. Mạng neural được học bằng cách đưa vào những kích thích, và mạng hình thành những đáp ứng tương ứng, những đáp ứng tương ứng phù hợp với từng loại kích thích sẽ được lưu trữ. Giai đoạn này được gọi là giai đoạn học của mạng. Khi đã hình thành tri thức mạng, mạng có thể giải quyết các vấn đề một cách đúng đắn. Đó có thể là vấn đề ứng dụng rất khác nhau, được giải Tìm hiểu mạng neural nhân tạo và thuật toán lan truyền ngược 7 quyết chủ yếu dựa trên sự tổ chức hợp nhất giữa các thông tin đầu vào của mạng và các đáp ứng đầu ra. - Nếu nhiệm vụ của một mạng là hoàn chỉnh hoặc hiệu chỉnh các thông tin thu được không đầy đủ hoặc bị tác động của nhiễu. Mạng neural kiểu này được ứng dụng trong lĩnh vực hoàn thiện mẫu, trong đó có một ứng dụng cụ thể là nhận dạng chữ viết. - Nhiệm vụ tổng quát của một mạng neural là lưu giữ động các thông tin. Dạng thông tin lưu giữ này chính là quan hệ giữa các thông tin đầu vào và các đáp ứng đầu ra tương ứng, để khi có một kích thích bất kỳ tác động vào mạng, mạng có khả năng suy diễn và đưa ra một đáp ứng phù hợp. Đây chính là chức năng nhận dạng theo mẫu của mạng neural. Để thực hiện chức năng này, mạng neural đóng vai trò như một bộ phận tổ chức các nhóm thông tin đầu vào, và tương ứng với mỗi nhóm là một đáp ứng đầu ra phù hợp. Như vậy, một nhóm bao gồm một loại thông tin đầu vào và một đáp ứng đầu ra. Các nhóm có thể được hình thành trong quá trình học, và cũng có thể không hình thành trong quá trình học. 1. Mạng neural một lớp Mỗi một neuron có thể phối hợp với các neuron khác tạo thành một lớp các trọng số. Mạng một lớp truyền thẳng như hình 4. Một lớp neuron là một nhóm các neuron mà chúng đều có cùng trọng số, nhận cùng một tín hiệu đầu vào đồng thời. Hình 4. Mạng truyền thẳng một lớp Trong ma trận trọng số, các hàng là thể hiện neuron, hàng thứ j có thể đặt nhãn như một vector w j của neuron thứ j gồm m trọng số w ji . Các trọng số trong cùng một cột thứ j (j=1,2, ,n) đồng thời cùng nhận một tín hiệu đầu vào x j . w j = [w j1 , w j2 , , w jm ] Tìm hiểu mạng neural nhân tạo và thuật toán lan truyền ngược 8 Tại cùng một thời điểm, vector đầu vào x = [x 1 , x 2 , , x n ] có thể là một nguồn bên ngoài là cảm biến hoặc thiết bị đo lường đưa tới mạng. 2. Mạng neural truyền thẳng nhiều lớp Hình 5. Mạng truyền thẳng nhiều lớp Mạng neural nhiều lớp có các lớp được phân chia thành 3 loại sau đây: - Lớp vào là lớp neuron đầu tiên nhận tín hiệu vào x i (i = 1, 2, , n). Mỗi tín hiệu x i được đưa đến tất cả các neuron của lớp đầu vào. Thông thường, các neuron đầu vào không làm biến đổi các tín hiệu vào x i , tức là chúng không có các trọng số hoặc không có các loại hàm chuyển đổi nào, chúng chỉ đóng vai trò phân phối các tín hiệu. - Lớp ẩn là lớp neuron sau lớp vào, chúng không trực tiếp liên hệ với thế giới bên ngoài như các lớp neuron vào/ra. - Lớp ra là lớp neuron tạo ra các tín hiệu ra cuối cùng. 3. Mạng neural phản hồi Mạng neural phản hồi là mạng mà đầu ra của mỗi neuron được quay trở lại nối với đầu vào của các neuron cùng lớp được gọi là mạng Laeral như hình 6 Tìm hiểu mạng neural nhân tạo và thuật toán lan truyền ngược 9 Hình 6. Mạng hồi tiếp một lớp 4. Mạng neural hồi quy Hình 7. Mạng neural hồi quy Mạng neural phản hồi có thể thực hiện đóng vòng được gọi là mạng neural hồi quy như hình 7. Mạng neural hồi quy có trọng số liên kết đối xứng như mạng Hopfield, mạng luôn hội tụ về trạng thái ổn định (Hình 6). Mạng BAM thuộc nhóm mạng neural hồi quy, gồm 2 lớp liên kết 2 chiều, không được gắn với tín hiệu vào/ra. Nghiên cứu mạng neural hồi quy mà có trọng số liên kết không đối xứng, thì sẽ gặp phải vấn đề phức tạp nhiều hơn so với mạng truyền thẳng và mạng hồi quy có trọng số liên kết đối xứng. 5. Mạng Hopfield Mạng Hopfield là mạng phản hồi một lớp, được chỉ ra trong hình 6. Cấu trúc chi tiết của nó được thể hiện trong hình 8. Khi hoạt động với tín hiệu rời rạc, nó được gọi là mạng Hopfield rời rạc, và cấu trúc của nó cũng được gọi là mạng hồi quy. Tìm hiểu mạng neural nhân tạo và thuật toán lan truyền ngược 10 Hình 8. Cấu trúc của mạng Hopfield Như mạng Hopfield đã vẽ ở trên, ta thấy nút có một đầu vào bên ngoài x j và một giá trị ngưỡng j θ (j = 1,2, n). Một điều quan trọng cần nói ở đây là mỗi nút không có đường phản hồi về chính nó. Nút đầu ra thứ j được nối tới mỗi đầu vào của nút khác qua trọng số w ij , với i ≠ j, (i = 1,2, ,n), hay nói cách khác w ii = 0, (với i = 1,2, ,n). Một điều quan trọng nữa là trọng số của mạng Hopfield là đối xứng, tức là w ij = w ji , (với i,j = 1,2, ,n). Khi đó, luật cập nhật cho mỗi nút mạng là như sau: ,sgn 1 )()1(           −+= ∑ ≠ = + n ij j i k jij k i xywy θ i = 1,2, ,n (6) Luật cập nhật trên được tính toán trong cách thức không đồng bộ. Điều này có nghĩa là, với một thời gian cho trước, chỉ có một nút mạng cập nhật được đầu ra của nó. Sự cập nhật tiếp theo trên một nút sẽ sử dụng chính những đầu ra đã được cập nhật. Nói cách khác, dưới hình thức hoạt động không đồng bộ của mạng, mỗi đầu ra được cập nhật độc lập. [...]... Là hệ học và thích nghi: Mạng được luyện từ số liệu quá khứ, có khả năng tự chỉnh đầu vào khi số liệu đầu vào bị mất - Là hệ nhiều biến, nhiều đầu vào, nhiều đầu ra (MISO), rất tiện dùng khi điều khiển đối tượng có nhiều biến số Tìm hiểu mạng neural nhân tạo và thuật toán lan truyền ngược 17 Tìm hiểu mạng neural nhân tạo và thuật toán lan truyền ngược 18 PHẦN 2 THUẬT TOÁN LAN TRUYỀN NGƯỢC VÀ CHƯƠNG... hoạt của phần tử neuron Các mạng được Tìm hiểu mạng neural nhân tạo và thuật toán lan truyền ngược 19 nghiên cứu cùng với thuật toán học lan truyền ngược được gọi là mạng lan truyền ngược Huấn luyện các cặp vào/ra {(x(k), d(k))}, k = 1,2, ,p Thuật toán cung cấp một thủ tục cho việc thay đổi các vector trọng số trong mạng, đầu ra của mạng được lan truyền ngược trở lại lớp đầu vào cho đúng các mẫu Cơ sở... trọng số được sử dụng cho lan truyền thẳng, nhưng ở Tìm hiểu mạng neural nhân tạo và thuật toán lan truyền ngược đây chúng truyền các tín hiệu sai số ( δ oi 22 ) ngược trở lại, đó chính là các đường nét đứt trong hình 14 Điều này đã chứng tỏ được đặc điểm quan trọng của thuật toán lan truyền ngược – luật cập nhật cục bộ, đây chính là tính toán trọng số thay đổi dựa vào sự kết nối, và chúng ta chỉ cần giá... ngược (27) (28) Tìm hiểu mạng neural nhân tạo và thuật toán lan truyền ngược 23 Xem xét một mạng với Q lớp lan truyền ngược, q=1,2, ,Q; với qneti và qyi lần lượt là đầu vào và đầu ra của khối trong lớp thứ q Mạng có m neuron đầu vào, l neuron ở lớp ẩn, và n neuron đầu ra Với qwij là trọng số nối từ q-1wj đến qyi Đầu vào: các cặp huấn luyện {x (k), d(k) | k=1,2, ,p}, ở đó giá trị đầu vào của phần tử... I Thuật toán lan truyền ngược Thuật toán lan truyền ngược được ứng dụng để giải các bài toán điều khiển các hệ phi tuyến phức tạp và bất ổn định Lan truyền ngược là một phương pháp cho phép xác định tập trọng số tốt nhất của mạng để giải một bài toán đã cho Việc áp dụng phương pháp lan truyền ngược là một quá trình lặp đi lặp lại nhiều lần hai tiến trình chính: lan truyền tiến để thực hiện ánh xạ và. .. Gradient Với cặp vào ra (x(k), d(k)), thuật toán lan truyền ngược thực hiện các bước như sau: Đầu tiên, mẫu x(k) được lan truyền từ lớp đầu vào qua các lớp ẩn đi đến lớp đầu ra có kết quả là y(k) Sau đó, sai số giữa y(k) và d(k) được lan truyền ngược trở lại từ lớp đầu ra tới lớp đầu vào để cập nhật trọng số Hình 15 diễn giải thuật toán lan truyền ngược Kết quả có thể mở rộng sang mạng neural nhiều lớp... chương trình File Pattern gồm 3 cột dữ liệu: cột 1, 2 là tọa độ x và y của điểm; cột 3 là giá trị màu của điểm (0 là xanh, 1 là đỏ) Tọa độ x, y của một điểm phải từ 0 đến 1 Tìm hiểu mạng neural nhân tạo và thuật toán lan truyền ngược 28 PHẦN 3 KẾT LUẬN Thuật toán lan truyền ngược là một dạng huấn luyện có giám sát Mạng neural được đưa vào dữ liệu huấn luyện cho cho ra kết quả, các kết quả này được so... nhập, lớp ẩn - Lớp Weight: lưu trọng số - Lớp Network: mô phỏng một mạng neural Tìm hiểu mạng neural nhân tạo và thuật toán lan truyền ngược 26 - Lớp Form1: giao diện chương trình Chương trình sử dụng một mạng neural gồm 2 neuron nhập, 2 neuron ẩn và 1 neuron xuất Sơ đồ như sau: Hình 16 Cấu trúc mạng neural được sử dụng y= - Hàm truyền: 1 1 + e − λx với λ=6 - Tỉ lệ học: 0.5 - Điều kiện dừng: E . ngược 17 Tìm hiểu mạng neural nhân tạo và thuật toán lan truyền ngược 18 PHẦN 2. THUẬT TOÁN LAN TRUYỀN NGƯỢC VÀ CHƯƠNG TRÌNH DEMO I. Thuật toán lan truyền ngược Thuật toán lan truyền ngược được. neuron. Các mạng được Tìm hiểu mạng neural nhân tạo và thuật toán lan truyền ngược 19 nghiên cứu cùng với thuật toán học lan truyền ngược được gọi là mạng lan truyền ngược. Huấn luyện các cặp vào/ra. {(x (k) ,. điểm màu đỏ. Tìm hiểu mạng neural nhân tạo và thuật toán lan truyền ngược 3 PHẦN I. MẠNG NEURAL NHÂN TẠO I. Cấu trúc và mô hình của một neuron nhân tạo Mô hình toán học của mạng neural sinh học

Ngày đăng: 10/04/2015, 17:05

Từ khóa liên quan

Mục lục

  • PHẦN I. MẠNG NEURAL NHÂN TẠO

  • I. Cấu trúc và mô hình của một neuron nhân tạo

    • Hình 1. Mô hình một neuron nhân tạo

    • Hình 2. Đồ thị các dạng hàm truyền

    • II. Cấu tạo và phương thức làm việc của mạng neural

      • Hình 3. Mạng neural ba lớp

      • 1. Mạng neural một lớp

      • 2. Mạng neural truyền thẳng nhiều lớp

      • 3. Mạng neural phản hồi

      • 4. Mạng neural hồi quy

      • 5. Mạng Hopfield

        • Hình 8. Cấu trúc của mạng Hopfield

        • 6. Mạng BAM

          • Hình 9. Cấu trúc của BAM

          • III. Các luật học

            • Hình 10. Cấu trúc huấn luyện mạng neural

            • 1. Học có giám sát

              • Hình 11. Học có giám sát

              • 2. Học củng cố

              • 3. Học không có giám sát

                • Hình 12. Học không có giám sát

                • Hình 13. Sơ đồ cấu trúc chung của quá trình học

                • PHẦN 2. THUẬT TOÁN LAN TRUYỀN NGƯỢC

                • I. Thuật toán lan truyền ngược

                  • Hình 14. Mạng 3 lớp lan truyền ngược

Tài liệu cùng người dùng

Tài liệu liên quan