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 NEURAL NETWORK VÀ THUẬT TOÁN LAN TRUYỀN NGƯỢC

35 902 6

Đ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 35
Dung lượng 764,7 KB

Nội dung

Với sự kết hợp kỳ diệu của tin học và sinh học, con người đã có thể mô phỏng được hoạt động của các mạng noron trong bộ não của chúng tathông qua các chương trình máy tính.. Vì mỗi noron

Trang 1

CAO HỌC KHÓA 8

NEURAL NETWORK VÀ THUẬT TOÁN LAN

TRUYỀN NGƯỢC

Giảng viên hướng dẫn: PGS.TS Vũ Thanh Nguyên

Học viên thực hiện: CH1301031 - Nguyễn Thành Phương

Trang 2

1.1 Lý do chọn đề tài 1

1.2 Mục đích nghiên cứu 2

1.3 Nội dung nghiên cứu 2

1.4 Bố cục báo cáo 2

CHƯƠNG 2: MẠNG NEURAL 3

2.1 Cấu trúc và mô hình của một neural nhân tạo 3

2.2 Lớp neural 5

2.3 Khái niệm và phân loại mạng neural 6

2.4 Các thủ tục học của mạng 11

CHƯƠNG 3: THUÂT TOÁN LAN TRUYỀN NGƯỢC 15

3.1 Khảo sát nguyên lý mạng nơ-ron nhiều lớp lan truyền ngược 15

3.2 Thuật toán lan truyền ngược 26

CHƯƠNG 4: HIỆN THỰC THUẬT TOÁN VÀ CHẠY THỬ 29

4.1 Giao diện chính 29

4.2 Các biến input 29

4.3 Chạy thử 29

CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 31

5.1 Kết quả 31

5.2 Hạn chế 31

Trang 3

CHƯƠNG 1: TỔNG QUAN

1.1 Lý do chọn đề tài

Bộ não con người là một máy tính kì diệu, từ lâu con người đã nghĩ tới viêc xâydựng các mô hình tính toán, mô phỏng quá trình hoạt động của bộ não con người.Trước đây, do công cụ tính toán chưa phát triển mạnh nên ý tưởng đó vẫn nằm trongphòng thí nghiệm và chỉ những người nghiên cứu mới biết về nó Khi máy tính điện

tử, công cụ chủ yếu của công nghệ thông tin hiện đại, phát triển tới mức độ cao thìnhững ý tưởng này đã được hiện thực hoá Chất lượng và khối lượng của các hoạtđộng trí óc này không ngừng tăng lên theo sự tiến triển nhanh chóng về khả năng lưutrữ và xử lý thông tin của máy Từ hàng chục năm nay, cùng với khả năng tính toánkhoa học kỹ thuật không ngừng được nâng cao, các hệ thống máy tính đã được ứngdụng và thực hiện được rất nhiều mô hình tính toán thông minh để phục vụ cho cácngành kinh tế, xã hội, hình thành dần kết cấu hạ tầng thông tin quốc gia, nền móng của

sự phát triển kinh tế thông tin ở nhiều nước Sự phong phú về thông tin, dữ liệu cùngvới khả năng kịp thời khai thác chúng đã mang đến những năng suất và chất lượng mớicho công tác quản lý, hoạt động kinh doanh, phát triển sản xuất và dịch vụ

Một trong những mô hình tính toán thông minh đó, ta phải kể đến đó chính làmạng Neural nhân tạo Điểm quyết định nên sự tồn tại và phát triển ở một con người

đó chính là bộ não Cùng với sự phát triển như vũ bão của công nghệ thông tin trongthời đại ngày nay, con người đã sử dụng bộ não của mình để tư duy, để tạo ra mộtmạng Neural nhân tạo có thể thực hiện tính toán và làm được những điều huyền bí,tưởng chừng như nan giải! Với sự kết hợp kỳ diệu của tin học và sinh học, con người

đã có thể mô phỏng được hoạt động của các mạng noron trong bộ não của chúng tathông qua các chương trình máy tính

Có lẽ mạng Neural không chỉ hấp dẫn đối với những người yêu thích công nghệthông tin bởi khả năng do con người huấn luyện, mà còn bởi những ứng dụng thực tiễntrong cuộc sống của nó Chúng ta hoàn toàn có thể nhận dạng dấu vết vân tay của tộiphạm trong hình sự, có thể dự đoán thị trường chứng khoán, dự đoán thời tiết, dự toánchi phí cho một dự án đường cao tốc, khôi phục những tấm ảnh, hay một chiếc xe lăndành cho người khuyết tật có thể nhận được mệnh lệnh điều khiển bằng cử chỉ, hành

Trang 4

động, thậm chí là suy nghĩ của người ngồi trên xe v.v… nhờ có mạng Neural nhântạo

