ML & AI resources
171 subscribers
165 photos
13 videos
7 files
501 links
Explore AI & Deep Learning with us. Join our Telegram channel for the latest insights and tutorials, managed by CE students from Amirkabir University of Technology.

🆔 @ML_AI_resourses
Download Telegram
NLP 800.pdf
14 MB
🔥2👍1
ورژن پنجم کورس جرمی هاوارد امروز منتشر شد!

Practical Deep Learning for Coders

https://course.fast.ai/

این کورس براساس کتابخونه‌های پایتورچ، fastai و huggingface و … هست و مباحث کامپیوتر ویژن، NLP، تحلیل داده structured، سیستم‌های توصیه دهنده و الگوریتم‌هایی مثل رگرسیون و random forest رو پوشش میده.

توضیحات بیشتر رو میتونید در توییت جرمی هاوارد بخونید:

https://twitter.com/jeremyphoward/status/1550264123925360640?s=21&t=EFNN4D6QI6Y5EDk_KxdPCw
🔥3
Python Artificial Intelligence Projects for Beginners
Get up and running with Artificial Intelligence using 8 smart and exciting AI applications

Download

#book
👍1
Forwarded from NLP stuff
تیر آخر برای فهمیدن ترنسفورمرها!

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

لینک بلاگ:
https://e2eml.school/transformers.html

لینک پیاده‌سازی:
https://nlp.seas.harvard.edu/annotated-transformer/#a-first-example

لینک ریپو:
https://github.com/dair-ai/Transformers-Recipe

#read
#blog

@nlp_stuff
Machine learning model performance degrades over time. When data quality is fine, there are two usual suspects: data drift or concept drift.

▪️ Data Drift -- The input data has changed. The distribution of the variables is meaningfully different. As a result, the trained model is not relevant for this new data.

▪️ Concept Drift -- In contrast to the data drift, the distributions might even remain the same. Instead, the relationships between the model inputs and outputs change. In essence, the very meaning of what we are trying to predict evolves.

source: https://www.linkedin.com/feed/update/urn:li:share:6959891342726463488?utm_source=linkedin_share&utm_medium=member_desktop_share&utm_content=post
👍2
هر لایه یک لاس‌فانکشن!

علمای گوگل برین اخیرا مقاله‌ای منتشر کردن و بجای معرفی معماری و لاس‌فانکشن و تسک جدید نگاه جنرال تری داشتند و در اون یک فرم‌ورک جدید برای آموزش شبکه های عصبی معرفی کردن که با این فرم‌ورک پیشرفت قابل توجهی در عملیات Backpropagation بوجود میاد.

در این فرم‌ورک شبکه‌های عصبی رو ترکیبی ماژولار (و نه بهم پیوسته) از لایه‌ها متصور شدند که در هر لایه ابتدا یک تبدیل خطی روی ورودی اش انجام میشه و بعد هم یک تبدیل غیرخطی که همون Activation Function هست.خب تا اینجاش بجز ماژولار بودن تفاوتی با قبل نداشت. تفاوت اصلی در اینجاست که هر لایه برای خودش regularizer جدا، output target جدا و همچنین loss function جدا داره. که بخاطر همین لوکالیتی بودن اینها اسم فرم‌ورک رو گذاشتند LocoProp. یعنی Local Loss Optimization framework.

حالا چه مزیت‌هایی داره؟ به گفته خود اعزه گوگل مهمترین آورده local losses کاهش زمان Trian هست. چرا که ترین هر لایه بصورت Parallel انجام میشه. ضمن اینکه با اینکه در هر لایه از یک Optimizer درجه اول استفاده می‌کنیم اما در عمل نتایجش تنه به تنه Optimizer های با درجات بالا (مشتقات درجه چندم) می‌زنه و این یعنی در عین داشتن مزایای این اپتیمایزرها تمام هزینه‌های محاسباتی شون اعم از matrix inversions رو نداره.

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

لینک مقاله: https://lnkd.in/eqsrUnJA
لینک گوگل بلاگ: https://lnkd.in/ephQyxEE

من بلد نبودم gif توضیح تصویری فرم‌ورک رو بذارم تو پست. لینکش رو گذاشتم:
https://lnkd.in/eR83iPrn

source: https://www.linkedin.com/feed/update/urn:li:share:6960231926687227905?utm_source=linkedin_share&utm_medium=member_desktop_share&utm_content=post
This media is not supported in your browser
VIEW IN TELEGRAM
☀️LocoProp: Composition of Neural Layers☀️

👉Google AI unveils LocoProp: novel neural paradigm for modular composition of layers.

