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

mhjtalarebourse

Well-Known Member
کاربر فعال
#1
بسم‌الله‌الرحمن‌الرحیم
این کارگاه را دایر کردیم تا ببینیم خدا چه می‌خوهد.
چندین سال است در اندیشه آن هستم که برای این موضوع (یعنی ) یک جستار بزنم. یک کارگاه علمی/عملی. منتها فرصت نمی‌شد.
اگر خدا بخواهد اینجا این را افتتاح می‌کنم تا کم کم اگر شد پیش برویم.
قرار نیست یک شبه ره صد ساله برویم... بلکه قرار است آهسته آهسته در این جستار صد سال راه برویم! :)
یا علی
(دوستان عزیزی هم که تمایل دارند مشارکت کنند. چه در این زمینه کم سواد باشند مانند بنده چه خبره و کار کرده.)
 

mhjtalarebourse

Well-Known Member
کاربر فعال
#2
سلام.
یکی از دوستان حرف خوبی زد... گفتند اینجا قرار است چه بگوییم؟ آموزش خود شبکه عصبی؟ یا آموزش شگردها؟ که نمی‌شود... هیچ کدام نمی شود...
راست هم می‌گویند...
ولی باید از یک جا آغاز کرد.
درست است که نمی‌توان چیزهای بسیاری گفت...
ولی چیزهایی هم برای گفتن هست...

بگذار از اینجا آغاز کنیم...
کلا شبکه عصبی در کار ما به چه درد می‌خورد؟

نه.
بگذار از اینجا آغاز کنیم...
کلا شبکه عصبی مصنوعی چیست و به چه درد می‌خورد؟
اگر بتوانیم بگوییم:
رایانه کنونی (یک واحد پردازش مرکزی معمولی) یک سری شمارنده و دروازه منطقی است که کارش جمع و ضرب و پرش به یک آدرس و قرار دادن یک ورودی در یک خروجی است.
شبکه عصبی مصنوعی هم در این حالت یک سری وزن (ضریب) است به همراه همان اعمال اصلی (جمع و ضرب) که کارش شبیه سازی معادلات ساده است.

اگر کسی بیاید بگوید: ولی رایانه که خیلی کارهای عجیب غریب (از همه جالب‌تر هم بازی‌های هوشمند) انجام می‌دهد. می‌گوییم: بلی. ولی شالوده همه اینها همان چند کار ساده است. همان گونه که شالوده یک شبکه عصبی مصنوعی هم همان المان‌های کوچک (نرون) هستند و با همین شالوده می‌توان کارهای بزرگ کرد که امروزه ثمره‌ی آن را می‌بینیم. کارهای پیچیده و بزرگی مانند تشخیص صدا و چهره و خودرو رانی و حتی در آینده احتمالا کمک در تصمیم‌گیری‌های بزرگ سیاسی/اجتماعی...


.
.
.
که عشق آسان نمود اول ولی افتاد مشکل‌ها...
 

mhjtalarebourse

Well-Known Member
کاربر فعال
#3
یک رایانه معمولی نیاز به برنامه‌نویس دارد.
یک شبکه عصبی هم نیاز به برنامه‌نویس دارد.

اما آیا می‌توان به جایی رسید که یک رایانه معمولی یا شبکه عصبی مصنوعی کارها را خودکار انجام دهد و به برنامه‌نویس نیاز نداشته باشد؟ (شبیه فیلم‌ها)
خوب... هم بلی. هم خیر.

بلی از این جهت که... خوب... کاری ندارد! اصلا نیاز ندارد که بنشینیم بیاندیشیم به این موضوع!!! می‌توان به آسانی برنامه‌ای نوشت که خودش را (به معنایی) تغییر دهد.
کافی است یک برنامه‌‌ی رایانه‌ای ساده‌ای بنویسیم به این شکل:
به سرور شماره الف وصل شو و کد فلان که آنجا است را بگیر و روی حافظه خودت بارگیری کن و کد خودت را از حافظه سخت پاک کن. برنامه جدید را اجرا کن یا در انتظار اجرا قرار بده. خاموش شو (دستور خروج). به آسانی به این شیوه کلا جان تازه‌ای به این کالبد دمیده می شود. (یا شاید هم برعکس. کالبد جدیدی در اختیار این جان قرار می‌گیرد.)
حالا پیچیده‌ترش -مثلا برای یک روبات- می‌شود این:
برو در طبیعت. اشیاء را نظاره کن. اگر چیزی یافتی که اجزاء بدن خودت را توانستی با آن مطابقت دهی (مثلا یک پرنده و بال یک پرنده و ارتباط بین آنها را شناسایی کردی و از پیش هم بازوی روباتی خودت را با جسم کلی خودت را شناخته بودی) از حرکت آن جزء از بدن خارجی تقلید کن. دوباره برنامه را ادامه بده و به شیء بعدی برس. (به این شیوه روبات شروع به بال بال زدن می‌کند تا برسد به یک حیوان دیگر.)

اینها پاسخ بلی بود. بسیار بسیار نزدیک و ملموس و دست یافتنی و شدنی. اما چرا گفتیم هم بلی و هم خیر.
خیر از این جهت که روبات هر چه بکند در قید برنامه‌نویس خودش است و از آن نمی‌تواند خارج شود. روبات تقلید می‌کند و به نظر می‌رسد چیز جدیدی یافته و چیز جدیدی شده. ولی همه‌ی این کارها را با قید پیشین انجام داده و اگر دستور «تقلید بکن» را نداشت تقلید نمی‌کرد. مثال نخستی که زدیم یکی از عجیب‌ترین حالات بود. ولی باز آن هم قید دارد. (چگونه؟) این‌گونه که حتی زمانی که روبات برنامه خودش را عوض می‌کند این کار را با دستور برنامه‌نویسش انجام می‌دهد. یعنی درجه آزادی روبات از پیش تعیین شده است و حدود فعالیت برایش تعیین شده. برنامه‌نویس از پیش فکر کرده و اطلاع داشته که کدی در جایی هست و امکان بارگیری و جانشینی دارد و به این سیستم می‌خورد یا نمی‌خورد و باید آن را چگونه گرفت و چگونه قرار داد و با اراده برنامه‌نویس این کد جابه‌جا شده. نه. موضوع از این فراتر است. برنامه اصلی این کدهای جایگزین شده نیست! برنامه نویس اصلی هم به تبع نویسنده این برنامه جایگزین شده نیست. برنامه اصلی آن سیستم عاملی است که این برنامه را با آن برنامه جایگزین کرده! آن روح یا کالبدی است که در حین این تغییرات تغییر نکرده. و برنامه‌نویس اصلی هم برنامه‌نویس این برنامه‌ است. برنامه‌ای که مانند سیستم عامل برنامه کوچکتر روی آن سوار بوده و آن برنامه کوچک تغییر کرده نه سیستم عامل! (به همین شیوه بخواهیم نگاه کنیم برنامه اصلی‌تری روی رایانه‌های ما نصب است که ویندوز و ... را روی آن سوار می‌کنند! یعنی چیزی در حد بایوس یا بالاتر از آن. برنامه‌ی نیمه‌سخت‌افزاری یا تمام سخت‌افزاری‌ای که روی مادربورد یا حتی روی خود CPU می‌نشیند! آن اصل است و باقی فرع!)
 
بالا