NLP stuff

#tweet
Channel
Education
Technology and Applications
News and Media
Blogs
PersianIranIran
Logo of the Telegram channel NLP stuff
@nlp_stuffPromote
4.05K
subscribers
143
photos
1
video
270
links
مطالب خوب و به‌دردبخور در حوزه‌ی هوش مصنوعی و پردازش زبان طبیعی! شکرشکن شوند همه طوطیان هند زین قند پارسی که به بنگاله می‌رود اگر انتقاد، پیشنهاد و یا مطلب مفیدی (لینک، پست و ...) داشتید: @AliAkbarBadri @mmsamiei @MmahdiAghajani
همه ممکن است نشت کنند!

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

شاید با خودتون فکر کنید خب اینکه خیلی راحته؛ ولی اینطور نیست. استاد پوروطنِ ما همیشه این مثل معروف رو می‌گفت که: شیطان در جزئیاته.
سال ۲۰۱۷ اندرو انگِ گولاخ و شرکا یک مقاله با عنوان CheXNet: Radiologist-Level Pneumonia Detection on Chest X-Rays with Deep Learning دادند (تریلی اسم مقاله رو نمی‌کشه). اونجا یه مدل CNNای ارائه دادند و روی صد هزار تا تصویر رادیولوژی از ۳۰ هزار تا بیمار آموزش دادند تا بتونند بیماری ذات الریه رو تشخیص بدن (اولا عظمت دیتا رو داشته باشید. ثانیا دقت کردید که چند تا تصویر برای یک بیمار وجود داشته). بعد اومدند این دیتا رو ۸۰ به ۲۰ بین آموزش و تست به صورت رندوم تقسیم کردند. چشمتون مشکل رو دید؟ اگر شما بیاید دیتا رو به صورت رندوم تقسیم کنید تصاویر یک بیمار می‌تونه توی هر دو تا داده‌ی ترین و تست باشه و مدل می‌تونه از فیچرهای مربوط به بیمار کلی استفاده کنه؛ حتی اگر این فیچرها مستقیما مربوط به خود بیماری ذات الریه نباشه. مثلا یک زخمی از عمل رو توی یه عکس آموزش میبینه و یاد میگیره این مربوط به کلاس اوله. بعد دیگه هر جا عین همون زخم رو ببینه زرتی میگه کلاس اوله و دیگه فکر نمیکنه. یعنی یه میان‌بر پیدا کرد. بعد از  ۱۱ روز فهمیدند مشکل داره و اومدند این رو درست کردند و دوباره مقاله رو منتشر کردند. در عکس دوم ضمیمه‌شده به پست می‌تونید ببینید که جمله‌ی there was 𝗻𝗼 𝗽𝗮𝘁𝗶𝗲𝗻𝘁 𝗼𝘃𝗲𝗿𝗹𝗮𝗽 between the sets رو در تصویر راست (نسخه اصلاح شده) نسبت به تصویر چپ (نسخه اولیه) اضافه کردند و نحوه تقسیم رو تغییر دادند.

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

لینک مقاله نسخه اول:
https://arxiv.org/abs/1711.05225v1

لینک مقاله نسخه اصلاح شده:
https://arxiv.org/abs/1711.05225

لینک توئیت توضیح این داستان:
https://twitter.com/svpino/status/1592140348905517056

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

#tweet
#handson

@nlp_stuff
عمرتان زیادی کرده که دکترا بخوانید؟

این
هفته آقای لکان (یکی از سه‌ خدای دیپ‌لرنینگ) توییتی زده و به مورد Aditya Ramesh اشاره کرد. فردی که لیسانسش رو از دانشگاه NYU گرفته و قصد داشت تا وارد دوره دکتری شود اما با یک کارآموزی در OpenAI مسیرش تغییر کرده و در آن جا مانده و در نهایت با مدرک لیسانس تبدیل به نویسنده اصلی مقاله مدل معروف Dall-E می‌شود.

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

