Telegram Web
مشکل stable نبودن و روشهای یادگیری عمیق تقویتی - بخش دوم

در روشهای پایه ای برای یادگیری تقویتی، به این شکل کار می کنیم که یک جدولی تشکیل می دهیم و به صورت ساده انگارانه، سطرها وضعیت یا state و ستون ها action هایی هستند که در آن state می توان انجام داد. به صورت کلی این روشها قابلیت تعمیم ندارند. از سویی دیگر، در جاهایی که فضای حالت خیلی بزرگ است، تعداد state ها خیلی زیاد می شوند و خیلی از ورودی های جدول تشکیل شده یا Q table، خالی می مانند. یک راه حل جایگزین استفاده از شبکه های عصبی است. به این صورت که به عنوان ورودی به شبکه state را بدهیم و شبکه به دلیل قدرت تعمیمی که می تواند داشته باشد، می تواند بهتر از حالت جدولی کار کند که برای داده های ندیده، حرفی برای گفتن نداشت. با این حال یکسری چالش باقی است که باعث می شوند با احتیاط به سمت شبکه های عصبی برویم. پیش از این ذکر کرده بودیم که شبکه ها نیاز به داده ها iid دارند، این در حالی است که داده های مسائلی که با تقویتی حل می شوند، ذات وابستگی دارند. راه کارهای زیادی ارایه شده اند که سعی می کنیم به کلیت این کارها اشاره کنیم.

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

(ادامه دارد)
ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
#نکته_آموزشی #یادگیری_عمیق #یادگیری_عمیق_تقویتی #یادگیری_تقویتی
ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
🌳 پشتیبانی | 🌺 کانال | 🌴 سایت
بسمه تعالی

توضیحات در خصوص مسابقه پایان نامه سه دقیقه ای: سایت رویداد https://roytab.ir/3mtAmirkabir

ویژه فارغ التحصیلان تحصیلات تکمیلی با تاریخ دفاع از سال 96 تا مهرماه 1400 ویژه دانشجویان تحصیلات تکمیلی که تا پایان آبان ماه 1400 پروپوزال خود را به تصویب رساندند.

مهلت ثبت نام تا 15 بهمن ماه تمدید شد.

ارسال مشخصات فردی و چکیده پایان نامه/ پروپوزال تصویب شده به ایمیل: [email protected]

ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
#اطلاع_رسانی #مسابقه
ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
🌳 پشتیبانی | 🌺 کانال | 🌴 سایت
مشکل stable نبودن و روشهای یادگیری عمیق تقویتی - بخش سوم

مورد بعدی که نیاز است چالشش را حل کنیم، داده های آموزشی هستند که هر کدام دنباله ای از state, action و reward ها هستند. در literature به صورت کلی سه راه حل وجود دارد، یکی روشهای value based یا ارزش محور، دیگری روشهای policy based و در انتها روشهایی که با نام actor-critic شناخته می شوند و از ادغام دو روش قبل بدست می آیند. البته گونه دیگری نیز وجود دارد با نام model based که بدلیل تفاوت ماهوی با روشهای ذکر شده، به آن نمی پردازیم.

