Telegram Web Link
شبکه عصبی خود را بهتر بفهمید!

خب احتمالا هر وقت که یه تسک دسته‌بندی یا رگرسیون و یا حتی تسک‌های NLP رو به دقت خوبی انجام دادید یه حس کنجکاوی درون‌تون بوده که چرا داره خوب کار می‌کنه! یا اینکه کدوم فیچر‌ها هستن که بیشترین تاثیر رو در تولید این خروجی با کیفیت دارند. احتمالا هم تیپ کارهای برتولوژی و غیره رو دیدید که نمونه‌ش هم برای حوزه NLP هست و هم حوزه تصویر. اما حالا این ابزار رو ببینید که دیگه نعمت رو بر همه‌مون تکمیل کرده! با این ابزار که تقریبا تمامی فریم‌ورک‌‌ها و ابزارهای لرنینگ رو پشتیبانی می‌کنه میتونید اهمیت فیچرهای ورودی رو در تولید خروجی مدل آموزش‌داده‌شده به صورت مصور ببینید و لذت ببرید و برای سازندگانش دعای خیر بکنید. به عنوان یک مثال، در تسک تحلیل قطبیت جملات می‌تونید ببینید که کدوم کلمات در تعیین قطبیت جمله نقش بیشتری داشتند. همچنین مثلا در تسک‌های دسته‌بندی روی دیتای ساختاریافته هم می‌تونید ببینید که کدوم فیچر‌ها در تولید خروجی بیشترین نقش رو داشتند.

آدرس صفحه گیت‌هاب:
https://github.com/slundberg/shap#citations

#link

@nlp_stuff
کیمیای سعادت یانیک کیلچر در دکترای یادگیری ماشین

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

https://www.youtube.com/watch?v=rHQPBqMULXo&t=1s

#watch

@nlp_stuff
میمون گیمر و جوی‌استیک ذهنی

شرکت Neuralink (یکی از شرکت‌های آقای ایلان ماسک) در فصل بهار باعث ریزش شکوفه‌ها و برگ‌ها شده‌اند. آن‌ها میمونی را به اسم پیجر مورد آزمایش جالبی قرار داده‌اند: ابتدا پیجر را روی بازی‌ها با روش RL آموزش داده‌اند، به این صورت که یک جوی‌استیک دستش داده‌اند که می‌تواند اکشن‌هایش را در بازی انتخاب کند و در صورتی که در بازی موفق شود، از طریق لوله‌ای که در دهانش قرار دارد خوراکی به او داده می‌شود و در کمال تعجب همانطور که خودتان در فیلم مشاهده خواهید کرد این میمون توانسته بازی کردن را یاد بگیرد و شکمش را سیر کند.
اما شگفتی بزرگتر در ادامه رخ می‌دهد. پژوهشگران الکترود‌هایی را در مغز این میمون بی‌نوا قرار داده و فعالیت‌ها و اسپایک‌های نورون‌های مغزی او را در حین بازی کردن ثبت کرده و سپس تفسیر و دیکود کردند و توانستند حرکات انتخابی میمون در ذهنش را اجرا کنند؛ یعنی بدون حرکت دادن جوی‌استیک و تنها با فکر کردن به اکشن درست موردنظر، او می‌تواند بازی‌ای همچون pong را پیروز شود. آخرش هم به او یک موز بزرگ و خوشمزه دادند.

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

https://www.youtube.com/watch?v=rsCul1sp4hQ

#link
#watch

@nlp_stuff
حرکت به سمت پروداکشن با TFX!