Trong khuôn khổ của một tiểu luận, em chọn đề tài “Neural network và thuậttoán lan truyền ngược” nhằm tìm hiểu chung về mạng neural và thuật toán lan truyềnngược, bên cạnh đó hoàn thành một chương trình hiện thực thuật toán này

- Một số giải thuật học của các mạng Neural với các trọng số

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

1.4 Bố cục báo cáo

- Chương 1: Tổng quan

- Chương 2: Mạng neural

- Chương 3: Thuật toán lan truyền ngược

- Chương 4: Ứng dụng minh họa

- Chương 5: Kết luận và hướng phát triển

Trang 5

CHƯƠNG 2: MẠNG NEURAL

2.1 Cấu trúc và mô hình của một neural 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à Neural 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 Neural có m đầu vào x1, x2, , xm, và một đầu ra yi như sau:

Hình 2.1 Mô hình một Neural nhân 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ọcmạ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ó

Trang 6

- 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 Neural 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 Neural được giới hạn trong đoạn [0,1] hoặc [-1,1] Các hàm truyền rất đadạ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 Neural, với mỗi Neural sẽ có tối đa một đầura

Về mặt toán học, cấu trúc của một Neural i được mô tả bằng cặp biểu thức sau:

y i=f (net iθ i) và net i=∑j=1

n

w ij x j

trong đó: x1, x2, …xm là các tín hiệu đầu vào, còn wi1, wi2,…,wim là các trọng số

i là tínhiệu đầu ra của Neural

Hàm truyền có thể có các dạng sau:

- Hàm bước

- Hàm giới hạn chặt (hay còn gọi là hàm bước)

- Hàm bậc thang

Trang 8

Vì mỗi noron trong một lớp sản sinh ra Net đầu vào và tín hiệu ra Out riêng nêntất cả các tín hiệu này được tổ chức thành các vecto Net và Out Các vecto Out này cóthể dùng như tín hiệu vào X của các noron kế tiếp Hình vẽ sau là một ví dụ về 1 lớp có

4 noron và vecto tín hiệu vào có 3 biến

Hình 2.4 Mạng truyền thẳng một lớp

Trang 9

Trong ma trận trọng số, các hàng là thể hiện Neural, hàng thứ j có thể đặt nhãn

wj = [wj1, wj2, , wjm]

ngoài là cảm biến hoặc thiết bị đo lường đưa tới mạng

2.3.2 Mạng neural truyền thẳng nhiều lớp

Hình 2.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:

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 Neural 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 Neural vào/ra

- Lớp ra là lớp Neural tạo ra các tín hiệu ra cuối cùng

2.3.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 Neural được quay trở lại nốivới đầu vào của các Neural cùng lớp được gọi là mạng Laeral như hình 6

Trang 10

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

2.3.4 Mạng neural hồi quy

Hình 2.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ồiquy như hình 7 Mạng neural hồi quy có trọng số liên kết đối xứng như mạngHopfield, mạng luôn hội tụ về trạng thái ổn định (Hình 6) Mạng BAM thuộc nhómmạ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ặpphả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

Trang 11

2.3.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 chitiế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

Hình 2.8 C u trúc c a m ng Hopfield ấu trúc của mạng Hopfield ủa mạng Hopfield ạng Hopfield

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ácqua trọng số wij, với i ¿ j, (i = 1,2, ,n), hay nói cách khác wii = 0, (với i = 1,2, ,n)

n ¿ ¿ , ¿

i = 1,2, ,n (6)

Trang 12

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 đượccập nhật độc lập

Có sự khác biệt giữa luật cập nhật đồng bộ và luật cập nhật không đồng bộ Vớiluật cập nhật không đồng bộ thì sẽ chỉ có một trạng thái cân bằng của hệ (với giá trịđầu đã được xác định trước) Trong khi đó, với luật cập nhật đồng bộ thì có thể làmmạng hội tụ ở mỗi điểm cố định hoặc một vòng giới hạn

2.3.6 Mạng BAM

Mạng BAM bao gồm hai lớp và được xem như là trường hợp mở rộng của mạngHopfield Ở đây ta chỉ xét mạng rời rạc, vì nó đơn giản và dễ hiểu

Hình 2.9 C u trúc c a BAM ấu trúc của mạng Hopfield ủa mạng Hopfield

Khi mạng neural được tích cực với giá trị đầu vào của vector tại đầu vào của mộtlớp, mạng sẽ có hai mẫu trạng thái ổn định, với mỗi mẫu tại đầu ra của nó là một lớp.Tính động học của mạng thể hiện dưới dạng tác động qua lại giữa hai lớp Cụ thể hơn,giả sử một vector đầu vào x được cung cấp cho đầu vào của lớp Neural y Đầu vàođược xử lý và truyền tới đầu ra của lớp y như sau:

