رفتن به مطلب

باهم شبکه های عصبی یادبگیریم


ارسال های توصیه شده

صورت مسئله :

فرض کنید شما دارای انبار خیلی بزرگی از میوه هستید میوه ها برحسب نوعشون دسته بندی شده و در حوض خیلی بزرگی ریخته شده تا اماده شستن و رفتن به محل آبمیوه گیری جهت تولید آبمیوه های خوشمزه (اه اه:pot: ) بشن ولی یه روز صب یه اتفاق خیلی بدی می افته

دراثر سهل انگاری عده ای , تمامی میوه های سیب و پرتغال باهم توی یه حوض ریخته شدن و تعدادشون انقد زیاده که نمیشه با دست اونا رو از هم جدا کرد .خب حالا چیکار کنیم ؟

چندین تن پرتغال و سیب , وااااااااااااااااااااااااای :icon_pf (34):

نگران نباشید شبکه عصبی اینجا به کمک ما میاد .:w16:

خب ما چی لازم داریم ؟

ما به سه تا سنسور نیاز داریم

یکیش برای تشخیص شکل میوه

یکیش برای تشخیص بافت پوستی میوه

وسومی برای تشخیص وزن میوه

همچنین به یه نوار لغزان نیاز داریم که پرتغال و سیبا روی اون بزاریم

 

کار دستگاه ما به این صورته که :

ابتدا میوه های سیب و پرتغال روی نوار لغزان ریخته میشن (هییییییییییی یواشتر , میوه ها له میشن :w000:) میرن میرن تا برسن به سنسور ها

سنور اولی : شکل میوه را تشخیص میده اگر گرد بود خروجی 1 رو میده واگر بیضی شکل بود -1

میوه میرسه به سنسور دومی : اگه سطح میوه صاف بود خروجی 1 میده و اگه زبر بود -1

و سومین سنسور وزن میوه رو بررسی می کنه اگه بیشتر یه پوند بود 1 درغیر این صورت -1 را میده

این سه عدد که نشان دهنده ویژگی یه میوه هس به شبکه عصبی اعمال میشده بعد شبکه باید تشخصی بده میوه پرتغال بود یا سیب

 

بعد برحسب تشخیص شبکه عصبی سیبها به سمت نواری هدایت میشن که به حوض سیبها میره و پرتغال ها به نواری که به سمت حوض پرتغال ها میره

  • Like 12
لینک به دیدگاه
  • پاسخ 67
  • ایجاد شد
  • آخرین پاسخ

بهترین ارسال کنندگان این موضوع

بهترین ارسال کنندگان این موضوع

یه سوال : اگه از شما بخوان چش بسته تشخیص بدین این میوه ای که دستتون گذاشته میشه سیبه یا پرتغال , از کجا (منظورم از روی چه ویژگی ) می تونید تشخیص بدین ؟

بله درسته سیب سطح صافی داره ولی پرتغال نه :a030:

g2lv67ugye2zswdig2v.jpg

بنابراین بردار ورودی ما به شبکه عصبی می تونه یکی از دو بردار زیر باشد

ad6o0i0l0qp0e14082mc.jpg

یعنی اگه میوه پرتغال باشه p1 و اگه سیب باشه p2 خواهد بود.

 

 

  • Like 10
لینک به دیدگاه

خب قبل از اینکه مسئله را با شبکه عصبی حل کنیم کمی درمورد خود شبکه پرستپرون بدونیم

شبکه پرسپترون تک لایه ای دارای ساختاری به صورت زیر است :

fusealbshqu9jlwju4tu.jpg

این شبکه دارای تابع انتقال hardlims هست که به صورت زیر تعریف می شود.

279k90zbirl4x3jwfo1v.jpg

درست متوجه شدید شبکه پرسپترون تک لایه اشیا رو به دو دسته , طبقه بندی می کند و اینکاررو با این تابع انتقال انجام میدهد

به عبارت بهتر هرجا تونستید یه سری اشیا را به صورت خطی ازهم جدا کنید بیایید به سراغ شبکه پرسپترون تک لایه .

 

  • Like 11