تا الان شاید یادگرفته باشید که چه‌طور یه مدل خوب بسازید که کیفیت خوبی داشته باشه. اما این پایان کار نیست. حرکت از experiment به سمت production کمک می‌کنه تا قدرت AI رو به دنیای واقعی بیاریم. مثلا فرض کنید که یه محصول ترجمه ماشینی تولید کردید یا یه محصولی که بلده تحلیل احساسات درباره وقایع خاص بکنه. این محصول نیاز داره به صورت دوره‌ای کیفیتش سنجیده بشه، اگه لازم بود دوباره ترین بشه و اگه مدل‌سازی بهتری صورت گرفته مدل‌های جدید به جای مدل‌های قدیمی‌تر serve شوند بدون اینکه محصول پایین بیاد. اینجاست که نیاز به یه ابزار قدرتمند که بتونه برای ما یه پایپلاین درست کنه حس میشه. TFX یا همون TensorFlow Extended دقیقا همون ابزاریه که دنبالش می‌گردیم. یه ابزار open source که به صورت انتها به انتها کل پایپلاین رو برای ما پوشش میده. از چک کردن معتبر بودن داده تا مهندسی ویژگی‌ها و فاز ETL تا بررسی کیفیت مدل‌ها و پوش کردن اونها به صورت خودکار میتونه با TFX انجام بشه. این ابزار در واقع یه CI/CD برای مدل‌های ماشین لرنینگی محصول شما ست که میتونه کمک کنه توی پروداکشن بدون نگرانی مدل‌های جدید رو دیپلوی کنید و لذتش رو ببرید. اگه مفاهیمش رو بیشتر می‌خواید درک کنید این ویدیو رو از خانم Vergadia از تیم گوگل از دست ندید.

لینک ویدیو:
https://youtu.be/17l3VR2MIeg

#watch

پ.ن. در معرفی کانال به بقیه کوشا باشید!

@nlp_stuff
مخزن‌ نوتبوک‌های متنوع NLP

در اینجا بیش از ۲۰۰ نوتبوک گرد‌آوری شده‌اند که مسائل مختلفی در حوزه NLP رو (از نحوه فاین تیون‌کردن bert و gpt گرفته تا استفاده از doc2vec و fasttext) پوشش داده‌اند. می‌تونه منبع خیلی خوبی برای بازی‌کردن و دستکاری کردن و در نهایت آموزش و تمرین کد زدن برای مسائل مختلف nlp با استفاده از مدل‌های مختلف باشه.

https://notebooks.quantumstat.com/

#link

@nlp_stuff
کورسی برای علاقه‌مندان به مولتی‌مودال

این اواخر در کانال راجع به مولتی مودال لرنینگ پست‌های زیادی گذاشته شد و راجع بهش صحبت کردیم و قبلا هم گفتیم که یکی از جهت‌های ریسرچ‌های آینده می‌تونه باشه. اگر به این موضوع علاقه‌مند هستید، دعوتتون می‌کنیم این کورس یادگیری ماشین مولتی‌مودال از دانشگاه Carnegie Mellon رو که مال همین پاییز ۲۰۲۰ هست مشاهده کنید و استفاده‌اش رو ببرید.

https://www.youtube.com/playlist?list=PLTLz0-WCKX616TjsrgPr2wFzKF54y-ZKc

https://cmu-multicomp-lab.github.io/mmml-course/fall2020/schedule/

#coach
#course


@nlp_stuff
پاسخ به ده سوال تاریخ از برت

این بلاگ‌پست نابی و تازه به ده سوال راجع به برت و مدل‌های ترنسفورمری پاسخ میده؛ سوالاتی مثل اینا:
• برت و ترنسفورمرها چی هستند؟
• قبل از این مدل‌ها چکار می‌کردیم؟
• معماری پایه و اصلی ترنسفورمرها چیه؟
• توکنایزر برت چیه؟
• روش آموزش برت چیه؟
پاسخ‌هایی که به سوالات داده خیلی دقیق و در عین حال مختصر و مفید هستند؛ یعنی هم برای آشنایی با موضوع و هم مرور کلیش مناسبه. نیم ساعت وقت بگذارید ارزششو داره.

https://neptune.ai/blog/bert-and-the-transformer-architecture-reshaping-the-ai-landscape

پ.ن. بعدش هم می‌تونید برید ویرگول ما و سه‌گانه‌ی «داستان ترنسفورمرها» را بخونید که پیدایش و تکامل این مدل‌ها را مفصل گفتیم:
https://virgool.io/overfit

#read
#blog

@nlp_stuff
This media is not supported in your browser
VIEW IN TELEGRAM
دیتای خودت را بکش!

این ابزار به شما اجازه میده که دیتای خودتون رو بکشید و ازش خروجی json یا csv بگیرید. تازه ازش می‌تونید در جوپیتر نوتبوک هم استفاده کنید. این ابزار می‌تونه در کارهای ریسرچی و آموزشی، سرعت و کیفیت کارتون رو بالا ببره.
باحاله واقعا.

لینک‌ دمو:
https://calmcode.io/labs/drawdata.html

گیت:
https://github.com/koaning/drawdata

#link

