1. Trang chủ
  2. » Giáo Dục - Đào Tạo

LUẬN VĂN TỐT NGHIỆP TÌM HIỂU MẠNG NEURAL VÀ MỘT SỐ ỨNG DỤNG TRONG GIẢI QUYẾT CÁC BÀI TOÁN THỰC TẾ

126 7 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 126
Dung lượng 1,84 MB

Nội dung

LUẬN VĂN TỐT NGHIỆP TÌM HIỂU MẠNG NEURAL VÀ MỘT SỐ ỨNG DỤNG TRONG GIẢI QUYẾT CÁC BÀI TOÁN THỰC TẾ MỤC LỤC 1. SƠ LƯỢC MẠNG NORON TRONG TỰ NHIÊN........................................................................... 4 2. MẠNG NORON NHÂN TẠO....................................................................................................... 9 2.1 Tiếp cậŶ ĐăŶ ďản .............................................................................................................. 9 2.2 Tiếp cận hoạt động của mạng noron ............................................................................ 16 Gradient search.............................................................................................................. 16 Ứng dụŶgàphươŶgàphĄpàGradieŶtàvăoàŵạng noron...................................................... 23 Gradient descent Algorithm ........................................................................................... 29 CĄĐàďước xây dựŶgàĐhươŶgàtrình mô phỏng bằng C ................................................... 33 Các bài toán không tịnh tiến.......................................................................................... 55 CĄĐàďước xây dựŶgàĐhươŶgàtrŞŶhàŵƀàphỏng bằng C ................................................... 67 Overfitting – Quá phù hợp ............................................................................................. 85 Bias – Variance traceoff................................................................................................ 85 NgăŶàĐhặn Overfitting.................................................................................................... 86 Weight decay ................................................................................................................. 88 Áp dụng công thứĐàQuiĐkpropàđể giải quyết bài toán liner ở ví dụ đầu tiên................. 99 Growing network (mạng lớn dần)................................................................................ 109 PhươŶgàphĄpàĐasĐadeàĐorelation ................................................................................ 110 3. PHỤ LỤC ................................................................................................................................ 123