لینک به دیدگاه

پس حالا تقریبا شبکه ها صورت واضحی به خود گرفت ما میخواهیم یه شبکه پرسپترون تک لایه , تک نورون طراحی کنیم که این نورون دارای ه سه ورودی است ( ورودی اول مربوط به شکل میوه , ورودی دوم , مربوط به سطح پوست میوه و ورودی سوم مربوط به وزن میوه ) شبکه عصبی بعد از تشخیص , اگر مقدار 1 را درخروجی چاپ کرد یعنی میوه سیبه واگر -1 را چاپ کرد یعنی میوه پرتغاله .

حالا باید مقدار وزن و مقدار بایاس را پیدا کنیم یعنی این معاله را باید حل کنیم

9c1c44c8tqrw2pjqns.jpg

اگه معادله بالایی رو حل کنیم به مقادیر زیر برای بردار وزن ها و مقدار بایاس خواهیم رسید

1lp9olahxndzi2ihnhhh.jpg

اگه تو حل معادله بالایی مشکل داشتید تو تاپیک مشکلات بیان کنید تا جواب بدم .

:w16:

 

  • Like 11
لینک به دیدگاه

حالا بیایید این شبکه رو توی نرم افزار متلب پیاده سازی کنیم

hh55eweq3896y26wb1nt.jpg

همانطور که می بینید وقتی که ویژگی های مربوط به پرتغال به شبکه اعمال شود مقدار -1 در خروجی چاپ میشود و وقتی ویژگی های مربوط به سیب اعمال شود مقدار 1 به نمایش درمیاید .

برای اینکه با نحوه کارکرد این مثال بیشتر اشنا بشید درخط فرمان nnd3pc را تایپ و اینتر بزنید

همانطور که در این demo مشاهده می کنید از یک معکب برای شبیه سازی فضای داده ها استفاده کرده (سه بعدی ) و از یک صفحه جهت جداسازی پرتغال ها از سیبها استفاده نموده .

  • Like 10
لینک به دیدگاه

اجازه بدهید سراغ یه مثال کاربردی دیگر برویم و این بار بجای خط فرمان , از خود جعبه ابزار متلب برای طراحی شبکه موردنظرمون استفاده کنیم این بار میخواهیم شبکه ای طراحی کنیم که با دیدن یک تصویر به ما بگوید این تصویر مال پیکاسوست یا ونگوگ , اگر خروجی شبکه صفر شد یعنی مال پیکاسوت ولی اگر یک شد مال ونسان ونگوک.برای اینکار یک شبکه پرسپترون تک نورونی داریم با 12 ورودی و یک خروجی (صفر یا یک ) . فرض کنید این 12 ورودی , 12 ویژگی نقاشی های این نقاش ها هستند که ما دسته بندی کردیم

81f5lz22xsu219p00fr.jpg

ابتدا برای طراحی چنین شبکه ای باید چهارتصویر که دوتای انها مال پیکاسو و دوتای دیگه مال ونسان ونگوک هست به شبکه بدهیم تا از این طریق اموزش ببیند. فرض کنید این چار تصویر به صورت زیر از نظر 12 ویژگی بررسی شده اند .

b4lm1prorbpebitc9ib.jpg

تصاویر 1و3 مال پیکاسو و تصاویر 2 و 4 مال ونسان هست . ابتدا برای اینکه به جعبه ابزار متلب دسترسی پیدا کنیم درخط فرمان ,دستورnntool را تایپ و اینتر بزنید فرمی مانند تصویر زیر برایتان به نمایش درخواهد امد

xeddpe5yfcv721hxai5i.jpg

روی دکمه new کلیک کرده تا پنجره ای به صورت زیر به نمایش دراید

24wq62qk3dw6ogesdes4.jpg

روی تب data کلیک کنید تا ابتدا داده های ورودی و هدف خود را در ان مشخص کنیم ابتدا برای داده های خود نامی اتخاب کنید بعد داده ها را طبق قوانین متلب وارد کنید به صورت زیر

k2dw2pneni7d660bciig.jpg