@nlp_stuff
کورس Machine Learning with Graphs

به‌به! کورس این ترم CS224W Machine Learning with Graphs از استنفورد هم هفته‌ای دو جلسه‌اش داره میاد. در این کورس بیشتر روی مباحثی مثل Graph Representation و GNN که الان خیلی داغ هم هستند تمرکز میشه. در ضمن اگر کورس ۲۰۱۹ این درس را دیدید، توصیه می‌کنیم یه نگاه به سیلابس درس بندازید تا ببینید چقدر آپدیت شده و جذابه!

استادش (jure leskovec) هم که غول مرحله‌ی آخر این زمینه‌ست دیگه. یه نگاه به h-index و سنش به‌طور هم‌زمان بندازید تا حرف ما رو تصدیق کنید.

ویدیوهای کورس:
https://www.youtube.com/playlist?list=PLoROMvodv4rPLKxIpqhjhPgdQy7imNkDn

سیلابس کورس:
http://web.stanford.edu/class/cs224w/

پ.ن. کانال رو به دو نفر دیگه معرفی کنید که ببینیم اپیدمی در یک شبکه‌ی پیچیده چقدر منتشر میشه! :))

#coach
#course

@nlp_stuff
کتابخانه wordfreq

امشب می‌خوایم یک کتابخونه کوچیک رو بهتون معرفی کنیم. در خیلی از کاربرد‌ها و مسائل واقعی به علت پیچیدگی و هزینه‌های بالای شبکه‌های دیپ و یادگیری انتها به انتها امکان استفاده ازشون نیست؛ در نتیجه مجبوریم که به سمت روش‌های سنتی و در نتیجه استخراج ویژگی از متن و کلمه پیش بریم. یکی از ویژگی‌های مهم هر کلمه می‌تونه فراوانی استفاده ازش در پیکره‌های (corpus) مختلف باشه که این معیار میتونه نشون بده که این کلمه چه قدر رایجه، چه قدر ایست‌واژه‌ست (stopword) یا چه قدر خاصه. در صورتی که خودتون بخواید برای هر کلمه بیاید این عدد رو حساب کنید نیازمند این هستید که یک پیکره بزرگ پیدا کنید و فراوانی هر کلمه از اون رو محاسبه کنید که خب فرآیند وقت‌گیر و رم‌گیری میتونه باشه.
کتابخونه‌ی wordfreq برای ۳۶ زبان مختلف (‌از جمله زبان فارسی) فراوانی نسبی کلمات رو روی پیکره‌های متنی بزرگ هر زبان (‌مثلا برای فارسی روی Wikipedia و Subtitles و OSCAR و Twitter) حساب کرده و به راحتی آب خوردن و به سرعت اراده کردن، برای هر کلمه‌ای که بخواید این مقدار رو بهتون برمی‌گردونه.

لینک کتابخونه:
https://github.com/LuminosoInsight/wordfreq/

#tool

@nlp_stuff
جادوی contrastive learning! آیا طوفانی در راه است؟

