مخزن نوتبوکهای متنوع NLP
در اینجا بیش از ۲۰۰ نوتبوک گردآوری شدهاند که مسائل مختلفی در حوزه NLP رو (از نحوه فاین تیونکردن bert و gpt گرفته تا استفاده از doc2vec و fasttext) پوشش دادهاند. میتونه منبع خیلی خوبی برای بازیکردن و دستکاری کردن و در نهایت آموزش و تمرین کد زدن برای مسائل مختلف nlp با استفاده از مدلهای مختلف باشه.
https://notebooks.quantumstat.com/
#link
@nlp_stuff
در اینجا بیش از ۲۰۰ نوتبوک گردآوری شدهاند که مسائل مختلفی در حوزه 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
این اواخر در کانال راجع به مولتی مودال لرنینگ پستهای زیادی گذاشته شد و راجع بهش صحبت کردیم و قبلا هم گفتیم که یکی از جهتهای ریسرچهای آینده میتونه باشه. اگر به این موضوع علاقهمند هستید، دعوتتون میکنیم این کورس یادگیری ماشین مولتیمودال از دانشگاه 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
این بلاگپست نابی و تازه به ده سوال راجع به برت و مدلهای ترنسفورمری پاسخ میده؛ سوالاتی مثل اینا:
• برت و ترنسفورمرها چی هستند؟
• قبل از این مدلها چکار میکردیم؟
• معماری پایه و اصلی ترنسفورمرها چیه؟
• توکنایزر برت چیه؟
• روش آموزش برت چیه؟
پاسخهایی که به سوالات داده خیلی دقیق و در عین حال مختصر و مفید هستند؛ یعنی هم برای آشنایی با موضوع و هم مرور کلیش مناسبه. نیم ساعت وقت بگذارید ارزششو داره.
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
این ابزار به شما اجازه میده که دیتای خودتون رو بکشید و ازش خروجی 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
سیلابس کورس:
https://web.stanford.edu/class/cs224w/
پ.ن. کانال رو به دو نفر دیگه معرفی کنید که ببینیم اپیدمی در یک شبکهی پیچیده چقدر منتشر میشه! :))
#coach
#course
@nlp_stuff
بهبه! کورس این ترم CS224W Machine Learning with Graphs از استنفورد هم هفتهای دو جلسهاش داره میاد. در این کورس بیشتر روی مباحثی مثل Graph Representation و GNN که الان خیلی داغ هم هستند تمرکز میشه. در ضمن اگر کورس ۲۰۱۹ این درس را دیدید، توصیه میکنیم یه نگاه به سیلابس درس بندازید تا ببینید چقدر آپدیت شده و جذابه!
استادش (jure leskovec) هم که غول مرحلهی آخر این زمینهست دیگه. یه نگاه به h-index و سنش بهطور همزمان بندازید تا حرف ما رو تصدیق کنید.
ویدیوهای کورس:
https://www.youtube.com/playlist?list=PLoROMvodv4rPLKxIpqhjhPgdQy7imNkDn
سیلابس کورس:
https://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
امشب میخوایم یک کتابخونه کوچیک رو بهتون معرفی کنیم. در خیلی از کاربردها و مسائل واقعی به علت پیچیدگی و هزینههای بالای شبکههای دیپ و یادگیری انتها به انتها امکان استفاده ازشون نیست؛ در نتیجه مجبوریم که به سمت روشهای سنتی و در نتیجه استخراج ویژگی از متن و کلمه پیش بریم. یکی از ویژگیهای مهم هر کلمه میتونه فراوانی استفاده ازش در پیکرههای (corpus) مختلف باشه که این معیار میتونه نشون بده که این کلمه چه قدر رایجه، چه قدر ایستواژهست (stopword) یا چه قدر خاصه. در صورتی که خودتون بخواید برای هر کلمه بیاید این عدد رو حساب کنید نیازمند این هستید که یک پیکره بزرگ پیدا کنید و فراوانی هر کلمه از اون رو محاسبه کنید که خب فرآیند وقتگیر و رمگیری میتونه باشه.
کتابخونهی wordfreq برای ۳۶ زبان مختلف (از جمله زبان فارسی) فراوانی نسبی کلمات رو روی پیکرههای متنی بزرگ هر زبان (مثلا برای فارسی روی Wikipedia و Subtitles و OSCAR و Twitter) حساب کرده و به راحتی آب خوردن و به سرعت اراده کردن، برای هر کلمهای که بخواید این مقدار رو بهتون برمیگردونه.
لینک کتابخونه:
https://github.com/LuminosoInsight/wordfreq/
#tool
@nlp_stuff
GitHub
GitHub - rspeer/wordfreq: Access a database of word frequencies, in various natural languages.
Access a database of word frequencies, in various natural languages. - rspeer/wordfreq
جادوی 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
دوستان عزیزمون در دانشگاه استنفورد دارند انقلاب میکنند! حتما اسم 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
Telegram
stuff
دایره المعارف ترنسفورمرها!
پس از تولد ترنسفورمرها و برت به ترتیب در ۲۰۱۷ و ۲۰۱۸، موجی از انواع و اقسام مدلهای ترنسفورمری به راه افتاد که البته هر یک موفق به پرچمداری حوزه و مساله خاصی در پردازش زبان شدند. که البته همین پیشروی در حوزه پردازش زبان و مدلهای زبانی منجر به بازشدن درها و مسائل و چالشها و نیازمندیهای تازهتری شد (مانند کم کردن حجم مدلهای زبانی یا توانایی بازیابی اطلاعات از مجموعه اسناد و یا داشتن ترنسفورمرهایی با محدوده طول توکنهای مورد پردازش بیشتر و ...). این چالشها خود موجب پیدایش موج جدیدتری (و البته پرتعدادتری!) از ترنسفورمرها در طی یکی دو سال اخیر شد که هر یک به دنبال حل یک نیازمندی خاصتری هستند.
حال در بساط امروز خود مقالهای داریم که به صورت خلاصه و اما جامع به بررسی و توضیح مدلهای ترنسفورمری زبانی مختلف پرداخته است. اگر میخواهید بدانید که فرق BART با T5 چیست، اگر میخواهید بدانید که از RAG چگونه در بازیابی اطلاعات استفاده میکنند، اگر که حس میکنید از موج جدید جاماندهاید و نیاز به سینک شدن دوباره با این همه مدلهای ترنسفورمری هستید، شما را به دیدن این پیپر عالی دعوت میکنیم.
لینک مقاله:
arxiv.org/abs/2104.10640
#read
#paper
@nlp_stuff
پس از تولد ترنسفورمرها و برت به ترتیب در ۲۰۱۷ و ۲۰۱۸، موجی از انواع و اقسام مدلهای ترنسفورمری به راه افتاد که البته هر یک موفق به پرچمداری حوزه و مساله خاصی در پردازش زبان شدند. که البته همین پیشروی در حوزه پردازش زبان و مدلهای زبانی منجر به بازشدن درها و مسائل و چالشها و نیازمندیهای تازهتری شد (مانند کم کردن حجم مدلهای زبانی یا توانایی بازیابی اطلاعات از مجموعه اسناد و یا داشتن ترنسفورمرهایی با محدوده طول توکنهای مورد پردازش بیشتر و ...). این چالشها خود موجب پیدایش موج جدیدتری (و البته پرتعدادتری!) از ترنسفورمرها در طی یکی دو سال اخیر شد که هر یک به دنبال حل یک نیازمندی خاصتری هستند.
حال در بساط امروز خود مقالهای داریم که به صورت خلاصه و اما جامع به بررسی و توضیح مدلهای ترنسفورمری زبانی مختلف پرداخته است. اگر میخواهید بدانید که فرق BART با T5 چیست، اگر میخواهید بدانید که از RAG چگونه در بازیابی اطلاعات استفاده میکنند، اگر که حس میکنید از موج جدید جاماندهاید و نیاز به سینک شدن دوباره با این همه مدلهای ترنسفورمری هستید، شما را به دیدن این پیپر عالی دعوت میکنیم.
لینک مقاله:
arxiv.org/abs/2104.10640
#read
#paper
@nlp_stuff
Telegram
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
آلزایمر یکی از شایعترین انواع زوالهای مغزی است که معمولا علائم آن از سن بالای پنجاه سال نمایان میشوند و تا حال حاضر هیچ گونه درمانی برای آن وجود ندارد. تنها راه مقابله با این بیماری تشخیص زودهنگام آن و انجام یکسری تکنیک برای کاهش سرعت پیشرفت آن است. در این راستا یکی از مهمترین علائم اولیه این بیماری، کاهش قدرت تکلّم است که برای تشخیص آن آزمونهای شناختی ریز و درشتی استفاده میشوند که عموما نیاز به تعامل بیمار با متخصص گفتاردرمانی و علوم اعصاب دارند که قاعدتا این وابستگی انسانی هزینه زمانی و اقتصادی در راه تشخیص بیماری دارد.
از سال ۲۰۰۰ به بعد متخصصان هوش مصنوعی و پردازش زبان در پی خودکارکردن تست تشخیص آلزایمر از روی متن گفتار برآمدند. ابتدا این روشها بر پایه استخراج ویژگی بناشدند اما با پیشرفت دیپ لرنینگ این روشها نیز از شبکه های ژرف نظیر 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
Telegram
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
پست امروز درباره یک معماری ساده است که همین دو روز پیش مقالهاش منتشر شده. این معماری برای تسک دستهبندی تصاویر ارائه شده و بر خلاف شبکههای نامداری مثل 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
Telegram
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
هر چند مقالههای خوب دیگهای هم هست که در این کنفرانسها اومده و در این گلچین نیومده. انشاءالله کمکم معرفیشون میکنیم.
لینک پست:
https://newsletter.ruder.io/issues/eacl-iclr-naacl-papers-round-up-research-reality-checks-ml-on-code-592784
#read
#blog
@nlp_stuff
آقا سباستین رودر (اگر نمیشناسیدش توصیه میکنیم برید بشناسید) مقالات سه کنفرانس مذکور و معروف رو گلچین کرده و برای هر کدوم یک پاراگراف توضیح نوشته. توصیه میکنیم که حتما حداقل این خلاصهها را بخونید که خیلی کمک میکنه از موضوعات داغ عقب نمونید.
برخی کلید واژهها و موضوعات اصلی که در مقالههای این گلچین اومده:
Mutli-Task Learning
Self-Supervised Learning and Meta-Learning
Transfer Learning
Semantic Parsing
Representation Learning
Masked language Modelling
Question/Answering
هر چند مقالههای خوب دیگهای هم هست که در این کنفرانسها اومده و در این گلچین نیومده. انشاءالله کمکم معرفیشون میکنیم.
لینک پست:
https://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
هاگینگ فیس دیروز طی آخرین ریلیز کتابخونه ترنسفورمرز مدلهای 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
همانطور که قبلا بارها در همین کانال گفتیم و تاکید کردیم، نحوه تصمیمگیری و رفتار یک شبکه عصبی تحت تاثیری سوگیری القایی (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
Telegram
stuff
اشتباه نکنید! مکانیزم توجه همه آن چیزی که لازم دارید نیست!
با ظهور و بروز هر چه بیشتر انواع معماریهای ترنسفورمری برای مودالیتیهای مختلف مانند متن و تصویر، این تصور ایجاد شده که واقعا مکانیزم توجه یه تنه داره بازی رو در میاره. اما بچههای EPFL به همراه یک تن از خوبای گوگل ترمز رو کشیدند و با محاسبات ریاضیاتی که انجام دادند، اثبات کردند که چنانچه مکانیزم توجه بدون حضور اسکیپکانکشنها و شبکه MLP به کار گرفته بشه، باعث میشه که شبکه ترنسفورمری در طول لایهها به سمت یک ماتریس با رنک ۱ همگرا بشه. در واقع اگر این دو مکانیزم نباشند هر چه به سمت لایههای بالاتر شبکه ترنسفورمر پیش بریم، شبکه با توکنهای ورودی به طور یکسان برخورد میکنه. در واقع این دوستان اثبات کردند که وجود اسکیپ کانکشن باعث میشه که رنک نهایی ماتریسی که لایههای شبکه ترنسفورمر به آن همگرا میشه بیشتر از یک باشه و شبکه با توکنهای ورودی بهطور متفاوت برخورد کنه و وجود MLP، همگرایی لایهها را به تعویق میندازه. همچنین این دوستان ثابت کردند که نرمالسازی لایهها که در معماری ترنسفورمر وجود داره هیچ نقشی رو ایفا نمیکنه! یافتههای این پژوهش بار دیگه اهمیت وجود اسکیپکانکشن ها رو اثبات میکنه و داره به ما میگه که شبکههای MLP رو هم اصلا دستکم نگیریم. این دوستان در نهایت یافتههای علمیشون رو بر روی سه معماری BERT و Albert و XLnet هم تست کردند که در تصویر زیر روند همگرایی این شبکهها رو در طول لایههای مختلف میتونید ببینید. همونطور که مشخصه معماریای که تنها مبتنی بر توجه به خود است با همگرایی سریع به سمت ماتریس با رنک یک مواجه میشه که باعث میشه که با همه توکنها به یک صورت برخورد کنه که اصلا چیز مطلوبی نیست.
لینک مقاله:
https://arxiv.org/abs/2103.03404
#paper
#read
@nlp_stuff
با ظهور و بروز هر چه بیشتر انواع معماریهای ترنسفورمری برای مودالیتیهای مختلف مانند متن و تصویر، این تصور ایجاد شده که واقعا مکانیزم توجه یه تنه داره بازی رو در میاره. اما بچههای EPFL به همراه یک تن از خوبای گوگل ترمز رو کشیدند و با محاسبات ریاضیاتی که انجام دادند، اثبات کردند که چنانچه مکانیزم توجه بدون حضور اسکیپکانکشنها و شبکه MLP به کار گرفته بشه، باعث میشه که شبکه ترنسفورمری در طول لایهها به سمت یک ماتریس با رنک ۱ همگرا بشه. در واقع اگر این دو مکانیزم نباشند هر چه به سمت لایههای بالاتر شبکه ترنسفورمر پیش بریم، شبکه با توکنهای ورودی به طور یکسان برخورد میکنه. در واقع این دوستان اثبات کردند که وجود اسکیپ کانکشن باعث میشه که رنک نهایی ماتریسی که لایههای شبکه ترنسفورمر به آن همگرا میشه بیشتر از یک باشه و شبکه با توکنهای ورودی بهطور متفاوت برخورد کنه و وجود MLP، همگرایی لایهها را به تعویق میندازه. همچنین این دوستان ثابت کردند که نرمالسازی لایهها که در معماری ترنسفورمر وجود داره هیچ نقشی رو ایفا نمیکنه! یافتههای این پژوهش بار دیگه اهمیت وجود اسکیپکانکشن ها رو اثبات میکنه و داره به ما میگه که شبکههای MLP رو هم اصلا دستکم نگیریم. این دوستان در نهایت یافتههای علمیشون رو بر روی سه معماری BERT و Albert و XLnet هم تست کردند که در تصویر زیر روند همگرایی این شبکهها رو در طول لایههای مختلف میتونید ببینید. همونطور که مشخصه معماریای که تنها مبتنی بر توجه به خود است با همگرایی سریع به سمت ماتریس با رنک یک مواجه میشه که باعث میشه که با همه توکنها به یک صورت برخورد کنه که اصلا چیز مطلوبی نیست.
لینک مقاله:
https://arxiv.org/abs/2103.03404
#paper
#read
@nlp_stuff
Telegram
stuff
معرفی کتابخانهی Accelerate
چند وقت پیش هاگینگ فیس کتابخونهی Accelerate را بیرون داد.
با این زبونبسته شما میتونید راحت روی TPU (شما هم اگر مثل ما توی خونتون TPU ندارید، از مال کولب میتونید استفاده کنید) مدل ترین کنید.
این شکلی هم هست که شما یه تابع ترین با پایتورچ تعریف میکنید و به این کتابخونه میدید.
یه نوتبوک هم برای مثال درست کردند که برت رو روی دیتاست glue mrpc (هر سطر از این دیتاست یه جفت جملهست و لیبلش اینه که از نظر معنایی با هم یکسان هستند یا خیر؟) ترین میکنه.
لینک کتابخانه:
https://github.com/huggingface/accelerate
لینک نوتبوک مثال:
https://colab.research.google.com/github/huggingface/notebooks/blob/master/examples/accelerate/simple_nlp_example.ipynb
#tool
@nlp_stuff
چند وقت پیش هاگینگ فیس کتابخونهی Accelerate را بیرون داد.
با این زبونبسته شما میتونید راحت روی TPU (شما هم اگر مثل ما توی خونتون TPU ندارید، از مال کولب میتونید استفاده کنید) مدل ترین کنید.
این شکلی هم هست که شما یه تابع ترین با پایتورچ تعریف میکنید و به این کتابخونه میدید.
یه نوتبوک هم برای مثال درست کردند که برت رو روی دیتاست glue mrpc (هر سطر از این دیتاست یه جفت جملهست و لیبلش اینه که از نظر معنایی با هم یکسان هستند یا خیر؟) ترین میکنه.
لینک کتابخانه:
https://github.com/huggingface/accelerate
لینک نوتبوک مثال:
https://colab.research.google.com/github/huggingface/notebooks/blob/master/examples/accelerate/simple_nlp_example.ipynb
#tool
@nlp_stuff
بخش Dataset Loaders از سایت paperswithcode!
سایت paperswithcode (قبلا این پست و این پست و این پست را دربارهاش گذاشته بودیم) که بخش دیتاستها را قبلا به سایتش اضافه کرده بود، حالا جدیدا بخشی رو اضافه کرده که برای هر دیتاست، کد لود کردنش رو با کتابخونههای مختلف مثل huggingface datasets, TensorFlow datasets, OpenMMLab, AllenNLP آورده؛ خیلی کاربردی و یک جا.
لینک یک دیتاست مثال:
https://paperswithcode.com/dataset/sst
#link
@nlp_stuff
سایت paperswithcode (قبلا این پست و این پست و این پست را دربارهاش گذاشته بودیم) که بخش دیتاستها را قبلا به سایتش اضافه کرده بود، حالا جدیدا بخشی رو اضافه کرده که برای هر دیتاست، کد لود کردنش رو با کتابخونههای مختلف مثل huggingface datasets, TensorFlow datasets, OpenMMLab, AllenNLP آورده؛ خیلی کاربردی و یک جا.
لینک یک دیتاست مثال:
https://paperswithcode.com/dataset/sst
#link
@nlp_stuff
پاداش کافی است؟
هفته پیش مقالهای تحت عنوان Reward Is Enough منتشر شد که با توجه به نویسندههای بزرگ آن نظیر دیوید سیلور و ریچارد ساتن انتظار میرفت که حرف نویی برای گفتن داشته باشد (پیشاپیش برای دانلودکردنش زور نزنید، دسترسی رایگان ندارد). اما بر خلاف انتظار این مقاله حرفی برای گفتن نداشت و صرفا سعی داشت که بگوید داشتن Reward در یک محیط مساوی است با به دست آوردن هوش عمومی (General Intelligence) و تمامی جنبههای متنوع آن اعم از یادگیری، دانش، فهم، حافظه و غیره. به این نحو که مثلا یک سنجاب برای این که خوراکی بیشتری را جمع کند نیاز دارد که ببیند و تفاوت فصلها را درک کند؛ پس اگر بتواند سیاستی را یاد بگیرد که تعداد بلوطهای جمعآوری شدهاش بیشتر شود نهایتا دیدن و فهمیدن گردش فصلها را هم یاد میگیرد. به همین نحو، مقاله در پی این است که نشان دهد هوش چیزی نیست جز افزایش پاداش.
یانیک کیلچر نیز در آخرین ویدئو خود به بررسی این مقاله (البته به وسیله بولدوزر) پرداخته است و دمار از روزگار آن درآورده. کیلچر در مخالفت کامل با ایده این مقاله معتقد است که صرف داشتن پاداش و حتی یادگیری برای هوشمند شدن کافی نیست و مثال میآورد که یک باکتری و حتی یک میمون بدون واردشدن به چرخه تکامل هرگز به هوشمندی انسان نمیرسند و بخشی از هوشمندی انسان مدیون قابلیتهای پیشساخته (prebuilt functionality) یا حداقل سوگیریهای القایی (inductive bias) است که سیمکشیهای مغز او حتی در نسخه نوزاد او نیز (شاید به لطف تکامل و انتخاب طبیعی) وجود دارند. در کل در این ویدئو بحث بیشتر فلسفی است و از آن جایی که خود مقاله حرفی برای گفتن ندارد بیشتر زمان ویدئو نیز صرف حمله به آن شده است.
در ادامه کیلچر عصبی در ۲۴ ساعت گذشته (احتمالا تحت تاثیر این وقایع) در توییتهای خود به هایپکنندگان هوش مصنوعی حمله کرده و گفته که نیمچه دستاوردهای اسمی فعلی هوش چیزی جز آمار و احتمال دانستن نیست.
https://www.youtube.com/watch?v=dmH1ZpcROMk
#watch
#paper
@nlp_stuff
هفته پیش مقالهای تحت عنوان Reward Is Enough منتشر شد که با توجه به نویسندههای بزرگ آن نظیر دیوید سیلور و ریچارد ساتن انتظار میرفت که حرف نویی برای گفتن داشته باشد (پیشاپیش برای دانلودکردنش زور نزنید، دسترسی رایگان ندارد). اما بر خلاف انتظار این مقاله حرفی برای گفتن نداشت و صرفا سعی داشت که بگوید داشتن Reward در یک محیط مساوی است با به دست آوردن هوش عمومی (General Intelligence) و تمامی جنبههای متنوع آن اعم از یادگیری، دانش، فهم، حافظه و غیره. به این نحو که مثلا یک سنجاب برای این که خوراکی بیشتری را جمع کند نیاز دارد که ببیند و تفاوت فصلها را درک کند؛ پس اگر بتواند سیاستی را یاد بگیرد که تعداد بلوطهای جمعآوری شدهاش بیشتر شود نهایتا دیدن و فهمیدن گردش فصلها را هم یاد میگیرد. به همین نحو، مقاله در پی این است که نشان دهد هوش چیزی نیست جز افزایش پاداش.
یانیک کیلچر نیز در آخرین ویدئو خود به بررسی این مقاله (البته به وسیله بولدوزر) پرداخته است و دمار از روزگار آن درآورده. کیلچر در مخالفت کامل با ایده این مقاله معتقد است که صرف داشتن پاداش و حتی یادگیری برای هوشمند شدن کافی نیست و مثال میآورد که یک باکتری و حتی یک میمون بدون واردشدن به چرخه تکامل هرگز به هوشمندی انسان نمیرسند و بخشی از هوشمندی انسان مدیون قابلیتهای پیشساخته (prebuilt functionality) یا حداقل سوگیریهای القایی (inductive bias) است که سیمکشیهای مغز او حتی در نسخه نوزاد او نیز (شاید به لطف تکامل و انتخاب طبیعی) وجود دارند. در کل در این ویدئو بحث بیشتر فلسفی است و از آن جایی که خود مقاله حرفی برای گفتن ندارد بیشتر زمان ویدئو نیز صرف حمله به آن شده است.
در ادامه کیلچر عصبی در ۲۴ ساعت گذشته (احتمالا تحت تاثیر این وقایع) در توییتهای خود به هایپکنندگان هوش مصنوعی حمله کرده و گفته که نیمچه دستاوردهای اسمی فعلی هوش چیزی جز آمار و احتمال دانستن نیست.
https://www.youtube.com/watch?v=dmH1ZpcROMk
#watch
#paper
@nlp_stuff
YouTube
Reward Is Enough (Machine Learning Research Paper Explained)
#reinforcementlearning #deepmind #agi
What's the most promising path to creating Artificial General Intelligence (AGI)? This paper makes the bold claim that a learning agent maximizing its reward in a sufficiently complex environment will necessarily develop…
What's the most promising path to creating Artificial General Intelligence (AGI)? This paper makes the bold claim that a learning agent maximizing its reward in a sufficiently complex environment will necessarily develop…
دادگان PersianQA
جمعآوری دادگان برای ایجاد محک بین مدلها یکی از کارهای اساسی و بنایی برای هر مسأله هوشی محسوب میشه. آقای ایوبی و رفقاشون هم اومدن یک دیتاست پرسش و پاسخ فارسی به سبک squad رو با سایز ده هزار جفت پرسش و پاسخ جمع آوری کردهاند و به صورت رایگان (تو کشور ما اینش نکته مهمیه!!) در اختیار عموم قرار دادهاند. با این که شاید حجمش نسبتا کم باشه و یا توش هم ترکیبی از نوشتار رسمی و هم محاورهای باشه ولی در وضعیت فعلی و با توجه به سختی جمع کردن دیتاست، واقعا میتونه به عنوان یک محک و چالش مورد استفاده قرار بگیره.
برای اطلاعات بیشتر میتونین به لینک زیر سر بزنید و با استار بهشون انرژی بدید که این دیتاستشون رو روز به روز خفنتر کنند.
https://github.com/sajjjadayobi/PersianQA
با تشکر از آقای ایوبی بابت معرفی این دیتاست
#irani
#dataset
@nlp_stuff
جمعآوری دادگان برای ایجاد محک بین مدلها یکی از کارهای اساسی و بنایی برای هر مسأله هوشی محسوب میشه. آقای ایوبی و رفقاشون هم اومدن یک دیتاست پرسش و پاسخ فارسی به سبک squad رو با سایز ده هزار جفت پرسش و پاسخ جمع آوری کردهاند و به صورت رایگان (تو کشور ما اینش نکته مهمیه!!) در اختیار عموم قرار دادهاند. با این که شاید حجمش نسبتا کم باشه و یا توش هم ترکیبی از نوشتار رسمی و هم محاورهای باشه ولی در وضعیت فعلی و با توجه به سختی جمع کردن دیتاست، واقعا میتونه به عنوان یک محک و چالش مورد استفاده قرار بگیره.
برای اطلاعات بیشتر میتونین به لینک زیر سر بزنید و با استار بهشون انرژی بدید که این دیتاستشون رو روز به روز خفنتر کنند.
https://github.com/sajjjadayobi/PersianQA
با تشکر از آقای ایوبی بابت معرفی این دیتاست
#irani
#dataset
@nlp_stuff
GitHub
GitHub - sajjjadayobi/PersianQA: Persian (Farsi) Question Answering Dataset (+ Models)
Persian (Farsi) Question Answering Dataset (+ Models) - sajjjadayobi/PersianQA
یک هوشمند مسئول!
اگه در یه جایی از این دنیا مشغول طراحی یه سیستم مبتنی بر AI هستید، باید توجهتون رو به این نکته جلب کنم که طراحی یه سیستم مبتنی بر AI مانند یه سیستم نرمافزاری در دنیای کامپیوتر نیازمند best practice است. ینی یه سری زوج مرتب از چالشها و راهحلهایی که افراد قبل از شما با اونها مواجه شدند و راهحل ارائه شده براش به مقدار خوبی تست شده است. به خاطر همین به عنوان طراح سیستمهای مبتنی بر AI خوبه که با اونها آشنا بشید. برای آگاهی از این practiceها هم چه جایی بهتر از گوگل! بچههای گوگل کلی زحمت کشیدند و یه مفهومی رو به نام Responsible AI توسعه دادند و براش یه بلاگ درست کردند که در این بلاگ به Best Practice های حوزه AI اشاره شده. همچنین ابزارها و راهحلهایی که گوگل برای غلبه بر این چالشها ارائه داده نیز در این بلاگ معرفی شدند. مثلا مسالهای مانند fairness در حوزه AI کمکم داره داغ میشه. وقتی شما مثلا میخواید یه سیستم credit scoring تولید کنید قطعا نتایج این سیسیتم میتونه بر زندگی خیلی از آدمها تاثیر بذاره؛ پس مهمه که اگه این سیستم خطایی هم داره این خطا بین همه اقشار مختلف جامعه به طور منصفانهای پخش بشه. دنیای امروز پر از biasهای ذهنی است که بازتابش در دیتاهای موجود خودش رو نشون میده و عملکرد منصفانه سیستمهای مبتنی بر AI رو تحت تاثیر قرار میده. مثلا ممکنه نسبت به سیاهپوستا خطای بیشتری در تخصیص امتیاز بالا برای سیستم بانکی داشته باشه یا مثلا تفسیرپذیری مدلهای مبتنی بر یادگیری عمیق هم از مسایلی هست که یک سیستم هوشمند مسوول باید نسبت به اون پاسخگو باشه. اگه یه سیستمی دارید طراحی میکنید که دستیار پزشکان در تشخیص سرطان هست باید برای پزشک متخصص توجیه داشته باشه که چرا داره یه نمونه رو سرطان تشخیص میده و چرا دیگری رو سرطان تشخیص نمیده. گوگل برای رعایت هرچه بهتر و راحتتر این practiceها ابزارهای مختلفی توسعه داده که در همین بلاگ به اون اشاره شده و به عنوان یکی از پایهایترین و اساسیترین ابزارها روزبهروز داره ابزار TFX گوگل (پست https://t.iss.one/nlp_stuff/157 رو ببینید) خودش رو بیشتر نشون میده. به خاطر همین توصیه میکنیم که در این دریایی که گوگل از practiceهاش فراهم کرده تنی به آب بزنید.
لینک بلاگ:
https://ai.google/responsibilities/responsible-ai-practices/
اگر هم خیلی دنبال مطلبهای تیتروار میگردید و آبتنی دوست ندارید، سراغ این قسمت از این بلاگ برید که در قالب ۴۳ قانون، مسیر توسعه یک سیستم مبتنی بر AI رو براتون ترسیم کرده:
https://developers.google.com/machine-learning/guides/rules-of-ml
#read
#blog
#link
پ.ن.۱: در معرفی کانال به بقیه کوشا باشید :)
پ.ن.۲: لینک دوم رو با تحریمشکن باز کنید.
@nlp_stuff
اگه در یه جایی از این دنیا مشغول طراحی یه سیستم مبتنی بر AI هستید، باید توجهتون رو به این نکته جلب کنم که طراحی یه سیستم مبتنی بر AI مانند یه سیستم نرمافزاری در دنیای کامپیوتر نیازمند best practice است. ینی یه سری زوج مرتب از چالشها و راهحلهایی که افراد قبل از شما با اونها مواجه شدند و راهحل ارائه شده براش به مقدار خوبی تست شده است. به خاطر همین به عنوان طراح سیستمهای مبتنی بر AI خوبه که با اونها آشنا بشید. برای آگاهی از این practiceها هم چه جایی بهتر از گوگل! بچههای گوگل کلی زحمت کشیدند و یه مفهومی رو به نام Responsible AI توسعه دادند و براش یه بلاگ درست کردند که در این بلاگ به Best Practice های حوزه AI اشاره شده. همچنین ابزارها و راهحلهایی که گوگل برای غلبه بر این چالشها ارائه داده نیز در این بلاگ معرفی شدند. مثلا مسالهای مانند fairness در حوزه AI کمکم داره داغ میشه. وقتی شما مثلا میخواید یه سیستم credit scoring تولید کنید قطعا نتایج این سیسیتم میتونه بر زندگی خیلی از آدمها تاثیر بذاره؛ پس مهمه که اگه این سیستم خطایی هم داره این خطا بین همه اقشار مختلف جامعه به طور منصفانهای پخش بشه. دنیای امروز پر از biasهای ذهنی است که بازتابش در دیتاهای موجود خودش رو نشون میده و عملکرد منصفانه سیستمهای مبتنی بر AI رو تحت تاثیر قرار میده. مثلا ممکنه نسبت به سیاهپوستا خطای بیشتری در تخصیص امتیاز بالا برای سیستم بانکی داشته باشه یا مثلا تفسیرپذیری مدلهای مبتنی بر یادگیری عمیق هم از مسایلی هست که یک سیستم هوشمند مسوول باید نسبت به اون پاسخگو باشه. اگه یه سیستمی دارید طراحی میکنید که دستیار پزشکان در تشخیص سرطان هست باید برای پزشک متخصص توجیه داشته باشه که چرا داره یه نمونه رو سرطان تشخیص میده و چرا دیگری رو سرطان تشخیص نمیده. گوگل برای رعایت هرچه بهتر و راحتتر این practiceها ابزارهای مختلفی توسعه داده که در همین بلاگ به اون اشاره شده و به عنوان یکی از پایهایترین و اساسیترین ابزارها روزبهروز داره ابزار TFX گوگل (پست https://t.iss.one/nlp_stuff/157 رو ببینید) خودش رو بیشتر نشون میده. به خاطر همین توصیه میکنیم که در این دریایی که گوگل از practiceهاش فراهم کرده تنی به آب بزنید.
لینک بلاگ:
https://ai.google/responsibilities/responsible-ai-practices/
اگر هم خیلی دنبال مطلبهای تیتروار میگردید و آبتنی دوست ندارید، سراغ این قسمت از این بلاگ برید که در قالب ۴۳ قانون، مسیر توسعه یک سیستم مبتنی بر AI رو براتون ترسیم کرده:
https://developers.google.com/machine-learning/guides/rules-of-ml
#read
#blog
#link
پ.ن.۱: در معرفی کانال به بقیه کوشا باشید :)
پ.ن.۲: لینک دوم رو با تحریمشکن باز کنید.
@nlp_stuff
ai.google
Google AI -
AI Principles
AI Principles
A guiding framework for our responsible development and use of AI, alongside transparency and accountability in our AI development process.