دقت کنید ستون یک اطلاعات 12 گانه تصویر شماره یک را درخود ذخیره کرده ستون دوم برای تصویر دو و الی اخر بعد وارد کردن اطلاعات ورودی , دکمه create را زده تا به سراغ وارد کردن داده های target یا هدف برویم دکمه رادیویی را روی target تنظیم کنید بعد به صورت زیر داده های هدف را وارد کنید .[0 1 0 1]و دکه create را زده و دوباره به سربرگ network برگشته و تنظیمات را طبق شکل زیر انجام دهید

sejs59smvlnyc9ecznw2.jpg

نوع شبکه , نام فایل ورودی و هدف و تابع انتقال و تابع یادگیری را تنظیم کنید دکمه ایجاد را کلیک کنید تا کادری به صورت زیر برایتان باز شود

hpjbtdb3l87ajx9bvfs.jpg

حال شبکه اماده اموزش ست روی تب train رفته و نام فایل input و target را مشخص کرده و teain network را بزنید تا شبکه شروع به یادگیری کنداگر در مورد الگوریتم یادگیری سوالی داشتید لطفا به تاپیک سوالات و اشکالات شبکه مراجعه کنید حال بر روی سربرگ simulate کلیک کرده و داده ای که برایش تعیین کردید را مشخص کنید (مثلا می توانید یه نقاشی از نقاشی های پیکاسو را برایش بدید حتی نقاشیی که تو مجموعه داده های اموزشی شبکه نبوده ) بعد دکمه simulate network را زده و اطلاعات و خروجی شبکه را می توایند از طریق پنجره و کادر زیر ببینید

t7bo8pu96keys3szyby.jpg

من خودم یه مورد تست کردم و شبکه بهم جواب درست را داد

  • Like 13
لینک به دیدگاه
  • 5 ماه بعد...
در ادامه شبکه های خطی را بررسی خواهیم کرد:w16:

 

برمی گردم حتماااااااااااااااااااااا.........عععععععععععععععععععععععععع:ws3:

 

سلام

ضمن تسليت اين ايام

سارا خانوم اميدوارم كه هميشه موفق و سلامت باشي.

خيلي عالي تاپيك رو تا اينجا پيش برديد ولي نميدونم چرا ديگه ادامه نداديد.

اميدوارم كه اگه مشكلي هستش زودتر برطرف شه و بخش جديد اين تاپيك دوباره استارت بخوره.

موفق و سلامت باشي:icon_gol:

  • Like 5
لینک به دیدگاه
  • 4 هفته بعد...

سلام .

سارا خانوم از بابت آموزش شبکه عصبی مصنوعی از شما سپاسگذارم.

امیدوارم هر چه زودتر با ادامه ی آموزش های شیرین شما همراه باشیم.

 

دوستدارشما سهیل :a030:

  • Like 3
لینک به دیدگاه
  • 3 هفته بعد...
سلام سارا خانم اگه جزوه ای از این مبحث دارید واسم میل کنید.ممنون میشمfmakarinasab@gmail.com

فارسی باشه بهتره

درود

نه دوست عزیز

من جزوه ای ندارم خودم از منابع مختلف مطالعه می کردم بعد اون چیزی که می فهمیدم اینجا میزاشتم متاسفانه استقبالی نشد و منم نیمه کاره ولش کردم

موفق باشید :icon_gol:

  • Like 6
لینک به دیدگاه
آنها نمی توانند در مورد انچه که انجام میدهند دلیل بیاورند برعکس شبکه های بیزین که به صورت مستدل هر مرحله از کار را برایتان شرح می دهند و اینکه چگونه خروجی فعلی از ورودی های اعمال شده بدست امده اند .

 

به عنوان مثال می توان شبکه عصبی طراحی کرد که بتواند رخداد اختلاس در شبکه بانکی را کشف کند:ws3: اما نمی تواند دلیل بیاورد که چطور به این نتیجه رسیده است:vahidrk: ولی شبکه های بیزین دقیقا مرحله به مرحله برای شما دلیل می اوردند که بنا به این علت , این نتیجه استدلال شده است و...:w02:

 

 