Trang 13

Chú ý rằng trạng thái cập nhật trong phương trình (9) là đồng bộ theo phươngtrình (7) và (8) Trạng thái cập nhật cũng có thể không đồng bộ theo phương trình (7)

và (8) với các nút i, j được chọn tự do Người ta đã chỉ ra rằng, hệ thống ổn định cho

cả hai chế độ đồng bộ và không đồng bộ Tuy nhiên, chế độ đồng bộ sẽ làm cho hệthống hội tụ nhanh hơn nhiều

2.4 Các thủ tục học của mạng

Nguyên tắc học của mạng noron được chia làm 2 loại: học tham số và học cấu trúc.Trong đo, học tham số quam tâm đến chiến lược hiệu chỉnh trong số của các noron

Trang 14

trong mạng Học cấu trúc tập trung vào việc thay đổi cấu trúc bao gốm số lớp, sốnoron, cấu trúc topo của các trọng số Cả 2 loại có thể học đồng thời hoặc tách biệt.

Các thủ tục học tham số nhằm tìm kiếm ma trận trọng số W sao cho mạng cókhả năng đưa ra các dự báo sát với thực tế Các thủ tục học tham số có thể chia thành 3lớp nhỏ hơn là: học có chỉ đạo (học có thầy), học tăng cường, học không có chỉđạo(học không có thầy)

2.4.2 Học có chỉ đạo:

Mỗi lần vectơ tín hiệu vào X được cung cấp cho mạng, ta cũng cấp luôn chomạng vectơ đầu ra mong muốn là Y Và mạng phải sản sinh ra tín hiệu ra Out sao cho

số Tín hiệu sai số này sẽ đi vào mạng và mạng sẽ hiệu chỉnh các trọng số của mình

Nếu tín hiệu đầu ra Out= Y thì lúc đó mạng noron đã bão hoà, khi đó thủ tụchọc của mạng đã hội tụ

Trang 15

Vecto vào

Mạng noron Tín hiệu ra Out

Sản sinh tín hiệu tăng cường

Tín hiệu tăng cường

Hình 2.11- Sơ đồ học tăng cường

2.4.3 Học tăng cường:

cũng là một dạng của học có chỉ đạo vì mạng noron vẫn nhận tín hiệu bên ngoài môitrường Tuy nhiên, tín hiệu ngoài môi trường chỉ là những tín hiệu mang tính phêphán, chứ không phải là các chỉ dẫn cụ thể như trong học có chỉ đạo Nghĩa là, tín hiệutăng cường chỉ có thể nói cho mạng biết tín hiệu vừa sản sinh là đúng hay sai chứkhông chỉ cho mạng biết tín hiệu đúng như thế nào Tín hiệu tăng cường được xử lýbởi bộ xử lý tín hiệu tăng cường (hình 2) nhằm mục đích giúp cho mạn hiệu chỉnh cáctrọng số với hi vọng nhận được tín hiệu tăng cường tốt hơn trong tương lai Các thủtục học tăng cường thường được biết đến như các thủ tục học với nhà phê bình chứkhông phải là học với thầy như các thủ tục học có chỉ đạo

Hình 2.10 - Sơ đồ học có chỉ đạo

Trang 16

Vecto vào Mạng noron Tín hiệu ra Out

Hình2.12- Sơ đồ học không chỉ đạo

2.4.4 Học không chỉ đạo:

Trong thủ tục này, không có thông tin nào từ bên ngoài môi trường chỉ ra tínhiệu đầu ra Out phải như thế nào hoặc đúng hay sai Mạng noron phải tự khám phá cácđặc điểm, các mối quan hệ đang quan tâm như: dạng đường nét, có chuẩn – có bìnhthường hay không, các hệ số tương quan, tính cân xứng, tính chạy,… của các mẫu học

và sau đó chuyển những quan hệ tìm thấy qua đầu ra Trong quá trình học, các trọng sốcủa mạng sẽ thay đổi để thể hiện các đặc tính được phát hiện

Để dễ hình dung công việc này, chúng ta hãy nhớ tới công việc của các nhàthống kê, nhất là các nhà thống kê dùng máy tính hiện đại

2.4.6 Sử dụng mạng

Giả sử đã huấn luyện mạng với tập mẫu {(Xp, Yp)} để được ma trận trọng số W

out = g(w64 a4 + w65 a5) = g(w64 g(w41x1 + w42x2 + w43x3) w65 g(w51x1 + w52x2 + w53x3))

Trang 17

*) Khả năng tính toán của mạng nhiều lớp:

Với một lớp ẩn, mạng có thể tính toán xấp xỉ một hàm liên tục bất kỳ với cácbiến là các tín hiệu đầu vào