در روشهای مبتنی بر value، دادگان راه حل های متفاوت را در کنار هم قرار می دهیم و به هم میریزیم. این موضوع برای هر ('s, a, r, s) صادق است. یعنی گامهای متفاوت بازیهای متفاوت به هم ریخته می شوند. در ادامه این دادگان را در صفی قرار می دهیم که امکان اضافه کردن و جدا کردن دادگان جدید و قدیم را دارد. به این شکل خاصیت iid را به نحوی به دست می آوریم. برچسبها را هم با روشی که ذکر شد می توان ساخت. با اینکارها روشهای مبتنی بر تابع ارزش، پایداری نسبتا مناسبی دارند.

در روشهای مبتنی بر policy به صورت کلی و به صورت ساده انگارانه به دنبال برچسب نیستیم و تنها می خواهیم action ای که در state ای reward خوبی گرفته را تقویت کنیم و حرکتی که پاداش کم گرفته را تضعیف کنیم. روشهای مبتنی بر تابع سیاست، دادگانشان لازم است بسته به نوع روش هر چند وقت یکبار کلا تغییر کنند. با این حال مزیت این روش در قیاس با روشهای مبتنی به تابع ارزش این است که می توان یکسری باند بدست آورد که حالت ناپایداری به وجود نیاید.

در انتها، در روشهای مبتنی بر actor-critic یا AC به دنبال این هستیم که از نقاط قوت policy based و value based استفاده کنیم.

ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
#نکته_آموزشی #یادگیری_عمیق #یادگیری_عمیق_تقویتی #یادگیری_تقویتی
ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
🌳 پشتیبانی | 🌺 کانال | 🌴 سایت
ترنزفرمرها versus شبکه های بازگشتی - قسمت اول

برای سالها، شبکه های عصبی بازگشتی، راه حل متخصصین حوزه شبکه های عصبی برای دادگان temporal بود که به صورت sequential بودند. ایده اولیه، استفاده از شبکه های ساده عصبی بود که در time step های پشت سر هم، stepهای ورودی در کنار حاصل محاسبات مراحل قبل را به عنوان ورودی قبول کنند. ولی بدلیل مشکلات این شبکه ها، مدلهای مبتنی بر حافظه نظیر LSTM ها و extensionهایش ارایه شدند. با این حال، شبکه های بازگشتی به صورت کلی ضعفهایی دارند که به تعدادی از آنها اشاره می کنیم.
- تعداد محاسبات این شبکه ها بالاست. حتما در کدها دیده اید که تعداد LSTM Cell ها به ندرت عددی بیشتر از 512 است. علت زیاد بودن محاسبات این است که یکسری کار تکراری باید مدام برای فقط یک داده انجام شد که ماهیت سری زمانی دارد و این کارها را نمی توان به صورت موازی پیش برد؛ زیرا این شبکه از مرحله زمانی قبل نیاز به اطلاعات دارد.
- فرآیند آموزش طولانی است. به این دلیل که ترتیب در داده ها مهم است، شبکه باید ترتیب را لحاظ کند. این مسئله سبب می شود که اگر forward و backward pass را باز کنیم، با دنباله های بسیار طولانی از عملیات روبه رو شویم که قابلیت موازی سازی را هم ندارند. به همین دلیل، خیلی ها به فکر عمیق کردن LSTM ها نمی افتند.
- این شبکه ها در به خاطر سپردن چند چیز به صورت همزمان مشکل دارند.

(ادامه دارد)
ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
#نکته_آموزشی #یادگیری_عمیق #transformer #ترنزفرمر #LSTM #شبکه_بازگشتی #RNN
ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
🌳 پشتیبانی | 🌺 کانال | 🌴 سایت
ترنزفرمرها versus شبکه های بازگشتی - قسمت دوم

در literature برای اینکه تقریبا سعی شود از مشکلات RNN ها عبور کرد، مدل های مبتنی بر Attention ارایه شدند. در این مدلها سعی شده تا با کمک مفهوم weight sharing که در CNN ها قبلا جواب پس داده، در زمینه داده های temporal کار کرد. با همین ایده ساده weight sharing و ضرب داخلی که میزان شباهت را بیان می کند، انقلابی در NLP و تسکهای مربوط به دادگان temporal ایجاد شد.

شاید تا به امروز مقالات مربوط به attention را پیاده سازی کرده باشید، و تعجب کرده باشید که چرا ماتریس وزن را روی قسمت های ورودی به نوعی حرکت می دهیم. اگر با دید MLP ها نگاه کنیم، این کار کمی عجیب است. با این حال، همانطور که ذکر شد، ایده این کار از weight sharing می آید. با کمک weight sharing می توان موازی سازی داشت، و ساختارهای مشابه تکرار شونده در طول سیگنال ورودی را می توان به راحتی پیدا کرد.

(پایان)
ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
#نکته_آموزشی #یادگیری_عمیق #transformer #ترنزفرمر #LSTM #شبکه_بازگشتی #RNN
ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
🌳 پشتیبانی | 🌺 کانال | 🌴 سایت
Media is too big
VIEW IN TELEGRAM
در این ویدیو دکتر Ng (بخوانید این نه اِن جی) در مورد کارهایی که پیش از پروژه tensorflow در google انجام داده شده، صحبت می کنند؛ همچنین، ایشان نظریه پرداز استفاده از GPU برای یادگیری عمیق بودند که بوسیله Ian Goodfellow محقق شد که در اینباره نیز صحبتهایی می کنند.

ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
#یادگیری_عمیق #بزرگان #tensorflow #ویدیو #andrew_ng
ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
🌳 پشتیبانی | 🌺 کانال | 🌴 سایت
ایده Transformerها و Embeddingها - بخش اول

پیش از این به ایده ترنزفرمرها اشاره کرده بودیم. در این سلسله نوشتار قصد بیان این موضوع را داریم که چرا ترنزفرمرها ساختار بسیار مناسبی برای مسائل مربوط به پردازش زبان طبیعی هستند. اشاره کرده بودیم که ایده اصلی در ترنزفرمرها روی weight sharing و ضرب داخلی بنا شده است. این ساختار سبب می شد که این مدلها ساختار مناسبی برای موازی سازی باشند و ضعف ذاتی شبکه های بازگشتی را نداشته باشند؛ با این حال، یک موضوع دیگری که در این شبکه ها وجود دارد، بعد از انجام ضرب داخلی خود را نشان می دهد. تصور کنید که تعامل (interaction) یک کلمه با سایر کلمات را پیدا کرده اید و می خواهید مقدار نهایی را بدست آورید. به این صورت است که با توجه به وزنهایی که برای کلمات مختلف بعد از ضرب کردن بدست آورده اید، تمامی کلمات شرکت داده می شوند. بعضی ها خیلی کم، بعضی ها کم و بعضی زیاد. ما برای هر کلمه لازم است تعاملات را بدست آوریم و یک بردار نهایی حاصل کنیم؛ به عبارتی دیگر، سعی می کنیم برای هر کلمه یک word embedding جدید با توجه به context پیدا کنیم؛ یعنی اگر از میانه، شبکه را نگاه کنیم، embedding بدست آمده برای هر کلمه دیگر ثابت نیست، برخلاف روشهایی مثل word2vec، و بردار حاصل برای هر کلمه با توجه به کلمات اطرافش بدست می آید.

(ادامه دارد)
ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
#نکته_آموزشی #یادگیری_عمیق #transformer #ترنزفرمر #NLP #پردازش_زبان_طبیعی
ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
🌳 پشتیبانی | 🌺 کانال | 🌴 سایت
ایده Transformerها و Embeddingها - بخش دوم

چرا این موضوع اهمیت دارد؟ پاسخ به یک موضوع زبان شناختی باز می گردد. در زبانهای انسانی، ممکن است کلمات، شکل ظاهری یکسان داشته باشند ولی با توجه به context مفهوم متفاوتی داشته باشند. دو جمله پایین را در نظر بگیرید:

- علی شیر آب را بست.
- علی از شیر نمی ترسد.

در هر دو جمله از کلمه شیر استفاده شده است ولی می دانیم که معانی متفاوتی دارند؛ با این حال، در روشهایی مثل word2vec بردار هر دو شیر یکسان است ولی در روشهای مربوط به ترنزفرمر، پس از اعمال محاسبات، بردار شیر اول لزوما مثل شیر دوم نخواهد بود و هر کدام از بردارها با توجه به context استخراج می شوند.

پیدا کردن تعاملات به این شکل یک مزیت دیگر هم دارد. چرا برای هر کلمه فقط یک بردار پیدا کنیم؟ شاید کلمات وابستگی ها و تعاملات متفاوتی داشته باشند. در جمله اول با کمک شیر، بستن و آب یک انسان متوجه می شود که منظور شیر جنگل نیست. با این حال ممکن است بخواهیم علاوه بر این موضوع تعاملات دیگری را نیز "نهفته" کنیم؛ برای مثال، مطابقت فعل و فاعل. اینجاست که بحث داشتن multi head پیش می آید و می توانیم چند embedding برای هر کلمه پیدا کنیم تا تعاملات متفاوت را پیدا کنیم.

(پایان)
ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
#نکته_آموزشی #یادگیری_عمیق #transformer #ترنزفرمر #NLP #پردازش_زبان_طبیعی
ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
🌳 پشتیبانی | 🌺 کانال | 🌴 سایت
Media is too big
VIEW IN TELEGRAM
Spatial Transformer Networks
(Experiment Videos)

حتما به ورودی و خروجی توجه کنید. این موضوع را هم در نظر بگیرید که شبکه فقط labelها که کلاسها هستند را می بیند و transformها را خودش یاد می گیرد بدون هیچ supervisionای.

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
#یادگیری_عمیق #مقاله #ویدیو #spatial_transformer
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
🌳 پشتیبانی | 🌺 کانال | 🌴 سایت
This media is not supported in your browser
VIEW IN TELEGRAM
Autonomous tractors could revolutionize farming


ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
#یادگیری_عمیق #self_driving_car #ویدیو #autonomous
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
🌳 پشتیبانی | 🌺 کانال | 🌴 سایت
Media is too big
VIEW IN TELEGRAM
پیش از این، در بخش معرفی مقاله ذکر کرده بودیم که یکی از زمینه های کار کردن روی شبکه های عصبی، مثالهای خصمانه است؛ به عبارتی، چه کار کنیم تا شبکه گول بخورد.

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
#یادگیری_عمیق #adversarial #ویدیو #مثال_خصمانه
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
🌳 پشتیبانی | 🌺 کانال | 🌴 سایت
استفاده از یادگیری عمیق در پروژه های تجاری - بخش اول

در این سلسله نوشتار سعی خواهد شد که توصیه هایی داشته باشیم از تجاربی که داریم پیرامون نکاتی که لازم است در نظر داشته باشیم، وقتی که قرار است از مدلمان در پروژه های تجاری استفاده کنیم.

امنیت

یکی از مواردی که لازم است به خصوص کسانی که تازه درسشان تمام شده لحاظ کنند، امنیت مدلهای یادگیری عمیق است. هیچ وقت به مدلتان اعتماد نکنید. روند معمول به این صورت است که به شما مساله ای داده می شود و شما پس از مطالعه راه حلی را ارایه می دهید و در ادامه مدلی را آموزش می دهید. اگر از پیچیدگی این مرحله عبور کنیم و فرض کنیم که به درستی انجام می شود، در انتها مدلی بدست می آورید که روی دادگان تست خوب کار می کند. توجه کنید که اینجا کار تمام نمی شود و نباید این مدل را به عنوان مدل نهایی استفاده کرد. مدل باید در برابر حملات مقاوم شود. علت این موضوع این است که ممکن است در زمان استفاده از مدل در محیط نهایی، نمونه های خصمانه به مدل تحمیل شود. در این صورت کل سیستم زیر سوال می رود.
اگر بخواهیم خیلی ساده حمله را شرح دهیم، به این شکل است که در زمان آموزش سعی می شود خطا کم شود، حال چه می شود اگر بتوان داده هایی را درست کرد که خطا را بیشینه کند. حملات متفاوتی وجود دارد و برای هر یک راه های مقاوم سازی متفاوتی وجود دارد که اینجا به جزییات نخواهیم پرداخت ولی صرفا اشاره می کنیم که مقاوم سازی در مورد حملات متفاوت نیاز است.
حال چرا این موضوع اهمیت بسیار دارد؟ در تسکهایی که مربوط به خودروهای خودران هستند یا جاهایی که لازم است با توجه به چهره فرد، فرآیند شناسایی انجام شود، عملکرد دسته بند اهمیت بسیار دارد. شاید مدل شما روی داده های تست 99.999% خوب کار کند ولی با یک مثال خصمانه ساده، ممکن است سیستم خطا کند.

(ادامه دارد)
ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
#نکته_آموزشی #یادگیری_عمیق #مثال_خصمانه #adversarial #مثالهای_کاربردی #پروژه_تجاری
ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
🌳 پشتیبانی | 🌺 کانال | 🌴 سایت
پیش از این اشاره کرده بودیم که بیل گیتس احتمالا نقش بزرگی در ویروس کرونا داشته است. در این روزها یک گروه به صورت مخفیانه مستندی ساختند که در آن نشان می دهند که ویروس کرونا کاملا دست ساز است. چند ماه قبل پیپری چاپ شد که در آن اثبات کرده بودند این ویروس دست ساز نیست و در پرس به صورت گسترده ای هایپ شد و در تمامی رسانه ها با بزرگ نمایی به تیتر یک تبدیل شد. جالب است که در این بررسی، عوامل پشت آن پیپر را هم بررسی کرده اند که چه کسانی هستند. حتی در این کاوش، به اسامی دقیقی هم رسیده اند که چه کسانی عامل کرونا هستند. به نقش بیل گیتس توجه کنید. جالب است بدانید که بیل گیتس اخیرا طیِ افاضاتی گفته که "ریسک ناشی از بروز بیماری حاد بر اثر ویروس کرونا به شدت کاهش یافته اما همه‌گیری بعدی در کمین ماست. این همه‌گیری احتمالا از یک عامل بیماری‌زای دیگر به وجود می‌آید و باید از همین حالا آماده مقابله با آن باشیم.". چند سال قبل، بیل گیتس گفته بود که یک سوم جمعیت جهان باید از بین برود. در ایالت جورجای آمریکا بنایی وجود دارد به نام سنگهای راهنمای جورجیا که بر روی آنها ذکر شده جمعیت جهان باید به 500 میلیون نفر برسد. این مکان بسیار حفاظت شده است. بیل گیتس در چند سال اخیر اقدام به ساخت بزرگترین بک آپ غذای بشریت کرده است. ساخت این انبار دقیقا با چه هدفی صورت گرفته؟ چرا تا الان به این انبار نیاز نبوده؟ چرا در جایی دور افتاده ساخته شده؟ این انبار لو رفته ولی چند انبار دیگر به صورت مخفیانه ساخته شده؟

روایتی از امام صادق (ع) وجود دارد با این مضمون که "پیش از قیام قائم(ع) دو مرگ و میر عمومى رخ دهد. یکى مرگ سرخ و دیگر مرگ سپید، تا به حدی که از هر هفت تن پنج تن برود. مرگ سرخ با شمشیر و مرگ سفید با طاعون است." (شیخ صدوق، کمال الدین و تمام النعمة، محقق، مصحح، غفاری، علی اکبر، ج 2، ص 655، تهران، دار الکتب الاسلامیة، چاپ دوم، 1395ق.)

جالب است بدانید که طاعون از حیوان به انسان شیوع پیدا می کند و در میان انسانها، با تنفس منتقل می شود.

لینک مستند
ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
#خبر #تئوری_توطئه
استفاده از یادگیری عمیق در پروژه های تجاری - بخش دوم

اتصال لایه کانولوشنی به لایه تمام اتصال

در مورد لایه های کانولوشنی بحث بسیار است ولی در اینجا در مورد چند نکته اساسی که در هنگام اتصال لایه کانولوشنی به لایه تمام اتصال لازم است لحاظ شود، صحبت می کنیم.

1. این قسمت یکی از حساس ترین قسمتهای شبکه های کانولوشنی است. اگر دقت نکنید، ممکن است تعداد زیادی از پارامترهای شبکه در این قسمت قرار گیرند در حالی که نیاز نباشد. زمانی که خروجی لایه کانولوشنی باز می شود و به تمام اتصال متصل می شود، بدیهی است که این اتصال از نوعِ تمام اتصال است. پس اگر تعداد نورونهای لایه تمام اتصال یا تعداد نورونهای قسمتِ باز شده کانولوشنی زیاد باشد، تعداد محاسبات و پارامترها خیلی زیاد می شوند. پیشنهاد می شود که قبل از آموزش شبکه همواره به این قسمت با دقت نگاه کنید و ببینید تعداد پارامترهایش خیلی زیاد نباشد. در صورتی که پارامترهایش خیلی زیاد باشد، مشکلاتِ MLP را قطعا خواهید داشت؛ برای مثال، تعداد داده زیاد، مشکلات مشابه یادگیری ماسک و ... .

2. برای این اتصال تجربه ای منطقی وجود دارد که سعی می کنیم به زبان ساده توضیح دهیم. سعی کنید قبل لایه باز کننده یا flatten از لایه کانولوشنی حتما استفاده کنید و لایه پولینگ نداشته باشید. از نظر منطقی اگر نگاه کنیم، اگر از پولینگ استفاده کنیم که به فرض 2x2 باشد، به کل اطلاعات مربوط به مکان را از بین می بریم؛ به این شکل که در یک پنجره ای که 4 عنصر دارد، نود غالب را به تمام اتصال می دهیم و مکان را در نظر نمی گیریم (و مکانِ کلی اجسام را دور می ریزیم). در حالی که ویژگی مناسب کانولوشنی قبل از باز کننده این است که حداقل مکان را از بین نمی برد. ترجیحا لایه های قبلی پولینگ داشته باشند.

3. در جاهایی که شبکه سنگین است، ممکن است نیاز باشد که محل اتصال یاد شده سنگین باشد. در این شرایط روشهایی وجود دارد. مقالاتی نسبتا قدیمی (با این حال کاربردی برای کارهای تجاری) وجود دارد که می توانید در قسمت اتصالی که اشاره شده، ماتریس فاکتوریزیشن را به انواع مختلف استفاده کنید. با این کار می توان محاسبات را تعدیل کرد.


(ادامه دارد)
ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
#نکته_آموزشی #یادگیری_عمیق #شبکه_کانولوشنی #CNN #مثالهای_کاربردی #پروژه_تجاری
ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
🌳 پشتیبانی | 🌺 کانال | 🌴 سایت
This media is not supported in your browser
VIEW IN TELEGRAM
Different Neural Nets Including Spiking Neural Networks

به تفاوت چشمگیر سیناپسها در شبکه های کانولوشنی و شبکه های Spiking توجه کنید؛ همچنین، تعداد نورونها را نیز در نظر بگیرید.


ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
#یادگیری_عمیق #spiking #ویدیو #نکته_آموزشی
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
🌳 پشتیبانی | 🌺 کانال | 🌴 سایت
استفاده از یادگیری عمیق در پروژه های تجاری - بخش سوم


تابع فعالیت

پیش از این در مورد توابع فعالیت سخن گفته بودیم و نکاتی را نیز متذکر شده بودیم [1, 2, 3]. با این حال، در پروژه های تجاری، سیاست استفاده از توابع فعالیت کاملا متفاوت است با آن چیزی که در نوشتن مقاله لازم است در نظر گرفته شود. معمولا در مقالات لازم است نویسندگان اثبات کنند که کار خودشان چه نوع آوری داشته و باید میزان اثر بخشی کار خودشان را اثبات کنند. اصطلاحا در قسمت ablation study مقالات، نویسندگان باید بررسی کنند که پیشنهادات خودشان چقدر باعث بهبود عملکرد شده؛ برای اینکه بهتر این موضوع را جا بیاندازیم، فرض کنید که شما مقاله ای نوشته اید و می خواهید اثبات کنید که روش شما خوب است. در این حالت، باید تمرکز روی قسمتی که خودتان با نوآوری به آن رسیده اید، باشد. قسمتهای اثر بخشی که به وسیله دیگران کشف شده اند، قبلا جواب پس داده اند به صورت کلی و نویسندگان باید تمرکزشان روی نوآوری خودشان باشد. به همین دلیل معمولا می بینید که خیلی ها در شبکه هایشان، در لایه های میانی از تابعی مثل ReLU یا PReLU استفاده می کنند. اگر از توابع دیگری استفاده شود، لازم است در قسمت ablation study میزان تاثیر گذاری روشهای استفاده شده بررسی شود و ثابت شود که نوآوری از کار مولفین مقاله جدید بوده که این کار در هر صورت هزینه بر است؛ به همین خاطر و به صورت کلی، معمولا همه همان ReLU را انتخاب می کنند. با این حال، لازم است بدانید که تابع فعالیت اهمیت بسیار بالایی دارد. در زمینه انتخاب تابع فعالیت، مقالات بسیار زیادی وجود دارد. جالب است بدانید که برای تسکهای متفاوت، بعضی از توابع فعالیت ممکن است بهتر کار کنند؛ بنابراین، وقتی شبکه ای را برای کار تجاری خود آماده می کنید، تنها به ReLU اتکا نکنید و بگردید و گزینه های متفاوت را بررسی کنید. پیشنهاد ما این است که بررسی کنید برای تسکتان، چه توابعی اخیرا نتایج بهتری گرفته اند. در این باره، مقالات بسیار زیادی را می توانید پیدا کنید.

(ادامه دارد)
ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
#نکته_آموزشی #یادگیری_عمیق #تابع_فعالیت #activation_function #مثالهای_کاربردی #پروژه_تجاری
ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
🌳 پشتیبانی | 🌺 کانال | 🌴 سایت
استفاده از یادگیری عمیق در پروژه های تجاری - بخش چهارم

استفاده از هایپرپارامترهای با قابلیت decoupling

یکی از مواردی که لازم است در فرآیند آموزش شبکه های عصبی لحاظ شود، فرآیند کالیبره کردن یا تیون کردن هایپرپارامترهاست. یعنی چگونه هایپرپارامترها را تغییر دهیم تا به کیفیت مناسب از لحاظ زمان، بازدهی، عملکرد و ... برسیم. استراتژیهای متفاوتی برای کالیبره کردنِ هایپرپارامترها وجود دارد؛ با این حال، هدف ما از این پست، اشاره به مساله دیگری است. در زمان تیون کردن، سعی کنید هایپرپارامترهایی را انتخاب کنید که روی هم تاثیر نگذارند. سعی می کنیم با ذکر مثال این موضوع را باز کنیم.

در شکل ضمیمه شده که در پست بعدی قرار دارد، محور افقی یک هایپرپارامتر و محور عمودی، هایپرپارامتری دیگر است. رنگهای مختلف هم نشان دهنده هزینه هستند. در شکل سمت راست، اگر فرض کنیم مقدار محور افقی 1/4 باشد، اگر در طول محور عمودی حرکت کنیم (یعنی مقدار این هایپرپارامتر را تغییر دهیم)، می توان به جاهای مناسبی از cost function رسید. یعنی یک هایپرپارامتر ثابت شده و دیگری تغییر می کند و مشکلی پیش نمی آید.

در شکل سمت چپ اتفاق دیگری می افتد. همانطور که می بینید، correlation وجود دارد بین هایپرپارامترها و به هم وابستگی دارند. یعنی اگر یکی تغییر کند، روی دیگری تاثیر گذار است. به عبارتی، این دو نیاز دارند که همزمان تیون شوند. این کار بسیار سخت و هزینه بر است. علت این موضوع، تعداد حالات مختلف این دو هایپرپارامتر است که با هم می توانند داشته باشند. اگر به صورت جبری بررسی کنیم، در شکل راست، هر هاپیر پارامتر اگر A حالت داشته باشد، تعداد کل حالات 2A می شوند در حالی که در حالت سمت چپ، A^2 حالت متفاوت خواهیم داشت که لازم است بررسی شوند.

حال فرض کنید که تعداد هایپرپارامترهای وابسته بیشتر باشند. در این حالت بدیهی است که وضعیت بدتر می شود. اگر بتوانیم هایپرپارامترهایی که قابلیت decouple شدن داشته باشند را استفاده کنیم، مانند شکل راست، می توان فرآیند کالیبره کردن را با سرعت بیشتری پیشبرد.

پینوشت:
شکلی که در ضمیمه قرار داده ایم برگرفته شده از مقاله DECOUPLED WEIGHT DECAY REGULARIZATION است. در مقاله ذکر شده، بررسی شده که چگونه می توان هایپرپارامترهای روشهایی مثل Adam و SGD را به گونه ای decouple کرد و عملکرد را بهتر کرد.



(ادامه دارد)
ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
#نکته_آموزشی #یادگیری_عمیق #decoupling #مثالهای_کاربردی #hyper_parameter #هایپرپارامتر #پروژه_تجاری
ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
🌳 پشتیبانی | 🌺 کانال | 🌴 سایت
ضمیمه

استفاده از یادگیری عمیق در پروژه های تجاری - بخش چهارم
This media is not supported in your browser
VIEW IN TELEGRAM
با اینکه از ارایه روش مدتی گذشته است ولی یکی از زمینه هایی که همواره اهمیت داشته، علوم شناختی و کاربردهای هوش مصنوعی در این زمینه است. در این ویدیو مقاله ای معرفی می شود که به معلولان کمک می کند اجسام را با استفاده از یادگیری عمیق بردارند.



ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
#یادگیری_عمیق #شناختی #ویدیو #نکته_آموزشی
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
🌳 پشتیبانی | 🌺 کانال | 🌴 سایت
2025/07/03 08:57:14
Back to Top
HTML Embed Code: