NLP stuff
4.06K subscribers
147 photos
1 video
2 files
277 links
مطالب خوب و به‌دردبخور در حوزه‌ی هوش مصنوعی و پردازش زبان طبیعی!

شکرشکن شوند همه طوطیان هند
زین قند پارسی که به بنگاله می‌رود

اگر انتقاد، پیشنهاد و یا مطلب مفیدی (لینک، پست و ...) داشتید:
@AliAkbarBadri
@mmsamiei
@MmahdiAghajani
Download Telegram
TensorFlow Decision Forests (TF-DF)

یکی از مدل‌های معروف و کارا در یادگیری ماشین «جنگل تصمیم‌گیری» است. همون‌طور که می‌دونید، این مدل‌ها تفسیرپذیری بالایی دارند و می‌تونند روی دیتای عددی وcategorical بدون پیش‌پردازش کار کنند.
تنسرفلو حالا جنگل تصمیم‌گیری رو به کتابخونه‌ی خودش اضافه کرده تا بتونید این مدل را راحت آموزش بدید، سرو کنید و تفسیر کنید؛ البته این مدل در کتابخونه‌های دیگه مثل sklearn وجود داشتند اما حالا با استفاده از TF-DF می‌توان از ابزارهای دیگه‌ی تنسرفلو مثل TF-serving و TFX به صورت یکپارچه و راحت‌تر استفاده کرد و لذت برد. همچنین تنسرفلو کلی از انواع این مدل رو مثل random forests, gradient-boosted trees, CART, (Lambda)MART, DART, Extra Trees, greedy global growth, oblique trees, one-side-sampling, … اضافه کرده.
نمونه‌ی کد و تفسیر مدل رو در دو عکس بالا آوردیم.

لینک پست توضیح TF-DF:
https://blog.tensorflow.org/2021/05/introducing-tensorflow-decision-forests.html?m=1

#read
#blog
#tool

@nlp_stuff
مقاله‌ای برای مرور ترنسفورمر‌ها

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

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

#read
#paper

@nlp_stuff
کارگاه «راهکارهای پردازش متن برای زبان‌های کمتر توسعه‌یافته»

دومین دوره گارگاه «راهکارهای پردازش متن برای زبان‌های کمتر توسعه‌یافته» همزمان با ICNLSP-2021 با همکاری آزمایشگاه پردازش متن و زبان طبیعی دانشگاه تهران برگزار می‌شود. هدف این کارگاه معطوف کردن پژوهش ها به سمت چالش های زبان های low-resource و تشویق پژوهشگران به تولید دادگان و الگوریتم پردازشی برای این زبان ها است. در زبان فارسی یک مساله مشترک (shared task) با موضوع استخراج روابط معنایی از متن (Semantic Relation Extraction) تعریف شده است.

مقالات پذیرفته‌شده در مجموعه مقالات همایش ICNLSP به چاپ خواهد رسید و توسط ACL ایندکس می‌شود.

شرکت در کارگاه و چاپ مقالات مرتبط پذیرفته شده رایگان است.

لینک کارگاه:
nsurl.org
وب سایت مسابقات:
https://competitions.codalab.org/competitions/31979
تماس:
[email protected]

#other

@nlp_stuff
پردازش صوت با speechbrain

اگه دنبال یه ابزاری می‌گردید که بتونید باهاش راحت کارهای پردازش صوتی بکنید، باید برید سراغ speechbrain. این ابزار کارهای بازشناسی گفتار، بازشناسی گوینده، بهبود صوت، پردازش‌های میانی مانند استخراج فیچر و پردازش همزمان چندین میکروفون رو انجا میده. نکته اینه که مدل‌هایی که استفاده شده کاملا به‌روز و در برخی کاربرد‌ها حتی state of the art هستند و در برخی دیگه هم عملکرد کاملا رقابتی دارند. از ویژگی‌های مهم دیگه این ابزار اینه که مدل‌های استفاده شده در این ابزار بر روی هاگینگ‌فیس موجودند. شاید تنها ضعف این ابزار اینه که مدل‌ها کاملا پایتورچی هستند و خبری از تنسورفلو نیست اما با توجه به سادگی کاربرد و همچنین وجود مدل‌ها بر روی هاگینگ‌فیس نباید اصلا نگران استفاده ازش باشید. از دیگر ویژگی‌های مثبتش هم اینه که کاملا با GPU دوسته و اگه لازم دارید تا اون رو بر روی دیتاست خودتون آموزش بدید و از GPU استفاده کنید، قطعا مشکلی نخواهید داشت. پیشنهاد می‌کنیم بر و بچه‌های صوتی حتما یه نگاهی به این ابزار به‌روز بندازند.

لینک گیت‌هاب:
https://github.com/speechbrain/speechbrain

لینک صفحه رسمی در هاگینگ‌فیس :
https://huggingface.co/speechbrain

#tool

@nlp_stuff
خداحافظ توکنایزر برای همیشه و ممنون بابت اون‌همه ماهی؟

داستان چگونگی ورودی دادن متن به شبکه‌های عمیق یکی از مهم‌ترین گلوگاه‌های کار با داده متنی است. شروع این داستان به این نحو بود که ابتدا یک دیکشنری از تمامی کلمات به صورت سخت ایجاد می‌کردند و طبعا هر کلمه‌‌ای که در این دیکشنری حاضر بود می‌توانست به عنوان ویژگی ورودی به شبکه مورد استفاده قرار بگیرد (سوال امتیازی: عیب این روش چه بود؟ پاسخ: طبیعتا اگر کلمه‌ای در این دیکشنری حاضر نبود مدل هنگام مواجهه با آن کلمه مجبور بود توکن پیشفرضی نظیر UNK را به جای آن کلمه نادیده بگذارد) پس از مدتی سر و کله زدن با ایده‌های مختلف نظیر این که به جای کلمه‌ها، کاراکترها را به شبکه ورودی بدهیم، سرانجام ایده‌های زیرکلمه‌ای (subword) ظهور پیدا کردند. این ایده‌ها مبتنی بر این بودند که کلمات به یک سری زیرکلمه شکسته شوند و مخلوطی از کلمات و زیرکلمات در دیکشنری اولیه ذخیره شوند. طبیعتا اگر مدل کلمه‌ای را ببیند که قبلا در دیکشنری خود نداشته است، میتواند با استفاده از این زیرکلمه‌ها آن کلمه نادیده را به کلمات حاضر در دیکشنری بشکند (به فرض مثال فرض کنید مدل کلمه یارانه در ورودی آمده و قبلا هم هیچ جا این کلمه را ندیده ولی دو کلمه «یار» و زیرکلمه «انه» را از قبل دارد بنابراین یارانه را به صورت یار + انه به خوردش می‌دهیم. اگر بیشتر علاقه‌مند شدید بفهمید این توکنایزرها اصلا چطوری ساخته می‌شوند می‌توانید این پست [https://t.iss.one/nlp_stuff/6] کهن کانال رو بخونید). با ظهور این مدل‌ها عملکرد مدل‌های عصبی در مسائل مختلف پردازش زبان بهبود قابل توجهی را تجربه کردند و همینک نیز شبکه‌های از پیش آموزش داده شده نظیر برت نیز از این توکنایزر‌های subword استفاده می‌کنند. اما از آن جا که گل بی عیب خداست این توکنایزرها هم در چند جا می‌لنگد: یکی وقتی که میخواهند عملکرد بین زبانی را امتحان کنند و دیگری نیز وقتی که با دیتای نویژی نواجه می‌شوند (شما متوجه شدید من نویز و مواجه را اشتباه نوشتم ولی توکنایزر‌ها و مدل‌های بناشده بر آن‌ها این را نمی‌فهمند)


بر این اساس دوستان گوگلی آمدند و ایده دادند که اصلا چه کاری است توکنایز کنیم بیایم به صورت بایت به بایت همان UTF-8ای که هست، رشته‌های متنی را به مدل ورودی بدهیم. بر این اساس این دوستان مدل MT5 (که یک مدل چندزبانه بسیار خفنی است و هر مساله‌ای را به شکل یک مساله text-2-text نگاه می‌کند) را به عنوان مدل اولیه در نظر گرفته اند و سعی کرده این ایده بایت به بایت ورودی دادن متن به آن را روی آن اعمال کرده و یک مدل به اصطلاح tokenizer free به نام ByT5 را ارائه دهند. شیوه پیش آموزش مدل نیز مانند MT5 است به این صورت که اسپن‌هایی از محدوده متن ورودی را خراب کرده و از مدل خواسته‌اند تا آن‌ها را بازسازی کند (برای فهم بهتر این مطلب بهتر است مقاله‌های T5 و MT5 را مطالعه بفرمایید). از دیگر ابتکار قابل توجه خالقان Byt5 نیز می‌توان به عمیق‌تر کردن قسمت رمزگذار و متقابلا سبک کردن قسمت رمزگشای ترنسفورمر Byt5 اشاره کرد. در نهایت محصول پنج مدل ByT5 در سایز‌های مختلف شده است که:
+ اولا در سایز‌های با کمتر از یک میلیارد پارامتر نسبت به مدل مشابه نسخه MT5 عملکرد بهتری دارند.
+ ثانیا در مسائل تولید متن نسبت به مدل‌های MT5 عملکرد بهتری دارند.
+ ثالثا در مسائل بین زبانی نسبت به مدل‌های MT5 درخشان‌تر هستند.
+ و رابعا که شاید مهم ترین نکته باشد این است که نسبت به دیتا‌های نویزی در ورودی خود ( همان داستان نویژی و نواجه و اینها ) محکم‌تر و کاراتر هستند.

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

در ضمن این مدل در انواع سایز‌ها بر روی هاگینگ فیس نیز قرار داده شده است و می‌توانید اگر حوصله دارید، یه تن بزنید:
https://huggingface.co/google/byt5-base

پ.ن.۱. حیف نیست کانال ما رو به بقیه معرفی نمی‌کنید؟

پ.ن.۲. عکس‌های ضمیمه شده چهارتاست. ورق بزنید و همه رو ببینید.

پ.ن.۳. تیتر هم سرچ کنید. چیز خوبیه.

#read
#paper

@nlp_stuff
کورس درجه یک هاگینگ‌فیس

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

لازم به یادآوری نیست که هاگینگ‌فیس این کورس را به رایگان قرار داده است و شما برای یادگیری این که چگونه با برت کار کنید یا آن را روی تسکی فاین تیون کنید دیگر لازم نیست مقدار n تومن پول برای کورس و همایش بقیه با عنوان «چگونه با برت جادو کنیم» و «با برت پردازش زبان طبیعی‌ات را قورت بده» پرداخت کنید.

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

لینک کورس:
https://huggingface.co/course/

#coach
#course

@nlp_stuff
مدل TextStyleBrush از فیس‌بوک!

فیس‌بوک یک مدل جدیدا به اسم TextStyleBrush داده که یک متن ورودی و یه تصویر حاوی متن دست‌خطی یا غیردست‌خطی (حتی فقط با یک کلمه) می‌گیره و استایل متن داخل تصویر رو (رنگ و فونت و…) به اون متن ورودی اعمال می‌کنه؛ یعنی متن داخل یه تصویر رو میتونه عوض کنه (گیف ضمیمه شده رو ببینید).
این مدل اولین مدل self-supervised است که این کار رو با فقط یک تصویر به صورت one-shot انجام میده. البته واضحه که کل مدل self-supervised نیست چون از مدل‌های از پیش آماده‌ی OCR و طبقه‌بندی فونت هم استفاده کردند. برای آموزشش به عنوان ورودی اینا رو به مدل دادند: اول. عکسی که حاوی استایل مورد نظره و دور اون تیکه از عکس که متن داره یه مستطیل کشیدند. دوم. متن واقعی که داخل اون عکس هست. سوم. متن ورودی. مدل در وهله‌ی اول از RESNET استفاده می‌کنه تا به صورت جدا جدا، استایل رو تبدیل به یک بردار کنه و از طرفی اون دو تا متن رو هم تبدیل به تنسور بکنه. بعد بردار استایل رو میده به یک مدل StyleGAN2 ادیت شده تا بتونه اینجوری این مدل رو به بردار استایل مشروط کنه و استایل مورد نظر رو تولید کنه. و بعد از طرفی خروجی این قسمت رو به یک شبکه دیگه میده که قراره متن ورودی رو به صورت دلخواه تبدیل کنه و اون هم از این استایل برای تولید یک ماسک روی این متن استفاده می‌کنه که استایل رو به این متن اعمال کنه و خروجی رو یک بار با این softmax mask و یکبار بدون اون تولید کنه و چون دو تا متن ورودی داشت در مجموع چهار تا خروجی میده. بعد این عکس‌ها را به سه تا شبکه دادند تا به عنوان توابع loss عمل کنند. دوتا از این سه تا شبکه از قبل آموزش دیدند: اول. شبکه‌ی VGG19 که روی دیتاست فونت خودشون (که طبیعتا کل فونت‌های دنیا نیست) آموزش دادند و اینجا به این دلیل استفاده شده که عکس ورودی و عکسی رو که از روی متن عکس تولید کردند از نظر استایل و فونت مقایسه کنه. دوم. یک مدل OCR آماده که دو متن ورودی و متن داخل این چهار عکس تولیدی رو مقایسه کنه. سوم. طبیعتا شبکه‌ی سوم هم قسمت discriminator از GAN باید باشه تا سعی کنه عکس تولیدی از متن داخل عکس ورودی رو از عکس اصلی تشخیص بده. اگر فکر می‌کنید خیلی پیچیده و گیج‌کننده‌ست، باید بگیم همینطوره! ویدیوی توضیح مقاله (لینکش رو اون پایین آوردیم) رو ببینید که اوضاع بهتر بشه.
البته فیس‌بوک مدلش رو به دلیل جلوگیری از سواستفاده (بنا بر ادعای خودشون) منتشر نمی‌کنه، ولی دیتاست و مقاله‌اش رو منتشر کردند (که در ادامه لینکشون رو آوردیم) که اونا که می‌خوان، مدل خودشونو بسازند.


با روش‌های کاملا supervised خیلی سخت میشه مدل‌های اینجوری با توانایی عمومی تولید کرد و کلی دیتای لیبل خورده لازم دارند و باز هم ممکنه کلی از انواع دیتا را ندیده باشند چون کلی مدل مختلف دست خط هست.
روش‌های self-supervised قسمت لیبل زدن داده رو به صورت خودکار انجام میده و نقش انسان رو از این وسط حذف می‌کنه؛ یعنی میاد از خود دیتا استفاده می‌کنه و سعی می‌کنه با بخشی از دیتا، بخشی دیگه رو پیش بینی کنه و با این حرکت مسئله unsupervised تبدیل به مسئله supervised میشه. مثالش در متن، همین برته. در تصویر هم مثلا یک جایی از تصویر رو حذف می‌کنه و سعی میکنه بازسازیش کنه. این موضوع تحقیقاتی داغ داغ یا بهتر بگیم توی اوج خودشه. یه لینک توضیح بیشتر ازش اون پایین هست.

لینک مقاله (طبیعتا فیسبوک فیلتره دیگه):
https://ai.facebook.com/research/publications/textstylebrush-transfer-of-text-aesthetics-from-a-single-example/

لینک ویدیوی توضیح مقاله (یوتیوب هم که فیلتره):
https://www.youtube.com/watch?v=OC0oe1EzQxo

لینک بلاگ توضیح (این یکی انگار تحریمه 😄! با تحریم‌شکن قدرتمند باید برید):
https://ai.facebook.com/blog/ai-can-now-emulate-text-style-in-images-in-one-shot-using-just-a-single-word

لینک دیتاست عکس‌های دست‌خط:
https://github.com/facebookresearch/IMGUR5K-Handwriting-Dataset

لینک توضیح یادگیری self-supervised:
https://research.aimultiple.com/self-supervised-learning/

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

#read
#watch
#paper
#blog

@nlp_stuff
کورس یادگیری ماشین دکتر رهبان

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

کورس ماشین لرنینگ:
https://www.aparat.com/playlist/954603
کورس فرآیند‌های تصادفی:
https://www.aparat.com/playlist/1007391
کورس هوش مصنوعی:
https://www.aparat.com/playlist/966909

#course
#coach

@nlp_stuff
سری سخنرانی‌های NLP دانشگاه شهید بهشتی

عنوان:
Generationary and Exemplification Modeling:
Going Beyond Word Sense Disambiguation by Generating Definitions and Usage Examples

ارائه دهنده: Roberto Navigli استاد تمام دانشگاه Sapienza University of Rome

در این سخنرانی که به دعوت دانشگاه شهید بهشتی برگزار میشه، دکتر Navigli قراره برامون روایت کنند که بجای اينكه يك انباره از معانی كلمات مثل وردنت یا بابل‌نت داشته باشيم، با دو رويكرد می‌تونيم برای معانی كلمات، با توجه به مثال‌هاشون، توضيح با تعريف توليد كنيم و در جهت مقابل هم برای معانی، با توجه به تعريفشون، مثال توليد كنيم. ایشون از خوبای رفع ابهام و سرپرست تیم بابل‌نت هم هستند و کارهاشون در این حوزه شهره خاص و عام شده! چالش‌هایی مثل XL-wsd گوشه‌ای از ادای دین ایشون به حوزه NLP است. پس دعوت می‌کنیم سخنرانی ایشون رو گوش کنید.

زمان ارائه: چهارشنبه ساعت ۱۶:۳۰

لینک:
https://zoom.us/webinar/register/WN_O4vdU-jhRzuHeqA3OSwkGg

#other

@nlp_stuff
کتابخانه‌ی AugLy فیس‌بوک!

تا حالا خیلی راجع به augmentation، اهمیتش و انواعش پست گذاشتیم؛ مثل این پست و این پست و این پست (اگر لینکاشونو نمی‌بینید، یعنی تلگرامتون آپدیت نیست یا در نسخه وب دیده نمیشه!)؛ حالا در همین راستا فیس‌بوک کتابخانه‌ی AugLy رو اوپن‌سورس کرده.
این کتابخونه از چهار تا زیرکتابخونه برای چهار مودالیتی (متن، صوت، تصویر و فیلم) ساخته شده و همه‌شون هم interfaceهای مشابهی دارند. فیس‌بوک کتابخونه‌های مختلف قبلی رو توی این کتابخونه جمع کرده و یه سری چیزای جدید هم خودش نوشته. توابع جالبی غیر از توابع معمول (کراپ، چرخش و ...) واسه عکس داره؛ مثلا یه عکس رو میگیره و میذاره توی قالب اینستاگرام و بقیه‌ی شبکه‌های اجتماعی که انگار یه نفر اسکرین‌شات گرفته و به اشتراک گذاشته و خب این خیلی به‌دردبخوره چون ملت اکثرا اینجوری پست‌های اینستاگرام و توییتر رو به هم میفرستند. یا روی متن کلی تغییرات متنوع داره که توی تصاویر ضمیمه شده هم مشاهده می‌کنید. کلا هم این داستان augmentation چه واسه اینکه مدل نسبت به ورودی‌های مختلف robust باشه چه از نظر بیزینسی خیلی خوبه؛ مثلا اگر یه کاربر یه ذره یه عکس یا ویدیو یا موسیقی رو تغییر بده و بخواد به اسم خودش آپلود کنه، مشخص میشه. از این کتابخونه در چالش تشخیص دیپ فیک هم استفاده شد که بفهمند مدل کی robustتره.
هنوز داکیومنتیشن کتابخونه کامل نیست و یه سری مثال اولیه برای هر کدوم از مودالیتی‌ها آورده؛ اما توصیه می‌کنیم جزء پیشروهایی باشید که سراغش میره.

لینک گیت:
https://github.com/facebookresearch/AugLy
لینک بلاگ توضیح کتابخونه:
https://ai.facebook.com/blog/augly-a-new-data-augmentation-library-to-help-build-more-robust-ai-models/

پ.ن.۱. سه تا تصویر ضمیمه شده. ورق بزنید.
پ.ن.۲. لطفا کانال را به بقیه هم معرفی کنید.
#tool

@nlp_stuff
مروری بر مدل‌های عمیق برای داده‌های جدولی!

اگر علاقه‌مند به دیپ‌لرنینگ هستید و معتقدید که هر مساله‌ای رو می‌تونید باهاش حل کنید احتمالا وقتی سراغ دادگان جدولی میرید خیلی به چالش می‌خورید. مردانی از سرزمین ماتروشکا و از شرکت یاندکس در مقاله‌ای اومدند و مدل‌های عمیق رو برای دیتاهای جدولی یه دور مرور کردند و اون‌ها رو با مدل GBDT یا همون Gradient Boosting Decesion Tree مقایسه کردند. اگر اهل استفاده از کتابخونه XGBoost باشید احتمالا با این روش آشنا هستید. این کتابخانه یک پیاده‌سازی شیک و مجلسی از روش GBDT است که اتفاقا در دادگان جدولی خیلی خوب جواب میده و در مقایسه با کتابخانه scikit learn در پروداکشن بسیار خوب عمل می‌کنه. حالا این دوستان با توجه به اینکه در حوزه دادگان جدولی بنچ‌مارک استانداردی وجود نداره ۱۱ دیتاست معروف در این حوزه رو جمع‌آوری کردند و مدل‌های دیپ و همچنین GBDT رو بر روی این دیتاست‌ها تست گرفتند. نکته اینه که دربرخی موارد GBDT مسابقه رو برده و در برخی موارد مدل‌های دیپ. اما نکته مهمتر اینه که بین مدل‌های دیپ معروفی که در این مقاله بررسی شده معماری ساده ResNet تقریبا همه مدل‌های دیپ رو شکست داده و گفته شده که می‌تونه در پروداکشن به عنوان یه baseline خوب مورد استفاده قرار بگیره. اما یه نتیجه مهم دیگه‌ای که این دوستان گرفتند اینه که در دیتاست‌هایی که فیچر‌ها heterogenous هستند(ینی فیچرها جنبه‌های مختلفی از یک آبجکت را با معیار‌های متفاوت توصیف می‌کنند مانند دیتاست California Housing) GBDT بهتر جواب میده اما در دیتاست‌هایی که فیچرها heterogenous نیستند (مانند دیتاست Higgs) مدل‌های دیپ بهتر عمل می‌کنند. همچنین در مساله‌های دسته‌بندی که تعداد کلاس‌ها خیلی زیاد میشه ( مثلا حدود ۱۰۰۰ کلاس) باز مدل‌های دیپ بهتر عمل می‌کنند. در نهایت این برادران نعمت رو بر ما تکمیل کردند و یه مدل مبتنی بر ترنسفورمر برای دیتاست‌های جدولی ارایه دادند که مدل‌های دیپ دیگه رو شکست داده و همچنین در دیتاست‌هایی که GBDT برنده بوده هم تونسته فاصله رو با GBDT کم کنه. استفاده از مدل‌های دیپ در پروداکشن باعث میشه که پایپلاین‌های یک‌دست‌تری داشته باشید و نگهداری‌شون با توجه به ابزارهای مدیریت پایپلاین‌های ML مثل TFX ساده‌تر باشه. از همین جهت مدل معرفی شده می‌تونه اهمیت داشته باشه. این مقاله رو از دست ندید.

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

لینک پیاده‌سازی مقاله:
https://github.com/yandex-research/rtdl

پ.ن: اگه با TFX آشنا نیستید به این پست از کانال رجوع کنید:
https://t.iss.one/nlp_stuff/157

#paper
#read

@nlp_stuff
معرفی هفته‌نامه‌ی آلفاسیگنال

داداشامون زحمت کشیدند یه سایت زدند که به صورت هفتگی مطالب پرطرفدار در زمینه هوش مصنوعی رو با کمک هوش مصنوعی (همون کراول و شمارش خودمون!) گلچین می‌کنه و بهتون ایمیل کنه که قشنگ سر فرصت بشینید ازشون لذت ببرید. بخش‌های مختلفی مثل Publications, News, Repos, Tweets داره.
ما خودمون اکثر مطالبی که معرفی کرده، در کانال گذاشتیم و می‌گذاریم؛ ولی خب همه دوست دارند مستقل و قائم بالذات باشند دیگه!!

لینک سایت:
https://alphasignal.ai/

پ.ن. با تشکر از آقای محمدحسین بهاری بابت معرفی این سایت.

#link

@nlp_stuff
مدل مولتی مودال Frozen

مدل‌های زبانی خفنی مثل GPT3 به واسطه ظرفیت و قدرت بالایی که دارند توی وظایف مختلف امتیاز بالایی رو کسب کرده‌اند و مورد ستایش واقع شده‌اند. یکی از توانایی‌های خفن این مدل‌ها یادگیری few shot و zero shot است؛ با این توضیح ساده که میتونند بدون آموزش دیدن روی دیتاهای یک وظیفه جدید و صرفا با ورودی گرفتن توضیحات اون وظیفه به همراه چند مثال ازش، خروجی رو برای یک ورودی مرتبط با اون وظیفه پیش‌بینی کنند.

با وجود تمامی اوصاف و مناقب مدلهای نظیر GPT3، اما به علت این که این مدل‌ها صرفا محدود به دیتاهای متنی است، از قدرت بالای اونها در حل مسائل بینایی نمی‌تونیم استفاده کنیم. حالا افرادی از دیپ مایند اومدند و یک مدل زبانی مولتی‌مودال با قابلیت یادگیری few shot رو با نام Frozen خلق کردند و یک پیپر بیرون دادند. در واقع هدف از این مدل این بوده که بتونه هم با داده تصویری و هم با داده متنی کار کنه. داده متنی رو که به راحتی و با توکنایزر میشه به رشته‌ای از بردارها تبدیل کرد و به مدل ورودی داد، میمونه داده‌های تصویری. برای داده‌های تصویری هم این دوستان اومدند و شبکه‌‌ای رو آموزش دادند که با ورودی گرفتن یک تصویر در خروجی خودش دنباله‌ای از بردارها رو تولید کنه ( انگار که تصویر رو به امبدینگ چند تا کلمه تبدیل میکنه) و سپس هر موقع بخوان تصویری رو به مدل زبانی ورودی بدن، در عوض میان این دنباله‌ بردارهای تولیدشده توسط این شبکه انکودر تصویری رو به مدل زبانی ورودی می‌دن. برای آموزش مدل‌ هم وظیفه Image Captioning رو در نظر گرفتند. به این شکل که تصاویر دادگان Conceptual Caption رو به مدل دادند و ازش خواستند که Caption رو تولید کنه.

حالا چرا اسم مدل Frozen است؟ پاسخ این به نحوه آموزش مدل برمی‌گرده. از اونجایی که قدرت مدلهای نظیر GPT بسیار زیاده و ناشی از آموزش دیدن اونها روی حجم عظیمی از داده است پس اصلا عاقلانه نیست که وزن‌های این شبکه رو بخوایم باهاشون ور بریم و دستکاری‌شون کنیم. در نتیجه در هنگام آموزش این شبکه پارامتر‌های مدل زبانی ثابت میمونن و در عوض گرادیانی که به عقب برمی‌گرده میره و انکودر تصویری رو آموزش میده. در واقع این انکودر تصویریه که باید بتونه خودش رو با مدل زبانی تنظیم کنه.

در نهایت هم اومدند با انجام چند آزمایش و گذاشتن نتایجش در مقاله نشون دادن که چه قدر یادگیرنده Few Shot خوبیه این مدل.

جهت درک بهتر توضیحات ارائه شده میتونید تصاویر پیوست شده از مقاله رو یه نگاهی بیاندازید.

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

#paper
#read

@nlp_stuff
ماشین‌های خودران تسلا!

آقای Andrej Karpathy، مدیر ارشد هوش مصنوعی شرکت تسلا، در CVPR2021 ارائه‌ای با موضوع Tesla Autonomous Driving ارائه کرده که نکات جالبش رو با هم مرور می‌کنیم.
قبلا برای ماشین‌های خودران، چیزی به نام sensor fusoin بوده که سعی می‌کرد بین سیگنال از دوربین و رادار و … اجتماع بگیره اما حالا تسلا اومده کلا روی استفاده سنگین از vision!

برای اینکه بشه هر جای دنیا (و نه فقط در شهرهای خاصی که دیتا و نقشه‌اش کامله) استفاده کرد، باید به هوش خود ماشین تکیه کرد و نه فقط سنسورها! این موضوع نیاز به دیتای زیاد (میلیون‌ها ویدیو)، تمیز (لیبل زده شده و دارای لیبل سرعت، شتاب، عمق و…) و متنوع (انواع وضعیت‌ها در رانندگی) داره. پس اومدند هشت تا دوربین دور و بر ماشین نصب کردند که از اطراف فیلم می‌گیره. اینجوری کلی دیتای لازم واسه ماشین برای مسیریابی جمع شده.
بعد رفتند سراغ لیبل زدنش؛ چون حجم دیتا خیلی خیلی زیاده (هشت تا دوربین و کلی فریم) نمی‌شده همینجوری آدم بیاری لیبل بزنه، چون حتی واسه تسلا هم خیلی گرون بوده (حتی اگر چند بار دیگه هم جیب ملت رو با بازی با بیت‌کوین خالی می‌کرد)!
واسه همین اومدند با یه روش جالب به اسم Data Auto Labeling اینکارو کردند.
داستان اینه که بررسی یه اتفاق در لحظه رخداد خیلی سخت‌تره تا بعدها؛ به این موضوع واپس‌نگری (hindsight) گفته میشه که شما گذشته و حال و آینده‌ی یک اتفاق رو می‌دونید. یعنی اینجا شما می‌تونی با بهترین دوربین‌ها و سنسورها کلی دیتا رو ضبط کنی و بعدا بیاری توی آزمایشگاه با قوی‌ترین مدل‌ها و پردازنده‌ها بررسی کنی که مثلا چرا در فلان لحظه دید دوربین مسدود شده (مثلا بابت دود ماشین جلویی یا گرد و غبار) و با استفاده از فریم‌های قبلی و بعدیش بفهمی که مثلا یه کامیون دودزا (از اینا که وقتی توی ماشین پشتشون میفتی آسم میگیری) بوده و لیبلش بزنی و بعدش هم انسان ویرایش یا چیزی لازم باشه انجام بده. اینجوری کلی دیتای لیبل زده جمع میشه.
بخاطر اینکه تنوع داده هم حفظ بشه، نشستند ۲۲۱ سناریوی (اسمشون رو گذاشتند triggers) درب و داغون (شیب یا پیچ زیاد جاده، موتور در اتوبان در زمان شب، شرایط برف سنگین و…) رو هم جمع کردند و براشون با دیتاهای مشتری‌ها که سمت سرور ارسال می‌شده دیتا جمع کردند.
واسه آموزش و تخمین کارایی مدل هم یه شبکه عصبی اولیه روی دیتای اولیه ران کردند، اونو روی ماشین مشتری‌ها به صورت shadow mode نصب کردند (یعنی مدل اون پشت پیش‌بینی می‌کرده ولی کاری نمی‌کرده). بعد با همین triggerها دیتاهای لازم جمع‌آوری شده و به سرور ارسال شده و از همین کلیپ سناریوها برای unit test کردن مدل‌های بعدی استفاده شده که ببیند مدل خوب یاد گرفته یا نه. و باز از اول مدل روی ماشین نصب شده و….
این حلقه‌ی shadow mode هفت بار ران شده تا به نتایج خیلی خوبی برسند، یک میلیون کلیپ ده ثانیه‌ای ۳۶ فریم بر ثانیه درست کردند، ۶ میلیارد تا آبجکت لیبل خورده و ۱.۵ پتابایت در مجموع حجم دیتا شده.
مدلشون هم به این شکل شده اول یک سری مدل روی هر کدوم از فریم‌های هر کدوم از این هشت تا دوربین زدند و بعد این اطلاعات رو با هم برای یک زمان تجمیع کردند و بعد دیتاهای این زمان‌های مختلف هم با هم تجمیع کردند. خلاصه اون وسط تجمیع تو تجمیعی شده؛ واسه همین یه مدل سلسله مراتبی تعریف شده که برای هر کدوم از زیر تسک‌ها (head) از مدل‌های ترنسفورمری با پشتوانه مدل‌های تصویری مثل resnet استفاده شده و درون هر head یک سری trunk و درون هر کدومش یک سری terminal (اسم‌هاییه که دادند) هست.
مثلا یک head مسئول pixel prediction taskها است و اون یکی مسئول classification taskها.
و مثلا داخل یک head، یک trunk هست که مسئول object classification است و یکی مسئول navigation classification. و اون terminalها مسئول انجام تسک‌های خرد شده هستنند.
این روش دو مزیت بزرگ داره: اول. این تسک‌ها از هم decouple میشه و هر کسی یه گوشه‌ای رو میگیره و میبره جلو.
دوم. این روش واسه جاهایی که مدل باید کلی خروجی متفاوت رو با دقت خوب بده خیلی خوب کار می‌کنه.
بعدم راجع به اینکه چقدر منابع محاسباتی خفنی دارند میگه؛ دارندگی و برازندگی. کلی کلیپ‌های نمونه‌ی جذاب در ارائه‌اش هست که باید ببینید.

پ.ن.۱. حجم مهندسی نرم‌افزار و مهندسی دیتای پروژه رو ببینید خداوکیلی.
پ.ن.۲. چهار تا عکس ضمیمه شده. ورق بزنید.
پ.ن.۳. لطفا کانال رو به بقیه معرفی کنید.

لینک ویدیوی ارائه در CVPR 2021:
https://www.youtube.com/watch?v=a510m7s_SVI

لینک ویدیوی توضیح ارائه توسط آقا یانیک:
https://www.youtube.com/watch?v=9MJTeOaSMTk&t=25s

#watch

@nlp_stuff
آقای تورینگ! تست شما پاس شد؛ لطفا سوال بعدی!

چند وقتی هست که مدل GPT-3 معرفی شده و هر روز که از خواب پا میشیم به زیبا بودن این مدل بیشتر و بیشتر پی می‌بریم. از معرفی ابزار copilot توسط گیت‌هاب گرفته (که براساس GPT-3 بود و بر اساس function definition به زبان طبیعی، به ۸۰ زبان زنده دنیا کدنویسی می‌کرد) تا این مقاله از خانوم کلارک که به عنوان یکی از برجسته‌ترین مقالات رویداد ACLNLP2021 انتخاب شده است. در این مقاله درواقع چارچوبی برای تست انسانی مدل‌های تولید زبان طبیعی (NLG) معرفی شده است و در کنار اون نتایج ارزیابی انسانی مدل GPT-3 بررسی شده است.

حتما می‌دونید که یکی از اهداف مقدس آلن تورینگ فقید در دهه ۵۰ میلادی، طراحی سیستمی بود که اگر جملاتی به زبان انگلیسی تولید می‌کرد و به انسان‌های مختلف نشان داده می‌شد، کسی قادر نباشد که مشخص کند تولیدکننده آن متن‌ها ماشین است. در این مقاله خانوم کلارک و دوستان با استفاده از ابزار Amazon Mechanical Turk که امکان crowdsourcing را فراهم می‌کند، این تست را بر روی مدل GPT-3 انجام دادند. تست‌ها در سه دامنه داستان‌های کوتاه، مقاله کوتاه خبری و دستورآشپزی بودند. شاید جالب باشه که بدونید کیفیت تشخیص ارزیابی‌کنندگان این متون، حدود ۵۰ درصد بوده است!!! یعنی دقیقا با شانس رندم توانستند machine-generated بودن این متون را تشخیص دهند. اما کار اصلی این مقاله، انجام آزمایشاتی در راستای آموزش ارزیابی‌کنندگان برای ارزیابی این مجموعه متون تستی بود تا کیفیت تشخیص آن‌ها بهبود یابد. در این مقاله ۳ سناریو برای آموزش انتخاب شده است. در سناریو اول ابتدا در کنار هر متن تستی، چند جمله در جهت راهنمایی برای تشخیص کیفیت متن گذاشته می‌شود و سپس ارزیابی صورت می‌گیرد. در سناریوی بعدی در هر متن تستی، بعد از انتخاب گزینه توسط ارزیابی‌کننده (در ابزار AMT می‌تونید برای هر تست گزینه‌هایی انتخاب کنید که ارزیابی‌کننده‌ها از بین اون‌ها انتخاب کنند و در اینجا به صورت ساده ۴ گزینه درنظر گرفته شده است. گزینه اول ؛ مطمئنا انسان نوشته است، گزینه دوم؛ احتمالا انسان نوشته است، گزینه سوم؛ احتمالا ماشین نوشته است و گزینه آخر؛ قطعا ماشین نوشته است انتخاب شده‌اند) در صورتی که اشتباه انتخاب می‌کرده‌است، گزینه درست به همراه دلایلی برای توضیح به ارزیابی‌کنندگان نشان داده می‌شده است. همچنین در سناریو سوم دو متن که با جملات یکسان اولیه یکی توسط انسان و دیگری توسط ماشین تولید شده است به ارزیابی‌کنندگان داده شده و پس از انتخاب گزینه، گزینه درست به آن‌ها نمایش داده شده است. تا اینجا اگه فکر می‌کنید که این سناریوها در بهبود کیفیت تشخیص ارزیابی‌کنندگان خیلی موثر بودند باید بگم که سخت در اشتباهید!! مدل GPT-3 حتی در این سناریوها نیز قدرت خودش رو نشون داد و فقط سناریو دوم تونست یه مقدار موثر باشه و به‌طور میانگین حدود ۶ درصد تشخیص رو بهتر کنه!

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

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

پ.ن.۱: به عکس دقت کنید! به نظرتون کدومش کار ماشینه؟ ☺️

پ.ن.۲: جا داره یه نگاه دوباره به این پست از کانال بندازید که بررسی مقاله‌ی برنده‌ی ACL2020 بود و اون هم روی یک نگاه دیگه از ارزیابی مدل تکیه کرده بود:
https://t.iss.one/nlp_stuff/48

#read
#paper

@nlp_stuff
مدل codex در برابر کدزن‌ها!

حدود ده روز پیش بود که ابزار github copilot (اگر ندیدید این جا رو ببینید: https://copilot.github.com) رونمایی شد و موجب گریبان دریدن تعداد زیادی از افراد و به خصوص قشر برنامه‌نویس شد. همان موقع این سوال ایجاد شد که قضیه فنی پشت copilot چیه و چه قدر قدرت و توانایی داره. حالا یک جمعی از دوستان در open-ai اومدند و مقاله‌ای دادند تا به مانند همیشه حرص و حسادت ما رو برانگیزند. در این مقاله صحبت از مدل زبانی به نام codex کردند و بیان کردند که ابزار copilot نیز بر پایه همین مدل زبانی بنا شده و از اون قدرت می‌گیره. لازم به ذکر است که در این مقاله صرفا به بررسی کیس آموزش codex روی پایتون پرداختند و در مورد عملکرد بقیه مدل‌ها سخنی به میان نیامده. به طور اجمالی، codex یک مدل زبانی بر پایه معماری GPT با سایز ۱۲ میلیارد پارامتره که بر روی یک دیتاست حامل داک استرینگ‌ها و پیاده‌سازی توابع در زبان پایتون آموزش دیده تا تسکی به نام تولید فانکشن رو یاد بگیره؛ یعنی با گرفتن داک استرینگ‌ها بتونه متن تابع رو پیاده کنه (برای این که یک مقیاسی دستتون بیاد روی دیتاستی با حجم ۱۵۹ گیگ با این اوصاف ذکر شده آموزش دیده)
اما در موقع ارزیابی از اونجایی که open-ai منابع و پول زیاد داره و حیفه که ازشون استفاده نکنه، اومده روی کدهای خروجی unit test انجام داده تا بتونند بفهمند قدرت codex در چه حده و چند درصد برنامه‌هایی که می‌نویسه صحیح و درست عمل می‌کنند. گل مطلب اینه که در موقعی که یک سمپل از مدل codex گرفته بشه این مدل ۳۷.۷ درصد از توابع رو درست پیاده سازی می‌کرده (عدد حیرت انگیزیه) و هنگامی که به جای یک سمپل صد سمپل از codex بگیریم، این مدل ۷۷.۵ درصد از توابع رو می‌تونسته درست پیاده کنه (به طور خیلی ساده شده بخوایم بگیم در ۷۷.۵ درصد مواقع یکی از سمپل‌ها بوده که جواب درست بوده!)
در ادامه این مقاله هم از اونجا که همچنین کلی دلار باقی مونده بوده کلی اکسپریمنت و یونیت تست انجام دادند تا رفتار codex رو بررسی کنند. در آخر هم بخشی رو به خواباندن هایپ جوگیرها تخصیص دادند و از معایب‌ و موانع و خطرات استفاده از codex در صنعت و حل مسائل دنیای واقعی صحبت کردند و کلا هنوز کلی راه تا رویای پیاده‌سازی اتومات برنامه‌ها و اخراج برنامه‌نویس‌ها مونده ولی نشدنی نیست...

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

#paper
#read
#tool

@nlp_stuff
مجموعه داده‌ی FarsTail

مجموعه داده‌ی FarsTail، مجموعه داده‌ی فارسی جمع آوری شده برای مسئله‌ی استنتاج زبان طبیعی (Natural Language Inference) توسط آزمایشگاه داده‌کاوی و یادگیری ماشین دانشگاه قم است. تسک NLI بدین صورت است که مدل، دو جمله ورودی را می‌گیرد و در خروجی می‌گوید با توجه به جمله‌ی اول، جمله‌ی دوم درست یا غلط یا خنثی است.
در تصویر توضیحات مربوط به روند جمع‌آوری آن (روشی شبیه به سناریوی استفاده شده در مجموعه داده‌ی انگلیسی SciTail) آورده شده است.
البته با اینکه از نظر اندازه، این دیتاست (۱۰ هزار جفت جمله) در مقایسه با دیتاست‌های معروف انگلیسی همچون SNLI (۵۷۰ هزار جفت جمله) خیلی کوچک‌تره اما شبیه دادگان SciTail (۲۷ هزار جفت جمله) با کیفیته و در هر صورت دمشون گرم که این کار رو شروع کردند و مهم‌تر اینکه رایگان منتشرش کردند.

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

لینک دانلود مجموعه داده:
https://github.com/dml-qom/FarsTail

پ.ن. لطفا بهشون استار بدید که انرژی بگیرند.

#link
#irani
#dataset

@nlp_stuff
باز هم MLOps؛ این‌بار معرفی آنتی‌پترن‌ها!

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

اول. Temporal Leakage Anti-pattern:
این موضوع به این اشاره داره که در تحلیل سری‌های زمانی از جمله تحلیل‌های مالی یک اشتباه رایج اینه که دیتای آموزش و تست رو به صورت رندم split کنید در حالیکه باید به صورت تقدم و تاخر زمانی از هم جدا بشوند.

دوم. Oversampling Leakage Anti-pattern:
این موضوع اشاره به این داره که در مساله‌های دسته‌بندی که با داده نامتقارن از حیث تعداد نمونه از هر کلاس رو‌به‌رو هستید نباید oversampling رو قبل از تقسیم دیتاست به تست و آموزش انجام بدید و دیتاست تست باید همون نسبت اولیه کلاس‌ها رو حفظ کنه.

سوم. Act Now, Reflect Never Anti-pattern:
این موضوع داره میگه که حتما باید سیستمی برای مانیتور کردن، دنبال کردن عملکرد مدل و دیباگ کردن اون داشته باشید تا از مواردی مانند concept drift به موقع جلوگیری کنید.

چهارم. Tuning Under the Carpet Anti-pattern:
این مورد داره میگه باید حتما مکانیزمی برای hyper-parameter tuning و همچنین track کردن اون داشته باشید و همین‌طور برای خودتون پشت پستو نشینید و پارامتر‌ها رو tune کنید!!

پنجم. Set and Forget Anti-pattern:
این موضوع هم به این اشاره داره که در کسب‌وکار‌ها عموما دیتا به صورت دوره‌ای و با توجه به شرایط محیطی به‌روز میشه و بعضا پارامتر‌های توزیع هر یک از فیچر‌ها ممکنه تغییر بکنه به همین دلیل اینکه فکر کنید یه مدل رو بر روی دادگان آموزش اولیه می‌تونید آموزش بدید و بعد serve ش کنید و به امون خدا رهاش کنید و انتظار داشته باشید که چند ماه بعد هم نتایج خوبی داشته باشه غلطه و باید به صورت دوره‌ای retrain بشه و لازمه که مکانیزمی برای این موضوع طراحی بشه.

البته چندین مورد دیگه هم از این anti-pattern ها آورده شده که برای اینکه از اون‌ها آگاه بشید دعوت می‌کنیم تا این مقاله رو که جناب elvis بزرگ اون رو پیشنهاد کردند بخونید.

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

پ.ن.۱: باز هم این پست از کانال درباره TFX رو یادآوری می‌کنیم برای اینکه مکانیزم‌هایی داشته باشید تا از این آنتی‌پترن‌ها در امان باشید.
https://t.iss.one/nlp_stuff/157

پ.ن.۲: اگر دنبال یه مقاله جون‌دار دیگه در این حوزه هستید هم می‌تونید این مقاله رو بخونید که البته جزو رفرنس‌های همین مقاله‌ای است که در بالا معرفی کردیم:
https://papers.nips.cc/paper/2015/file/86df7dcfd896fcaf2674f757a2463eba-Paper.pdf

#paper
#read

@nlp_stuff
جمع‌آوری دادگان دست‌نوشته‌ی برخط فارسی

همین اولش بگیم که می‌تونید با هر امکاناتی در این جمع‌آوری دادگان مشارکت کنید.

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

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

لینک سایت:
FarsiHandwriting.ir

#link
#irani
#dataset

@nlp_stuff