نوشته شده توسط
pesare_ariyayi
دوستان لطف می کنن بگن شبکه ی عصبی چیه؟!
شبکه عصبی چيست ؟ قبل از اينکه شبکه های عصبی را از ديد بيولوژيکی و مصنوعی مورد بررسی قرار دهيم اشاره به اين نقطه ضروری است که بعضی از محققين معتقدند آنچه که شبکه های عصبی مصنوعی به آن رسيده است مديون مدلی است که از روی شبکه های عصبی بيولوژيکی بر داشته است اما برخی ديگر معتقدند که قدرت حسابگری آن باعث پيشرفت آن گرديده است اگرچه بيشتر بحث ما مربوط به قدرت حسابگری اين مدل می شود ولی ادائه مدل بيولوژيکی آن می تواند باعث درک عميقتر شبکه های عصبی شود
(شكل رو ببينيد)
Dendrite هايی که تعداد آنها زياد است سيگنالها را از ساير سلولهای عصبی دریافت می کنند سيگنال ها نـوعـی تحريک های الکتريکی می باشد که در طول فاصله بين عصب ها (Synoptic Gap) به وسيله واکنشهای شيميايی ايجاد میشود Soma (بدنه يک موجود زنده) يا همان بدنه سلول عصبی سيگنالهای دريافتی را جمع می کند زمانی که يک مقدار مناسبی از سيگنالهای ورودی دريافت شده اند سلول اصطلاحا آتش می کنند به عبارتی سلول به نوبه خود سيگنالی توسط Axon به سلولهای مجاور خود ارسال می کند و يا آتسش نمی کند از اين رو يک حالت باينری برای يک سلول در نظر گرفته شده است اما با اين حال فرکانس آتش يک سلول ميتواند بر اساس سيگنالهای دريافتی در زمانهای مختلف فرق می کند.
براساس مطالب ذکر شده فوق می توان چندين ويژه گی را که سلول های عصبی مصنوعی بايد داشته باشد به صورت زير تعريف کرد.
1)سلولها (پردازشگرها) سيگنال های زيادی را دريافت می کنند.
2)سيگنال ها ممکن است با توجه به فاصله سلول ها از يکديگر (از اين به بعد به جای فاصله بين سلولها از عبارت وزن های موجود بين آنها استفاده خواهيم کرد) دستخوش تغيراتی گردند.
3)واحدهای پردازشگر سيگنالهای دريافتی جمع می کنند.
4)هر واحد پردازشگر می تواند سيگنال هايی را ايجاد و منتشر کند.
5)خروجی يک واحد پردازشگر ممکن است به چندين پردازشگر ديگر منتقل شود.
6)پردازش سيگنالهای در يافتی (جمع کردن آنها) به صورت محلی صورت می گيرد يعنی هر پردازشگر فقط سه کار انجام می دهد دريافت ، جمع و ارسال سيگنال ها
7)حافظه با آن صورت که قبلا متصور آن بوديم (مانند Hard Disk) وجود ندارد بلکه حافظه موجود به ضورت زير توزيع شده است
الف)حافظه بلند مدت همان فاصله بين سلولهای عصبی محسوب می شود
ب)حافظه کوتاه مدت سيگنال هايی است که واحدهای پردازشگر به هم ارسال می نماید
8)فاصله بين سلولهای عصبی ممکن است بر اساس تجربيات مختلف تغيير پيدا کند
9)سيگناها ممکن است تحريک کننده و يا خنثی کننده باشند
شبکه های عصبی مصنوعی: يک شبکه عصبی مصنوعی بر اساس مدل ذکر شده در بخش قبلی دارای ويژه گی های زير است
1)پردازش اطلاعات در بخشهايی به نام يونيت (Unit) يا نود (Node) انجام می گيرد.
2)سيگنال ها بين این واحدها و در امتداد لينک های ارتباطی برقرار می شود.
3)به هر يک از اين لينک های ارتباطی يک وزن نسبت داده می شود.
4)هر واحد پردازشگر تابع فعال سازی (Activation Function) را روی سيگنال های دريافتی اش جهت ايجاد خروجی اعمال می کند.
هر شبکه عصبی به وسيله سه مشخصه زير مشخص می شود
1)الگوی ارتباطی بين واحدهای پردازشگر يا نرون ها (به اين الگو معماری شبکه اطلاق می شود)
2)روش تعيين وزنهای منتسب به هر يک از لينک های ارتباطی (به عبارتی نحوه يادگيری و يا الگوريتم آموزش)
3)نوع تابع فعالساز مورد استفاده
هر نرون يک حالت داخلی دارد که اصطلاحا به آن سطح فعاليت (Activity Level) گفته می شود اين حالت داخلی تابعی از ورودی هايی است که نرون دريافت کرده است به طور معمول يک نرون نتيجه فعاليت خودش را به ساير نرون هايی که متصل است (در جهت لينک های ارتباطی) به صورت سيگنال ارسال می کنند توجه به اين نقطه مهم است که يک نرون در واحد زمان تنها می تواند يک سيگنال در واحد زمان ايجاد کند ولی با اين حال سيگنال ارسال شده می تواند به چندين نرون برود.
(تصوير دوم رو ببيند بزرگه)
برای مثال نرون Y را در نظر می گيريم از سه نرون ديگر به نام های X3 , X2 , X3 سيگنال دريافت می کند اگر سطح فعاليت اين نرون ها را به ترتيب x3 , x2 , x1 و همچنين فاصله بين آنها ونرون Y را w3 , w2 , w1 در نظر بگيريم آنگاه ورودی نرون Y بر اساس آنچه گفته شد به صورت زير محاسبه می شود.
Yin = x1w1+x2w2+x3w3
Y در حالت کلی (اگر Y،n تا سيگنال دريافت کند)Y = ∑ xiwi
همان طور که گفته شد خروجی هر نورون تابعی از ورودی های آن است بنابراين:
تابع فعالساز (Yout = y = f(Yin