آورین

 

آورین

 

:vahidrk:

  • Like 3
لینک به دیدگاه

ببخشید قصد اسپم نداشتم

 

فقط میخواستم بگم بسیارررررررررررر زیبا توضیح دادین تا اعماق سلولهای خاکستری نفوذید

 

:a030:

  • Like 3
لینک به دیدگاه
ببخشید قصد اسپم نداشتم

 

فقط میخواستم بگم بسیارررررررررررر زیبا توضیح دادین تا اعماق سلولهای خاکستری نفوذید

 

:a030:

خواهش می کنم عزیزم

نوش جون سلول های خاکستریت :w02:

  • Like 5
لینک به دیدگاه

سلام من همین الآن که ساعت 3 صبحه عضو این سایت شدم، رشته م حسابداریه و برای پایان نامه م با شبکه های عصبی آشنا شدم و ازونجایی که به کامپیوترو این چیزا علاقه داشتم موضومو طوری انتخاب کردم که پیش بینی با استفاده از شبکه های عصبی و pso هست. اما راستش نمیدونم برای یادگیریش باید ازکجا شروع کنم. من هنوز با متلب کار نکردم ولی خیلی خیلی علاقه مندم در زمینه شبکه های عصبی و الگوریتم های مختلف آموزشش یاد بگیرم. کار من با پرپترون چند لایه ست. داشتم آموزشتونو میخوندم اما فقط پرسپترون تک لایه بود. میشه راهنماییم کنین به عنوان یه فرد مبتدی از کجا باید شروع کنم برای یادگیری.ممنون میشم

  • Like 4
لینک به دیدگاه
سلام من همین الآن که ساعت 3 صبحه عضو این سایت شدم، رشته م حسابداریه و برای پایان نامه م با شبکه های عصبی آشنا شدم و ازونجایی که به کامپیوترو این چیزا علاقه داشتم موضومو طوری انتخاب کردم که پیش بینی با استفاده از شبکه های عصبی و pso هست. اما راستش نمیدونم برای یادگیریش باید ازکجا شروع کنم. من هنوز با متلب کار نکردم ولی خیلی خیلی علاقه مندم در زمینه شبکه های عصبی و الگوریتم های مختلف آموزشش یاد بگیرم. کار من با پرپترون چند لایه ست. داشتم آموزشتونو میخوندم اما فقط پرسپترون تک لایه بود. میشه راهنماییم کنین به عنوان یه فرد مبتدی از کجا باید شروع کنم برای یادگیری.ممنون میشم

 

بهترین راه این است که شما ابتدا یک پایان نامه پیدا کنید و فصل های اول و دوم اونو مطالعه کنید

شبکه عصبی و pso ( الگوریتم پرندگان ) رو می تونید باهم تجمیع کنید مثلا شبکه عصبی تون یک پرسپترون دو لایه باشه( هر تابعی را تخمین می زنه ) ولی برای بهینه کردن وزن های شبکه از الگوریتم پرندگان استفاده کنید یا حتی الگوریتم ژنتیک

 

بهتره حتی قبل از خوندن مطالبی در مورد شبکه عصبی و الگوریتم pso , پایان نامه و مقاله بخونید مخصوصا مقاله های مختلف

چون اون چیزی که شما تو متون اموزشی در مورد شبکه می خونید با اون چیزی که تو مقاله ها استفاده میشه زمین تا اسمون فرق داره

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

بازم اگه کمکی از دستم بربیاد دریغ نمی کنم

  • Like 9
لینک به دیدگاه

ممنون از راهنماییتون. راستش من یه پایان نامه در مورد موضوم دارم که با استفاده از شبکه های عصبیه و مطالعه ش هم کردم یکی دو بار. حالا من همونو میخام با الگوریتم پرندگان یعنی همون pso ترکیبش کنم. اما خب من این راهو تا اینجا که اومدم با استفاده از یه مقدار اگاهی بوده که برادرم چون رشته ش برق بوده از شبکه های عصبی و پرندگانو اینا داشته، اما از این به بعدشو نمیدونم چه کنم؟ آخه تو پایان نامه ی طرف نوشته شبکه عصبی از نوع پرسپترون چند لایه که شامل شبکه ی عصبی پیشخور 3 لایه با ترکیب 5:18:2 در آرایش نورون ها هست.

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

