1 / 63

شبکه های عصبی مصنوعی

شبکه های عصبی مصنوعی. Author : Saeed Shiry With little change by: keyvanrad. Fall 1392. مقدمه. شبکه عصبی مصنوعی روشی عملی برای یادگیری توابع گوناگون نظیر توابع با مقادیر حقیقی ، توابع با مقادیر گسسته و توابع با مقادیر برداری میباشد .

neila
Download Presentation

شبکه های عصبی مصنوعی

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. شبکههایعصبیمصنوعی Author : Saeed Shiry With little change by: keyvanrad Fall 1392

  2. مقدمه • شبکهعصبیمصنوعیروشیعملیبراییادگیریتوابعگوناگوننظیرتوابعبامقادیرحقیقی،توابعبامقادیرگسستهوتوابعبامقادیربرداریمیباشد. • یادگیریشبکهعصبیدربرابرخطاهایدادههایآموزشیمصونبودهواینگونهشبکههاباموفقیتبهمسائلینظیرشناسائیگفتار،شناسائیوتعبیرتصاویر،ویادگیریروباتاعمالشدهاست.

  3. شبکهعصبیچیست؟ • روشیبرایمحاسبهاستکهبرپایهاتصالبههمپیوستهچندینواحدپردازشیساختهمیشود. • شبکهازتعداددلخواهیسلولیاگرهیاواحدیانرونتشکیلمیشودکهمجموعهورودیرابهخروجیربطمیدهند.

  4. شبکهعصبیچهقابلیتهائیدارد؟ • محاسبهیکتابعمعلوم • تقریبیکتابعناشناخته • شناسائیالگو • پردازشسیگنال • یادگیری

  5. مسائلمناسببراییادگیریشبکههایعصبیمسائلمناسببراییادگیریشبکههایعصبی • خطا در داده های آموزشی وجود داشته باشد. • مثلمسائلی که داده های آموزشی دارای نویز حاصل از دادهای سنسورها نظیر دوربین و میکروفن ها هستند. • مواردی که نمونه ها توسط مقادیر زیادی زوج ویژگی-مقدار نشان داده شده باشند. نظیر داده های حاصل از یک دوربین ویدئوئی. • تابع هدف دارای مقادیر پیوسته باشد. • زمان کافی برای یادگیری وجود داشته باشد. این روش در مقایسه با روشهای دیگر نظیر درخت تصمیم نیاز به زمان بیشتری برای یادگیری دارد. • نیازیبهتعبیرتابعهدفنباشد. زیرابهسختیمیتوانوزنهاییادگرفتهشدهتوسطشبکهراتعبیرنمود.

  6. الهامازطبیعت • مطالعهشبکههایعصبیمصنوعیتاحدزیادیملهمازسیستمهاییادگیرطبیعیاستکهدرآنهایکمجموعهپیچیدهازنرونهایبههممتصلدرکاریادگیریدخیلهستند. • گمانمیرودکهمغزانسانازتعداد 10 11نرونتشکیلشدهباشدکههرنرونباتقریبا 104نروندیگردرارتباطاست. • سرعتسوئیچنگنرونهادرحدود 10-3ثانیهاستکهدرمقایسهباکامپیوترها 10 -10 ) ثانیه ( بسیارناچیزمینماید. بااینوجودآدمیقادراستدر 0.1 ثانیهتصویریکانسانرابازشناسائینماید. اینقدرتفوقالعادهبایدازپردازشموازیتوزیعشدهدرتعدادیزیادیازنرونهاحاصلشدهباشد.

  7. Perceptron • نوعیازشبکهعصبیبرمبناییکواحدمحاسباتیبهنام پرسپترونساختهمیشود.یک پرسپترونبرداریازورودیهایبامقادیرحقیقیراگرفتهویکترکیبخطیازاینورودیهارامحاسبهمیکند.اگرحاصلازیکمقدارآستانهبیشتربودخروجی پرسپترونبرابربا 1 ودرغیراینصورتمعادل -1 خواهدبود. x1 w1 x2 w2 {1 or –1} Σ w0 wn xn X0=1

  8. یادگیرییک پرسپترون • خروجیپرسپترونتوسطرابطهزیرمشخصمیشود: • کهبرایسادگیآنرامیتوانبصورتزیرنشانداد: 1 if w0 + w1x1 + w2x2 + … + wnxn > 0 -1 otherwise O(x1,x2,…,xn) = O(X) = sgn(WX) where Sgn(y) = 1 if y > 0 -1 otherwise یادگیری پرسپترونعبارتاستاز: پیداکردنمقادیردرستیبرای W بنابراینفضایفرضیه H دریادگیری پرسپترونعبارتاستازمجموعهتماممقادیرحقیقیممکنبرایبردارهایوزن.

  9. توانائیپرسپترون • پریسپترونرامیتوانبصورتیکسطحتصمیم hyperplane درفضای n بعدینمونههادرنظرگرفت.پرسپترونبراینمونههاییکطرفصفحهمقدار 1 وبرایمقادیرطرفدیگرمقدار -1 بوجودمیاورد. Decision boundary (WX = 0) + + + - - -

  10. توابعیکه پرسپترونقادربهیادگیریآنهامیباشد • یک پرسپترونفقطقادراستمثالهائیرایادبگیردکهبصورتخطیجداپذیرباشند.اینگونهمثالهامواردیهستندکهبطورکاملتوسطیک hyperplaneقابلجداسازیمیباشند. + + + + + - - + - - - - Linearly separable Non-linearly separable

  11. توابعبولیو پرسپترون • یک پرسپترونمیتواندبسیاریازتوابعبولیرانمایشدهدنظیر AND, OR, NAND, NOR • امانمیتواند XORرانمایشدهد. • درواقعهرتابعبولیرامیتوانباشبکهایدوسطحیاز پرسپترونهانشانداد. x1 AND: W1=0.5 Σ W2=0.5 W0 = -0.8 x2 X0=1

  12. اضافه کردن بایاس • افزودن بایاس موجب میشود تا استفاده از شبکه پرسپترون با سهولت بیشتری انجام شود. • برای اینکه برای یادگیری بایاس نیازی به استفاده از قانون دیگری نداشته باشیم بایاس را بصورت یک ورودی با مقدار ثابت 1 در نظر گرفته و وزن W0 را به آن اختصاص میدهیم.

  13. آموزش پرسپترون • چگونهوزنهاییک پرسپترونواحدرایادبگیریمبهنحویکه پرسپترونبرایمثالهایآموزشیمقادیرصحیحراایجادنماید؟ • دوراهمختلف : • قانون پرسپترون • قانوندلتا

  14. آموزش پرسپترون الگوریتمیادگیری پرسپترون • مقادیریتصادفیبهوزنهانسبتمیدهیم • پرسپترونرابهتکتکمثالهایآموزشیاعمالمیکنیم.اگرمثالغلطارزیابیشودمقادیروزنهای پرسپترونراتصحیحمیکنیم. • آیاتمامیمثالهایآموزشیدرستارزیابیمیشوند: • بله پایانالگوریتم • خیربهمرحله 2 برمیگردیم

  15. قانون پرسپترون • براییکمثالآموزشیX = (x1, x2, …, xn)درهرمرحلهوزنهابراساسقانونپرسپتونبصورتزیرتغییرمیکند: wi = wi + Δwi کهدرآن Δwi = η ( t – o ) xi t: target output o: output generated by the perceptron η: constant called the learning rate (e.g., 0.1) Example: if xi = .8, η = 0.1, t = 1, and o = - 1, Δwi= η ( t – o ) xi = O.1(1 - (-1))0.8 = 0.16 اثباتشدهاستکهبراییکمجموعهمثالجداپذیرخطیاینروشهمگراشدهو پرسپترونقادربهجداسازیصحیحمثالهاخواهدشد.

  16. قانوندلتا Delta Rule • وقتیکهمثالهابصورتخطیجداپذیرنباشندقانون پرسپترونهمگرانخواهدشد.برایغلبهبراینمشکلازقانوندلتااستفادهمیشود. • ایدهاصلیاینقانوناستفادهاز gradient descent برایجستجودرفضایفرضیهوزنهایممکنمیباشد.اینقانونپایهروش Back propagation استکهبرایآموزششبکهباچندیننرونبههممتصلبکارمیرود. • همچنیناینروشپایهایبرایانواعالگوریتمهاییادگیریاستکهبایدفضایفرضیهایشاملفرضیههایمختلفپیوستهراجستجوکنند.

  17. قانوندلتا Delta Rule • برایدرکبهتراینروشآنرابهیک پرسپترونفاقدحدآستانهاعمالمیکنیم. دراینجالازماستابتداتعریفیبرایخطایآموزشارائهشود.یکتعریفمتداولاینچنیناست: E = ½ Σi (ti – oi) 2 • کهاینمجموعبرایتماممثالهایآموزشیانجاممیشود.

  18. الگوریتم gradient descent • باتوجهبهنحوهتعریف E سطحخطابصورتیکسهمیخواهدبود.مابدنبالوزنهائیهستیمکهحداقلخطاراداشتهباشند . الگوریتم gradient descent درفضایوزنهابدنبالبرداریمیگرددکهخطاراحداقلکند.اینالگوریتمازیکمقداردلخواهبرایبرداروزنشروعکردهودرهرمرحلهوزنهاراطوریتغییرمیدهدکهدرجهتشیبکاهشیمنحنیفوقخطاکاهشدادهشود. E(W) w1 w2

  19. بدستآوردنقانون gradient descent • ایدهاصلی: گرادیانهموارهدرجهتافزایششیب E عملمیکند. • گرادیان E نسبتبهبرداروزن w بصورتزیرتعریفمیشود: E (W) = [ E’/w0, E’/w1, …, E’/wn] • کهدرآن E (W) یکبردارو E’مشتقجزئینسبتبههروزنمیباشد. Δ Δ

  20. قانوندلتا Delta Rule • براییکمثالآموزشیX = (x1, x2, …, xn)درهرمرحلهوزنهابراساسقانوندلتابصورتزیرتغییرمیکند: wi = wi + Δwi Where Δwi = -η E’(W)/wi η: learning rate (e.g., 0.1) علامتمنفینشاندهندهحرکتدرجهتکاهششیباست.

  21. محاسبهگرادیان • بامشتقگیریجزئیازرابطهخطامیتوانبسادگیگرادیانرامحاسبهنمود: E’(W)/ wi = Σd (td – Od) (-xid) • لذاوزنهاطبقرابطهزیرتغییرخواهندنمود. Δwi = η Σd (td – Od) xid

  22. محاسبهگرادیان

  23. خلاصهیادگیریقانوندلتا الگوریتمیادگیریبااستفادهازقانوندلتابصورتزیرمیباشد. • بهوزنهامقدارتصادفینسبتدهید • تارسیدنبهشرایطتوقفمراحلزیرراادامهدهید • هروزنwiرابامقدارصفرعدددهیاولیهکنید. • برایهرمثال: وزنwiرابصورتزیرتغییردهید: wi = wi + η (t – o) xi مقدارwiرابصورتزیرتغییردهید: wi = wi + wi تاخطابسیارکوچکشود Δ Δ Δ Δ Δ Delta rule is similar to the perceptron training rule!

  24. مشکلاتروش gradient descent • ممکناستهمگراشدنبهیکمقدارمینیممزمانزیادیلازمداشتهباشد. • اگردرسطحخطاچندینمینیمممحلیوجودداشتهباشدتضمینیوجودنداردکهالگوریتممینیمممطلقراپیدابکند. درضمناینروشوقتیقابلاستفادهاستکه: • فضایفرضیهدارایفرضیههایپارامتریکپیوستهباشد. • رابطهخطاقابلمشتقگیریباشد.

  25. تقریبافزایشی gradient descent • میتوانبجایتغییروزنهاپسازمشاهدههمهمثالها،آنهارابازاهرمثالمشاهدهشدهتغییرداد. دراینحالتوزنهابصورتافزایشی incremental تغییرمیکنند. اینروشراstochastic gradient descentنیزمینامند. wi = η (t-o) xi دربعضیمواردتغییرافزایشیوزنهامیتواندازبروزمینیمممحلیجلوگیریکند.روشاستانداردنیازبهمحاسباتبیشتریدارددرعوضمیتواندطول step بزرگتریهمداشتهباشد. Δ

  26. مقایسه آموزش یکجا و افزایشی • آموزش یکجا (Batch learning) • آموزش افزایشی (Online learning) w1 w1 w2 w2

  27. شبکههایچندلایه برخلاف پرسپترونهاشبکههایچندلایهمیتوانندبراییادگیریمسائلغیرخطیوهمچنینمسائلیباتصمیمگیریهایمتعددبکارروند. Output nodes Internal nodes Input nodes

  28. Multilayer Networks of Sigmoid Units • Distinguishing among 10 possible vowels

  29. مثال x2 x1

  30. یکسلولواحد برایاینکهبتوانیمفضایتصمیمگیریرابصورتغیرخطیازهمجدابکنیم،لازماستتاهرسلولواحدرابصورتیکتابعغیرخطیتعریفنمائیم.مثالیازچنینسلولیمیتواندیکواحدسیگموئیدباشد: Multiple layers of cascaded linear units still produce only linear functions

  31. تابعسیگموئید خروجیاینسلولواحدرابصورتزیرمیتوانبیاننمود: O(x1,x2,…,xn) = σ ( WX ) where: σ ( WX ) = 1 / 1 + e -WX تابعσتابعسیگموئیدیالجستیکنامیدهمیشود.اینتابعدارایخاصیتزیراست: d σ(y) / dy = σ(y) (1 – σ(y))

  32. = - = - = - = -

  33. Error Gradient for a Sigmoid Unit

  34. الگوریتم Back propagation • براییادگیریوزنهاییکشبکهچندلایهازروش Back Propagation استفادهمیشود.دراینروشبااستفادهاز gradient descent سعیمیشودتامربعخطایبینخروجیهایشبکهوتابعهدفمینیممشود. • خطابصورتزیرتعریفمیشود: مرادازoutputs خروجیهایمجموعهواحدهایلایهخروجیو tkdو okdمقدارهدفوخروجیمتناظربا k امینواحدخروجیومثالآموزشی d است.

  35. الگوریتم Back propagation • فضایفرضیهموردجستجودراینروشعبارتاستازفضایبزرگیکهتوسطهمهمقادیرممکنبرایوزنهاتعریفمیشود.روش gradient descent سعیمیکندتابامینیممکردنخطابهفرضیهمناسبیدستپیداکند.اماتضمینیبرایاینکهاینالگوریتمبهمینیمممطلقبرسدوجودندارد.

  36. الگوریتم BP • شبکهایبا ninگرهورودی، nhiddenگرهمخفی،و noutگرهخروجیایجادکنید. • همهوزنهارابایکمقدارتصادفیکوچکعدددهیکنید. • تارسیدنبهشرطپایانی ) کوچکشدنخطا( مراحلزیرراانجامدهید: برایهر xمتعلقبهمثالهایآموزشی: مثال X رابهسمتجلودرشبکهانتشاردهید خطای E رابهسمتعقبدرشبکهانتشاردهید. هرمثالآموزشیبصورتیکزوج (x,t) ارائهمیشودکهبردار x مقادیرورودیوبردار t مقادیرهدفبرایخروجیشبکهراتعیینمیکنند.

  37. انتشاربهسمتجلو • برایهرمثال X مقدارخروجیهرواحدرامحاسبهکنیدتابهگرههایخروجیبرسید. Output nodes Compute sigmoid function Internal nodes Input nodes Example X

  38. انتشاربهسمتعقب • برایهرواحدخروجیجملهخطارابصورتزیرمحاسبهکنید: δk = Ok (1-Ok)(tk – Ok) • برایهرواحدمخفیجملهخطارابصورتزیرمحاسبهکنید: δh = Oh (1-Oh) Σk Wkh δk • مقدارهروزنرابصورتزیرتغییردهید: Wji = Wji + ΔWji کهدرآن : ΔWji = η δj Xji ηعبارتاستازنرخیادگیری

  39. شرطخاتمه معمولاالگوریتم BP پیشازخاتمههزارانباربااستفادههماندادههایآموزشیتکرارمیگرددشروطمختلفیرامیتوانبرایخاتمهالگوریتمبکاربرد: • توقفبعدازتکراربهدفعاتمعین • توقفوقتیکهخطاازیکمقدارتعیینشدهکمترشود • توقفوقتیکهخطادرمثالهایمجموعهتائیدازقاعدهخاصیپیروینماید اگردفعاتتکرارکمباشدخطاخواهیمداشتواگرزیادباشدمسئله Overfitting رخخواهدداد.

  40. محنی یادگیری

  41. مرورالگوریتم BP • اینالگوریتمیکجستجوی gradient descent درفضایوزنهاانجاممیدهد. • ممکناستدریکمینیمممحلیگیربیافتد. • درعملبسیارموثربودهاست. برایپرهیزازمینیمممحلیروشهایمختلفیوجوددارد: • افزودنممنتم • استفادهازstochastic gradient descent • استفادهازشبکههایمختلفبامقادیرمتفاوتیبرایوزنهایاولیه

  42. افزودنممنتم

  43. افزودنممنتم • میتوانقانونتغییروزنهاراطوریدرنظرگرفتکهتغییروزندرتکرار n امتاحدیبهاندازهتغییروزندرتکرارقبلیبستگیداشتهباشد. ΔWji (n) = η δj Xji + αΔWji (n-1) کهدرآنمقدارممنتمα بصورت0 <= α <= 1میباشد. افزودنممنتمباعثمیشودتاباحرکتدرمسیرقبلیدرسطحخطا: • ازگیرافتادندرمینیممحلیپرهیزشود • ازقرارگرفتندرسطوحصافپرهیزشود • باافزایشتدریجیمقدارپلهتغییرات،سرعتجستجوافزایشیابد. قانونتغییروزن عبارتممنتم

  44. قدرتنمایشتوابع • گرچهقدرتنمایشتوابعبهتوسطیکشبکهfeedforwardبستهبهعمقوگستردگیشبکهدارد،بااینوجودمواردزیررامیتوانبهصورتقوانینکلیبیاننمود: • توابعبولی: هرتابعبولیرامیتوانتوسطیکشبکهدولایهپیادهسازینمود. (البته ممکن است تعداد واحدهای مخفی نمایی زیاد شود) • توابعپیوسته: هرتابعپیوستهمحدودرامیتوانتوسطیکشبکهدولایهتقریبزد.تئوریمربوطهدرموردشبکههائیکهازتابعسیگموئیددرلایهپنهانولایهخطیدرشبکهخروجیاستفادهمیکنندصادقاست. • توابعدلخواه:هرتابعدلخواهرامیتوانبایکشبکهسهلایهتاحدقابلقبولیتفریبزد. بااینوجودبایددرنظرداشتکهفضایفرضیهجستجوشدهتوسطروش gradient deescentممکناستدربرگیرندهتماممقادیرممکنوزنهانباشد.

  45. فضایفرضیهوبایاساستقرا • فضایفرضیهموردجستجورامیتوانبصورتیکفضایفرضیهاقلیدسی n بعدیازوزنهایشبکهدرنظرگرفت )کهn تعدادوزنهاست( • اینفضایفرضیهبرخلاففضایفرضیهدرختتصمیمیکفضایپیوستهاست. • بایاساستقرااینروشرامیتوانبصورتزیربیانکرد: “smooth interpolation between data points” بهاینمعناکهالگوریتم BP سعیمیکندتانقاطیراکهبههمنزدیکترهستنددریکدستهبندیقراردهد.

  46. مثال x2 x1 Smooth regions

  47. ورودی خروجی قدرتنمایشلایهپنهان • یکیازخواص BP ایناستکهمیتوانددرلایههایپنهانشبکهویژگیهایناآشکاریازدادهورودینشاندهد. برایمثالشبکه 8x3x8 زیرطوریآموزشدادهمیشودکهمقدارهرمثالورودیراعینادرخروجیبوجودآورد )تابع f(x)=x رایادبگیرد( ساختارخاصاینشبکهباعثمیشودتاواحدهایلایهوسطویژگیهایمقادیرورودیرابهنحویکدبندیکنندکهلایهخروحیبتواندازآنانبراینمایشمجدددادههااستفادهنماید.

  48. قدرتنمایشلایهپنهان 10000000 01000000 00100000 00010000 00001000 00000100 00000010 00000001 دراینآزمایشکهبهتعداد 5000 بارتکرارشدهاز 8 دادهمختلفبهعنوانورودیاستفادهشدهوشبکهبااستفادهازالگوریتم BP موفقشدهتاتابعهدفرابیاموزد. 10000000 01000000 00100000 00010000 00001000 00000100 00000010 00000001 Hidden nodes بامشاهدهخروجیواحدهایلایهمیانیمشخصمیشودکهبردارحاصلمعادلانکدینگاستاندارددادهههایورودیبودهاست (000,001,,...,111)

  49. قدرتتعمیمو overfitting • شرطپاینالگوریتم BP چیست؟ • یکانتخابایناستکهالگوریتمراآنقدرادامهدهیمتاخطاازمقدارمعینیکمترشود.اینامرمیتواندمنجربهoverfittingشود. Validation set error Error Training set error Number of weight updates

  50. دلایلرخدادن overfitting • overfitting ناشیازتنظیموزنهابرایدرنظرگرفتنمثالهاینادریاستکهممکناستباتوزیعکلیدادههامطابقتنداشتهباشند.تعدادزیادوزنهاییکشبکهعصبیباعثمیشودتاشبکهدرجهآزادیزیادیبرایانطباقبااینمثالهاداشتهباشد. • باافزایشتعدادتکرار،پیچیدگیفضایفرضیهیادگرفتهشدهتوسطالگوریتمبیشتروبیشترمیشودتاشبکهبتواندنویزومثالهاینادرموجوددرمجموعهآموزشرابدرستیارزیابینماید.

More Related