زمان کنونی: ۵-۹-۱۳۹۳, ۱۲:۵۲ صبح درود مهمان گرامی! (ورودثبت نام)



ارسال پاسخ 
 
امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5


شبکه های عصبی
ارسال: #1
۱۱-۱-۱۳۹۰, ۱۲:۱۹ عصر (آخرین ویرایش در این ارسال: ۱۱-۱-۱۳۹۰ ۱۲:۳۴ عصر، توسط m.farahi.)
شبکه های عصبی
شبکه عصبی مصنوعی
.
شبکه عصبی مصنوعی یک سامانه پردازشی داده‌ها است که از مغز انسان ایده گرفته و پردازش داده‌ها را به عهدهٔ پردازنده‌های کوچک و بسیار زیادی سپرده که به صورت شبکه‌ای به هم پیوسته و موازی با یکدیگر رفتار می‌کنند تا یک مسئله را حل نمایند. در این شبکه‌ها به کمک دانش برنامه نویسی، ساختار داده‌ای طراحی می‌شود که می‌تواند همانند نورون عمل کند. که به این ساختارداده گره گفته می‌شود. بعد باایجاد شبکه‌ای بین این گره‌ها و اعمال یک الگوریتم آموزشی به آن، شبکه را آموزش می‌دهند. در این حافظه یا شبکهٔ عصبی گره‌ها دارای دو حالت فعال (روشن یا 1) و غیرفعال (خاموش یا 0) اند و هر یال (سیناپس یا ارتباط بین گره‌ها) دارای یک وزن می‌باشد. یال‌های با وزن مثبت، موجب تحریک یا فعال کردن گره غیر فعال بعدی می‌شوند و یال‌های با وزن منفی، گره متصل بعدی را غیر فعال یا مهار (در صورتی که فعال بوده باشد) می‌کنند.
.
m.farahi نوشته شده توسط: برای مثال ::» برای اینکه یک ربات یا کامپیوتر بخواهد یک نوع میوه را از دیگر میوه ها تشخیص بدهد می توان به شبکه عصبی هزاران میوه را نشان داد و نام هر میوه را نیز برایش بیان نمود ، بعد از این که هزاران شکل از یک نوع میوه (مثلا پرتقال) را دیده باشد ، با نشان دادن یک میوه ی مجهول با احتمال بسیار بالا می تواند تشخیص دهد که این میوه پرتقال هست یا خیر .
به طور کلی شبکه ی عصبی همان کاری را انجام می دهد که ما از آن به عنوان یادگیری یاد می کنیم
.
شبکه عصبی زیستی
.
شبکه‌های عصبی زیستی مجموعه‌ای بسیار عظیم از پردازشگرهای موازی به نام نورون اند که به صورت هماهنگ برای حل مسئله عمل می‌کنند و توسط سیناپس‌ها (ارتباط‌های الکترومغناطیسی) اطلاعات را منتقل می‌کنند. در این شبکه‌ها اگر یک سلول آسیب ببیند بقیه سلول‌ها می‌توانند نبود آنرا جبران کرده و نیز در بازسازی آن سهیم باشند. این شبکه‌ها قادر به یادگیری اند. مثلا با اعمال سوزش به سلول‌های عصبی لامسه، سلول‌ها یاد می‌گیرند که به طرف جسم داغ نروند و با این الگوریتم سامانه می‌آموزد که خطای خود را اصلاح کند. یادگیری در این سامانه‌ها به صورت تطبیقی صورت می‌گیرد، یعنی با استفاده ازمثال‌ها وزن سیناپس‌ها به گونه‌ای تغییر می‌کند که در صورت دادن ورودی‌های تازه سامانه پاسخ درستی تولید کند.
.
.
چرا از شبکه‌های عصبی استفاده می‌کنیم
.
شبکه‌های عصبی با توانایی قابل توجه خود در استنتاج نتایج از داده‌های پیچیده می‌توانند در استخراج الگوها و شناسایی گرایش‌های مختلفی که برای انسان‌ها و کامپیوتر شناسایی آنها بسیار دشوار است استفاده شوند. از مزایای شبکه‌های عصبی می‌توان موارد زیر را نام برد:

. 1. یادگیری تطبیقی : توانایی یادگیری اینکه چگونه وظایف خود را بر اساس اطلاعات داده شده به آن و یا تجارب اولیه انجام دهد در واقع اصلاح شبکه را گویند.
.
2. خود سازماندهی : یک شبکه عصبی مصنوعی به صورت خودکار سازماندهی و ارائه داده‌هایی که در طول آموزش دریافت کرده را انجام دهد. نورون‌ها با قاعدهٔ یادگیری سازگار شده و پاسخ به ورودی تغییر می‌یابد.
.
3. عملگرهای بی‌درنگ : محاسبات در شبکه عصبی مصنوعی می‌تواند به صورت موازی و به وسیله سخت‌افزارهای مخصوصی که طراحی و ساخت آن برای دریافت نتایج بهینه قابلیت‌های شبکه عصبی مصنوعی است انجام شود.

