زمان جاری: 04-21-2014,
خوش آمدید مهمان گرامی! (ورودعضویت)

ارسال پاسخ 
آموزش شبکه های عصبی به همراه بررسی شبکه های پرسپترون و هاپفیلد به همراه سورس کد
02-23-2012, (آخرین تغییر در این ارسال: 02-23-2012 توسط مهدی ابراهیمی.)
ارسال: #1
آموزش شبکه های عصبی به همراه بررسی شبکه های پرسپترون و هاپفیلد به همراه سورس کد
مبحث شبکه های عصبی مربوط به شبیه سازی قوه یادگیری در انسان و پیاده سازی آن به صورت الگوریتم های کامپیوتری می باشد.قوه یادگیری در انسان عبارت از فراگیری الگوهای اطراف خود توسط تکرار می باشد.
مغز به عنوان یک سیستم پردازش اطلاعات با ساختار موازی از ملیونها نرون تشکیل شده است.بافتهایی که عصب نامیده می شوند اجتماعی از نرون ها هستند که اطلاعات و پیامها را از یک قسمت بدن به قسمت دیگر منتقل می کنند.

نرون بیولوژیکی

[تصویر: 1.png]
شکل 1 – نرون بیولوژیکی
نرون های بیولوژیکی از چهار قسمت اساسی تشکیل شده اند :
1- دندریت : اطلاعات را دریافت و به هسته سلول می رساند
2- بدنه سلول : اطلاعات دریافتی را پردازش می کند
3- اکسون : اطلاعات هسته سلول را به نرون های دیگر منتقل می کند
4 - سیناپس: محل تلاقی یک اکسون از یک نرون به دندریتهای نرون دیگر را سیناپس میگویند

معماری شبکه عصبی مصنوعی
نرون مصنوعی : کوچکترین واحد پردازشگر اطلاعات است.ورودیهای نرون توسط یک نوع ارتباط به نام وزن به نرون وارد می شوند
[تصویر: 2.png]
شکل 2- نرون تک لایه با یک ورودی

[تصویر: 3.png]
شکل 3 - نرون تک لایه با R ورودی

