COURSE
CS221: Artificial Intelligence: Principles and Techniques
Stanford / Autumn 2021-2022
https://stanford-cs221.github.io/autumn2021/
CS221: Artificial Intelligence: Principles and Techniques
Stanford / Autumn 2021-2022
https://stanford-cs221.github.io/autumn2021/
سلام ،
یکی از بچهها یه سوالی از م پرسیده گفتم اینجا هم ل اشتراک بگذارم.
اگه براتون پیش اومده که استادتون براتون وقت نمیذاره و جلسه یک به یک قبول نمیکنه باهاتون بذاره، چطور قضیه رو هندل میکنین؟ کلا اگه از تجربیاتتون برای دیل کردن با استادا بگین خیلی عالی میشه
یکی از بچهها یه سوالی از م پرسیده گفتم اینجا هم ل اشتراک بگذارم.
اگه براتون پیش اومده که استادتون براتون وقت نمیذاره و جلسه یک به یک قبول نمیکنه باهاتون بذاره، چطور قضیه رو هندل میکنین؟ کلا اگه از تجربیاتتون برای دیل کردن با استادا بگین خیلی عالی میشه
بر اساس تجربه شخصی من معمولا در حالت های زیر استاد برای شما میتینگ شخصی نمی ذاره:
1. استاد با سواد و بی حوصله است و فکر می کنه شما هنوز در اون زمینه نیاز به مطالعه و «خوداموزی» بیشتری دارید و از عهده اداره کردن پروژه به تنهایی بر نمیاید. راه حل۱: سعی کنید مسلط به جدید ترین پیپر ها و ریسرچ های مرتبط به پروژه خودتون باشید. با مطرح کردن ایده های خودتون و کارهای گروه های دیگه در جلساتتون، مشارکت فعالانه داشته باشید.برای اغلب کارها داوطلب بشید تا linchpin بشید. وقتی که متوجه استقلال شما شد و شما هم به topic و problem های اصلیش مسلط شدید و بخش مورد علاقه استادتونه که ممکنه بشه روش پروژه تعریف کرد روپیدا کردید، یه ایمیل بزنید. ایده رو مختصر تو ایمیل مطرح کنید و بگیدکه دوست دارید باهاش شخصا راجع به اون ایده صحبت کنید. اگه ببینه جدی هستید حتی اگه ایدتون چرت باشه هم بلاخره یه پروژه براتون تعریف میکنه. شاید حس کنید پروژه رو کاملا شما تعریف کردید ولی مغرور نشید و یادتون نره شما هنوز یه جوجه محقق هستید. هر چه باشد استاد باسواد گل است و گل یکی دو پیرهن بیشتر ز غنچه پاره کرده است. از این مرحله به بعد باید مثل بنز کار کنید وگرنه بقیه رو هم به پروژه اضافه میکنه یا از پروژه رو از شما میگیره.
2. استادتازه کاره و پروژه ها و سواد محدودی داره و دانشجو ها هم هنوز به مرحله ای نرسیدن که پروژه تعریف و حل کنن و احساس می کنه بهتره همه دانشجو هاش رو تو همه پروژه ها دخیل کنه که حداقل از یکی دوتاش یه پابلیکیشن در بیاد (یه سفره ابوالفضلی هست حالا همه دور هم می خورن) راه حل۲: راه حل ۱ رو امتحان کنید ولی اگه بعد از یه مدتی دیدین به جایی نمی رسید سعی کنید خیلی سوسکی پروژه رو به یه گروه فعال ربط بدید و co advisor پیدا کنید یا collaborator جور کنید. این جور استاد ها معمولابا دست و دلبازی ریکام خوب میدن از این مسئله استفاده کنید تا با گروه های خوب همکاری کنید.
@project_ml
3. به دلیلی(موجه یا غیر موجه) از دست شما ناراحته و می خواد یه مدت شما رو کمتر ببینه تا تنش اولیه فروکش کنه. راه حل۳: بهش زمان بدید و به خاطر داشته باشید، یک استاد ناراحت مثل مار مرحله اخر مارپله میتونه شما رو برگردونه خونه اول ولی اگه حالش خوب بشه مثل نردبون میتونه ببرتتون بالا. پس و به جای اینکه استرس زمان رو داشته باشید تمرکزتون رو روی ترمیم رابطه بذارید.در این فاصله پیپر های مرتبط رو پیدا کنید و بخونید بر اساس اونها یه سری ازمایش طراحی کنید و انجام بدید. اول هرهفته بهش یه ایمیل بزنید و توضیح بدید که هفته قبل چیکار کردید. مثلا پیپر هایی که خوندید رو قید کنید و بگیدچرا جالب بودن و چه کردید و چه نتایجی گرفتید و و چالش ها تون و برنامتون برای هفته پیش رو چیه.بعد از ۳-۴ هفته بگید چقدر خوب بود که میتونستید یه میتینگ داشته باشید و ازش یه direction بگیرید. نشون بدید که خودکار هستید وارزش وقت و راهنمایش رو می دونید. اگه گفت نه ناامید نشید همینکه جواب داده یعنی شما ۳ هیچ از خیلی ها جلوترید.
کانال تلگرامی
https://news.1rj.ru/str/project_ml
1. استاد با سواد و بی حوصله است و فکر می کنه شما هنوز در اون زمینه نیاز به مطالعه و «خوداموزی» بیشتری دارید و از عهده اداره کردن پروژه به تنهایی بر نمیاید. راه حل۱: سعی کنید مسلط به جدید ترین پیپر ها و ریسرچ های مرتبط به پروژه خودتون باشید. با مطرح کردن ایده های خودتون و کارهای گروه های دیگه در جلساتتون، مشارکت فعالانه داشته باشید.برای اغلب کارها داوطلب بشید تا linchpin بشید. وقتی که متوجه استقلال شما شد و شما هم به topic و problem های اصلیش مسلط شدید و بخش مورد علاقه استادتونه که ممکنه بشه روش پروژه تعریف کرد روپیدا کردید، یه ایمیل بزنید. ایده رو مختصر تو ایمیل مطرح کنید و بگیدکه دوست دارید باهاش شخصا راجع به اون ایده صحبت کنید. اگه ببینه جدی هستید حتی اگه ایدتون چرت باشه هم بلاخره یه پروژه براتون تعریف میکنه. شاید حس کنید پروژه رو کاملا شما تعریف کردید ولی مغرور نشید و یادتون نره شما هنوز یه جوجه محقق هستید. هر چه باشد استاد باسواد گل است و گل یکی دو پیرهن بیشتر ز غنچه پاره کرده است. از این مرحله به بعد باید مثل بنز کار کنید وگرنه بقیه رو هم به پروژه اضافه میکنه یا از پروژه رو از شما میگیره.
2. استادتازه کاره و پروژه ها و سواد محدودی داره و دانشجو ها هم هنوز به مرحله ای نرسیدن که پروژه تعریف و حل کنن و احساس می کنه بهتره همه دانشجو هاش رو تو همه پروژه ها دخیل کنه که حداقل از یکی دوتاش یه پابلیکیشن در بیاد (یه سفره ابوالفضلی هست حالا همه دور هم می خورن) راه حل۲: راه حل ۱ رو امتحان کنید ولی اگه بعد از یه مدتی دیدین به جایی نمی رسید سعی کنید خیلی سوسکی پروژه رو به یه گروه فعال ربط بدید و co advisor پیدا کنید یا collaborator جور کنید. این جور استاد ها معمولابا دست و دلبازی ریکام خوب میدن از این مسئله استفاده کنید تا با گروه های خوب همکاری کنید.
@project_ml
3. به دلیلی(موجه یا غیر موجه) از دست شما ناراحته و می خواد یه مدت شما رو کمتر ببینه تا تنش اولیه فروکش کنه. راه حل۳: بهش زمان بدید و به خاطر داشته باشید، یک استاد ناراحت مثل مار مرحله اخر مارپله میتونه شما رو برگردونه خونه اول ولی اگه حالش خوب بشه مثل نردبون میتونه ببرتتون بالا. پس و به جای اینکه استرس زمان رو داشته باشید تمرکزتون رو روی ترمیم رابطه بذارید.در این فاصله پیپر های مرتبط رو پیدا کنید و بخونید بر اساس اونها یه سری ازمایش طراحی کنید و انجام بدید. اول هرهفته بهش یه ایمیل بزنید و توضیح بدید که هفته قبل چیکار کردید. مثلا پیپر هایی که خوندید رو قید کنید و بگیدچرا جالب بودن و چه کردید و چه نتایجی گرفتید و و چالش ها تون و برنامتون برای هفته پیش رو چیه.بعد از ۳-۴ هفته بگید چقدر خوب بود که میتونستید یه میتینگ داشته باشید و ازش یه direction بگیرید. نشون بدید که خودکار هستید وارزش وقت و راهنمایش رو می دونید. اگه گفت نه ناامید نشید همینکه جواب داده یعنی شما ۳ هیچ از خیلی ها جلوترید.
کانال تلگرامی
https://news.1rj.ru/str/project_ml
برگه تقلب / cheat sheet صدو سی صفحه ای #MachineLearning - معادلات و دیاگرام های کلاسیک ، برای کمک به آماده سازی برای مصاحبه شغلی و یاد اوری سریع مفاهیم یادگیری ماشین
https://github.com/soulmachine/machine-learning-cheat-sheet
@project_ml
کانال تلگرامی
https://news.1rj.ru/str/project_ml
#ArtificialIntelligence #Python #MachineLearning
https://github.com/soulmachine/machine-learning-cheat-sheet
@project_ml
کانال تلگرامی
https://news.1rj.ru/str/project_ml
#ArtificialIntelligence #Python #MachineLearning
GitHub
GitHub - soulmachine/machine-learning-cheat-sheet: Classical equations and diagrams in machine learning
Classical equations and diagrams in machine learning - soulmachine/machine-learning-cheat-sheet
گوگل کولب pro چیه
اگر شما با گوگل کولب کار کرده باشید احتمالا متوجه شده اید که گوگل کولب دارای محدودیت های است به همین جهت گوگل سرویس کولب پرو رو ارائه داده
https://colab.research.google.com/signup
اگر شما با گوگل کولب کار کرده باشید احتمالا متوجه شده اید که گوگل کولب دارای محدودیت های است به همین جهت گوگل سرویس کولب پرو رو ارائه داده
https://colab.research.google.com/signup
Computer Vision Cheatsheet!
->Computer Vision Online Courses- https://www.mltut.com/best-online-courses-for-computer-vision/
->Download this cheatsheet here- https://github.com/hagary/cv-cheatsheet/blob/master/cv-sheet.pdf
#computervision #artificialintelligence #ConvolutionalNeuralNetworks #machinelearning #machinelearningalgorithms #deeplearning #deeplearningalgorithms
->Computer Vision Online Courses- https://www.mltut.com/best-online-courses-for-computer-vision/
->Download this cheatsheet here- https://github.com/hagary/cv-cheatsheet/blob/master/cv-sheet.pdf
#computervision #artificialintelligence #ConvolutionalNeuralNetworks #machinelearning #machinelearningalgorithms #deeplearning #deeplearningalgorithms
MLTut
9 Best Computer Vision Online Courses
Computer vision is the technology that enables the digital world to interact with the physical world. So if you are looking for some best online courses for computer vision, then give your few minutes to this article.
COURSE
UC Berkeley CS188 Intro to AI -- Course Materials
https://web.archive.org/web/20160902023030/http://ai.berkeley.edu/home.html
UC Berkeley CS188 Intro to AI -- Course Materials
https://web.archive.org/web/20160902023030/http://ai.berkeley.edu/home.html
«بوک کلاب ماشین لرنینگ »
در ماشین لرنینگ بوک کلاب، که جلساتش با مشارکت محققین از شرکت های مطرح جهان از جمله گوگل ، فیس بوک و اپل و ..... و همچنین اساتید و دانشجویان پست دکترا ، دکترا ، کارشناسی ارشد و ... برگزار می شود با هم کتاب میخوانیم. برای اینکه بتوانیم سریعتر و دقیقتر مطالعه کنیم، با هم روی کتابهای تخصصی در زمینه هوشمصنوعی مثل یادگیری ماشین، دیپ لرنینگ و ... تمرکز میکنیم و بعد از مطالعه برداشت و موضوعات رو با هم و به صورت زنده به اشتراک میذاریم و در موردشون بحث میکنیم.
کتابها از بین لیست پیشنهادی انتخاب میشه. بنا به تصمیم کلی، بخشی از کتاب یا همه کتاب رو باهم مطالعه میکنیم. علاوه بر کتاب برنامه های های دیگه ای هم داریم .
اگر تمایل دارید به بوک کلاب ما بپیوندید و کتابهایی در زمینه ماشین لرنینگ و دیپ لرنینگ بخوانید لطفا فرم زیر را پر کنید👇🏻
https://docs.google.com/forms/d/e/1FAIpQLSd8byv9G5xrjYr6W0-Y1gNdFeZF6ALD_MYFoWtUdZEvNJtf9w/viewform
در ماشین لرنینگ بوک کلاب، که جلساتش با مشارکت محققین از شرکت های مطرح جهان از جمله گوگل ، فیس بوک و اپل و ..... و همچنین اساتید و دانشجویان پست دکترا ، دکترا ، کارشناسی ارشد و ... برگزار می شود با هم کتاب میخوانیم. برای اینکه بتوانیم سریعتر و دقیقتر مطالعه کنیم، با هم روی کتابهای تخصصی در زمینه هوشمصنوعی مثل یادگیری ماشین، دیپ لرنینگ و ... تمرکز میکنیم و بعد از مطالعه برداشت و موضوعات رو با هم و به صورت زنده به اشتراک میذاریم و در موردشون بحث میکنیم.
کتابها از بین لیست پیشنهادی انتخاب میشه. بنا به تصمیم کلی، بخشی از کتاب یا همه کتاب رو باهم مطالعه میکنیم. علاوه بر کتاب برنامه های های دیگه ای هم داریم .
اگر تمایل دارید به بوک کلاب ما بپیوندید و کتابهایی در زمینه ماشین لرنینگ و دیپ لرنینگ بخوانید لطفا فرم زیر را پر کنید👇🏻
https://docs.google.com/forms/d/e/1FAIpQLSd8byv9G5xrjYr6W0-Y1gNdFeZF6ALD_MYFoWtUdZEvNJtf9w/viewform
Google Docs
Machine Learning Reading Club Group registration
This form is for the registration of the Machine learning Reading Club group. In this study group, we will read and discuss Artificial intelligence and Machine learning fields.
#اساسنامه ی گروه
1. این گروه رایگان برای مطالعه و به بحث گذاشتن / خواندن کتاب…
#اساسنامه ی گروه
1. این گروه رایگان برای مطالعه و به بحث گذاشتن / خواندن کتاب…
Good lectures on RL but a bit theoretical and they covers OR stuff as well
https://deepmind.com/learning-resources/reinforcement-learning-series-2021?fbclid=IwAR2sw3UnSTbbgeDPvoZL0QtpMJXWN9FkXx4tP19gEEyh45l0ARnzZMiv8_E
https://deepmind.com/learning-resources/reinforcement-learning-series-2021?fbclid=IwAR2sw3UnSTbbgeDPvoZL0QtpMJXWN9FkXx4tP19gEEyh45l0ARnzZMiv8_E
Deepmind
Reinforcement Learning Lecture Series 2021
We research and build safe AI systems that learn how to solve problems and advance scientific discovery for all. Explore our work: deepmind.com/research
This is the book you need to learn Deep Learning with great visuals! Get the full 235-page version here: https://gumroad.com/a/100881523
This book is for you:
🔹If you are just beginning your journey in deep learning, or machine learning in general.
🔹If you have already got started with deep learning but want to gain further intuition.
🔹If you are a leader looking to understand deep learning and AI from first principles.
Credit: kDimensions
Love it when a book simplifies abstract concepts to accelerate learning.
Are you looking to increase your knowledge of deep learning in 2022?
What do you think of the future of Deep Learning?
Thanks to the author of this awesome one!
#DeepLearning
#artificialintelligence
This book is for you:
🔹If you are just beginning your journey in deep learning, or machine learning in general.
🔹If you have already got started with deep learning but want to gain further intuition.
🔹If you are a leader looking to understand deep learning and AI from first principles.
Credit: kDimensions
Love it when a book simplifies abstract concepts to accelerate learning.
Are you looking to increase your knowledge of deep learning in 2022?
What do you think of the future of Deep Learning?
Thanks to the author of this awesome one!
#DeepLearning
#artificialintelligence
Gumroad
A Visual Introduction to Deep Learning
*** Get 20% OFF. Use discount code: LEARNVISUALLY at the checkout. ***"This is an ideal introduction for people who have limited time but still want to go beyond trivial, hand-waving explanations a...
مجموعه مسالههای یادگیری عمیق برای مصاحبههای آکادمیک و یا شغلی
لینک کانال
@project_ml
امروز کتابی رو براتون معرفی میکنیم که شامل مسالههای متنوعی در حوزه یادگیری ماشین و یادگیری عمیقه. این مسالهها عموما سوالاتی هستند که در مصاحبههای آکادمیک و یا شغلی پرسیده میشوند. حالا این کتاب به طرز نکویی این مسالهها رو به همراه جوابهاشون گردآوری کرده که میتونید برای افزایش توانمندیهاتون ازش استفاده کنید. سوالات این کتاب عموما یا سوالات مفهومی و پایهای حول اون حوزه هستند و یا سوالات کاربردی که هر کدوم چالشهای خاص خودش رو داره. مثلا در سوالاتی کاربردی ممکنه یه تیکه کد به PyTorch داده باشه و بخواد که شما بگید چی کار میکنه. فصلهای این کتاب به ترتیب از مباحث پایهای مثل logistic regression شروع میشه و به مفاهیم پیچیدهتر در حوزه شبکههای عمیق مثل CNNها و مسالههای مربوطه میرسه. توصیه میکنیم اول سوالها رو نگاه بندازید و بعد سعی کنید اونها رو حل کنید. اگه جوابی به ذهنتون نمیرسه به جای اینکه مستقیم سراغ بخش solutions برید سعی کنید در کتابهای دیگه در حوزه یادگیری ماشین و یادگیری عمیق جواب اون سوال رو پیدا کنید. مثلا یکی از سوالهاش اینه:
کدوم توزیع آماری بیشترین آنتروپی رو در یه بازه بسته داره؟ اول کمی فکر کنید و بعد جوابش رو در تصویر میتونید ببینید.
لینک کتاب:
https://arxiv.org/abs/2201.00650
#book
#read
لینک کانال
https://news.1rj.ru/str/project_ml
لینک کانال
@project_ml
امروز کتابی رو براتون معرفی میکنیم که شامل مسالههای متنوعی در حوزه یادگیری ماشین و یادگیری عمیقه. این مسالهها عموما سوالاتی هستند که در مصاحبههای آکادمیک و یا شغلی پرسیده میشوند. حالا این کتاب به طرز نکویی این مسالهها رو به همراه جوابهاشون گردآوری کرده که میتونید برای افزایش توانمندیهاتون ازش استفاده کنید. سوالات این کتاب عموما یا سوالات مفهومی و پایهای حول اون حوزه هستند و یا سوالات کاربردی که هر کدوم چالشهای خاص خودش رو داره. مثلا در سوالاتی کاربردی ممکنه یه تیکه کد به PyTorch داده باشه و بخواد که شما بگید چی کار میکنه. فصلهای این کتاب به ترتیب از مباحث پایهای مثل logistic regression شروع میشه و به مفاهیم پیچیدهتر در حوزه شبکههای عمیق مثل CNNها و مسالههای مربوطه میرسه. توصیه میکنیم اول سوالها رو نگاه بندازید و بعد سعی کنید اونها رو حل کنید. اگه جوابی به ذهنتون نمیرسه به جای اینکه مستقیم سراغ بخش solutions برید سعی کنید در کتابهای دیگه در حوزه یادگیری ماشین و یادگیری عمیق جواب اون سوال رو پیدا کنید. مثلا یکی از سوالهاش اینه:
کدوم توزیع آماری بیشترین آنتروپی رو در یه بازه بسته داره؟ اول کمی فکر کنید و بعد جوابش رو در تصویر میتونید ببینید.
لینک کتاب:
https://arxiv.org/abs/2201.00650
#book
#read
لینک کانال
https://news.1rj.ru/str/project_ml
الگوریتم LookAhead: چند گام رو به جلو، یک گام به عقب!
چند تا از اعضای آزمایشگاه وکتور دانشگاه تورنتو در کنفرانس نیپس سال ۲۰۱۹، الگوریتم بهینهسازی جالبی به نام LookAhead (LA) برای آموزش شبکههای عمیق ارائه کردند.
مقاله مال دو سال پیشه، اما چون ما جدیدا خوندیمش، گفتیم با شما هم به اشتراک بگذاریم.
به صورت معمول الگوریتمهایی مثل SGD و اینا با نرخ یادگیری بالا، حول مینیمم اینور اونور میپرند. اگر نرخ رو هم پایین بذاریم، کلی طول میکشه تا یاد بگیرند یعنی خیلی به هایپرپارامترهایی مثل نرخ یادگیریشون وابسته هستند.
این الگوریتم LA این مشکل رو برطرف میکنه و نشون میده که به هایپر پارامترهاش وابسته نیست و بهتر از الگوریتمهای قبلی هم کار میکنه.
الگوریتم LookAhead از یه دونه الگوریتم بهینهسازی داخلی مثل آدام و SGD و … استفاده میکنه و دو جور وزن (متغیر) داره؛ وزنهای سریع (theta) و وزنهای کند (phi). وزنهای سریع رو الگوریتم داخلیه بهروز میکنه و وزنهای کند رو خود الگوریتم LookAhead.
همونطور که در شبهکد در تصویر ضمیمه شده قابل مشاهدهست، این الگوریتم اینجوری کاری میکنه که همون اول وزنهای کند رو میریزه توی وزنهای سریع بعد میگذاره که اون الگوریتم داخلی، k گام در حلقهی داخلی پیش بره و وزنهای سریع شبکه رو بهروز کنه و مثلا برسه به theta(t,k). بعد بین وزنهای کند دور قبلی الگوریتم (phi(t-1)) و این وزنهای سریع جدید (theta(t,k)) یه درونیابی ساده میکنه و یه نقطه اون وسط پیدا میکنه و phi(t) رو بدست میار و درست مثل دفعه قبل اینو اول حلقه بیرونی توی (theta(t+1,0) قراره بریزه تا دفعه بعدی، الگوریتم حلقه داخلی با مقادیر اولیه همین وزنهای کند کارشون رو شروع کنند. اینکه کجای خط باشه، با یه هایپر پارامتر به نام آلفا مشخص میشه.
پس این الگوریتم دو تا ابرپارامتر اضافی با نام k و آلفا داره.
شکل سمت چپ تصویر اول ضمیمه شده (همون نمودار سبزه) تفاوت مسیر حرکت یه الگوریتم مثل SGD و LookAhead رو معلوم میکنه. k گام الگوریتم داخلی میره، بعد یه درون یابی بین نقطه اولیه و آخری زده میشه و نقطه شروع جدید پیدا میشه و باز Kگام الگوریتم داخلی و …
اگر با این توضیحات ما گیج شدید، یه دور شبهکد رو بخونید و اون شکل بغلش رو خوب نگاه کنید و بعد دوباره بیاید سراغ توضیحات. اون ویدیوهایی که لینکشو دادیم هم میتونید ببینید که شیرفهم شید.
حالا قشنگی ماجرا کجاست؟ همونطور که گفتیم این الگوریتم مشکل وابستگی زیاد به هاپیرپارامترها رو حل میکنه و به الگوریتم داخلی میگه که تو وحشیانه پیش برو، من کنترلت میکنم. مثل اینکه یه عده از کوه دارند میان پایین، یک نفر بالا میایسته و به بقیه میگه این سر طناب دست من، شما سریع و خشن برید پایین، بعد یه جایی اون وسط مسطا که بهتره همو میبینیم. اون عکس دوم ضمیمه شده (ورق بزنید) هم نشون میده که الگوریتم داخلی (آدام و SGD و اینا) به تنهایی اگر اجرا میشدند هی میخواستند گند بزنند ولی الگوریتم LookAhead هی نمیگذاره دقت بیفته.
در مقاله میتونید نتایج آموزش مدلها با این الگوریتم رو، روی تسکهای مختلف (دستهبندی عکسها، مدل زبانی و ترجمه ماشینی) ببنید که همواره بهتر و با همگرایی سریعتر عمل کرده.
لینک مقاله:
https://arxiv.org/abs/1907.08610
لینک ویدیوی ارائه یکی از نویسندگان مقاله:
https://www.youtube.com/watch?v=TxGxiDK0Ccc
لینک ویدیوی توضیح ایده به صورت خلاصه و تصویری و زیبا:
https://www.youtube.com/watch?v=I5sLWKKcEyI
پ.ن. کانال رو بقیه معرفی کنید که دور هم صفا کنیم! :)
#read
#paper
چند تا از اعضای آزمایشگاه وکتور دانشگاه تورنتو در کنفرانس نیپس سال ۲۰۱۹، الگوریتم بهینهسازی جالبی به نام LookAhead (LA) برای آموزش شبکههای عمیق ارائه کردند.
مقاله مال دو سال پیشه، اما چون ما جدیدا خوندیمش، گفتیم با شما هم به اشتراک بگذاریم.
به صورت معمول الگوریتمهایی مثل SGD و اینا با نرخ یادگیری بالا، حول مینیمم اینور اونور میپرند. اگر نرخ رو هم پایین بذاریم، کلی طول میکشه تا یاد بگیرند یعنی خیلی به هایپرپارامترهایی مثل نرخ یادگیریشون وابسته هستند.
این الگوریتم LA این مشکل رو برطرف میکنه و نشون میده که به هایپر پارامترهاش وابسته نیست و بهتر از الگوریتمهای قبلی هم کار میکنه.
الگوریتم LookAhead از یه دونه الگوریتم بهینهسازی داخلی مثل آدام و SGD و … استفاده میکنه و دو جور وزن (متغیر) داره؛ وزنهای سریع (theta) و وزنهای کند (phi). وزنهای سریع رو الگوریتم داخلیه بهروز میکنه و وزنهای کند رو خود الگوریتم LookAhead.
همونطور که در شبهکد در تصویر ضمیمه شده قابل مشاهدهست، این الگوریتم اینجوری کاری میکنه که همون اول وزنهای کند رو میریزه توی وزنهای سریع بعد میگذاره که اون الگوریتم داخلی، k گام در حلقهی داخلی پیش بره و وزنهای سریع شبکه رو بهروز کنه و مثلا برسه به theta(t,k). بعد بین وزنهای کند دور قبلی الگوریتم (phi(t-1)) و این وزنهای سریع جدید (theta(t,k)) یه درونیابی ساده میکنه و یه نقطه اون وسط پیدا میکنه و phi(t) رو بدست میار و درست مثل دفعه قبل اینو اول حلقه بیرونی توی (theta(t+1,0) قراره بریزه تا دفعه بعدی، الگوریتم حلقه داخلی با مقادیر اولیه همین وزنهای کند کارشون رو شروع کنند. اینکه کجای خط باشه، با یه هایپر پارامتر به نام آلفا مشخص میشه.
پس این الگوریتم دو تا ابرپارامتر اضافی با نام k و آلفا داره.
شکل سمت چپ تصویر اول ضمیمه شده (همون نمودار سبزه) تفاوت مسیر حرکت یه الگوریتم مثل SGD و LookAhead رو معلوم میکنه. k گام الگوریتم داخلی میره، بعد یه درون یابی بین نقطه اولیه و آخری زده میشه و نقطه شروع جدید پیدا میشه و باز Kگام الگوریتم داخلی و …
اگر با این توضیحات ما گیج شدید، یه دور شبهکد رو بخونید و اون شکل بغلش رو خوب نگاه کنید و بعد دوباره بیاید سراغ توضیحات. اون ویدیوهایی که لینکشو دادیم هم میتونید ببینید که شیرفهم شید.
حالا قشنگی ماجرا کجاست؟ همونطور که گفتیم این الگوریتم مشکل وابستگی زیاد به هاپیرپارامترها رو حل میکنه و به الگوریتم داخلی میگه که تو وحشیانه پیش برو، من کنترلت میکنم. مثل اینکه یه عده از کوه دارند میان پایین، یک نفر بالا میایسته و به بقیه میگه این سر طناب دست من، شما سریع و خشن برید پایین، بعد یه جایی اون وسط مسطا که بهتره همو میبینیم. اون عکس دوم ضمیمه شده (ورق بزنید) هم نشون میده که الگوریتم داخلی (آدام و SGD و اینا) به تنهایی اگر اجرا میشدند هی میخواستند گند بزنند ولی الگوریتم LookAhead هی نمیگذاره دقت بیفته.
در مقاله میتونید نتایج آموزش مدلها با این الگوریتم رو، روی تسکهای مختلف (دستهبندی عکسها، مدل زبانی و ترجمه ماشینی) ببنید که همواره بهتر و با همگرایی سریعتر عمل کرده.
لینک مقاله:
https://arxiv.org/abs/1907.08610
لینک ویدیوی ارائه یکی از نویسندگان مقاله:
https://www.youtube.com/watch?v=TxGxiDK0Ccc
لینک ویدیوی توضیح ایده به صورت خلاصه و تصویری و زیبا:
https://www.youtube.com/watch?v=I5sLWKKcEyI
پ.ن. کانال رو بقیه معرفی کنید که دور هم صفا کنیم! :)
#read
#paper
YouTube
Lookahead Optimizer: k steps forward, 1 step back | Michael Zhang
A talk from the Toronto Machine Learning Summit: https://torontomachinelearning.com/
The video is hosted by https://towardsdatascience.com/
About the speaker:
Michael Zhang is a PhD student at the University of Toronto and Vector Institute, supervised…
The video is hosted by https://towardsdatascience.com/
About the speaker:
Michael Zhang is a PhD student at the University of Toronto and Vector Institute, supervised…
«بوک کلاب ماشین لرنینگ »
در ماشین لرنینگ بوک کلاب، که جلساتش با مشارکت محققین از شرکت های مطرح جهان از جمله گوگل ، فیس بوک و اپل و ..... و همچنین اساتید و دانشجویان پست دکترا ، دکترا ، کارشناسی ارشد و ... برگزار می شود با هم کتاب میخوانیم. برای اینکه بتوانیم سریعتر و دقیقتر مطالعه کنیم، با هم روی کتابهای تخصصی در زمینه هوشمصنوعی مثل یادگیری ماشین، دیپ لرنینگ و ... تمرکز میکنیم و بعد از مطالعه برداشت و موضوعات رو با هم و به صورت زنده به اشتراک میذاریم و در موردشون بحث میکنیم.
کتابها از بین لیست پیشنهادی انتخاب میشه. بنا به تصمیم کلی، بخشی از کتاب یا همه کتاب رو باهم مطالعه میکنیم. علاوه بر کتاب برنامه های های دیگه ای هم داریم .
اگر تمایل دارید به بوک کلاب ما بپیوندید و کتابهایی در زمینه ماشین لرنینگ و دیپ لرنینگ بخوانید لطفا فرم زیر را پر کنید👇🏻
https://docs.google.com/forms/d/e/1FAIpQLSd8byv9G5xrjYr6W0-Y1gNdFeZF6ALD_MYFoWtUdZEvNJtf9w/viewform
در ماشین لرنینگ بوک کلاب، که جلساتش با مشارکت محققین از شرکت های مطرح جهان از جمله گوگل ، فیس بوک و اپل و ..... و همچنین اساتید و دانشجویان پست دکترا ، دکترا ، کارشناسی ارشد و ... برگزار می شود با هم کتاب میخوانیم. برای اینکه بتوانیم سریعتر و دقیقتر مطالعه کنیم، با هم روی کتابهای تخصصی در زمینه هوشمصنوعی مثل یادگیری ماشین، دیپ لرنینگ و ... تمرکز میکنیم و بعد از مطالعه برداشت و موضوعات رو با هم و به صورت زنده به اشتراک میذاریم و در موردشون بحث میکنیم.
کتابها از بین لیست پیشنهادی انتخاب میشه. بنا به تصمیم کلی، بخشی از کتاب یا همه کتاب رو باهم مطالعه میکنیم. علاوه بر کتاب برنامه های های دیگه ای هم داریم .
اگر تمایل دارید به بوک کلاب ما بپیوندید و کتابهایی در زمینه ماشین لرنینگ و دیپ لرنینگ بخوانید لطفا فرم زیر را پر کنید👇🏻
https://docs.google.com/forms/d/e/1FAIpQLSd8byv9G5xrjYr6W0-Y1gNdFeZF6ALD_MYFoWtUdZEvNJtf9w/viewform
Google Docs
Machine Learning Reading Club Group registration
This form is for the registration of the Machine learning Reading Club group. In this study group, we will read and discuss Artificial intelligence and Machine learning fields.
#اساسنامه ی گروه
1. این گروه رایگان برای مطالعه و به بحث گذاشتن / خواندن کتاب…
#اساسنامه ی گروه
1. این گروه رایگان برای مطالعه و به بحث گذاشتن / خواندن کتاب…
Generalized Category Discovery
Vaze et al.: https://arxiv.org/abs/2201.02609
#ArtificialIntelligence #DeepLearning #MachineLearning
Vaze et al.: https://arxiv.org/abs/2201.02609
#ArtificialIntelligence #DeepLearning #MachineLearning
کورس CS 11-711 برای آپگریدشدن در پردازش زبان
اگر مفاهیم پایه nlp رو بلد هستید میتونید با آموختن این کورس با مفاهیم جدیدتر پردازش زبان نظیر prompting و نحوه مدلکردن متنهای خیلی بلند و fairness در زبان و حتی نحوه تفسیر و دیباگ مدلهای پردازش زبانی آشنا بشید. این کورس از cmu و همین پاییز ۲۰۲۱ هست. اگر مفاهیم پایه پردازش زبان رو بلد هستید ولی در مسائل جدید کمیتتون لنگ میزنه و خواهان خفن شدن هستید، این کورس رو از دست ندید.
لینک کورس و اسلایدها:
http://phontron.com/class/anlp2021/schedule.html
اگر مفاهیم پایه nlp رو بلد هستید میتونید با آموختن این کورس با مفاهیم جدیدتر پردازش زبان نظیر prompting و نحوه مدلکردن متنهای خیلی بلند و fairness در زبان و حتی نحوه تفسیر و دیباگ مدلهای پردازش زبانی آشنا بشید. این کورس از cmu و همین پاییز ۲۰۲۱ هست. اگر مفاهیم پایه پردازش زبان رو بلد هستید ولی در مسائل جدید کمیتتون لنگ میزنه و خواهان خفن شدن هستید، این کورس رو از دست ندید.
لینک کورس و اسلایدها:
http://phontron.com/class/anlp2021/schedule.html
راه جنرالیزیشن از اورفیت میگذرد
معمولا رسم بر این بوده که هر وقت مدل به حالت overfit میرسه آموزشدادنش متوقف بشه و دیگه امیدی به اصلاح مدل نمیره. اما مقالهای اومده و نشون داده که در صورت ادامه به آموزش مدل، خیلی خیلی گام بعدتر از اورفیت هم همچنان میتونه اتفاق جالبی که به عنوان grokking نامگذاری شده، بیافته. توضیح این مقاله رو میشه در دو بخش تسک تعریف شده و پدیدهی رخداده در فرآیند آموزش پی گرفت.
در قسمت تعریف تسک، این مقاله یک تسک تقریبا نمادی (symbolic) رو درست کردهاند. به این صورت که تابعی دلخواه از دو سیمبل ورودی که هر کدوم میتونن مقادیر نمادی a و b و .. را بپذیرند را در نظر گرفته اند. مقدار این تابع برای تمامی مقادیر ممکن ورودی محاسبه میشه (جدول پیوست شده رو میتونید نگاه کنید) و تعدادی از خانههای این جدول خالی میشوند و باقی به عنوان داده آموزشی به مدل داده میشود. حال مدل بایستی با آموزش روی دادههای داده شده، جاهای خالی جدول را پر کند.
اما نکته اصلی مقاله، در فرآیند آموزش آن قرار دارد. پس از تعدادی گام آموزش، مدل بر روی دادگان آموزشی اورفیت میکند در حالی که دقت آن بر روی دادههای validation تقریبا صفر است. اما با ادامه دادن آموزش حتی پس از اورفیت، پس از تعداد خیلی خیلی زیادی گام آموزشی، در نهایت مدل به یکباره و سرعت از اورفیت خارج میشود و دقت آن بر روی دادههای validation به ۹۹ درصد میرسد که این پدیده grokking نامگذاری شده است.
نکته جالب این ماجرا در این جاست که داشتن داده کم ولی ادامه دادن آموزش پس از اورفیت میتواند منجر به مدلی بهتر از مدلی با تعداد داده بیشتر شود. البته که مقیاس تعداد گامهای لازم بسیار زیاد است و مساله از نظر عملی قابل اشکال است.
در صورت علاقهمندی بیشتر میتواند یوتیوب توضیحات کیلچر درباره این مقاله را ببینید:
https://youtu.be/dND-7llwrpw
لینک مقاله:
https://mathai-iclr.github.io/papers/papers/MATHAI_29_paper.pdf
معمولا رسم بر این بوده که هر وقت مدل به حالت overfit میرسه آموزشدادنش متوقف بشه و دیگه امیدی به اصلاح مدل نمیره. اما مقالهای اومده و نشون داده که در صورت ادامه به آموزش مدل، خیلی خیلی گام بعدتر از اورفیت هم همچنان میتونه اتفاق جالبی که به عنوان grokking نامگذاری شده، بیافته. توضیح این مقاله رو میشه در دو بخش تسک تعریف شده و پدیدهی رخداده در فرآیند آموزش پی گرفت.
در قسمت تعریف تسک، این مقاله یک تسک تقریبا نمادی (symbolic) رو درست کردهاند. به این صورت که تابعی دلخواه از دو سیمبل ورودی که هر کدوم میتونن مقادیر نمادی a و b و .. را بپذیرند را در نظر گرفته اند. مقدار این تابع برای تمامی مقادیر ممکن ورودی محاسبه میشه (جدول پیوست شده رو میتونید نگاه کنید) و تعدادی از خانههای این جدول خالی میشوند و باقی به عنوان داده آموزشی به مدل داده میشود. حال مدل بایستی با آموزش روی دادههای داده شده، جاهای خالی جدول را پر کند.
اما نکته اصلی مقاله، در فرآیند آموزش آن قرار دارد. پس از تعدادی گام آموزش، مدل بر روی دادگان آموزشی اورفیت میکند در حالی که دقت آن بر روی دادههای validation تقریبا صفر است. اما با ادامه دادن آموزش حتی پس از اورفیت، پس از تعداد خیلی خیلی زیادی گام آموزشی، در نهایت مدل به یکباره و سرعت از اورفیت خارج میشود و دقت آن بر روی دادههای validation به ۹۹ درصد میرسد که این پدیده grokking نامگذاری شده است.
نکته جالب این ماجرا در این جاست که داشتن داده کم ولی ادامه دادن آموزش پس از اورفیت میتواند منجر به مدلی بهتر از مدلی با تعداد داده بیشتر شود. البته که مقیاس تعداد گامهای لازم بسیار زیاد است و مساله از نظر عملی قابل اشکال است.
در صورت علاقهمندی بیشتر میتواند یوتیوب توضیحات کیلچر درباره این مقاله را ببینید:
https://youtu.be/dND-7llwrpw
لینک مقاله:
https://mathai-iclr.github.io/papers/papers/MATHAI_29_paper.pdf
YouTube
Grokking: Generalization beyond Overfitting on small algorithmic datasets (Paper Explained)
#grokking #openai #deeplearning
Grokking is a phenomenon when a neural network suddenly learns a pattern in the dataset and jumps from random chance generalization to perfect generalization very suddenly. This paper demonstrates grokking on small algorithmic…
Grokking is a phenomenon when a neural network suddenly learns a pattern in the dataset and jumps from random chance generalization to perfect generalization very suddenly. This paper demonstrates grokking on small algorithmic…
در انتقال یادگیری از لایههای میانی غافل نشوید
در سناریو انتقال یادگیری و هنگامی که بخواهیم شبکه پیش آموزش دیده روی تسک مبدا را برای تسک مقصد استفاده کنیم، دو راه پیشروی خود داریم. راه اول این است که شبکه را به اصطلاح فریز کنیم و یک لایه خطی روی فیچرهای لایه آخر شبکه برای تسک مقصد استفاده کنیم. راه دوم هم این است که کل شبکه را مورد فاین تیون قرار بدهیم. حالا مقالهای اومده که نشون داده راه سومی هم جز این دو هست و این راه فریزکردن شبکه و در عین حال سوارکردن یک لایه خطی بر روی فیچرهای تمام لایههای میانی شبکه است (نه فقط فیچرهای لایه آخر). در واقع سوالی که منجر به این ایده شده این بوده که Fine-tuning با این که پیچیدگی و تعداد پارامتر بیشتری نسبت به حالت فریزکردن مدل داره چرا بهتر عمل میکنه؟ نکنه در سناریو Fine-tuning صرفا فیچرهای میانی شبکه دارند به آخر شبکه پاس داده میشوند؟؟)
این مقاله ابتدا اومده imagenet رو به عنوان تسک مبدا در نظر گرفته و ۱۹ دیتاست دیگه مثل Cifar100 و Clevr و Pets و ... رو به عنوان تسک مقصد در نظر گرفته. سپس یک مقداری تحت عنوان domain affinity محاسبه کرده که نشون میده هر کدوم از این ۱۹ تسک مقصد چه قدر به imagenet نزدیک هستند. حالا اومدند و برای هر کدوم از این دیتاستها سه سناریو دستهبند خطی روی شبکه مبدا فریزشده (Linear)، فاین تیونکردن شبکه مبدا (Fine-tuning) و اموزش دادن از اول (Scratch) و نتایج این روشها رو تو عکس figure2 ای که مشاهده میکنید گذاشتند. در این نمودار دیتاست های سمت چپ دارای affinity کمتر و دیتاستهای سمت راست دارای affinity بیشتری هستند. نمودار نشون میده که برای دیتاستهای چپ سناریو Scratch جواببهتری از بقیه میده و برای دیتاستهای راست هم سناریو Linear جواب خوبی میده ( که منطقی هم هست).
در گام بعدی مقاله اومده و مدل خودش یعنی Head2Toe رو مطرح کرده. در این مدل ابتدا شبکه مبدا (همون پیش آموزش دیدهه روی imagent) فریز میشه و سپس تمامی فیچرهای میانی شبکه انتخاب میشوند. از اونجایی که سایز اینها خب زیاده فیچرهای هر لایه توسط یک مکانیزم pooling ابعادشون کاهش پیدا میکنه. در نهایت تمامی این فیچرهای کاهش بعد داده شده تمامی لایهها با هم کانکت میشوند و یک بردار ویژگی بزرگ به دست میاد (اسمش رو h_all بذارید). از اونجایی که این h_all هم بزرگه و آموزش دادن کلاسیفایر خطی روش ممکنه منجر به اورفیت بشه، مقاله اومده از رگولاریزیشن Group lasso برای آموزش یک دستهبند خطی روی این بردار بزرگ استفاده کرده تا وزنهایی که به دست میان اسپارس باشن و هم به نوعی عمل فیچر سلکشن رو روی h_all انجام داده. در نهایت هم اومدن head2Toe رو روی اون ۱۹ دیتاست مختلف اجرا کردند و نشون دادند که در میانگین روششون بهتر از سناریوهای دیگه نظیر Linear و حتی Fine-tune داره عمل میکنه!
لینک مقاله:
https://arxiv.org/abs/2201.03529
#read
#paper
لینک کانال
https://news.1rj.ru/str/project_ml
در سناریو انتقال یادگیری و هنگامی که بخواهیم شبکه پیش آموزش دیده روی تسک مبدا را برای تسک مقصد استفاده کنیم، دو راه پیشروی خود داریم. راه اول این است که شبکه را به اصطلاح فریز کنیم و یک لایه خطی روی فیچرهای لایه آخر شبکه برای تسک مقصد استفاده کنیم. راه دوم هم این است که کل شبکه را مورد فاین تیون قرار بدهیم. حالا مقالهای اومده که نشون داده راه سومی هم جز این دو هست و این راه فریزکردن شبکه و در عین حال سوارکردن یک لایه خطی بر روی فیچرهای تمام لایههای میانی شبکه است (نه فقط فیچرهای لایه آخر). در واقع سوالی که منجر به این ایده شده این بوده که Fine-tuning با این که پیچیدگی و تعداد پارامتر بیشتری نسبت به حالت فریزکردن مدل داره چرا بهتر عمل میکنه؟ نکنه در سناریو Fine-tuning صرفا فیچرهای میانی شبکه دارند به آخر شبکه پاس داده میشوند؟؟)
این مقاله ابتدا اومده imagenet رو به عنوان تسک مبدا در نظر گرفته و ۱۹ دیتاست دیگه مثل Cifar100 و Clevr و Pets و ... رو به عنوان تسک مقصد در نظر گرفته. سپس یک مقداری تحت عنوان domain affinity محاسبه کرده که نشون میده هر کدوم از این ۱۹ تسک مقصد چه قدر به imagenet نزدیک هستند. حالا اومدند و برای هر کدوم از این دیتاستها سه سناریو دستهبند خطی روی شبکه مبدا فریزشده (Linear)، فاین تیونکردن شبکه مبدا (Fine-tuning) و اموزش دادن از اول (Scratch) و نتایج این روشها رو تو عکس figure2 ای که مشاهده میکنید گذاشتند. در این نمودار دیتاست های سمت چپ دارای affinity کمتر و دیتاستهای سمت راست دارای affinity بیشتری هستند. نمودار نشون میده که برای دیتاستهای چپ سناریو Scratch جواببهتری از بقیه میده و برای دیتاستهای راست هم سناریو Linear جواب خوبی میده ( که منطقی هم هست).
در گام بعدی مقاله اومده و مدل خودش یعنی Head2Toe رو مطرح کرده. در این مدل ابتدا شبکه مبدا (همون پیش آموزش دیدهه روی imagent) فریز میشه و سپس تمامی فیچرهای میانی شبکه انتخاب میشوند. از اونجایی که سایز اینها خب زیاده فیچرهای هر لایه توسط یک مکانیزم pooling ابعادشون کاهش پیدا میکنه. در نهایت تمامی این فیچرهای کاهش بعد داده شده تمامی لایهها با هم کانکت میشوند و یک بردار ویژگی بزرگ به دست میاد (اسمش رو h_all بذارید). از اونجایی که این h_all هم بزرگه و آموزش دادن کلاسیفایر خطی روش ممکنه منجر به اورفیت بشه، مقاله اومده از رگولاریزیشن Group lasso برای آموزش یک دستهبند خطی روی این بردار بزرگ استفاده کرده تا وزنهایی که به دست میان اسپارس باشن و هم به نوعی عمل فیچر سلکشن رو روی h_all انجام داده. در نهایت هم اومدن head2Toe رو روی اون ۱۹ دیتاست مختلف اجرا کردند و نشون دادند که در میانگین روششون بهتر از سناریوهای دیگه نظیر Linear و حتی Fine-tune داره عمل میکنه!
لینک مقاله:
https://arxiv.org/abs/2201.03529
#read
#paper
لینک کانال
https://news.1rj.ru/str/project_ml