. 4. تحمل خطا : با ایجاد خرابی در شبکه مقداری از کارایی کاهش می‌یابد ولی برخی امکانات آن با وجود مشکلات بزرگ همچنان حفظ می‌شود.
.
5. دسته بندی : شبکه‌های عصبی قادر به دسته بندی ورودی‌ها بر ای دریافت خروجی مناسب می‌باشند.
.
6. تعمیم دهی : این خاصیت شبکه را قادر می‌سازد تا تنها با برخورد با تعداد محدودی نمونه، یک قانون کلی از آن را به دست آورده، نتایج این آموخته‌ها را به موارد مشاهده از قبل نیز تعمیم دهد. توانایی که در صورت نبود آن سامانه باید بی نهایت واقعیت‌ها و روابط را به خاطر بسپارد.
.
7. پایداری- انعطاف پذیری : یک شبکه عصبی هم به حد کافی پایدار است تا اطلاعات فراگرفته خود را حفظ کند و هم قابلیت انعطاف و تطبیق را دارد و بدون از دست دادن اطلاعات قبلی می‌تواند موارد جدید را بپذیرد..
.
.
کاربرد شبکه های عصبی
.
شبکه‌های عصبی مصنوعی دارای دامنه کاربرد وسیعی می‌باشند از جمله سامانه‌های آنالیز ریسک، کنترل هواپیما بدون خلبان، آنالیز کیفیت جوشکاری، آنالیز کیفیت کامپیوتر، آزمایش اتاق اورژانس، اکتشاف روغن و گاز، سامانه‌های تشخیص ترمز کامیون، تخمین ریسک وام، شناسایی طیفی، تشخیص دارو، فرآیندهای کنترل صنعتی، مدیریت خطا، تشخیص صدا، تشخیص هپاتیت، بازیابی اطلاعات راه دور، شناسایی مین‌های زیردریایی، تشخیص اشیاء سه بعدی و دست نوشته‌ها و چهره و ...
.
در کل می‌توان کاربردهای شبکه‌های عصبی را به صورت زیر دسته بندی کرد : تناظر (شبکه الگوهای مغشوش وبه هم ریخته را بازشناسی می‌کند)، خوشه یابی، دسته بندی، شناسایی، بازسازی الگو، تعمیم دهی (به دست آوردن یک پاسخ صحیح برای محرک ورودی که قبلا به شبکه آموزش داده نشده)، بهینه سازی.
.
امروزه شبکه‌های عصبی در کاربردهای مختلفی نظیر مسائل تشخیص الگو که خود شامل مسائلی مانند تشخیص خط، شناسایی گفتار، پردازش تصویر و مسائلی از این دست می‌شود و نیز مسائل دسته بندی مانند دسته بندی متون یا تصاویر، به کار می‌روند. در کنترل یا مدل سازی سامانه‌هایی که ساختار داخلی ناشناخته یا بسیار پیچیده‌ای دارند نیز به صورت روز افزون از شبکه‌های عصبی مصنوعی استفاده می‌شود. به عنوان مثال می‌توان در کنترل ورودی یک موتور از یک شبکه عصبی استفاده نمود که در این صورت شبکه عصبی خود تابع کنترل را یاد خواهد گرفت.
.

منبع : ویکی پدیا

منتظر اطلاعات تکمیلی باشید . . . .
.
.
.
.
مشاهده‌ی وب‌سایت کاربر یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
 سپاس شده توسط Ameen Zadeh ، Niloofar_orouji
ارسال: #2
۱۲-۱-۱۳۹۰, ۱۱:۳۶ صبح (آخرین ویرایش در این ارسال: ۱۲-۱-۱۳۹۰ ۱۱:۴۶ صبح، توسط m.farahi.)
RE: شبکه های عصبی
خوب با این موضوع که شبکه عصبی دقیقاً چیست ادامه می دهیم.

