1. Trang chủ
  2. » Luận Văn - Báo Cáo

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 820 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

Thông tin cơ bản

Định dạng
Số trang 26
Dung lượng 483,65 KB

Nội dung

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

Trang 1

MSHV: CH1301097

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

Trang 2

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

LỜI MỞ ĐẦU 1

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

1 Neuron sinh học 2

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

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

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

4.1 Mạng neuron một lớp 8

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

Trang 3

4.3 Mạng neuron phản hồi 9

4.4 Mạng neuron hồi quy 10

5 Huấn luyện mạng neuron 10

5.1 Học giám sát 10

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

5.3 Học tăng cường 11

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

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

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

2 Chương trìnhdemo 19

PHẦN 3 KẾT LUẬN 22

TÀI LIỆU THAM KHẢO 23

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

Trang 4

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ạnhhoặ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 kinhra) 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ạothà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ắngọ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ừ

Trang 5

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ảmgọ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 neuronkhá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 khimạ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ếtnà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ủaneuron 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 đồngthờ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ỏngcá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ặtngườ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

Trang 6

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ệnbằ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ố ứngdụ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áimá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ạngné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íchnguyê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

 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ântí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

Trang 7

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 x1, x2, , xm, và một đầu ra yi như sau:

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

 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ớitrọ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àmtruyề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

Trang 8

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ộcvà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:

Trang 9

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

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

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

Trang 10

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ạngneuroncó 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 neuronnào trong mạng cũng được nối với một hoặc vài neuron khác) Mạng neuronbao gồmmộ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 đưavào những kích thích, mạng hình thành những đáp ứng tương ứng, những đáp ứngtươ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ácvấn đề một cách đúng đắn Đó có thể là vấn đề ứng dụng rất khác nhau, được giảiquyế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 đượckhông đầy đủ hoặc bị tác động của nhiễu Mạng neuronkiểu này được ứng dụng tronglĩ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ạngthô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 ratươ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 suydiễ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ủamạ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 raphù 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ìnhthành trong quá trình học

4.1 Mạng neuron một lớp

