دستاوردهای یادگیری عمیق(InTec)
9.53K subscribers
363 photos
40 videos
44 files
674 links
هوش مصنوعی، یادگیری ماشین و یادگیری عمیق
موضوع اصلی کانال

این یک بلاگ شخصی با طرز تفکر شخصی هست.

Core Python : @PyHints

تلاشی هم در یادگیری Rust دارم که درحال داکیومنت شدن هم هست؛ اگر شماهم به این زبان علاقمند هستید join یادتون نره

Rust: @PyRust
Download Telegram
deepdoctection

توی همین مدت کم تبدیل به یکی از پکیج‌های بیسیک و تست من شده ؛ توی پروژه‌های OCR و ...
دیگه لازم نیست برای تست‌های کوچیک و سریع سراغ کدهای پروژه‌های قبلی برم

توی این ۲ ماه که opensource شده و در دسترس هست واقعا پیشرفت جالبی داشته و برای همین گفتم که اینجا معرفیش کنم.
👍7🔥1
این دیگه خیلی عجیب بود :

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

هیچ توضیحی هم ندادند،

صحبت که گذشت گفتم که حرفه‌ای نیست من بدون پیش زمینه وارد مصاحبه بشم و این می‌تونه جلسه رو بیش از حد طولانی کنه

بعد از هماهنگ کردن جلسه توضیح دادند، متوجه شدم که :
۱- مصاحبه نیست
۲- ربطی به هوش مصنوعی نداره
۳- مشاوره هست
۴- system design, api , microservice

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

خطاب به این مدل شرکت‌ها :

۱- این رفتارهای غیر حرفه‌ای رو از کجا یاد میگیرید !؟

۲- چرا حتی وقتی کار شما گیر هست بازم درگیر خود گنده نشون دادن هستید ؟!

۳- چرا به نیروها احترام نمی ذارید !؟

در نهایت خدارو شکر می‌کنم که همکاری صورت نگرفت
👍51👎3
#تجربه

چندروزی هست که به سیستم شخصی RTX 3090 اضافه کردم و بنا به دلایلی کارت گرافیک قبلی رو هم نگه داشتم (1080Ti) یک سری نکته رو خواستم برای دوستان بگم که امیدوارم مفید باشه :

۱- اولین مورد راجع به پیشنهاد خرید هست
من به ۹۰٪ بچه‌ها پیشنهاد خرید نمیدم مخصوصاً اونهایی که تازه میخوان همچین سیستمی رو جمع کنند، شما حتی چیزی در حد کولب هم امروز بخواید خرید کنید حدوداً درآمد ۲ سال کار کردن در ایران رو باید بذارید کنار براش (اما اگر درآمدتون از حد نرمال بالاتر هست میشه بهش فکر کرد)

۲- برای بچه‌های خارج از ایران ۱۰۰٪ خرید رو توصیه نمی‌کنم (مگر کمک مالی ٫ پاداش یا ...) تا وقتی Aws - lambda و ... هست چرا خرید !؟

۳- من تجربه کار کردن با سرورهای قدرتمند gpu رو دارم اما خب دسترسی تعریف شده و توی خیلی از موارد ۲ نکته وجود داره :

اول اینکه gpu رو یکپارچه می‌بینه سیستم
دوم اینکه gpu ها از یک مدل هستند

توی شرایطی مثل سیستم من :
3090
وقتی محاسبات رو تموم می‌کنه و برای cpu می‌فرسته بیکار می‌مونه تا 1080 هم محاسباتش تموم بشه و اطلاعات رو برای cpu بفرسته

که بخاطر bandwidth, حافظه کمتر 1080 نقش bottleneck رو بازی می‌کنه

که اصلاً خوب نیست، و تو خیلی از موارد ترین کردن مدل روی 3090 به تنهایی خیلی سریعتر هست

۴- اما خوبی‌هایی هم داره :

اول اینکه، وقتی طولانی مدت ترین روی gpu قویتر میذارم دیگه لازم نیست همه‌ی برنامه‌های گرافیکی رو ببندم (gpu قویتر هیچ display output ایی نداره و فقط برای پردازش استفاده می‌شه.)
وقتی تک gpu بود یا حالتی که همه‌ی gpu ها استفاده میشه
دیگه نمی‌شه حتی video , ... باز کرد بخاطر lag شدید.

پس توی مدت ترین به کارهای دیگه هم میرسم

