دادگان NLI مولتی مودال گوگل!
گوگل در ACL2021 دادگان جدید و جالبی منتشر کرده به نام Recognizing Multimodal Entailment!
قبلا راجع به NLI در این پست [https://t.iss.one/nlp_stuff/201] صحبت کردیم؛ اما این دادگان فرق میکنه چون ترکیبی پرروی متن و عکسه برای این تسکه.
داستان اینه که آیا یک جفت عکس و متن، یک جفت عکس و متن دیگه رو نتیجه میده (Implies) یا با هم در تضاد هستند (Contradictory) یا نسبت به هم خنثا هستند (NoEntailment).
این عکسه رو که ضمیمه شده ببینید! بحث سر اینه که با متن و تصویر گفته بشه که زمین گرده یا نه. مثلا متن سمت چپ بالا میگه که تصویر زمین از فضا اینه و خب در عکسش هم زمین گرده پس نظرش اینه که زمین گرده؛ اما متن سمت راست بالا میگه زمین واقعی این شکلیه و عکسش هم میگه زمینش تخته پس نظرش اینه که زمین تخته؛ پس مشخصا این دو جفت متن و تصویر با هم مخالف هستند. دقت کردید؟ با متن یا عکس تنها نمیشد تشخیص داد داستان چجوریه ولی با جفتش میشد این نظر را مقایسه کرد.
یا مثلا متن پایین سمت چپ میگه زمین این شکلی نیست و تصویرش میگه زمین تخته . پس اون جفت بالا چپ، جفت پایین چپ رو نتیجه میده چون بالایی میگه زمین گرده و پایینی میگه قطعا زمین تخت نیست.
و در نهایت دو جفت پایین چیزی رو از هم تایید یا رد نمیکنند چون جفتشون فقط میگن زمین این شکلی نیست.
این مجموعه دادگان از توئیتر جمع آوری شده و حدود ۱۵۰۰ جفت آدرس توئیت و یک ستونه که لیبل قضیهست.
https://github.com/google-research-datasets/recognizing-multimodal-entailment
#link
#dataset
@nlp_stuff
گوگل در ACL2021 دادگان جدید و جالبی منتشر کرده به نام Recognizing Multimodal Entailment!
قبلا راجع به NLI در این پست [https://t.iss.one/nlp_stuff/201] صحبت کردیم؛ اما این دادگان فرق میکنه چون ترکیبی پرروی متن و عکسه برای این تسکه.
داستان اینه که آیا یک جفت عکس و متن، یک جفت عکس و متن دیگه رو نتیجه میده (Implies) یا با هم در تضاد هستند (Contradictory) یا نسبت به هم خنثا هستند (NoEntailment).
این عکسه رو که ضمیمه شده ببینید! بحث سر اینه که با متن و تصویر گفته بشه که زمین گرده یا نه. مثلا متن سمت چپ بالا میگه که تصویر زمین از فضا اینه و خب در عکسش هم زمین گرده پس نظرش اینه که زمین گرده؛ اما متن سمت راست بالا میگه زمین واقعی این شکلیه و عکسش هم میگه زمینش تخته پس نظرش اینه که زمین تخته؛ پس مشخصا این دو جفت متن و تصویر با هم مخالف هستند. دقت کردید؟ با متن یا عکس تنها نمیشد تشخیص داد داستان چجوریه ولی با جفتش میشد این نظر را مقایسه کرد.
یا مثلا متن پایین سمت چپ میگه زمین این شکلی نیست و تصویرش میگه زمین تخته . پس اون جفت بالا چپ، جفت پایین چپ رو نتیجه میده چون بالایی میگه زمین گرده و پایینی میگه قطعا زمین تخت نیست.
و در نهایت دو جفت پایین چیزی رو از هم تایید یا رد نمیکنند چون جفتشون فقط میگن زمین این شکلی نیست.
این مجموعه دادگان از توئیتر جمع آوری شده و حدود ۱۵۰۰ جفت آدرس توئیت و یک ستونه که لیبل قضیهست.
https://github.com/google-research-datasets/recognizing-multimodal-entailment
#link
#dataset
@nlp_stuff
Telegram
stuff
تهدیدها و فرصتهای مدلهای شالودهای
هوش مصنوعی در طی دهههای اخیر چندین انقلاب و تغییر پارادایم را تجربه کرده است. در انقلاب لرنینگ، دیگر به مانند روشهای سنتی منطقی نیازی نبود تا طرز تصمیمگیری به مدل فهمانده و مدل به لطف الگوریتم یادگیری (backpropagation) میتوانست صرفا از روی دادهها خروجی موردنظر را یاد بگیرد. در انقلاب یادگیری عمیق، مدل حتی نیازی به ورودی گرفتن ویژگیهای استخراج شده از داده را نیز نداشت و به صرف اتکا بر معماری خود قادر به یادگیری ویژگیها نیز بود. در دو سه سال اخیر، مدلهای غولآسایی همچون Bert و Dall-E و GPT3 با عملکردهای قابل توجهشان بر وظایف مختلف بار دیگر موجب جلب توجه دنیا به هوش مصنوعی شدهاند. بر پایه این مقدمهچینی، محققینی از استنفورد این پدیده را انقلاب سوم مدلهای شالودهای دانستهاند. به این معنا که اکنون در حال مواجهه شدن با یک تغییر پارادایم هستیم که در آن با یک مدل غول پیکر مانند GPT3 مواجه هستیم که به واسطه یادگیری خودنظارتی بر روی حجم عظیمی از دیتاها به چنان توانایی دست یافته که به مانند یک شالوده میتوانند پایهای برای حل سایر مسائل مرتبط (برای GPT مثلا حل تمامی وظایف زبانی) قرار بگیرد. توانمندی بالای این مدلها باعث شده تا نرم نرمک در صنعت نیز مورد استفاده قرار بگیرند (گوگل برای موتور جستجوی خود از برت استفاده میکند) .علی رغم تمامی این داستانها، اما چگونگی یادگیری و تصمیمگیری و تفسیرپذیری مدلهای شالودهای کاملا مبهم است و برای همین نمیدانیم کی و تحت چه شرایطی و به چه شدتی خرابکاری به بار میآورند و اصلا در نهایت تا چه حد قابل توسعه هستند.
اکنون بیشتر از صد محقق از بیش از ده زمینه علمی متنوع از دانشگاه استنفورد دور یکدیگر جمع شدهاند و مقالهای بالای ۱۵۰ صفحهای بیرون دادهاند که به نوعی تلاش برای کند و کاو مدلهای شالودهای از جنبههای مختلف است. این مقاله در چهار بخش اصلی تدوین شده که به موضوعات قابلیتهای مدلهای شالودهای در حوزههای مختلف (برای مثال تصویر، متن، روباتیک و ...)، کاربردهای مدلهای شالودهای در دنیای واقعی، پایههای تکنولوژیکی و فنی مدلهای شالودهای (برای مثال نحوه جمعآوری دادگان آموزشی این مدلها یا میزان و کیفیت سختافزار لازم برای آنها) و در نهایت پیامدهای استفاده از این مدلها (مسائلی نظیر fairness و ضرر وارده به محیط زیست و مسائل اقتصادی و اخلاقیو خلاصه هر چه که فکر کنید!) میپردازد.
مقاله فنی نیست ولی از لحاظ دید کلی که به کل موضوع و آینده این داستان تازه شروع شده دارد، جالب است و ارزش یک نگاه انداختن را دارد. به خصوص برای کشوری فرضی که سد میسازد ولی آب شور تحویل میگیرد، نشانههایی وجود دارد اگر کسی بیندیشد.
لینک مقاله:
https://arxiv.org/abs/2108.07258
#paper
#read
@nlp_stuff
هوش مصنوعی در طی دهههای اخیر چندین انقلاب و تغییر پارادایم را تجربه کرده است. در انقلاب لرنینگ، دیگر به مانند روشهای سنتی منطقی نیازی نبود تا طرز تصمیمگیری به مدل فهمانده و مدل به لطف الگوریتم یادگیری (backpropagation) میتوانست صرفا از روی دادهها خروجی موردنظر را یاد بگیرد. در انقلاب یادگیری عمیق، مدل حتی نیازی به ورودی گرفتن ویژگیهای استخراج شده از داده را نیز نداشت و به صرف اتکا بر معماری خود قادر به یادگیری ویژگیها نیز بود. در دو سه سال اخیر، مدلهای غولآسایی همچون Bert و Dall-E و GPT3 با عملکردهای قابل توجهشان بر وظایف مختلف بار دیگر موجب جلب توجه دنیا به هوش مصنوعی شدهاند. بر پایه این مقدمهچینی، محققینی از استنفورد این پدیده را انقلاب سوم مدلهای شالودهای دانستهاند. به این معنا که اکنون در حال مواجهه شدن با یک تغییر پارادایم هستیم که در آن با یک مدل غول پیکر مانند GPT3 مواجه هستیم که به واسطه یادگیری خودنظارتی بر روی حجم عظیمی از دیتاها به چنان توانایی دست یافته که به مانند یک شالوده میتوانند پایهای برای حل سایر مسائل مرتبط (برای GPT مثلا حل تمامی وظایف زبانی) قرار بگیرد. توانمندی بالای این مدلها باعث شده تا نرم نرمک در صنعت نیز مورد استفاده قرار بگیرند (گوگل برای موتور جستجوی خود از برت استفاده میکند) .علی رغم تمامی این داستانها، اما چگونگی یادگیری و تصمیمگیری و تفسیرپذیری مدلهای شالودهای کاملا مبهم است و برای همین نمیدانیم کی و تحت چه شرایطی و به چه شدتی خرابکاری به بار میآورند و اصلا در نهایت تا چه حد قابل توسعه هستند.
اکنون بیشتر از صد محقق از بیش از ده زمینه علمی متنوع از دانشگاه استنفورد دور یکدیگر جمع شدهاند و مقالهای بالای ۱۵۰ صفحهای بیرون دادهاند که به نوعی تلاش برای کند و کاو مدلهای شالودهای از جنبههای مختلف است. این مقاله در چهار بخش اصلی تدوین شده که به موضوعات قابلیتهای مدلهای شالودهای در حوزههای مختلف (برای مثال تصویر، متن، روباتیک و ...)، کاربردهای مدلهای شالودهای در دنیای واقعی، پایههای تکنولوژیکی و فنی مدلهای شالودهای (برای مثال نحوه جمعآوری دادگان آموزشی این مدلها یا میزان و کیفیت سختافزار لازم برای آنها) و در نهایت پیامدهای استفاده از این مدلها (مسائلی نظیر fairness و ضرر وارده به محیط زیست و مسائل اقتصادی و اخلاقیو خلاصه هر چه که فکر کنید!) میپردازد.
مقاله فنی نیست ولی از لحاظ دید کلی که به کل موضوع و آینده این داستان تازه شروع شده دارد، جالب است و ارزش یک نگاه انداختن را دارد. به خصوص برای کشوری فرضی که سد میسازد ولی آب شور تحویل میگیرد، نشانههایی وجود دارد اگر کسی بیندیشد.
لینک مقاله:
https://arxiv.org/abs/2108.07258
#paper
#read
@nlp_stuff
Telegram
stuff
به شبکه فرصت تامل بدهیم!
یکی از تفاوتهای اساسی انسان با مدلهای یادگیری ماشین این است که میزان زمان پاسخدهی انسان برای پاسخ به یک مساله میتواند تابعی از سختی آن مساله باشد حال آن که در مدلهای یادگیری ماشین میزان زمان پاسخدهی تنها وابسته به معماری مدل و یا اندازه ورودی است (برای مثال هر چه قدر رشته ورودی به یک شبکه بازگشتی طولانیتر باشد بیشتر طول میکشد تا شبکه پاسخ نهایی را تولید کند). به بیان بهتر، ذهن انسان میتواند برای حل یک مساله با ورودی دشوارتر بیشتر تمرکز و توجه برای حل آن بگذارد، چیزی که یادگیری ماشین قادر به آن نیست. حال محققینی از deepmind با الگوگیری از این ایده، با ارائه مدلی به نام PonderNet سعی در عملیاتی کردن آن کردهاند. این مدل در درون خود یک شبکه به نام تابع گام را پیادهسازی کرده است که با گرفتن x (یعنی ورودی مساله) و h_n (یعنی حالت نهان تابع گام در گام قبل) سه خروجی y_n (حدس مدل از خروجی در گام n)، h_n+1 (حالت نهان بعدی تابع گام) و البته λ_n (که احتمال توقف مدل در گام n) را تولید میکند. به بیان شهودیتر، شبکه در هر گام زمانیش یک خروجی و احتمال به خاتمه رسیدن کار در این گام را محاسبه میکند. این مدل برای فاز اموزش خود نکاتی در مورد تابع هدف و طرز بهینهسازی آن دارد که در صورت جلب توجهتان میتوانید مقاله را بخوانید اما برای فاز تست، جواب نهایی این گونه تولید میشود که در هر گام با توجه به احتمال خاتمه کار، یک عدد از توزیع برنولی با پارامتر احتمال خاتمه نمونهبرداری میشود و در مورد ادامه یا خاتمه کار مدل با آن تصمیمگیری میشود.
نویسندگان مقاله با آزمایش مدل روی چند وظیفه از جمله parity و پرسش و پاسخ روی bAbi ادعا کردهاند که این مدل نسبت به دادههای خارج از توزیع خود در زمان اموزش مقاومتر و بهتر عمل میکنند. در پرانتز، تسک parity به این صورت است که یک بردار با سایز ۶۴ داریم که تعداد رندومی از عناصر آن یک و منفی یک هستند و باقی عناصر صفر هستند. حال با توجه به این ورودی مدل بایستی تشخیص دهد که آیا تعداد یک ها زوج هستند یا فرد. نکته اینجاست که با توجه به در هم آمیخته بودن صفر و یک و منفی یکها، مدل برای تشخیص زوج یا فرد بودن تعداد یکها، نمیتواند از جمع عناصر استفاده کند و واقعا مجبور است بشمارد. خالقان PonderNet همچنین پیشنهاد دادهاند که از این مدل، با توجه به این که نسبت به پیچیدگی مساله تنظیم میشود، میتوان در وسایلی مانند موبایلها که از منابع پردازشی کمتری برخوردار هستند استفاده کرد. در واقع به جای این که بار پیچیدگی مساله بر معماری مدل و سخت افزار آن بیافتد در طول زمان تقسیم خواهد شد.
لینک مقاله:
https://arxiv.org/abs/2107.05407
#read
#paper
@nlp_stuff
یکی از تفاوتهای اساسی انسان با مدلهای یادگیری ماشین این است که میزان زمان پاسخدهی انسان برای پاسخ به یک مساله میتواند تابعی از سختی آن مساله باشد حال آن که در مدلهای یادگیری ماشین میزان زمان پاسخدهی تنها وابسته به معماری مدل و یا اندازه ورودی است (برای مثال هر چه قدر رشته ورودی به یک شبکه بازگشتی طولانیتر باشد بیشتر طول میکشد تا شبکه پاسخ نهایی را تولید کند). به بیان بهتر، ذهن انسان میتواند برای حل یک مساله با ورودی دشوارتر بیشتر تمرکز و توجه برای حل آن بگذارد، چیزی که یادگیری ماشین قادر به آن نیست. حال محققینی از deepmind با الگوگیری از این ایده، با ارائه مدلی به نام PonderNet سعی در عملیاتی کردن آن کردهاند. این مدل در درون خود یک شبکه به نام تابع گام را پیادهسازی کرده است که با گرفتن x (یعنی ورودی مساله) و h_n (یعنی حالت نهان تابع گام در گام قبل) سه خروجی y_n (حدس مدل از خروجی در گام n)، h_n+1 (حالت نهان بعدی تابع گام) و البته λ_n (که احتمال توقف مدل در گام n) را تولید میکند. به بیان شهودیتر، شبکه در هر گام زمانیش یک خروجی و احتمال به خاتمه رسیدن کار در این گام را محاسبه میکند. این مدل برای فاز اموزش خود نکاتی در مورد تابع هدف و طرز بهینهسازی آن دارد که در صورت جلب توجهتان میتوانید مقاله را بخوانید اما برای فاز تست، جواب نهایی این گونه تولید میشود که در هر گام با توجه به احتمال خاتمه کار، یک عدد از توزیع برنولی با پارامتر احتمال خاتمه نمونهبرداری میشود و در مورد ادامه یا خاتمه کار مدل با آن تصمیمگیری میشود.
نویسندگان مقاله با آزمایش مدل روی چند وظیفه از جمله parity و پرسش و پاسخ روی bAbi ادعا کردهاند که این مدل نسبت به دادههای خارج از توزیع خود در زمان اموزش مقاومتر و بهتر عمل میکنند. در پرانتز، تسک parity به این صورت است که یک بردار با سایز ۶۴ داریم که تعداد رندومی از عناصر آن یک و منفی یک هستند و باقی عناصر صفر هستند. حال با توجه به این ورودی مدل بایستی تشخیص دهد که آیا تعداد یک ها زوج هستند یا فرد. نکته اینجاست که با توجه به در هم آمیخته بودن صفر و یک و منفی یکها، مدل برای تشخیص زوج یا فرد بودن تعداد یکها، نمیتواند از جمع عناصر استفاده کند و واقعا مجبور است بشمارد. خالقان PonderNet همچنین پیشنهاد دادهاند که از این مدل، با توجه به این که نسبت به پیچیدگی مساله تنظیم میشود، میتوان در وسایلی مانند موبایلها که از منابع پردازشی کمتری برخوردار هستند استفاده کرد. در واقع به جای این که بار پیچیدگی مساله بر معماری مدل و سخت افزار آن بیافتد در طول زمان تقسیم خواهد شد.
لینک مقاله:
https://arxiv.org/abs/2107.05407
#read
#paper
@nlp_stuff
مستندسازی کیفیت عملکرد مدلهای زبانی فارسی
بسیاری از مواقع مقاله یا مدلی رو دیدید که نویسنده ادعا کرده با مدل ابداعی خودش به فلان دقت روی یک وظیفه زبان فارسی رسیده، اما در عین حال کد و مستندی رو برای این ادعاش منتشر نکرده. بچههای تیم هوش مصنوعی شرکت مفید کدهای تمیزی زدند که ملت بتونند راحت مدلهای مختلف ارائه شده برای وظایف زبان فارسی رو روی دیتاستهای مختلف تست بگیرند و ارزیابی کنند. نکته مهمتر اینه که کدهاشون رو روی گیت سخاوتمدانه به اشتراک گذاشتند؛ پس بهشون استار بدید که انرژی بگیرند و بقیهی کدهاشونم بگذارند. :)
لینک ریپو:
https://github.com/Mofid-AI/persian-nlp-benchmark
#tool
#irani
@nlp_stuff
بسیاری از مواقع مقاله یا مدلی رو دیدید که نویسنده ادعا کرده با مدل ابداعی خودش به فلان دقت روی یک وظیفه زبان فارسی رسیده، اما در عین حال کد و مستندی رو برای این ادعاش منتشر نکرده. بچههای تیم هوش مصنوعی شرکت مفید کدهای تمیزی زدند که ملت بتونند راحت مدلهای مختلف ارائه شده برای وظایف زبان فارسی رو روی دیتاستهای مختلف تست بگیرند و ارزیابی کنند. نکته مهمتر اینه که کدهاشون رو روی گیت سخاوتمدانه به اشتراک گذاشتند؛ پس بهشون استار بدید که انرژی بگیرند و بقیهی کدهاشونم بگذارند. :)
لینک ریپو:
https://github.com/Mofid-AI/persian-nlp-benchmark
#tool
#irani
@nlp_stuff
GitHub
GitHub - Mofid-AI/persian-nlp-benchmark: A benchmark for evaluation and comparison of various NLP tasks in Persian language.
A benchmark for evaluation and comparison of various NLP tasks in Persian language. - Mofid-AI/persian-nlp-benchmark
ترکیبی پررو؛ multi-agent systems و zero-shot learning و deep RL
در سالهای اخیر ایجنتهایی که با کمک هوشمصنوعی آموزش دیدهاند، توانستهاند تسکها و بازیهای جالبی مثل شطرنج، AlphaGo یا قایمباشک رو انجام بدند. خب همونطور که میدونید برای اینکه صرفا بتونند یه بازی خاص مثل AlphaGo رو خوب بازی کنند ساعتها فاز یادگیری لازمه. اما یه سوال اصلی همچنان موجب خارش ذهن محققان این حوزه شده بود. وقتی انسان میتونه در عرض چند دقیقه نحوه بازی کردن یه بازی جدید رو یاد بگیره چرا این ایجنتها نتونند سریع یاد بگیرند؟! همین شد که دیپمایند دست به کار شد و از اساس طرحی نو درانداخت!
اونها میخواستند ایجنتهایی رو آموزش بدند که با دیدن یه بازی جدید پنیک نزنند و با یه فاز fine-tuning سریع بتونند اون بازی رو خوب در بیارند (zero-shot learning). برای اینکار اولین چالش نبود دیتا بود. با توجه به عقبهی فنی دیپمایند، ابتدا یه فاز مهندسی نرمافزاری سنگین برداشتند و ابزاری به نام XLand رو طراحی کردند که یه galaxy of games است و تصاویرش رو در ذیل همین پست میتونید ببینید. در واقع با ادبیات یادگیری تقویتی، XLand، یه environment پیچیدهست که میتونه در طول زمان صدها بازی مختلف با پارامترهای مختلف رو تولید کنه. بعد شروع کردند در این محیط چندین ایجنت ایجاد کردند و اونها رو در بازیهای مختلف قرار دادند (multi-agent systems). بازیهایی مثل capture the flag یا قایمباشک و چندین و چند بازی دیگه. نکته اینه که یادگیری این ایجنتها هیچ وقت متوقف نمیشه و همواره در طول زمان دارند یاد میگیرند. در واقع در هر نسل بهترین ایجنت انتخاب میشه و از پالیسی که یاد گرفته عصارهگیری میشه و برای راهاندازی نسل بعد از اون عصاره استفاده میشه (نشون داده شده که با راهاندازی نسلهای بعد با عصاره پالیسی گرفتهشده، مدت زمان فاینتیون شدن ایجنت و عملکردش بهبود داده میشه). همچنین تسکهایی که توسط XLand تولید میشن بهصورت داینامیک و در طول نسلهای مختلف توزیعشون عوض میشه و در واقع تسکها برای هر نسل جدید مقداری تازگی دارند که به general capability این ایجنتها در محیط XLand کمک میکنه.
بر اساس RL هر ایجنت باید ارزش هر استیت رو تخمین بزنه و با استفاده از مقادیر تخمینزده شده پالیسی خودش رو بهروز رسانی کنه. در معماری شبکهی این ایجنتها، تصاویر به صورت RGB از دل یک شبکه torso عبور میکنند و به LSTM داده میشوند تا امبدینگ تولید بشه. از طرفی هدف تسک رو هم امبد میکنند و به همراه امبدینگ شبکه LSTM به ماژول GOAT یا Goal Attention Network میدهند. این ماژول یاد میگیره که چهطور برای تخمین ارزش هر استیت تنها به بخشهایی از این امبدینگها توجه کنه و valueها رو تخمین بزنه و با استفاده از valueهای تخمینزدهشده، پالیسی خودش رو آپدیت کنه. به این ترتیب هر ایجنت همیشه سعی میکنه یه پالیسی زیربهینه داشته باشه و هر نسل که میگذره بهترین ایجنت از منظر عملکرد انتخاب میشه و پالیسیش برای نسلهای بعدی عصارهگیری میشه. با توجه به تغییر توزیع تسکٰها، در واقع ایجنتهای نسلهای جدید، باید سعی کنند با استفاده از پالیسی که از قبل به ارث بردند با انجام یه سری آزمایش و صحیح و خطا و گرفتن reward، خیلی سریع خودشون رو با محیط تطبیق بدهند.
وقتی موقع ارزیابی روی تسکهای جدید میرسه، ایجنتها به جای اینکه رفتارهای عجیب نشون بدند، با شهود شروع به آزمایش و خطا در محیط میکنند به طوریکه حتی همکاری با ایجنتهای دیگه رو هم امتحان میکنند و جالبه که مثل آدمها که با غریبهها کمتر تعامل میکنند، این مخلوقات هم وقتی در یه محیطی قرار میگیرند که ایجنتهای دیگه کپی خودشون هستند تعاملاتشون بیش از زمانیه که ایجنتهای غریبه در محیط حضور دارند! نتیجه اینکه با آزمایشاتی که انجام دادند نشون دادند تنها حدود ۳۰ دقیقه زمان نیازه که در تسکهای پیچیدهای مثل قایمباشک به عملکرد عالی برسند (ببینید کار خدا رو!). در واقع با این روش، ایجنتهایی تولید شدند که general capable هستند و در مواجهه با بازیهای جدید دستوپابسته نیستند. درنهایت این دوستان لینکی از بلاگ و ویدیو این مقاله ۵۶ صفحهای رو هم تدارک دیدند که میتونید ازش استفاده کنید.
لینک مقاله:
https://storage.googleapis.com/deepmind-media/papers/Open-Ended%20Learning%20Leads%20to%20Generally%20Capable%20Agents/open-ended-learning-paper.pdf
لینک بلاگ:
https://deepmind.com/blog/article/generally-capable-agents-emerge-from-open-ended-play
لینک ویدیو:
https://youtu.be/lTmL7jwFfdw
پ.ن.۱: حجم مهندسی نرمافزار (قسمت XLand) رو ببینید خداوکیلی!
پ.ن.۲: تصاویر رو ورق بزنید و لذت ببرید.معماری شبکه هر ایجنت هم در تصاویر هستند!
#read
#paper
@nlp_stuff
در سالهای اخیر ایجنتهایی که با کمک هوشمصنوعی آموزش دیدهاند، توانستهاند تسکها و بازیهای جالبی مثل شطرنج، AlphaGo یا قایمباشک رو انجام بدند. خب همونطور که میدونید برای اینکه صرفا بتونند یه بازی خاص مثل AlphaGo رو خوب بازی کنند ساعتها فاز یادگیری لازمه. اما یه سوال اصلی همچنان موجب خارش ذهن محققان این حوزه شده بود. وقتی انسان میتونه در عرض چند دقیقه نحوه بازی کردن یه بازی جدید رو یاد بگیره چرا این ایجنتها نتونند سریع یاد بگیرند؟! همین شد که دیپمایند دست به کار شد و از اساس طرحی نو درانداخت!
اونها میخواستند ایجنتهایی رو آموزش بدند که با دیدن یه بازی جدید پنیک نزنند و با یه فاز fine-tuning سریع بتونند اون بازی رو خوب در بیارند (zero-shot learning). برای اینکار اولین چالش نبود دیتا بود. با توجه به عقبهی فنی دیپمایند، ابتدا یه فاز مهندسی نرمافزاری سنگین برداشتند و ابزاری به نام XLand رو طراحی کردند که یه galaxy of games است و تصاویرش رو در ذیل همین پست میتونید ببینید. در واقع با ادبیات یادگیری تقویتی، XLand، یه environment پیچیدهست که میتونه در طول زمان صدها بازی مختلف با پارامترهای مختلف رو تولید کنه. بعد شروع کردند در این محیط چندین ایجنت ایجاد کردند و اونها رو در بازیهای مختلف قرار دادند (multi-agent systems). بازیهایی مثل capture the flag یا قایمباشک و چندین و چند بازی دیگه. نکته اینه که یادگیری این ایجنتها هیچ وقت متوقف نمیشه و همواره در طول زمان دارند یاد میگیرند. در واقع در هر نسل بهترین ایجنت انتخاب میشه و از پالیسی که یاد گرفته عصارهگیری میشه و برای راهاندازی نسل بعد از اون عصاره استفاده میشه (نشون داده شده که با راهاندازی نسلهای بعد با عصاره پالیسی گرفتهشده، مدت زمان فاینتیون شدن ایجنت و عملکردش بهبود داده میشه). همچنین تسکهایی که توسط XLand تولید میشن بهصورت داینامیک و در طول نسلهای مختلف توزیعشون عوض میشه و در واقع تسکها برای هر نسل جدید مقداری تازگی دارند که به general capability این ایجنتها در محیط XLand کمک میکنه.
بر اساس RL هر ایجنت باید ارزش هر استیت رو تخمین بزنه و با استفاده از مقادیر تخمینزده شده پالیسی خودش رو بهروز رسانی کنه. در معماری شبکهی این ایجنتها، تصاویر به صورت RGB از دل یک شبکه torso عبور میکنند و به LSTM داده میشوند تا امبدینگ تولید بشه. از طرفی هدف تسک رو هم امبد میکنند و به همراه امبدینگ شبکه LSTM به ماژول GOAT یا Goal Attention Network میدهند. این ماژول یاد میگیره که چهطور برای تخمین ارزش هر استیت تنها به بخشهایی از این امبدینگها توجه کنه و valueها رو تخمین بزنه و با استفاده از valueهای تخمینزدهشده، پالیسی خودش رو آپدیت کنه. به این ترتیب هر ایجنت همیشه سعی میکنه یه پالیسی زیربهینه داشته باشه و هر نسل که میگذره بهترین ایجنت از منظر عملکرد انتخاب میشه و پالیسیش برای نسلهای بعدی عصارهگیری میشه. با توجه به تغییر توزیع تسکٰها، در واقع ایجنتهای نسلهای جدید، باید سعی کنند با استفاده از پالیسی که از قبل به ارث بردند با انجام یه سری آزمایش و صحیح و خطا و گرفتن reward، خیلی سریع خودشون رو با محیط تطبیق بدهند.
وقتی موقع ارزیابی روی تسکهای جدید میرسه، ایجنتها به جای اینکه رفتارهای عجیب نشون بدند، با شهود شروع به آزمایش و خطا در محیط میکنند به طوریکه حتی همکاری با ایجنتهای دیگه رو هم امتحان میکنند و جالبه که مثل آدمها که با غریبهها کمتر تعامل میکنند، این مخلوقات هم وقتی در یه محیطی قرار میگیرند که ایجنتهای دیگه کپی خودشون هستند تعاملاتشون بیش از زمانیه که ایجنتهای غریبه در محیط حضور دارند! نتیجه اینکه با آزمایشاتی که انجام دادند نشون دادند تنها حدود ۳۰ دقیقه زمان نیازه که در تسکهای پیچیدهای مثل قایمباشک به عملکرد عالی برسند (ببینید کار خدا رو!). در واقع با این روش، ایجنتهایی تولید شدند که general capable هستند و در مواجهه با بازیهای جدید دستوپابسته نیستند. درنهایت این دوستان لینکی از بلاگ و ویدیو این مقاله ۵۶ صفحهای رو هم تدارک دیدند که میتونید ازش استفاده کنید.
لینک مقاله:
https://storage.googleapis.com/deepmind-media/papers/Open-Ended%20Learning%20Leads%20to%20Generally%20Capable%20Agents/open-ended-learning-paper.pdf
لینک بلاگ:
https://deepmind.com/blog/article/generally-capable-agents-emerge-from-open-ended-play
لینک ویدیو:
https://youtu.be/lTmL7jwFfdw
پ.ن.۱: حجم مهندسی نرمافزار (قسمت XLand) رو ببینید خداوکیلی!
پ.ن.۲: تصاویر رو ورق بزنید و لذت ببرید.معماری شبکه هر ایجنت هم در تصاویر هستند!
#read
#paper
@nlp_stuff
Telegram
stuff
This media is not supported in your browser
VIEW IN TELEGRAM
نوتبوک جستجوی متنی در عکسها
این آبجیمون [https://twitter.com/dalequark] یه نوتبوک جمع و جور و تمیز زده که یه متن ورودی میگیره و بین عکسها با استفاده از کتابخونهی ترنسفورمر هاگینگفیس و مدل کلیپ openai سرچ میکنه و به ترتیب امتیازشون مرتب میکنه.
لینک کولب نوتبوک:
https://colab.research.google.com/drive/11oPxFcWJvVeIl5IOTSpT9EXou-e3kVgM?usp=sharing
لینک توئیت:
https://twitter.com/dalequark/status/1431308397522063366?s=20
پ.ن. لطفا کانال رو به بقیه هم معرفی کنید.
#code
@nlp_stuff
این آبجیمون [https://twitter.com/dalequark] یه نوتبوک جمع و جور و تمیز زده که یه متن ورودی میگیره و بین عکسها با استفاده از کتابخونهی ترنسفورمر هاگینگفیس و مدل کلیپ openai سرچ میکنه و به ترتیب امتیازشون مرتب میکنه.
لینک کولب نوتبوک:
https://colab.research.google.com/drive/11oPxFcWJvVeIl5IOTSpT9EXou-e3kVgM?usp=sharing
لینک توئیت:
https://twitter.com/dalequark/status/1431308397522063366?s=20
پ.ن. لطفا کانال رو به بقیه هم معرفی کنید.
#code
@nlp_stuff
ارائههای ICML 2021
این لینک حاوی اسلایدها و ویدیوی ارائههای کنفرانس معتبر ICML امساله. میتونید به صورت موضوعی (با استفاده از تب collection) هم ارائهها رو ببینید و لذتشو ببرید.
https://slideslive.com/icml-2021
#link
@nlp_stuff
این لینک حاوی اسلایدها و ویدیوی ارائههای کنفرانس معتبر ICML امساله. میتونید به صورت موضوعی (با استفاده از تب collection) هم ارائهها رو ببینید و لذتشو ببرید.
https://slideslive.com/icml-2021
#link
@nlp_stuff
مقاله former-∞
یکی از گرفتاریهای ترنسفورمرها نحوه برخورد اونها با دنبالههای طولانیه، این قضیه مخصوصا در ترنسفورمرهای کلاسیک که محاسبه، از مرتبه درجه دو نسبت به طول دنباله رشد میکنه، نمود بیشتری داره. نسخههای مختلفی از ترنسفورمرها در مقالات مختلف پیشنهاد شدند تا این درد رو تخفیف بدند ولی چیزی که در همه این ترنسفورمرها مشترکه، ظرفیت محدود توجه است؛ یعنی همیشه به یک طول محدودی از دنبالهها میتونیم توجه کنیم. مقاله مدل former-∞ که در این پست بررسی میکنیم در پی دادن پاسخی به این پرسشه که آیا میتونیم ترنسفورمری داشته باشیم که به دنبالهای با طول بی نهایت توجه کنیم؟ (برای درک قضیه، معماری lstm رو در نظر بگیرید که میتونه دنبالهای با طول بی نهایت رو پردازش کنه)
ایده پیشنهادی این مقاله استفاده از پیوستهسازی ورودیها و همچنین انجام توجه پیوستهست. در ساختار خودش هم، این معماری یک حافظه کوتاه مدت گسسته و یک حافظه بلند مدت پیوسته داره. حافظه کوتاه مدت که شبیه به همان ساختار اصلی ترنسفورمرهاست و حاوی تعدادی توکنه. اما در مورد حافظه بلندمدت، این حافظه قراره که بیانگر کل تاریخچه توکنهای دیدهشده توسط مدل به صورت پیوسته باشه. قطعا سوال الان توی ذهنتون اینه که چگونه پیوستهست؟ به صورت مختصر و مفید، فرض کنید که یک دنباله داریم که متشکل از ۱۰۰۰ تا توکن با سایز امبدینگ ۱۲۸ است. حالا مدل به جای این که سعی کنه برای هر بعد امبدینگ ۱۰۰۰ توکن رو ذخیره کنه، میاد و یک مدل رگرشن (مثلا درجه سه) روی این هزار تا نمونه اموزش میده و پارامترهای اون مدل رو که به مراتب کمتر از ۱۰۰۰ هستند ذخیره میکنه. به اصطلاح و دید فنی، یک سیگنال پیوسته رو از روی نمونههای گسستهای که داره میسازه. وقتی هم که بخواد در هر گام زمانی به این حافظه بلندمدتش توکنهای دیگه ای رو اضافه کنه اول، از مدل پیوسته حافظه بلندمدتش نمونهبرداری میکنه و توکنهای مورد نظر رو به این نمونههای برداشته شده الحاق میکنه و یک مدل رگرشن دیگهای آموزش میده.
حالا نوبت قلب ترنسفومر یا انجام توجه است. هر یک از توکنهای دنباله ورودی که اسمش رو X میگذاریم روی دو حافظه کوتاه مدت گسسته و حافظه بلندمدت پیوسته عملیات توجه رو انجام میدهند و حاصل این دو توجه با هم جمع میشوند. عملیات توجه روی حافظه گسسته که شبیه همون ترنسفورمر عادیه اما داستان برای توجه روی حافظه پیوسته فرق میکنه. داستان به این صورته که مدل از روی پارامترهای مدل رگرشنی که برای پیوستهسازی استفاده کرده بود بردارهای کلید (K) و مقدار (V) رو میسازه. حالا از روی این بردارها و بردارهای کوئری (Q) که برای توکنهای ورودی دنباله X داشتیم دو پارامتر میانگین و واریانس برای یک توزیع گاوسی رو پیدا میکنه. حالا این توزیع گاوسی قراره که به مثابه پنجره روی حافظه پیوسته عمل کنه و حاصل توجه از اعمال یک جور کانولوشن با این پنجره گاوسی رو حافظه پیوسته به دست میاد. در نهایت هم که حاصل دو توجه گسسته و پیوسته با هم جمع میشوند.
برای آزمایش هم این مدل را روی وظایفی که نیاز به هندل کردن دنباله با طول زیاد بوده آموزشش دادن و نتایجش رو با مدل Transformer-XL مقایسه کردهاند و نشون دادهاند که از اون بهتر عمل کرده. مثلا یک نمونه وظیفه این بوده که دنبالهای تصادفی شامل تعدادی عدد تولید کردهاند و از مدل خواسته اند که در خروجی اعداد رو به ترتیب نزولی فرکانسشون در دنباله ورودی، خروجی بدهد.
در صورتی که کنجکاوتر شدید میتونید ویدئو یانیک کیلچر شیرینزبان رو در توضیح این مقاله مشاهده کنید:
https://www.youtube.com/watch?v=0JlB9gufTw8
لینک مقاله:
https://arxiv.org/abs/2109.00301
پ.ن. با معرفی کردن کانال به بقیه، حمایتش کنید.
#paper
#read
@nlp_stuff
یکی از گرفتاریهای ترنسفورمرها نحوه برخورد اونها با دنبالههای طولانیه، این قضیه مخصوصا در ترنسفورمرهای کلاسیک که محاسبه، از مرتبه درجه دو نسبت به طول دنباله رشد میکنه، نمود بیشتری داره. نسخههای مختلفی از ترنسفورمرها در مقالات مختلف پیشنهاد شدند تا این درد رو تخفیف بدند ولی چیزی که در همه این ترنسفورمرها مشترکه، ظرفیت محدود توجه است؛ یعنی همیشه به یک طول محدودی از دنبالهها میتونیم توجه کنیم. مقاله مدل former-∞ که در این پست بررسی میکنیم در پی دادن پاسخی به این پرسشه که آیا میتونیم ترنسفورمری داشته باشیم که به دنبالهای با طول بی نهایت توجه کنیم؟ (برای درک قضیه، معماری lstm رو در نظر بگیرید که میتونه دنبالهای با طول بی نهایت رو پردازش کنه)
ایده پیشنهادی این مقاله استفاده از پیوستهسازی ورودیها و همچنین انجام توجه پیوستهست. در ساختار خودش هم، این معماری یک حافظه کوتاه مدت گسسته و یک حافظه بلند مدت پیوسته داره. حافظه کوتاه مدت که شبیه به همان ساختار اصلی ترنسفورمرهاست و حاوی تعدادی توکنه. اما در مورد حافظه بلندمدت، این حافظه قراره که بیانگر کل تاریخچه توکنهای دیدهشده توسط مدل به صورت پیوسته باشه. قطعا سوال الان توی ذهنتون اینه که چگونه پیوستهست؟ به صورت مختصر و مفید، فرض کنید که یک دنباله داریم که متشکل از ۱۰۰۰ تا توکن با سایز امبدینگ ۱۲۸ است. حالا مدل به جای این که سعی کنه برای هر بعد امبدینگ ۱۰۰۰ توکن رو ذخیره کنه، میاد و یک مدل رگرشن (مثلا درجه سه) روی این هزار تا نمونه اموزش میده و پارامترهای اون مدل رو که به مراتب کمتر از ۱۰۰۰ هستند ذخیره میکنه. به اصطلاح و دید فنی، یک سیگنال پیوسته رو از روی نمونههای گسستهای که داره میسازه. وقتی هم که بخواد در هر گام زمانی به این حافظه بلندمدتش توکنهای دیگه ای رو اضافه کنه اول، از مدل پیوسته حافظه بلندمدتش نمونهبرداری میکنه و توکنهای مورد نظر رو به این نمونههای برداشته شده الحاق میکنه و یک مدل رگرشن دیگهای آموزش میده.
حالا نوبت قلب ترنسفومر یا انجام توجه است. هر یک از توکنهای دنباله ورودی که اسمش رو X میگذاریم روی دو حافظه کوتاه مدت گسسته و حافظه بلندمدت پیوسته عملیات توجه رو انجام میدهند و حاصل این دو توجه با هم جمع میشوند. عملیات توجه روی حافظه گسسته که شبیه همون ترنسفورمر عادیه اما داستان برای توجه روی حافظه پیوسته فرق میکنه. داستان به این صورته که مدل از روی پارامترهای مدل رگرشنی که برای پیوستهسازی استفاده کرده بود بردارهای کلید (K) و مقدار (V) رو میسازه. حالا از روی این بردارها و بردارهای کوئری (Q) که برای توکنهای ورودی دنباله X داشتیم دو پارامتر میانگین و واریانس برای یک توزیع گاوسی رو پیدا میکنه. حالا این توزیع گاوسی قراره که به مثابه پنجره روی حافظه پیوسته عمل کنه و حاصل توجه از اعمال یک جور کانولوشن با این پنجره گاوسی رو حافظه پیوسته به دست میاد. در نهایت هم که حاصل دو توجه گسسته و پیوسته با هم جمع میشوند.
برای آزمایش هم این مدل را روی وظایفی که نیاز به هندل کردن دنباله با طول زیاد بوده آموزشش دادن و نتایجش رو با مدل Transformer-XL مقایسه کردهاند و نشون دادهاند که از اون بهتر عمل کرده. مثلا یک نمونه وظیفه این بوده که دنبالهای تصادفی شامل تعدادی عدد تولید کردهاند و از مدل خواسته اند که در خروجی اعداد رو به ترتیب نزولی فرکانسشون در دنباله ورودی، خروجی بدهد.
در صورتی که کنجکاوتر شدید میتونید ویدئو یانیک کیلچر شیرینزبان رو در توضیح این مقاله مشاهده کنید:
https://www.youtube.com/watch?v=0JlB9gufTw8
لینک مقاله:
https://arxiv.org/abs/2109.00301
پ.ن. با معرفی کردن کانال به بقیه، حمایتش کنید.
#paper
#read
@nlp_stuff
Telegram
stuff
مدلهای دستهبندی صوتی در هاگینگفیس
قبلا در دو پست این [https://t.iss.one/nlp_stuff/152] و این [https://t.iss.one/nlp_stuff/184] راجع به مدل wave2vec و ابزار speechbrain صحبت کرده بودیم.
حالا کمکم زمان برداشت فرا رسیده و ملت مدلهای کاربردی روی این مدلها و ابزارهای پایه دارند تولید میکنند و روی هاگینگفیس هم میگذارند.
به تسکهایی مثل تشخیص زبان، استخراج کلمات کلیدی، تشخیص احساسات، تشخیص گوینده و … از روی صدای ورودی، دستهبندی صوتی گفته میشه.
لینک کل مدلهای دستهبندی صوتی موجود روی هاگینگ فیس:
https://huggingface.co/models?pipeline_tag=audio-classification
لینک مدل تشخیص زبان (فارسی هم داره) با Speechbrain:
https://huggingface.co/speechbrain/lang-id-commonlanguage_ecapa
#tool
#link
@nlp_stuff
قبلا در دو پست این [https://t.iss.one/nlp_stuff/152] و این [https://t.iss.one/nlp_stuff/184] راجع به مدل wave2vec و ابزار speechbrain صحبت کرده بودیم.
حالا کمکم زمان برداشت فرا رسیده و ملت مدلهای کاربردی روی این مدلها و ابزارهای پایه دارند تولید میکنند و روی هاگینگفیس هم میگذارند.
به تسکهایی مثل تشخیص زبان، استخراج کلمات کلیدی، تشخیص احساسات، تشخیص گوینده و … از روی صدای ورودی، دستهبندی صوتی گفته میشه.
لینک کل مدلهای دستهبندی صوتی موجود روی هاگینگ فیس:
https://huggingface.co/models?pipeline_tag=audio-classification
لینک مدل تشخیص زبان (فارسی هم داره) با Speechbrain:
https://huggingface.co/speechbrain/lang-id-commonlanguage_ecapa
#tool
#link
@nlp_stuff
خاطرههای قدیمی رو زنده کنید؛ این بار با مدل GFP-GAN
موضوع بازسازی تصاویر قدیمی همیشه یکی از آرزوهای پاک بشریت بوده! خیلی وقتها دوست داریم عکسهای چهره قدیمی از اجدادمون رو بتونیم واضحتر ببینیم که ببینیم چه شکلی بودند. این تسک به نوعی حذف نویز و بهبود و بازسازی تصاویر است. با این پست ویرگول از انتشارات اورفیت همراه باشید تا این مقاله رو بهتر درک کنید و از لینک دموی مدل و مقاله آگاه بشید.
آدرس پست:
https://virgool.io/overfit/gfp-gan-gxudgqbqptsd
پ.ن: با معرفی کانال به دیگران، بقیه رو هم در لذتی که میبرید شریک کنید!
#paper
#read
#blog
#overfit
@nlp_stuff
موضوع بازسازی تصاویر قدیمی همیشه یکی از آرزوهای پاک بشریت بوده! خیلی وقتها دوست داریم عکسهای چهره قدیمی از اجدادمون رو بتونیم واضحتر ببینیم که ببینیم چه شکلی بودند. این تسک به نوعی حذف نویز و بهبود و بازسازی تصاویر است. با این پست ویرگول از انتشارات اورفیت همراه باشید تا این مقاله رو بهتر درک کنید و از لینک دموی مدل و مقاله آگاه بشید.
آدرس پست:
https://virgool.io/overfit/gfp-gan-gxudgqbqptsd
پ.ن: با معرفی کانال به دیگران، بقیه رو هم در لذتی که میبرید شریک کنید!
#paper
#read
#blog
#overfit
@nlp_stuff
ویرگول
بازسازی عکسهای قدیمی با هوشمصنوعی
موضوع بازسازی تصاویر قدیمی همیشه یکی از آرزوهای پاک بشریت بوده! خیلی وقتها دوست داریم عکسهای چهره قدیمی اجدادمون رو بتونیم واضحتر
بلاگی برای یادگیری GNN
شاید شما هم جزء اون دسته افرادی باشید که با افتادن گذر به مباحث مربوط به Graph Neural Network کمیتتون لنگ میزنه و به خاطر عدم مطالعه درست و حسابی پایهای نتونستید با این جور مباحث ارتباط برقرار کنید. امروز دو تا لینک بلاگ درست حسابی براتون آوردیم که با خوندن اونها میتونید به مقدمات گراف در دیپ لرنینگ وارد بشید و از این به بعد خوندن مقالات این حوزه رو هم جزو گزینههاتون قرار بدید. از خوبیها این بلاگ اینه که از ب بسم الله به طرز روان و همهکسفهم و با تصویرسازیهای موثر و فراهم کردن زمینبازیهای تعاملی (playground) سعی کرده این مطالب رو توضیح بده. لینک اول راجع به دادههای با ذات گراف و مسائلشون و ایده و ساختار GNN صحبت میکنه. لینک دوم هم در رابطه با چند گونه مختلف از GNNها (نظیر GCN و GAT و ...) و پیادهسازی ایده کانولوشن روی گراف توضیح میده.
لینک اول:
https://distill.pub/2021/gnn-intro/
لینک دوم:
https://distill.pub/2021/understanding-gnns/
پ.ن: قبلا در زمینه گراف یک کورس خوب هم در این پست [https://t.iss.one/nlp_stuff/163] معرفی کرده بودیم.
#coach
#read
#blog
@nlp_stuff
شاید شما هم جزء اون دسته افرادی باشید که با افتادن گذر به مباحث مربوط به Graph Neural Network کمیتتون لنگ میزنه و به خاطر عدم مطالعه درست و حسابی پایهای نتونستید با این جور مباحث ارتباط برقرار کنید. امروز دو تا لینک بلاگ درست حسابی براتون آوردیم که با خوندن اونها میتونید به مقدمات گراف در دیپ لرنینگ وارد بشید و از این به بعد خوندن مقالات این حوزه رو هم جزو گزینههاتون قرار بدید. از خوبیها این بلاگ اینه که از ب بسم الله به طرز روان و همهکسفهم و با تصویرسازیهای موثر و فراهم کردن زمینبازیهای تعاملی (playground) سعی کرده این مطالب رو توضیح بده. لینک اول راجع به دادههای با ذات گراف و مسائلشون و ایده و ساختار GNN صحبت میکنه. لینک دوم هم در رابطه با چند گونه مختلف از GNNها (نظیر GCN و GAT و ...) و پیادهسازی ایده کانولوشن روی گراف توضیح میده.
لینک اول:
https://distill.pub/2021/gnn-intro/
لینک دوم:
https://distill.pub/2021/understanding-gnns/
پ.ن: قبلا در زمینه گراف یک کورس خوب هم در این پست [https://t.iss.one/nlp_stuff/163] معرفی کرده بودیم.
#coach
#read
#blog
@nlp_stuff
مدلسازی سهبعدی با استفاده از NeRF
ما انسان ها و به طور کلی حیوانات در ساختن نمای سهبعدی از اشیایی و تصاویر دوبعدیشون ماهر هستیم؛ ولی این ماجرا برای هوش مصنوعی فرق میکنه. فرض کنید یک تعداد عکس از یک شی (مثلا صندلی) با زاویههای مختلف میگیرم و میخواهیم مدل سهبعدی اون شی رو داشته باشیم که تصویر با هر زاویه دلخواه از اون رو بتونیم رندر بگیریم به این کار میگیم View Synthesis. برای این کار یک سری روش اولیه و ساده این بوده که از تصویرهای دو بعدی سعی میکردند حجم (volume) سهبعدی شی رو بسازند که البته ذخیرهسازی این volume حافظهای نزدیک به چند گیگ میخواسته و خب قاعدتا کار به صرفهای نبوده. یک دسته دیگر از روشها اما سعی کردهاند شی سه بعدی رو به شکل یک رویه مدل کنند و پارامترهای معادله اون رویه رو به دست بیارند (در مقایسه با دسته قبلی، این روشهای مثلا فقط نیاز به ۱۰ مگابایت حافظه داشتهاند)
اما یک مقالهای پارسال منتشر شد به اسم Neural Radiance Fields یا به اختصار NeRF، کاری که تو این مقاله میکنند اینه که یک شبکه عصبی آموزش میدن که با گرفتن تصویر در ورودی خودش، در خروجی خودش سه کانال رنگی و میزان آلفا یا opacity رو با گرفتن مختصات x,y,z و زاویه نگاه مورد نظر (تتا و فای) تولید میکنه. به صورت واضحتر یعنی شما به شبکه مثلا یک تصویر صندلی میدید و بهش x,y,z خودتون و زاویه دیدتون رو هم میدید و شبکه براتون اون نما از صندلی نسبت به اون موقعیت و زاویه رو درست میکنه؛ یعنی:
(x,y,z,theta,phi) => MLP => (R,G,B, alpha)
حالا این کار چه طوری انجام میپذیره؟ برای تولید تصویر دوبعدی در زاویه مورد نظر یه ray (پرتو، خط فرضی) از مرکز نگاه ما (دوربین) به هر نقطه در تصویر دوبعدی که میخواهیم بسازیم رد میکنند و ادامه میدهند. (این پرتو صرفا یه معادله خط در فضاست، یک خط بین دونقطه: دوربین و هر پیکسل تصویر دو بعدی) در نقاطی در طول پرتو سمپل برمیدارند و میانگین میگیرند (تقریب یک انتگرال) یعنی همونطوری که توی شکل مشخص شده مقادیر RGB و آلفا رو برای نقاط روی خط در نظر گرفته شده (که بش میگیم پرتو) حساب میکنند و میانگین این مقادیر میشه RGB و آلفا پیکسلی از تصویر دو بعدی که پرتو اون رو قطع میکنه. این کار رو برای چندین تصویر دوبعدی که از شی داریم انجام میدن. با این کار اون شی شکل سهبعدیش در وزنهای شبکه عصبی انکود میشه و میشه هر view ازش رو ساخت.
سوال بعدی اینه که این رو چطوری آموزش میدن؟ همین کار پرتو رو انجام میدن و برای تصاویری که داریم. شبکه یسری پیکسل تولید کرده که با پیکسل های واقعی MSE، به عنوان loss میگیرند. تقریبا نیمروز طول میکشه برای یک جسم یاد بگیره ولی توی 30 ثانیه view تولید میکنه. وزنهای شبکه عصبی هم حدود 5 مگابایت اینا میشه. دقت خیلی خوب وضوح تصویر عالی داره.
این همه حسن گفتیم اما مشکلش و جای کار بیشتر کجاست؟ باید سمپلهای زیادی در هر پرتو برداشت که حداقل موقع inference خیلی اذیت میکنه، تازه هر پرتو میشه یک پیکسل، رزولوشن بالا باشه دیگه دردسر بیشتره.
یسری بحث یادگیری ویژگیهای فرکانس بالا برای جزییات بهتر هم داره که از محدوده این پست خارجه.
مقاله:
https://arxiv.org/pdf/2003.08934
لینک مقالهها و پیادهسازیهاشون برای این زمینه:
https://github.com/yenchenlin/awesome-NeRF
پ.ن. با تشکر از آقای محمدمهدی عبداللهپور بابت درست کردن این پست. شما هم اگر پست خوبی دارید، بفرستید.
#read
#paper
@nlp_stuff
ما انسان ها و به طور کلی حیوانات در ساختن نمای سهبعدی از اشیایی و تصاویر دوبعدیشون ماهر هستیم؛ ولی این ماجرا برای هوش مصنوعی فرق میکنه. فرض کنید یک تعداد عکس از یک شی (مثلا صندلی) با زاویههای مختلف میگیرم و میخواهیم مدل سهبعدی اون شی رو داشته باشیم که تصویر با هر زاویه دلخواه از اون رو بتونیم رندر بگیریم به این کار میگیم View Synthesis. برای این کار یک سری روش اولیه و ساده این بوده که از تصویرهای دو بعدی سعی میکردند حجم (volume) سهبعدی شی رو بسازند که البته ذخیرهسازی این volume حافظهای نزدیک به چند گیگ میخواسته و خب قاعدتا کار به صرفهای نبوده. یک دسته دیگر از روشها اما سعی کردهاند شی سه بعدی رو به شکل یک رویه مدل کنند و پارامترهای معادله اون رویه رو به دست بیارند (در مقایسه با دسته قبلی، این روشهای مثلا فقط نیاز به ۱۰ مگابایت حافظه داشتهاند)
اما یک مقالهای پارسال منتشر شد به اسم Neural Radiance Fields یا به اختصار NeRF، کاری که تو این مقاله میکنند اینه که یک شبکه عصبی آموزش میدن که با گرفتن تصویر در ورودی خودش، در خروجی خودش سه کانال رنگی و میزان آلفا یا opacity رو با گرفتن مختصات x,y,z و زاویه نگاه مورد نظر (تتا و فای) تولید میکنه. به صورت واضحتر یعنی شما به شبکه مثلا یک تصویر صندلی میدید و بهش x,y,z خودتون و زاویه دیدتون رو هم میدید و شبکه براتون اون نما از صندلی نسبت به اون موقعیت و زاویه رو درست میکنه؛ یعنی:
(x,y,z,theta,phi) => MLP => (R,G,B, alpha)
حالا این کار چه طوری انجام میپذیره؟ برای تولید تصویر دوبعدی در زاویه مورد نظر یه ray (پرتو، خط فرضی) از مرکز نگاه ما (دوربین) به هر نقطه در تصویر دوبعدی که میخواهیم بسازیم رد میکنند و ادامه میدهند. (این پرتو صرفا یه معادله خط در فضاست، یک خط بین دونقطه: دوربین و هر پیکسل تصویر دو بعدی) در نقاطی در طول پرتو سمپل برمیدارند و میانگین میگیرند (تقریب یک انتگرال) یعنی همونطوری که توی شکل مشخص شده مقادیر RGB و آلفا رو برای نقاط روی خط در نظر گرفته شده (که بش میگیم پرتو) حساب میکنند و میانگین این مقادیر میشه RGB و آلفا پیکسلی از تصویر دو بعدی که پرتو اون رو قطع میکنه. این کار رو برای چندین تصویر دوبعدی که از شی داریم انجام میدن. با این کار اون شی شکل سهبعدیش در وزنهای شبکه عصبی انکود میشه و میشه هر view ازش رو ساخت.
سوال بعدی اینه که این رو چطوری آموزش میدن؟ همین کار پرتو رو انجام میدن و برای تصاویری که داریم. شبکه یسری پیکسل تولید کرده که با پیکسل های واقعی MSE، به عنوان loss میگیرند. تقریبا نیمروز طول میکشه برای یک جسم یاد بگیره ولی توی 30 ثانیه view تولید میکنه. وزنهای شبکه عصبی هم حدود 5 مگابایت اینا میشه. دقت خیلی خوب وضوح تصویر عالی داره.
این همه حسن گفتیم اما مشکلش و جای کار بیشتر کجاست؟ باید سمپلهای زیادی در هر پرتو برداشت که حداقل موقع inference خیلی اذیت میکنه، تازه هر پرتو میشه یک پیکسل، رزولوشن بالا باشه دیگه دردسر بیشتره.
یسری بحث یادگیری ویژگیهای فرکانس بالا برای جزییات بهتر هم داره که از محدوده این پست خارجه.
مقاله:
https://arxiv.org/pdf/2003.08934
لینک مقالهها و پیادهسازیهاشون برای این زمینه:
https://github.com/yenchenlin/awesome-NeRF
پ.ن. با تشکر از آقای محمدمهدی عبداللهپور بابت درست کردن این پست. شما هم اگر پست خوبی دارید، بفرستید.
#read
#paper
@nlp_stuff
Telegram
stuff
This media is not supported in your browser
VIEW IN TELEGRAM
مدلهای document parsing در هاگینگفیس
دو مدل LayoutLMv2 و LayoutXLM از مایکروسافت برای پارس کردن تصاویر متنی به هاگینگ فیس اضافه شده و دمویی هم در لینک زیر براشون قرار داده شده که میتونید امتحان کنید. به این مدلها مولتیمودال بین متن و لایوت و تصویر گفته میشه. این مدلها کلمههای داخل عکس را یکی از تگهای مثل QUESTION/ANSWER/HEADER/OTHER میزنند و یعنی دارند کل جدول رو براتون پارس میکنند که باعث میشه خیلی راحتتر بتونید با مقادیر جدول کار کنید.
مدل LayoutXLM روی ۵۳ تا زبون (از جمله فارسی) پیشآموزش داده شده.
- دموی مدل LayoutLMv2:
https://huggingface.co/spaces/nielsr/LayoutLMv2-FUNSD
- لینکهای مقاله و هاگینگفیس مدل LayoutXLM:
https://huggingface.co/microsoft/layoutxlm-base
https://arxiv.org/abs/2104.08836
- لینکهای مقاله و هاگینگفیس مدل LayoutLMv2:
https://huggingface.co/microsoft/layoutlmv2-base-uncased
https://arxiv.org/abs/2012.14740
#tool
#link
@nlp_stuff
دو مدل LayoutLMv2 و LayoutXLM از مایکروسافت برای پارس کردن تصاویر متنی به هاگینگ فیس اضافه شده و دمویی هم در لینک زیر براشون قرار داده شده که میتونید امتحان کنید. به این مدلها مولتیمودال بین متن و لایوت و تصویر گفته میشه. این مدلها کلمههای داخل عکس را یکی از تگهای مثل QUESTION/ANSWER/HEADER/OTHER میزنند و یعنی دارند کل جدول رو براتون پارس میکنند که باعث میشه خیلی راحتتر بتونید با مقادیر جدول کار کنید.
مدل LayoutXLM روی ۵۳ تا زبون (از جمله فارسی) پیشآموزش داده شده.
- دموی مدل LayoutLMv2:
https://huggingface.co/spaces/nielsr/LayoutLMv2-FUNSD
- لینکهای مقاله و هاگینگفیس مدل LayoutXLM:
https://huggingface.co/microsoft/layoutxlm-base
https://arxiv.org/abs/2104.08836
- لینکهای مقاله و هاگینگفیس مدل LayoutLMv2:
https://huggingface.co/microsoft/layoutlmv2-base-uncased
https://arxiv.org/abs/2012.14740
#tool
#link
@nlp_stuff
آشنایی با متد gather در pytorch
استفاده از حلقهها نظیر for در کدهای یادگیری عمیق به شدت قبیح و سخیف است، از این نظر که فلسفه یادگیری عمیق را که مبتنی بر موازیسازی است تباه میسازد و باعث کاهش سرعت در اجرای کد میشود. نحوه پاکسازی کد از حلقه در بعضی مواقع با تکنیکهای indexing یا slicing واضح و روشن است اما در بعضی مواقع دیگر نیز حذف حلقه و استفاده از توابع وکتوری، نیازمند آشنایی با توابع خاص منظوره این موارد است. یکی از موارد سناریویی است که در آن تنسوری به ما داده شده و بایستی در راستای یک محور تنسوری مقادیر خاصی را استخراج کنیم. انجام این عملیات با indexing ممکن نبوده و راه حل فرار از حلقه for در این سناریو در چارچوب پایتورچ، استفاده از متد gather است.
در صورتی که علاقهمند به آشنایی با gather و آموختن این تکنیک هستید، میتوانید از پست جدید ما در ویرگول که در این باره است استفاده کامل را ببرید.
لینک ویرگول:
https://virgool.io/overfit/gather-in-pytorch-lhce2bm1wkb3
#read
#blog
#overfit
@nlp_stuff
استفاده از حلقهها نظیر for در کدهای یادگیری عمیق به شدت قبیح و سخیف است، از این نظر که فلسفه یادگیری عمیق را که مبتنی بر موازیسازی است تباه میسازد و باعث کاهش سرعت در اجرای کد میشود. نحوه پاکسازی کد از حلقه در بعضی مواقع با تکنیکهای indexing یا slicing واضح و روشن است اما در بعضی مواقع دیگر نیز حذف حلقه و استفاده از توابع وکتوری، نیازمند آشنایی با توابع خاص منظوره این موارد است. یکی از موارد سناریویی است که در آن تنسوری به ما داده شده و بایستی در راستای یک محور تنسوری مقادیر خاصی را استخراج کنیم. انجام این عملیات با indexing ممکن نبوده و راه حل فرار از حلقه for در این سناریو در چارچوب پایتورچ، استفاده از متد gather است.
در صورتی که علاقهمند به آشنایی با gather و آموختن این تکنیک هستید، میتوانید از پست جدید ما در ویرگول که در این باره است استفاده کامل را ببرید.
لینک ویرگول:
https://virgool.io/overfit/gather-in-pytorch-lhce2bm1wkb3
#read
#blog
#overfit
@nlp_stuff
ویرگول
متد gather در pytorch
با gather آشنا شویم تا کمتر از for قبیح وقت گیر در پایتورچ استفاده کنیم!
نوتبوک داینامیک پدینگ
یکی از تفاوتهای اساسی دادههای متنی با دادههای تصویری، سایز مختلف نمونههای متنی (طول متن) نسبت به یکدیگره. برای حل این معضل راهکار padding استفاده میشه که در آن، طول تمامی نمونههای یک بچ یکسانسازی میشه. سادهترین استراتژی در این راستا میتونه این باشه که همه متنها رو به اندازه طول بزرگترین متن پد کنیم، اما خب واضحه که با این کار وقت و منابع زیادی رو برای بچ هایی که طول طولانیترین متنشون به اندازه طولانیترین متن کل دادهها نیست، هدر میدهیم. استراتژی موثرتر میتونه استفاده از داینامیک پدینگ باشه که تو این روش دادهها رو فقط به اندازه طولانیترین متن حاضر در هر بچ پد کنیم. باز هم اینجا ممکنه یک متن طولانی با یک متن کوتاه با هم در یک بچ حاضر بشوند و منابع زیادی برای پد کردن این بچ به هدر بره. راهکارهای دیگه مثل سورت کردن یا شبه سورت کردن دادهها برای حل این مشکل وجود دارند. آقای ایوبی اومدند و در راستای این دسته روشهای مطرح شده نوتبوکی رو آماده کردهاند و در اختیار بقیه قرار دادند. این نوتبوک شامل کدهای مربوط به انجام هر یک از این روشهاست و البته توضیحشون و مزایا و معایبشون هم قرار داده شده. میتونید مشاهده کنید و در صورت نیاز در کدهاتون استفاده کنید.
لینک نوتبوک:
https://sajjjadayobi.github.io/blog/tips/2021/08/09/sortish-bathes.html
پ.ن. با تشکر از آقای ایوبی بابت فرستادن این پست. شما نیز اگر مطلب یا محتوای جالبی در دست دارید، بفرستید تا با اسم خودتون در کانال قرار داده بشه.
#code
@nlp_stuff
یکی از تفاوتهای اساسی دادههای متنی با دادههای تصویری، سایز مختلف نمونههای متنی (طول متن) نسبت به یکدیگره. برای حل این معضل راهکار padding استفاده میشه که در آن، طول تمامی نمونههای یک بچ یکسانسازی میشه. سادهترین استراتژی در این راستا میتونه این باشه که همه متنها رو به اندازه طول بزرگترین متن پد کنیم، اما خب واضحه که با این کار وقت و منابع زیادی رو برای بچ هایی که طول طولانیترین متنشون به اندازه طولانیترین متن کل دادهها نیست، هدر میدهیم. استراتژی موثرتر میتونه استفاده از داینامیک پدینگ باشه که تو این روش دادهها رو فقط به اندازه طولانیترین متن حاضر در هر بچ پد کنیم. باز هم اینجا ممکنه یک متن طولانی با یک متن کوتاه با هم در یک بچ حاضر بشوند و منابع زیادی برای پد کردن این بچ به هدر بره. راهکارهای دیگه مثل سورت کردن یا شبه سورت کردن دادهها برای حل این مشکل وجود دارند. آقای ایوبی اومدند و در راستای این دسته روشهای مطرح شده نوتبوکی رو آماده کردهاند و در اختیار بقیه قرار دادند. این نوتبوک شامل کدهای مربوط به انجام هر یک از این روشهاست و البته توضیحشون و مزایا و معایبشون هم قرار داده شده. میتونید مشاهده کنید و در صورت نیاز در کدهاتون استفاده کنید.
لینک نوتبوک:
https://sajjjadayobi.github.io/blog/tips/2021/08/09/sortish-bathes.html
پ.ن. با تشکر از آقای ایوبی بابت فرستادن این پست. شما نیز اگر مطلب یا محتوای جالبی در دست دارید، بفرستید تا با اسم خودتون در کانال قرار داده بشه.
#code
@nlp_stuff
Telegram
stuff
جعبهابزار یادگیری ماشین!
هر فردی که در حوزه یادگیری ماشین و مشتقاتش داره فعالیت میکنه حتما لازمه که برای خودش یه جعبهابزار داشته باشه. برادر آمیت این جعبه ابزار رو آماده کرده و کل ابزارها رو به ۵ دسته آمادهسازی داده، اکتشاف داده، مدلسازی، ولیدیشن و پروداکشن از استکها و تسکهای مختلف تقسیم کرده.
این پست رو حتما یه گوشهای ذخیره کنید که هر وقت به دوشواری خوردید، یه سری بهش بزنید.
لینک جعبهابزار:
https://amitness.com/toolbox
#tool
@nlp_stuff
هر فردی که در حوزه یادگیری ماشین و مشتقاتش داره فعالیت میکنه حتما لازمه که برای خودش یه جعبهابزار داشته باشه. برادر آمیت این جعبه ابزار رو آماده کرده و کل ابزارها رو به ۵ دسته آمادهسازی داده، اکتشاف داده، مدلسازی، ولیدیشن و پروداکشن از استکها و تسکهای مختلف تقسیم کرده.
این پست رو حتما یه گوشهای ذخیره کنید که هر وقت به دوشواری خوردید، یه سری بهش بزنید.
لینک جعبهابزار:
https://amitness.com/toolbox
#tool
@nlp_stuff
بعضی seedها برابرترند
همانطور که احتمالا تا حالا دیده اید در خیلی از مقالات یادگیری ماشین به جای گزارش یک عدد به عنوان امتیاز معدل، چندین بار آزمایش روی مدل صورت میگیره و امتیاز مدل در این آزمایشها به صورت یک بازه گزارش میشود. حالا آقای پیکارد اومدند و سعی کردند بررسی کنند که تاثیر seed های مختلف بر روی عملکرد مدل به چه صورته. ایشون سعی کردند پاسخ به سه سوال رو پیدا کنند:
۱- توزیع امتیاز مدلها با توجه به seed انتخابی به چه صورته؟
۲- آیا پدیده قوی سیاه رو بین مدلها با seedهای مختلف میشه مشاهده کرد؟ یعنی seed ای هست که منجر به مدلی با امتیاز خیلی بالا یا پایین بشه؟
۳- آیا پیش آموزش روی دیتاستهای بزرگتر باعث تخفیف تنوع پذیری امتیاز مدل با توجه به seedها میشه؟
پیکارد بر همین اساس اومده و تسکهای دستهبندی تصویر بر روی cifar10 و imagenet رو برای انواع seedها انجام داده و بر اساس نتایج پاسخهایی رو برای سه سوال بالا ارائه داده. نکته جالب در نتایج اینه که واقعا انتخاب seed میتونه بر امتیاز مدل تاثیرگذار باشه و حتی اگر میزان ایپاکهای آموزش رو بیشتر کنیم هم فاصله طبقاتی میان خوششانسترین و بدشانسترین مدلهای برآمده از seed های مختلف کاهش پیدا نمیکنه. نکته اخلاقی این پست اینه که اگر مدلی رو توسعه دادید و خواستید میزان عملکردش رو گزارش بدید حواستون باشه که randomness اولیه رو هم در نظر بگیرید و به جای گزارش یک عدد، باید یک بازه رو ارائه داد (البته که اگر مدل یا دادگان به اندازه ای بزرگ باشند که نشه چندبار فرآیند آموزش دادن رو انجام داد این سناریو با دشواری مواجه میشه و باید فکری دیگهای به حالش کرد که میتونه موضوع پژوهشهای دیگهای باشه)
لینک مقاله:
https://arxiv.org/abs/2109.08203
پ.ن: با نشر مطالب دوستان خود را نیز از لذت فراگیری بهرهمند سازید.
#paper
#read
@nlp_stuff
همانطور که احتمالا تا حالا دیده اید در خیلی از مقالات یادگیری ماشین به جای گزارش یک عدد به عنوان امتیاز معدل، چندین بار آزمایش روی مدل صورت میگیره و امتیاز مدل در این آزمایشها به صورت یک بازه گزارش میشود. حالا آقای پیکارد اومدند و سعی کردند بررسی کنند که تاثیر seed های مختلف بر روی عملکرد مدل به چه صورته. ایشون سعی کردند پاسخ به سه سوال رو پیدا کنند:
۱- توزیع امتیاز مدلها با توجه به seed انتخابی به چه صورته؟
۲- آیا پدیده قوی سیاه رو بین مدلها با seedهای مختلف میشه مشاهده کرد؟ یعنی seed ای هست که منجر به مدلی با امتیاز خیلی بالا یا پایین بشه؟
۳- آیا پیش آموزش روی دیتاستهای بزرگتر باعث تخفیف تنوع پذیری امتیاز مدل با توجه به seedها میشه؟
پیکارد بر همین اساس اومده و تسکهای دستهبندی تصویر بر روی cifar10 و imagenet رو برای انواع seedها انجام داده و بر اساس نتایج پاسخهایی رو برای سه سوال بالا ارائه داده. نکته جالب در نتایج اینه که واقعا انتخاب seed میتونه بر امتیاز مدل تاثیرگذار باشه و حتی اگر میزان ایپاکهای آموزش رو بیشتر کنیم هم فاصله طبقاتی میان خوششانسترین و بدشانسترین مدلهای برآمده از seed های مختلف کاهش پیدا نمیکنه. نکته اخلاقی این پست اینه که اگر مدلی رو توسعه دادید و خواستید میزان عملکردش رو گزارش بدید حواستون باشه که randomness اولیه رو هم در نظر بگیرید و به جای گزارش یک عدد، باید یک بازه رو ارائه داد (البته که اگر مدل یا دادگان به اندازه ای بزرگ باشند که نشه چندبار فرآیند آموزش دادن رو انجام داد این سناریو با دشواری مواجه میشه و باید فکری دیگهای به حالش کرد که میتونه موضوع پژوهشهای دیگهای باشه)
لینک مقاله:
https://arxiv.org/abs/2109.08203
پ.ن: با نشر مطالب دوستان خود را نیز از لذت فراگیری بهرهمند سازید.
#paper
#read
@nlp_stuff
Telegram
stuff
ورکشاپ یادگیری گراف استنفورد
ورکشاپ گراف دانشگاه استنفورد (آزمایشگاه آقای لسکوکاینا) دو هفته پیش برگزار شد و افراد خوف و خفن زیادی در این زمینهها اومدند و راجع به مسائل مختلف گرافی در صنعت و آکادمیک صحبت کردند.
اسلایدها و ویدیوهاشون هم طبق معمول با سخاوت به اشتراک گذاشتند.
بحثهای ترکیبی خیلی جذابی مثل کاربردهای گراف در پردازش زبان طبیعی، ویژن و تشخیص fraud و نفوذ شبکه و … ارائه شده.
کتابخونههایی مثل PyG و GraphGym هم توش معرفی شدند.
خلاصه یه روزتون رو کامل میسازه و کلی چیز یاد میگیرید.
پ.ن. اگر کلا نمیدونید داستان یادگیری گراف چیه، این پست [https://t.iss.one/nlp_stuff/163] و این پست [https://t.iss.one/nlp_stuff/223] رو ببینید.
لینک صفحهی ورکشاپ:
https://snap.stanford.edu/graphlearning-workshop/
لینک یوتیوب ورکشاپ:
https://youtu.be/NKZdqCi5fVE
#link
#conf
@nlp_stuff
ورکشاپ گراف دانشگاه استنفورد (آزمایشگاه آقای لسکوکاینا) دو هفته پیش برگزار شد و افراد خوف و خفن زیادی در این زمینهها اومدند و راجع به مسائل مختلف گرافی در صنعت و آکادمیک صحبت کردند.
اسلایدها و ویدیوهاشون هم طبق معمول با سخاوت به اشتراک گذاشتند.
بحثهای ترکیبی خیلی جذابی مثل کاربردهای گراف در پردازش زبان طبیعی، ویژن و تشخیص fraud و نفوذ شبکه و … ارائه شده.
کتابخونههایی مثل PyG و GraphGym هم توش معرفی شدند.
خلاصه یه روزتون رو کامل میسازه و کلی چیز یاد میگیرید.
پ.ن. اگر کلا نمیدونید داستان یادگیری گراف چیه، این پست [https://t.iss.one/nlp_stuff/163] و این پست [https://t.iss.one/nlp_stuff/223] رو ببینید.
لینک صفحهی ورکشاپ:
https://snap.stanford.edu/graphlearning-workshop/
لینک یوتیوب ورکشاپ:
https://youtu.be/NKZdqCi5fVE
#link
#conf
@nlp_stuff
راه جنرالیزیشن از اورفیت میگذرد
معمولا رسم بر این بوده که هر وقت مدل به حالت overfit میرسه آموزشدادنش متوقف بشه و دیگه امیدی به اصلاح مدل نمیره. اما مقالهای اومده و نشون داده که در صورت ادامه به آموزش مدل، خیلی خیلی گام بعدتر از اورفیت هم همچنان میتونه اتفاق جالبی که به عنوان grokking نامگذاری شده، بیافته. توضیح این مقاله رو میشه در دو بخش تسک تعریف شده و پدیدهی رخداده در فرآیند آموزش پی گرفت.
در قسمت تعریف تسک، این مقاله یک تسک تقریبا نمادی (symbolic) رو درست کردهاند. به این صورت که تابعی دلخواه از دو سیمبل ورودی که هر کدوم میتونن مقادیر نمادی a و b و .. را بپذیرند را در نظر گرفته اند. مقدار این تابع برای تمامی مقادیر ممکن ورودی محاسبه میشه (جدول پیوست شده رو میتونید نگاه کنید) و تعدادی از خانههای این جدول خالی میشوند و باقی به عنوان داده آموزشی به مدل داده میشود. حال مدل بایستی با آموزش روی دادههای داده شده، جاهای خالی جدول را پر کند.
اما نکته اصلی مقاله، در فرآیند آموزش آن قرار دارد. پس از تعدادی گام آموزش، مدل بر روی دادگان آموزشی اورفیت میکند در حالی که دقت آن بر روی دادههای validation تقریبا صفر است. اما با ادامه دادن آموزش حتی پس از اورفیت، پس از تعداد خیلی خیلی زیادی گام آموزشی، در نهایت مدل به یکباره و سرعت از اورفیت خارج میشود و دقت آن بر روی دادههای validation به ۹۹ درصد میرسد که این پدیده grokking نامگذاری شده است.
نکته جالب این ماجرا در این جاست که داشتن داده کم ولی ادامه دادن آموزش پس از اورفیت میتواند منجر به مدلی بهتر از مدلی با تعداد داده بیشتر شود. البته که مقیاس تعداد گامهای لازم بسیار زیاد است و مساله از نظر عملی قابل اشکال است.
در صورت علاقهمندی بیشتر میتواند یوتیوب توضیحات کیلچر درباره این مقاله را ببینید:
https://youtu.be/dND-7llwrpw
لینک مقاله:
https://mathai-iclr.github.io/papers/papers/MATHAI_29_paper.pdf
#read
#paper
#watch
@nlp_stuff
معمولا رسم بر این بوده که هر وقت مدل به حالت overfit میرسه آموزشدادنش متوقف بشه و دیگه امیدی به اصلاح مدل نمیره. اما مقالهای اومده و نشون داده که در صورت ادامه به آموزش مدل، خیلی خیلی گام بعدتر از اورفیت هم همچنان میتونه اتفاق جالبی که به عنوان grokking نامگذاری شده، بیافته. توضیح این مقاله رو میشه در دو بخش تسک تعریف شده و پدیدهی رخداده در فرآیند آموزش پی گرفت.
در قسمت تعریف تسک، این مقاله یک تسک تقریبا نمادی (symbolic) رو درست کردهاند. به این صورت که تابعی دلخواه از دو سیمبل ورودی که هر کدوم میتونن مقادیر نمادی a و b و .. را بپذیرند را در نظر گرفته اند. مقدار این تابع برای تمامی مقادیر ممکن ورودی محاسبه میشه (جدول پیوست شده رو میتونید نگاه کنید) و تعدادی از خانههای این جدول خالی میشوند و باقی به عنوان داده آموزشی به مدل داده میشود. حال مدل بایستی با آموزش روی دادههای داده شده، جاهای خالی جدول را پر کند.
اما نکته اصلی مقاله، در فرآیند آموزش آن قرار دارد. پس از تعدادی گام آموزش، مدل بر روی دادگان آموزشی اورفیت میکند در حالی که دقت آن بر روی دادههای validation تقریبا صفر است. اما با ادامه دادن آموزش حتی پس از اورفیت، پس از تعداد خیلی خیلی زیادی گام آموزشی، در نهایت مدل به یکباره و سرعت از اورفیت خارج میشود و دقت آن بر روی دادههای validation به ۹۹ درصد میرسد که این پدیده grokking نامگذاری شده است.
نکته جالب این ماجرا در این جاست که داشتن داده کم ولی ادامه دادن آموزش پس از اورفیت میتواند منجر به مدلی بهتر از مدلی با تعداد داده بیشتر شود. البته که مقیاس تعداد گامهای لازم بسیار زیاد است و مساله از نظر عملی قابل اشکال است.
در صورت علاقهمندی بیشتر میتواند یوتیوب توضیحات کیلچر درباره این مقاله را ببینید:
https://youtu.be/dND-7llwrpw
لینک مقاله:
https://mathai-iclr.github.io/papers/papers/MATHAI_29_paper.pdf
#read
#paper
#watch
@nlp_stuff
Telegram
stuff