شبکه عصبی روش خام تلاش انسانها جهت شبیه سازی الکترونیکی مغز است. بنابراین برای اینکه بفهمیم شبکه عصبی چطور کار می کند، ابتدا باید بفهمیم ماده خاکستری چطور کارش را انجام می دهد...
مغز ما از چیزی حدود 100 بیلیون واحد بسیار ریز به نام نورون (neuron)ساخته شده است. هر نورو ن به هزاران نورون دیگر متصل است و از طریق سیگنال های الکتروشیمیایی با آنها در ارتباط است. سیگنالهایی که به یک نورون می رسند از طریق اتصالاتی که سیناپس(Synapses) نام دارد دریافت می شود . این اتصالات در انتهای هسته سلول عصبی که منشعب می شود دندریت (dendrites) نام دارد.
نورون بطور پیوسته از این ورودی ها سیگنال می گیرد و به همراه یک مقدار جادو آن ار ارائه می کند.آنچه که نورون انجام می دهد،جمع کردن ورودی ها در خودش به روش هایی است، چنانچه نتیجه نهایی از یک مقدار آستانه بیشتر شود نورون برانگیخته می شود و یک ولتاژ ایجاد می کند و سیگنالی را در امتداد جسمی که آکسون (axon) نام دارد می فرستد.
نگران نباشید... لازم نیست تمام این لغت های جدید را بخاطر بسپرید. در ادامه می بینید که ما احتیاج زیادی به استفاده از این لغت ها نداریم، حلا فقط به تصویر نگاه کنید و سعی کنید نحوه عملکرد این سلول کوچک را مجسم کنید.
.
[تصویر:  image002.jpg]
.
شبکه عصبی از تعداد زیادی نورون های مصنوعی شاخته شده است.
اما نورون عصبی چیست؟ یک نورون مصنوعی، به ساده ترین بیان نورون بیولوژیکی را بطور الکترونیکی مدل می کند. تعداد نورون هایی که استفاده می شود به وظیفه ای که در حال اجراست بستگی دارد.
روشهای متعددی جهت اتصال نورون های مصنوعی برای ایجاد یک شبکه عصبی وجود دارد. اما در این مقاله با متداولترین روش که feedforward نام دارد آشنا می شویم.

خوب حدس می زنم از خود می پرسید، یک نورون مصنوعی چه شکلی است؟ خوب همین جاست:
.
[تصویر:  image004.jpg]
.
هر ورودی به نورون وزن (weight) خودش را دارد که مقدار آن توسط دایره های قرمز مشخص شده تعیین می شود. یک وزن عددی با ممیز شناور است و این ها چیزهایی هستند که هنگام آموزش شبکه عصبی تنظیم می شوند. وزنها در شبکه عصبی می توانند منفی یا مثبت باشند، بنابراین می تواند تاثیر بازدارنده یا تحریکی بر هر ورودی داشته باشد. وقتی هر ورودی به هسته (دایره آبی)وارد می شود در وزنش ضرب می شود، سپس هسته تمام ورودی های رسیده را جمع می کند و در نهایت به ما تحریک را می دهد.(عدد با ممیز شناور نیز می تواند مثبت یا منفی باشد.)
اگر تحریک بیش از مقدار آستانه باشد –به عنوان مثال اجازه دهید از عدد 1 استفاده کنیم- نورون یک سیگنال خروجی خواهد داشت. اگر تحریک کمتر از یک باشد خروجی نورون صفر است. این مورد عموماً تابع پله نامیده می شود (یک نگاه زیرچشمی به تصویر زیر بیاندازید.) می توانید حدس بزنید چرا...
.
[تصویر:  image005.gif]
.
.
با چندمعادله ریاضی ادامه می دهیم. سعی کردم حداقل ریاضیات را بکار ببرم . اما چند فرمول می تواند مفید باشد. یک نورون می تواند هر ورودی از 1 تا n داشته باشد. ورودی ها را با x1,x2,…, xn نشان می دهیم و وزن ها را نیز با w1,w2,…,wn . حاصلجمع وزن ها ضرب در ورودی ها را بصورت x1w1 + x2w2 + x3w3 …. + xnwn نمایش می دهیم که اگر به یاد داشته باشید قبلاً آن را تحریک نامیدیم.
a = x1w1+x2w2+x3w3... +xnwn
خوشبختانه روش راحتی برای نوشتن ایین رابطه هست ، که آن هم استفاده از نماد سیگماست. ریاضیدان ها از این حرف یونانی برای نمایش عمل جمع چندین داده استفاده می کنند.
a=∑_(i=1)^n▒WiXi
جهت واضح کردن این روابط باید آن را بصورت کد بنویسیم:
.
double activation = 0;

