Overfitting (بیشبرازش) :
- توضیح: مدل بیش از حد به جزئیات و نویز دادههای آموزشی حساس میشود.
- نتیجه: عملکرد عالی روی دادههای آموزشی، عملکرد ضعیف روی دادههای جدید.
- راهحل: کاهش پیچیدگی مدل، افزایش دادههای آموزشی، استفاده از اعتبارسنجی متقابل.
Underfitting (کمبرازش) :
- توضیح: مدل به اندازه کافی پیچیده نیست تا الگوهای موجود در دادهها را یاد بگیرد.
- نتیجه: عملکرد ضعیف روی دادههای آموزشی و دادههای جدید.
- راهحل: افزایش پیچیدگی مدل، اضافه کردن ویژگیهای بیشتر، کاهش نویز دادهها.
Balanced (متعادل) :
- توضیح: مدل به خوبی در هر دو دادههای آموزشی و جدید عمل میکند.
- نتیجه: عملکرد مناسب و تعمیمپذیری خوب.
- راهحل: تنظیم پیچیدگی مدل، استفاده از روشهای کاهش پیچیدگی با انتخاب مناسب، تنظیم مکرر پارامترها.
💻@learn_ai1
- توضیح: مدل بیش از حد به جزئیات و نویز دادههای آموزشی حساس میشود.
- نتیجه: عملکرد عالی روی دادههای آموزشی، عملکرد ضعیف روی دادههای جدید.
- راهحل: کاهش پیچیدگی مدل، افزایش دادههای آموزشی، استفاده از اعتبارسنجی متقابل.
Underfitting (کمبرازش) :
- توضیح: مدل به اندازه کافی پیچیده نیست تا الگوهای موجود در دادهها را یاد بگیرد.
- نتیجه: عملکرد ضعیف روی دادههای آموزشی و دادههای جدید.
- راهحل: افزایش پیچیدگی مدل، اضافه کردن ویژگیهای بیشتر، کاهش نویز دادهها.
Balanced (متعادل) :
- توضیح: مدل به خوبی در هر دو دادههای آموزشی و جدید عمل میکند.
- نتیجه: عملکرد مناسب و تعمیمپذیری خوب.
- راهحل: تنظیم پیچیدگی مدل، استفاده از روشهای کاهش پیچیدگی با انتخاب مناسب، تنظیم مکرر پارامترها.
💻@learn_ai1
🔥10👍2
گوگل پکیجی بنام model_explorer داره که به شما امکان ویژوالایز کردن مدلها رو میده.
لینک پکیج model_explorer:
https://github.com/google-ai-edge/model-explorer
ما هم در قالب یک نوتبوک، دستورات لازم برای نصب و استفاده از کتابخونه برای یک مدل نمونه رو گفتیم.
لینک نوتبوک هوسم:
https://github.com/howsam/mag
💻@learn_ai1 | <هوسم>
لینک پکیج model_explorer:
https://github.com/google-ai-edge/model-explorer
ما هم در قالب یک نوتبوک، دستورات لازم برای نصب و استفاده از کتابخونه برای یک مدل نمونه رو گفتیم.
لینک نوتبوک هوسم:
https://github.com/howsam/mag
💻@learn_ai1 | <هوسم>
🔥7⚡3
با کمک fMRI و یادگیری ماشینی محققین دریافتند که بر اساس فعالیت مناطق مختلف مغز، افسردگی خودش میتونه دست کم ۶ نوع داشته باشه. به عبارتی هر کدوم روش درمانی خودشونو میخان. مثلا میگه اونایی فعالیت مغزی مرتبط با توجهشون کمتره، مشاوره کمتر به دردشون میخوره!
ادامه ی مطالب:
https://www.nature.com/articles/s41591-024-03057-9
#یادگیری_ماشین #هوش_مصنوعی
#ml #ai
دست مریزاد واقعا🔥
ادامه ی مطالب:
https://www.nature.com/articles/s41591-024-03057-9
#یادگیری_ماشین #هوش_مصنوعی
#ml #ai
دست مریزاد واقعا🔥
🔥10👍3
سلام دوستان اومدم با آموزش بیز (نظریه بیز) در یادگیری ماشین و هوش مصنوعی
توجه توجه❗️❗️
در این قسمت (قسمت اول) ما میایم و قضیه بیز را یاد میگیریم و مثالی را با هم حل میکنیم و در قسمت های بعدی سراغ نظریه بیز در هوش مصنوعی (الگوریتم های یادگیری ماشین) میرویم و کاربرد های آن را میبینیم و مثال هایی را حل میکنیم .
توضیحات:
نظریه بیز به احتمال بیز اشاره داره که به صورت خاصی مدل های احتمالاتی مورد استفاده قرار میگیرن
نظریه بیز بر اساس قضیه بیز(Bayes theirem) بنا شده که به ما اجازه میدهد تا احتمال وقوع یکواقعه را با توجه به اطلاعات جدید بروزرسانی کنیم
قضیه بیز:
قضیه بیز رابطه ی احتمالات شرطی را فراهم میکند و فروملش به صورت زیر هست:
در اینجا:
P(A|B) احتمال وقوع واقعه ی A با توجه به وقوع واقعه ی B است(احتمال شرطی)
P(B|A) احتمال وقوع B با توجه به وقوع واقعه ی A است
P(A) احتمال وقوع A است(احتمال اولیه یا پیشین)
P(B) احتمال وقوع واقعه ی B است
مثالی با فرمول قضیه بیز:
حالا که فرمول قضیه بیز را یاد گرفتیم بیایم و یک مثال را باهاش حل کنیم😉
فرض کنید ما میخواهیم احتمال اینکه یکشخص آنفولانزا داشته باشه(A) با توجه به اینکه نتیجه ی آزمایش آنفولانزا اون مثبت بوده (B) را محاسبه کنیم
P(A) : احتمال اولیه اینکه شخص به طور کلی آنفولانزا دارد = 0.01 (1%)
P(A|B): احتمال اینکه تست شخصی که آنفولانزا دارد مثبت شود = 0.99 (99%)
P(B|-A): احتمال اینکه تست شخص مثبت باشد ولی آنفولانزا نداشته باشد = 0.05 (5%)
P(-A): احتمال اینکه یک شخص به طور کلی آنفولانزا نداشته باشد = 0.99 (99%)
محاسبه ی احتمال وقوع تست مثبت یا (P(B))
برای محاسبه ی P(B)، از قانون کل احتمال استفاده میکنیم:
و حالا با استفاده از قانون بالا P(B) را بدستمیآریم:
و حالا مرحله ی آخر 🔥
استفاده از قضیه بیز برای محاسبه ی P(A|B)
طبق اولین فرمولی که نشون دادم(برای قضیه بیز) میایم و P(A|B) را محاسبه میکنیم
نتیجه گیری از محاسبات :
احتمال اینکه یک شخص با نتیجه ی مثبت آنفولانزا داشته باشد حدود 0.1667 یا 16.67% است این مقدار نشان میدهد که اگر حتی یک شخصی تست او مثبت باشد احتمال آنفولانزا داشتن او پایین تر از 20% است
دلیلش چیه؟🧐
چون که احتمال اولیه(پیشین) ،داشتن آنفولانزا با تست مثبت بسیار کم است (1%)
#ml #ai #bayes
💻@learn_ai1
توجه توجه❗️❗️
توضیحات:
نظریه بیز به احتمال بیز اشاره داره که به صورت خاصی مدل های احتمالاتی مورد استفاده قرار میگیرن
نظریه بیز بر اساس قضیه بیز(Bayes theirem) بنا شده که به ما اجازه میدهد تا احتمال وقوع یکواقعه را با توجه به اطلاعات جدید بروزرسانی کنیم
قضیه بیز:
قضیه بیز رابطه ی احتمالات شرطی را فراهم میکند و فروملش به صورت زیر هست:
P(B|A) * P(A) / P(B) = P(A|B)
در اینجا:
P(A|B) احتمال وقوع واقعه ی A با توجه به وقوع واقعه ی B است(احتمال شرطی)
P(B|A) احتمال وقوع B با توجه به وقوع واقعه ی A است
P(A) احتمال وقوع A است(احتمال اولیه یا پیشین)
P(B) احتمال وقوع واقعه ی B است
مثالی با فرمول قضیه بیز:
حالا که فرمول قضیه بیز را یاد گرفتیم بیایم و یک مثال را باهاش حل کنیم😉
فرض کنید ما میخواهیم احتمال اینکه یکشخص آنفولانزا داشته باشه(A) با توجه به اینکه نتیجه ی آزمایش آنفولانزا اون مثبت بوده (B) را محاسبه کنیم
P(A) : احتمال اولیه اینکه شخص به طور کلی آنفولانزا دارد = 0.01 (1%)
P(A|B): احتمال اینکه تست شخصی که آنفولانزا دارد مثبت شود = 0.99 (99%)
P(B|-A): احتمال اینکه تست شخص مثبت باشد ولی آنفولانزا نداشته باشد = 0.05 (5%)
P(-A): احتمال اینکه یک شخص به طور کلی آنفولانزا نداشته باشد = 0.99 (99%)
محاسبه ی احتمال وقوع تست مثبت یا (P(B))
برای محاسبه ی P(B)، از قانون کل احتمال استفاده میکنیم:
P(-A) * P(B|-A) + P(A) * P(A|B) =P(B)
و حالا با استفاده از قانون بالا P(B) را بدستمیآریم:
P(B) = (0.99 * 0.05) + (0.01 * 0.99)
P(B) = 0.0495 + 0.0099
P(B) = 0.0594
و حالا مرحله ی آخر 🔥
استفاده از قضیه بیز برای محاسبه ی P(A|B)
طبق اولین فرمولی که نشون دادم(برای قضیه بیز) میایم و P(A|B) را محاسبه میکنیم
P(A|B) = 0.01 * 0.99 / 0.0594
P(A|B) = 0.0099 / 0.0594
P(A|B) ~= 0.1667
نتیجه گیری از محاسبات :
احتمال اینکه یک شخص با نتیجه ی مثبت آنفولانزا داشته باشد حدود 0.1667 یا 16.67% است این مقدار نشان میدهد که اگر حتی یک شخصی تست او مثبت باشد احتمال آنفولانزا داشتن او پایین تر از 20% است
دلیلش چیه؟🧐
چون که احتمال اولیه(پیشین) ،داشتن آنفولانزا با تست مثبت بسیار کم است (1%)
#ml #ai #bayes
💻@learn_ai1
🔥13👍5
دوستان شما با زدن ری اکشن ها و فوروارد پست ها کلی به من انرژی میدید و منم سریع تر پست درست میکنم و آموزش های بیشتری را برای شما قرار میدم 🔥
ری اکشن و فوروارد فراموش نشه😉
💻@learn_ai1
ری اکشن و فوروارد فراموش نشه😉
💻@learn_ai1
🔥19
ML Engineer VS Data Scientist
این دوتا چیه؟🙄
خب Data Scientist به کسی میگن که :
1⃣ داده ها و مدل ها را تحلیل میکنه
2⃣ خالق مدل های جدید و تست مدل هایی که ساختن برای انتخاب بهترین مدل
3⃣ تحقیق و توسعه ی الگوریتم های جدید برای مسائل و مشکلات متفاوت
➖➖➖➖➖➖➖➖➖➖➖➖
و ML Engineer به کسی میگن که:
1⃣ مدل هایی که Data Scientist ساخت را به کد های قابل استفاده (مدل های آماده) تبدیل میکنن
2⃣ بهینه سازی مدل هایی که Data Scientist ساختن برای کار های مختلف
3⃣ توی یک تیم کار میکنند تا مدل هایی که ساخته شده را بهینه سازی کنن و بهترین مدل را برای مسله ی خودشون با بهترین پارامتر ها را انتخاب کنن و مدل هایی که ساخته شده (بهینه شده) را نگه داری میکنن
نکته ی مهم:
Data Scientist و ML Engineer مکمل یکدیگر هستند ❗️
یعنی اگر Data Scientist نباشه مدل های جدید درست نمیشه(به وجود نمیاد) .
و اگر ML Engineer نباشه مدل های ساخته شده بهینه سازی نمیشه و مورد تست قرار نمیگیره.
شما دوست دارید Data Scientist بشید یا ML Engineer با ری اکشن نشون بدید😉
Data Scientist(🔥)
ML Engineer(❤️)
سوالات خودتون را میتونید از اینجا بپرسید:
@gap_torchino
#ML #ai
#ml_engineer #data_scientist
💻@learn_ai1
این دوتا چیه؟🙄
خب Data Scientist به کسی میگن که :
1⃣ داده ها و مدل ها را تحلیل میکنه
2⃣ خالق مدل های جدید و تست مدل هایی که ساختن برای انتخاب بهترین مدل
3⃣ تحقیق و توسعه ی الگوریتم های جدید برای مسائل و مشکلات متفاوت
➖➖➖➖➖➖➖➖➖➖➖➖
و ML Engineer به کسی میگن که:
1⃣ مدل هایی که Data Scientist ساخت را به کد های قابل استفاده (مدل های آماده) تبدیل میکنن
2⃣ بهینه سازی مدل هایی که Data Scientist ساختن برای کار های مختلف
3⃣ توی یک تیم کار میکنند تا مدل هایی که ساخته شده را بهینه سازی کنن و بهترین مدل را برای مسله ی خودشون با بهترین پارامتر ها را انتخاب کنن و مدل هایی که ساخته شده (بهینه شده) را نگه داری میکنن
نکته ی مهم:
Data Scientist و ML Engineer مکمل یکدیگر هستند ❗️
یعنی اگر Data Scientist نباشه مدل های جدید درست نمیشه(به وجود نمیاد) .
و اگر ML Engineer نباشه مدل های ساخته شده بهینه سازی نمیشه و مورد تست قرار نمیگیره.
شما دوست دارید Data Scientist بشید یا ML Engineer با ری اکشن نشون بدید😉
Data Scientist(🔥)
ML Engineer(❤️)
سوالات خودتون را میتونید از اینجا بپرسید:
@gap_torchino
#ML #ai
#ml_engineer #data_scientist
💻@learn_ai1
🔥15❤5⚡1
عرض ادب و احترام خدمت اساتید و نخبگان گرامی
جهت انجام یک پروژه تحقیقاتی_استارتاپی در موضوع طراحی دارو با هوش مصنوعی، از فعالان و متخصصان در این زمینه، با افتخار جهت همکاری دعوت بعمل می آید.
لطفا جهت کسب اطلاعات بیشتر به خصوصی پیام ارسال فرمایید.
آیدی: @shahabatashi
جهت انجام یک پروژه تحقیقاتی_استارتاپی در موضوع طراحی دارو با هوش مصنوعی، از فعالان و متخصصان در این زمینه، با افتخار جهت همکاری دعوت بعمل می آید.
لطفا جهت کسب اطلاعات بیشتر به خصوصی پیام ارسال فرمایید.
آیدی: @shahabatashi
❤11⚡2🔥1🆒1
Forwarded from کداکسپلور | CodeExplore (𝙰𝚖𝚒𝚗)
یعنی با استفاده از یک عکس، ویدیو، یا لایو استریم تشخیص بدیم هر جسم در چه فاصلهای از دوربین قرار گرفته.
برای پاسخ دادن به این چالش از روش های depth estimation در computer vision استفاده میشه و مدل هایی مثل Marigold و Depth Anything با قدرت از پس این چالش بر اومدن.
منتها open-source نبودنشون و عدم امکان train یا finetune کردنشون یه مقدار اذیت کنندس.
من اومدم با استفاده از شبکه های عصبی کانولوشنی یا CNN یک مدلی طراحی و پیاده کردم به اسم edepth.
خوشحال میشم حماییتون رو داشته باشم و از کمک هاتون برای توسعه این مدل open-source با قابلیت train و finetune استقبال میکنم.
و برای همکاری و کمک به توسعه مدل میتونید از قسمت های fork, issues و pull request ها استفاده کنید.
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - ehsanasgharzde/edepth: edepth is an open-source, trainable CNN-based model for depth estimation from single images, videos…
edepth is an open-source, trainable CNN-based model for depth estimation from single images, videos, and live camera feeds. - ehsanasgharzde/edepth
❤12
سلام دوستان دیگه از امروز میخوام استارت کار را بزنم و کلی پست بزارم
بریم برای اولین پست امروز 😉
بریم برای اولین پست امروز 😉
🔥3
خب امروز میخوایم در رابطه با یکی از بهترین و برترین کتابخانه ی یادگیری عمیق و یادگیری ماشین صحبت کنم🔥
خب ما دوتا کتابخانه ی مشهور و پرکاربرد در این دو زمینه داریم
که اشم یکیشون pytorch و یکی دیگه tensorflow هست
در این قسمت میخوام این دوتا را معرفی کنم و بگم چرا توی یادگیری ماشین هم کاربرد داره !!
خب بریم برای مقایسه :
پایتورچ یکی از کتابخانه های قدرتمندی هست که فیسبوک توسعه داده
و میشه گفت یک کتابخانه ی خیلی بروز و خوب هست
این کتابخانه در آخرین ورژن خود یعنی 2.4 در پایتون 3.12 موجود هست که مثل همیشه بهتر، سریعتر و قدرتمند تر از قبل هست
و میتونید اینکتابخانه را از سایت اصلی خودش طبق سیستم عاملی که دارید میتونید دانلود کنید 🔥
و در آخر اینکه پایتورچ سینتکس پایتونیک داره
و اماااااا
تنسورفلو هم یکی از قدرتمند ترین کتابخانه های دنیای هوش مصنوعی هست که توسط محققان گوگل توسعه داده شده
و این کتابخانه هم دست کمی از پایتورچ نداره و رقابت زیادی با هم دارند
این کتابخانه هم در آخرین ورژن خود یعنی x.2 قرار دارد (این سایتش تحریم هستیم و ورژن دقیقش را نمیدونم 😂💔)
#pytorch
#tensorflow
#ai
#part_1
@learn_ai1
خب ما دوتا کتابخانه ی مشهور و پرکاربرد در این دو زمینه داریم
که اشم یکیشون pytorch و یکی دیگه tensorflow هست
در این قسمت میخوام این دوتا را معرفی کنم و بگم چرا توی یادگیری ماشین هم کاربرد داره !!
خب بریم برای مقایسه :
پایتورچ یکی از کتابخانه های قدرتمندی هست که فیسبوک توسعه داده
و میشه گفت یک کتابخانه ی خیلی بروز و خوب هست
این کتابخانه در آخرین ورژن خود یعنی 2.4 در پایتون 3.12 موجود هست که مثل همیشه بهتر، سریعتر و قدرتمند تر از قبل هست
و میتونید اینکتابخانه را از سایت اصلی خودش طبق سیستم عاملی که دارید میتونید دانلود کنید 🔥
و در آخر اینکه پایتورچ سینتکس پایتونیک داره
و اماااااا
تنسورفلو هم یکی از قدرتمند ترین کتابخانه های دنیای هوش مصنوعی هست که توسط محققان گوگل توسعه داده شده
و این کتابخانه هم دست کمی از پایتورچ نداره و رقابت زیادی با هم دارند
این کتابخانه هم در آخرین ورژن خود یعنی x.2 قرار دارد (این سایتش تحریم هستیم و ورژن دقیقش را نمیدونم 😂💔)
#pytorch
#tensorflow
#ai
#part_1
@learn_ai1
PyTorch
PyTorch Foundation
PyTorch Foundation is the deep learning community home for the open source PyTorch framework and ecosystem.
❤20🔥4
تا زمانی که لایک ها بالای ۵ تا بره پست بعدی را نمیزارم🥹
پس اون لایک را بزن لطفا🥹😂❤️
پس اون لایک را بزن لطفا🥹😂❤️
❤10
خب ما تا حدی با این کتابخانه ها آشنا شدیم و میتونید برید توی گوگل، یوتیوب سرچ بزنید و مقایسه دقیقتری را ببینید!
و اما در رابطه با اینکه مگه اینکتابخانه ها برای یادگیری عمیق نبود؟ چطور من گفتم توی یادگیری ماشین هم کاربرد داره؟
خب جوابش میشه:
کسانی که میخوان دانشمند داده(مقایس را بالا انجام دادم) بشن و الگوریتم هایی را از صفر یا به قول معروف from scratch بنویسن یا اینکه مثلا بهینه ساز یا ... چیزی که وجود نداره را خودشون به نوعی خلق کنند میتوانند از پایتورچ، تنسورفلو برای محاسبات خودشون استفاده کنن
در واقع یادگیری ماشین همون کوچیک شده ی یادگیری عمیق هست (استاد مدحج جاوااسکریپت)فان
در واقع یادگیری عمیق محاسبات پیچیده ترین را نسبت به یادگیری ماشین انجام میده
برای مثال در یادگیری ماشین
شما میآید و اینکارا را برای دیتاست mnist انجام میدید تا بتونید یک مدلی را ترین و ...کنید
توی یادگیری ماشین:
شما خودتون داده ها را پردازش میکنید و جدا میکنید و کارای دیگه ...
ویژگی های مهم را خودتون باید پیدا کنید (با استفاده از ماتریس درهم ریختگی) پیدا کنید و عملیات های مختلفی را روش اجرا کنید
و و و هزار تا کار دیگه
ولی
در یادگیری عمیق ما تمام این کار ها را میسپاریم به الگوریتم های فوق پیشرفته مثل convolution، rnn, .......
بله، تمام این کار ها را این این نوع شبکه های عصبی انجام میدن
___
حالا اگه بخوایم یادگیری ماشین را وارد این کتابخانه های گودرتمند کنیم برای دانشمندان داده خیلی خیلی خیلی بهتر و سریعتر از numpy, pandas و غیره هست
برای مثال اگه بخوای یک شبکه ی ساده خطی(رگرسیون) را به صورت scratch انجام بدی خیلی راحت میتونی توی پایتورچ این کد را بزنی:
ولی توی نامپای هم دقیقا همین کد هست
پس تفاوتش توی چیه؟🤔
راهنمایی:چیزی هست که حیوانات خیلی سریع مثل شیر و ببر یا ماشین هایی مثل بوگاتی و فراری و ... دارن
خب اگه تونستی حدس بزنی افرین چون بالاتر جوابش را گفته بودم ولی خب جوابش میشه تویسرعت هست!!!
بله توی سرعت !!
سرعت اجرای دقیقا همین کد توی پایتورچ و نامپای به این صورت هست:
خب پس دیدید که سرعت پایتورچ با اختلاف کمی برنده ی این تست شد
پس برای همینه کهمیگم میتونید حتی از پایتورچ برای ساخت مدل های یادگیری ماشین مثل رگرسیون و ... استفاده کنید و فقط مختص به یادگیری عمیق نیست!!!
#ai
@learn_ai1
و اما در رابطه با اینکه مگه اینکتابخانه ها برای یادگیری عمیق نبود؟ چطور من گفتم توی یادگیری ماشین هم کاربرد داره؟
خب جوابش میشه:
کسانی که میخوان دانشمند داده(مقایس را بالا انجام دادم) بشن و الگوریتم هایی را از صفر یا به قول معروف from scratch بنویسن یا اینکه مثلا بهینه ساز یا ... چیزی که وجود نداره را خودشون به نوعی خلق کنند میتوانند از پایتورچ، تنسورفلو برای محاسبات خودشون استفاده کنن
در واقع یادگیری ماشین همون کوچیک شده ی یادگیری عمیق هست (استاد مدحج جاوااسکریپت)
در واقع یادگیری عمیق محاسبات پیچیده ترین را نسبت به یادگیری ماشین انجام میده
برای مثال در یادگیری ماشین
شما میآید و اینکارا را برای دیتاست mnist انجام میدید تا بتونید یک مدلی را ترین و ...کنید
توی یادگیری ماشین:
شما خودتون داده ها را پردازش میکنید و جدا میکنید و کارای دیگه ...
ویژگی های مهم را خودتون باید پیدا کنید (با استفاده از ماتریس درهم ریختگی) پیدا کنید و عملیات های مختلفی را روش اجرا کنید
و و و هزار تا کار دیگه
ولی
در یادگیری عمیق ما تمام این کار ها را میسپاریم به الگوریتم های فوق پیشرفته مثل convolution، rnn, .......
بله، تمام این کار ها را این این نوع شبکه های عصبی انجام میدن
___
حالا اگه بخوایم یادگیری ماشین را وارد این کتابخانه های گودرتمند کنیم برای دانشمندان داده خیلی خیلی خیلی بهتر و سریعتر از numpy, pandas و غیره هست
برای مثال اگه بخوای یک شبکه ی ساده خطی(رگرسیون) را به صورت scratch انجام بدی خیلی راحت میتونی توی پایتورچ این کد را بزنی:
import torch
model=torch.matmul(x,w)+b
ولی توی نامپای هم دقیقا همین کد هست
import numpy as np
model=np.matmul(x,w)+b
پس تفاوتش توی چیه؟🤔
راهنمایی:
خب اگه تونستی حدس بزنی افرین چون بالاتر جوابش را گفته بودم ولی خب جوابش میشه توی
بله توی سرعت !!
سرعت اجرای دقیقا همین کد توی پایتورچ و نامپای به این صورت هست:
pytorch: 0.0019683837890625
numpy: 0.007978677749633789
خب پس دیدید که سرعت پایتورچ با اختلاف کمی برنده ی این تست شد
پس برای همینه کهمیگم میتونید حتی از پایتورچ برای ساخت مدل های یادگیری ماشین مثل رگرسیون و ... استفاده کنید و فقط مختص به یادگیری عمیق نیست!!!
#ai
@learn_ai1
❤15👍6👎1
Torchino
خب ما تا حدی با این کتابخانه ها آشنا شدیم و میتونید برید توی گوگل، یوتیوب سرچ بزنید و مقایسه دقیقتری را ببینید! و اما در رابطه با اینکه مگه اینکتابخانه ها برای یادگیری عمیق نبود؟ چطور من گفتم توی یادگیری ماشین هم کاربرد داره؟ خب جوابش میشه: کسانی که…
فعلا انگشتام درد گرفت
تا شب پست بعدی را میزارم اگه:
تا شب پست بعدی را میزارم اگه:
like=last post
if like => 10:
sent next post tonight
❤13👍8
سلام.
تا حالا به این فکر کردی که بخوای یک روزی دیتاست خودتت را جمع کنی و روی اونها مدل بسازی و ترینکنی؟
من یکتصمیمگرفتم که بیام دقیقا همین کار را انجام بدم!
اره، من دیتاست خودم را دارم که توی هیچ مکانی نمیتونی پیداش کنی !!
خب اصلا قراره چی کار کنم؟ چرا بهتون اینو میگم؟
من دیتاستی که دارم اینه :
در حوزه ی پردازش تصویر است
دیتاست عکس از یک اسکناس ۱۰۰ هزار تومانی هست
سایز دیتاست تقریبا سه هزار تا عکس متفاوت هست !!و ...
و من اینو به شما گفتم، چون قراره اینپروژه را از فردا با هم جلو ببریم
یعنی هر روز یا هر چند روز که من کد را بنویسم نتیجه را بهتون میگم، راه کار هایی که انجام دادم را میگم و کد را در اختیار شما میزارم، و در آخر قراره یک مقاله درست کنم که اگه همچین دیتاستی داشتی کدوم مدل، کدوم بهینه ساز و تابع ضرر مناسب هست؟ چرا اینا مناسب هست و ...
⚠️زمان پست گذاشتم مشخص نیست ولی صد درصد زود تر از ۳ روز هست یعنی شاید هر روز پست بزارم یا شاید یک روز در میون بزارم ⚠️
ادامه دارد ...
تا حالا به این فکر کردی که بخوای یک روزی دیتاست خودتت را جمع کنی و روی اونها مدل بسازی و ترینکنی؟
من یکتصمیمگرفتم که بیام دقیقا همین کار را انجام بدم!
اره، من دیتاست خودم را دارم که توی هیچ مکانی نمیتونی پیداش کنی !!
خب اصلا قراره چی کار کنم؟ چرا بهتون اینو میگم؟
من دیتاستی که دارم اینه :
در حوزه ی پردازش تصویر است
دیتاست عکس از یک اسکناس ۱۰۰ هزار تومانی هست
سایز دیتاست تقریبا سه هزار تا عکس متفاوت هست !!و ...
و من اینو به شما گفتم، چون قراره اینپروژه را از فردا با هم جلو ببریم
یعنی هر روز یا هر چند روز که من کد را بنویسم نتیجه را بهتون میگم، راه کار هایی که انجام دادم را میگم و کد را در اختیار شما میزارم، و در آخر قراره یک مقاله درست کنم که اگه همچین دیتاستی داشتی کدوم مدل، کدوم بهینه ساز و تابع ضرر مناسب هست؟ چرا اینا مناسب هست و ...
⚠️زمان پست گذاشتم مشخص نیست ولی صد درصد زود تر از ۳ روز هست یعنی شاید هر روز پست بزارم یا شاید یک روز در میون بزارم ⚠️
ادامه دارد ...
🔥10⚡7
مرحله ی اول این کار را امشب بهتون میگم که چطور باید دیتاست خودتون را درست کنید اونم با 3,000 یا حتی 10,000 هزار تا عکس!!!!
خب شاید بگید که بیکارم و نشستم تقریبا ۴ هزار تا عکس از یک اسکناس گرفتم ؟!
خب معلومه که نه!!!
من با چندیدن استاد پرتجربه(که ازشون بابت راهنمایی هایی که کردن واقعا ازشون ممنونم🙏) در یکی از گروه های هوش مصنوعی، بهم این راهی که بهتون میگم را گفتن !!!
راه کار:
لازمنیست بشینی تک تک توی گوشیت عکس بگیری !!
فقط فیلم بگیر !! همین !
آره درسته، تو با فیلمگرفتن تقریبا ۱ دقیقه ای میتونی کلی عکس درست کنی که برای دیتاست ازشون استفاده کنی !!
خب میگی چطوری مگه میشه؟
آره!
شما وقتی که وارد دوربین گوشیتون میشید و وارد قسمت فیلم برداری میشید به احتمال زیاد اون بالا تعداد فریم ها را میزنه !
برای مثال برای گوشی من ۳۰ فریم بر ثانیه هست .
پس اگه من یک دقیقه فیلم بگیرم یعنی ۶۰ ثانیه ! با یک معادله ی ساده تعداد عکس های دیتاست مشخص میشه
شما باید تعداد فریم را × ثانیه هایی که فیلم گرفتید کنید .
برای مثال :
۳۰ × ۶۰ = ۱۸۰۰
خب پس برای یک دقیقه ۱۸۰۰ عکس به وجود میاد !!!
بسیار هم عالی دیگه چی میخوای؟
خب عکس هات را گرفتی فکر کردی دیگه کار تموم شد؟
نه داداش، تازه شروع شده وایستا تند نرو ⭕️
کلی موارد دیگه وجود داره که باید در نظر بگیری!!!
ادامه دارد ...
خب شاید بگید که بیکارم و نشستم تقریبا ۴ هزار تا عکس از یک اسکناس گرفتم ؟!
خب معلومه که نه!!!
من با چندیدن استاد پرتجربه
راه کار:
لازمنیست بشینی تک تک توی گوشیت عکس بگیری !!
فقط فیلم بگیر !! همین !
آره درسته، تو با فیلمگرفتن تقریبا ۱ دقیقه ای میتونی کلی عکس درست کنی که برای دیتاست ازشون استفاده کنی !!
خب میگی چطوری مگه میشه؟
آره!
شما وقتی که وارد دوربین گوشیتون میشید و وارد قسمت فیلم برداری میشید به احتمال زیاد اون بالا تعداد فریم ها را میزنه !
برای مثال برای گوشی من ۳۰ فریم بر ثانیه هست .
پس اگه من یک دقیقه فیلم بگیرم یعنی ۶۰ ثانیه ! با یک معادله ی ساده تعداد عکس های دیتاست مشخص میشه
شما باید تعداد فریم را × ثانیه هایی که فیلم گرفتید کنید .
برای مثال :
۳۰ × ۶۰ = ۱۸۰۰
خب پس برای یک دقیقه ۱۸۰۰ عکس به وجود میاد !!!
بسیار هم عالی دیگه چی میخوای؟
خب عکس هات را گرفتی فکر کردی دیگه کار تموم شد؟
نه داداش، تازه شروع شده وایستا تند نرو ⭕️
کلی موارد دیگه وجود داره که باید در نظر بگیری!!!
ادامه دارد ...
🔥10⚡6
موارد کلی که باید در نظر بگیری :
۱.کیفیت دوربینی که با اون فیلم را میگیرید باید برابر باشه با کیفیت عکس ورودی به مدل!!
راه کار:
میتونی یک کد بنویسی که موقعی که کاربر عکسی را وارد میکنه اون عکس را بگیره و قبل اینکه وارد مدل بشه بکشه کنار و سایزش را تغییر بده به سایز(کیفیتی) که برای عکس های آموزشی استفاده کردید !
--------------------------------------------
۲.شما باید موقع فیلم برداری از تمام جهات فیلم بگیرید و نور را باید کم و زیاد کنید و فاصله ی دوربین تا اسکناس (شی مورد نظر خودتون) را کم و زیاد کنید
چون اگه کاربر یک عکس از اسکناس خودش بده که زیر نور آفتاب هست بدجوری به دردسر میوفتید!! چرا؟ چون که اصلا مدل همچین چیزی ندیده !!
--------------------------------------------
۳.پشت صحنه ی اون آبجکت خودتون برای مثال اسکناس ما باید سفید باشه !!!
حالا میگی چرا سفید ؟
چون رنگ اسکناس با پشت صحنه ی سفید خیلی بهتر تشخیص داده میشه
خب یکی میگه شاید کاربر اسکناس را روی دستش گذاشت و عکس گرفت برای ما فرستاد !!
راه کار:
بجای اینکه همون اول سراغ خود آبجکت برید اول اونو دیتکت کنید و پشت صحنه ی اونو حذف کنید !!! حالا فقط توی عکس کاربرت یک اسکناس هست و پشت صحنه سفیده !
--------------------------------------------
خب اگه شما همموارد دیگه ای را میدونید بگید شاید بدرد خورد .
خب تبریک شما اولین قدمتون را برداشتید
الانمیدونید که برای جمع آوری دیتاست خودتون باید چیکار کنید و چه مواردی را در نظر بگیرید !!!
حالا مرحله ی بعدی چیه؟
مرحله ی بعد (البته بعد از تبدیل فیلم به عکس) باید بریم و داده ها را پیش پردازش کنیم و تا حد ممکن تمیز کنیم !!
۱.کیفیت دوربینی که با اون فیلم را میگیرید باید برابر باشه با کیفیت عکس ورودی به مدل!!
راه کار:
میتونی یک کد بنویسی که موقعی که کاربر عکسی را وارد میکنه اون عکس را بگیره و قبل اینکه وارد مدل بشه بکشه کنار و سایزش را تغییر بده به سایز(کیفیتی) که برای عکس های آموزشی استفاده کردید !
--------------------------------------------
۲.شما باید موقع فیلم برداری از تمام جهات فیلم بگیرید و نور را باید کم و زیاد کنید و فاصله ی دوربین تا اسکناس (شی مورد نظر خودتون) را کم و زیاد کنید
چون اگه کاربر یک عکس از اسکناس خودش بده که زیر نور آفتاب هست بدجوری به دردسر میوفتید!! چرا؟ چون که اصلا مدل همچین چیزی ندیده !!
--------------------------------------------
۳.پشت صحنه ی اون آبجکت خودتون برای مثال اسکناس ما باید سفید باشه !!!
حالا میگی چرا سفید ؟
چون رنگ اسکناس با پشت صحنه ی سفید خیلی بهتر تشخیص داده میشه
خب یکی میگه شاید کاربر اسکناس را روی دستش گذاشت و عکس گرفت برای ما فرستاد !!
راه کار:
بجای اینکه همون اول سراغ خود آبجکت برید اول اونو دیتکت کنید و پشت صحنه ی اونو حذف کنید !!! حالا فقط توی عکس کاربرت یک اسکناس هست و پشت صحنه سفیده !
--------------------------------------------
خب اگه شما همموارد دیگه ای را میدونید بگید شاید بدرد خورد .
خب تبریک شما اولین قدمتون را برداشتید
الانمیدونید که برای جمع آوری دیتاست خودتون باید چیکار کنید و چه مواردی را در نظر بگیرید !!!
حالا مرحله ی بعدی چیه؟
مرحله ی بعد (البته بعد از تبدیل فیلم به عکس) باید بریم و داده ها را پیش پردازش کنیم و تا حد ممکن تمیز کنیم !!
🔥9👍8
ادامه ی پست قبلی ...
خب الان که دیتاست خودمون را جمع کردیم و بیشتر از هزار تا عکس وجود داره
بهتره برای پیش پردازش داده ها چیکارا کنیم؟
خب بنظر بهتره این کار ها را انجام بدیم:
۱.سایز عکس ها را به سایز های مشخص تبدیل کنیم.
دلیل: امکان داره اون وسط که دارید فیلم میگیرید به صورت اتوماتیک کیفیت فیلم عوض بشه(بعضی گوشی ها این قابلیت را داره) و اینکه شاید موقع فیلم برداری کادر فیلم برداری خارج از محوطه ی سفید باشه! یعنی رنگ دیگه ای بهجز سفید در پشت صحنه هست!!
--------------------------------------------
۲.تا حد امکان داده های پرت را باید حذف کنیم !!
دلیل: شما فکر کنید که از ۲۶۵۰ تا عکسی که دارید فقط و فقط ۵۰ تا از اون عکس ها پرت باشن !! خب این به این معنی هست که اون ۵۰ تا عکس ویژگی هاشون نسبت به عکس های دیگه خیلی متفاوت است خب میگید اینجوری که خوبه مدل میاد و ویژگی های بیشتری را یاد میگیره
ولی خب بهتره بگیم با ۵۰ تا عکس مدل نمیتونه یاد بگیره و حتی به جاده خاکی کشیده میشه(underfitting or overfitting)!! حالا باز اگه ۲۰۰ تا بود میتونستیم یککاری کنیم ولی ۵۰ تا خیلی کمه !!
--------------------------------------------
۳.باید از شر داده های پرت خلاص بشیم!
شما وقتی که میانگین انحراف داده هاتون را گرفتین با std اگه دیدید خیلی عدد خروجی خیلی زیاد هست باید داده ها را نرمال سازی کنیم، تا از شر اینا خلاص بشیم
اگه میخواید با چشم هاتون ببینید پراکندگی داده هاتون چهقدر همون داده ها را پلاتش را میکشید و با چشمتون میبینید که مثلا نقاط (هر داده) نزدیک به هم هست یا یکی اون طرف یکی این طرف هست
ادامه دارد ...
خب الان که دیتاست خودمون را جمع کردیم و بیشتر از هزار تا عکس وجود داره
بهتره برای پیش پردازش داده ها چیکارا کنیم؟
خب بنظر بهتره این کار ها را انجام بدیم:
۱.سایز عکس ها را به سایز های مشخص تبدیل کنیم.
دلیل: امکان داره اون وسط که دارید فیلم میگیرید به صورت اتوماتیک کیفیت فیلم عوض بشه(بعضی گوشی ها این قابلیت را داره) و اینکه شاید موقع فیلم برداری کادر فیلم برداری خارج از محوطه ی سفید باشه! یعنی رنگ دیگه ای بهجز سفید در پشت صحنه هست!!
--------------------------------------------
۲.تا حد امکان داده های پرت را باید حذف کنیم !!
دلیل: شما فکر کنید که از ۲۶۵۰ تا عکسی که دارید فقط و فقط ۵۰ تا از اون عکس ها پرت باشن !! خب این به این معنی هست که اون ۵۰ تا عکس ویژگی هاشون نسبت به عکس های دیگه خیلی متفاوت است خب میگید اینجوری که خوبه مدل میاد و ویژگی های بیشتری را یاد میگیره
ولی خب بهتره بگیم با ۵۰ تا عکس مدل نمیتونه یاد بگیره و حتی به جاده خاکی کشیده میشه(underfitting or overfitting)!! حالا باز اگه ۲۰۰ تا بود میتونستیم یککاری کنیم ولی ۵۰ تا خیلی کمه !!
--------------------------------------------
۳.باید از شر داده های پرت خلاص بشیم!
شما وقتی که میانگین انحراف داده هاتون را گرفتین با std اگه دیدید خیلی عدد خروجی خیلی زیاد هست باید داده ها را نرمال سازی کنیم، تا از شر اینا خلاص بشیم
اگه میخواید با چشم هاتون ببینید پراکندگی داده هاتون چهقدر همون داده ها را پلاتش را میکشید و با چشمتون میبینید که مثلا نقاط (هر داده) نزدیک به هم هست یا یکی اون طرف یکی این طرف هست
ادامه دارد ...
⚡15
خب پست بالا گفتم که باید نرمال کنیم داده ها!
اول بریم ببینیم منظور از نرمال کردن چیه؟
نرمال کردن یعنی اینکه بیایم کل داده ها را بین 0, 1 یا -1, 1 تنظیم کنیم
که این کار باعث میشه پراکندگی داده ها خیلی کمتر بشه.
چرا؟ چون معلومه دیگه همشون بین ۰ و ۱ هستن
شما با این فرمول میتونید داده های خودتون را نرمال کنید :
تفاوت انحراف بعد از نرمال کردن داده ها و قبل:
قبل از نرمال کردن داده ها: 21.18
بعد از نرمال کردن داده ها: 0.088
کاربرد نرمال کردن داده ها هم که گفتیم که از overfitting جلوگیری میکنه و داده های پرت را بشدت کاهش میده بخاطر اینکه همه را بین یک مقیاس کوچیک تر تنظیم میکنه مثل ۰ و ۱ و دیگه داده های خیلی پراکنده وجود نداره!!
ادامه دارد ...
اول بریم ببینیم منظور از نرمال کردن چیه؟
نرمال کردن یعنی اینکه بیایم کل داده ها را بین 0, 1 یا -1, 1 تنظیم کنیم
که این کار باعث میشه پراکندگی داده ها خیلی کمتر بشه.
چرا؟ چون معلومه دیگه همشون بین ۰ و ۱ هستن
شما با این فرمول میتونید داده های خودتون را نرمال کنید :
norm_data = (data - np.min(data) / np.max(data) - np.min(data)
تفاوت انحراف بعد از نرمال کردن داده ها و قبل:
قبل از نرمال کردن داده ها: 21.18
بعد از نرمال کردن داده ها: 0.088
کاربرد نرمال کردن داده ها هم که گفتیم که از overfitting جلوگیری میکنه و داده های پرت را بشدت کاهش میده بخاطر اینکه همه را بین یک مقیاس کوچیک تر تنظیم میکنه مثل ۰ و ۱ و دیگه داده های خیلی پراکنده وجود نداره!!
ادامه دارد ...
🔥9👍7