Forwarded from برنامه نویسی به شرط خنده | Developer funs (P ᴰᵉᵛᵉˡᵒᵖᵉʳ)
Please open Telegram to view this post
VIEW IN TELEGRAM
👎2
مسئله بوقلمون: چرا ساخت هوش مصنوعی برای پیش بینی قیمت بیت کوین مهمله
وقتی که یه سیستم پیش بینی درست میکنید. باید حتما مسئله بوقلمون تو ذهنتون باشه.
هر سال تو روز Thanksgiving. رسمه که خیلیا بوقلمون میپزند.
این بوقلمون بنده خدا تا اون روز هیچ وقت به ذهنش نمیرسه که قراره دقیقا تو همچنین روزی چنین بلایی سرش بیاد.
چون هر روز غذا میخوره، میخوابه و جای امنی زندگی میکنه. مگه دلیلی داره که نگران چیزی باشه؟
تو این مسئله هم تا روز 1000 بوقلمون قشنگ غذاشو میخوره و زندگی آرومش رو داره.
تا میرسه به روز 1001، روز سهمگین برای این بوقلمون.
به نظیر این اتفاقات میگن Black Swan Event.
سقوط قیمت Bitcoin خیلی احتمال کمی داره.
اما از اهمیت این حادثه کم نمیکنه.
بیت کوین سیستم بسته نیست. یک سیستم بازی هست با کلی پارامتر ها.
از جمله اخبار و تصمیمات بازیگر های بزرگ این بازار.
توضیحات مرتبط با موضوع هوش مصنوعی رو میتونید تو این بخش از کتاب Tensorflow for Deep Learning که توسط Daniel Bourke نوشته شده رو ببینید.
وقتی که یه سیستم پیش بینی درست میکنید. باید حتما مسئله بوقلمون تو ذهنتون باشه.
هر سال تو روز Thanksgiving. رسمه که خیلیا بوقلمون میپزند.
این بوقلمون بنده خدا تا اون روز هیچ وقت به ذهنش نمیرسه که قراره دقیقا تو همچنین روزی چنین بلایی سرش بیاد.
چون هر روز غذا میخوره، میخوابه و جای امنی زندگی میکنه. مگه دلیلی داره که نگران چیزی باشه؟
تو این مسئله هم تا روز 1000 بوقلمون قشنگ غذاشو میخوره و زندگی آرومش رو داره.
تا میرسه به روز 1001، روز سهمگین برای این بوقلمون.
به نظیر این اتفاقات میگن Black Swan Event.
سقوط قیمت Bitcoin خیلی احتمال کمی داره.
اما از اهمیت این حادثه کم نمیکنه.
بیت کوین سیستم بسته نیست. یک سیستم بازی هست با کلی پارامتر ها.
از جمله اخبار و تصمیمات بازیگر های بزرگ این بازار.
توضیحات مرتبط با موضوع هوش مصنوعی رو میتونید تو این بخش از کتاب Tensorflow for Deep Learning که توسط Daniel Bourke نوشته شده رو ببینید.
پیش بینی قیمت تو بازار و سیستم های باز با هوش مصنوعی درست مثل طالع بینی با استفاده از کف دست هست.
بنابراین گول این چیز رو نخورید.
#Meme
بنابراین گول این چیز رو نخورید.
#Meme
TECH STASH
مسئله بوقلمون: چرا ساخت هوش مصنوعی برای پیش بینی قیمت بیت کوین مهمله وقتی که یه سیستم پیش بینی درست میکنید. باید حتما مسئله بوقلمون تو ذهنتون باشه. هر سال تو روز Thanksgiving. رسمه که خیلیا بوقلمون میپزند. این بوقلمون بنده خدا تا اون روز هیچ وقت به ذهنش…
همینطور یه کتابی هم تو این مقاله معرفی شده به اسم The Black Swan: The Impact of the Highly Improbable که سال 2007 نوشته شده و نویسندش Nassim Nicholas Taleb هست که آدم سرشناسی راجب این موضوع هست.
اگر خواستید بیشتر بررسی کنید این موضوع رو میتونید این کتاب رو هم بخونید.
اگر خواستید بیشتر بررسی کنید این موضوع رو میتونید این کتاب رو هم بخونید.
TECH STASH
مسئله بوقلمون: چرا ساخت هوش مصنوعی برای پیش بینی قیمت بیت کوین مهمله وقتی که یه سیستم پیش بینی درست میکنید. باید حتما مسئله بوقلمون تو ذهنتون باشه. هر سال تو روز Thanksgiving. رسمه که خیلیا بوقلمون میپزند. این بوقلمون بنده خدا تا اون روز هیچ وقت به ذهنش…
البته موضوع ای رو میخوام اضافه کنم که خیلی مهمه توجه کنید.
بنده با افرادی که day trading انجام میدن و کلا شغلشون هست صحبت کردم راجب این موضوع.
با وجود همچنین حرفی که تو پست قبل زدم باز هم میشه از هوش مصنوعی برای day trading استفاده کرد.
ولی خب اون موقع باید وارد بحث احتمالات و ذهنیت معاملاتی بشید.
کلا مسئله اینکه بازار رو پیش بینی کنید وجود نداره.
بلکه سیستم های کنش و واکنشی هستند و طبق استراتژی ها و بررسی فضای احتمالاتی بازار ساخته میشن.
بنابراین فکر نکنید کار ساده ای هست.
بنده با افرادی که day trading انجام میدن و کلا شغلشون هست صحبت کردم راجب این موضوع.
با وجود همچنین حرفی که تو پست قبل زدم باز هم میشه از هوش مصنوعی برای day trading استفاده کرد.
ولی خب اون موقع باید وارد بحث احتمالات و ذهنیت معاملاتی بشید.
کلا مسئله اینکه بازار رو پیش بینی کنید وجود نداره.
بلکه سیستم های کنش و واکنشی هستند و طبق استراتژی ها و بررسی فضای احتمالاتی بازار ساخته میشن.
بنابراین فکر نکنید کار ساده ای هست.
ماجراجویی باگ وایفای: قسمت اول
روی توزیع Debian بودم. دقیق یادم نبود از کی شروع شد.
اما از قبل تو ویندوز چنین مشکلی بود.
از وضعیت خراب ویندوزم میتونه باشه.
ولی حداقل قطع نمیشد. وصل میموند.
روی لینوکس مشکل قطع و وصل شدن وایفای بود.
تا یه زمانی مدارا میکردیم. ولی بدتر و بدتر میشد.
حدس من از درایور بود.
اول از
ارور رو پیدا کردم.
از microcode بود.
جدا از اون curl و wget هم به مشکلات عجیب غریب میخوردن.
همین امروز درستشون کردم.
مشکلی بودن خارج از داستان و تنظیمات لینوکسم (سر همین نیاز به توضیح نیست).
آپشن های درایور داخل پوشه
اضافه کردم.
دوباره initramfs رو جنریت کردم.
درست نشد.
کرنل backports نصب کردم. خطای جنریت کردن ماژول میداد. اونا رو هم آپدیت کردم.
با اون بوت کردم.
درست نشد.
ورژن backports درایور رو نصب کردم.
درست نشد.
گفتم که توزیع عوض کنم.
تصمیم خوبی بود از اونجایی که دیگه به اندازه کافی روی دبیان مونده بودم.
اومدم رو Parch Linux.
توزیع لینوکسی خوبیه. بدون مشکل نصب شد و خیلی دیفالت هاش برای من قابل درک و جذاب بود.
(بعدا راجبش باهاتون صحبت میکنم)
ولی بعد از مدتی احساس امید و خوشحالی.
باز قطع و وصلی برگشت.
درست نشد.
رفتم archwiki تا ببینم که راه حلی میزارن. راه حل هارو تست کردم جز یکی.
درست نشد.
فقط یه راه حل مونده.
اونم اینه که microcode مختص wifi رو downgrade کنم.
نه به راحتی پکیج نصب کردن نیست.
باید دستی نصب کنم و از قبلیه هم بکاپ بگیرم.
فعلا با کابل LAN وصلم ولی باید سر و ته این موضوع رو دربیارم.
ولی خب به قول سهراب:
مشکلی نیست دوستان، حل میشه.
#WIFI_Bug_Adventures
روی توزیع Debian بودم. دقیق یادم نبود از کی شروع شد.
اما از قبل تو ویندوز چنین مشکلی بود.
از وضعیت خراب ویندوزم میتونه باشه.
ولی حداقل قطع نمیشد. وصل میموند.
روی لینوکس مشکل قطع و وصل شدن وایفای بود.
تا یه زمانی مدارا میکردیم. ولی بدتر و بدتر میشد.
حدس من از درایور بود.
اول از
journalctl -b بررسی کردم.ارور رو پیدا کردم.
از microcode بود.
جدا از اون curl و wget هم به مشکلات عجیب غریب میخوردن.
همین امروز درستشون کردم.
مشکلی بودن خارج از داستان و تنظیمات لینوکسم (سر همین نیاز به توضیح نیست).
آپشن های درایور داخل پوشه
/etc/modprobe.d/اضافه کردم.
دوباره initramfs رو جنریت کردم.
درست نشد.
کرنل backports نصب کردم. خطای جنریت کردن ماژول میداد. اونا رو هم آپدیت کردم.
با اون بوت کردم.
درست نشد.
ورژن backports درایور رو نصب کردم.
درست نشد.
گفتم که توزیع عوض کنم.
تصمیم خوبی بود از اونجایی که دیگه به اندازه کافی روی دبیان مونده بودم.
اومدم رو Parch Linux.
توزیع لینوکسی خوبیه. بدون مشکل نصب شد و خیلی دیفالت هاش برای من قابل درک و جذاب بود.
(بعدا راجبش باهاتون صحبت میکنم)
ولی بعد از مدتی احساس امید و خوشحالی.
باز قطع و وصلی برگشت.
درست نشد.
رفتم archwiki تا ببینم که راه حلی میزارن. راه حل هارو تست کردم جز یکی.
درست نشد.
فقط یه راه حل مونده.
اونم اینه که microcode مختص wifi رو downgrade کنم.
نه به راحتی پکیج نصب کردن نیست.
باید دستی نصب کنم و از قبلیه هم بکاپ بگیرم.
فعلا با کابل LAN وصلم ولی باید سر و ته این موضوع رو دربیارم.
ولی خب به قول سهراب:
مشکلی نیست دوستان، حل میشه.
#WIFI_Bug_Adventures
👍2🔥1
بعضی وقتا بهتره که یه اکوسیستم آفلاین داشته باشید.
که کارتون با قطع اینترنت عقب نیفته.
از طرفی خودم اکوسیستم آفلاین رو ترجیح میدم چون که بهره وریم رو بیشتر میکنه.
یکی از چیزایی که Developer ها آنلاین ازش استفاده میکنن document لایبرری و ابزار هاشون هست.
تو این مقاله بهتون یاد میده که چطور با wget یک وبسایت رو کامل crawl و دانلودش کنید.
https://adamj.eu/tech/2023/03/07/download-documentation-website-with-wget/
ولی دو چند تا پارامتر دیگه هم بهتره بدونید.
برای ست کردن user agent مرورگر استفاده میشه. یک سری وبسایت ها ممکنه اجازه crawl کردن رو ندن.
اگر سریع درخواست بزنید ممکنه توسط وبسایت لیمیت یا بلاک بشید. سر همین باید rate limiter برای درخواست دادن بزارید.
معنی continue میده. اگر دانلودتون وسطش کنسل شد اینو بزنید تا ادامه بده.
یه نمونه دستور که از تمامی آرگومان ها استفاده میکنه.
#Offline_Ecosystem
که کارتون با قطع اینترنت عقب نیفته.
از طرفی خودم اکوسیستم آفلاین رو ترجیح میدم چون که بهره وریم رو بیشتر میکنه.
یکی از چیزایی که Developer ها آنلاین ازش استفاده میکنن document لایبرری و ابزار هاشون هست.
تو این مقاله بهتون یاد میده که چطور با wget یک وبسایت رو کامل crawl و دانلودش کنید.
https://adamj.eu/tech/2023/03/07/download-documentation-website-with-wget/
wget --mirror --convert-links --adjust-extension --page-requisites --no-parent <website>
ولی دو چند تا پارامتر دیگه هم بهتره بدونید.
--user-agent="<user agent>"
برای ست کردن user agent مرورگر استفاده میشه. یک سری وبسایت ها ممکنه اجازه crawl کردن رو ندن.
-w <wait time>
اگر سریع درخواست بزنید ممکنه توسط وبسایت لیمیت یا بلاک بشید. سر همین باید rate limiter برای درخواست دادن بزارید.
-c
معنی continue میده. اگر دانلودتون وسطش کنسل شد اینو بزنید تا ادامه بده.
یه نمونه دستور که از تمامی آرگومان ها استفاده میکنه.
wget -c --user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36" -w 0.5 --mirror --convert-links --adjust-extension --page-requisites --no-parent https://pytorch.org/vision/stable/
#Offline_Ecosystem
adamj.eu
How to download a documentation website with Wget - Adam Johnson
Sometimes you want to download a whole website so you have a local copy that you can browse offline. When programming, this is often useful for documentation that sites that do not provide downloadable versions, and are not available in offline tools like…
👍1
جدا از اون. یه وبسایت داریم به اسم devdocs که داکیومنت های محبوب رو داخل خودش نگه میداره.
و قابلیت استفاده آفلاین رو بهتون میده. که تو تنظیماتش باید فعال کنید.
ایرادش اینه که کامل نیست.
تو مورد من torchvision رو نداشت و فقط torch رو داشت.
https://devdocs.io/
#Offline_Ecosystem
و قابلیت استفاده آفلاین رو بهتون میده. که تو تنظیماتش باید فعال کنید.
ایرادش اینه که کامل نیست.
تو مورد من torchvision رو نداشت و فقط torch رو داشت.
https://devdocs.io/
#Offline_Ecosystem
devdocs.io
DevDocs API Documentation
Fast, offline, and free documentation browser for developers. Search 100+ docs in one web app: HTML, CSS, JavaScript, PHP, Ruby, Python, Go, C, C++…
🦄1
یکی از روشهای بدست آوردن نتایج خیلی خوب تو یادگیری عمیق استفاده از Transfer Learning یا انتقال یادگیری هست.
به شدت چنین موضوعی تو هوش مصنوعی مهم و رایج هست و حتی برای ساخت مدل های به شدت بزرگ برای استفاده های تجاری معمولاً pre-training یا پیش آموزش انجام میدن و از روش transfer learning میان و fine-tuning انجام میدن برای استفاده های اصلی.
تو این روش اول باید یک مدلی رو انتخاب کنیم که به مسئله ما میخوره و از قبل train شده و وزن هاش موجود ان.
باید تو یه domain باشن. مثلاً ما مدل classification (طبقه بندی) رو نمیایم روی object detection (شناسایی شی) که مسئله اصلی ماست استفاده کنیم.
دیتا ستش مهم هست ولی حتی اگر ارتباط خیلی کمی هم داشته باشه باز قابل استفادست. مهم مدله که به مسئله ما بخوره.
وقتی که مدل خوبی پیدا کردیم. وزن هاشو لود میکنیم روی مدل.
فاز اول feature extraction هست که ما تغییراتی روی مدل میدیم که خروجی مورد انتظار رو به ما بده. و اون بخشهایی که تغییر دادیم رو train میکنیم و بقیه رو freeze میکنیم.
فاز دوم fine-tuning هست که تو این فاز ما قسمت قسمت لایه ها رو unfreeze میکنیم و train انجام میدیم.
به شدت چنین موضوعی تو هوش مصنوعی مهم و رایج هست و حتی برای ساخت مدل های به شدت بزرگ برای استفاده های تجاری معمولاً pre-training یا پیش آموزش انجام میدن و از روش transfer learning میان و fine-tuning انجام میدن برای استفاده های اصلی.
تو این روش اول باید یک مدلی رو انتخاب کنیم که به مسئله ما میخوره و از قبل train شده و وزن هاش موجود ان.
باید تو یه domain باشن. مثلاً ما مدل classification (طبقه بندی) رو نمیایم روی object detection (شناسایی شی) که مسئله اصلی ماست استفاده کنیم.
دیتا ستش مهم هست ولی حتی اگر ارتباط خیلی کمی هم داشته باشه باز قابل استفادست. مهم مدله که به مسئله ما بخوره.
وقتی که مدل خوبی پیدا کردیم. وزن هاشو لود میکنیم روی مدل.
فاز اول feature extraction هست که ما تغییراتی روی مدل میدیم که خروجی مورد انتظار رو به ما بده. و اون بخشهایی که تغییر دادیم رو train میکنیم و بقیه رو freeze میکنیم.
فاز دوم fine-tuning هست که تو این فاز ما قسمت قسمت لایه ها رو unfreeze میکنیم و train انجام میدیم.
حالا از کجا باید مدل گیر بیاریم؟
وبسایت های مختلفی است. تو مثال من که PyTorch کار میکنم تو هر domain library اش یه بخش به اسم models داره.
torchvision.models
torchtext.models
torchaudio.models
همینطور huggingface هم کلی model و dataset داره:
HuggingFace Models
HuggingFace Datasets
و در نهایت paperswithcode که وبسایتی هست که آخرین تحقیقات و مقاله ها در زمینه یادگیری عمیق و هوش مصنوعی رو به اشتراک میزاره.
تفاوتش با بقیه اینجاست که وزن مدل ها و کد های تحقیقات هم همراه باهاش موجود اند.
paperswithcode
وبسایت های مختلفی است. تو مثال من که PyTorch کار میکنم تو هر domain library اش یه بخش به اسم models داره.
torchvision.models
torchtext.models
torchaudio.models
همینطور huggingface هم کلی model و dataset داره:
HuggingFace Models
HuggingFace Datasets
و در نهایت paperswithcode که وبسایتی هست که آخرین تحقیقات و مقاله ها در زمینه یادگیری عمیق و هوش مصنوعی رو به اشتراک میزاره.
تفاوتش با بقیه اینجاست که وزن مدل ها و کد های تحقیقات هم همراه باهاش موجود اند.
paperswithcode
برای اطلاعات بیشتر راجب transfer learning از جمله feature extraction و fine-tuning میتونید به ریفرنس های زیر برید
PyTorch:
Feature Extraction
Tensorflow:
Feature Extraction
Fine-tuning
PyTorch:
Feature Extraction
Tensorflow:
Feature Extraction
Fine-tuning
👍2
سلام دوستان.
از اونجایی که خیلیاتون جدید هستید و تازه اومدید گفتم که یک سری course ها و آموزشهای ویدیویی خوبی در مورد Machine Learning و Deep Learning بزارم که شما هم ازش استفاده کنید.
کتاب دیجیتالش رو هم گذاشتم که ببینید چه مباحثی رو کاور میشه و آیا چیزی که میخواید رو داره یا نه.
🔗 Complete A.I. Machine Learning and Data Science: Zero to Mastery
این یه بوت کمپ کلی هست که مباحث Data Science, Machine Learning و همینطور مقداری Deep Learning رو کاور میکنه.
یه برشی هم به Data Engineering میزنه ولی در حد تعریف و ابزاراش تا بدونید.
کتابخونه های پایه Machine Learning مثل numpy, pandas, matplotlib و scikit-learn رو کاور میکنه.
کتابخونه Deep Learning اش Tensorflow هست.
اگر دنبال شبکه های عصبی و Deep Learning هستید این آموزش خوبه چون بیس دنیای Machine Learning هست و اجباریه ولی بعد از این باید روی دوره های Tensorflow و PyTorch تمرکز کنید.
📕 کتاب دیجیتال
🔗 PyTorch for Deep Learning Bootcamp (2024): Zero to Mastery
بوت کمپ PyTorch که خودم دارم آموزشش رو دنبال میکنم (تقریباً ¾ امش رو تموم کردم).
وارد یادگیری عمیق (مخصوصاً بخش vision اش) میشه.
سه تا بخش مختص به PyTorch داره که تو دوره Tensorflow اش نیست. اولیش بخش Paper Replication اش هست که با Transformer ها آشنا میشید و Vision Transformer رو مستقیم از مقاله تحقیقاتی تا کدش پیاده میکنید.
تو بخش Experiment Tracking با مفهوم آزمایش و مقایسه بین مدل ها آشنا میشید.
و بخش آخرش هم Model Deployment هست که استقرار مدل و مفاهیم MLOps رو تا حدی یاد میگیرید.
📕 کتاب دیجیتال
🔗 TensorFlow for Deep Learning Bootcamp (2024): Zero to Mastery
بوت کمپ Tensorflow که با مباحث PyTorch مقداری همپوشانی داره ولی تفاوتش با PyTorch اینه وارد NLP و Time Series هم میشه و بخش transfer learning اش fine-tuning هم اضافی داره.
(لزوماً دوره بهتر از PyTorch نیست، همین مباحث رو هم میتونید راحت تو اینترنت پیدا کنید و متوجه بشید، اگر خودم واردش شدم ریسورس هام رو همینجا میزارم)
📕 کتاب دیجیتال
🔴 نکته مهم: چیزی که از آدم های پر تجربه شنیدم اینه. قاعدتا هیچ دوره ای از شما مهندس هوش مصنوعی نمیسازه.
(مقاله بالا رو به شدت پیشنهاد میکنم بخونید، واسه هر نوع آموزش دیگه هم صدق میکنه)
اونقدر دنیای هوش مصنوعی در حال پیشرفت هست که شما باید research paper بخونید با کد پیاده کنید و مهارت های لازم رو کسب کنید.
پس بعد از یکی دو تا course کامل وقتتون رو روی course های بیشتر تلف نکنید.
دست به کد بشید. پروژه بزنید.
با دیتا ست، الگوریتم ها (و تو یادگیری عمیق، لایه های مختلف) کار کنید.
و از پشت پرده الگوریتم ها (و لایه ها) هم غفلت نکنید.
کنجکاو باشید، آزمایش کنید و لذت ببرید.
⚡️@tech_stash ⚡️
از اونجایی که خیلیاتون جدید هستید و تازه اومدید گفتم که یک سری course ها و آموزشهای ویدیویی خوبی در مورد Machine Learning و Deep Learning بزارم که شما هم ازش استفاده کنید.
کتاب دیجیتالش رو هم گذاشتم که ببینید چه مباحثی رو کاور میشه و آیا چیزی که میخواید رو داره یا نه.
🔗 Complete A.I. Machine Learning and Data Science: Zero to Mastery
این یه بوت کمپ کلی هست که مباحث Data Science, Machine Learning و همینطور مقداری Deep Learning رو کاور میکنه.
یه برشی هم به Data Engineering میزنه ولی در حد تعریف و ابزاراش تا بدونید.
کتابخونه های پایه Machine Learning مثل numpy, pandas, matplotlib و scikit-learn رو کاور میکنه.
کتابخونه Deep Learning اش Tensorflow هست.
اگر دنبال شبکه های عصبی و Deep Learning هستید این آموزش خوبه چون بیس دنیای Machine Learning هست و اجباریه ولی بعد از این باید روی دوره های Tensorflow و PyTorch تمرکز کنید.
📕 کتاب دیجیتال
🔗 PyTorch for Deep Learning Bootcamp (2024): Zero to Mastery
بوت کمپ PyTorch که خودم دارم آموزشش رو دنبال میکنم (تقریباً ¾ امش رو تموم کردم).
وارد یادگیری عمیق (مخصوصاً بخش vision اش) میشه.
سه تا بخش مختص به PyTorch داره که تو دوره Tensorflow اش نیست. اولیش بخش Paper Replication اش هست که با Transformer ها آشنا میشید و Vision Transformer رو مستقیم از مقاله تحقیقاتی تا کدش پیاده میکنید.
تو بخش Experiment Tracking با مفهوم آزمایش و مقایسه بین مدل ها آشنا میشید.
و بخش آخرش هم Model Deployment هست که استقرار مدل و مفاهیم MLOps رو تا حدی یاد میگیرید.
📕 کتاب دیجیتال
🔗 TensorFlow for Deep Learning Bootcamp (2024): Zero to Mastery
بوت کمپ Tensorflow که با مباحث PyTorch مقداری همپوشانی داره ولی تفاوتش با PyTorch اینه وارد NLP و Time Series هم میشه و بخش transfer learning اش fine-tuning هم اضافی داره.
(لزوماً دوره بهتر از PyTorch نیست، همین مباحث رو هم میتونید راحت تو اینترنت پیدا کنید و متوجه بشید، اگر خودم واردش شدم ریسورس هام رو همینجا میزارم)
📕 کتاب دیجیتال
🔴 نکته مهم: چیزی که از آدم های پر تجربه شنیدم اینه. قاعدتا هیچ دوره ای از شما مهندس هوش مصنوعی نمیسازه.
(مقاله بالا رو به شدت پیشنهاد میکنم بخونید، واسه هر نوع آموزش دیگه هم صدق میکنه)
اونقدر دنیای هوش مصنوعی در حال پیشرفت هست که شما باید research paper بخونید با کد پیاده کنید و مهارت های لازم رو کسب کنید.
پس بعد از یکی دو تا course کامل وقتتون رو روی course های بیشتر تلف نکنید.
دست به کد بشید. پروژه بزنید.
با دیتا ست، الگوریتم ها (و تو یادگیری عمیق، لایه های مختلف) کار کنید.
و از پشت پرده الگوریتم ها (و لایه ها) هم غفلت نکنید.
کنجکاو باشید، آزمایش کنید و لذت ببرید.
⚡️@tech_stash ⚡️
👍2🔥2
درس تلخ: چرا روش های کلی با محاسبات بیشتر بهتر عمل میکنند.
محققان همیشه دنبال راهی هستن که بتونن علوم خودشون و دانششون رو داخل یک سیستمی اعمال کنن. و این تحقیقات درسته که تو کوتاه مدت پیشرفتی رو به دنبال میاره. اما تو طولانی مدت دوام نمیاره. درس تلخی که همچنان خیلی از محققان نگرفتند.
مثال خیلی سادش تو شطرنج بود. اولین مدل هوش مصنوعی شطرنج که Kasparov رو در سال ۱۹۹۷ شکست داد از جستجوی عمیق بود... این روش از سخت افزار و نرم افزار های خاصی استفاده میکرد و محاسبات به شدت سنگینی داشت.
هیچ روش یا دانشی خاصی از شطرنج هم توش پیاده نشده بود. فقط قوانین بازی بود و همینو بس. نه تکنیک های شطرنجی و نه قواعد و اصول بازی کردن که ما به بقیه یاد میدیم.
یک مثال دیگش در بازی Go. بیست سال بعد از شطرنج. کلی تحقیقات انجام شد که دانش انسان راجب بازی Go رو درون سیستم به کار ببرن یا از ویژگی های خود بازی استفاده کنن. اما وقتی از جستجو وسیع استفاده شد تمام نتایج تحقیقات این آدما رو به باد داد.
البته که اهمیت یادگیری (مثل یادگیری ماشین و عمیق) اون موقع تو سال ۱۹۹۷ مطرح نبود ولی جلوتر که اومدیم دیدیم که یادگیری هم جزو راهکار هایی برای حل کلی مسئله ها مطرح شد.
از طرفی هم نگاه کنیم یادگیری مثل جستجو میمونه، چون از مقدار زیادی پردازش استفاده میکنه.
مثال سومی هم از تشخیص صدا بود. محقق ها از دانش تخصصی خودشون راجب صدا مثل کلمات، واج ها، گلو و هنجره انسان به کار بگیرن. از طرفی هم روش های جدیدی بودن که از آمار و پردازش های سنگینی استفاده میکردن و در نهایت از روش های انسانی به مقدار بسیار زیادی پیشی گرفتن. الان میبینید که یادگیری عمیق به عنوان روش اصلی برای تشخیص صدا استفاده میشه.
پس میبینیم که محقق هایی که دنبال اعمال دانش خودشون تو این زمینه بودن نتایج مطلوبی دریافت نکردن ولی کسایی که روش های کلی با هزینه پردازشی زیاد رو انتخاب کردن (مثل جستجو و یادگیری) تونستن تو این فیلد ها بسیار پیشی بگیرن.
دلیل پیشی گرفتن این روش ها به خاطر قانون moore هست. چون پیشرفت پردازش خیلی سریع هست نسبت به تحقیقات سر همین خیلی سریع از تحقیقات ها جلو میزنه و روش های کلی خیلی بهبود پیدا میکنن.
این درس خیلی مهمی هست. چون بار ها و بار ها تکرار شده و همچنان محقق ها چنین درسی رو به خاطر نسپردن.
دومین چیزی که میشه از این درس تلخ گرفت اینه که محتوا های یک ذهن خیلی خیلی پیچیده هست.
به جای اینکه دنبال راهی باشیم که محتوا های ذهن رو ساده کنیم. مثل ساده فکر کردن راجب فضا، شی ها، تصاویر و ...
اینا تو مخیله یک سیستم کامپیوتری جا نمیشن... نمیتونیم بهش به صورت ساده بفهمونیم که این تصویر یه پیتزا هست یا هات داگ
باید دنبال راه و روش هایی باشیم که این پیچیدگی ها رو خود کامپیوتر پیدا کنه و درکشون کنه.
مدل هایی که بتونن خوب تقریب بزنن و خوب حدس بزنن و خودشون با روش های ما پیدا کنن، نه ما دانشمون رو بهشون انتقال بدیم (همونطور که گفتیم غیر ممکنه).
درسی که ما میتونیم به عنوان مهندس های یادگیری عمیق بگیریم:
هر موقع که میخواید یه مدل هوش مصنوعی انتخاب کنید. اگر پردازش نامحدود و سرور های فراوان دارید. سنگین ترین مدل ممکن رو انتخاب کنید.
ریفرنس
محققان همیشه دنبال راهی هستن که بتونن علوم خودشون و دانششون رو داخل یک سیستمی اعمال کنن. و این تحقیقات درسته که تو کوتاه مدت پیشرفتی رو به دنبال میاره. اما تو طولانی مدت دوام نمیاره. درس تلخی که همچنان خیلی از محققان نگرفتند.
مثال خیلی سادش تو شطرنج بود. اولین مدل هوش مصنوعی شطرنج که Kasparov رو در سال ۱۹۹۷ شکست داد از جستجوی عمیق بود... این روش از سخت افزار و نرم افزار های خاصی استفاده میکرد و محاسبات به شدت سنگینی داشت.
هیچ روش یا دانشی خاصی از شطرنج هم توش پیاده نشده بود. فقط قوانین بازی بود و همینو بس. نه تکنیک های شطرنجی و نه قواعد و اصول بازی کردن که ما به بقیه یاد میدیم.
یک مثال دیگش در بازی Go. بیست سال بعد از شطرنج. کلی تحقیقات انجام شد که دانش انسان راجب بازی Go رو درون سیستم به کار ببرن یا از ویژگی های خود بازی استفاده کنن. اما وقتی از جستجو وسیع استفاده شد تمام نتایج تحقیقات این آدما رو به باد داد.
البته که اهمیت یادگیری (مثل یادگیری ماشین و عمیق) اون موقع تو سال ۱۹۹۷ مطرح نبود ولی جلوتر که اومدیم دیدیم که یادگیری هم جزو راهکار هایی برای حل کلی مسئله ها مطرح شد.
از طرفی هم نگاه کنیم یادگیری مثل جستجو میمونه، چون از مقدار زیادی پردازش استفاده میکنه.
مثال سومی هم از تشخیص صدا بود. محقق ها از دانش تخصصی خودشون راجب صدا مثل کلمات، واج ها، گلو و هنجره انسان به کار بگیرن. از طرفی هم روش های جدیدی بودن که از آمار و پردازش های سنگینی استفاده میکردن و در نهایت از روش های انسانی به مقدار بسیار زیادی پیشی گرفتن. الان میبینید که یادگیری عمیق به عنوان روش اصلی برای تشخیص صدا استفاده میشه.
پس میبینیم که محقق هایی که دنبال اعمال دانش خودشون تو این زمینه بودن نتایج مطلوبی دریافت نکردن ولی کسایی که روش های کلی با هزینه پردازشی زیاد رو انتخاب کردن (مثل جستجو و یادگیری) تونستن تو این فیلد ها بسیار پیشی بگیرن.
دلیل پیشی گرفتن این روش ها به خاطر قانون moore هست. چون پیشرفت پردازش خیلی سریع هست نسبت به تحقیقات سر همین خیلی سریع از تحقیقات ها جلو میزنه و روش های کلی خیلی بهبود پیدا میکنن.
این درس خیلی مهمی هست. چون بار ها و بار ها تکرار شده و همچنان محقق ها چنین درسی رو به خاطر نسپردن.
دومین چیزی که میشه از این درس تلخ گرفت اینه که محتوا های یک ذهن خیلی خیلی پیچیده هست.
به جای اینکه دنبال راهی باشیم که محتوا های ذهن رو ساده کنیم. مثل ساده فکر کردن راجب فضا، شی ها، تصاویر و ...
اینا تو مخیله یک سیستم کامپیوتری جا نمیشن... نمیتونیم بهش به صورت ساده بفهمونیم که این تصویر یه پیتزا هست یا هات داگ
باید دنبال راه و روش هایی باشیم که این پیچیدگی ها رو خود کامپیوتر پیدا کنه و درکشون کنه.
مدل هایی که بتونن خوب تقریب بزنن و خوب حدس بزنن و خودشون با روش های ما پیدا کنن، نه ما دانشمون رو بهشون انتقال بدیم (همونطور که گفتیم غیر ممکنه).
درسی که ما میتونیم به عنوان مهندس های یادگیری عمیق بگیریم:
هر موقع که میخواید یه مدل هوش مصنوعی انتخاب کنید. اگر پردازش نامحدود و سرور های فراوان دارید. سنگین ترین مدل ممکن رو انتخاب کنید.
ریفرنس
👍2👏1👌1
CNN Explainer
یکی از بهترین سایت ها واسه یادگیری و درک بهتر شبکه های عصبی CNN.
به صورت گرافیکی مدل TinyVGG رو نمایش داده و توضیحات خیلی خوبی در باره هر بخش از این مدل نوشته.
راستی میتونید یه تصویر هم آپلود کنید و مدل رو زنده تست کنید.
یکی از بهترین سایت ها واسه یادگیری و درک بهتر شبکه های عصبی CNN.
به صورت گرافیکی مدل TinyVGG رو نمایش داده و توضیحات خیلی خوبی در باره هر بخش از این مدل نوشته.
راستی میتونید یه تصویر هم آپلود کنید و مدل رو زنده تست کنید.
poloclub.github.io
CNN Explainer
An interactive visualization system designed to help non-experts learn about Convolutional Neural Networks (CNNs).
👍2
Transformer
یکی از لایه های پیچیده ای هست که درکش برای من مشکل بود.
به خاطر تفاوت زیادی که با لایه های قبلی مثل CNN و دیگر لایه ها داشت.
اما این ریسورس ها درکش رو برای من ساده تر کرد.
The Illustrated Transformer - Jay Alammar
Transformer Explainer
همینطور بد نیست بعد از خوندن اینا سری به خود مقاله تحقیقاتی که ازش نشات گرفت بزنید.
حتی اگر هم چیزی متوجه نشید، مشکلی نیست چون بلاخره باید مقالات تحقیقاتی بخونید تا یادگیری عمیق کار کنید.
Attention Is All You Need
یکی از لایه های پیچیده ای هست که درکش برای من مشکل بود.
به خاطر تفاوت زیادی که با لایه های قبلی مثل CNN و دیگر لایه ها داشت.
اما این ریسورس ها درکش رو برای من ساده تر کرد.
The Illustrated Transformer - Jay Alammar
Transformer Explainer
همینطور بد نیست بعد از خوندن اینا سری به خود مقاله تحقیقاتی که ازش نشات گرفت بزنید.
حتی اگر هم چیزی متوجه نشید، مشکلی نیست چون بلاخره باید مقالات تحقیقاتی بخونید تا یادگیری عمیق کار کنید.
Attention Is All You Need
❤1👍1
در ضمن. میدونستید که Transformer فقط برای text نیست؟
Vision Transformer
داخل این معماری ما با استفاده از یک لایه CNN تصویر رو به تکه های متعددی تبدیل میکنیم و Flatten میکنیم تا تبدیل به یه Sequence برای پاس دادن به Transformer بشه.
یکی از استفاده های باحالی از Transformer ها بود خارج از LLM.
و اتفاقا خودم دارم پیادش میکنم طبق این ریسورس.
معماری State of The Art هست و هر روز دارن راهی پیدا میکنن که بهترش کنن..
مقاله تحقیقاتی که این روش رو معرفی کرد:
An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale
Vision Transformer Explained - Papers With Code
Vision Transformer
داخل این معماری ما با استفاده از یک لایه CNN تصویر رو به تکه های متعددی تبدیل میکنیم و Flatten میکنیم تا تبدیل به یه Sequence برای پاس دادن به Transformer بشه.
یکی از استفاده های باحالی از Transformer ها بود خارج از LLM.
و اتفاقا خودم دارم پیادش میکنم طبق این ریسورس.
معماری State of The Art هست و هر روز دارن راهی پیدا میکنن که بهترش کنن..
مقاله تحقیقاتی که این روش رو معرفی کرد:
An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale
Vision Transformer Explained - Papers With Code
👍1
TECH STASH
در ضمن. میدونستید که Transformer فقط برای text نیست؟ Vision Transformer داخل این معماری ما با استفاده از یک لایه CNN تصویر رو به تکه های متعددی تبدیل میکنیم و Flatten میکنیم تا تبدیل به یه Sequence برای پاس دادن به Transformer بشه. یکی از استفاده های باحالی…
اشتباهات (Errata):
البته دقیق بخوایم بگیم SOTA نیست و paper جدید هم نیست (با سرعتی که داریم تو فیلد یادگیری عمیق جلو میریم) ولی معماری های بیس ViT هستن که در حال حاظر تو فیلد Classification بهترین عملکرد رو دارن.
SOTA = State of The Art
یعنی آخرین و بهترین ها تو هر حوزه ای
واسه اینکه ببینید چه مدل هایی بهترین هستن تو هر دیتاست و فیلد حتما وبسایت Paperswithcode رو سری بزنید.
البته دقیق بخوایم بگیم SOTA نیست و paper جدید هم نیست (با سرعتی که داریم تو فیلد یادگیری عمیق جلو میریم) ولی معماری های بیس ViT هستن که در حال حاظر تو فیلد Classification بهترین عملکرد رو دارن.
SOTA = State of The Art
یعنی آخرین و بهترین ها تو هر حوزه ای
واسه اینکه ببینید چه مدل هایی بهترین هستن تو هر دیتاست و فیلد حتما وبسایت Paperswithcode رو سری بزنید.
huggingface.co
Trending Papers - Hugging Face
Your daily dose of AI research from AK
بلاگ پستی که خیلی باهاش حال کردم.
مسیر یادگیری Machine Learning و Deep Learning اش رو برای همه ما به اشتراک گذاشته و منابع و ریفرنس های خیلی خوبی رو معرفی کرده که از کیفیت بالایی برخوردارن.
اگر دنبال منابع خوب و با کیفیت هستید حتما به این سری بزنید.
https://www.mrdbourke.com/ml-resources/
مسیر یادگیری Machine Learning و Deep Learning اش رو برای همه ما به اشتراک گذاشته و منابع و ریفرنس های خیلی خوبی رو معرفی کرده که از کیفیت بالایی برخوردارن.
اگر دنبال منابع خوب و با کیفیت هستید حتما به این سری بزنید.
https://www.mrdbourke.com/ml-resources/
Daniel Bourke
Machine Learning Courses & Resources I Recommend
"Where should I go to learn machine learning?" These places.
👍45