LUẬN VĂN TỐT NGHIỆP (Báo cáo lần 1) TÌM HIỂU MẠNG NEURAL VÀ MỘT SỐ ỨNG DỤNG TRONG GIẢI QUYẾT CÁC BÀI TOÁN THỰC TẾ LỜI MỞ ĐẦU MỤC LỤC SƠ LƯỢC MẠNG NORON TRONG TỰ NHIÊN MẠNG NORON NHÂN TẠO 2.1 Tiếp cậ ă ản 2.2 Tiếp cận hoạt động mạng noron 16 Gradient search 16 Ứng dụ gàphươ gàph pàGradie tàv oà ạng noron 23 Gradient descent Algorithm 29 C ước xây dự gà hươ gàtrình mơ C# 33 Các tốn khơng tịnh tiến 55 C ước xây dự gà hươ gàtr hà àphỏng C# 67 Overfitting – Quá phù hợp 85 Bias – Variance trace-off 85 Ngă hặn Overfitting 86 Weight decay 88 Áp dụng công thứ àQui kpropàđể giải tốn liner ví dụ 99 Growing network (mạng lớn dần) 109 Phươ gàph pà as adeà orelation 110 PHỤ LỤC 123 PHẦN SƠ LƯỢC MẠNG NORON TRONG TỰ NHIÊN Trong q trình tiến hóa sinh vật hàng triệuà ă a ,à si hà ậtà tha đổi hình dạng bên ngồi, màu sắc, cách di chuyể ,àtha àđổi môi t ường sống, thứ ă …à hư gà tiến hóa đ gàkể mà khó nhìn thấ àđược tiến o.à hóa ồđ àtừ lâu bí ẩn với o gười cách hoạtà động, cách học củaà àCo gười sinh vật cấp cao với não phát triển tốt nhấtà ượt lên sinh vật Vớiàt hàđộ khoa họ àkĩàthuật ngày não ngày lộ rõ t ước kính hiển vi Hình P1 mơ phần não Bộ não khối thống Ở tầ ĩà mô ta phân tách não thành phần vỏ não, midbrain, brainstem, tiểu não Mỗi phần phân cấp thành nhiều vùng phần nhỏ hơ ,à ỗi phần tùy thuộc vào cấu trúc nhỏ hơ àt o gà àhoặc phụ thuộc vào ă gà hỏ hơ àT o gàtổng thể phần não ( bó thần kinh) liên kết phần cực k phức tạp phần củaà (và lớn nhất) trự àgi ơià truyền tớià feedfo àha a dà àđược biếtàđến Hệ thống tốt oà o gườià đ l hệ thống àt ạng thái xử l àđầuàti àđượ à ơà ua àđầu vào (gầ àđịnh Chúng ta phân biệt thông tin ơà ua àtiếp nhận thông tin) truyền cho xử lý sau này, truyề gược (feedback) nhận phản hồiàsauàkhiàđ lý Mỗi phần có nhiệm vụ ă gà i nhau, theo nguyên tắ àđặc biệtà gà hư gàtất cấu tạo từ noron nối kết với oàđ àtạo thành mạng chằng chịt noron Mạng gọi mạng noron, hình P1.2 mơ phỏ gàđiều Được cấu thành từ nhiều noron, noron kết nối với hay nhiều noron khác, mạng noron truyền thơng tin qua nhiều tầng Tín hiệđi vào mộtà o o àđược noron xử l àsauàđ àt àhiệuàđ xử l àđược truyền tiếp cho noron khác thông qua nhữ gàđường truyền dài ngắn kh hau.àTh gàti àt àđường truyền bị biế àđổi chiều dài hay tính chất riêng mỗiàđường truyền Một noron nhận thông tin từ noron khác thường hàng ngàn) Hàm tổng giá trị đầuà oàkhiàđ ượt mứ àđị hàt ước noron phát spike _ Mộtà u gàđiệ àđiàtừ thân đế àa o àđến noron khác (hay phần tiếp nhậ àkh à“pikeà àđược gọi depolarization (khử phân cực) Hầu hết phần cuối Axon (output zone) kết nối với dendrites neuron khác Sự truyền tải tín hiệuàđiện từ noron sang noron khác chịu chi phối neurotransmittor Liên kết hóa học từ noron truyền tín hiệuàđiện cho noron khác gọi synapse Sự truyền tín hiệu từ noron noron khác phụ thuộc vào nhiều yếu tố ví dụ: Số eu ot a s itto đa gà hoạtà động, số lượng xếp receptors, tổng neurotransmittor hấp thụ… Hình P1.3 thể ả hà hưởng lớp eu o st a s ito t o gà u àt hàđường truyền Cấu trúc mộtà o o H hàp hưàsau:  Dendrites (nhập)  Cell body: (thân tế bào)  Axon (xuất) N oà gười chứa 10 tỉ tế bào thần kinh, noron Trung bình noron kết nối với noron khác thông qua 10 000 liên kết (sysnapses) (Thật số khác tùy thuộc vào trung khu thần kinh) Não mạng noron hoạtàđộng xử l àso gàso g.àĐiềuà vớià àt ià gược àt hàth gàthường xử lý dẫn Ngược lại noron thần kinh hoạtàđộng với tố àđộ tốiàđầl àHzàth chạ àt ă àt iệu tốn tử giây Mặc dù với tố àđộ chậ hư gà khả ă gà ượt trội: àt hà àthể gười có - N àkhu hàhướng giảm hoạtàđộng phần bị hưàhại.àNgược lại hầu hết hươ gàt hà àhệ thống máy móc hiệ àđại dừng hoạtàđộng phần bị hỏng - Não học (tự tổ chức lại nó) thơng qua kinh nghiệm - C ghĩầl àthể hồn thiện lại phần bị hỏng phần khỏe mạnh học đảm nhiệm cơng việc phần bị hỏng - Nó xử lý cơng việc song song cực k hiệu Ví dụ hình dung khái niệm ảo phức tạp t o gà gà tàhơ s,à ghĩaàl à u àt hà lý lúc! - Nó cung cấp trí thơng minh kiến thức processing element energy processing Style of fault elements size use speed computation tolerant 10 m 30 W 100 Hz -6 30 W 14 10 synapses -6 10 transistor s 10 m Não nhận tín hiệu từ hiệu trả lời lạià hồ truyề àđến tai, nhờ có (CPU) distributed serial, centralized yes no intelligent, conscious yes usually a little not (yet) ơà ua ả àgi hưàtai,à ắt,à ũi…àsauàđ lý trả tín ơà ua à hĩà 10 Hz parallel, learns àV àdụ khià gười gọi tên bạn, sóng âm phát ươ gà ống tai biến nhữ gàdaoàđộng âm thành nhữ gàdaoàđộ gàđiện.àC u gàđiện truyền tới não, não xử lý tín hiệu trả kết tín hiệđiệ àl hồ ơà ua àkh hưà h ,àlư g,à ổ làm cho bạ ua gười lại Hình P1.5 mơ phản ứng Hình P1.5 mơ q trình phản ứng, xử lý thơng tin não Giả sử th gàti àđầuà oàđiàtừ taià uaà o o àá,àđược noron A xử l àsauàđ àth gàti àtiếp tục qua noron B, noron B xử lý thông tin tiếp tục truyề àđến C D Cuốià gà o o àDàđưaà aàt hiệu xử l hoàta àĐối với mộtà gườiàt ưởng thành ta gọi tên q trình xả ầ hưàt ,à àđối với em bé gọi tên em khơng có phản ứ gàg àĐiềđ àthể nguyên h hư:à ột số o o hưaàho àthiện hoặ hưaàtồn tại, việc xử lý thông tin sai lệch, hoặ th gà ti t cuốià đường truyền eu o tha đổià kh gà hưà o gà uốn Kết gàl eu o àDàkh gàđưầ ầđược tín hiệu phản ứng cho tay PHẦN MẠNG NORON NHÂN TẠO 2.1 Tiếp cậ ă ản Mạ gà o o àđơ àgiản mạng noron truyền thẳng (feed forward neural network) _ hình P2.1 Mạng cấu thành ba lớp: tầng vào (input layer), tầng ẩn (Hidden layer), tầng (Output layer) Các neuron input nhận tín hiệuàđầuà o,àsauàđ ỗi neuron truyền cho neuron khác nằm tầng Mỗi neuron tầng nhận xử lý thông tin sau đ truyền tiếp cho tất neuron tầng Cứ hưà ậy truyền eu o àđầu Hình P2.1 ta ví dụ à o o àđầu Một mạng noron có nhiều lớp tầng ẩ Hidde àla e àNhư gàtối thiểu mạng noron phải có tầng thiết yếu input output Trong ví dụ ta dùng mạ gàt l àđ àđể nhận dạng số nhập vào hình ảnh Dữ liệuàđầu gàha àsaiàth i,à ậy output ta chọ à eu o l àđủ Vậy liệuàđầu vào ta hình số số khác, liệuàđầu phát số nằm đ uàt o gàtấ àh hàt àNhư gà ấ àđề l àl àsaồđưầsố vào mạng neural? Chắc l àh h!àV àđầu vào tín hiệtươ gàtự máy tính số nhị phân Vậy ta phải chuyển hình thành tín hiệu Dựa vào hoạtàđộng mắtà gười, hay máy ảnh, ta nhìn ảnh tia sáng từ h hàph tà ầđược tập trung lạiàđiể gà mắt), phim (với máy ả h ,à ơiàđ àl gàlướiàd àđặt tế bào nhạy cảm với ánh sáng, bị ánh sáng chiếu vào tế bào phát sinh xung độ gàđiện truyền tới mắt Những ánh sáng khác vào tế oàdoàđ àtế gàkh hauàt àđộng ũ gàsẽ ph tà ầ u gàđộ gàđiệ àtươ gàứng, với nhữ gà gười mù màu th u gàđộng phát gầ hưà hau,à Từ đ hữ gà u gàđộ gàđiệ à oàkh gàph iệtàđượ àđ uàl àđỏ,àđ uàl àđe àđược truyền tớià hưàl hững tín hiệu thơng tin Hình P2.2 mơ việc chuyển hình ảnh thành mảng tín hiệu Vớià hiệu tế ướ às gàđe àđược chuyển thành tín ồtươ gàứng, vùng trắ gàth gược lại.àĐộ rõ hình phụ thuộc vào kích cỡ mảng mà ta sử dụng Ví dụ ta nhậ àđược mảng tín hiệuà hưàsau: mạng Trong (4) ta huấn luyện trọng số đầu vào hiddent unit (5) huấn luyện lại mạ g….à Bởi ta huấn luyện tầng thờiàđiểm nên trình huấn luyệ h.àHơ àthế nữa, Bởi trọng số truyền tới hiddent unit kh luyệ dồ đ gàtha àđổi nữầsakhià àđược huấn thể lưuà lại giá trị activation hidden unit cho mỗià điểm liệu, sử dụng lại giá trị mà khơng cần phải tính tốn lại Ýàtưởng củầCas adề o elatio à hưàthế nào? Vì hoạtàđộ gàđược? Trở vớiàphươ gàph pàg adie tàdes e tàđ àgiới thiệu phần ta thấy: Mỗi trọng số mạng noron biến hàm lỗi E, mỗià ước huấn luyện ta cần tìm vector G cách lấ àđạo hàm riêng phần E theo trọng số Sau ta di chuyển trọng số theo vecto G Thuậtàto àCas adeà o elatio àđ àứng dụngàphươ gàph pà T o gà ướ ta thấy CC cần tìm maximum S bằ gà a didateàu it.àNhư gà“àl àg àsaoà ần maximum S? hưàthế nào? hà tha đổi trọng số Theoà phươ gà ph pà GDà G adie tà des e t th taà thấy việc thêm unit tạo thêm giá trị đầu vào cho unit output Giá trị phụ thuộc vào liên kếtàđầu vào, mà trọng số đầu vào ngẫu nhiên giá trị đầ ầ ũ gà gẫ hi đ phụ thuộc vào hàm activation Có thể nói nếuà hưaà hư gà ằm khoảng liên kết từ candidate unit tới output unit số lỗi đầu output unit giá trị đầu tạià a didateàu itàl àho àto àđộc lậpà hau.àNhưà ậy mà huấn luyệ àđầu vào củầu ità àđược? Ta gọià àl àđầu candidate unit vp giá trị đầu unit ứng vớiàđiểm liệu p E lỗiàđầu unit output Ep lỗiàđầu unit ứng vớiàđiểm liệu p v E Cov(v,E) = (v-vtb)(E-Etb) 0.0 1.0 1.0 Avg=3 Avg=5 Avg=.67 Giả sử ta có bảng thố gàk hưàt ớià àđiểm liệu Đưaàđiểm liệu thứ vào mạng ta nhậ àđượ àđầu candidate unit 3, lỗi mạ gàl ,àđưaàđiểm liệu thứ hai vào mạng ta nhậ àđượ àđầu candidate unit 2, lỗi mạ gàl ,àđưaàđiểm liệu thứ ba vào mạng ta nhậ àđượ àđầu candidate 4, lỗi mạ gàl àV àtaàt hàđược giá trị trung hà đầu candidate unit với liệu (3+2+4)/3 = 3, trung bình lỗi mạng với liệu (5+4+6)/3=5 Trong ví dụ bạ àđể ý thấy đưầdữ liệđầu vào lỗiàđầu candidate unit nhỏ hơ àgi àt ị trung bình lỗi mạng tạià ũ gà hỏ hơ àgi àt ị lỗi trung bình mạng Vậy ta nhận xét, giá trị đầu candidate unit lỗi mạng hai giá trị ngẫuà hi àđộc lậpà hư gàtaà àthể hy vọng hưàsau:àVới liệu huấn luyện, ta xây dựng giá trị trọng số đầu vào candidate unit cho giá trị đầu unit phải biến thiên (hoặ gược với hiệpàphươ gà sai âm) với số lỗi mạng tại.àNghĩaàl chỉnh trọng số cho trị tuyệtàđối hiệp tươ gà ua (corelation) _đầu candidate unit E_Lỗi mạng lớn tốt ∑ |∑ ̅ ̅ | Với S maximum ta thấy v E biế àđổi chênh lệch nhiều tốt, hiệpàtươ gà ua àl àsố dươ gàth à àEà iế àđổi nhau, hiệpàtươ gà ua àth à àEà biế àđổià gược T ướ àti àtaà tàt o gàt ường hợp hiệpàtươ gà ua àdươ g.àNghĩaàl à àEà iế àđổi nhau, v tă gà hơ ̅ th Eà ũ gà tă gà hơ ̅ mạ gàtaàđ gà ă gà gược lại Sau thêm candidate unit vào àt ọng số đầu vào củaà àNghĩaàl ới tập liệuà hưàt àth àtập giá trị đầu lúc sau candidate unit kh gà tha đổi Và hàm Net output unit lúc cộng thêm giá trị wVp Vpàl àđầu candidate unit với liệu p, w trọng số đường truyền từ candidate tớiàoutputàu it àDoàđ àgi àt ị hàm lỗià àtaàthuàđược lúc sau ũ gà iế đổi Ta hy vọng hiệpà tươ gà ua lỗià E àl àsauà ới giá trị ũ gà kh gàtha àđổi (vẫ àdươ gàt o gàt ường hợp này).àV àđể giả àE giá trị giá trị đầu a didateàu ità l àđ àl àhidde àu it àtha àđổi,à hư gàtaà iết giá trị khơng thể đổi đượ ,àdồđ àta có trọng số đường truyền từ hidden unit tới output unit phải giả tích wvp giảm Q trình giả mạng sau thêm hiddent unit vào thực thi trình huấn luyện lại Tươ gàtự t o gàt ường hợp hiệpàtươ gàquan âm thì, trọng số đường truyền từ hiddent unit tớiàoutputà u ità gà g gàtă gàt o gà u àt hàhuấn luyện Có cách khác thay dùng mộtà a didatều itàđể huấn luyện, ta tạo tập candidate unit với trọng số đầu vào ngẫu nhiên Vì mỗiàu ità àkh gàtươ gàt àha ảnh hưở gàđến unit khác mạng neural nên ta huấn luyện chúng cách chọn candidate thích hợp Việc sử dụng tập nhữ gà a didateàu itàđể huấn luyện tạo hai thuận lợi: Giảm tỉ lệ unit không hữu cài vào mạng candidate khơng hữu bị kẹt suốt trình huấn luyệ ,àTă gàtốc trình huấn luyện nhiều phần không gian trọng số mở đồng thời Với tập candidate unit từ àđế àu itàl àđủ để tìm candidate tốt ta cần Hidden candidate unit kiểu, ví dụ sử dụng hàm sigmoid làm hàm activation fu tio àC àkh h gàtaà ũ gà àthể tạo tập candidate unit với hỗn hợp hàm a ti atio àfu tio hư : liner, sigmoid, Gaussian, mộtà h gàđấu lẫ hađể tìm tốt nhấtàđưầ iàl adialàa ti atio àfu tio …à hoà oàt o gà ạng Kết mạng nhậ àđược sau hỗn hợp unit với hàm Tóm lại có số lư àkhià iàđặt thuật tốn : Trong trọng số output layer huấn luyện tất trọng số khác phảià đ gà ă g.à T o gà khià t ọng số a didateàu itàđược huấn luyện khơng có trọng số mạ gàtha àđổi.àĐối với máy có nhiều nhớ chính, ghi lại giá trị lỗi mạng với mỗiàđiểm tập huấn luyện suốt trình huấn luyện việc tránh việc tính lại nhiều lần dẫn tới huấn luyện chậm mạng liệu lớn Kết hợp Cascade Corelation Quick pro Trở lại với toán dự đo àsự tươ gà uan xe hao tốn nhiên liệu, ta dễ dàng dự đo àđược hàm dự đo à àh hàdễ h àT o gà àt ường hợp tổng quát với àđiểm liệu rời rạc ngẫu nhiên khơng thể dự đo àđược giố gà hưàh hà Bây ta áp dụng việc xây dựng mơ hình dự đo àt ớiàphươ gàph pà as adeà o elatio à học quick prop T ước tiên liệuàđầu vào ta trọ gàlượng xe, liệuàđầu hao tốn nhiên liệu iles/gallo àDoàđ gà a àđầu gồm neuron input, neuron output bias neuron Tiếp theo ta cần huấn luyện mạng bằ gà hàtha àđổi trọng số từ iasà odeàđến output node từ input node tới output node - B1: Tạo ngẫu nhiên trọng số a àđầu - B :à D gà phươ gà ph pà g adie tà để tim trọng số với tỉ lệ học - B :àD gàphươ gàph pà ui kp opà t àt ọng số - B4: Nếu tỉ lệ lỗi khơng giảm dừng lại,à gược lại quay lạià ước nhỏ Đ àl à ước giải thuật ta cầ àl tạo ngẫuà hi àT o gà ước bạn tạo ngẫu nhiên giá trị trọng số đ à hư gà hỉ nằm khoảng (0 1) (vì lớn q không tốt, lớn u àth àđồ thị nằ go iàh hà hàđa gà t àBước ta nhớ lại cơng thứ àg adie tàtầđ àsu từ phần gradient descent Với : ∑ Ghi : lỗi unit i Nảy sinh vấ àđề hàm activation function ta dùng cho neuron hàm ? Có nhiề h sig od,à li e ,à ta h,à adial…à Ở đ theồ ki hà ghiệm ta chọn hàm cho output node,àh àli e hồi putà odề àtầ hưaà uốn liệu bị biế àđổi mà biế àđổi tầng hidden tầng output Hàm lỗi output unit ta vẫ d gà h hưà đ tà a đầu : ∑( ) T o gàt ường hợp ta huấn luyện lớp nên delta ta viết lạià hưàsau : Từ đ àtaàdễ d gàt àđược trọng số tiếpàtheo.à“a gà ướ àtầd gà ui kp opàđể tìm trọng số nữa, nhắc lại công thức quickprop : Với công thức cho ta tiến thẳ gàđến cực tiểu hàm lỗi.Lúc ta cập nhật trọng số tính lại giá trị hàm lỗi, giá trị nằm mức cho phép dừng lại dĩà hi àt o gà toán ta tiếp tục làm tiếp).àNgược lại ta cần tìm hidden layer để thêm vào mạ gà hưà sau : Theoàphươ gàph pà as adề o elatio àtầ ắtàđầu với hai ứng cử viên (bạn tạo 3,4 ứng i àg ũ gàđ àHaià tà ứng cử viên (candidate unit) có hai hàm activation function khác nhau, mụ àđ hà kh hauà àl àđể mở rộng khơng gian tìm kiếm củầtầhơ ,àsồ với ta dùng hàm cho hai candidate unit Ta dùng liner function cho candidate unit thứ nhất, function cho candidate unit thứ hai Tạo liên kết, kết nối từ output unit bias unit tới candidate unit Trọng số liên kếtà àđược sinh ngẫu nhiên Ta khoan vội tạo liên kết từ candidate unit tớià outputà u ità tầ hưầ đưầ a didatề u ità theo bạn cầ l àl Đ unit) huấn luyệ sau: Ta có: gà ă g à oà g.à Bước tiếp t ọng số mạ gà a đầuà t ước thêm candidate a didateàu ità àđể chọn candidate unit tốt Cách huấn luyệ hưà ∑ |∑ ̅ lớn tốt ̅ | với _đầu candidate unit E_Lỗi mạng Mục tiêu ta tìm maximum giá trị S này, candidate làm cho S mang giá trị lớ àhơ ,àth a didateàđ àtốtàhơ Nhận dạng số viết tay Phươ g pháp 1.1 Tổ chức mạng Ta có tất 10 chữ số từ tới (ta không xét số âm, số thập phân), ta dùng mạng e alàđể nhận gàth àđầu mạng cần nhận dạng 10 chữ số Nghĩaàl ếuàđầu mạng noron ta phải chia dãy kết đầu thành 10 phần Nếuàđầu mạng dãy nhị phân ta dùng nhấtà eu o àđầ ầđể biểu diễn Nói tóm lại dù cách hay cách khác mạng lớn khó biểu diễn hay traning với liệu học lớn Mặc khác ta d gà phươ gà ph pàg adie tà để nhận dạng ký ký tự có hình dạng khác nhau, khó biểu diễ àdưới dạng hàm số Do vậ àphươ gàph pàCascade Co elatio àl àphươ gàph pàhữu hiệuàhơ àđể huấn luyện mạng Một vấ àđề cần giải dễ phân biệt số àsố àsố hư gàkh àph iệt số ếu viết tay Ta biết khơng gian tìm kiếm ta có 10 chữ số,à hưà ậy với mẫu liệu nhập vào ta so với số « mẫu »à để kiểm tra xem có giống số đ khơng Mỗi lầ àsồs hà hưà ậy ta dùng mạ gà eu alàđể làm việ mạng neural nhập vào mẫu kiểm tra xem mẫuàđ àgiống số kiểm tra xem mẫu giống số àNghĩaàl àtaà àha àsố ,àtươ gàtự àha số à….àPh iệtà ,à ột mạng khác à ạng neural tất Vì mạng phân biệt cặp số doàđ giải quyếtàđược vấ àđề nêu Mạng phân biệt số phân biệt số à àNghĩaàl àtaà ột à à à…à à àthể àthể phức tạpàhơ ạng T o gà hươ gàt hàtaàgiới hạn ma trận nhập vào mảng hai chiềuà hưà àdụ nhận dạng số phần Mỗi mạng neural có neuron output Ví dụ mạng neural phân biệt số à à eu o àoutput.àGi àt ị output neuron nằm khoản Nếu giá trị đầu neuron thứ lớ àhơ eu o àthứ liệu nhập vào giống số hiềuàhơ ,à gược lại nếuàđầu neuron thứ nhỏ hơ àgi àt ị đầu neuron thứ liệu nhập vào hiềuàhơ giống số Nếu gọi V1 giá trị đầu neuron thứ nhất, V2 giá trị đầu neuron thứ : V1 - V2 > 0.4 => Dữ liệu giống số hiềuàhơ V2 - V1 > 0.4 => Dữ liệu giống số hiềuàhơn Sở dĩàtaàđặtàđộ chênh lệch |V1 – V2| > àl àđể phân biệt rõ rệt nhận dạng với hy vọng a gàđến kết h hà àhơ àsauà hững lần dự đo àBạn thay số 0.4 số nhỏ hơ ,àhoặc lớ àhơ àt ạn Nếu lớn bạ àđ pà ạng phải phân biệt cách u à gà hư khó huấn luyện với liệu lớn chiếm bạn thời gian dài, mạng bạn lớn giố gà hưàt ường hợp over-fitti gà àtaàđ tà ậy Nếu số bạn chọn nhỏ, quan tâm lớ àhơ àl àđủ lúc tỉ lệ dự đo àsaià bạn cao, mạng neural bạn u àđơ àgiản, bạn ơià ồt ường hợp « high bias »à àtầđ àđề cập phần Hàm lỗi Dựa vào cách ta xây dựng hàm lỗià hưàsau : Nếu ta hy vọng V1 gần tốt V2 gần tốt hàm lỗi : E = (1-V1)+(V2) Ngược lại hy vọ gàtaàđặt neuron thứ hai E = (1-V +V àNhưà ậy hàm lỗi tùy thuộc vào giá trị mà ta k vọng neuron output nằm khoảng (0,2) Activation function Với nhận dạng chữ số ta khó biếtàđượ àđồ thị hàm thích hợp.àNhư gà ới cách phân tích neural output ta có giá trị nằm khoảng (0,1) nên ta chọn hàm o gà ũ gà ằm khoả gàtươ gàứng, đ àtầ họn hàm tanh, bạn chọn hàm sigmod hoặ àđường cong tùy bạ hàkh gàđiàs uà ấ àđề này) Các hàm activation function unit lớp hidden kh hauà hưà ậy biểu diễn tốtàhơ àkh taàđ àt hà gàgia àt àkiếm àở phầ àphươ gàph pà as adeà o elatio 1.2 Cách traning Với liệu mẫu gồm mảng hai chiều 20x30 với giá trị mả gàđ àl àsố Ví dụ ta có àB àgiờ mạng sau cầ àđược huấn mảng hai chiều A[20,30] mảng mang giá trị số luyện: mạng phân biệt số mạng phân biệt số phân biệt số à à à , mạng phân biệt số , mạng phân biệt số ,à ạng phân biệt số à à à ,à ạng phân biệt số ,à ạng phân biệt số ,à ạng phân biệt số à à à ,à ,à ạng àNghĩầl ới liệu mẫu ta huấn luyện mạng neural Để àgiản ta chỉ giá trị số tàt ường hợp huấn luyện mạng phân biệt số àB àgiờ ta huấn luyện mạ gà “auàđ ới liệu huấn luyệ àB , à àVới liệu A[20,30] àtheoà phươ gàthức pháp Cascade Corelation ũ gà hỉ giá trị số àTaàlại tiếp tục huấn luyện mạ gàđ à ũ gà ằ gà Cas adeà Co elatio Phươ gà ph pà huấn luyện kiểu gọi online learning, hư gàkết cuốià gàtầthđ àsẽ khơng xác Mặ àkh à hươ gàt hà hận dạng chữ viếtàta àđaàsố huấn luyện lầ àsauàđ à« Xuấtà ưởng »à hoà gười tiêu dùng huấn luyện thêm Dồđ àtầ àd gàphươ gàthức học batch learning Ta học toàn liệu huấn luyện lần Ta bắtàđầu với mạng phân biệt số eu o àđầuà oà t o gàđ à Viết tắt mạ gà à iasà eu o ,à a àđầu mạng có 20x30 +1 =601 à eu o àđầu Các liên kết nối từ input layer đến tất neuron output layer với trọng số a đầuà sinh ngẫu nhiên khoảng (0 1) Ta huấn luyện mạng bằ gàphươ gàph pà ui kp opà hưàsau: Đầu tiên ta cầ àt àf 1.3 Tổ chức traning set Với tập liệu huấn luyện ta phải tổ hưàthế neuron chứa tất liệu huấn luyện 1.4 Cách test Coding oàđể dễ huấn luyện mạng PHỤ LỤC Tìm hiểu Gradient Gradient từ khác củaàđạo hàm, hàm thể tố àđộ tha àđổi hàm số Nó vector dẫ hướng di chuyển) rằng: - Nhữ gàđiể àhướng tới giá trị l - Bằng cự àđại hay cực tiểu cục hoàh àkhiàđ àkh àtươ gàứ gàđạt giá trị cự àđại gà hỉ dẫ àđơ ữầđể tă gà giảm) hàm) Từ G adie tà g ad àthường đạo hàm vector hàm số hàm số có hay nhiềuàhơ à biến Bạn dùng cụm từ Mộtàđường thẳ gà àG adie t độ dốc củaà gradient cho biến gây lúng túng khơng cần thiết Hãy giữ hồ hư gàsử dụng cụm từ àđơ àgiản G adie tà ũ gà ghĩaàl àsự tha àđổi màu sắc Chúng ta nói mơ hình tốn học bạn cảm thấy OK Bạn thấy liên quan với Tính chất Gradient Ch gàtaàđ iếtàG adie tàl àđạo hàm hàm số nhiều biến, suy thuộc tính nó: Theo quy tắ àđạo hàm cho ta biết tố àđộ tha àđổi biế àđơ ,àthường x Ví dụ tỉ số dF/dx nói cho biết hàm F tha àđổià aoà hi uàkhià àtha àđổi.àNhư gà ếu hàm số có nhiều biến ví dụ x,y có nhiềuàđạo hàm giá trị hàm tha àđổiàkhià h gàtầtha àđổi x (dF/dx) y (dF/dy) Chúng ta biểu diễn tỉ lệ tha àđổi nhiều biến vector với thành phầ àl àđạo hàm tươ gàứng Thật tế hàm có biến có gradient có thành phần F(x) có mộtàđạo hàm dF/dx F , ,z à àđạo hàm (dF/dx, dF/dy, dF/dz) Giố gà hưàđạoàh àth gàthường, Gradient đườ gàđến giá trị cự àđại cục hàm số Tuy nhiên có nhiều biế , àz àdoàđ hỉ dẫ àkh iến gàđơ àthuần tiến hay lùi dọc theo trụ à hưàh Nếu có hai biến thành phần gradient bất k hướng mặt phẳng tọa độ Giố gà hưà ới thành phần gradient biến tầđià ất k hướ gà oàđể tă gàh Ví dụ: Giả sử có lị vi sóng thần k , với tọầđộ viếtàl Chúng ta gõ vào tọaàđộ (giố gà hưà , , à àt àh hàđặc biệt àh hàhiển thị cho gradient nhiệtàđộ điểm L ià aàđiàk ới chiế àđồng hồ tiện nghi Khơng may mắn chiế àđồng hồ lại có giá riêng – nhiệtàđộ lị vi sóng chỗ khác chỗ kh àNhư gàđiều lại có lợi nó: Chúng ta thật cần Làm iàđồng hồ ồđ ?àTầg ất tọaàđộ o,àl iàs gàt hàto àđưaà aàg adie tàtạiàđiể àđ Cẩn thậ àđừng lầm lẫn tọầđộ gradient Tọầđộ vị trí tại,àđượ àđồ ởi trục tọầđộ x,y,z Gradient dẫn di chuyể àđi từ điể àđ àdụ lên, xuống, trái, phải Và mụ àđ hà l àđặt bánh bột mì Pullsbury vào lò Bây chúng cầ àđược nấuàđ gàkh gà o?àCh gà tầđặt vào bên lị vi sóng vị trí bất k mụ àđ hà nấu nhanh tốt Gradient gi pàtầđiềđ ! Gradient mộtàđiểm dẫn từ điàtừ điể àđ àđế àđiể àkh àsaoà hồh hơ àT o gàt ường hợp mày hàm củầ h miế gà àđa gà tà hận giá trị lớn gàtầđồlường nhiệtàđộ Vì hàm gradient bảo h hàPulls u àđế ơià hiệtàđộ aoàhơ àđể nấuà h ahơ àLư àh cho tọầđộ điàđến nhiệtàđộ aồhơ gàtaàđưaà àg adie tàkh gàđưaà hỉ hướ gàđiàđế ơià hiệtàđộ aoàhơ Vậy bắtàđầu vị trí bất k (3,5,2) kiể àt aàg adie t.àT o gàt ường hợp gradient (3,4,5) Bây khơng cần phảiàđiàtheồhướng dời phảià àđơ ị,àl ià àđơ ị vị Gradient dẫn theo dẫ àl àt àđơ à hư gà ớià ướ àđià hỏ th ià àsauàđó kiểm tra gradient lần Ch gàtaàđến mộtàđiểm mới,à ũ gàkh àgần vớiàđiể ũ,àđiểm có gradient nó, gradient dẫn tốt nhấtàđể điàtheo.àCh gàtầlặp lại tiến trình di chuyể à ước nhỏ theo dẫn gradient kiểm tra lại gradient, di chuyển mộtà ước nhỏ theoàhướng gradient Mỗi lầ àđià h lần theo gradient mớià àđiàtừ ơià Kết l h gàtaàđ àđế àđượ ơià gàđế gà g gà gàtaà gàhơ gà hất củaàl i aàđặt mẫu bánh đ à hờ thưởng thức Đừ g ă vội miếng bánh V àt ướ àkhiàă iếng bánh tìm hiểu thêm g adie tà hưà ậy th Đầu tiề àkhià h àhươ gà ị,àđ gàkh g? gàtầđạtàđế àđiểm nóng lị vi ba gradient đ àsẽ gì? Zero, nà na Tạiàsao?àKhià h đ uàđể tă gà hiệtàđộ l gàtầđạtàđế àđỉnh cao nhiệtàđộ khơng có cịn dẫ ồđià àđược Nó giố gà hưàtầđa gàđứng mộtàđỉnh núi, dẫ oàđể di chuyể àđềuàl àđường xuống núi Zero gradient nói bạ àđa gàở nhiệtàđộ cao đià đ để nhiệtàđộ aồhơ àđược Như gàsaồ ếu có tới hai tọaàđộ maximun, giố gà hưà àtớiàhaiàđỉ hà hư gà àđỉ hà aoàhơ àđa gàở kế bên bạ ?àĐể leồl làm leo xuố gà ià àt ước iàđứng kề nhau? Bạ àđa gàở đỉnh àđỉnh núi khác việ àt ước tiên bạn cần Bây ta phát mộtàđiều củầg adie tàđể khơng lấ às uà u oàg adie t.àT o gàt ường hợp tìm maximum hàm số thường (hàm biến) ta tìm tất ơià àđạo hàm bằ gà :àkh gà àhướng giaàtă gàlớn Nếu bạn thực lại lần th àđạo hàm đưaà aàkết max cục rằ gàđể kiểm tra hay max hàm phải so sách vớià Nguyên tắ àđỉnh khác ũ gà pàdụ gà hoàg adie t,àđạo hàm tổng quát Bạn phải tìm nhiềuàđỉ hà ơià àg adie tà Bạn phải kiểm tra nhữ gàđỉ hàđ à e àđỉnh cự àđại toàn cụ àNgược lạiàđỉnh ngọ àđồi – gradient – bạn cần so sánh chiề aồđể tìm chiề ao,à aồhơ àB àgiờ vấ àđề đ às gàtỏ, bạ àthưởng thứ àă àđược Tham khảo : http://betterexplained.com/articles/vector-calculus-understanding-the-gradient/ http://en.wikipedia.org http://www.appliedmathematics.info/veccalc.htm http://www.ltcconline.net/greenl/courses/107/PartDeriv/grad.htm http://www.willamette.edu/~gorr/classes/cs449/intro.html http://cognet.mit.edu/library/books/mitpress/026219483X/cache/appendixD.pdf http://www.csc.kth.se/~orre/snns-manual/UserManual/node149.html An Empirical Study of Learning Speed in Back-Propagation Networks (Scott E Fahlman) ... àđủ Vậy liệuàđầu vào ta hình số số khác, liệuàđầu phát số nằm đ uàt o gàtấ àh hàt àNhư gà ấ àđề l àl àsaồđư? ?số vào mạng neural? Chắc l àh h!àV àđầu vào tín hiệuàtươ gàtự máy tính số nhị phân Vậy... vào mạng W1 W2 W3 W4 Wn ta nhậ àđược kết cuối Ta nói mạ gà àđ àđ gà ới liệu Tươ gàtự nếuàtaàđưaàh h? ?số vào mà kết lại ta nói mạng sai với với liệu Vậy nếtầđưầ ột tập hình vừa số vừa số vào vào... hau.àVậy có trọng số mỗiàđường truyền ta khơng tạoà !àN àđược sinh ngẫuà hi thuộc vào trọng số Vậy ta đ theo thứ tự a àđầu, kết mạng A B phụ hà dấu mạng neural chuỗi trọng số ồđ àGiả sử tầ u

Ngày đăng: 01/03/2022, 10:36

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

TÀI LIỆU LIÊN QUAN

w