دوستان عزیزمون در دانشگاه استنفورد دارند انقلاب می‌کنند! حتما اسم contrastive learning به گوشتون خورده. موضوعی که باز بر اهمیت نگاه pre-training/fine-tuning تاکید می‌کنه و از اون نشات گرفته. در واقع سعی بر اینه که وقتی می‌خواهید مدل رو روی مساله‌ای آموزش بدید، ابتدا به صورت self-supervised یک بازنمایی مناسب از داده‌ها رو یاد بگیرید و بعد، این مدل pre-train شده رو روی دیتای لیبل‌دار fine-tune کنید؛ دقیقا شبیه برت.
اما برای اینکه بتونید به صورت self-supervised یه بازنمایی رو یاد بگیرید باید چه کار کرد؟!؟! نکته اینه که اگه یه سری توابع داشته باشید(transform function) که بشه هر داده رو اندکی تغییر داد، به طوریکه از داده اصلی خیلی فاصله نگیره و فقط از یه view دیگه به همون داده نگاه کنه میشه یه تابع contrastive loss تعریف کرد. به این صورت که سعی کنه فاصله بازنمایی داده اصلی و بازنمایی view اون رو کمینه کنه. مثلا در حوزه تصویر، یه سری توابع مثل rotate ،mirror و … رو درنظر می‌گیرند. اما همون‌طور که تا الان متوجه شدید پیدا کردن اون transform functionها خیلی بستگی به دانش دامنه داره و کاربرد contrastive learning رو در مودالیتی‌های مختلف سخت می‌کنه.
اینجاست که مردانی اهل جهاد از خطه استنفورد به پاخاستند و شبکه‌ای به نام viewmaker معرفی کردند. این شبکه stochastic bounded adversary است. ذات تصادفیش به خاطر اینه که یه ورودی می‌گیره و سعی می‌کنه مقداری نویز رندم به اون اضافه کنه. از طرفی bounded است چون تغییر در ورودی‌ش با یه عبارت L1-norm محدود شده و این مقدار محدودیت هم به عنوان یه hyper parameter قابل تنظیمه و بهش distortion budget گفته میشه و همچنین adversary است به خاطر اینکه سعی داره contrastive loss رو بیشینه کنه؛ یعنی در حالیکه وقتی view تولید شده رو به سمت انکودر خروجی میده، انکودر سعی داره contrastive loss رو کمینه کنه.
نگران هم نباشید مثل GANها در هنگام آموزش بدرفتار و سرکش نیست. شاید یه دلیلش این باشه که perturb کردن (اضافه کردن نویز به ورودی با هدف معین) ورودی خیلی ساده‌تر از تولید ورودیه که در GAN اتفاق میفته و از طرفی همین perturb کردن هم به صورت bounded انجام میشه.
خلاصه که اگر یک بردار ورودی داشته باشیم، شبکه viewmaker سعی می‌کنه روش یک ترنسفورمی بده که contrastive loss زیاد بشه و بعد از سمتی یک انکودری هم هست که سعی می‌کنه loss رو کمینه کنه و در نهایت این فرایند باعث میشه که transform functionهای خوبی براتون دربیاد و انکودر هم رپرزنتیشن خوبی یاد بگیره.
در نهایت هم روی سه مودالیتی تصویر، صوت و داده ساختاریافته سنسورها تستش کردند و نتایج بسیار عالی گرفتند. در برخی موارد تونسته حالتی که expert اون دامنه رو که transform functionها رو تعیین کرده هم شکست بده.
این نهضت اگه پا بگیره احتمالا نگاه به خیلی از مسائل عوض خواهد شد.

لینک بلاگ مربوط به مقاله (‌که توصیه می‌کنیم اول این رو بخونید):
https://ai.stanford.edu/blog/viewmaker/

لینک مقاله:
https://arxiv.org/abs/2010.07432

#paper
#read

@nlp_stuff
دایره المعارف ترنسفورمر‌ها!

پس از تولد ترنسفورمر‌ها و برت‌ به ترتیب در ۲۰۱۷ و ۲۰۱۸، موجی از انواع و اقسام مدل‌های ترنسفورمری به راه افتاد که البته هر یک موفق به پرچم‌داری حوزه و مساله خاصی در پردازش زبان شدند. که البته همین پیشروی در حوزه پردازش زبان و مدل‌های زبانی منجر به بازشدن درها و مسائل و چالش‌ها و نیازمندی‌‌های تازه‌تری شد (مانند کم کردن حجم مدل‌های زبانی یا توانایی بازیابی اطلاعات از مجموعه اسناد و یا داشتن ترنسفورمرهایی با محدوده طول توکن‌های مورد پردازش بیشتر و ...). این چالش‌ها خود موجب پیدایش موج جدیدتری (‌و البته پرتعدادتری!) از ترنسفورمر‌ها در طی یکی دو سال اخیر شد که هر یک به دنبال حل یک نیازمندی خاص‌تری هستند.
حال در بساط امروز خود مقاله‌ای داریم که به صورت خلاصه و اما جامع به بررسی و توضیح مدل‌های ترنسفورمری زبانی مختلف پرداخته است. اگر می‌خواهید بدانید که فرق BART با T5 چیست، اگر میخواهید بدانید که از RAG چگونه در بازیابی اطلاعات استفاده می‌کنند، اگر که حس می‌کنید از موج جدید جامانده‌اید و نیاز به سینک شدن دوباره با این همه مدل‌های ترنسفورمری هستید، شما را به دیدن این پیپر عالی دعوت می‌کنیم.

لینک مقاله:
arxiv.org/abs/2104.10640

#read
#paper

@nlp_stuff
ترنسفورمرها علیه آلزایمر

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

