Master. 42 اشتراک گذاری ارسال شده در 15 شهریور، ۱۳۹۴ سلام وقت همه شما بخیر من تازه شبکه های عصبی رو شروع کردم و این اولین برنامه آزمایشی من هست . یک شبکه XOR که بوسیله backpropagation خودشو تصحیح میکنه و خروجی درست رو باید بده . من کد متلب زیر رو نوشتم اما جواب نمیگیرم . انگار هیچی آپدیت نمیشه ! ممنون میشم یکی راهنمایی کنه مشکل من از کجاست برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام یه توضیح هم بدم در مورد فرمول ها : فرمولها همون فرمولهای معمولی بک پراپگیشن هستن (من از کتاب هاگان گرفتم که اینجا هم آپلودکردم برای محاسبه وزن و بایاس های جدید از لایه آخر به این صورت عمل میکنیم اول باید حساسیت رو حساب کنیم حساسیت لایه آخر از ضرب مشتق تابع تبدیل در ارور بوجود اومده بدست میاد بعد باید اختلاف وزن جدید (دلتا) رو بدست بیاریم که میشه وزن قدیمی لایه آخر منهای (نرخ یادگیری ضربدر حساسیت لایه آخر* ورودی از لایه قبل ) برای نورونهای موجود تو لایه مخفی هم تقریبا مثل بالاست با این تفاوت که حساسیت = مشتق تابع تبدیل ضربدر حساسیت لایه بعدی ضربدر وزن لایه بعدی برای وزن هم میشه مثل بالا ----------------- نحوه کار منم اینه که اول یه حلقه کلی داریم که یه شمارنده داره مثلا گفتم این کار رو 10 بار تکرار کن . (iteration ماست مثلا) بعد تو حلقه دوم گفتم به تعداد سطرهای ماتریس sample ما که 4 تا هست بیا و این کارا رو انجام بده (این sample همون training set ما هست مثلا) تو حلقه بعدی اومدم اطلاعات مربوط به نورونهای لایه اول رو حساب کردم (یعنی ورودی در وزن اونها + بایاس اونها و نهایتا محاسبه خروجی تابع تبدیل اونها ) و نتیجه رو گذاشتم تو یه وکتور 2 ستونی . ستون اول مال نورون اول و ستون دوم مال نورون دوم ) زیرش لایه آخر که یک نورون هم بیشتر نداره حساب کردم و خروجیش رو گفتم بذار a3 . خب تا اینجا feedforward تموم شد . الان نوبت back-propagation هست . اول اومدم error لایه آخر رو حساب کردم که میشه خروجی شبکه منهای جواب مورد نظر ما (که از وکتور ستونی target میگیریم) حالا باید گرادیانت محلی (همون حساسیت ) لایه آخر رو حساب کنیم که این میشه مشتق تابع تبدیلش ضرب در ارور بدست اومده از مرحله قبل بعدش نوبت محاسبه دلتا هست که میشه ضرب نرخ یادگیری در گرادیانت محلی در ورودی های نورون لایه آخر حالا دلتا حساب شد اونو کم میکنیم از وزنی که قراره آپدیت بشه . همین کارم با بایاسش میکنیم . خب لایه آخر کارش تموم شد حالا نوبت لایه قبلش هست . اونم مثل قبل حساسیتش رو حساب میکنیم (همون گرادیانت محلیش ) که فقط فرقش اینه که مشتق این ضرب در گرادیانت محلی لایه بعد * وزن یالهای لایه بعد هست که به این لایه وصل هستن ) دلتا هم مثل قبل حساب میشه وزن و بایاس هم بروز میشه حالا تموم میشه و وزنها و بایاس ها باید آپدیت شده باشن تو دور بعدی دوباره همین مراحل تکرار میشن اما این بار با وزنها و بایاس های بروز شده . و این تا زمانی که خطای ما 0 بشه و یا تعداد تکرارهای ما تموم بشه ادامه پیدا میکنه -------------- مشکل هم اینجاست که هیچ اتفاقی نمی افته اصلا ! و داده ها همون هستن که قبلا بودن! انگار هیچی نمیشه ! 3 لینک به دیدگاه
elmiramohammadi 596 اشتراک گذاری ارسال شده در 15 شهریور، ۱۳۹۴ در اول اینکه نحوه ی تعریف متغیر ها اشتباه است.... اول اینکه i=0 را قبل از حلقه while بزار تا درست کار کند بعد مگه شما نگفتید که وقتی error به صفر رسید باید متوقف شود پس چرا شرطت گویای این حرفت نیست؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ شرط باید به صورت زیر باشه i در ضمن بنظر بنده i باید قبل از end آخر باشد نه قبل از دو end آخر 3 لینک به دیدگاه
Master. 42 مالک اشتراک گذاری ارسال شده در 16 شهریور، ۱۳۹۴ در اول اینکه نحوه ی تعریف متغیر ها اشتباه است....اول اینکه i=0 را قبل از حلقه while بزار تا درست کار کند بعد مگه شما نگفتید که وقتی error به صفر رسید باید متوقف شود پس چرا شرطت گویای این حرفت نیست؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ شرط باید به صورت زیر باشه i در ضمن بنظر بنده i باید قبل از end آخر باشد نه قبل از دو end آخر سلام خیلی ممنونم بله حق باشماست اصلا حواسم نبود دیگه انقدر تغییر داده بودم بخشای مختلفش رو یادم رفته بود اینودرست کنم چیزایی که گفتید رو انجام دادم اما باز هیچ تغییری نکرد . نه خروجی تغییری کرد نه وزنها و بایاسها هیچکدوم آپدیت شدن!!! برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام این هم ورژنی که بایاس رو در قالب وزن در نظر گرفتم : برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام این هم ورژن بدون بایاس : برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام 2 لینک به دیدگاه
Master. 42 مالک اشتراک گذاری ارسال شده در 17 شهریور، ۱۳۹۴ کسی نیست یه کمکی بما بکنه ؟ ! 1 لینک به دیدگاه
ارسال های توصیه شده