دوم اینکه :
وقتی زمانبدی کار عقب میوفته، از کدها ۲ نسخه میگیرم و بصورت همزمان نسخه اصلی رو برای ترین روی gpu قویتر میذارم و نسخه دوم رو برای experiment های سریعتر روی gpu ضعیف

وقتی به
hyper parameters
های بهتر دست پیدا می‌کنم نسخه اصلی رو stop می‌کنم و از آخرین checkpoint با کانفیگ جدید ترین شبکه رو ادامه می‌دم

سوم :
توی reinforcement learning هم خیلی خوب کمک می‌کنه، environment, game , ... رو روی 1080 اجرا می‌کنم و مدل و دیتاها روی 3090 اینجوری مدل‌های بزرگتری رو هم می‌تونم تست کنم

چهارم :

ی پیشنهاد که خیلی زیاد می‌بینم اینه که ۲ تا 3080 بگیر بجای ۱ دونه 3090 عملکرد بهتری داره
اول اینکه ۲ تا 3080 با اینکه میگن تفاوت قیمت نداره؛ اما باعث میشه مجبور بشید بیش از ۲ برابر خرج کنید

سیستم خنک کننده - power قویتر - مادربرد قویتر و البته case بزرگتر حداقل چیزهایی هست که مجبورید براش بیشتر هزینه کنید (نگهداری هم که هست)

علاوه بر اون مدل‌های این سالهای آخر به اندازه کافی بزرگ شده (بعضی‌ها حتی توی ۱۲ گیگ هم جا نمی‌شه، خود مدل به تنهایی)
اگر دارید به شکوندن مدل روی ۲ تا gpu فکر می‌کنید،
اول اینکه : کار آسونی نیست واقعاً و بسیار بسیار زمانبر هست که برای تجربیات سریع اصن خوب نیست
دوم اینکه : هر مدلی رو نمیشه به همین سادگی به تفکیک کردنش روی ۲ تا gpu فکر کرد.


نکاتی بود که تجربه جالب چندروز اخیر بود برای من و دوست داشتم باشما هم به اشتراک بذارم، امیدوارم مفید باشه 🌹
👍3615👎2
هفته پیش شرکت برای جذب نیرو توی بخش research تبلیغات انجام داد :

به این صورت که :
فارغ‌التحصیلان - اون‌هایی که ترم آخر هستند و البته junior ها می‌تونستند درخواست ارسال کنند

بیش از ۱۰۰ تا رزومه دریافت شد که همه مدل آدم توش بود (بنا به دلایلی تصمیم شد که رزومه‌ها اتومات بررسی نشه)

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

سوالی که خودم مطرح کردم پاسخ اشتباه زیادی داشت برای همین گفتم به اشتراک بذارم :