از سال ۲۰۰۰ به بعد متخصصان هوش مصنوعی و پردازش زبان در پی خودکارکردن تست تشخیص آلزایمر از روی متن گفتار برآمدند. ابتدا این روش‌ها بر پایه استخراج ویژگی بناشدند اما با پیشرفت دیپ لرنینگ این روش‌ها نیز از شبکه های ژرف نظیر LSTM و CNN در معماری‌های خود بهره بردند. در اکثر این پژوهش‌ها دیتای آموزشی به این صورت است که یک تصویر خاص به شرکت‌کنندگان نشان داده شده و آن ها نیز بایستی آن را توصیف کنند. در نهایت مدل بایستی با ورودی گرفتن متن یا صوت این آزمایش، تعیین کند که آیا شرکت‌کننده آلزایمر دارد یا خیر.

یکی از بزرگترین چالش‌های فعالیت در این حوزه عدم وجود دادگان کافی برای آموزش مدل‌های عمیق است (تا جایی که بزرگترین مجموعه‌ی داده‌ی کنونی تنها حدود ۵۰۰ نمونه دارد). در مقاله‌ای که توسط علیرضا روشن‌ضمیر، دکتر مهدیه سلیمانی باغشاه و دکتر حمید کربلایی آقاجان ارائه شده است سعی شده است تا با استفاده‌ی افراطی از تکنیک‌های افزون‌سازی داده (Data Augmentation) و استفاده از مدل‌های زبانی از پیش آموزش داده شده‌ی مبتنی بر ترنسفورمر به چالش عدم وجود دادگان کافی پاسخ داده شود. در این پژوهش از روش‌های افزون‌سازی شامل جایگزینی با کلمه‌ی هم معنی، جایگزینی با کلمه‌ی هم احتمال که توسط مدل زبانی زمینه‌ای استخراج شده است (Contextual Data Augmentation) و حذف جمله از متن استفاده شده است. برای مدل‌های زبانی مبتنی بر ترنسفورمر نیز از مدل‌های زبانی از پیش آموزش داده شده‌ی XLNet، BERT و XLM استفاده شده است. در واقع در این پژوهش از این مدل‌ها برای استخراج ویژگی به صورت خودکار استفاده شده است.

در نهایت آن‌ها توانستند با استفاده از مدل زبانی BERT و تکنیک‌های افزون‌سازی متن و دسته‌بند رگرسیون لجستیک، با دقت ۸۸/۰۸ درصد (و معیار اف ۸۷/۲۳ درصد) از روی متن گفتار، ابتلای فرد به بیماری را تشخیص دهند و هم چنین ۲/۴۸ درصد دقت کارهای پیشین را بهبود دهد.

در خود تز ارشد ایشان با ترکیب مدل‌های زبانی متنی و مدل‌های صوتی همانند Wav2Vec توانسته‌اند علاوه بر متن گفتار، از صوت آن نیز استفاده کنند و دقت نهایی دسته‌بندی را بهبود دهند. همچنین با استفاده از مدل‌های زبانی چندزبانه و تکنیک‌های انطباق دامنه توانسته‌اند از یک مدل که در زبان انگلیسی آموزش داده شده است بدون حتی آموزش یک مورد (Zero-Shot) در زبان چینی، دقت قابل قبولی در تخمین شدت بیماری در زبان چینی ارائه دهند.
در ادامه یک نمونه تصویر مورد استفاده در آزمون شناختی توصیف تصویر و تصویر معماری مدل مورد استفاده در این مقاله به پیوست آورده شده است.

لینک پیپر:
https://bmcmedinformdecismak.biomedcentral.com/track/pdf/10.1186/s12911-021-01456-3.pdf

#read
#paper
#irani

پ.ن. با تشکر از علیرضا روشن‌ضمیر عزیز که لطف کرد و خلاصه‌ای از مقاله‌شان را برامون ارسال کرد.

@nlp_stuff
معماری تماما MLP برای پردازش تصویر