چه طوری پس یاد بگیرم؟ :ws52:

  • Like 7
لینک به دیدگاه
ممنون از راهنماییتون. راستش من یه پایان نامه در مورد موضوم دارم که با استفاده از شبکه های عصبیه و مطالعه ش هم کردم یکی دو بار. حالا من همونو میخام با الگوریتم پرندگان یعنی همون pso ترکیبش کنم. اما خب من این راهو تا اینجا که اومدم با استفاده از یه مقدار اگاهی بوده که برادرم چون رشته ش برق بوده از شبکه های عصبی و پرندگانو اینا داشته، اما از این به بعدشو نمیدونم چه کنم؟ آخه تو پایان نامه ی طرف نوشته شبکه عصبی از نوع پرسپترون چند لایه که شامل شبکه ی عصبی پیشخور 3 لایه با ترکیب 5:18:2 در آرایش نورون ها هست.

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

چه طوری پس یاد بگیرم؟ :ws52:

 

یه چیزی رو اول بگم اینکه چرا شما از بین این همه الگوریتم های تکاملی سراغ پرندگان رفتید باید توجیه علمی داشته باشه چون الگوریتم های تکاملی به صورت کلی به دو دسته explore و

exploit تقسیم میشن

 

شما بهتره درمورد شبکه عصبی به جزوهایی تو همین نت پیدا میشن رجوع کنید

خودم سعی می کنم تو اولین فرصت اینا رو براتون اینجا بزارم

همراه خوندن اینا سعی کنید مقاله ای مناسب که توش به صورت واضح مراحل انجام کارشو توضیح داده پیدا کنید و مطالعه اش کنید

اینم بگم شبکه عصبی اصلا سخت نیس بخصوص همین شبکه های پیشخور یا feedforward

مثلا تو این پایان نامه شما

نویسنده اومده از یه شبکه سه لایه که دارای 5 ورودی , 18 نورون در لایه مخفی و دو نورون در لایه خروجی می باشد استفاده کرده . (اعداد رو از چپ به راست خوندم )

مطالبی که اینجا گذاشتم درواقع شروعی به شبکه های پیشخور هستش

  • Like 8
لینک به دیدگاه
  • 3 هفته بعد...

سلام

ممنون از آموزش خوبتون

ممکنه از شبکه های چند لایه یه مثال حل کنید که یادگیریش به صورت افزایشی باشه و داخلش توضیح بدین وزن ها بعد از هر مرحله دقیقا به چه عددی و چرا به این عدد تغییر می کنن ( یعنی محاسبه کنید بگید باید Wi بشه فلان)

مثلا یه انتگرال رو حل کنه یا هرمثالی که خودتون می دونین

یه مثال هم به همین صورت از پرسپترون

با سپاس

  • Like 6
لینک به دیدگاه
سلام

ممنون از آموزش خوبتون

ممکنه از شبکه های چند لایه یه مثال حل کنید که یادگیریش به صورت افزایشی باشه و داخلش توضیح بدین وزن ها بعد از هر مرحله دقیقا به چه عددی و چرا به این عدد تغییر می کنن ( یعنی محاسبه کنید بگید باید Wi بشه فلان)

مثلا یه انتگرال رو حل کنه یا هرمثالی که خودتون می دونین

یه مثال هم به همین صورت از پرسپترون

با سپاس

 

امیدوارم بتونم به زودی اموزش این تاپیک رو ادامه بدم

اما فقط همین قدر بگم تغییر وزن ها براساس الگوریتم ها هس

در اولین فرصت لیست پرکاربرد ترین الگوریتم ها رو میزام و یکی یکی شروع به اموزشش می کنم

اینجوری درک عمیق تری از کارکرد شبکه عصبی پیدا می کنیم .

  • Like 8
لینک به دیدگاه

×
×
  • اضافه کردن...