شرکت دیده رایان صنعتی اصفهان (درصا)|info@dorsa-co.ir
//آموزش با شبکه عصبی

آموزش با شبکه عصبی

شبکه عصبی مصنوعی، الگویی برای طبقه‌بندی اطلاعات می‌باشد که با الگو گرفتن از شبکه‌های عصبی مغز انسان ساخته شده‌اند. عنصر کلیدی این الگو ساختار جدید سیستم پردازش اطلاعات آن می‌باشد. شبکه‌های عصبی از تعدادی واحد به نام نرون که در لایه‌های مختلفی قرار گرفته‌اند تشکیل شده‌است.
شبکه‌های عصبی انواع مختلفی دارد که میتوان رایجترین آنها را شبکه عصبی پرسپترون دانست. در ابتدا شبکه‌های عصبی به صورت تک لایه بودند. از آنجاکه اینگونه شبکه‌ها قادر به حل مسائل غیر‌خطی نبودند، میل به استفاده از آنها کاهش یافته بود. از جمله این مسائل می‌توان به XOR اشاره کرد.

در سال ۱۹۸۶ روملهارت با ابداع شبکه‌های عصبی چند لایه و نحوه آموزش آنها، میل و گرایش به استفاده از شبکه‌های عصبی برای حل مسائل پیچیده و جدید را افزایش داد. این روش که پس انتشار خطا نام داشت یک روش کاهش گرادیان برای حداقل کردن مجموع مربعات خطا از خروجی‌های محاسبه شده توسط شبکه می‌باشد.
شبکه عصبی پرسپترون چندلایه دارای یک لایه ورودی، یک لایه خروجی و یک یا چند لایه مخفی می‌باشد. اثبات شده‌است که هر مسئله‌ای را میتوان با شبکه‌عصبی دارای سه لایه و با تعداد کافی نرون حل کرد. اما در صورت افزایش لایه‌ها مجموع تعداد نرون‌های لازم کاهش می‌یابد.
در شبکه‌های عصبی پیش‌‌خور، تمامی نرون‌ها به غیر از نرون‌های لایه ورودی دارای یک بایاس می‌باشند.
معادلات زیر نشان‌دهنده روابط پارامترها بین لایه ورودی و لایه مخفی است.
net_j=∑_(i=1)^d〖x_i w_ji+w_j0=∑_(i=0)^d〖x_i w_ji=W_j^t X〗〗

y_j=f(net_j )

که درآن i نمایانگر شماره نرون لایه ورودی، j نمایانگر شماره نرون در لایه مخفی و w_ji معرف وزن بین نرون i‌ام در لایه ورودی و نرون j‌ام در لایه مخفی است. همچنین w_j0 مقدار بایاس نرون j‌ام می‌باشد. خروجی هر نرون در لایه مخفی برابر با y_j می‌باشد که از اعمال یک تابع غیر خطی بر روی net_j حاصل می‌شود.
هرچند‌که خروجی هر نرون بی‌اثر به نظر می‌رسد ولی زمانی که تمامی خروجی نرون‌ها محاسبه شده و با یکدیگر ترکیب می‌شوند، قدرت این سیستم دیده می‌شود.
معادلات زیر نشانگر روابط موجود بین پارامترهای لایه مخفی و لایه خروجی است.
net_k=∑_(j=1)^(n_H)〖y_j w_kj+w_k0=∑_(j=0)^(n_H)〖y_j w_kj=W_k^t Y〗〗
z_k=f(net_k )

که درآن j نمایانگر شماره نرون لایه مخفی، kنمایانگر شماره نرون در لایه خروجی و w_kj معرف وزن بین نرون j‌ام در لایه ورودی ونرون k‌ام در لایه مخفی است. همچنین w_k0 مقدار بایاس نرون k‌ام می‌باشد. خروجی هر نرون در لایه خروجی برابر با z_k می‌باشد که از اعمال یک تابع غیر خطی بر روی net_k حاصل می‌شود.

به منظور محاسبه خطای شبکه، اکر فرض کنیم که t_k ، به ازای k=1,…,c ، kامین خروجی مطلوب و z_k ، kامین خروجی محاسبه شده باشد و W نشانگر کلیه وزن‌های شبکه باشد، خطای مرحله آموزش به صورت زیر است:
(‏۲ ۴۰)
J(W)=1/2 ∑_(k=1)^c〖(t_k-z_k )^2=1/2 |t-z|^2 〗

از آنجا که روش پس انتشار بر اساس کاهش گرادیان عمل می‌کند، وزن‌ها در مسیر کاهش گرادین خطا تغییر می‌کنند.
ΔW=-η ∂J/∂w
در این معادله که مبین تغییرات وزن‌ها به منظور به‌روز‌‌رسانی آنها می‌باشد، η نشانگر نرخ آموزش می‌باشد.به منظور به‌روز‌رسانی وزنها از رابطه زیر استفاده می‌شود.
W(m+1)=W(m)+ΔW
نرخ تغییرات خطا نسبت به تغییرات وزن از رابطه زیر به‌دست می‌آید.
∂J/(∂w_kj )=∂J/(∂〖net〗_k ). (∂net_k)/(∂w_kj )=-σ_k (∂net_k)/(∂w_kj )