تصاویری پیوست شده :
نمودار مشتق اول یکسری از توابع هست، اگر قرار باشه تابع اصلی یکی ازین نمودارها بعنوان activation function استفاده بشه، بهترین گزینه کدوم تصویر هست، دلیل انتخاب چیه !؟
👍12
دستاوردهای یادگیری عمیق(InTec)
هفته پیش شرکت برای جذب نیرو توی بخش research تبلیغات انجام داد : به این صورت که : فارغ‌التحصیلان - اون‌هایی که ترم آخر هستند و البته junior ها می‌تونستند درخواست ارسال کنند بیش از ۱۰۰ تا رزومه دریافت شد که همه مدل آدم توش بود (بنا به دلایلی تصمیم شد که…
کسانی که می‌دونند یا توی ای زمینه تحقیق و کار کردند
پاسخ بدید، قطعاً جواب درست رو هم خودم قرار میدم

نکته دیگه اینکه (این سوال برای بخش research مطرح شده نه برای ml engineer یا ...)

بچه‌های research باید ریاضیات رو به خوبی بفهمند

توضیح درست دادن موقع انتخاب جواب هم شرط هست 😉
👍2
دستاوردهای یادگیری عمیق(InTec)
Photo
#جواب‌ درست (دوستانی هم به خوبی اشاره کردن) بطور ساده :

۱ عکس اول :
Vanishing Gradient
هست که به خوبی هم واضح هست، چرا که نقطه اوج برای مشتق اول تابع روی 0.25 هست
فرض کنید عمق شبکه فقط 5 لایه باشه، حتی اگر توی تمام موارد بیشترین مقدار برگرده

0.25 ** 5 = 0.000976

یک مشکل دیگه‌ای هم که داره اینه که توی شبکه‌های عصبی برامون مهم هست که دیتا
Mean = 0, Std=1
باشه، اما ازونجایی که این تابع نشون دهنده sigmoid هست و mean رو روی 0.5 نگه میداره پس مناسب لایه‌های میانی نیست (بخش دوم جواب برای کسایی که نوشته بودند امتیاز داشت اما واجب نبود)

۲ عکس دوم :
بازهم مشکل vanish gradient داره، اما نه توی peak (که خب خیلی کم اتفاق میوفته) و خب وقتی مقادیر روی بردار x از 0 فاصله بگیرند اعداد بسار کوچیک میشه و برای شبکه‌های عمیق مشکل قبل وجود داره (اما شدت کمتر)

ازونجایی که تابع اصلی این نمودار tanh هست پس مشکل
Mean, Std
رو نخواهیم داشت برای همین جایگزین بهتری برای لایه‌های میانی هست (بجای sigmoid) ولی خب مشکل اصلی همچنان باقی هست

۳ عکس سوم :
بخش سمت چپ که خب همواره صفر هست (خود این vanish gradient هست) و هیچ صحبتی راجبش وجود نداره (دقیقا مشکل relu هم هست و بعنوان جایگزین ELU , LEAKY , ...) معرفی شدند

اما بخش سمت راست به خوبی کار می‌کنه و مشکل vanish gradient نداره که گزینه خوبی هست برای deep learning مسئله جالبه دیگه اینکه که بصورت عملی ReLU داره جواب میده (پس احتمالاً همین که بخش مثبت به خوبی کار می‌کنه کفایت می‌کنه)

اما ۳تا مشکل حتی با relu وجود داره :
۱- بحث mean, std هست روی relu ؟ activation function جایگزین که حل کننده این موضوع باشه و بخوبی relu هم عمل کنه نداریم (من نمیشناسم حداقل)
۲- بخش سمت چپ که صحبت شد و مشکل dead neuron که راه‌حل هایی مثل leaky relu, elu براش ارائه شده
۳- exploiding gradinet
هست، حالتی برعکس vanish جایی که محاسبات اعداد بزرگی رو بر میگیردونند، و راه حلی مثل Clipping داره

بجای max(0, x) تابع بصورت
min(max(0,x), 6)
تعریف می‌شه.
👍34
Ace of data science interview

از دوستان اگر کسی این کتاب رو داره یا خونده

ممنون میشم توی کامنت اطلاع بده.
برای توضیح ساده چندتا مفاهیم مربوط به timeseries داشتم دنبال مطلب میگشتم که به سایت یک کتاب رسیدم
مفاهیمی که من دنبالش بودم (مقدماتی) رو به بسیار خوب و بسیار قابل درک توضیح داده علاوه بر این نسخه آنلاین کتاب هم رایگان هست خوندن
پ.ن : مثل اینکه بخش code با R هست (بازم از ارزش کتاب کم نمی‌کنه)
Forecasting: Principles and Practice (3rd ed)
7👍5
دستاوردهای یادگیری عمیق(InTec)
توی لیست کتاب‌هایی که باید خوند. Second Edition 👌
این پلی لیست از کانال یوتیوب آقای تاکور (لهجه هندی) هر هفته یک فصل از کتاب رو پوشش میده
برای کسانی که فرصت نکردند هنوز کتاب رو بخونند
ایشون یکی از افراد مشهور توی مسابقات کگل هست؛ حتی اگر این کتاب رو خوندید دیدن ویدئوها خالی از لطف نیست (از یک دید دیگه به کتاب نگاه کنید)

فصل دوم این هفته قرار گرفت :
YouTube PlayList
👍15
#تجربه
یک سری چیزا برای ما روتین شده؛ انقدر که تجربه‌اش کردیم و دیدیم که توی ناخوآگاه مغزمون فرو رفته و حتی اگر خودمون هم نخوایم انجامش میدیم و دنبال explore ‌روش‌های جدید نمیریم.
در حال تدریس؛ این روزا درگیر درس دادن دیپ‌لرنینگ به یک گروه فوق‌العاده و قوی هستم (جلوتر میگم چرا با این گروه انقدر حال میکنم)

شخصا همیشه توی زندگی حرفه‌ای سعی می‌کنم مثل ی Agent از Reinforcement learning عمل کنم و سعی می‌کنم اون Agent باشم که قبل از هدر دادن محاسبات و زمان راه جدیدی رو هم تست می‌کنه و ممکنه ۱ قدم کل مدل رو به پیش ببره؛
پس اگر ۱۰ بار کارهایی رو می‌کنم که برای حل مسئله روتین و جا افتاده هست
۱ بار هم از یک روش جدید میرم (شاید حتی روشی که احمقانه به ذهن برسه؛ اونقدر احمقانه که می‌تونه عملی بشه حداقل اینه که زمان رو به فان گذروندم و تجربه کردم)

جلسه‌ای که گذشت به RNN-GRU-LSTM بود بعد از کلی محاسبات دستی و کاغذ و ... توی آخرین دیتاست با دیتای 2-D به فرم TxD داشتم جلسه رو تموم میکردم به این نکته رسیدیم که اگر خیلی بزرگتر بود که LSTM به تنهایی نتونست جمش کنه قبل از attention, transformers چه راهکارهایی بوجود اومده بود (نکات عملی که باید در نظر داشت) بعد از مثال زدن

یکی از بچه‌ها سوال جالبی کرد :
اگر دیتای time-series یا ورودی RNN base می‌تونه ۲ بعدی باشه پس چرا برای عکس ازش استفاده نکنیم ؟
البته روی موضوع از لحاظ optimization و ... میشه بحث کرد ولی چون هنوز خیلی راه تا اونجا مونده همین کار رو کردیم
و روی fashion_mnist اجرا گرفتیم (بهترین خروجی یکی از بچه‌ها ۹۷٪ بود با ۱۰ تا اپوک)
خیلی جالب بود برام؛ سوالی که امروز یکی از بچه‌ها کرد ی دید جدید به چیزهایی بود که قطعا اگر با خودم پیش میرفت اصلا بهش فکرم نمی‌کردم (همونطور که تا حالا نکردم)

این دید جدید باعث شد چندتا مسئله رو بخوام دوباره بررسی کنیم و چندتا از مقالات این اواخر رو دوباره بخونم

نمیدونم آیا شما RNN-base روی تصویر تست کردید ؟
👍15🤔3
خروجی مدل خیلی ساده من با یک لایه
LSTM(20)
روی fashion_mnist که اپوک اول val_acc رو بالای 82% بر گردوند
👍6
#تجربه #هشدار

بنظر شما این خروجی مشکلی داره و اگر آره مشکل چی هست ؟

قبل از اینکه مشکل رو بگم؛ دلیل این پست رو توضیح بدم
توی این ۷ سالی که تمرکزم بیشتر روی هوش مصنوعی بوده تبلیغات و دوره‌های زیادی رو دیدم که جز کلاه‌برداری چیزی نیست
بعضی ازین دوره‌ها هم قصد مدرس کلاه‌ برداری نیست بلکه از روی حماقت (نادانی علمی - عدم شناخت کافی به موضوع بیزینسی - استفاده از کلمات و جملات بدون توجه به عواقب) هست که باعث دلزدگی و ... نیروی تازه کار می‌شه

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

و بعد هم یک ویدئو دقیق از کد زدن مدل هوش مصنوعی تا قبل از نحوه predict و اکانتی که در نهایت درآمد زایی می‌کنه

قبل از اینکه زود قضاوت کنید باید بگم که این اولین آدم نبوده که ایجوری ازش کلاه‌برداری میشه (اما بدترین مورد بوده) توی این سالها بسیاری آدم میشناسم که به این طریق سرشون کلاه رفته
ادامه پارت دوم :
👍71
دستاوردهای یادگیری عمیق(InTec)
#تجربه #هشدار بنظر شما این خروجی مشکلی داره و اگر آره مشکل چی هست ؟ قبل از اینکه مشکل رو بگم؛ دلیل این پست رو توضیح بدم توی این ۷ سالی که تمرکزم بیشتر روی هوش مصنوعی بوده تبلیغات و دوره‌های زیادی رو دیدم که جز کلاه‌برداری چیزی نیست بعضی ازین دوره‌ها هم…
حتی بچه‌هایی که دکتری هوش مصنوعی از دانشگاهای معتبر دارند
خروجی و نموداری که توی عکس اول می‌بینید؛ کاملا واقعی هست و مربوط به دیتای سهام یکی از شرکت‌های مطرح طی ۳ ماه گذشته هست (اگر اشتباه نکنم)؛ حداقل ۲ برابر هم بهتر از خروجی ویدئوی تبلیغاتی
من این دیتا رو برای اثبات حرفام به دوستی که توی لینکدین بهم پیام داد از خود ایشون گرفتم و مدل رو زدم و بعد دیتای تست رو هم توی روز‌هایی که من کد میزدم ایشون کرال کرده و نهایتا این نمودار مربوط به دیتای تست هست
احتمالا الان میگید بریم بشینیم با این خرید و فروش بزنیم (ولی من ۱٪ هم با این مدل اینکارو نمی‌کنم)؛ حقیقت اینه که من اون مدرس رو نمیدونم اما اونقدرم احمق نیستم همچین چیزی واقعی باشه و بیخیال درآمدش بشم بشینم هوش مصنوعی خودمو آپدیت کنم

۳ تا دلیل که همه‌ی این تبلیغات دروغ هست :
۱- اگر کسی به این مهم دست پیدا میکرد؛ وقت خودش رو با کلاس آموزشی و تبلیغات و ... تلف نمیکرد و داشت پول در میاورد (چشمم دنبال ۱۰ میلیون تومان های پول دوره نبود)

۲- اگر اینها واقعی بود غول‌های بزرگ بورسی اینکارو میکردند

۳- طبق آخرین آماری که دارم (مربوط به سال گذشته) فقط و فقط کمتر از ۲٪ مدل‌های مقالات و ... واقعا داره استفاده می‌شه و اون هم فقط و فقط برای کمک به نیروهای خبره هست نه اینکه پول رو بدن دست مدل و بگن خوب همه چیز با تو

اما نمودار بالا : تنها چیزی که من ازش استفاده کردم رایج‌ترین اشتباه توی predict هست (هزاران بار توی کدهای شرکت‌های بزرگ ایرانی هم دیدم؛ خارج از ایران هم این وضعیت هست)
One-step prediction
برای شرایط خاص درست هست اما توی مثال بالا خیر پس حواستون به کد باشه مدل حداقل باید ۱ ماه آینده رو درست پیش بینی کنه نه فقط دقیقه / ساعت / یا روز بعدی رو
👍16🔥31
این حقیقت خروجی هست؛
Multi-step prediction
مراقب باشید سرتون کلاه نره
همینجا بگم که حواستون به بلاگرهای معرفی کتاب و ... (مخصوصا کتابهای فارسی هم باشه)

این مورد هم زیاد دیدم؛ طرف تا دیروز ملت عشق / من پیش از تو / من با تو / من بعد تو / من و تو و ... تبلیغ و معرفی میکرده

امروز داره مصورسازی داده - هوش مصنوعی و ... تبلیغ می‌کنه
و متاسفانه ادعا میکنه که کتاب رو خونده که خب دروغ هست با ۲ تا سوال مشخص میشه

نمیگم این کتاب‌ها خوب یا بد هست ؛ فقط میگم با اون زمانی که گذاشتید میشه کتابهای بهتری هم خوند و اون پول رو هم میشه صرف کتاب مطمئن‌تری کرد

امیدوارم ازین چیزا شاهد نباشیم (اون دوستمون سر این موضوع ۳.۰۰۰ دلار رو توی ۵ روز از دست داده که خودش برای ی مقیم ایران رکوردی هست)
👍17😁1
#Quick

اگر بعد از sleep کردن سیستم البته لینوکس منظورم هست، gpuها توسط فریمورکهای مطرح شناخته نشد (خیلی مرسوم هست) و ارور cuInt گرفتید

sudo rmmod nvidia_uvm
sudo modprobe nvidia_uvm

چون دیدم یکی از دوستان سیستم رو ریبوت کردند. (برای من جهنم هست این وضعیت)
👍13
امروز هزینه‌های دانشگاه‌ هارو دیدم،

خواستم بگم، اگر فقط و فقط داری درس می‌خونی و فکر می‌کنی هیچ کار دیگه ای برای زندگی نکردی بازم دمت گرم، با این شرایط مملکت کار بزرگی داری می‌کنی و میشه گفت چی ارزشمندتر از امید داشتن 👏
49😁3👍1
بعد از سالهای سال بالاخره دوره
Machine Learning Specialization

آقای اندرو انگ آپدیت شده و از فردا در وبسایت Coursera در دسترس عموم قرار خواهد گرفت.

اگر تازه شروع کردید، این دوره رو جایگزین دوره قبلی کنید.
👍36🎉7😢3👎2👏2🔥1