𝐇𝐢𝐠𝐡𝐥𝐢𝐠𝐡𝐭𝐬:
Backprop++ via Local Loss Optimization
Layer-based weight-reg, target output & loss
Multiple local updates via first-order optimizer
Superior performance and efficiency

More: https://bit.ly/3Q40YJn
🤔1
چنل یوتیوب بیشتر با تم NLP و ترنسفورمر

https://youtube.com/c/JamesBriggs
👍1
Forwarded from PyTorch Howsam (Howsam Support)
🔥 خبر داغ 🔥

حتما Andrej Karpathy رو میشناسید! همونی که هد هوش مصنوعی تسلا بود. یک ویدئوی آموزشی توی یوتوب گذاشته و در 5 روز 70 هزار بازدید داشته!

موضوع ویدئو هم آموزشی هست. ساخت میکروگراد! میکروگراد یک کتابخونه کوچیک هست که شامل شبکه عصبی و پروسه پس انتشارش میشه. میکروگراد رو قبلا نوشته بود، اما الان ویدئوی آموزشیش رو تهیه کرده...

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

https://www.youtube.com/watch?v=VMj-3S1tku0&t=2563s

@pytorch_howsam
🔥1
#Event

بچه ها
همین طور که خودتونم احتمالا میدونین، قراره از فردا رویداد cws از طرف دانشکده علوم کامپیوتر برگزار بشه. نکته جالب توجهش اینه که یکی از موضوعاتی که قراره تو این وبینار بررسی بشه، بحث داغ ml و ai. اگه علاقه مندین که تو این رویداد شرکت کنین، میتونین موضوعات سخنرانی ها رو دنبال کنین. اگه اشتباه نکنم بخش ai میشه تاریخ ۲۶ و ۲۷ آگوست که جمعه و شنبه پیش رو میشه.
اگه تا الان ثبت نام نکردین، امروز روز آخر ثبت نامه. بهتون پیشنهاد میکنم حتما به این سایت سر بزنین:
https://cwsaut.ir/
لینک کانال تلگرام:
@cws_aut
🔥2
https://www.tensorflow.org/resources/learn-ml?gclid=CjwKCAjwp7eUBhBeEiwAZbHwkQk0mmWUZS-SKNXGZgNohIUUbdSthJa02NHWOijUyq6wG790xBaQkRoCUJgQAvD_BwE


مسیر پیشنهادی google برای تنسورفلو و ماشین لرنینگ
بین کتاب‌هایی که پیشنهاد کرده کتاب Hands-on ML بنظر من خیلی کتاب خوبی هستش که از وبسایت‌هایی که هستن هم میشه رایگان نسخه دوم و سومش رو دانلود کرد(نسخه سوم هنوز فکر کنم نهایی نشده) توی کتابش از تسک‌هایی مثل classification, clusterring تا تسک‌های مد روز مثل GAN, Deep RL رو پوشش داده و جالبه.
🔥4
یه بلاگ پر از محتوای حق

از مباحث پایه شبکه های عصبی گرفته تا مباحث پیشرفته تر نظری رو میتونین توش پیدا کنین. احتمال زیاد به کارتون میاد.

https://colah.github.io/
🔥3
Docker and Python .pdf
2.5 MB
[Docker] + Python
🤩2
Forwarded from 🐍 Python & Raspberry 🐍 (DailyProjects)
✔️ سوال: best practice‌ها و ابزارات مورد نیاز برای توسعه یه بسته، لایبرری یا نرم‌افزار پایتونی چیه؟

ابزارهای زیادی واسه این‌کارا وجود داره که بر اساس تجربه و چیزی که از 80 درصد پروژه های معروف و بزرگ دیدم، سعی میکنم بهتریناش رو معرفی کنم:


Dependency Management System

برای مدیریت وابستگی های یک پروژه بزرگ (یا نسبتا بزرگ)، پیشنهاد میکنم از Poetry استفاده کنید، چون ابزار بسیار قدرتمندی هست، کار باهاش بسیار راحته (خیلی شبیه به Cargo در زبان Rust هست)، کامیونیتی بزرگی داره، به راحتی محیط dev و prod رو میتونید مدیریت کنید، مستندات بسیار خوب و روانی داره، در سریع ترین زمان ممکن میتونید پروژه رو در PyPI منتشر کنید و همچنین پروژه⁧های معروفی از جمله Rich (کتابخونه⁧ای که خود pip هم ازش برای رنگی کردن progress barها استفاده میکنه) از اون استفاده میکنن، که همین نشون میده چقدر کاربردی هست.
مواردی از جمله build و run هم کاملا با Poetry انجام میشن.

