❓ دنبال یه راه سریع و راحت برای انتخاب ویژگیها به صورت خودکار میگردی؟ ✅ الگوریتم mRMR رو امتحان کن!
👨🏻💻 الگوریتم mRMR یه الگوریتم بهینه برای انتخاب ویژگیهاست که به صورت مقیاسپذیر عمل میکنه.
✏️یعنی چی؟ یعنی mRMR بهت کمک میکنه تا کوچکترین و مرتبطترین مجموعه ویژگیها رو برای مدل یادگیری ماشینت پیدا کنی. خیلی راحت میتونی ویژگیهای اضافی رو کنار بذاری و فقط با مهمترینها کار کنی.
⏪ این الگوریتم با ابزارهای معروفی مثل Pandas، Polars و Spark هم سازگاره.
📄 توی مثال بالا میبینیم چطور میشه بهترین K ویژگی رو انتخاب کرد. خروجی هم یه لیست مرتب از ویژگیهای مرتبط خواهد بود که میتونی توی برای مدلهات استفاده کنی.👇
👨🏻💻 این جزوه که توسط دکتر حمید بیگی، استاد دانشکده کامپیوتر شریف تهیه شده، مروری جامع به سه نوع یادگیری ماشین داره: یادگیری نظارتشده، یادگیری بدون نظارت و یادگیری تقویتی.
✅ هدف اصلی این جزوه اینه که یه درک عمیق از یادگیری ماشین و الگوریتمهای مهمش بدست بیارین و بدونین چطور میشه این تکنیکها و الگوریتمها رو در پروژههای واقعی به کار برد.
شرکت OpenAI از قابلیت Canvas رونمایی کرده که مشابه Artifacts در هوش مصنوعی Claude هست و به کاربران ChatGPT این امکان رو میده که به صورت مرحله به مرحله نوشته های عادی یا کدهایی که از این هوش مصنوعی درخواست کردن رو بهبود بدن.
با فعال شدن این قابلیت در سناریوی مناسب، مثل درخواست متن یا کد، ChatGPT یک بخش جدید باز میکنه که در سمت راست صفحه قرار میگیره و خروجی رو نشون میده و در سمت چپ صفحه مکالماتی که با ChatGPT انجام شده دیده میشه. با هر تغییر جدیدی که کاربر درخواست بده، محتوای قسمت راست صفحه به طور خودکار بروزرسانی میشه و تغییرات جدید رو نشون میده.
کاربر در این بخش جدید میتونه مستقیما بخشی از متن یا کد رو تغییر بده، با انتخاب بخشی از متن از ChatGPT بخواد که فقط اون قسمت از متن یا کد رو بهتر کنه. همچنین برای متن کاربر با چند گزینه برای بهبود متن مواجه میشه که شامل گزینه هایی مثل تغییرات پیشنهادی در متن، تغییر طول اون، تغییر سطح متن از کودکستان تا دانشگاه، انجام تغییرات ریز مثل گرامر و واضح تر کردن جملات و در نهایت اضافه کردن اموجی به متن میشه.
برای کد هم گزینه های دیگه ای مثل Review code برای بهبود کد، اضافه کردن لاگ، افزودن کامنت، پیدا کردن باگها و اصلاح اونها، پورت کردن کد به زبان دیگه و در نهایت اضافه کردن مستندات میشه. اما برخلاف Artifacts، قابلیت Canvas هنوز امکان نشون دادن پیش نمایش خروجی کدهای HTML رو نداره که کمبود اون حس میشه.
این قابلیت به صورت ازمایشی از امروز برای کاربران دارای اشتراک پلاس عرضه شده و بعد از خروج از حالت ازمایشی برای همه کاربران به صورت مجانی عرضه خواهد شد.
یک پست برای مصاحبه الگوریتم توی @pyrust گذاشتم، دوستان پیام دادن پس پایتون چی
کتاب پیادهسازی الگوریتم و آموزش و ... توی پایتون چندتایی معرفی شده (بخش Posts کانال رو ببینید، اگر قابلیت استوری برگرده کتاب گذاشتن رو ادامه میدم، چندتا خوب یافتم)
ولی اگر فقط پیادهسازی میخواید برای تمرین مصاحبه :
اکنون می توان اشیاء موجود در ویدئو را باد کرد، فشرده کرد، مانند کیک برش داد، منفجر کرد و تحت فشار قرار داد. در این صورت، نسل ها کاملا واقع بینانه به نظر می رسند.
👨🏻💻 یادگیری عمیق فقط یه بحث کدنویسی نیست، بلکه نیاز به فهم ریاضیات پشت ماجرا داره تا بتونید مدلهای دقیق و بهینهتری بسازین.
✅ جزوهای که بهتون معرفی میکنم، پایه ریاضیات یادگیری عمیق رو از سه جنبه مهم پوشش میده: نظریه تقریب، بهینهسازی و یادگیری آماری. به زبونی ساده و قابل فهم، شما رو با مفاهیم اصلی و اساسی آشنا میکنه و کمک میکنه پایه ریاضیاتی خوبی رو برای درک مدلهای یادگیری عمیق ایجاد کنین.
🚀 با این تغییر کوچیک سرعت آموزش مدلهات رو تا 5 برابر افزایش بده!
👨🏻💻 پایتورچ توی آموزش مدلها با GPU چند تا تنظیم پیشفرض داره که بهینه نیستن و من با یه تغییر کوچیک توی تنظیمات، تونستم حدود 5 برابر سرعت آموزش مدلها رو افزایش بدم!
❓چطوری این کارو کردم؟ توی هر مدل PyTorch که با GPU کار میکنه، وقتی GPU در حال پردازشه، CPU بیکار میمونه و برعکس. اینجا جاییایه که میتونیم با استفاده از Memory Pinning این وضعیت رو بهینه کنیم.
✔️ چطور Memory Pinning رو فعال کنیم؟
1️⃣ توی آبجکت DataLoader گزینه pin_memory=True رو فعال کن.
2️⃣ هنگام انتقال دادهها به GPU از این دستور استفاده کن: .to(device, non_blocking=True)
3️⃣ همچنین مقدار num_workers رو توی DataLoader تنظیم کن تا از چند هسته CPU برای تسریع انتقال دادهها استفاده بشه.
⏪ با این تنظیمات ساده، میتونی سرعت آموزش مدلهات رو به طور چشمگیری افزایش بدی!
💡 سادهسازی مدلهای یادگیری عمیق ✅ تنها با یه خط کد!
👨🏻💻 اگه بهینهسازی و کاهش حجم مدلهای یادگیری عمیق برات دغدغهست، دیگه لازم نیش بهش فکر کنی! حالا با ابزار torchao میتونی مدلهات رو به راحتی کوانتیزه کنی، اون هم فقط با یه خط کد!👌
✔️ تازه اگه شک داری که کدوم روش کوانتیزاسیون مناسبتره، میتونی از قابلیت autoquant استفاده کنی تا خودش به صورت خودکار لایههای مدل رو کوانتیزه کنه.
✏️ این یعنی تو به جای اینکه وقتت رو روی انتخاب روش مناسب هدر بدی، فقط یه خط کد مینویسی و همه چیز رو میسپاری به torchao. با این ابزار راحتتر از همیشه مدلهای یادگیری عمیق رو بهینه کن!👇
👨🏻💻 یکی از مشکلات مهندسهای ML اینه که معماری شبکههای عصبی رو به صورت دستی طراحی میکنن. این کار علاوه بر زمانبر بودن، چالشهای زیادی هم به همراه داره!
✔️ اگه میخواین معماری شبکههای عصبی رو دقیق و با جزئیات فوقالعاده طراحی کنین، ابزار NN-SVG رو امتحان کنین!
⏪ با این ابزار میتونین بدون دردسر و طراحی دستی، معماری شبکههاتون رو به صورت پارامتریک بسازین و هر چیزی رو به راحتی تغییر بدین.
✏️ از ویژگیهای مهم این ابزار:
1️⃣طراحی پارامتریک: تغییر راحت معماری. 2️⃣خروجی SVG: مناسب برای مقالات علمی.
👩🏻💻 این جزوه که توسط دکتر حمید بیگی، استاد دانشکده کامپیوتر شریف تهیه شده، اصول اولیه یادگیری عمیق رو به شکلی ساده و قابل فهم توضیح میده. این دوره قدم به قدم، از مدلهای سادهای مثل پرسپترون چند لایه تا مفاهیم پیچیدهتری مثل مدلهای دنباله به دنباله (Sequence-to-Sequence) رو پوشش میده.
📝 از لحاظ پیادهسازی هم از فریمورکهای پرکاربردی مثل PyTorch و TensorFlow استفاده میشه که هر کسی که توی این حوزه فعالیت میکنه باید باهاشون آشنا باشه. این فریمورکها کمک میکنن تا به راحتی مدلها رو اجرا و تست کنید.
✅ اگه دنبال یادگیری دیپ لرنینگ با یه رویکرد کاربردی و عملی و در عین حال جامع هستین، این جزوه دقیقاً همون چیزیه که بهش نیاز دارین.👌
📂 دوره جامع «مدلهای مولد عمیق» 🛡 از دانشگاه استنفورد
👩🏻💻 وقتی میخوای وارد دنیای مدلهای مولد بشی، لازمه که اول مبانی رو خوب یاد بگیری، و هیچ جایی بهتر از دوره دانشگاه استنفورد نمیتونه کمکت کنه! این دوره، قدمبهقدم تو رو با مفاهیم پایهای و مدلهای پیشرفته مولد عمیق آشنا میکنه و یه منبع حرفهای و جامع برای یادگیری مدلهای مولد عمیقه.
✔️ پس اگه میخوای بدونی چطور این مدلها میتونن از پردازش تصویر تا زبان طبیعی NLP و حتی حل مسائل پیچیده مثل یادگیری تقویتی رو متحول میکنن، این دوره دقیقا برای توئه که هم آموزش جامع میده و هم کلی مثال واقعی از پروژههای صنعتی رو پوشش میده.👇
وبسایت Deep-ML پر از تمرینهای چالشبرانگیز توی زمینههای مختلف مثل یادگیری ماشین، یادگیری عمیق و جبر خطیه. از مسائل ساده مثل محاسبهی ماتریس تا تمرینهای پیشرفته مثل پیادهسازی رگرسیون خطی و توابع فعالساز.
تمرینها بر اساس سختی مرتب شدن؛ از آسون تا سخت. هر تمرین هم راهنماییها و توضیحات لازم رو داره که اگه گیر کردین، کمکتون میکنه. لینک
دوستان، گوگل یه ابزار جدید و خفن به نام NotebookLM معرفی کرده که کار یادگیری و تحقیق رو خیلی راحتتر کرده!
NotebookLM چیه؟
یه دفترچه یادداشت هوشمندیه که با هوش مصنوعی کار میکنه. این دفترچه میتونه:
* اطلاعات رو از همه جای اینترنت برات جمع کنه: دیگه لازم نیست ساعتها دنبال مقاله و کتاب بگردی. * اطلاعات رو خلاصه و طبقهبندی کنه: همه چیز رو برات مرتب و قابل فهم میکنه. * به سوالاتت جواب بده: هر سوالی که در مورد موضوعات مختلف داری، ازش بپرس. * ایدههای جدید بهت بده: اگه دنبال موضوع جدیدی برای تحقیق هستی، NotebookLM بهت کمک میکنه.
چرا NotebookLM خوبه؟
* زمانتو ذخیره میکنه: دیگه لازم نیست کلی وقت بزاری تا اطلاعات رو پیدا کنی و بخونی. * یادگیری رو لذتبخشتر میکنه: با این ابزار، یادگیری مثل بازی میشه. * بهت کمک میکنه تا بهتر یاد بگیری: اطلاعات رو به شکلی سازماندهی شده و قابل فهم در اختیارت قرار میده.
👨🏻💻 مصورسازی دادهها یه بخش کلیدی از تحلیل دادههاست که کمک میکنه تا به جای غرق شدن توی انبوهی از اطلاعات، سریعتر و راحتتر بفهمیم دادههامون چی دارن بهمون میگن. وقتی دادهها رو به شکل گرافیکی و بصری میبینیم، پیدا کردن الگوها و روابطی که شاید توی اعداد و جداول پنهان مونده، خیلی سادهتر میشه.👌
✔️ توی این جزوه، روشهای مختلف مصورسازی دادهها بر اساس اهداف مختلف معرفی شدن. این روشها بهتون کمک میکنه تا دادههاتون رو با دقت بیشتری نمایش بدین و بهتر تصمیم بگیرین.