740 likes | 987 Vues
Computer Modeling And Simulation. F.Ramezani Department of Computer Engineering Islamic Azad University SARI Branch. Introduction to Computer Modeling And Simulation. مقدمه.
E N D
Computer Modeling And Simulation F.Ramezani Department of Computer Engineering Islamic Azad University SARI Branch Introduction toComputer Modeling AndSimulation
مقدمه • شبکهعصبیمصنوعیروشیعملیبراییادگیریتوابعگوناگوننظیرتوابعبامقادیرحقیقی،توابعبامقادیرگسستهوتوابعبامقادیربرداریمیباشد. • یادگیریشبکهعصبیدربرابرخطاهایدادههایآموزشیمصونبودهواینگونهشبکههاباموفقیتبهمسائلینظیر، تصمیم گیری، شناسائیگفتار،شناسائیوتعبیرتصاویر،ویادگیریرباتاعمالشدهاست. Neural Network
شبکهعصبیچیست؟ • روشیبرایمحاسبهاستکهبرپایهاتصالبههمپیوستهچندینواحدپردازشیساختهمیشود. • شبکهازتعداددلخواهیسلولیاگرهیاواحدیانرونتشکیلمیشودکهمجموعهورودیرابهخروجیربطمیدهند. Neural Network
شبکهعصبیچهقابلیتهائیدارد؟ • تصمیم گیری • محاسبهیکتابعمعلوم • تقریبیکتابعناشناخته • شناسائیالگو • پردازشسیگنال • یادگیری Neural Network
مسائلمناسببراییادگیریشبکههایعصبیمسائلمناسببراییادگیریشبکههایعصبی • خطا در داده های آموزشی وجود داشته باشد. مثلمسائلی که داده های آموزشی دارای نویز حاصل از دادهای سنسورها نظیر دوربین و میکروفن ها هستند. • مواردی که نمونه ها توسط مقادیر زیادی زوج ویژگی-مقدار نشان داده شده باشند. نظیر داده های حاصل از یک دوربین ویدئوئی. • تابع هدف دارای مقادیر پیوسته باشد. • زمان کافی برای یادگیری وجود داشته باشد. این روش در مقایسه با روشهای دیگر نظیر درخت تصمیم نیاز به زمان بیشتری برای یادگیری دارد. • نیازیبهتعبیرتابعهدفنباشد. زیرابهسختیمیتواناوزانیادگرفتهشدهتوسطشبکهراتعبیرنمود. Neural Network
الهامازطبیعت • مطالعهشبکههایعصبیمصنوعیتاحدزیادیملهمازسیستمهاییادگیرطبیعیاستکهدرآنهایکمجموعهپیچیدهازنرونهایبههممتصلدرکاریادگیریدخیلهستند. • گمانمیرودکهمغزانسانازتعداد 10 11نرونتشکیلشدهباشدکههرنرونباتقریبا 104نروندیگردرارتباطاست. • سرعتسوئیچنگنرونهادرحدود 10-3ثانیهاستکهدرمقایسهباکامپیوترها 10 -10 ) ثانیه ( بسیارناچیزمینماید. بااینوجودآدمیقادراستدر 0.1 ثانیهتصویریکانسانرابازشناسائینماید. اینقدرتفوقالعادهبایدازپردازشموازیتوزیعشدهدرتعدادیزیادیازنرونهاحاصلشدهباشد. Neural Network
Biological Neural System • A human brain consists of about 1011 computing elements called neurons. They communicate through synaptic connections. Each neuron has about 10,000 synapses. Neural Network
Perceptron • نوعیازشبکهعصبیبرمبناییکواحدمحاسباتیبهنام پرسپترونساختهمیشود. یک پرسپترونبرداریازورودیهایبامقادیرحقیقیراگرفتهویکترکیبخطیازاینورودیهارامحاسبهمیکند. اگرحاصلازیکمقدارآستانهبیشتربودخروجی پرسپترونبرابربا 1 ودرغیراینصورتمعادل -1 خواهدبود. x1 w1 x2 w2 {1 or –1} Σ w0 wn xn X0=1 Neural Network
A simple neural model as a multi input (dendrites) and single-output (axon) processor Components: 1) Dendrites 2) Synapse 3) Soma 4)Axon Neural Network
Simple model of a neuron showing (a) synaptic and (b) somatic operations Neural Network
Neural Networks Notations Neural Network
Neuron Model Neural Network
یادگیرییک پرسپترون • خروحی پرسپترونتوسطرابطهزیرمشخصمیشود: • کهبرایسادگیآنرامیتوانبصورتزیرنشانداد: 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 دریادگیری پرسپترونعبارتاستازمجموعهتماممقادیرحقیقیممکنبرایبردارهایوزن. Neural Network
توانائیپرسپترون • پریسپترونرامیتوانبصورتیکسطحتصمیمhyperplaneدرفضای n بعدینمونههادرنظرگرفت. پرسپترونبراینمونههاییکطرفصفحهمقدار 1 وبرایمقادیرطرفدیگرمقدار -1 بوجودمیاورد. Decision boundary (WX = 0) + + + - - - Neural Network
توابعیکه پرسپترونقادربهیادگیریآنهامیباشد • یک پرسپترونفقطقادراستمثالهائیرایادبگیردکهبصورتخطیجداپذیرباشند. اینگونهمثالهامواردیهستندکهبطورکاملتوسطیکhyperplaneقابلجداسازیمیباشند. + + + + + - - + - - - - Linearly separable Non-linearly separable Neural Network
توابعبولیو پرسپترون • یک پرسپترونمیتواندبسیاریازتوابعبولیرانمایشدهدنظیر AND, OR, NAND, NOR • امانمیتواند XORرانمایشدهد. • درواقعهرتابعبولیرامیتوانباشبکهایدوسطحیاز پرسپترونهانشانداد. x1 AND: W1=0.5 Σ W2=0.5 W0 = -0.8 x2 X0=1 Neural Network
اضافه کردن بایاس • افزودن بایاس موجب میشود تا استفاده از شبکه پرسپترون با سهولت بیشتری انجام شود. • برای اینکه برای یادگیری بایاس نیازی به استفاده از قانون دیگری نداشته باشیم بایاس را بصورت یک ورودی با مقدار ثابت 1 در نظر گرفته و وزن W0 را به آن اختصاص میدهیم. Neural Network
Neuron Model Neural Network
آموزش پرسپترون • چگونهوزنهاییک پرسپترونواحدرایادبگیریمبهنحویکه پرسپترونبرایمثالهایآموزشیمقادیرصحیحراایجادنماید؟ • دوراهمختلف : • قانون پرسپترون • قانوندلتا Neural Network
آموزش پرسپترون الگوریتمیادگیری پرسپترون • مقادیریتصادفیبهوزنهانسبتمیدهیم • پریسپترونرابهتکتکمثالهایآموزشیاعمالمیکنیم. اگرمثالغلطارزیابیشودمقادیروزنهای پرسپترونراتصحیحمیکنیم. • آیاتمامیمثالهایآموزشیدرستارزیابیمیشوند: • بله پایانالگوریتم • خیربهمرحله 2 برمیگردیم Neural Network
Neural Networks Architecture Neural Network
قانون پرسپترون • براییکمثالآموزشی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) اثباتشدهاستکهبراییکمجموعهمثالجداپذیرخطیاینروشهمگراشدهو پرسپترونقادربهجداسازیصحیحمثالهاخواهدشد. Neural Network
قانوندلتا Delta Rule • وقتیکهمثالهابصورتخطیجداپذیرنباشندقانون پرسپترونهمگرانخواهدشد. برایغلبهبراینمشکلازقانوندلتااستفادهمیشود. • ایدهاصلیاینقانوناستفادهاز gradient descent برایجستجودرفضایفرضیهوزنهایممکنمیباشد. اینقانونپایهروش Backpropagation استکهبرایآموزششبکهباچندیننرونبههممتصلبکارمیرود. • همچنیناینروشپایهایبرایانواعالگوریتمهاییادگیریاستکهبایدفضایفرضیهایشاملفرضیههایمختلفپیوستهراجستجوکنند. Neural Network
قانوندلتا Delta Rule • برایدرکبهتراینروشآنرابهیک پرسپترونفاقدحدآستانهاعمالمیکنیم. درانجالازماستابتداتعریفیبرایخطایآموزشارائهشود. یکتعریفمتداولاینچنیناست: E = ½ Σi (ti – oi) 2 • کهاینمجموعبرایتماممثالهایآموزشیانجاممیشود. Neural Network
الگوریتم gradient descent • باتوجهبهنحوهتعریف E سطحخطابصورتیکسهمیخواهدبود. مابدنبالوزنهائیهستیمکهحداقلخطاراداشتهباشند . الگوریتم gradient descent درفضایوزنهابدنبالبرداریمیگرددکهخطاراحداقلکند. اینالگوریتمازیکمقداردلبخواهبرایبرداروزنشروعکردهودرهرمرحلهوزنهاراطوریتغییرمیدهدکهدرجهتشیبکاهشیمنحنیفوقخطاکاهشدادهشود. E(W) w1 w2 Neural Network
بدستآوردنقانون gradient descent • ایدهاصلی: گرادیانهموارهدرجهتافزایششیب E عملمیکند. • گرادیان E نسبتبهبرداروزن w بصورتزیرتعریفمیشود: E (W) = [ E’/w0, E’/w1, …, E’/wn] • کهدرآن E (W) یکبردارو E’مشتقجزئینسبتبههروزنمیباشد. Δ Δ Neural Network
قانوندلتا Delta Rule • براییکمثالآموزشیX = (x1, x2, …, xn)درهرمرحلهوزنهابراساسقانوندلتابصورتزیرتغییرمیکند: wi = wi + Δwi Where Δwi = -η E’(W)/wi η: learning rate (e.g., 0.1) علامتمنفینشاندهندهحرکتدرجهتافزایش شیباست. Neural Network
محاسبهگرادیان • بامشتقگیریجزئیازرابطهخطامیتوانبسادگیگرادیانرامحاسبهنمود: E’(W)/ wi = Σi (ti – Oi) (-xi) • لذاوزنهاطبقرابطهزیرتغییرخواهندنمود. Δwi = η Σi (ti – oi) xi Neural Network
خلاصهیادگیریقانوندلتا الگوریتمیادگیریبااستفادهازقانوندلتابصورتزیرمیباشد. • بهوزنهامقدارتصادفینسبتدهید • تارسیدنبهشرایطتوقفمراحلزیرراادامهدهید • هروزنwiرابامقدارصفرعدددهیاولیهکنید. • برایهرمثال: وزنwiرابصورتزیرتغییردهید: wi = wi + η (t – o) xi مقدارwiرابصورتزیرتغییردهید: wi = wi + wi تاخطابسیارکوچکشود Δ Δ Δ Δ Δ Neural Network
مشکلاتروش gradient descent • ممکناستهمگراشدنبهیکمقدارمینیممزمانزیادیلازمداشتهباشد. • اگردرسطحخطاچندینمینیمممحلیوجودداشتهباشدتضمینیوجودنداردکهالگوریتممینیمممطلقراپیدابکند. درضمناینروشوقتیقابلاستفادهاستکه: • فضایفرضیهدارایفرضیههایپارامتریکپیوستهباشد. • رابطهخطاقابلمشتقگیریباشد Neural Network
مقایسه آموزش یکجا و افزایشی • آموزش یکجا (Batch learning) • آموزش افزایشی (Online learning) w1 w1 w2 Neural Network w2
شبکههایچندلایه برخلاف پرسپترونهاشبکههایچندلایهمیتوانندبراییادگیریمسائلغیرخطیوهمچنینمسائلیباتصمیمگیریهایمتعددبکارروند. Output nodes Internal nodes Input nodes Neural Network
مثال x2 x1 Neural Network
یکسلولواحد برایاینکهبتوانیمفضایتصمیمگیریرابصورتغیرخطیازهمجدابکنیم،لازماستتاهرسلولواحدرابصورتیکتابعغیرخطیتعریفنمائیم. مثالیازچنینسلولیمیتواندیکواحدسیگموئیدباشد: x1 w1 x2 net w2 Σ O = σ(net) = 1 / 1 + e -net w0 wn xn X0=1 Neural Network
Activation Function Neural Network
تابعسیگموئید خروجیاینسلولواحدرابصورتزیرمیتوانبیاننمود: O(x1,x2,…,xn) = σ ( WX ) where: σ ( WX ) = 1 / 1 + e -WX تابعσتابعسیگموئیدیالجستیکنامیدهمیشود. اینتابعدارایخاصیتزیراست: d σ(y) / dy = σ(y) (1 – σ(y)) Neural Network
الگوریتم Back propagation • براییادگیریوزنهاییکشبکهچندلایهازروش Back Propagation استفادهمیشود. دراینروشبااستفادهاز gradient descent سعیمیشودتامربعخطایبینخروجیهایشبکهوتابعهدفمینیممشود. • خطابصورتزیرتعریفمیشود: مرادازoutputs خروجیهایمجموعهواحدهایلایهخروجیوtkdوokdمقدارهدفوخروجیمتناظربا k امینواحدخروجیومثالآموزشی d است. Neural Network
الگوریتم Back propagation • فضایفرضیهموردجستجودراینروشعبارتاستازفضایبزرگیکهتوسطهمهمقادیرممکنبرایوزنهاتعریفمیشود. روش gradient descent سعیمیکندتابامینیممکردنخطابهفرضیهمناسبیدستپیداکند. اماتضمینیبرایاینکهاینالگوریتمبهمینیمممطلقبرسدوجودندارد. Neural Network
الگوریتم BP • شبکهایباninگرهورودی،nhiddenگرهمخفی،وnoutگرهخروجیایجادکنید. • همهوزنهارابایکمقدارتصادفیکوچکعدددهیکنید. • تارسیدنبهشرطپایانی ) کوچکشدنخطا( مراحلزیرراانجامدهید: برایهر xمتعلقبهمثالهایآموزشی: مثال X رابهسمتجلودرشبکهانتشاردهید خطای E رابهسمتعقبدرشبکهانتشاردهید. هرمثالآموزشیبصورتیکزوج (x,t) ارائهمیشودکهبردار x مقادیرورودیوبردار t مقادیرهدفبرایخروجیشبکهراتعیینمیکنند. Neural Network
انتشاربهسمتجلو • برایهرمثال X مقدارخروجیهرواحدرامحاسبهکنیدتابهگرههایخروجیبرسید. Output nodes Compute sigmoid function Internal nodes Input nodes Example X Neural Network
انتشاربهسمتعقب • برایهرواحدخروجیجملهخطارابصورتزیرمحاسبهکنید: δk = Ok (1-Ok)(tk – Ok) • برایهرواحدمخفیجملهخطارابصورتزیرمحاسبهکنید: δh = Oh (1-Oh) ΣkWkhδk • مقدارهروزنرابصورتزیرتغییردهید: Wji = Wji + ΔWji کهدرآن : ΔWji = η δjXji ηعبارتاستازنرخیادگیری Neural Network
-perceptron adaptation rule Neural Network
شرطخاتمه معمولاالگوریتم BP پیشازخاتمههزارانباربااستفادههماندادههایآموزشیتکرارمیگرددشروطمختلفیرامیتوانبرایخاتمهالگوریتمبکاربرد: • توقفبعدازتکراربهدفعاتمعین • توقفوقتیکهخطاازیکمقدارتعیینشدهکمترشود. • توقفوقتیکهخطادرمثالهایمجموعهتائیدازقاعدهخاصیپیروینماید. اگردفعاتتکرارکمباشدخطاخواهیمداشتواگرزیادباشدمسئلهOverfittingرخخواهدداد. Neural Network
محنی یادگیری Neural Network
مرورالگوریتم BP • اینالگوریتمیکجستجوی gradient descent درفضایوزنهاانجاممیدهد. • ممکناستدریکمینیمممحلیگیربیافتد • درعملبسیارموثربودهاست برایپرهیزازمینیمممحلیروشهایمختلفیوجوددارد: • افزودنممنتم • استفادهازstochastic gradient descent • استفادهازشبکههایمختلفبامقادیرمتفاوتیبرایوزنهایاولیه Neural Network
افزودنممنتم • میتوانقانونتغییروزنهاراطوریدرنظرگرفتکهتغییروزندرتکرار n امتاحدیبهاندازهتغییروزندرتکرارقبلیبستگیداشتهباشد. ΔWji (n) = η δjXji + αΔWji (n-1) کهدرآنمقدارممنتمα بصورت0 <= α <= 1میباشد. افزودنممنتمباعثمیشودتاباحرکتدرمسیرقبلیدرسطحخطا: • ازگیرافتادندرمینیممحلیپرهیزشود • ازقرارگرفتندرسطوحصافپرهیزشود • باافزایشتدریجیمقدارپلهتغییرات،سرعتجستجوافزایشیابد. قانونتغییروزن عبارتممنتم Neural Network
قدرتنمایشتوابع • گرچهقدرتنمایشتوابعبهتوسطیکشبکهfeedforwardبستهبهعمقوگستردگیشبکهدارد،بااینوجودمواردزیررامیتوانبهصورتقوانینکلیبیاننمود: • توابعبولی: هرتابعبولیرامیتوانتوسطیکشبکهدولایهپیادهسازینمود. • توابعپیوسته: هرتابعپیوستهمحدودرامیتوانتوسطیکشبکهدولایهتقریبزد. تئوریمربوطهدرموردشبکههائیکهازتابعسیگموئیددرلایهپنهانولایهخطیدرشبکهخروجیاستفادهمیکنندصادقاست. • توابعدلخواه:هرتابعدلخواهرامیتوانبایکشبکهسهلایهتاحدقابلقبولیتفریبزد. بااینوجودبایددرنظرداستکهفضایفرضیهجستجوشدهتوسطروش gradient deescentممکناستدربرگیرندهتماممقادیرممکنوزنهانباشد. Neural Network
فضایفرضیهوبایاساستقرا • فضایفرضیهموردجستجورامیتوانبصورتیکفضایفرضیهاقلیدسی n بعدیازوزنهایشبکهدرنظرگرفت )کهn تعدادوزنهاست( • اینفضایفرضیهبرخلاففضایفرضیهدرختتصمیمیکفضایپیوستهاست. • بایاساستقرااینروشرامیتوانبصورتزیربیانکرد: “smooth interpolation between data points” بهاینمعناکهالگوریتم BP سعیمیکندتانقاطیراکهبههمنزدیکترهستنددریکدستهبندیقراردهد. Neural Network