- منابع آموزشی:

1. آشنایی و شروع به کار با Poetry
https://realpython.com/dependency-management-python-poetry/

2. جزیات عمیق درباره هر قابلیت و نحوه استفاده
https://python-poetry.org/docs

3. نحوه انتشار یک package پایتونی در PyPI به کمک Poetry
https://johnfraney.ca/blog/create-publish-python-package-poetry/


Linting & Type Checking

برای Linting ابزارهای flake8 و pylint از معروف ترین⁧ها هستن، هر یک رو میتونید شدت سخت گیریشون رو تنظیم کنید، به راحتی همراه با Poetry تنظیماتشون در یک فایل قرار میگیره و نیاز به نگه داشتن فایل⁧های متفاوت برای هر کدوم ندارید. به نظرم خود flake8 به تنهایی نیازتون رو برطرف میکنه. اگر از PyCharm استفاده کنید یک Linter به صورت Built-in در اختیارتون میذاره که خوبه و کارتون رو راه میندازه.

اگر عادت دارید کدهای خودتون رو Annotate کنید و زیاد از Type Hint ها استفاده میکنید، استفاده از MyPy به عنوان یک static type checker به شما کمک میکنه ایرادات موجود در کلاس ها، توابع و ... رو پیدا کنید و بتونید typeهای دقیق تری استفاده کنید. همچنین ابزار Pyright که توسط مایکروسافت توسعه داده میشه، در VSCode به صورت integrated با افزونه Pylance کار میکنه و اگر از VSCode استفاده میکنید پیشنهاد میکنم حتما افزونه Pylance رو نصب کنید. PyCharm هم یک Type Checker داره ولی هنوز توانمندی Pylance و MyPy رو نداره.


- منابع آموزشی:

1. داکیومنت Flake8
https://flake8.pycqa.org/en/latest/user/invocation.html

2. داکیومنت MyPy
https://mypy.readthedocs.io/en/stable/getting_started.html


Code Formatting

برای مرتب و organize کردن importها از isort استفاده کنید، هم به صورت CLI در دسترس هست و هم یک API داره که میتونید در کد پایتون استفاده کنید. یک code formatter بسیار معروف که در اکثر پروژه⁧ها استفاده میشه Black هست، زیر نظر PSF (یا Python Software Foundation) و برنامه نویسای با تجربه و کار کشته ای همچون آقای Łukasz Langa (ریلیس منیجر پایتون 3.9) توسعه داده میشه، با دیگر ابزار ها مثل isort سازگار هست، با PEP8 سازگاره و کلی قابلیت مزیت دیگه داره که حقیقتا اینجا جا نمیشن :)

- منابع آموزشی:

1. داکیومنت isort
https://pycqa.github.io/isort/

2. داکیومنت Black
https://black.readthedocs.io/en/stable/getting_started.html

3. یک ویدیو از PyCon 2019 درباره Black
https://youtu.be/esZLCuWs_2Y

* این ابزارها همگی داکیومنت ساده و خوانایی دارن و به نظرم بهترین منبع همین داکیومنت⁧هاشون هست.


Testing

دو کتابخونه Pytest و unittest (در stdlib موجود هست) در تست نویسی پروژه ها استفاده میشن، برای تست کردن پروژه در environmentهای متفاوت از ابزار tox استفاده میشه و باهاش میتونید در نسخه های متفاوتی از پایتون کدتون رو تست کنید.


- منابع آموزشی:

1. یک مقاله جامع درباره تست نویسی، انواع آن و روش⁧های مورد استفاده در پایتون
https://realpython.com/python-testing/

2. ویدیو درباره unittest در پایتون
- آقای ned batchelder:
https://m.youtube.com/watch?v=FxSsnHeWQBY
- آقای Corey Schafer:
https://www.youtube.com/watch?v=6tNS--WetLI


* همچنین اگر از Git در پروژه خودتون استفاده میکنید، پیشنهاد میکنم از pre-commit حتما استفاده کنید و تمام این ابزارهای گفته شده رو automate کنید تا در هربار commit کردن، قبل از اینکه commit انجام بشه، این ابزارها روی کدتون اجرا بشن و اگر اشکالی در کدتون وجود داره پیدا بشه و اون رو برطرف کنید و دوباره commit کنید.

وبسایت pre commit:
https://pre-commit.com/

✒️ @Pygrammer
〰️〰️〰️〰️〰️〰️〰️
©️@raspberry_python