1 / 47

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

شبکه ‌ها ی عصبی مصنوعی. مدرس: دکتر فریبرز محمودی گروه مهندسی کامپیوتر دانشگاه آزاد اسلامی قزوین & Mitchell Ch. 4. مقدمه. شبکه عصبی مصنوعی روشی عملی برای یادگیری توابع گوناگون نظیر توابع با مقادیر حقیقی ، توابع با مقادیر گسسته و توابع با مقادیر برداری می‌باشد .

korene
Télécharger la présentation

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

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. شبکه‌هایعصبیمصنوعی مدرس: دکتر فریبرز محمودی گروه مهندسی کامپیوتر دانشگاه آزاد اسلامی قزوین & Mitchell Ch. 4

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

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

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

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

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

  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. تواناییپرسپترون • پرسپترونرامی‌توانبه صورت یکسطحتصمیم hyper plane درفضای nبعدینمونه‌هادرنظرگرفت .پرسپترونبراینمونه‌هاییکطرفصفحهمقدار 1 وبرایمقادیرطرفدیگرمقدار -1 بوجودمی‌آورد. Decision boundary (WX = 0) + + + - - -

  10. توابعیکه پرسپترونقادربهیادگیریآنهامی‌باشد • یک پرسپترون فقطقادراست مثالهاییرایادبگیردکهبه صورت خطیجداپذیرباشند .اینگونهمثالهامواردیهستندکهبطورکاملتوسطیک hyper plane قابلجداسازی می‌باشند. + + + + + - - + - - - - 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. آموزش پرسپترون • چگونهوزنهاییک پرسپترونواحدرایادبگیریمبهنحویکه پرسپترونبرای مثالهایآموزشیمقادیرصحیحراایجادنماید؟ • دوراهمختلف : • قاعده پرسپترون • قاعدهدلتا

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

  14. قاعده پرسپترون • براییکمثالآموزشی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) اثباتشدهاستکهبراییکمجموعهمثالجداپذیرخطیاینروشهمگرا شدهو پرسپترونقادربهجداسازیصحیحمثالهاخواهدشد.

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

  16. قاعدهدلتا Delta Rule • برایدرکبهتراینروشآنرابهیک پرسپترونفاقدحدآستانهاعمالمی‌کنیم. یعنی داریم: • ابتدالازماستتعریفیبرای خطای آموزشارایهشود. یکتعریفمتداولاینچنیناست: D = Training Set • کهاینمجموعبرایتماممثالهایآموزشیانجاممی‌شود.

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

  18. بدستآوردنقاعدهGradient descent • ایدهاصلی: گرادیان هموارهدرجهتافزایششیب E عملمی‌کند. • گرادیان E نسبتبهبرداروزن w به صورت زیرتعریفمی‌شود: • کهدرآنیکبردارومشتقجزیینسبتبههروزنمی‌باشد.

  19. قاعدهدلتاDelta Rule • براییکمثالآموزشیX= (x1, x2, …, xn) درهرمرحلهوزنهابراساسقاعدهدلتابه صورت زیرتغییرمی‌کند: η: learning rate (e.g., 0.1) علامتمنفینشاندهندهحرکتدرجهتکاهششیباست.

  20. محاسبهگرادیان • بامشتق‌گیریجزییازرابطهخطامی‌توانبسادگیگرادیانرامحاسبهنمود: • لذا وزنها طبقرابطهزیرتغییرخواهندنمود.

  21. خلاصهیادگیریقاعدهدلتا الگوریتمیادگیریبااستفادهازقاعدهدلتابه صورت زیرمی‌باشد. • بهوزنهامقدارتصادفی کوچکنسبتدهید. • تارسیدنبهشرایطتوقف (کوچک شدن خطا) مراحل زیر را ادامه دهید: • هروزن Δwiرا با مقدار صفر مقداردهی اولیه کنید. • برایهمهنمونه‌ها(xi, t) در مجموعه آموزشی وزن Δwiرا به صورت زیر تغییر دهید: • برای هرwiآنرابه صورت زیرتغییردهید: wi = wi + Δwi

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

  23. تقریبافزایشیGradient descent • می‌توانبجایتغییروزنهاپسازمشاهدههمه مثالها،آنهارا به ازای هرمثالمشاهدهشدهتغییرداد. دراینحالتوزنهابه صورت افزایشی(Incremental)تغییرمی‌کنند. اینروش راStochasticgradient descent نیز می‌نامند. • دربعضیمواردتغییرافزایشیوزنهامی‌تواندازبروزمینیمممحلیجلوگیریکند. روشاستانداردنیازبهمحاسباتبیشتریدارددرعوضمی‌تواندطولstepبزرگتریهمداشتهباشد.

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

  25. مثال x2 x1

  26. یکسلولواحد برایاینکهبتوانیمفضایتصمیم‌گیریرابه صورت غیرخطیازهمجدابکنیم،لازماستتاهرسلولواحدرابه صورت یکتابعغیرخطیتعریفنماییم. مثالیازچنینسلولیمی‌تواندیکواحدسیگموییدباشد:

  27. تابعسیگمویید خروجیاینسلول واحدرابه صورت زیرمی‌توانبیاننمود: تابعσتابعسیگموییدیالجستیکنامیدهمی‌شود. اینتابعدارایخاصیتزیراست:

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

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

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

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

  32. انتشاربهسمتعقب • برایهرواحدخروجی جمله خطارابه صورت زیرمحاسبهکنید: δk = ok (1-ok)(tk– ok) • برایهرواحدمخفیجملهخطارابه صورت زیرمحاسبهکنید: δh = oh (1-oh) Σk wkhδk • مقدارهروزنرابه صورت زیرتغییردهید: wji = wji + Δwji کهدرآن : Δwji = ηδj xji = wjiوزن واحد i به j = xjiورودی واحد i به j η= نرخیادگیری نسخه .Stochastic gradient descent

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

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

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

  36. قدرتنمایشتوابع • گرچهقدرتنمایشتوابعتوسطیکشبکهfeedforwardبستهبهعمقوگستردگیشبکهدارد،بااینوجودمواردزیررامی‌توانبهصورتقوانینکلیبیاننمود: • توابعبولی: هرتابعبولیرامی‌توانتوسطیکشبکهدولایهپیاده‌سازی نمود. • توابعپیوسته: هرتابعپیوستهمحدودرامی‌توانتوسطیکشبکهدولایهتقریبزد. تئوریمربوطهدرموردشبکه‌هاییکهازتابعسیگموییددرلایهپنهانولایهخطیدرشبکهخروجیاستفادهمی‌کنندصادقاست. • توابعدلخواه:هرتابعدلخواهرامی‌توانبایکشبکهسهلایهتاحدقابلقبولیتفریبزد. بااینوجودبایددرنظرداشتکهفضایفرضیهجستجوشدهتوسطروش Gradient descent ممکناست دربرگیرندهتماممقادیرممکنوزنهانباشد.

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

  38. مثال x2 x1 Smooth regions

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

  40. قدرتنمایشلایهپنهان دراینآزمایشکهبهتعداد5000بارتکرارشدهاز8دادهمختلفبهعنوانورودیاستفادهشدهوشبکهبااستفادهازالگوریتمBPموفقشدهتاتابعهدفرابیاموزد. بامشاهدهخروجی واحد‌هایلایهمیانیمشخصمی‌شودکهبردارحاصلمعادلانکدینگاستانداردداده‌های ورودی بوده است (111، ... ، 001 ، 000)

  41. نمودارخطا Different units Error iterations Different weights weight iterations

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

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

  44. راهحل • استفادهازیکمجموعهتاییدValidation وتوقفیادگیریهنگامیکهخطادراینمجموعهبهاندازهکافیکوچکمی‌شود. • بایاس کردنشبکهبرایفضاهایفرضیهساده‌تر: یکراهمی‌توانداستفادهازweight decay باشدکهدرآنمقداروزنهادرهربار تکراربه اندازهخیلیکمیکاهشدادهمی‌شود. • k-fold cross validation وقتیکهتعدادمثالهایآموزشیکمباشدمی‌توانm دادهآموزشیرابهkدستهتقسیمبندینمودهوآزمایشرابهتعدادkدفعه تکرارنمود. درهردفعهیکیازدسته‌هابعنوانمجموعهتستوبقیهبعنوانمجموعهآموزشیاستفادهخواهندشد. تصمیم‌گیریبراساسمیانگیننتایجانجاممی‌شود.

  45. روشهایدیگر راه‌هایبسیارمتنوعیبرای ایجادشبکه‌هایجدیدوجودداردازجمله: • استفادهازتعاریفدیگریبرایتابعخطا • استفادهازروشهایدیگریبرایکاهشخطادرحینیادگیری • Hybrid Global Learning • Simulated Annealing • Genetic Algorithms • استفادهازتوابعدیگریدرواحدها • Radial Basis Functions • استفادهازساختار‌هایدیگریبرایشبکه • Recurrent Network

More Related