به بخش پرسش و پاسخ یادگیری عمیق خوش آمدید,
این نسخه آزمایشی سایت است.
لطفا به نکات زیر توجه کنید:
  • برای ارتباط با مدیران میتوانید از صفحه مدیران اقدام کنید.
  • سوال و جواب ها باید به زبان فارسی باشند. استفاده از زبان انگلیسی یا فینگلیش برای پاسخ دادن مجاز نیست.
  • لطفا بعد از پرسش سوال لینک سوال خود را در گرو تلگرام (Iran Deep Learning Group) معرفی کنید تا سریعتر به جواب برسید. برای دسترسی به آخرین لینک از منابع یادگیری استفاده کنید
  • لطفا بجای عکس از متن استفاده کنید. اگر متون طولانی هستند از سایت pastebin.com برای اپلود استفاده کرده و لینک حاصل را در سوال خود قرار دهید. برای قرار دادن تصویر ، از بخش ارسال تصویر ادیتور سایت استفاده کنید.
  • بعد از دریافت پاسخ، بهترین پاسخ را از طریق کلیک بر روی علامت تیک انتخاب کنید
  • اگر با خطا و یا مشکلی مواجه شدید از بخش تماس با ما در انتهای صفحه و یا ایمیل Coderx7@gmail.com موضوع را اطلاع دهید.

با تشکر

دسته بندی ها

0 امتیاز

سلام دوستان
من زمانی که تابع fit رو فراخوانی میکنم با خطای زیر مواجه میشم

Error when checking model target: expected dense_105 to have shape (None, 20) but got array with shape (25192, 1)

کد برنامه هم به صورت زیر هست، در واقع سوال من این هست که چطور میتونم اتوانکدر رو به صورت با ناظر اموزش بدم(این رو هم میدونم که اتوانکدرها به صورت بدون ناظر ترین میشوند و در لایه های پنهان ویژگی ها رو یاد می گیرند) در واقع میخوام بدونم چطور ویژگی ها لایه های پنهان رو به به softmax بدم در شرایطی که مساله دو کلاسه هست ،و چطور از تابع fit با y_train استفاده کنم.(خیلی در این زمینه سرچ کردم ولی کد کراسی که از این روش استفاده کرده باشه پیدا نکردم)

توسط (105 امتیاز)
ویرایش شده توسط

1 پاسخ

+2 امتیاز

سلام

این مقاله از وبلاگ خوده keras ه در مورد auto encoder ها. قدم به قدم همه چیز رو توضیح داده

https://blog.keras.io/building-autoencoders-in-keras.html

منظورتون رو هم در مورد آموزش با نظارت auto encoder خیلی متوجه نشدم، یعنی در فازی که دارید یاد میگیرید ورودی رو بسازید می خواید آموزش با نظارت باشه؟ یه جور دیگه یعنی می خواید علاوه بر خود x که ورودی و باید به عنوان خروجی تولید بشه یه سیگنال آموزشی دیگه هم وجود داشته باشه؟ شبیه مدلهای conditional؟
در حالت ساده و توی classification اول همین طوری بدون نظارت شبکه رو آموزش می دید و بعدش یه softmax به قسمت encoder اضافه می کنید و کل شبکه رو با داده های برچسب دار finetune می کنید
یعنی آموزش دو مرحله میشه اما شما می خواستید با کدتون هر دو تا مرحله رو یکی کنید، چون خیلی چیزا قاطی شده مثلا آخر encoder از softmax استفاده کردید(چرا واقعا؟؟؟)، اما آخرش شبکه یه sigmoid داره که برچسب رو بگه چیه
اون پست از keras خیلی می تونه کمکتون کنه در این زمینه

توسط (1.6k امتیاز)
خوب وقتی لایه ی softmax رو به انتهای اتوانکدر اضافه میکنم و ترین رو انجام میدم به لحاظ ابعاد خطا میده
تصویر اپلود شده در بالا رو ببینید من میخوام از اتوانکدر به این صورت استفاده کنم ولی روش کار رو دقیق نمیدونم ،این که چطور در مرحله ی دوم داده های برچسب دار رو به عنوان ورودی به اتوانکدر میده؟
برای پیاده سازی تصویری که گذاشتید باید در چند مرحله شبکه رو آموزش بدید
یعنی اول به صورت autoencoder و بعدش decoder رو بذارید کنید و از softmax استفاده کنید
یعنی اول همین کدی که دارید باید خروجی آخرین لایه decoder مثلا خطی باشه و برچسب هم همون وردی(یا ورودی + نویز) باشه و با خطای l2 شبکه رو آموزش بدید

بعد همین شبکه رو بردارید و یه لایه softmax یا سیگموید(اگه 2 کلاس دارید)، به آخرین لایه encoder اضافه کنید و این بار با برچسب کلاسهاتون آموزش بدید(با cross entropy loss)

کدهایی که ملت اینجا گذاشتن رو ببینید، خیلی کمکتون می کنه
https://github.com/fchollet/keras/issues/358
...