پست امروز درباره یک معماری ساده است که همین دو روز پیش مقاله‌اش منتشر شده. این معماری برای تسک دسته‌بندی تصاویر ارائه شده و بر خلاف شبکه‌های نامداری مثل ResNet و ViT هیچ گونه کانولوشن و اتنشی درون خودش نداره و تماما از MLP تشکیل شده. خیلی خلاصه بخوایم توضیح بدیم، ابتدا مثل ViT میاد و تصویر رو به تکه (patch) هایی تقسیم می‌کنه، سپس بعد از عبور دادن این پچ‌ها از لایه‌ی امبدینگ و به دست آوردن یک وکتور برای هر یک از تکه‌ها، اونها رو از N تا لایه به اسم MixerLayer می‌گذرونه. این MixerLayer درون خودش از دو تا شبکه MLP تشکیل شده که اولیش میاد یک فیدفوروارد روی یک جنبه از تماما تصویر‌ها میزنه (در واقع یک فیچر از روی یک فیچر تمامی تکه‌ها درست می‌کنه) و دومین MLP هم میاد یک فیدفوروارد از روی فیچر‌های یک تکه درست می‌کنه (شکل پیوست شده رو اگر ببینید درکش بسیار راحته، به اون T یا Transpose ها فقط باید دقت کنید) در نهایت هم به یک شبکه رسیدند و آزمایش‌های مختلف پیش‌آزمایش و فاین تیون رو روش انجام دادند.
شبکه اش از نظر دقتی خاص و برجسته نیست و البته پرت هم نیست. نقطه مثبتش رو میشه نرخ توان عملیاتی بالاش (throughput) دونست که خیلی از شبکه‌های مثل ViT بهتره (یک دلیلش میتونه این باشه که توی ViT به خاطر وجود اتنشن با افزایش رزولشن و در نتیجه افزایش تعداد تکه‌ها و طول ورودی، میزان نیاز به حافظه به صورت توان دویی زیاد میشه ولی اینجا این اتفاق به صورت خطی رخ میده).
کلا مقاله جالبیه و خب البته سوالاتی رو هم برمی‌انگیزه که چطوری بدون سوگیری القایی (inductive bias) خاصی به این نتیجه رسیده.

مثل همیشه یانیک کیلچر هم به سرعت یک ویدئو در توضیح این مقاله بیرون داده که می‌تونید تماشا کنید:
https://www.youtube.com/watch?v=7K4Z8RqjWIk

لینک مقاله:
https://arxiv.org/abs/2105.01601v1

#read
#paper
#watch

@nlp_stuff
گلچین مقالات کنفرانس‌های EACL, ICLR, NAACL سال 2021

آقا سباستین رودر (اگر نمی‌شناسیدش توصیه می‌کنیم برید بشناسید) مقالات سه کنفرانس مذکور و معروف رو گلچین کرده و برای هر کدوم یک پاراگراف توضیح نوشته. توصیه می‌کنیم که حتما حداقل این خلاصه‌ها را بخونید که خیلی کمک می‌کنه از موضوعات داغ عقب نمونید.
برخی کلید واژه‌ها و موضوعات اصلی که در مقاله‌های این گلچین اومده:
Mutli-Task Learning
Self-Supervised Learning and Meta-Learning
Transfer Learning
Semantic Parsing
Representation Learning
Masked language Modelling
Question/Answering

هر چند مقاله‌های خوب دیگه‌ای هم هست که در این کنفرانس‌ها اومده و در این گلچین نیومده. انشاءالله کم‌کم معرفیشون می‌کنیم.

لینک پست:
http://newsletter.ruder.io/issues/eacl-iclr-naacl-papers-round-up-research-reality-checks-ml-on-code-592784

#read
#blog

@nlp_stuff
This media is not supported in your browser
VIEW IN TELEGRAM
اضافه شدن مدل‌های تصویری به هاگینگ فیس

هاگینگ فیس دیروز طی آخرین ریلیز کتابخونه ترنسفورمرز مدل‌های ViT و CLIP و DeiT رو بهش اضافه کرده. همانطور که می‌دونید این سه مدل، مدل‌های ترنسفورمری هستند که مخصوص پردازش تصویر هستند. حالا هاگینگ‌فیس علاوه بر رشد کمی مدل‌های مورد پیشتیبانی‌اش داره سعی مودال‌های دیگه رو هم پوشش بده (اگه یادتون باشه ماه قبل هم چند تا مدل ترنسفورمری صوتی اضافه کرده بودند). مثل مدل‌های متنی و صوتی هم که قبلا رو سایتشون امکان تست و دمو آنلاین گذاشته بودند، اینجا هم واسه این مدل های تصویری این امکان رو گذاشتند که شما با آپلود تصویر عملکرد مدل‌های ترنسفورمری تصویری رو امتحان کنید.
خلاصه الان دیگه می‌تونید با ترنسفورمرز برید و در حوزه‌های متن و تصویر و صوت صفا کنید.