Trang 11

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

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 xi (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àokhông làm biến đổi các tín hiệu vào xi, 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

Trang 12

 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ênngoà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

4.3 Mạng neuron phản hồi

Mạng neuron 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 7

Hình 7 Mạng hồi tiếp một lớp

4.4 Mạng neuron hồi quy

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 quynhư 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

Trang 13

hiên một số nhiệm vụ mà ta mong muốn Yêu cầu chính trong vấn đề này là cần có một

Trang 14

f (p) cho biết nhóm chứa đối tượng p.

Trên thực tế người ta thường kết hợp cả hai phương pháp học có giám sát và họckhông có giám sát để phân loại các đối tượng, sau khi các đối tượng được chia thànhcác nhóm tương đối nhỏ thì có thể áp dụng học có giám sát với một số nhóm nào đó.Tuy nhiên nếu các nhóm vẫn quá lớn thì chúng ta có thể chia tiếp ra thành các nhómcon nhỏ hơn và tiếp tục quá trình như vậy cho đến khi thu được các nhóm đủ nhỏ.Trong học không có giám sát, quá trình này được gọi là học phân cấp, liên quan đếncác phương pháp clustering phân cấp

5.3 Học tăng cường

Học tăng cường tương tự như học có giám sát trừ việc thay bằng cung cấp các đầu

ra đúng cho mỗi đầu vào của mạng, thuật toán chỉ đưa ra các đánh giá theo các mức độ(cho điểm) Điểm này là phép đo hiệu suất của mạng trên một dãy đầu vào Nhóm quytắc học này không phổ biến bằng nhóm quy tắc học có giám sát Nó thích hợp với cácứng dụng điều khiển hệ thống

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 dụng Những mô hình phức tạp quá dẫn đến những vấn đề về lựa chọn quá trìnhhuấn luyện và giải thuật học

 Lựa chọn giải thuật học: ở đây có nhiều sự cân bằng giữa các giải thuật học.Gần như bất kỳ giải thuật nào sẽ làm tốt với độ chính xác của các siêu tham số cho việchuấn luyện trên tập dữ liệu cố định cho trứớc Tuy nhiên sự lựa chọn và điều hướngcủa giải thuật cho việc huấn luyện trên các tập dữ liệu này cần thực hiện nhiều thí

Trang 15

nghiệm, đó là điều rất quan trọng Trên một mô hình nếu lựa chọn giải thuật và hàmđánh giá phù hợp thì mạng neuroncó thể cho kết quả rất tốt.

 Trọng số của các cung nối và ngưỡng thay đổi thường xuyên Đã có nhiềunghiên cứu về vấn đề này và cũng đã có một số kết quả: Nếu mạng gây ra lỗi, thì có thểxác định neuronnào gây ra lỗi => điều chỉnh neuronđó.Với cách tiếp cận này, mạngphải biết rằng nó gây ra lỗi Trong thực tế, lỗi chỉ được biết sau một 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ưnghầ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ậttoán huấn luyện đều sử dụng kiểu gradient descent- tiến dần đến cực tiểu nào đó Điềunày được thực hiện bằng cách lấy đạo hàm của hàm f theo các tham số của mạng vàđiều chỉnh các tham số cho phù hợp với môi trường đang xét

Các phương pháp thường dùng cho huấn luyện neuron: phương pháp tiến hóa, giảithuật luyện kim, cực đại hóa kỳ vọng và các phương pháp không tham số

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ệ

Trang 16

đị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ươngphá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: lantruyền tiến để thực hiện ánh xạ và lan truyền ngược sai số để cập nhật các trọng số Cáctrọng số của mạng là các hệ số của mô hình Phương pháp giảm gradient được dùng đểcập nhật những 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 đượcnghiê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ềnngượ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ở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 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ố

Trang 17

Đường nét liền diễn tả lan truyền thẳng của các tín hiệu, đường nét đứt diên tả lantruyền ngược của các sai số Đầu tiên huấn luyện vào cặp vào/ra ký hiệu (x,d) để chođơn giản ta bỏ chỉ số k Khi một mẫu đầu vào x được đưa vào thì các phần tử trongmạng sẽ được tính như sau:

Đầu vào phần tử q của lớp ẩn sẽ được tính theo phương trình:

Sau đó, theo phương pháp độ dốc Gradient, các trọng số nối giữa lớp ẩn và lớp đầu

ra được cập nhật bởi Δwwiq , và nó được tính theo công thức sau:

Trang 18

a'( net i)=∂a(net i)

net i

Bây giờ ta phải tính đầu ra zq của lớp ẩn:

Với trọng số nối giữa đầu vào và các lớp ẩn, ta sử dụng thay đổi luật cùng phươngpháp độ dốc Gradient, ta cập nhật trọng số để kết nối giữa phần tử thứ j của lớp đầuvào với phần tử thứ q của lớp ẩn Khi đó:

Từ công thức (14), thì mỗi sai số [di-yi], với i=1,2, ,n là một hàm của zq

Đánh giá thay đổi luật ta có:

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

HÌNH ẢNH LIÊN QUAN

Hình 1. Neuron sinh học. - 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
Hình 1. Neuron sinh học (Trang 4)
Hình 2. Mô hình một neuron nhân tạo. - 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
Hình 2. Mô hình một neuron nhân tạo (Trang 6)
Đồ thị các dạng hàm truyền được biểu diễn như sau: - 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
th ị các dạng hàm truyền được biểu diễn như sau: (Trang 8)
Hình 4.Mạng neuron ba lớp. - 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
Hình 4. Mạng neuron ba lớp (Trang 9)
Hình 6 Mạng truyền thẳng nhiều lớp. - 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
Hình 6 Mạng truyền thẳng nhiều lớp (Trang 11)
Hình 7. Mạng hồi tiếp một lớp - 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
Hình 7. Mạng hồi tiếp một lớp (Trang 11)
Hình 8. Mạng neuron hồi quy. - 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
Hình 8. Mạng neuron hồi quy (Trang 12)
Hình 9. Mạng 3 lớp lan truyền ngược - 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
Hình 9. Mạng 3 lớp lan truyền ngược (Trang 15)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w