نکته‌ دیگری که آقای نیشابور اشاره کرده است این است که تعداد موقعیت‌های دکترای یادگیری ماشین روز به روز بیشتر می‌‌شود اما از آن طرف تعداد شغل‌هایی که به مدرک دکتری یادگیری ماشین نیاز دارد در آینده روز به روز کمتر می‌شود. در واقع با داشتن دکتری شما over-qualified می‌شوید و از طرف دیگر هم مگر آکادمی چه قدر موقعیت شغلی می‌تواند داشته باشد؟ در مقابل، صنعت اما بیش از ML Researcher به ML Engineer‌ها نیازمند است. کسی که بتواند چیزی را واقعا بسازد. دوره دکتری باعث دوری نسبی از شما صنعت و مهارت‌های آن خواهد شد. آقای نیشابور در انتها به نتایج تحقیقی اشاره کرده که در آن گفته شده درصد زیادی از دانشجویان تحصیلات تکمیلی دچار افسردگی و اضطراب شدید هستند.

نکته دیگری که ما به صحبت‌های بالا اضافه می‌توانیم بکنیم این است که جایگاه متفاوت یادگیری ماشین و به طور عام هوش مصنوعی نسبت به سایر علوم را باید در نظر گرفت. هوش مصنوعی در مدت ۷۰ سال اخیری که از خدا عمر گرفته است، همچنان حوزه یکپارچه‌ای نبوده است. هر از چند گاهی ایده‌ای آمده است و با هوش مصنوعی وارد بهاری شده و در نهایت در زمستانی دفن شده است. گاهی منطق‌دان‌ها به آن وارد شده‌اند و با دیدشان روش‌های سیستم‌های خبره و منطق را برای هوش مصنوعی توسعه داده‌اند. گاهی برقی‌ها وارد شده‌اند و مفاهیم سیگنالی را در حوزه هوش مصنوعی غالب کرده‌اند و این اواخر هم ریاضی‌دان‌ها و آماردان‌ها وارد شده و پارادایم یادگیری ماشین را پادشاه هوش مصنوعی کرده‌اند. از حدود ۲۰۱۲ به این ور هم شبکه‌های دیپ (شاید مدیون پیشرفت‌‌های سخت‌افزاری) فرمان بازی را به دست گرفته و بهاری‌ترین دوران هوش مصنوعی را رقم زده‌اند. اما واقعیت این است که یادگیری عمیق نیز اکنون احتمالا وارد پاییز خود شده است (در این مورد در آینده احتمالا صحبت می‌کنیم). مسیر تحقیقاتی هوش مصنوعی و یادگیری ماشین احتمال دارد به زودی دوباره وارد زمستان سخت شده و تمامی سرمایه‌گذاری‌های تحقیقاتی بسوزند. البته که بحث دنیای صنعت فرق می‌کند و همین الان بسیاری راه‌حل‌های یافت شده در دنیای آکادمی آماده هستند تا به دنیای صنعت و کاربرد اعمال شوند. در همین راستا شاید پیشنهاد ML Engineer شدن به جای ML Researcher شدن پیشنهاد عافیت داری برای دین و دنیا باشد. برای حسن ختام به قول سعدی:
کرامت جوانمردی و نان‌دهی است
مقالات بیهوده طبل تهی است

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

لینک توییت لکان:
https://twitter.com/ylecun/status/1605450677806895104

لینک توییت نیشابور:
https://twitter.com/bneyshabur/status/1605677285255675904

#tweet
#read

@nlp_stuff
مدل ACT-1، ترنسفورمر در نقش اتوپایلوت

