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

با تشکر

دسته بندی ها

0 امتیاز

سلام
من سه عدد صدا دارم با طول یکسان اومدم spectrogram ساختم به صورت سه لایه تصویر (RGB)
لایه ها ساختارن یکی هستن ولی روی هم نمیفتن که یک کرنل بتونه مفهومشون رو در بیاره(جدا جدا معنی دار هستن و در نهایت جمع بندی هر سه)
باید کرنل جدا برای هر لایه تصویر زده بشه و در نهایت نظرات concat بشه
1- چه معماری یا چه راهکاری رو پیشنهاد میدید که بشه کرنل جدا زد برای هر لایه تصویر؟ آیا اصلا لازمه؟
2- point wise بهتره یا depth wise ?
3- چون ساختار تایم سری داره و هر لایه یه تایم سری جدا هست، ولی مفهوم هر سه یک چیز رو میرسونه، چطور شبکه رو بسازم بهتره که هرکدوم رو جدا آنالیز کنه و نتیجه ها یکی بشن؟ یا هر کدوم رو یه timestep بگیرم؟
با تشکر

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

1 پاسخ

+1 امتیاز
 
بهترین پاسخ

سلام
برای این ایده اگه این 3 تا کانال جدا وارد می شن می تونید3 تا input برای شبکه در نظر بگیرید و هر input یه سری کار روش انجام بشه بعدا یه جایی با هم concat بشن
این ایده همون چیزیه که توی کراس بهش می گه مدلهای multi input و توی مثالهاش هم هست
البته میشه کلا به همون صورت RGB بدیم به شبکه و توی خوده شبکه هر کانال رو جدا کنیم و مسیرهاشون رو جدا کنیم که از نظر پیاده سازی خیلی سختتر از روش اول نیس

1 - روش بالا رو پیاده کنید همه چیز کار می کنه و نیاز به ساختار ویژه ای نیست(از نظر تکنیکال). اما مثلا می تونید بگید هر مسیر از بلوکهای resnet استفاده می کنه یا مثلا از ایده های ساختار VGGish استفاده کنید و ..... خلاصه که دستتون حسابی بازه

2 - در صورتی که از این ایده استفاده کنید که اول شبکه 3 تا مسیر متفاوت برای هر کانال طی بشه، این تصمیم هم مثل بقیه شبکه ها میشه. یعنی مثلا شاید براتون زمان و حجم پارامترها هم مهم باشه بگید من از depthwise استفاده میکنم، یا اینکه اصلا مهم نباشه و همون convolution معمولی هم کارتون رو راه بندازه. خلاصه که باز اینم چیزی نیس که مثلا از قبل بشه 100 درصدی گفت حتما خوبه یا نه. البته اگه بحث سرعت یا تعداد پارامترها باشه یه بحث دیگس

3 - کلا اینجا هم مجبوریم بگیم که بستگی به مساله داره D: .
انتخابها هم خیلی زیاده، مثلا اینطوری برید جلو که کلا فعلا بی خیاله تایم سری بودن بشید و مثل ایده استفاده از CNN برای پردازش متن برخورد کنید
یا اینکه یه تیکه شبکه convolution باشه (مثلا همون اول که داره هر کانال رو پردازش می کنه)، بعد همه ترکیب بشن و یه تیکه شبکه تون RNN باشه یا اینکه کلا این 3 تا برن توی 3 تا RNN و بعد نتایج اونا ترکیب بشن و ...

اما نظر شخصی رو بخوای، بهتره تا میشه اول کار ساختار یه چیزه ساده و قابل فهم باشه. مثلا میگیم VGGish برای صدا خوب بوده. پس بیایم پایه کار رو بر اساس اون بذاریم و اگه میشه همونو مستقیم تست کرد ببینیم چه نتیجه ای میده
بعد مثلا این ایده 3 تا کانال رو پیدا کنیم و برای VGGish سه تا ورودی و 3 تا مسیر ابتدایی در نظر بگیریم که وسط شبکه ترکیب می شن و ....
نکته دیگشم اینجاس که خیلی وقتا این انتخابا، مثل اینکه لایه کانولوشن pointwise باشه یا depthwise باشه یا اصلا deformable باشه و ...، واقعا تاثیر چشم گیری نداره و همون کانولوشن معمولی هم اگه خوب tune بشه خیلی خوب جواب بده. برای همین ایده خوبیه که با یه ساختار کلی که می دونیم توی مسائل شبیه کاره ما خوب جواب دادن شروع کرد و کم کم تغییرش داد

توسط (1.6k امتیاز)
انتخاب شده توسط
سلام
اگر هر کانال تصویر رو بدم به یه بخش و در نهایت concat کنم
آیا share کردن وزن ها بین این سه بخش کار درستی هست ؟ (چون هر سه دارن تصویر با ساختار یکسان ولی متفاوت رو میبینن)
وزن های conv هارو تنها شیر کنم یا conv o dense با هم ؟
...