لینک پیج مدل ViT:
https://huggingface.co/google/vit-base-patch16-224

لینک توییت اضافه شدن این مدل‌ها:
https://twitter.com/huggingface/status/1392503426978881536

#link

@nlp_stuff
شبکه‌های پیچشی یا ترنسفورمر؟

همانطور که قبلا بارها در همین کانال گفتیم و تاکید کردیم، نحوه تصمیم‌گیری و رفتار یک شبکه عصبی تحت تاثیری سوگیری القایی (inductive bias) است و معماریش بر اون بنا شده. در کمتر از یک سال اخیر مدل‌های تصویری ترنسفورمری متنوع منتشر شده‌اند که رقیب مدل‌های cnn ای محسوب می‌شوند. هر یک از این دو دسته مدل‌ها در تسک‌ها و دیتاست‌های مختلف امتیاز‌های مختلفی رو نسبت به هم گرفته‌اند و گاه برتری با cnn بوده و گاه با ترنسفورمر. واضحه که صرف مقایسه بر اساس یک امتیاز دقت نمی‌تونه معنای زیادی برای تحلیل این دو معماری با سوگیری‌های القایی متفاوت باشه. در پست فعلی، براتون مقاله‌ای رو آوردیم (مال همین سه روز پیشه) که سعی کرده به جای موندن در بررسی عدد ارور به عمق ماجرا بره و سعی کنه با تحلیل الگو و سازگاری خطا، مدل‌های cnn و ترنسفورمری اون ها رو با هم مقایسه کنه. حالا اینی که گفتیم یعنی چی؟

یک نظری که در مورد cnnها وجود داره اینه که اونها برای تشخیص یک تصویر (برای مثال دسته‌بندیش) به جای توجه به شکل (shape) اون به بافت (texture) توجه می‌کنند. این مقاله هم این فرض رو پایه خودش قرار داده و سعی کرده با این فرض جلو بره و ببینه که آیا میتونه نشانه‌ای از برتری ترنسفورمر‌ها و یا cnnها نسبت به هم دیگه پیدا کنه. علاوه بر این، سعی کرده تا معیارهای سازگاری خطا رو هم به بازی اضافه کنه و از اونها کمک بگیره (سازگاری خطا به این مفهومه که چه قدر رفتار اشتباه معقول و مورد انتظاره، فرض کنید مدل پایه‌ای دارید که دقتش ۹۰ درصده و یک درصد گربه‌ها رو به اشتباه سگ تشخیص می‌ده بعد میاید این رو روی یک دیتاست فاین تیون می‌کنید دقت مدل میشه ۹۸ درصد ولی حالا بیست درصد گربه‌ها رو سگ تشخیص می‌ده، این ناسازگاری خطا بین حالت اول و دوم نشون میده که رفتار این مدل معقول نیست و یک چیزی رو داره از دادگان یاد می‌گیره که احتمالا می‌لنگه!)