Với hai lớp ẩn, mạng có thể tính toán xấp xỉ một hàm bất kỳ Tuy vậy, sốnoron trong các lớp ẩn có thể tăng theo hàm mũ đối với số đầu vào và cho đến nay vẫnchưa có những cơ sở lý luận đầy đủ để khảo sát họ các hàm có thể xấp xỉ nhờ cácmạng nhiều lớp

Trang 18

CHƯƠNG 3: THUÂT TOÁN LAN TRUYỀN NGƯỢC

3.1 Khảo sát nguyên lý mạng nơ-ron nhiều lớp lan truyền ngược

Việc xử lý dạy nhiều mạng nơ-ron nhiều lớp dùng giải thuật lan truyền ngược.Minh họa này sử dụng ba lớp nơ-ron hai đầu vào và một đầu ra, Hình sau đây minhhọa việc sử dụng

Mỗi nơron bao gồm hai đơn vị Đơn vị đầu tiên thêm các sản phẩm có trọnglượng hệ số và tín hiệu đầu vào Các đơn vị thứ hai thực hiện chức năng phi tuyến,

được gọi là chức năng kích hoạt nơ-ron Tín hiệu e là tín hiệu hàm cộng đầu ra, và y =

f (e) là tín hiệu đầu ra của các phần tử phi tuyến Tín hiệu y cũng là tín hiệu đầu ra của

nơ-ron

Trang 19

Để dạy mạng nơ-ron chúng ta cần tập dữ liệu huấn luyện Tập dữ liệu huấn

luuyện bao gồm các tín hiệu đầu vào (x1 và x2) được gán với mục tiêu tương ứng (đầu

ra mong muốn) z Huấn luyện mạng là một quá trình lặp đi lặp lại Trong mỗi lần lặp

trọng lượng hệ số của các nút được thay đổi sử dụng dữ liệu mới từ những bài tập tập

dữ liệu Sửa đổi được tính toán sử dụng thuật toán mô tả sau đây: Mỗi bước huấnluyện bắt đầu bằng việc buộc (forcing) cả hai tín hiệu đầu vào từ tập huấn luyện Saugiai đoạn này chúng ta có thể xác định tín hiệu đầu ra giá trị cho mỗi nơ-ron trong mỗilớp mạng Hình ảnh dưới đây minh họa cách tín hiệu được truyền qua mạng, biểu

nơ-ron n tnơ-rong lớp đầu vào Biểu tượng yn biểu diễn cho tín hiệu đầu ra của nơ-nơ-ron n

Trang 21

Lan truyền các tín hiệu thông qua các lớp ẩn Biểu tượng wmn biểu diễn cho trọng

số của các kết nối giữa đầu ra của nơ-ron m và đầu vào của nơ-ron n trong các lớp tiếptheo

Trang 22

Lan truyền các tín hiệu qua các lớp đầu ra.

Trong bước tiếp theo thuật toán tín hiệu đầu ra của mạng ở đây là y được so sánhvới giá trị đầu ra mong muốn (mục tiêu), được tìm thấy trong tập dữ liệu huấn luyện

Sự khác biệt được gọi là tín hiệu lỗi  của lớp nơ-ron ra (output)

Trang 23

Không thể tính toán tín hiệu sai cho nơ-ron nội bộ trực tiếp, bởi vì giá trị đầu racủa nơ-ron chưa được biết Trong nhiều năm, phương pháp hiệu quả để huấn luyệnmạng nhiều lớp không được biết Chỉ trong thập niên tám mươi giữa các thuật toánlan truyền ngược đã được đưa ra Ý tưởng là để tuyên truyền tín hiệu lỗi  (tính ởbước giảng dạy duy nhất) trở lại tất cả các nơ-ron, mà tín hiệu đầu ra là đầu vào chocác nơ-ron bàn đến.

Trang 24

Trọng lượng 'hệ số wmn được sử dụng để lan truyền lỗi trở lại bằng việc sử dụngđiều này trong tính toán giá trị đầu ra Chỉ hướng dòng dữ liệu được thay đổi (tín hiệuđược truyền từ đầu ra để đầu vào sau khi khác) Kỹ thuật này được sử dụng cho tất cảcác lớp mạng Nếu lỗi lan truyền đến từ vài nơ-ron chúng được thêm vào Xemhìnhminh họa sau đây:

Trang 25

Khi tín hiệu lỗi mỗi nơ-ron được tính toán, các hệ số trọng lượng của mỗi nút đầu

vào nơ-ron có thể được sửa đổi Trong công thức dưới đây df (e) / de biểu diễn dẫn

xuất hàm kích hoạt nơ-ron (có trọng số bị sửa đổi)

Trang 28

Hệ số ảnh hưởng đến tốc độ giảng dạy mạng Có một số kỹ thuật để chọntham số này Phương pháp đầu tiên là bắt đầu quá trình giảng dạy có giá trị lớn của các

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

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w