Deep Time – Telegram
Deep Time
3.78K subscribers
101 photos
10 videos
7 files
297 links
Machine Learning 💻 Quantitative Finance💲Time Series 📈 Artificial Intelligence 🤖Data Science 📚 Startup 🚀
Download Telegram
اکسپریمنت ترکینگ مدل‌های ماشین لرنینگ

این مسئله خصوصا وقتی روی یک پروژه و به صورت گروهی کار میکنید اجتناب ناپذیره اما پیشنهاد میکنم حتی اگر تازه واردین و برای یک پروژه ساده دانشگاهی میخواید ماشین لرن کار کنید، از اول با همین روش پیش برید و ابزارشم سادس. معمولا شما در هر پروژه تعداد بالایی ران میگیرید چه برای تست انواع مدل یا تعریف مسئله مختلف، چه به دلیل تنظیم هایپر پارامترهای یک مدل. پس نیاز دارید این تعداد بالای اکسپریمنت رو مدیریت کنید.
1- ما از Weights and Bias استفاده میکنیم (از اینجا یاد بگیرید)
2- صد گیگ فضای رایگان میده که برای ایران گزینه خوبیه گرچه در حد لاگ کردن پارامترها و نتایج اما اگر بخواید دیتاست‌های بزرگتون رو ورژن کنید از Kaggle استفاده کنید.
3- میتونید به صورت تیمی روی پروژه‌ها کار کنید و مشترکا نتایج رو ببینید.
4- ابزار فیلتر نتایج، ریپورت‌ها و ویژوئالیزیشن‌های خیلی خوبی میده خصوصا sweep ها.
5- متاسفانه تو خیلی از نت‌های ایران فیلتره بماند که چه حیف ما خیلی از ابزار مثل AWS رو نمیتونیم مثل آدم اشتراک بخریم
6- اگر تعداد ران زیاد دارید و نمیخواید سیستمتون روشن بمونه از Kaggle برای ران کردن استفاده کنید. خودکار براتون داکرایز میکنه ران میگیره رو سرورهای گوگل. هفته‌ای 40 ساعت با هر اکانت بهتون GPU میده. ما خیلی اوقات بجای اینکه سرور رو سنگین کنیم از Kaggle استفاده میکنیم (متاسفانه Kaggle هم فیلتره!)

@deeptimeai
👍7
اگر برای video call و جلسات آنلاین بخاطر فیلترینگ، سرعت و ... با Zoom، Google Meet، ِDiscord و Skype مشکل دارید میتونید از www.collabnow.ai استفاده کنید. رایگانه، نسبتا رزولوشن خوبی برای screen share میده و در کل آپشنای خوبی داره.
👍7
Forwarded from Deep Time
یکی از مشکلات مهم در آموزش مدل‌ با داده بزرگ بحث استفاده از رم یا memory usage هست.

برای مثال اگر LSTM بخواید ران کنید و داده بزرگی داشته باشید این اصلا منطقی نیست که کل رکوردهای پنجره زمانی رو هم زمان بسازید.
برای داده های بزرگ در هر مسئله دیگه ای هم درست نیست کل داده ها همزمان در مموری لود بشه.

راه حل در Keras:
استفاده از یک کلاس training_batch_generator
و استفاده از fit_generator بجای fit
Link

در Pytorch هم از dataloader استفاده میشه برای این مسئله.
👍52
از پروژه‌های سری زمانی open source پروژه Nixtla به نظرم جالبه نگاهی بندازید.
👍51
میگن هوش مصنوعی هشیاری و احساسات واقعی نداره. اما اگر قیمتای دلار به ریالو بدید پیشبینی کنه گریش درمیاد.

پ.ن : دلار از ۵۶ عبور کرد ما داریم اینجا چی میگیم؟
😢26👍8😁4😱2🤩1
Kaggle Models

حالا علاوه بر دیتاست،مسابقه و ... مدل‌های pretrained هم به Kaggle اضافه شدن. بیش از 2000 مدل از تیم‌های Google و DeepMind و Tensorflow. البته فعلا فقط قابلیت استفاده از مدل‌ها وجود داره و Read-Only هست اما به زودی میشه مدل‌هارو Share کرد.
به نظرم با توجه به کامیونیتی قوی در Kaggle، اینجا میتونه بهترین نقطه شروع برای ایده‌هایی مثل هوش و پردازش توزیع شده و استفاده از Federated Learning به طور گسترده باشه.

@deeptimeai
👍152
به چیزای بد فکر نکنید! هوش مصنوعی تصویری که در ذهنتون هست رو میبینه، البته فعلا با اسکن مغزی fMRI
Link
مقاله‌ای که اخیرا توسط دو محقق ژاپنی منتشر شده نشون میده که با استفاده از Stable Diffusion تونستن تصویر ذهنی افراد رو بازسازی کنن. مقاله فعلا peer review نیست اما در ژورنال معتبر CVPR برای سال 2023 پذیرفته شده.
بعد از Transformerها که حدود 6سال پیش دنیای هوش مصنوعی رو متحول کردند و نتیجش شد چیزی مثل chatGPT، حالا یکی دو سالی هست Diffusion تکنولوژی روز هوش مصنوعی شده و نتایجی مثل DALL-E برای تولید تصاویر از متن با هوش مصنوعی داشته. اما این مقاله نشون میده قدرت این مدل‌ها بیشتر از این حرفاست.

@deeptimeai
👍142😁2😱1
اگر در حوزه‌ای کار میکنید که نیاز به سنجش درست و سخت‌گیرانه از عدم قطعیت دارید (مثل فایننس، پزشکی و ...) یکی از بهترین روش‌ها Conformal Prediction هست.
مزایا:
1- در روش مهم نیست مدل شما چیه و روی هر مدلی سوار میشه.
2- تضمین Exact Coverage از نظر احتمالاتی
3- حتی اگر از قبل یک مدل Quantile Regression داشته باشید، این روش باند بالا و پایینش رو تنظیم میکنه تا دقیق بشه.
4- برای سری زمانی هم این روش وجود داره
بهترین منبع هم این ریپوزیتوری گیتهاب هست. برای شروع یادگیری هم این ویدئو + قلم کاغذ.
#conformal_prediction

@deeptimeai
👍101🤩1
گزارش مسابقات یادگیری ماشین در سال ۲۰۲۲

در گزارش بیش از ۲۰۰ مسابقه و ۶۷ راه حل برنده تحلیل شده. به نظرم راه حل‌های برنده در مسابقات همیشه جلوتر از زمان هستن، خصوصا که میدونیم فرضا مدل XGBoost از دل همچین مسابقاتی بیرون اومده. بنابراین راه‌های برنده در فیلد خودتون رو بررسی کنید. مجموع بیش از ۵ میلیون دلار مسابقه بوده و بیشترین پول در مسابقات Kaggle . نکته جالب اینکه ۵۰ درصد برنده‌های امسال، بار اولی بوده که مسابقه میدادن و ۵۰ درصد برنده‌ها هم تکی مسابقه داده بودن. در گزارش ابزار مورد استفاده هم بررسی شدن.

پیشنهاد میکنم گزارش کامل رو ببینید. اگر هم به طور خاص دنبال تحلیل مسابقات tabular (داده جدولی) هستید این گزارش رو ببیند.

@deeptimeai
👍144🤩1
چطور به عنوان شغل اول ماشین لرنینگ میشه جای عالی با حقوق بالا رفت؟

علتی که در تمام نقشه‌ راه‌ها برای ماشین لرنینگ، درباره شرکت در مسابقات میگم همچین مواردی هست.

هرچند به نظرم اولویت روی پروژه شخصی و کار در استارتاپ هست. به عنوان مثال با شخصی در آمریکا که در یکی از بزرگترین کمپانی‌ها VP هست و تیم ۴۰ نفری داره صحبت میکردم و گفت بعد از فارغ‌التحصیلی یک سالی در یک استارتاپ کار کرده و بعد با توجه به تجربیاتش شغل رده بالا گرفته. حالا اگر ۱۰ سال ریسرچ کنی اون شغلو نمیگیری ولی کار در استارتاپ یعنی یادگیری عمقی بسیار در سطوح مختلف با چالش‌های زیاد.

@deeptimeai
👍232👎2🔥1
شعر تقدیم به تمام برنامه‌نویسانی که یا درگیر procrastination هستن یا procrastivity!
😁14👍3🔥3👎1
Deep Time
چرا بعضی افراد با وجود شوق اولیه به یادگیری دیتاساینس (یا هر تخصص دیگری) و حتی گذراندن دوره‌های معتبر نمیتوانند مسیرشان را ادامه دهند؟ یا در واقع چرا بعضی افراد به سرعت در یک تخصص رشد میکنند اما بعضی افراد از جایی به بعد دلسرد میشوند؟ (بخش اول) نکته اینجاست…
چطور بعضی افراد بهینه‌تر یاد می‌گیرند/تدریس میکنند؟ (بخش دوم) شواهدی از نوروساینس

امروزه مشکل دسترسی به اطلاعات و دانش سالهاست که حل شده و حالا مسئله اصلی حواس‌جمع بودن و بهینگی در فرآیند یادگیری هست. شاید یک مهارت اساسی در قرن ۲۱ یادگیری به شیوه‌ای سریع‌تر، درست‌تر و بهینه‌تر باشه.

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

NEUROPLASTICITY SUPER-PROTOCOL

1. GET ALERT

2. GET FOCUSED 

3. GENERATE REPETITIONS

4. EXPECT & EMBRACE ERRORS

5. INSERT MICRO-REST INTERVALS (AT RANDOM)

6. USE RANDOM INTERMITTENT REWARD

7. LIMIT LEARNING SESSIONS TO 90 MINUTES

8. AFTER A LEARNING BOUT, DO A NSDR (NON-SLEEP DEEP REST) PROTOCOL

9. GET QUALITY & SUFFICIENTLY LONG DEEP SLEEP THAT NIGHT (& THE NEXT, & THE NEXT…)

@deeptimeai
15👍4🤩4👎1
کتاب ساختن: راهنمایی نامعمول برای ساختن چیز‌هایی که ارزش ساخته شدن دارند. اثر تونی فیدال

Build: An Unorthodox Guide to Making Things Worth Making

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

@deeptimeai
👍114
بعد از حل کردن بحث تمرکز، بهینگی در یادگیری و procrastivity چه خطری ما رو تهدید میکنه؟

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

پس چه کنیم که صرفا مصرف‌کننده دانش نباشیم و در عمل از دانش استفاده کنیم؟

۱_ اولین قدم همینه که به نکته بالا آگاه باشیم یعنی بدونیم ممکنه این دانش در ما تثبیت نشده باشه.

۲_ دومین قدم به نظرم یادداشت برداری و خلاصه برداری از کتاب‌ها و ویدئو هاست و در مورد کلاس‌های تخصصی، جزوه نوشتن/ کد نوشتن. فقط لحظه شروعش که میخوای قلم کاغذو بیاری سخته. مطمئنم کسی از یادداشت برداری نمیمیره!

۳_ سومین قدم این هست که مواردی که دریافت کردیم رو برای بقیه توضیح/ارائه بدیم. این مورد بسیار کمک کننده خواهد بود.

و با این موارد حالا ما تازه به سطحی رسیدیم که از دانش کسب شده در عمل استفاده کنیم.

پ.ن: در مورد procrastivity و راه‌حل‌های برطرف کردنش از منظر علوم شناختی به زودی مینویسم.

@deeptimeai
👍195💯1
یکی از بهترین منابع برای شروع یادگیری همزمان پایتون و ماشین لرنینگ با پایتون:

سری ویدئو Kaggle's 30 days of ML از Abhishek Thakur قهرمان مسابقات kaggle

چرا این دوره؟ به این دلیل که نسبت به دوره‌های دیگه برای شروع از صفر خیلی سریع به صورت practical دست به کد میشید و میرید سر اصل مطلب.
بنابراین با این دوره راه میفتید و اعتماد به نفس میگیرید، و بعد از اون میشه ضعف‌های تئوری و ابزار رو با دوره‌ها و پروژه‌های بعدی پوشش داد. لینک۱ لینک۲ لینک۳ رو ببینید. یادگیری در این حوزه هيچوقت تمامی نداره.

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

به نظرم هیچ زمانی برای یادگیری یک مهارت پرفکت نخواهد بود: شروع کنید و ادامه هم بدید؛ با هر میزان زمان و به هر شکلی که شده.

پ.ن.: برای باز شدن سایت kaggle یا گاهی برای ران گرفتن در kaggle به اینترنت بدون فیلتر نیاز هست. اگر مشکل داشتید همین کد‌هارو در colab تمرین کنید.
@deeptimeai
👍259👎1
یکی از نشانه‎‌های کدنویسی حرفه‌ای در پایتون: استفاده (به موقع) از decorator

در زبان پایتون، decorator یک الگوی طراحی هست که میتونه به توابعی (یا کلاس‌هایی) که از قبل تعریف شدن یک functionality یا عملکرد جدید بده. این عملکرد میتونه سریع‌تر کردن اجرای تابع، تعیین زمان اجرای تابع، تنظیمات خاص برای کلاس، دیباگ کردن و ... باشه. پیشنهاد میکنم از این لینک حتما یکسری decorator کاربردی را یاد بگیرید و البته با استفاده از مطالب این پست، مهارتتون رو تثبیت کنید.

پ.ن: اگر سایت towardsdatascience یا medium براتون پیام میده که تعداد پست رایگانتون تموم شده و باید ثبت نام کنید کافیه صرفا لینک رو از یک صفحه incognito (ناشناس) باز کنید.
@deeptimeai
👍176
هوش مصنوعی Generative AI بیشتر کدوم شغل‌های این حوزه رو تهدید میکنه؟ یا کدوم دسته از شغل‌های هوش مصنوعی با حضور Generative AI بیشتر در خطر تعدیل هستن؟!

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

برای جواب به این سوال باید برگردیم به مفاهیم. در ماشین لرنینگ مفهومی داریم به نام Bayes Error که به معنی کمترین حد از خطاست که یک مدل میتونه بهش برسه. در انسان هم به همین منوال Human-level Error یا خطای سطح انسان رو داریم. در یکسری مسائل مثل تشخیص صورت آدم‌ها، تشخیص اشیا، درکِ زبان و متن و ... انسان خطای بسیار پایینی داره. در واقع این موارد در حیطه درک طبیعی هوش انسان هست. یعنی Human Natural Perception یا شهودی

نکته اساسی اینجاست که مدل‌های هوش مصنوعی هم دقیقا در مسائلی با کمترین دخالت انسانی به طور دقیق کار کردن که در حوزه درک طبیعی هوش انسان بوده مثل تصویر یعنی computer vision و زبان یعنی NLP. در این مسائل مدل‌های deep learning همیشه تونستن خودشون فیچر بسازن و تقریبا هیچ نیازی به فیچرسازی توسط انسان نبوده و دخالت انسان به مرور کمتر و کمتر شده و کل پروسه automate شده.
اما در حوزه‌هایی که Human-level Error بالاست و مسائل انتزاعی و غیر شهودی هستن و انسان با هوش خودش نمیتونه راحت مسئله رو حل کنه، بازی فرق داره. یک انسان برای مثال نمیتونه میزان تقاضای برق یک منطقه رو با هوش طبیعیش پیشبینی کنه (حتی اگر متخصص این حوزه باشه). چرا؟ چون مسئله صدها بعد عددی داره. همچنین انسان با هوش طبیعیش نمیتونه قیمت سهام یک شرکت رو پیشبینی کنه. در این دسته مسائل به طور جالبی هوش مصنوعی هم نمیتونه به تنهایی و بدون حضور متخصص انسانی خوب باشه. این دسته مسائل همیشه در همکاری تیمی انسان و هوش مصنوعی خوب حل شدن. یعنی همیشه به یک انسان متخصص نیاز بوده تا مسئله رو خوب تعریف کنه، با ابزار و دانشش از domain expertise فیچر های خاص بسازه و پروسه ساخت مدل رو تحلیل کنه.

به همین دلیل هست که AWS یک سیستم خودکار تشخیص چهره داره میشه راحت نصب کرد یا مثلا چیزی مثل chatGPT میتونه حرف بزنه و سوالات زبانی رو جواب بده. اما مدل آماده‌ای نداریم که بیاد پیشبینی و ترید کنه تو بازار یا تقاضای خرده فروشی اجناس رو پیشبینی کنه، یا برای مسئله تغییر اقلیم تصمیم گیری کنه. این مسائل اکثرا tabular data هستن. پس متخصص شدن در کار با داده tabular در domain expertise های مختلف (فایننس، انرژی، سیاست و جامعه و ...) احتمالا انتخاب هوشمندانه تری هست.

@deeptimeai
👍165💯2
ChatGPT Code Interpreter (alpha)

با این پلاگین جدید chatGPT میشه فایل، عکس و دیتا آپلود کرد و درخواست‌های خبیثانه داشت! دیتارو تحلیل میکنه، ویدئو ادیتینگ انجام میده و کارهای مختلف دیگه.
Link

البته باز هم به نظرم اولویت این هست که مهارت درست prompt نوشتن رو یاد بگیریم که خصوصا برای برنامه‌نویس‌ها ضروری هست. و کی بهتر از Andrew Ng به همراه تیم OpenAI که یک کورس برای این کار ساختن. برای این کورس 1.5 ساعتی رایگان ثبت نام کنید:

ChatGPT Prompt Engineering for Developers

@deeptimeai
👍83👎1
نمیتونی شکستش بدی، بهش ملحق شو!

جمله بالا توییت چند سال پیش ایلان ماسک بود درباره رشد هوش مصنوعی.
اگر امروز بگم که مطمئنم فلان سهم تا آینده مشخصی n برابر میشه احتمالا خیلیا بخوان روش سرمایه بذارن. اما اگر بگم فلان حوزه و فلان تخصص قرار هست تمام صنایع و شغل‌هارو از بیخ متحول کنه و اکثر پول‌های دنیارو به خودش جذب کنه، حاضرید روی اون تخصص چند سال وقت بذارید؟ هوش مصنوعی و خصوصا Generative AI، نه تنها صنایعی مثل پزشکی، فایننس، سرگرمی و سینما، معماری و طراحی، مکانیک و ... رو داره شدیدا متحول میکنه، بلکه در خود شرکت‌های حوزه داده و تکنولوژی باعث تعدیل نیرو شده. فقط میزان سرمایه‌گذاری روی Generative AI رو ببینید که تو همین چند ماه از سال ۲۰۲۳ چقدر از کل ۲۰۲۲ جلو زده.

@deeptimeai
👍20😱21