for (int i=0; i {
activation += x * w;
{
.
متوجه شدید؟ حالا به یاد بیارید که اگر تحریک > آستانه مقدار خروجی a یک 1 می شود و اگر تحریک < آستانه مقدار خروجی a صفر خواهد وبد.
خوب حالا تمام چیزهایی را که گفتیم بصورت نمادی ببینید:
.
[تصویر:  image002.jpg]
قبل از اینکه برید کاملاً مطمئن باشید که متوجه شده اید که مقدار تحریک دقیقاً چطور محاسبه می شود.


مطمئنم که تمامش را فهمیدم اما چطور از یک نورون مصنوعی استفاده می کنید؟
خوب، ما چندین تا از این نورون ها رابه روش ها ی مختلفی به هم وصل می کنیم. یک روش سازماندهی نورون ها با روشی است که شبکه feed forward نام دارد. نامش را از این گرفته است که نورون های هر لایه خرئجی های مقابل خود را در لایه بعدی تغذیه می کنند تا رسیدن به آخرین لایه خروجی در شبکه عصبی.
تصویری ک می بینید ساده ترین شکلی است که شبکه عصبی feed forward به آن شباهت دارد.
.
[تصویر:  simple_feedforward_network.jpg]
.
هر ورودی به نورون هایی که در لایه های پنهان هستند فرستاده می شود، سپس خروجی نورون های این لایه به تمام نورون های بعدی متصل می شوند. هر تعداد از لایه های پنهان ب اشبکه feed forward امکان پذیر است. اما معمولاً برای مسائلی که ما از عهده آن برمی آییم، یک لایه کفایت می کند. در شمن تعداد نورون هایی که در شکل از آنها استفاده کرده ام دلخواه هستند. هر تعداد نورون می تواند در یک لایه وجود داشته باشد، که تمامی اینها به مسئله بستگی دارد. ممکن است با این همه اطلاعات کمی احساس گیج سشدن پیدا کرده باشید. خوب فکر می کنم با یک مسئله از دنیای واقعی این حالت برطرف شود .
می دانید که یکی ازمشهورترین کاربردهای شبکه عصبی در شناخت کاراکترهاست. پس بیایید شبکه عصبی را طراحی کنیم که عدد 4 را تشخیص دهد. جدول یک شبکه از چراغ هاست که می تواند روشن یا خاموش باشد. می خواهیم شبکه عصبی هرگاه فکر کرد عدد 4 را دید ما را آگاه کند . این یک جدول 8*8 است.شبیه شکل زیر:
.
[تصویر:  4grid.jpg]
.
مایلیم که شبکه عصبی را طراحی کنیم که وضعیت های چراغ های جدول را به عنوان ورودی پذیرفته و خروجی صفر یا یک داشته باشد.1 یعنی عدد4 نمایش داده شده است و صفر به معنای عدم نمایش عدد 4 است. بنابراین شبکه عصبی دارای 64 ورودی است. هریک سلول خاصی را در جدول مشخص می کنند و لایه ی پنهان شامل تعدادی از نورون ها ست که همگی فقط ی نورون خروجی را تغذیه می کنند. امیدوارم بتوانید این مسئله را در ذهن خود تصویر کنید، چون کشیدن این همه دایره کوچک و خط چیز جالبی نیست.
برای بار اول که یک سبکه عصبی ایجاد می شود باید آموزش داده شود. یک روش این کار مقدار دهی اولیه به شبکه نورون ها با وزن های تصادفی و سپس تغذیه آن با یک سری از ورودی های ارائه شده. در این مثال تنظیمات مختلف، وضعیت جدول است. برای هر تنظیم بررسی می کنیم که خروجی پیست و وزن ها را بر اساس آن تنظیم می کنیم.بنابراین هر وقت چیزی شبیه عدد 4 ببیند خروجی a 1 خواهد شد و چیزی غیر از آن خروجی صفر را می دهد. این نوع آموزش Supervised Learning و داده هایی که با آن شبکه را تغذیه می کنیم training set نام دارد . روش ها متعددی برای تنظیم وزن ها وجود دارد، متداولترین روش برای این دست مسائل backpropagation نام دارد.
اگر در این مورد فکر کنید، می بینید که می توان تعداد خروجی ها را افزایش داد، مثلاً به 10 تا. در این روش شبکه عصبی را می توان برای شناسایی اعداد 0 تا 9 و یا حتی با افزایش بیشتر خروجی ها برای شناسایی حروف الفبا آموزش داد.
آیا الان درکی نسبت به شبکه عصبی پیدا کرده اید؟ امیدوارم.
.
مترجم: زهره عظیمی
سایت تخصصی مهندسی پزشکی bioemm.com
مشاهده‌ی وب‌سایت کاربر یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
 سپاس شده توسط A.Ghodsi
ارسال پاسخ 


پرش به انجمن:


 انتخاب پوسته:


کلیه حقوق این سایت متعلق به انجمن برق 89 خواجه نصیر می باشد
ترجمه شده توسط گروه MyBB IRAN.
MyBB Mod v2 طراحی شده برای MyBB