با توجه به نکات مذکور این مقاله اومده آزمایش‌های متنوعی رو برای بررسی تفاوت‌های ترنسفورمرها و cnnها طراحی کرده و نتایجشون رو به دست آورده. برای مثال در یک آزمایش (شکل ۵) اومده از دیتاست SIN استفاده کرده. این دیتاست حاوی تصاویریه که بافت و شکلشون با هم نمی‌خونه (یعنی فرض کنید شکل گربه‌ست ولی بافتش چوبه. به شکل ۱ دقت کنید) سپس مقاله میاد هر کدوم از این تصاویر عجیب غریب رو به مدل ورودی میده و از مدل می‌خواد پیش بینی کنه که این تصویر چیه؟ (فرض کنید تصویر شکل گربه با بافت چوب یا بالعکس رو میده به مدل، ممکنه مدل بگه این گربه است ممکنه بگه این چوبه یا اصلا ممکنه بگه این قالب صابونه)!
سپس میاد برای هر مدل تصویری، تعداد باری رو که مدل شکل یک تصویر رو درست تشخیص میده (به تصویری که شکلش گربه است میگه که گربه‌ست) تقسیم می‌کنه به تعداد باری که مدل شکل یا بافت تصویر رو تشخیص میده (به تصویری که شکل یا بافتش گربه است میگه گربه است) و همون طور که در شکل پیوست نگاه می‌کنید این میزان برای شبکه‌های ترنسفورمری به عملکرد انسانی روی دسته کلاس‌های مختلف نزدیکتر بوده. به معنای بهتر یک انسان در ۱۰۰ درصد مواقعی که یک موتور رو تشخیص میده شکل اون رو تشخیص میده و نه بافتش؛ ولی resnet هنگامی که یک تصویری رو موتور تشخیص میده، هفتاد درصد احتمال داره بافتش موتور بوده باشه و تنها سی درصد مواقع شکلش موتور بوده
در آزمایش دیگه‌ای (شکل ۴) اومده برای هر مدل میزان ناسازگاری خطا بین خطای روی دیتاست عادی و خطای روی دیتاست مریضی مثل SIN رو حساب کرده و نشون داده که مدل‌های ترنسفورمری از تناقض کمتری رنج می‌برند تا مدل‌های cnn ای! در کل در پایان این جوری نتیجه‌گیری کرده که مدل‌های ترنسفورمری نسبت به مدل‌های cnnای در ترید آف بین شکل/بافت بیشتر به شکل توجه می‌کنند (به خاطر سوگیری القایی که میتونند به هر جای تصویر اتنشن بزنند! مقایسه کنید با cnnای که مجبوره به ویژگی‌های مجاورتی تکیه کنه) و بیشتر به کار ما انسان‌ها میاد.

مقاله زیبایه، اگر فرصت کردید بخونید، ضرر نمی‌کنید.


لینک مقاله:
https://arxiv.org/abs/2105.07197

#read
#paper

@nlp_stuff
اشتباه نکنید! مکانیزم توجه همه آن چیزی که لازم دارید نیست!

با ظهور و بروز هر چه بیشتر انواع معماری‌های ترنسفورمری برای مودالیتی‌های مختلف مانند متن و تصویر، این تصور ایجاد شده که واقعا مکانیزم توجه یه تنه داره بازی رو در میاره. اما بچه‌های EPFL به همراه یک تن از خوبای گوگل ترمز رو کشیدند و با محاسبات ریاضیاتی که انجام دادند، اثبات کردند که چنانچه مکانیزم توجه بدون حضور اسکیپ‌کانکشن‌ها و شبکه MLP به کار گرفته بشه، باعث میشه که شبکه ترنسفورمری در طول لایه‌ها به سمت یک ماتریس با رنک ۱ همگرا بشه. در واقع اگر این دو مکانیزم نباشند هر چه به سمت لایه‌های بالاتر شبکه ترنسفورمر پیش بریم، شبکه با توکن‌های ورودی به طور یکسان برخورد می‌کنه‌. در واقع این دوستان اثبات کردند که وجود اسکیپ کانکشن باعث میشه که رنک نهایی ماتریسی که لایه‌های شبکه ترنسفورمر به آن همگرا می‌شه بیشتر از یک باشه و شبکه با توکن‌های ورودی به‌طور متفاوت برخورد کنه و وجود MLP، همگرایی لایه‌ها را به تعویق میندازه. همچنین این دوستان ثابت کردند که نرمال‌سازی لایه‌ها که در معماری ترنسفورمر وجود داره هیچ نقشی رو ایفا نمی‌کنه! یافته‌های این پژوهش بار دیگه اهمیت وجود اسکیپ‌کانکشن ‌ها رو اثبات می‌کنه و داره به‌ ما میگه که شبکه‌های MLP رو هم اصلا دست‌کم نگیریم. این دوستان در نهایت یافته‌های علمی‌شون رو بر روی سه معماری BERT و Albert و XLnet هم تست کردند که در تصویر زیر روند همگرایی این شبکه‌ها رو در طول لایه‌های مختلف می‌تونید ببینید. همون‌طور که مشخصه معماری‌ای که تنها مبتنی بر توجه به خود است با همگرایی سریع به سمت ماتریس با رنک یک مواجه میشه که باعث میشه که با همه توکن‌ها به یک صورت برخورد کنه که اصلا چیز مطلوبی نیست.

لینک مقاله:
https://arxiv.org/abs/2103.03404

#paper
#read

@nlp_stuff
2025/07/07 04:10:12
Back to Top
HTML Embed Code: