Torchino
166 subscribers
10 photos
4 videos
4 files
26 links
شما میتوانید از اخبار روز دنیا در رابطه با هوش مصنوعی در اینجا خبر دار شوید 😉

میتونید سوالاتتون را از اینجا بپرسید
https://t.me/gap_torchino
Download Telegram
🔥11🆒1
سلام دوستان اومدم با آموزش بیز (نظریه بیز) در یادگیری ماشین و هوش مصنوعی

توجه توجه❗️❗️
در این قسمت (قسمت اول) ما میایم و قضیه بیز را یاد میگیریم و مثالی را با هم حل می‌کنیم و در قسمت های بعدی سراغ نظریه بیز در هوش مصنوعی (الگوریتم های یادگیری ماشین) می‌رویم و کاربرد های آن را می‌بینیم و مثال هایی را حل می‌کنیم.

توضیحات:
نظریه بیز به احتمال بیز اشاره داره که به صورت خاصی مدل های احتمالاتی مورد استفاده قرار می‌گیرن
نظریه بیز بر اساس قضیه بیز(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
🔥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
🔥1551
عرض ادب و احترام خدمت اساتید و نخبگان گرامی
جهت انجام یک پروژه تحقیقاتی_استارتاپی در موضوع طراحی دارو با هوش مصنوعی، از فعالان و متخصصان در این زمینه، با افتخار جهت همکاری دعوت بعمل می آید.
لطفا جهت کسب اطلاعات بیشتر به خصوصی پیام ارسال فرمایید.
آیدی: @shahabatashi
112🔥1🆒1
Torchino pinned «عرض ادب و احترام خدمت اساتید و نخبگان گرامی جهت انجام یک پروژه تحقیقاتی_استارتاپی در موضوع طراحی دارو با هوش مصنوعی، از فعالان و متخصصان در این زمینه، با افتخار جهت همکاری دعوت بعمل می آید. لطفا جهت کسب اطلاعات بیشتر به خصوصی پیام ارسال فرمایید. آیدی: @shahabatashi»
Forwarded from کداکسپلور | CodeExplore (𝙰𝚖𝚒𝚗)
👀یکی از چالش های حوزه بینایی ماشین تشخیص عمق اجسام از روی تصویره.
یعنی با استفاده از یک عکس، ویدیو، یا لایو استریم تشخیص بدیم هر جسم در چه فاصله‌ای از دوربین قرار گرفته.

برای پاسخ دادن به این چالش از روش های depth estimation در computer vision استفاده میشه و مدل هایی مثل Marigold و Depth Anything با قدرت از پس این چالش بر اومدن.

منتها open-source نبودنشون و عدم امکان train یا finetune کردنشون یه مقدار اذیت کنندس.

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

خوشحال میشم حماییتون رو داشته باشم و از کمک هاتون برای توسعه این مدل open-source با قابلیت train و finetune استقبال میکنم.

😎برای حمایت میتونید در گیتهاب به این ریپازتوری star بدین
و برای همکاری و کمک به توسعه مدل میتونید از قسمت های fork, issues و pull request ها استفاده کنید.

👍از صمیم قلب از حمایتتون تشکر میکنم و قدر دانم.

🌐 https://github.com/ehsanasgharzde/edepth

🌐 Developer : @MaryamSadughi

☕️ @CodeExplore
Please open Telegram to view this post
VIEW IN TELEGRAM
12
سلام دوستان دیگه از امروز میخوام استارت کار را بزنم و کلی پست بزارم
بریم برای اولین پست امروز 😉
🔥3
خب امروز می‌خوایم در رابطه با یکی از بهترین و برترین کتابخانه ی یادگیری عمیق و یادگیری ماشین صحبت کنم🔥
خب ما دوتا کتابخانه ی مشهور و پرکاربرد در این دو زمینه داریم
که اشم یکیشون pytorch و یکی دیگه tensorflow هست
در این قسمت میخوام این دوتا را معرفی کنم و بگم چرا توی یادگیری ماشین هم کاربرد داره !!

خب بریم برای مقایسه :
‌‌‌‌‌‌‌‌‌‌پایتورچ یکی از کتابخانه های قدرتمندی هست که فیسبوک توسعه داده
و میشه گفت یک کتابخانه ی خیلی بروز و خوب هست
این کتابخانه در آخرین ورژن خود یعنی 2.4 در پایتون 3.12 موجود هست که مثل همیشه بهتر، سریعتر و قدرتمند تر از قبل هست
و می‌تونید این‌کتابخانه را از سایت اصلی خودش طبق سیستم عاملی که دارید میتونید دانلود کنید 🔥
و در آخر اینکه پایتورچ سینتکس پایتونیک داره

و اماااااا

تنسورفلو هم یکی از قدرتمند ترین کتابخانه های دنیای هوش مصنوعی هست که توسط محققان گوگل توسعه داده شده
و این کتابخانه هم دست کمی از پایتورچ نداره و رقابت زیادی با هم دارند
این کتابخانه هم در آخرین ورژن خود یعنی x.2 قرار دارد (این سایتش تحریم هستیم و ورژن دقیقش را نمیدونم 😂💔)

#pytorch
#tensorflow
#ai
#part_1
@learn_ai1
20🔥4
تا زمانی که لایک ها بالای ۵ تا بره پست بعدی را نمیزارم🥹
پس اون لایک را بزن لطفا🥹😂❤️
10
خب ما تا حدی با این کتابخانه ها آشنا شدیم و می‌تونید برید توی گوگل، یوتیوب سرچ بزنید و مقایسه دقیقتری را ببینید!

و اما در رابطه با اینکه مگه این‌کتابخانه ها برای یادگیری عمیق نبود؟ چطور من گفتم توی یادگیری ماشین هم کاربرد داره؟

خب جوابش میشه:
کسانی که میخوان دانشمند داده(مقایس را بالا انجام دادم) بشن و الگوریتم هایی را از صفر یا به قول معروف 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
سلام.
تا حالا به این فکر کردی که بخوای یک روزی دیتاست خودتت را جمع کنی و روی اونها مدل بسازی و ترین‌کنی؟

من یک‌تصمیم‌گرفتم که بیام دقیقا همین کار را انجام بدم!
اره، من دیتاست خودم را دارم که توی هیچ مکانی نمیتونی پیداش کنی !!

خب اصلا قراره چی کار کنم؟ چرا بهتون اینو میگم؟
من دیتاستی که دارم اینه :
در حوزه ی پردازش تصویر است
دیتاست عکس از یک اسکناس ۱۰۰ هزار تومانی هست
سایز دیتاست تقریبا سه هزار تا عکس متفاوت هست !!و ...

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

⚠️زمان پست گذاشتم مشخص نیست ولی صد درصد زود تر از ۳ روز هست یعنی شاید هر روز پست بزارم یا شاید یک روز در میون بزارم ⚠️

ادامه دارد ...
🔥107
مرحله ی اول این کار را امشب بهتون میگم که چطور باید دیتاست خودتون را درست کنید اونم با 3,000 یا حتی 10,000 هزار تا عکس!!!!

خب شاید بگید که بیکارم و نشستم تقریبا ۴ هزار تا عکس از یک اسکناس گرفتم ؟!
خب معلومه که نه!!!
من با چندیدن استاد پرتجربه(که ازشون بابت راهنمایی هایی که کردن واقعا ازشون ممنونم🙏) در یکی از گروه های هوش مصنوعی، بهم این راهی که بهتون میگم را گفتن !!!

راه کار:
لازم‌نیست بشینی تک تک توی گوشیت عکس بگیری !!
فقط فیلم بگیر !! همین !
آره درسته، تو با فیلم‌گرفتن تقریبا ۱ دقیقه ای میتونی کلی عکس درست کنی که برای دیتاست ازشون استفاده کنی !!
خب میگی چطوری مگه میشه؟
آره!
شما وقتی که وارد دوربین گوشیتون میشید و وارد قسمت فیلم برداری میشید به احتمال زیاد اون بالا تعداد فریم ها را میزنه !
برای مثال برای گوشی من ۳۰ فریم بر ثانیه هست .
پس اگه من یک دقیقه فیلم بگیرم یعنی ۶۰ ثانیه ! با یک معادله ی ساده تعداد عکس های دیتاست مشخص میشه
شما باید تعداد فریم را × ثانیه هایی که فیلم گرفتید کنید .
برای مثال :
۳۰ × ۶۰ = ۱۸۰۰
خب پس برای یک دقیقه ۱۸۰۰ عکس به وجود میاد !!!
بسیار هم عالی دیگه چی میخوای؟


خب عکس هات را گرفتی فکر کردی دیگه کار تموم شد؟
نه داداش، تازه شروع شده وایستا تند نرو ⭕️
کلی موارد دیگه وجود داره که باید در نظر بگیری!!!

ادامه دارد ...
🔥106
موارد کلی که باید در نظر بگیری :
۱.کیفیت دوربینی که با اون فیلم را میگیرید باید برابر باشه با کیفیت عکس ورودی به مدل!!
راه کار:
میتونی یک کد بنویسی که موقعی که کاربر عکسی را وارد میکنه اون عکس را بگیره و قبل اینکه وارد مدل بشه بکشه کنار و سایزش را تغییر بده به سایز(کیفیتی) که برای عکس های آموزشی استفاده کردید !

--------------------------------------------
۲.شما باید موقع فیلم برداری از تمام جهات فیلم بگیرید و نور را باید کم و زیاد کنید و فاصله ی دوربین تا اسکناس (شی مورد نظر خودتون) را کم و زیاد کنید
چون اگه کاربر یک عکس از اسکناس خودش بده که زیر نور آفتاب هست بدجوری به دردسر میوفتید!! چرا؟ چون که اصلا مدل همچین چیزی ندیده !!
--------------------------------------------
۳.پشت صحنه ی اون آبجکت خودتون برای مثال اسکناس ما باید سفید باشه !!!
حالا میگی چرا سفید ؟
چون رنگ اسکناس با پشت صحنه ی سفید خیلی بهتر تشخیص داده میشه
خب یکی میگه شاید کاربر اسکناس را روی دستش گذاشت و عکس گرفت برای ما فرستاد !!
راه کار:
بجای اینکه همون اول سراغ خود آبجکت برید اول اونو دیتکت کنید و پشت صحنه ی اونو حذف کنید !!! حالا فقط توی عکس کاربرت یک اسکناس هست و پشت صحنه سفیده !
--------------------------------------------

خب اگه شما هم‌موارد دیگه ای را میدونید بگید شاید بدرد خورد .

خب تبریک شما اولین قدمتون را برداشتید
الان‌میدونید که برای جمع آوری دیتاست خودتون باید چیکار‌ کنید و چه مواردی را در نظر بگیرید !!!
حالا مرحله ی بعدی چیه؟
مرحله ی بعد (البته بعد از تبدیل فیلم به عکس) باید بریم و داده ها را پیش پردازش کنیم و تا حد ممکن تمیز کنیم !!
🔥9👍8
ادامه ی پست قبلی ...

خب الان که دیتاست خودمون را جمع کردیم و بیشتر از هزار تا عکس وجود داره
بهتره برای پیش پردازش داده ها چیکارا کنیم؟
خب بنظر بهتره این کار ها را انجام بدیم:

۱.سایز عکس ها را به سایز های مشخص تبدیل کنیم.

دلیل: امکان داره اون وسط که دارید فیلم میگیرید به صورت اتوماتیک کیفیت فیلم عوض بشه(بعضی گوشی ها این قابلیت را داره) و اینکه شاید موقع فیلم برداری کادر فیلم برداری خارج از محوطه ی سفید باشه! یعنی رنگ دیگه ای به‌جز سفید در پشت صحنه هست!!
--------------------------------------------
۲.تا حد امکان داده های پرت را باید حذف کنیم !!

دلیل: شما فکر کنید که از ۲۶۵۰ تا عکسی که دارید فقط و فقط ۵۰ تا از اون عکس ها پرت باشن !! خب این به این‌ معنی هست که اون ۵۰ تا عکس ویژگی هاشون نسبت به عکس های دیگه خیلی متفاوت است خب میگید اینجوری که خوبه مدل میاد و ویژگی های بیشتری را یاد میگیره
ولی خب بهتره بگیم با ۵۰ تا عکس مدل نمیتونه یاد بگیره و حتی به جاده خاکی کشیده میشه(underfitting or overfitting)!! حالا باز اگه ۲۰۰ تا بود می‌تونستیم یک‌کاری کنیم ولی ۵۰ تا خیلی کمه !!
--------------------------------------------
۳.باید از شر داده های پرت خلاص بشیم!
شما وقتی که میانگین انحراف داده هاتون را گرفتین با std اگه دیدید خیلی عدد خروجی خیلی زیاد هست باید داده ها را نرمال سازی کنیم، تا از شر اینا خلاص بشیم
اگه میخواید با چشم هاتون ببینید پراکندگی داده هاتون چه‌قدر همون داده ها را پلاتش را می‌کشید و با چشمتون می‌بینید که مثلا نقاط (هر داده) نزدیک به هم هست یا یکی اون طرف یکی این‌ طرف هست

ادامه دارد ...
15
خب پست بالا گفتم که باید نرمال کنیم داده ها!
اول بریم ببینیم منظور از نرمال کردن چیه؟
نرمال کردن یعنی اینکه بیایم کل داده ها را بین 0, 1 یا -1, 1 تنظیم کنیم
که این کار باعث میشه پراکندگی داده ها خیلی کمتر بشه.
چرا؟ چون معلومه دیگه همشون بین ۰ و ۱ هستن
شما با این فرمول میتونید داده های خودتون را نرمال کنید :
norm_data = (data - np.min(data) / np.max(data) - np.min(data)

تفاوت انحراف بعد از نرمال کردن داده ها و قبل:
قبل از نرمال کردن داده ها: 21.18
بعد از نرمال کردن داده ها: 0.088


کاربرد نرمال کردن داده ها هم که گفتیم که از overfitting جلوگیری میکنه و داده های پرت را بشدت کاهش میده بخاطر اینکه همه را بین یک مقیاس کوچیک تر تنظیم میکنه مثل ۰ و ۱ و دیگه داده های خیلی پراکنده وجود نداره!!

ادامه دارد ...
🔥9👍7
دوستان من هم زمان که کد را می‌نویسم یک پست مرتبط براتون میزارم
حالا بنظرتون:
Anonymous Poll
60%
کد را هر قسمتش را که مینویسم در کانال بفرستم.
40%
کد را آخر پروژه بفرستم که کامل تره.
ادامه ی پست قبلی ...
خب آقا اومدیم و داده ها را نرمال سازی کردیم .
حالا باید بیاین و داده ها را به دو دسته ی train, test تقسیم کنید.
خب درصد بندی عاقلانه ۸۰ به ۲۰ هست
یعنی ۸۰ درصد داده برای آموزش مدل و ۲۰ درصد داده ها برای تست مدل.

خب آقا الان تقسیم بندی هم کردیم، وقتش رسید که بریم یک مدل خیلی ساده را ترین کنیم.
خب حالا بنظرتون کدوم مدل بدرد ما میخوره؟🧐
ادامه دارد ...
👍9🔥5
پیرو پیام قبلی باید مدلمون را انتخواب کنیم !
من مدل logistic regression انتخواب میکنم
دلیل:
1.داده هامون طوری هست که این مدل خیلی خیلی بهتره. چونکه کلا قراره دو دسته را کلاسیفیکشن انجام بده قراره بگه که بله یا خیر !!! اسکناس صد تومانی هست یا نه؟! همین
--------------------------------------------
2.سادگی مدل، این مدل خیلی ساده هست و نوشتنش هم راحت هست
--------------------------------------------
3.سومیش را شما بگید :

ادامه دارد ...
8🔥3