P : ورودی ، W : وزن ورودی ،b : بایاس ،f : تابع تحریک ،a : خروجی
بایاس : یکی از وزن های ورودی نرون می باشد که مقدار ورودی اش همواره یک است
نرون مدل سازی شده ورودی های خود را محاسبه می کند .ابتدا اولین ورودی را در ضریب وزنی مربوط به خط ارتباطی آن ورودی ضرب می کند سپس همین عمل را برای ورودی دوم و سایر ورودی ها تکرار می کند در نهایت تمام مقادیر را جمع می کند . در صورتی که مجموع مقادیر از حد آستانه بالاتر رود ، نرون تولید خروجی می کند (فعال می شود)
wipi=w1p1+w2p2+…+wnpn∑
(a = f( ∑ wipi + bi

B و w دو پارامتر تنظیم شونده در نورون ها می باشند . ایده اصلی شبکه های عصبی این است که با تغییر مقادیر w و b ،شبکه یک رفتار یا تصمیم را اتخاذ کند

منبع: منبع دقیق این آموزش برای من مشخص نیست. این آموزش از فایلی به نام مهدیان برگرفته شده است.

[تصویر: emza.png]
You are not allowed to view links. Register or Login to view.
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در پاسخ
02-23-2012,
ارسال: #2
RE: آموزش شبکه های عصبی به همراه بررسی شبکه های پرسپترون و هاپفیلد به همراه سورس کد
تابع های مورد استفاده در شبکه های عصبی :
[تصویر: 4.png]
شکل 4 – تابع های محرک

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

انواع شبکه از نظر تعداد لایه :
شبکه تک لایه : شبکه های تک لایه قادر به حل مسایل ساده هستند ولی با شبکه های چند لایه هر مثالی را می توان حل کرد(شکل هایی که تا کنون دیدیم از نوع تک لایه بودند)
شبکه چند لایه :یک شبکه چند لایه دارای لایه های زیر می باشد
1. لایه ورودی : دریافت اطلاعات خامی که به شبکه تغذیه شده‌است.
2. لایه‌های پنهان : عملکرد این لایه‌ها به وسیله ورودی‌ها و وزن ارتباط بین آنها و لایه‌های پنهان تعیین می‌شود. وزن‌های بین واحدهای ورودی و پنهان تعیین می‌کند که چه وقت یک واحد پنهان باید فعال شود.
3. لایه خروجی : عملکرد واحد خروجی بسته به فعالیت واحد پنهان و وزن ارتباط بین واحد پنهان و خروجی می‌باشد.
[تصویر: 5.png]
شکل 5 – شبکه سه لایه

منبع: همان

[تصویر: emza.png]
You are not allowed to view links. Register or Login to view.
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در پاسخ
02-23-2012,
ارسال: #3
RE: آموزش شبکه های عصبی به همراه بررسی شبکه های پرسپترون و هاپفیلد به همراه سورس کد
برخی از کاربرد شبکه های عصبی :
طبقه بندی ,شناسایی و تشخیص الگو
پردازش سیگنال
مدلسازی و کنترل
مسائل مالی ، بیمه ،امنیتی ،بازار بورس و وسایل سرگرم کننده
ساخت وسایل صنعتی ،پزشکی و امور حمل و نقل


آموزش شبکه
1 یادگیری نظارت نشده یا بدون ناظر
در این نوع یادگیری هیچ سیگنالی که اطلاعات را در مورد مطلوبیت جواب شبکه به خود شبکه وارد نماید وجود ندارد. به عبارت دیگر به شبکه گفته نمی شود که خروجی هدف چه است و یا اینکه جواب شبکه چقدر مطلوب است.در این حالت شبکه با دریافت اطلاعات ورودی و شاخص های موجود در ورودی ها ، ارتباط موجود بین الگوهای ورودی را پیدا کند و در خروجی کد کند.
[تصویر: 6.png]
شکل - 6

یادگیری نظارت شده یا با ناظر:
در این نوع اموزش به الگوریتم یادگیری مجموعه ای از زوج داده که به داده های یادکیری موسوم هستند داده می شود.هر داده یادگیری شامل ورودی به شبکه و خروجی هدف است.پس از اعمال ورودی به شبکه خروجی شبکه با خروجی هدف مقایسه میگردد و سپس خطای یادگیری محاسبه شده و از آن جهت تنظیم پارامتر های شبکه(وزن ها) استفاده می گردد به گونه ای که اگر دفعه بعد به شبکه همان ورودی را دادیم خروجی شبکه به خروجی هدف نزیک گردد.
[تصویر: 7.png]
شکل - 7
منبع : همان

[تصویر: emza.png]
You are not allowed to view links. Register or Login to view.
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در پاسخ
02-23-2012,
ارسال: #4
RE: آموزش شبکه های عصبی به همراه بررسی شبکه های پرسپترون و هاپفیلد به همراه سورس کد
چگونگی جداسازی الگوها توسط شبکه عصبی
کلاس بندی به معنای جداسازی چند الگو از یکدیگر است.
فرض کنید یک رباتی داریم که میخواهد دو میوه سیب و موز را از هم جدا کند برای اینکار از محور مختصات دو بعدی استفاده می شود و میوه ها بر اساس رنگ و اندازه در صفحه مختصات قرار می گیرند.
ربات جداکننده میوه بر اساس رنگ و اندازه میوه آن ها را در یک صفحه مختصات ، کلاس بندی می کند ، از این پس ربات مقادیر رنگ و اندازه میوه برداشته شده را در محور مختصات قرار داده تا بفهمد میوه در کدام کلاس باید قرار گیرد
[تصویر: 8.png]
شکل – 8 کلاس بندی

این دو کلاس توسط خطی از یکدیگر جدا شده اند ، برنامه این ربات دیگر نیاز ندارد تمام اندازه الگو های خود را در جایی ذخیره کند بلکه با دانستن سه عدد معین که ظرایب معادله خط در صفحه هستند براحتی می تواند الگو ها را شناسایی کند ، کافی است الگو ها را توسط سنسور های خود اندازه گیری کرده و آن را در معادله خط قرار دهد
در صورتی که فقط ظرایب معادله را در نظر بگیریم برداری بدست می آید که به آن وزنهای شبکه عصبی گفته می شود

X2 + X1 - 0.5 = 0
[w0 w1 w2]=[-0.5 1 1]
هنر یک شبکه عصبی این است که با روش تکرار وزن ها را به دست آورد

منبع: همان

[تصویر: emza.png]
You are not allowed to view links. Register or Login to view.
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در پاسخ
02-23-2012, (آخرین تغییر در این ارسال: 02-23-2012 توسط مهدی ابراهیمی.)
ارسال: #5
RE: آموزش شبکه های عصبی به همراه بررسی شبکه های پرسپترون و هاپفیلد به همراه سورس کد
انواع شبکه های عصبی :
1 – پرسپترون
2 – هاپفیلد
3 – همینگ
4 – کوهنن
5 - شبکه عصبی انتشار رو به عقب
6 - شبکه عصبی کارپنتر و گروسبرگ

پرسپترون :
این نوع شبکه عصبی در حل مساله ها بسیار سریع و قابل اطمینان است . قاعده یادگیری این شبکه تکرار است و وزنهای خود را به شیوه تکرار بدست می آورد . شبکه با کلاس های خطی تربیت می شود.
Yin : مجموع حاصل ضربهای ورودی در وزن
Ѳ: یک عدد کوچک معمولا 0.2 ، کمیت ناحیه ای را نشان می دهد که در آن ناحیه الگوها را نمی توان کلاس بندی کرد .
شبکه می تواند به صورت باینری یا بایپولار تربیت شود.
در حالت باینری اطلاعات مورد پردازش 0 یا 1 می باشد در حالت بایپولار اطلاعات مورد پردازش 1 یا 1- می باشد و
در شکل زیر یک شبکه پرسپترون می بینید که از تابع محرک آستانه ای دو مقداره متقارن استفاده کرده است.
[تصویر: 9.png]
شکل 9 – پرسپترون

مراحل کار الگوریتم :
1. وزنها را با صفر ، α را با 0.1 و Ѳ را با 0.2 مقدار دهی می کنیم.
2. یک حلقه که شرط خاتمه آن عدم تغییر وزن هاست(به ازای n الگوی ورودی باید حداقل یک وزن تغییر کند در غیر این صورت الگوریتم به پایان می رسد)
3. یک حلقه است که به تعداد الگوی ورودی مراحل زیر خود را تکرار می کند.
4. ماتریسی به تعداد n سطر(الگوهای ورودی) و به تعداد m+1 ستون (m تعداد نرون های ورودی)ایجاد می کنیم . بردار فضای هدف(t) را با n عنصر ایجاد میکنیم(هر الگو دارای یک مقدار هدف است)
[تصویر: 10.png]
شکل 10 – ماتریس گیت and به همراه خروجی هدف

تابع تحریک شبکه به صورت زیر است
1 IF yin > Ѳ
Y= 0 IF -Ѳ <= yin <= Ѳ
-1 IF yin < Ѳ

معادله خطوط جداکننده پرسپترون به صورت زیر است
W2x2 + w1x1 + b = ±Ѳ
وزن ها از روش تربیتی زیر استفاده می کنند
Wi(new)=wi(old) + α . t .xi
B(new)=b(old) + α .t
مقدار هدف(مقدار هدف کلاس الگو را مشخص می کند) . αسرعت تربیت است و مقدارش بین 0 و 1 (به یک نزدیک شود سرعت بالا رفته و دقت پایین می آید)

منبع : همان

[تصویر: emza.png]
You are not allowed to view links. Register or Login to view.
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در پاسخ
02-23-2012,
ارسال: #6
RE: آموزش شبکه های عصبی به همراه بررسی شبکه های پرسپترون و هاپفیلد به همراه سورس کد
شبکه هاپفیلد :
شبکه هاپفیلد از معماری بازگشتی استفاده می کند.این شبکه دارای یک لایه از نرون های ورودی به نرون های ورودی است (نرون های ورودی همان نرون های خروجی اند)
در نویزگیری از الگو ها و تبدیل به نمونه اصلی استفاده می شود.

[تصویر: 11.png]
شکل 11 – شبکه هاپفیلد

[تصویر: 12.png]
شکل 12 – برطرف شدن نویز توسط هاپفیلد

در این شبکه الگویی را که برای تربیت انتخاب شده با S و الگوی ناشناس ورودی را با X نمایش می دهیم.

مراحل کار الگوریتم :
1. ورودی را به صورت باینری دریافت کرده و سپس با فرمول زیر آن را به بایپولار تبدیل می کنیم.
Sbipolar = 2S - 1
برای بدست آوردن وزن ماتریس S را در ترانهاده خودش ضرب کرده و مقادیر قطر اصلی آن را صفر می کنیم.
W = Sbipolar * SbipolarT
2. خروجی را معادل ورودی در نظر می گیریم یعنی Y = X .
3. به تعداد نرون های ورودی مرحله بعد انجام شود (حلقه).
4. Yini = xi + ∑ xj . Wji
[تصویر: 13.png]
شکل 13 – خروجی نرون x

5. Y i = 1 yin i >=0
Y i = 0 yin i <0

X=y
Yini = xi + ∑ xj . Wji

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

منبع: همان

[تصویر: emza.png]
You are not allowed to view links. Register or Login to view.
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در پاسخ
02-23-2012,
ارسال: #7
RE: آموزش شبکه های عصبی به همراه بررسی شبکه های پرسپترون و هاپفیلد به همراه سورس کد
این هم سورس کدها:
پسورد:http://www.mojsazan.com



منبع:همان


فایل‌های ضمیمه
.rar  Hopfild.rar (اندازه: 2.58 KB / دانلودها: 1092)

[تصویر: emza.png]
You are not allowed to view links. Register or Login to view.
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در پاسخ
ارسال پاسخ 


موضوعات مشابه ...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  پیاده سازی گیت AND به کمک شبکه عصبی پرسپترون در متلب مهدی ابراهیمی 2 1,619 04-16-2014
آخرین ارسال: PRIM
  کاربرد شبکه های عصبی در پردازش تصویر اسماعیل 3 891 02-28-2014
آخرین ارسال: مهدی ابراهیمی
  مقدمه ای بر شبکه های عصبی(Neural Network) مهدی ابراهیمی 9 5,878 12-27-2013
آخرین ارسال: e21_tex
Smile نرخ آموزش ( learning rate ) چیست؟ mina5184 1 361 12-11-2013
آخرین ارسال: مهدی ابراهیمی
  آموزش شبکه عصبی در متلب به همراه پیاده سازی پرسپترون و ادالاین مهدی ابراهیمی 2 5,174 04-16-2013
آخرین ارسال: مهدی ابراهیمی
  درخواست کد هاپفیلد amirm91 0 710 08-16-2012
آخرین ارسال: amirm91
  تخمین تابع بوسیله شبکه عصبی در Matlab soroush 0 2,055 06-27-2012
آخرین ارسال: soroush
  دانلود کتاب مرجع شبکه های عصبی هاگان مهدی ابراهیمی 0 6,001 02-21-2012
آخرین ارسال: مهدی ابراهیمی
Thumbs Down شبکه عصبی هاپفیلد memole mehrabun 12 8,196 12-27-2011
آخرین ارسال: مهرداد عباسی

پرش در انجمن: