Deep Time
دیتاساینس و سری زمانی ویس ۴ چند نکته از مسابقات ماشین لرنینگ برای پیشبینی بازارهای مالی که شرکتهای hedge fund نوظهوری مثل numer.ai برگزار میکنن. و بر خلاف مسابقات Kaggle، اینجا مسابقات به صورت ممتد و هر هفته برگزار میشه و این شرکتها بر اساس خروجی و پیشبینی…
Github
کد callback قرار داده شد.
همونطور که صحبت شد از Spearman Corr برای سنجش قدرت پیشبینی روند قیمتی در مدلهای ماشین لرنینگ استفاده میشه اما به دلیل مشتق پذیر نبودن، مستقیما به عنوان loss function قابل استفاده نیست. اما میشه از callback یا فراخوان استفاده کرد که اگر این معیار در چند اپوک (قابل تعیین) خوب جلو نرفت، آموزش مدل متوقف بشه (custom early stopping). همچنین این معیار در هر اپوک پرینت میشه.
کد callback قرار داده شد.
همونطور که صحبت شد از Spearman Corr برای سنجش قدرت پیشبینی روند قیمتی در مدلهای ماشین لرنینگ استفاده میشه اما به دلیل مشتق پذیر نبودن، مستقیما به عنوان loss function قابل استفاده نیست. اما میشه از callback یا فراخوان استفاده کرد که اگر این معیار در چند اپوک (قابل تعیین) خوب جلو نرفت، آموزش مدل متوقف بشه (custom early stopping). همچنین این معیار در هر اپوک پرینت میشه.
👍1
مغز انسان (و عموما موجودات بیولوژیکی) بسیار از نظر #مصرف_انرژی بازده بالاتری نسبت به مدلهای هوش مصنوعی دارند. اما علت چیست؟
از یکی از اسطورههای هوش مصنوعی جواب این مسئله را بگیریم.
@deeptimeai
از یکی از اسطورههای هوش مصنوعی جواب این مسئله را بگیریم.
@deeptimeai
👍2
پیشبینی خرابی قریبالوقوع باتریهای خورشیدی خارج از شبکه با روش یادگیری ماشین احتمالاتی
پژوهشگران آکسفورد با بهره گیری از اطلاعات بیش از ۱۰۰۰ سیستم خورشیدی خارج از شبکه (ششصد و بیست میلیون ردیف داده) و یک مدل ماشین لرنینگ دقت پیشبینی خرابی باتریها را ۲۰ درصد افزایش دادند.
برای مدل کردن مقاومت از یک مدل ماشین لرنینگ احتمالاتی که در آن مقاومت تابعی از شرایط عملیاتی (SOC، جریان، ولتاژ و دما) و زمان است استفاده شده است.
paper
dataset
request software
#Energy
@deeptimeai
پژوهشگران آکسفورد با بهره گیری از اطلاعات بیش از ۱۰۰۰ سیستم خورشیدی خارج از شبکه (ششصد و بیست میلیون ردیف داده) و یک مدل ماشین لرنینگ دقت پیشبینی خرابی باتریها را ۲۰ درصد افزایش دادند.
برای مدل کردن مقاومت از یک مدل ماشین لرنینگ احتمالاتی که در آن مقاومت تابعی از شرایط عملیاتی (SOC، جریان، ولتاژ و دما) و زمان است استفاده شده است.
paper
dataset
request software
#Energy
@deeptimeai
Sciencedirect
Predicting battery end of life from solar off-grid system field data using machine learning
Hundreds of millions of people lack access to electricity. Decentralized solar-battery systems are key for addressing this while avoiding carbon emiss…
👍2
در صورتی که در زمینه کامپیوتر ساینس فعالیت دارید حتما حتما کارهاتون رو داکیومنت کنید (مثلا در گیتهاب با جزئیات)، بلاگ داشته باشید، در کامیونیتی های مختلف فعال و تولید کننده باشید (مثل کامیونیتیهای StackExchange) یا اگر میتونید حتی ویدئو بسازید.
چرا:
دلیل اول این که متخصصان زیادی در این زمینه وجود داره و خود افرادی که در شرکتهای بزرگ مثل گوگل، آمارون، Meta و ... کار استخدام و مصاحبه گرفتن رو انجام میدن دیگه فقط CV نمیبینن و معیارشون این موارد هست.
دلیل دوم اینکه کارهای انجام شده شما در یک فرمت استاندارد داکیومنت میشه و قطعا در آینده بیشتر از همه به درد خودتون خواهد خورد.
چرا:
دلیل اول این که متخصصان زیادی در این زمینه وجود داره و خود افرادی که در شرکتهای بزرگ مثل گوگل، آمارون، Meta و ... کار استخدام و مصاحبه گرفتن رو انجام میدن دیگه فقط CV نمیبینن و معیارشون این موارد هست.
دلیل دوم اینکه کارهای انجام شده شما در یک فرمت استاندارد داکیومنت میشه و قطعا در آینده بیشتر از همه به درد خودتون خواهد خورد.
❤2
باز هم یک کار عالی از Google Research برای Time Series
Interpretable Deep Learning for Time Series Forecasting
Interpretable Deep Learning for Time Series Forecasting
research.google
Interpretable Deep Learning for Time Series Forecasting
Posted by Sercan O. Arik, Research Scientist and Tomas Pfister, Engineering Manager, Google Cloud Multi-horizon forecasting, i.e. predicting variab...
👍1
نگاه درست به Transformerها و Graph Neural Network ها نشون میده اونها در واقع به شکل یکسانی به مسئله نگاه میکنن. و البته representation به صورت گراف کم حجم تر و کم خرج تر!
Transformers are Graph Neural Networks
بسیار جالب
@deeptimeai
Transformers are Graph Neural Networks
بسیار جالب
@deeptimeai
The Gradient
Transformers are Graph Neural Networks
My engineering friends often ask me: deep learning on graphs sounds great, but are there any real applications? While Graph Neural Networks are used in recommendation systems at Pinterest [https://medium.com/pinterest-engineering/pinsage-a-new-graph-convolutional…
👍2
Scientific Visualization Book
یک کتاب خوب برای مصورسازی
پی دی اف کتاب در لینک گیتهاب بالا، توسط نویسنده کتاب قرار داده شده.
@deeptimeai
یک کتاب خوب برای مصورسازی
پی دی اف کتاب در لینک گیتهاب بالا، توسط نویسنده کتاب قرار داده شده.
@deeptimeai
👍3
TensorFlow or PyTorch?
خوب جواب این سوال بسیار بستگی داره به کاربرد ما. برای مثال گوگل ای آی و دیپمایند از تنسورفلو و JAX استفاده میکنن. اما فیسبوک از پایتورچ و هاگینگ فیس عمدتا پایتورچ.
به صورت کلی اگر ما بخوایم کار صنعتی و دیپلوی انجام بدیم تنسوفلو انتخاب بهتری هست. اما اگر بخوایم ریسرچ کنیم عموما پایتورچ. هرچند مثلا در RL فرق میکنه مسئله...
پیشنهاد میکنم این پست را ببینید. دقیق توضیح داده شده.
@deeptimeai
خوب جواب این سوال بسیار بستگی داره به کاربرد ما. برای مثال گوگل ای آی و دیپمایند از تنسورفلو و JAX استفاده میکنن. اما فیسبوک از پایتورچ و هاگینگ فیس عمدتا پایتورچ.
به صورت کلی اگر ما بخوایم کار صنعتی و دیپلوی انجام بدیم تنسوفلو انتخاب بهتری هست. اما اگر بخوایم ریسرچ کنیم عموما پایتورچ. هرچند مثلا در RL فرق میکنه مسئله...
پیشنهاد میکنم این پست را ببینید. دقیق توضیح داده شده.
@deeptimeai
👍2
Deep Time
مسابقه ژانویه Kaggle: سری زمانی
برای حرفه ای شدن و فرآیند توسعه مدل خوب در مسابقات، چنین تجربیاتی که نوشته شده کمک کننده هست👇
Kaggle_discussion
Kaggle_discussion
Kaggle
Tabular Playground Series - Dec 2021
Practice your ML skills on this approachable dataset!
👍2
این مقاله مربوط به راه حل برنده دور آخر از معروف ترین و قدیمی ترین مسابقه time series هست که RNN رو با روشهای آماری به شکل جالبی ترکیب کرده.
چند نکته:
۱_ در این مسابقه (دور آخر) روشهای صرفا ML نتیجه خوبی نداشتن و البته دور های دیگه هم همین مسئله بوده
۲_ مسابقه M competition مثلا M4 از ۱۹۸۲ برگزار میشه برای سری زمانی
۳_وبسایت مرکز پیشبینی MOFC
۴_مثل بحث این پست، مدلسازی دقیق و درست از سری زمانی tabular (یعنی داده غیر از متن و nlp و ویدئو) همیشه ترکیبی از متد های آماری، کلاسیک و ماشین لرنینگ بوده.
چند نکته:
۱_ در این مسابقه (دور آخر) روشهای صرفا ML نتیجه خوبی نداشتن و البته دور های دیگه هم همین مسئله بوده
۲_ مسابقه M competition مثلا M4 از ۱۹۸۲ برگزار میشه برای سری زمانی
۳_وبسایت مرکز پیشبینی MOFC
۴_مثل بحث این پست، مدلسازی دقیق و درست از سری زمانی tabular (یعنی داده غیر از متن و nlp و ویدئو) همیشه ترکیبی از متد های آماری، کلاسیک و ماشین لرنینگ بوده.
👍3
آیا الگوریتم LSTM برای استپ های زمانی مختلف از وزنهای مختلف استفاده میکند؟
Final Results
32%
خیر تمام استپهای زمانی یک وزن دارند
68%
بله هر استپ زمانی وزنهای مربوط به خودش را یاد میگیرد
👍1
Deep Time
آیا الگوریتم LSTM برای استپ های زمانی مختلف از وزنهای مختلف استفاده میکند؟
خوب پس نیاز شد معادلات LSTM رو فردا بذارم تو کانال✏️
Deep Time
آیا الگوریتم LSTM برای استپ های زمانی مختلف از وزنهای مختلف استفاده میکند؟
۷۴ درصد اشتباه پاسخ دادن
پس سوال درستی پرسیده شد.
در RNN ها وزنهایی که یاد گرفته میشن برای تمام تایم استپها یکسان هست (خطوط سبز در شکل رو ببینید). چیزی که در هر تایم استپ فرق داره ورودیهای هر سلوله که یکیش مربوط به همون زمانه x(t) و دیگری hidden state حافظه از سلول قبلی هست یعنی a(t-1)
که اینها پارامترهای مدل برای یادگیری نیستن. ورودی هستن.
در واقع اگر قرار بود این وزنها برای هر تایم استپ متفاوت باشه نیاز به پردازش خیلی بالایی بود خصوصا برای NLP. و اصلا این ایده اساسی حل مسئله بوده که وزنها برای تمام تایم استپها یکسان باشه. اما آیا برای یک مسئله tabular (با نیاز پردازشی کم) هم لزوما باید وزنهای یکسان استفاده کنیم؟
شکلها از کورس پنجم Deep Leaning Specialization دکتر Andrew Ng گرفته شده.
پس سوال درستی پرسیده شد.
در RNN ها وزنهایی که یاد گرفته میشن برای تمام تایم استپها یکسان هست (خطوط سبز در شکل رو ببینید). چیزی که در هر تایم استپ فرق داره ورودیهای هر سلوله که یکیش مربوط به همون زمانه x(t) و دیگری hidden state حافظه از سلول قبلی هست یعنی a(t-1)
که اینها پارامترهای مدل برای یادگیری نیستن. ورودی هستن.
در واقع اگر قرار بود این وزنها برای هر تایم استپ متفاوت باشه نیاز به پردازش خیلی بالایی بود خصوصا برای NLP. و اصلا این ایده اساسی حل مسئله بوده که وزنها برای تمام تایم استپها یکسان باشه. اما آیا برای یک مسئله tabular (با نیاز پردازشی کم) هم لزوما باید وزنهای یکسان استفاده کنیم؟
شکلها از کورس پنجم Deep Leaning Specialization دکتر Andrew Ng گرفته شده.
👍1
Deep Learning Interviews.pdf
15.1 MB
چاپ دوم از کتاب مصاحبههای یادگیری عمیق شامل پاسخ
Deep Learning Interviews: Hundreds of fully solved job interview questions from a wide range of key topics in AI
توانایی ما در حل سوالات مصاحبههای کاری شرکت های بزرگ تکنولوژی تعیین میکنه که آیا سواد ما در حد بین المللی هست یا خیر و اینکه از جوابها میشه یاد گرفت
همچنین سایت LeetCode بسیار مناسب هست برای حل سوالات برنامه نویسی و به روز نگه داشتن دانش.
Deep Learning Interviews: Hundreds of fully solved job interview questions from a wide range of key topics in AI
توانایی ما در حل سوالات مصاحبههای کاری شرکت های بزرگ تکنولوژی تعیین میکنه که آیا سواد ما در حد بین المللی هست یا خیر و اینکه از جوابها میشه یاد گرفت
همچنین سایت LeetCode بسیار مناسب هست برای حل سوالات برنامه نویسی و به روز نگه داشتن دانش.
Forwarded from Deep Time
یادگیری و پیشرفت در علوم داده و ماشین لرنینگ
اولین نکته این هست که در این تخصص، شاید بر خلاف بعضی تخصص های دیگه، یادگیری شروع میشه ولی هیچوقت تموم نمیشه و حتی شدت یادگیری کم نمیشه و شما همیشه باید به روز باشید. یکی از مهم ترین مهارت ها هم همین قدرت یادگیری سریع و سرچ کردن هست. برای مثال اگر اسم یک مدلی رو زیاد شنیدین باید این قدرت را داشته باشین که سریع سرچ کنید و کد ها و داکیومنتشو بخونید و خودتون اجراش کنید.
مراحل کلی دیتاساینتیست شدن به نظر من:
۱_ یادگیری زبان برنامه نویسی پایتون و الگوریتم های مختلف
یک راه این هست که دوره پایتون از کورسرا بگذرونید مثل این دوره. اما به صورت کلی در این قسمت بهتره اول anaconda رو نصب کنید. آناکوندا برای شما پایتون رو نصب میکنه و در کنارش تعداد زیادی از کتابخونه های مهم پایتون. بعد میتونید Jupyter notebook رو بالا بیارید و با استفاده از این نوتبوک ها پایتون یاد بگیرید. اما مهمه که به این راضی نباشید و الگوریتم ها و مسائل مختلف رو پیاده کنید. مثلا اینجا میتونید از کتاب معروف
Cracking the coding interview
استفاده کنید و کد هاشو بنویسید.
۲_ گذروندن دوره های ماشین لرنینگ و دیپ لرنینگ با پایتون و مطالعه کتاب
شما میتونید بهترین دوره های دنیا رو مجانی بگذرونید از اینجا میتونید نحوه درخواست کمک مالی و رایگان شدن دوره های کورسرا رو بخونید. کافیه بگید ایرانی هستید و مشکلات پرداخت هست و دانشجو هستید و ارزش پول پایینه، کورس برای شما مجانی میشه و میتونید سرتیفیکیت هم بگیرید. تا اینجا پایتون رو کار کردید و ازینجا ماشین لرنینگ شروع میشه. ماشین لرنینگ رو بهتره از دوره ساده IBM کورسرا و بعد این دوره یوتوب شروع کنید.
و بعد وارد دیپ لرنینگ میشیم که حتما دوره های عالی Deep Learning Specialization که شامل ۵ دوره به تدریس Andrew Ng استاد استنفرد هست بگذرونید.
بعد از گذروندن ۲ ۳ دوره اول از این اسپیشیالیزیشن میتونید مراحل ۴ و ۵ رو ادامه بدید و بقیه کورس هارو موازی با مراحل بعد پیش ببرید.
بعد دوره های عالی Jeremy Howard در یوتوب رو دنبال کنید و دوره های سایت زیر مربوط به دانشگاه برکلی استفاده کنید:
Fullstackdeeplearning
چند کتاب زیر هم به عنوان مرجع مطالعه کنید:
1_Deep Learning (Ian Goodfelow, ...)
2_ Dive into Deep Learning (Aston Zhang, ...)
3_ Hands on Machine Learning with Sickit-Learn , Keras and TensorFlow (Aurelien Geron)
۳_ خوندن مقالات در مورد الگوریتم ها و سیستم های جدید از سایت ها و دنبال کردن افراد متخصص این حوزه.
بجز ژورنال های علمی این سایت ها معمولا خیلی پر استفاده هستن در این حوزه:
Towardsdatascience.com
Medium.com
Machinelearningmastery.com
پیشنهاد میشه افراد و صفحات زیر (خصوصا در توییتر) دنبال کنید تا همیشه در این زمینه به روز باشید. و اینکه مهم نیست که لزوما اون پست هارو کامل متوجه بشید چون بعضا خیلی خاص و عمیق هستن در یک زمینه.
Francois Chollet
Jeremy Howard
Gabriel Peyre
Two Minute Papers
OpenAI
Andrej Karpathy
DeepMind
Andrew Ng
Yann LeCun
Mark Saroufim
Elvis
AK
Sebastian Raschka
۴_ یادگیری ابزار و تخصص های مهم
با این موارد باید به مرور آشنا شد و نیاز نیست صبر کنید تا همه این موارد رو یاد بگیرید و بعد پروژه شروع کنید. اما خوب چیزی مثل git حتما
نیاز هست برای شروع یک کار تیمی که میتونید از اینجا خیلی سریع یاد بگیرید.
Git
Database: SQL and NoSQL
Network
Linux
Regex
APIs
Stats & Probability
MLOps
۵_کار روی پروژه ها
اینجا دو حالت پیش میاد یا شما شروع به کار روی یک پروژه و ساختن میکنید (به صورت تیمی، در یک شرکت یا تنها) یا این مورد رو بعدا انجام میدین که در این صورت برای شروع توصیه میشه حتما در مسابقات ماشین لرنینگ شرکت کنید.
بعضی مسابقات معتبر:
Kaggle.com
Datacrunch.com
Numer.ai
ولی بعد از اون (یا در کنارش)، شروع کار تیمی و ساختن یک محصول جالب رو شروع کنید. اینجا از از مصرف کنندگی صرف علم و ابزار این حوزه آروم آروم تولید کردن و ارزش خلق کردن شروع میشه. برای کار تیمی در این دوره مهم هست که بتونید ریموت کار کردن رو تمرین کنید و مثلا با استفاده از ابزاری مثل live share در vscode بتونید روی یک کد به صورت همزمان و ریموت کار کنید.
نکته آخر اینکه تمام منابع، مقالات و داکیومت های اصلی در این حوزه به زبان انگلیسی هست و بهتره اگر به این مورد عادت ندارید شروع کنید و به مرور این مهارت بدست میاد. دیدن ویدئو ها به زبان انگلیسی، خوندن مقالات و داکیومنت ها یکی از روزمره های این تخصص هست.
@deeptimeai
اولین نکته این هست که در این تخصص، شاید بر خلاف بعضی تخصص های دیگه، یادگیری شروع میشه ولی هیچوقت تموم نمیشه و حتی شدت یادگیری کم نمیشه و شما همیشه باید به روز باشید. یکی از مهم ترین مهارت ها هم همین قدرت یادگیری سریع و سرچ کردن هست. برای مثال اگر اسم یک مدلی رو زیاد شنیدین باید این قدرت را داشته باشین که سریع سرچ کنید و کد ها و داکیومنتشو بخونید و خودتون اجراش کنید.
مراحل کلی دیتاساینتیست شدن به نظر من:
۱_ یادگیری زبان برنامه نویسی پایتون و الگوریتم های مختلف
یک راه این هست که دوره پایتون از کورسرا بگذرونید مثل این دوره. اما به صورت کلی در این قسمت بهتره اول anaconda رو نصب کنید. آناکوندا برای شما پایتون رو نصب میکنه و در کنارش تعداد زیادی از کتابخونه های مهم پایتون. بعد میتونید Jupyter notebook رو بالا بیارید و با استفاده از این نوتبوک ها پایتون یاد بگیرید. اما مهمه که به این راضی نباشید و الگوریتم ها و مسائل مختلف رو پیاده کنید. مثلا اینجا میتونید از کتاب معروف
Cracking the coding interview
استفاده کنید و کد هاشو بنویسید.
۲_ گذروندن دوره های ماشین لرنینگ و دیپ لرنینگ با پایتون و مطالعه کتاب
شما میتونید بهترین دوره های دنیا رو مجانی بگذرونید از اینجا میتونید نحوه درخواست کمک مالی و رایگان شدن دوره های کورسرا رو بخونید. کافیه بگید ایرانی هستید و مشکلات پرداخت هست و دانشجو هستید و ارزش پول پایینه، کورس برای شما مجانی میشه و میتونید سرتیفیکیت هم بگیرید. تا اینجا پایتون رو کار کردید و ازینجا ماشین لرنینگ شروع میشه. ماشین لرنینگ رو بهتره از دوره ساده IBM کورسرا و بعد این دوره یوتوب شروع کنید.
و بعد وارد دیپ لرنینگ میشیم که حتما دوره های عالی Deep Learning Specialization که شامل ۵ دوره به تدریس Andrew Ng استاد استنفرد هست بگذرونید.
بعد از گذروندن ۲ ۳ دوره اول از این اسپیشیالیزیشن میتونید مراحل ۴ و ۵ رو ادامه بدید و بقیه کورس هارو موازی با مراحل بعد پیش ببرید.
بعد دوره های عالی Jeremy Howard در یوتوب رو دنبال کنید و دوره های سایت زیر مربوط به دانشگاه برکلی استفاده کنید:
Fullstackdeeplearning
چند کتاب زیر هم به عنوان مرجع مطالعه کنید:
1_Deep Learning (Ian Goodfelow, ...)
2_ Dive into Deep Learning (Aston Zhang, ...)
3_ Hands on Machine Learning with Sickit-Learn , Keras and TensorFlow (Aurelien Geron)
۳_ خوندن مقالات در مورد الگوریتم ها و سیستم های جدید از سایت ها و دنبال کردن افراد متخصص این حوزه.
بجز ژورنال های علمی این سایت ها معمولا خیلی پر استفاده هستن در این حوزه:
Towardsdatascience.com
Medium.com
Machinelearningmastery.com
پیشنهاد میشه افراد و صفحات زیر (خصوصا در توییتر) دنبال کنید تا همیشه در این زمینه به روز باشید. و اینکه مهم نیست که لزوما اون پست هارو کامل متوجه بشید چون بعضا خیلی خاص و عمیق هستن در یک زمینه.
Francois Chollet
Jeremy Howard
Gabriel Peyre
Two Minute Papers
OpenAI
Andrej Karpathy
DeepMind
Andrew Ng
Yann LeCun
Mark Saroufim
Elvis
AK
Sebastian Raschka
۴_ یادگیری ابزار و تخصص های مهم
با این موارد باید به مرور آشنا شد و نیاز نیست صبر کنید تا همه این موارد رو یاد بگیرید و بعد پروژه شروع کنید. اما خوب چیزی مثل git حتما
نیاز هست برای شروع یک کار تیمی که میتونید از اینجا خیلی سریع یاد بگیرید.
Git
Database: SQL and NoSQL
Network
Linux
Regex
APIs
Stats & Probability
MLOps
۵_کار روی پروژه ها
اینجا دو حالت پیش میاد یا شما شروع به کار روی یک پروژه و ساختن میکنید (به صورت تیمی، در یک شرکت یا تنها) یا این مورد رو بعدا انجام میدین که در این صورت برای شروع توصیه میشه حتما در مسابقات ماشین لرنینگ شرکت کنید.
بعضی مسابقات معتبر:
Kaggle.com
Datacrunch.com
Numer.ai
ولی بعد از اون (یا در کنارش)، شروع کار تیمی و ساختن یک محصول جالب رو شروع کنید. اینجا از از مصرف کنندگی صرف علم و ابزار این حوزه آروم آروم تولید کردن و ارزش خلق کردن شروع میشه. برای کار تیمی در این دوره مهم هست که بتونید ریموت کار کردن رو تمرین کنید و مثلا با استفاده از ابزاری مثل live share در vscode بتونید روی یک کد به صورت همزمان و ریموت کار کنید.
نکته آخر اینکه تمام منابع، مقالات و داکیومت های اصلی در این حوزه به زبان انگلیسی هست و بهتره اگر به این مورد عادت ندارید شروع کنید و به مرور این مهارت بدست میاد. دیدن ویدئو ها به زبان انگلیسی، خوندن مقالات و داکیومنت ها یکی از روزمره های این تخصص هست.
@deeptimeai
Coursera
Python for Everybody
Offered by University of Michigan. Learn to Program and ... Enroll for free.
❤2