از سال 2017 که ترنسفورمر معرفی شد تا به امروز این معماری در دامین‌ها و مسائل مختلفی به کار گرفته شد، از متن و تصویر و صوت گرفته تا حتی یادگیری تقویتی. و البته هر چه قدر هم که جلوتر میریم از این مدل در جنبه‌های کاربردی و صنعتی بیشتر استفاده میشه. حالا اومدند و مدلی به نام Action Transformer یا ACT-1 توسعه دادند که قادره که با ورودی گرفتن یک کامند در قالب زبان طبیعی با استفاده از ابزارهای نرم‌افزاری کار خواسته شده رو انجام بده. مثلا شما بهش میگی یک یخچال با بودجه هزار دلار برای من پیدا کن و ACT-1 با سرچ در فروشگاه‌های اینترنتی پیدا میکنه و بعد شما میخوای ازش که خب حالا با طرف مقابل یک قرار برای فردا تنظیم کن و ACT-1 صفحه چت رو باز میکنه و یک متن برای قرار می‌فرسته. جزییات بیشتر در مورد این مدل رو می‌تونید در توییتی که گذاشته و همچنین لینک خود سایتش بخونید. این محصول هنوز به صورت عمومی منتشر نشده، اگر خواهانش هستید میتونید در لیست انتظارش ثبت نام کنید.

لینک توییت:
twitter.com/AdeptAILabs/status/1570144499187453952
لینک سایت:
www.adept.ai/act
لینک لیست انتظار:
adept.ai/alpha

#tweet

@nlp_stuff
از DALL-E2 تا AGI؛ خیلی دور خیلی نزدیک

بعد از رونمایی از DALL-E2 توسط OpenAI؛ امکان استفاده از این مدل، در اختیار معدودی از افراد قرار داده شد و این دوستان هم با تست کردن و اشتراک‌گذاری خروجی‌های DALL-E هی بر حیرت همگان افزودند. کیفیت تصاویر تولیدی DALL-E و همچنین تنوع بالای کپشن‌هایی که این مدل می‌تواند از آن‌ها عکس تولید کند آن قدر بالاست که حتی برخی پیش‌بینی کرده‌اند که این مدل در کاربرد صنعتی می‌تواند جایگزین سایت‌های فراهم‌کننده تصویر نظیر Getty Image شود. در این فضای هایپ آلود، عده‌ای با توجه به مثال‌های تولیدی این مدل معتقدند که راه AGI یا همان Artificial General Intelligence از همین مسیر تهیه و تدوین مدل‌هایی نظیر GPT و DALL-E می‌گذرد و یادگیری عمیق برای رسیدن ما به سرمنزل موعود هوش مصنوعی کافی است. در مقابل اما عده‌ای از منتقدین و باریک‌بینان با نشان دادن مثال‌های خاصی از خروجی‌ها DALL-E نشان داده‌اند که نه خیر هنوز با اندک‌ استاندارد‌های AGI فاصله بسیاری داریم.
در همین راستا آقای بنجامین هیلتون در رشته توییتی در مورد محدودیت‌های DALL-E بحث کرده و آن‌ها را با مثال توضیح داده است:
https://twitter.com/benjamin_hilton/status/1520032772072607747

از جالب‌ترین این موارد می‌توان به عدم توانایی DALL-E در شمارش (مثلا "تصویری از پنج سیب") و سلبی‌سازی (مثلا "تصویری قاره‌ها بدون حضور اروپا") اشاره کرد. (عکس‌های رشته توییت رو ببینید)
گری مارکوس هم که از اول آبش با یادگیری عمیق در یک جوب نمی‌رفته، با تست کردن و تحلیل خروجی‌های DALL-E پیپری منتشر کرده که خواندنش خالی از لطف نیست:
https://arxiv.org/abs/2204.13807

اما اگر پس از خواندن دو مطلب به این نتیجه رسیدید که DALL-E هم بیشتر از آن چه که باید هایپ شده است می‌توانید برای تلطیف فضا کلیپ پیوست‌شده از تصاویر تولیدی‌اش در این پست را ببینید.

حقیقتا هم تصاویر تولیدی DALL-E و هم نقد‌های وارد منتقدان به حدی است که نمی‌توان جانب یک طرف را گرفت.

#tweet

@nlp_stuff
مینی‌پستی برای استخراج patch

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

لینک رشته توییت:
https://mobile.twitter.com/MishaLaskin/status/1478500251376009220

#read
#tweet
#code

@nlp_stuff