Tiểu luận môn Máy học và ứng dụng TÌM HIỂU MẠNG NEURON NHÂN TẠO VÀ DEMO SỬ DỤNG THUẬT TOÁN LAN TRUYỀN NGƯỢC

26 818 0
Tiểu luận môn Máy học và ứng dụng TÌM HIỂU MẠNG NEURON NHÂN TẠO VÀ DEMO SỬ DỤNG 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

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN TIỂU LUẬN MÔN HỌC MÁY HỌC VÀ ỨNG DỤNG ĐỀ TÀI: GVHD: PGS.TS. Vũ Thanh Nguyên HVTH: Vũ Phát Lộc MSHV: CH1301097 TP.HCM, 03/2014 TÌM HIỂU MẠNG NEURON NHÂN TẠO VÀ DEMO SỬ DỤNG THUẬT TOÁN LAN TRUYỀN NGƯỢC Tiểu luận môn học:Máy học và ứng dụngGVHD: PGS.TS.Vũ Thanh Nguyên LỜI CÁM ƠN Em xin chân thành cám ơn PGS.TS. Vũ Thanh Nguyên về những kiến thức và những kinh nghiệm quý báu mà thầy đã truyền đạt lại cho lớp trong phạm vi môn học “MÁY HỌC VÀ ỨNG DỤNG” thuộc chương trình đào tạo cao học ngành Công nghệ thông tin tại trường Đại học Công nghệ thông tin – Đại học Quốc gia Thành phố Hồ Chí Minh. Với những kiến thức đã tiếp thu được từ những bài giảng trên lớp cùng với những kiến thức tham khảo từ tài liệu em đã hệ thống lại thành bài tiểu luận “Tìm hiểu mạng neuron nhân tạo và demo sử dụng thuật toán lan truyền ngược”. Em cũng xin cám ơn các anh, chị và các bạn trong lớp cao học Công nghệ thông tin khóa 8 về những ý kiến đóng góp trong quá trình học tập và trao đổi trên lớp, trên diễn đàn. Với khả năng và thời gian có hạn, bài tiểu luận chắc chắn còn có những thiếu sót nhất định, kính mong thầy góp ý để em có điều kiện hoàn thiện hơn. MỤC LỤC HVTH: VũPhátLộc – CH1301097 Trang2 Tiểu luận môn học:Máy học và ứng dụngGVHD: PGS.TS.Vũ Thanh Nguyên LỜI MỞ ĐẦU Ngày nay, các thông tin ngày càng nhiều, hàng ngày ta phải xử lý rất nhiều thông tin đến từ nhiều nguồn khác nhau. Máy học có thể giúp ta xử lý và dự báo thông tin, máy học có thể giúp tạo ra được các quyết định từ các dữ liệu có được.Máy học giúp thiết kế hệ thống huấn luyện tự độngvà giải mã mối liên hệ giữa các tri thức được lưu trữ.Và mô hình hệ thống huấn luyện tự động đó chính là mô hình hệ thống mạng neuron nhân tạo. Bài tiểu luận này sẽ trình bày về mạng neuron nhân tạo và demo sử dụng thuật toán lan truyền ngược. HVTH: VũPhátLộc – CH1301097 Trang3 Tiểu luận môn học:Máy học và ứng dụngGVHD: PGS.TS.Vũ Thanh Nguyên PHẦN 1. MẠNG NEURON NHÂN TẠO 1. Neuron sinh học Các nhà khoa học đã cho ta thấy rằng neuron hay tế bào thần kinh là đơn vị cơ sở đảm nhiệm những chức năng xử lý nhất định hệ thần kinh, bao gồm não, tủy sống và các dây thần kinh. Mỗi neuron gồm một thân(soma) chứa nhân, hình sao nhiều cạnh hoặc bầu dục và các sợi. Từ thân phát đi nhiều tua ngắn phân nhánh gọi là sợi nhánh (dendrite-dây thần kinh vào) và một tua dài, mảnh gọi là sợi trục (axon-dây thần kinh ra). Dọc sợi trục có thể có những tế bào bao bọc tạo nên bao myelin (myelin sheath). Sợi trục nối giữa trung ương thần kinh với các cơ quan, chúng đi chung với nhau tạo thành từng bó gọi là dây thần kinh. Khoảng cách giữa các bao này có những đoạn ngắn gọi là ranvier (node of ranvier), còn diện tích tiếp xúc giữa những nhánh nhỏ phân từ tận cùng sợi trục của neuron này với sợi nhánh của neuron khác hoặc cơ quan thụ cảm gọi là khớp nối(synapse). Hình 1. Neuron sinh học. Mỗi neuron có thể có từ vài chục tới vài trăm nghìn khớp nối để nối với các neuron khác. Các neuron có thể tự sản sinh các liên kết mới với các neuron khác và đôi khi HVTH: VũPhátLộc – CH1301097 Trang4 Tiểu luận môn học:Máy học và ứng dụngGVHD: PGS.TS.Vũ Thanh Nguyên mạng cácneuron có thể di trú từ vùng này sang vùng khác trong não bộ. Đây chính là cơ sở quan trọng để giải thích cơ chế học của bộ não con người.Từ những hiểu biết này, người ta xây dựng và phát triển mạng neuron nhân tạo dựa trên mô hình của neuron sinh học với mục đích là có thể huấn luyện các mạng neuron nhân tạo này để chúng có thể giải quyết một số bài toán theo cách của bộ não sinh học thực hiện đồng thời thông qua đó tìm hiểu các cơ chế nhớ và cách tính toán của bộ não. Tuy nhiên cần một thời gian dài nữa để các mạng neuron nhân tạo có thể mô phỏng các hành vi sáng tạo như bộ não.Chẳng hạn như bộ não có thể nhận ra khuôn mặt người quen trong vòng vài giây trong khi đó máy tính cần thực hiện rất nhiều phép toán để nhận dạng và trong trường hợp thông tin khuôn mặt như trên không chính xác hay có sự thay đổi đôi chút thì đó là cả vấn đề đối với máy tính. 2. Triển vọng phát triển của mạng neuron nhân tạo Mạng neuron nhân tạo đã được ứng dụng trong nhiều lĩnh vực. Chất lượng và số lượng của chúng tăng lên rất nhanh và hứa hẹn giải quyết nhiều bài toán mà thực hiện bằng các phương pháp truyền thống là rất khó khăn. Dưới đây liệt kê ra một số ứng dụng chính của mạng neuron: • Aerospace: Phi công tự động, giả lập đường bay, các hệ thống điều khiển lái máy bay, bộ phát hiện lỗi. • Automotive: Các hệ thống dẫn đường tự động cho ô tô, các bộ phận tích hoạt động của xe. • Banking: Bộ đọc séc và các tài liệu, tính tiền của thẻ tín dụng. • Defense: Định vị - phát hiện vũ khí, dò mục tiêu, phát hiện đối tượng, nhận dạng nét mặt, các bộ cảm biến thế hệ mới, xử lý ảnh radar,… • Electronics: Dự đoán mã tuần tự, sơ đồ chíp IC, điều khiển tiến trình, phân tích nguyên nhân hỏng chip, nhận dạng tiếng nói, mô hình phi tuyến. • Entertainment: Hoạt hình, các hiệu ứng đặc biệt, dự báo thị trường. HVTH: VũPhátLộc – CH1301097 Trang5 Tiểu luận môn học:Máy học và ứng dụngGVHD: PGS.TS.Vũ Thanh Nguyên • Financial: Định giá bất động sản, cho vay, kiểm tra tài sản cầm cố, đánh giá mức độ hợp tác, phân tích đường tín dụng, chương trình thương mại qua giấy tờ, phân tích tài chính liên doanh, dự báo tỷ giá tiền tệ. • Insurance: Đánh giá việc áp dụng chính sách, tối ưu hoá sản phẩm. • Bài toán lọc nhiễu • Xử lý ảnh, xử lý tính hiệu • …… 3. Mô hình của một neuron nhân tạo Mô hình toán học của mạng neuron 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 2. 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 HVTH: VũPhátLộc – CH1301097 Trang6 Tiểu luận môn học:Máy học và ứng dụngGVHD: PGS.TS.Vũ Thanh Nguyên 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ể 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    <− ≥ == 01 01 )sgn( xkhi xkhi xy (2) HVTH: VũPhátLộc – CH1301097 Trang7 Tiểu luận môn học:Máy học và ứng dụngGVHD: PGS.TS.Vũ Thanh Nguyên • 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) Đồ thị các dạng hàm truyền được biểu diễn như sau: Hình 3. Đồ thị các dạng hàm truyền. HVTH: VũPhátLộc – CH1301097 Trang8 Tiểu luận môn học:Máy học và ứng dụngGVHD: PGS.TS.Vũ Thanh Nguyên 4. Cấu tạo và phương thức làm việc của mạng neuron Nguyên lý cấu tạo của mạng neuron 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 4.Mạng neuron ba lớp. Mạng neuron được xây dựng như trên là mạng gồm ba 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 neuroncó 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 neuronbao gồm một hay nhiều lớp trung gian được gọi là mạng Multilayer Perceptrons(MLP- Network). Mạng neuronkhi 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 neuronđược học bằng cách đưa vào những kích thích, 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 HVTH: VũPhátLộc – CH1301097 Trang9 Tiểu luận môn học:Máy học và ứng dụngGVHD: PGS.TS.Vũ Thanh Nguyên 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 neuronkiể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 neuron 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 neuron. Để thực hiện chức năng này, mạng neuron đó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. 4.1. Mạng neuron 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 5. 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 5. 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ạ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. 4.2. Mạng neuron truyền thẳng nhiều lớp HVTH: VũPhátLộc – CH1301097 Trang10 [...]... thời gian dài PHẦN 2 THUẬT TOÁN LAN TRUYỀN NGƯỢC VÀ CHƯƠNG TRÌNH DEMO 1 Thuật toán lan truyền ngược Có nhiều thuật toán có thể dùng để huấn luyện các mô hình mạng neuron nhưng hầu hết đều dựa trên lý thuyết về tối ưu hóa và ước lượng thống kê Phần lớn các thuật HVTH: VũPhátLộc – CH1301097 Trang14 Tiểu luận môn học :Máy học và ứng dụngGVHD: PGS.TS.Vũ Thanh Nguyên toán huấn luyện đều sử dụng kiểu gradient... wiq 2 i =1 (24) Thuật toán lan truyền ngược 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 HVTH: VũPhátLộc – CH1301097 Trang19 Tiểu luận môn học :Máy học và ứng dụngGVHD: PGS.TS.Vũ Thanh Nguyên Đầu vào: các cặp huấn... hệ số này sao cho giảm thiểu được sai số của mô hình Xét lớp mạng 3 lớp như hình 9 Hình 9 Mạng 3 lớp lan truyền ngược Thuật toán: Đầu tiên ta cho lan truyền thẳng suốt trong mạng, qua các phần tử neuron và được tiếp tục với các hàm kích hoạt của phần tử neuron Các mạng được 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))},... các ứng dụng điều khiển hệ thống HVTH: VũPhátLộc – CH1301097 Trang13 Tiểu luận môn học :Máy học và ứng dụngGVHD: PGS.TS.Vũ Thanh Nguyên 6 Một số vấn đề của mạng neuron Khi xây dựng một ứng dụng mạng neuron chúng ta cần quan tâm một số vấn đề • sau: Vấn đề về kiến trúc mạng neuron: neuronnào nối với neuronnào? Đây chính là sự lựa chọn mô hình của mạng neuron Nó sẽ phụ thuộc vào sự trình bày dữ liệu và ứng. .. Trang23 Tiểu luận môn học :Máy học và ứng dụngGVHD: PGS.TS.Vũ Thanh Nguyên • XOR Problem (vấn đề XOR): Người dùng chọn nút XOR Problem trên cửa sổ chính của chương trình Tùy chỉnh một số cấu hình cho mạng neuron Chọn nút Start chương trình sẽ vẽ biểu đồ Error’s dynamics HVTH: VũPhátLộc – CH1301097 Trang24 Tiểu luận môn học :Máy học và ứng dụngGVHD: PGS.TS.Vũ Thanh Nguyên PHẦN 3 KẾT LUẬN Thuật toán lan truyền. .. VũPhátLộc – CH1301097 Trang11 Tiểu luận môn học :Máy học và ứng dụngGVHD: PGS.TS.Vũ Thanh Nguyên Hình 8 Mạng neuron hồi quy Mạng neuron phản hồi có thể thực hiện đóng vòng được gọi là mạng neuronhồi quy như hình 8 5 Huấn luyện mạng neuron Quy tắc học là một thủ tục sửa đổi trọng số và độ lệch của mạng( Thủ tục này còn được gọi là thuật toán huấn luyện) Thủ tục này sẽ huấn luyện mạng để nó có thể thực hiên... Tiểu luận môn học :Máy học và ứng dụngGVHD: PGS.TS.Vũ Thanh Nguyên 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ở cho việc cập nhật các trọng số là phương pháp độ dốc 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. . .Tiểu luận môn học :Máy học và ứng dụngGVHD: PGS.TS.Vũ Thanh Nguyên Hình 6 Mạng truyền thẳng nhiều lớp Mạng neuron 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 xi đượ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à... là tín hiệu sai lệch của neuron thứ i cho lớp ra Q; hàm của hàm truyền a(.) theo tổng trọng số của phần tử i của lớp đầu ra là HVTH: VũPhátLộc – CH1301097 Trang20 là đạo Tiểu luận môn học :Máy học và ứng dụngGVHD: PGS.TS.Vũ Thanh Nguyên a '( Q neti ) = da d ( neti ) Q Bước 4 (lan truyền ngược sai số) Các sai số lan truyền ngược với mục đích để cập nhật các trọng số và tính toán các δi q −1 tín hiệu... chúng truyền các tín hiệu sai số ( δ oi ) ngược trở lại, đó chính là các đường nét đứt trong hình 9 Điều này đã chứng tỏ được đặc điểm quan trọng của thuật toán lan HVTH: VũPhátLộc – CH1301097 Trang18 Tiểu luận môn học :Máy học và ứng dụngGVHD: PGS.TS.Vũ Thanh Nguyên 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á trị ở hai đầu của . Phát Lộc MSHV: CH1301097 TP.HCM, 03/2014 TÌM HIỂU MẠNG NEURON NHÂN TẠO VÀ DEMO SỬ DỤNG THUẬT TOÁN LAN TRUYỀN NGƯỢC Tiểu luận môn học :Máy học và ứng dụngGVHD: PGS.TS.Vũ Thanh Nguyên LỜI CÁM ƠN Em. lưu trữ .Và mô hình hệ thống huấn luyện tự động đó chính là mô hình hệ thống mạng neuron nhân tạo. Bài tiểu luận này sẽ trình bày về mạng neuron nhân tạo và demo sử dụng thuật toán lan truyền ngược. HVTH:. 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 HVTH: VũPhátLộc – CH1301097 Trang15 Tiểu luận môn học :Máy học và

Ngày đăng: 21/05/2015, 12:49

Từ khóa liên quan

Mục lục

  • LỜI CÁM ƠN

  • LỜI MỞ ĐẦU

  • PHẦN 1. MẠNG NEURON NHÂN TẠO

    • 1. Neuron sinh học

    • 2. Triển vọng phát triển của mạng neuron nhân tạo

    • 3. Mô hình của một neuron nhân tạo

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

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

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

        • Hình 4.Mạng neuron ba lớp.

        • 4.1. Mạng neuron một lớp

        • 4.2. Mạng neuron truyền thẳng nhiều lớp

        • 4.3. Mạng neuron phản hồi

        • 4.4. Mạng neuron hồi quy

        • 5. Huấn luyện mạng neuron

          • 5.1. Học giám sát

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

          • 5.3. Học tăng cường

          • 6. Một số vấn đề của mạng neuron

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

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

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

              • 2. Chương trình demo

              • PHẦN 3. KẾT LUẬN

              • TÀI LIỆU THAM KHẢO

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

Tài liệu liên quan