پارامتر σ_k حساسیت نرون kام را نشان می‌دهد که به صورت زیر قابل تعریف می‌باشد.
σ_k=-∂J/(∂〖net〗_k )=∂J/(∂z_k ).(∂z_k)/(∂〖net〗_k )=(t_k-z_k ) f^’ (net_k)
برای محاسبه ∂J/(∂w_kj ) نیاز به محاسبه (∂net_k)/(∂w_kj ) می‌باشد.
(∂net_k)/(∂w_kj )=y_j
بنابرین
Δw_kj=ησ_k y_j=η(t_k-z_k ) f^’ (net_k ) y_j
همچنین برای نرخ تغییرات خطا نسبت به تغییرات وزن لایه ورودی به لایه مخفی w_ji داریم:

∂J/(∂w_ji )=∂J/(∂y_j ).(∂y_j)/(∂net_j ).(∂net_j)/(∂w_ji )

∂J/(∂y_j )=∂/(∂y_j ) [1/2 ∑_(k=1)^c(t_k-z_k )^2 ]=-∑_(k=1)^c(t_k-z_k )^2 (∂z_k)/(∂y_j )=-∑_(k=1)^c〖(t_k-z_k ) (∂z_k)/(∂net_k ) (∂net_k)/(∂y_j )=-∑_(k=1)^c〖(t_k-z_k ) f^’ (net_k ) w_kj 〗〗

σ_j≡f^’ (net_j)∑_(k=1)^c〖w_kj σ_k 〗

Δw_ji=ηx_i σ_j=η[Σw_kj σ_k ] f^’ (net_j ) x_i

به طور کلی می‌توان یکی از دو الگوریتم زیر را برای این منظور در نظر گرفت.
Begin
Initialize nH; W, criterion θ,η,m←۰
do m←m+1
Xm ←randomly chosen pattern
W_ji←W_ji+ησ_j x_i;W_kj←W_kj+ησ_k y_j
until ||ΔJ(w)||<θ
return w
end
Begin
initialize network topology (# hidden unit),w, criterion θ,η ,r ←۰
do r←r+1 (increment epoch)
m←۰; Δw_ij←۰;Δw_jk←۰
do m←m+1
x^m←sellect pattern
Δw_ij←Δw_ij+ησx_i; Δw_jk←Δw_jk+ησ_k y_j
until m=n
w_ij←w_ij+Δw_ij; w_jk←w_jk+Δw_jk
until ΔJ(w)<θ
return w
end

۱۳۹۸-۷-۱۵ ۱۴:۵۰:۲۷ +۰۰:۰۰
ارسال پیام
نام و نام خانوادگی
آدرس ایمیل
شماره تماس
نام شرکت
اطلاعات تماس
پیام
اصفهان، شهرک علمی و تحقیقاتی اصفهان، ساختمان شیخ بهایی
33931171(031)
info@dorsa-co.ir
دریافت کاتالوگ
لطفا اطلاعات خود را جهت دریافت کاتالوگ ارسال فرمایید
جهت دریافت کاتالوگ روی لینک زیر کلیک کنید
دانلود کاتالوگ
ارسال پیام
نام و نام خانوادگی
آدرس ایمیل
شماره تماس
نام شرکت
اطلاعات تماس
پیام
اصفهان، شهرک علمی و تحقیقاتی اصفهان، ساختمان شیخ بهایی
33931171(031)
info@dorsa-co.ir
دریافت کاتالوگ
لطفا اطلاعات خود را جهت دریافت کاتالوگ ارسال فرمایید
ارسال پیام
نام و نام خانوادگی
آدرس ایمیل
شماره تماس
نام شرکت
اطلاعات تماس
پیام
اصفهان، شهرک علمی و تحقیقاتی اصفهان، ساختمان شیخ بهایی
33931171(031)
info@dorsa-co.ir
دریافت کاتالوگ
لطفا اطلاعات خود را جهت دریافت کاتالوگ ارسال فرمایید
جهت دریافت کاتالوگ روی لینک زیر کلیک کنید
دانلود کاتالوگ
ارسال پیام
نام و نام خانوادگی
آدرس ایمیل
شماره تماس
نام شرکت
اطلاعات تماس
پیام
اصفهان، شهرک علمی و تحقیقاتی اصفهان، ساختمان شیخ بهایی
33931171(031)
info@dorsa-co.ir
دریافت کاتالوگ
لطفا اطلاعات خود را جهت دریافت کاتالوگ ارسال فرمایید