یادگیری ماشین
ماشین چطور از مثال یاد میگیرد؛ از تصویر روزمره تا ریاضی، کد و شبکهی عصبی، درس به درس.
از صفر۱۵ ایستگاه۹۹ درسدرسها بهزودی
شروع: یاد گرفتن ماشین یعنی چه۷ درس، بهزودی
پیش از هر فرمول، باید تصویر درستی در ذهن باشد: ماشین از مثال یاد میگیرد، نه از دستور.
یادگیری ماشین چیست بهزودی
بهجای نوشتن قانون، به کامپیوتر مثال با جواب درست نشان میدهیم تا خودش الگو را پیدا کند و روی مثال تازه به کار ببرد.
ماشین چطور از مثال یاد میگیرد بهزودی
حدس میزند، خطایش را اندازه میگیرد، خودش را کمی درست میکند و این را هزاران بار تکرار میکند.
هوش مصنوعی، یادگیری ماشین و یادگیری عمیق: تفاوت بهزودی
هوش مصنوعی هدف کلی است، یادگیری ماشین یکی از راههای رسیدن به آن، و یادگیری عمیق نوعی یادگیری ماشین با شبکهی عصبی چندلایه.
سه نوع یادگیری: نظارتشده، بینظارت، تقویتی بهزودی
با جواب درست یاد میگیرد (نظارتشده)، بی جواب الگو پیدا میکند (بینظارت)، یا با پاداش و جریمه (تقویتی).
یادگیری ماشین دور و بر شما بهزودی
فیلتر هرزنامه، پیشنهاد فیلم و کالا، باز شدن قفل گوشی با چهره، ترجمه و پیشنهاد کلمهی صفحهکلید.
تاریخچهی کوتاه یادگیری ماشین بهزودی
از پرسپترون (۱۹۵۸) و نام «یادگیری ماشین» (۱۹۵۹)، تا رواج پسانتشار (۱۹۸۶) و جهش یادگیری عمیق از ۲۰۱۲.
یادگیری ماشین چه کاری نمیکند بهزودی
فقط الگوی دادهاش را یاد میگیرد؛ چیزی را که در داده نبوده نمیداند، و از همزمانی دو چیز، علت را نمیفهمد.
داده: سوخت یادگیری۸ درس، بهزودی
مدل همانقدر خوب است که دادهاش؛ بیشتر کار واقعی یادگیری ماشین آماده کردن داده است.
داده چیست و چه شکلی دارد بهزودی
جدولی که هر سطرش یک مثال و هر ستونش یک ویژگی است؛ عکس، صدا و متن هم آخر کار به عدد تبدیل میشوند.
ویژگی و برچسب بهزودی
ویژگی چیزی است که مدل میبیند (وزن، رنگ)، برچسب جوابی که باید یاد بگیرد (سیب یا پرتقال).
دادهی آموزش، اعتبارسنجی و آزمون بهزودی
داده را سه بخش میکنیم: با یکی یاد میدهیم، با دومی تنظیم میکنیم و با سومی، که مدل هرگز ندیده، نمره میدهیم.
برچسب زدن داده بهزودی
آدمها جواب درست هر مثال را مینویسند؛ کند و پرهزینه است و اشتباهش مستقیم به مدل میرسد.
دادهی کثیف: خالی، تکراری، پرت بهزودی
خانهی خالی را پر یا حذف، تکراری را پاک و عدد عجیب را بررسی میکنیم، پیش از آنکه مدل آن را یاد بگیرد.
نرمالسازی و هممقیاس کردن داده بهزودی
ستونها را به بازهی هماندازه میبریم تا عدد بزرگ (مثلا قیمت) عدد کوچک (مثلا سن) را بیاثر نکند.
تبدیل متن و دسته به عدد بهزودی
هر دسته («قرمز»، «آبی») یک ستون صفر و یکی میگیرد، چون مدل فقط با عدد کار میکند.
مهندسی ویژگی بهزودی
از دادهی خام ویژگی مفیدتر میسازیم، مثلا از تاریخ تولد، سن؛ در مدلهای کلاسیک اغلب از عوض کردن الگوریتم مؤثرتر است.
ریاضی لازم، از صفر و با تصویر۱۰ درس، بهزودی
بی این چند ابزار، گرادیان و شبکهی عصبی فقط حفظ کردن است؛ با آنها همهچیز دیدنی میشود. هر درس از مثال روزمره شروع میکند.
بردار: فهرستی از عددها بهزودی
چند عدد پشت سر هم که یک چیز را توصیف میکنند، مثل [وزن، قد، سن]؛ هر بردار یک نقطه در فضاست.
ضرب داخلی دو بردار بهزودی
عددها را جفتجفت ضرب و حاصل را جمع میکنیم؛ نشان میدهد دو بردار چقدر همجهتاند.
ماتریس و ضرب ماتریس بهزودی
جدولی از عددها؛ ضرب ماتریس در بردار یعنی چند ضرب داخلی با هم، و کار اصلی هر لایهی شبکهی عصبی همین است.
تابع: ماشینی که ورودی را به خروجی میبرد بهزودی
مدل یادگیری ماشین یک تابع است با دکمههای قابل تنظیم (پارامترها)؛ یاد گرفتن یعنی پیدا کردن جای درست دکمهها.
مشتق: شیب در یک نقطه بهزودی
میگوید اگر ورودی را کمی زیاد کنیم، خروجی چقدر و به کدام طرف عوض میشود.
گرادیان: شیب در چند جهت بهزودی
برداری از مشتقها، یکی برای هر پارامتر، که جهت تندترین بالا رفتن را نشان میدهد.
قاعدهی زنجیرهای بهزودی
مشتق تابعِ تابع، حاصلضرب مشتقهای پشت سر هم است؛ پایهی ریاضی پسانتشار.
احتمال: عددی میان صفر و یک بهزودی
چقدر انتظار داریم چیزی رخ دهد؛ خروجی بیشتر مدلها احتمال است، نه جواب قطعی.
میانگین، واریانس و توزیع بهزودی
میانگین مرکز داده، واریانس پراکندگی آن و توزیع شکل کلی پخش شدن عددهاست.
لگاریتم و تابع نمایی بهزودی
نمایی رشد سریع است و لگاریتم وارونهی آن؛ هر دو در تابع هزینه و سافتمکس مدام میآیند.
اولین مدل از اول تا آخر: رگرسیون خطی۶ درس، بهزودی
سادهترین مدل، ولی همهی قطعههای یادگیری ماشین را دارد: پارامتر، خطا، گرادیان، آموزش. هر چه بعد میآید، تکرار همین با مدل بزرگتر است.
مدل، پارامتر و پیشبینی بهزودی
مدل فرمولی است با عددهای قابل تنظیم (وزنها)؛ با ورودی، پیشبینی میسازد.
رگرسیون خطی: کشیدن بهترین خط بهزودی
پیشبینی یک عدد (مثلا قیمت خانه از متراژ) با خطی که کمترین فاصله را از نقطهها دارد: y = w·x + b؛ با چند ویژگی، همان با یک وزن برای هر ویژگی.
تابع هزینه: خطا را عدد کنیم بهزودی
یک عدد که میگوید پیشبینیها چقدر از جواب درست دورند؛ یاد گرفتن یعنی کوچک کردن همین عدد.
میانگین مربع خطا (MSE) بهزودی
خطای هر مثال را به توان دو میرسانیم و میانگین میگیریم؛ خطای بزرگ بیشتر جریمه میشود.
گرادیان کاهشی: پایین رفتن از درهی خطا بهزودی
در هر قدم، هر پارامتر را کمی خلاف جهت گرادیان خطا جابهجا میکنیم: w(تازه) = w − η·∇L.
نرخ یادگیری: اندازهی قدم بهزودی
قدم خیلی بزرگ از ته دره میپرد و قدم خیلی کوچک دیر میرسد؛ این عدد را خودمان انتخاب میکنیم.
دستهبندی: بله یا نه، این یا آن۵ درس، بهزودی
بیشتر کارهای روزمرهی یادگیری ماشین دستهبندی است: هرزنامه یا نه، گربه یا سگ.
دستهبندی چیست بهزودی
مدل بهجای عدد، دسته را پیشبینی میکند؛ دو دسته (دودویی) یا چند دسته.
رگرسیون لجستیک بهزودی
با وجود نامش دستهبند است: یک ترکیب خطی را با تابع سیگموید (منحنی S شکل) به احتمالی میان صفر و یک میبرد.
مرز تصمیم بهزودی
خط یا رویهای که فضای ویژگیها را میان دستهها تقسیم میکند؛ مدل خطی فقط مرز صاف میکشد.
کراسانتروپی: تابع هزینهی دستهبندی بهزودی
منفی لگاریتم احتمالی که مدل به جواب درست داده؛ اطمینانِ غلط را خیلی سنگین جریمه میکند.
سافتمکس: چند عدد، یک توزیع احتمال بهزودی
هر عدد را به توان e میرساند و بر جمع همه تقسیم میکند؛ خروجیها مثبتاند و جمعشان یک.
ارزیابی: مدل چقدر خوب است۷ درس، بهزودی
«دقت ۹۹٪» گاهی هیچ معنی ندارد؛ باید بدانید چه را و با چه عددی بسنجید.
دقت (Accuracy) و دامش بهزودی
سهم جوابهای درست از همه؛ وقتی یک دسته نادر است، مدلی که همیشه «نه» میگوید هم دقت بالا میگیرد.
ماتریس درهمریختگی بهزودی
جدولی که درست مثبت، غلط مثبت، درست منفی و غلط منفی را جدا میشمارد.
صحت (Precision) و بازخوانی (Recall) بهزودی
صحت: از آنهایی که گفت مثبت، چندتا واقعا مثبت بود؛ بازخوانی: از همهی مثبتهای واقعی، چندتا را پیدا کرد.
امتیاز F1 بهزودی
میانگین همساز صحت و بازخوانی؛ فقط وقتی بالاست که هر دو بالا باشند.
منحنی ROC و AUC بهزودی
با جابهجا کردن آستانهی تصمیم، درستمثبت را برابر غلطمثبت میکشیم؛ مساحت زیر منحنی کیفیت کلی مدل است.
سنجش مدل عددی: MAE، RMSE، R² بهزودی
میانگین خطای مطلق، ریشهی میانگین مربع خطا، و سهمی از پراکندگی داده که مدل توضیح میدهد.
خط پایه: مدل را با چه مقایسه کنیم بهزودی
سادهترین حدس ممکن (مثلا همیشه پرتکرارترین دسته)؛ مدلی که از آن بهتر نیست، چیزی یاد نگرفته.
بیشبرازش و تعمیم۷ درس، بهزودی
مدلی که مثالها را حفظ کند، در دنیای واقعی شکست میخورد؛ این مهمترین خطر یادگیری ماشین است.
تعمیم: خوب بودن روی دادهی ندیده بهزودی
هدف واقعی نمره روی دادهی آزمون است، نه روی دادهی آموزش.
بیشبرازش (Overfitting) بهزودی
مدل جزئیات و نویز دادهی آموزش را حفظ میکند؛ روی آموزش عالی و روی دادهی تازه بد است.
کمبرازش (Underfitting) بهزودی
مدل آنقدر ساده است که حتی الگوی دادهی آموزش را هم نمیگیرد.
سوگیری و واریانس بهزودی
خطای مدل ساده از سوگیری است و خطای مدل پیچیده از واریانس؛ بهترین مدل میان این دو تعادل دارد.
منظمسازی: L1 و L2 بهزودی
به تابع هزینه جریمهای برای وزنهای بزرگ اضافه میکنیم تا مدل سادهتر بماند.
اعتبارسنجی متقابل بهزودی
داده را چند تکه میکنیم و هر بار با یک تکه میسنجیم؛ نمرهی مطمئنتر از یک بار تقسیم.
ابرپارامترها و تنظیمشان بهزودی
عددهایی که مدل یاد نمیگیرد و ما انتخاب میکنیم (نرخ یادگیری، عمق درخت)؛ با دادهی اعتبارسنجی، نه آزمون.
الگوریتمهای کلاسیک۷ درس، بهزودی
برای بیشتر دادههای جدولی، اینها هنوز سریعتر، ارزانتر و گاهی بهتر از شبکهی عصبیاند.
نزدیکترین همسایهها (KNN) بهزودی
برای مثال تازه، k مثال نزدیک را پیدا میکند و رأی اکثریتشان را میدهد؛ چیزی آموزش نمیبیند.
بیز ساده بهزودی
با قاعدهی بیز و این فرض ساده که ویژگیها مستقلاند، احتمال هر دسته را حساب میکند؛ برای متن کوتاه سریع و خوب.
درخت تصمیم بهزودی
زنجیرهای از پرسشهای بله و نه روی ویژگیها، تا رسیدن به جواب در برگ درخت.
جنگل تصادفی بهزودی
صدها درخت، هر کدام با بخشی تصادفی از داده و ویژگیها، و رأی همه با هم؛ پایدارتر از یک درخت.
تقویت گرادیانی (Boosting) بهزودی
درختهای کوچک پشت سر هم، هر کدام خطای مجموع قبلیها را درست میکند؛ برای دادهی جدولی از قویترین روشها.
ماشین بردار پشتیبان (SVM) بهزودی
مرزی میکشد که بیشترین فاصله را از نزدیکترین مثالهای دو دسته داشته باشد.
کدام الگوریتم برای کدام کار بهزودی
جدول ساده: اندازهی داده، نوع داده (جدول، عکس، متن)، نیاز به توضیحپذیری؛ و همیشه از ساده شروع کنید.
یادگیری بینظارت۵ درس، بهزودی
بیشتر دادههای دنیا برچسب ندارند؛ اینجا ماشین خودش ساختار پیدا میکند.
یادگیری بینظارت چیست بهزودی
داده بی جواب درست؛ مدل گروهها، الگوها یا شکل سادهتر داده را خودش پیدا میکند.
خوشهبندی بهزودی
مثالهای شبیه هم را در یک گروه میگذارد، بی آنکه از پیش بداند گروهها چهاند.
الگوریتم k-میانگین (k-means) بهزودی
k مرکز را تصادفی میگذارد، هر نقطه را به نزدیکترین مرکز میدهد، مرکزها را به میانگین گروه میبرد و تکرار میکند.
کاهش ابعاد و تحلیل مؤلفههای اصلی (PCA) بهزودی
چند ستون را به چند جهت تازه خلاصه میکند که بیشترین پراکندگی داده را نگه میدارند.
تشخیص ناهنجاری بهزودی
یاد میگیرد «عادی» چه شکلی است و هر چه خیلی دور از آن باشد را علامت میزند؛ مثل تراکنش مشکوک.
شبکهی عصبی۶ درس، بهزودی
پایهی هر چه امروز «هوش مصنوعی» مینامند؛ از یک نورون تا شبکهی چندلایه.
نورون مصنوعی بهزودی
ورودیها را در وزنها ضرب و جمع میکند، یک عدد ثابت (بایاس) اضافه میکند و از تابع فعالسازی میگذراند.
پرسپترون: اولین نورون یادگیرنده بهزودی
یک نورون با خروجی صفر یا یک که مرز خطی یاد میگیرد؛ نشان داده شد که مسئلهای مثل XOR را حل نمیکند.
تابع فعالسازی: ReLU، سیگموید، tanh بهزودی
تابع غیرخطی بعد از هر نورون؛ بی آن، هر چند لایه روی هم فقط یک تابع خطی است.
شبکهی عصبی چندلایه چیست بهزودی
لایههایی از نورون پشت سر هم؛ هر لایه از خروجی لایهی قبل ویژگی پیچیدهتری میسازد.
گذر رو به جلو: شبکه چطور جواب میدهد بهزودی
ورودی لایه به لایه در ماتریس وزن ضرب و از فعالسازی گذرانده میشود تا به خروجی برسد.
پسانتشار خطا (Backpropagation) بهزودی
با قاعدهی زنجیرهای، سهم هر وزن در خطا را از لایهی آخر به اول حساب میکند تا گرادیان کاهشی بداند هر وزن را چقدر عوض کند.
آموزش شبکهی عمیق۹ درس، بهزودی
شبکهی عمیق را ساختن آسان است و آموزش دادنش سخت؛ این ترفندها فرق شبکهای است که یاد میگیرد با شبکهای که نه.
یادگیری عمیق چیست بهزودی
یادگیری ماشین با شبکهی عصبی چندلایه که ویژگیها را خودش از دادهی خام یاد میگیرد، بهجای آنکه ما بسازیم.
گرادیان کاهشی تصادفی و دستهی کوچک بهزودی
بهجای همهی داده، با یک دستهی کوچک (مثلا ۳۲ مثال) گرادیان را تخمین میزنیم و قدم برمیداریم؛ هر بار که همهی داده دیده شد، یک «دور» (epoch) است.
بهینهسازها: تکانه و Adam بهزودی
تکانه قدمهای قبلی را به خاطر میسپارد و Adam برای هر پارامتر اندازهی قدم جدا میگذارد.
مقدار اولیهی وزنها بهزودی
وزنها تصادفی و با اندازهی حسابشده شروع میشوند؛ همه صفر یعنی همهی نورونها یک چیز یاد میگیرند.
محو و انفجار گرادیان بهزودی
در شبکهی عمیق، گرادیان در راه برگشت لایه به لایه یا خیلی کوچک یا خیلی بزرگ میشود و آموزش میایستد یا منفجر میشود.
نرمالسازی دستهای و لایهای بهزودی
خروجی هر لایه را هممقیاس میکند تا آموزش پایدار و سریعتر شود.
دراپاوت بهزودی
هنگام آموزش، هر بار بخشی تصادفی از نورونها را خاموش میکند تا شبکه به یک نورون تکیه نکند.
توقف زودهنگام و نمودار یادگیری بهزودی
وقتی خطای اعتبارسنجی دیگر پایین نمیآید، آموزش را میایستانیم؛ پیش از آنکه بیشبرازش شروع شود.
یادگیری انتقالی بهزودی
مدلی را که روی دادهی بزرگ آموزش دیده برمیداریم و با دادهی کم خودمان برای کار تازه تنظیم میکنیم.
خانوادههای شبکه۷ درس، بهزودی
برای عکس، متن، دنباله و ساختن چیز تازه، شکل شبکه فرق میکند؛ اینجا نقشه، و هر خانواده در مسیر خودش.
نقشهی خانوادههای شبکهی عصبی بهزودی
تماممتصل برای جدول، کانولوشنی برای عکس، بازگشتی برای دنباله، ترنسفورمر برای تقریبا همه؛ هر کدام کجا.
- شبکهی عصبی کانولوشنی (CNN)در مسیر بینایی ماشین
- شبکهی عصبی بازگشتی (RNN)در مسیر ترنسفورمرها
- مکانیزم توجهدر مسیر ترنسفورمرها
- امبدینگ: معنی به شکل برداردر مسیر مدلهای زبانی بزرگ (LLM)
خودرمزگذار (Autoencoder) بهزودی
شبکهای که ورودی را به کد کوچکی فشرده و دوباره بازسازی میکند؛ برای فشردهسازی، حذف نویز و تشخیص ناهنجاری.
- شبکهی مولد تخاصمی (GAN)در مسیر بینایی ماشین
یادگیری تقویتی۵ درس، بهزودی
سومین راه یادگیری، با آزمون و خطا و پاداش؛ هم بازی و ربات، هم بخشی از ساختن دستیارهای امروزی.
یادگیری تقویتی چیست بهزودی
عاملی در محیطی کار میکند، پس از هر کنش پاداش یا جریمه میگیرد و یاد میگیرد چه کند تا جمع پاداشها بیشتر شود؛ با مثال موشی در هزارتو.
سیاست و ارزش بهزودی
سیاست میگوید در هر حالت چه کنیم؛ ارزش میگوید از این حالت به بعد چقدر پاداش در راه است.
یادگیری Q بهزودی
جدولی از ارزش هر کنش در هر حالت که با هر تجربه کمی بهروز میشود.
کاوش یا بهرهبرداری بهزودی
امتحان کار تازه که شاید بهتر باشد، یا تکرار کاری که میدانیم خوب است؛ تعادل این دو.
- RLHF: یادگیری تقویتی با بازخورد انسانیدر مسیر مدلهای زبانی بزرگ (LLM)
ابزار و کد۴ درس، بهزودی
فهمیدن کافی است برای فهمیدن، ولی ساختن کد میخواهد؛ این ایستگاه هر ایدهی بالا را به چند خط پایتون میرساند.
چرا پایتون، و چه مقدار کافی است بهزودی
زبان سادهای که بیشتر ابزارهای رایگان یادگیری ماشین با آناند؛ متغیر، فهرست، حلقه و تابع کافی است تا شروع کنید.
اولین پروژهی کامل: از فایل داده تا پیشبینی بهزودی
در دفترچهی کد (کد و نتیجه کنار هم): خواندن داده، تمیز کردن، تقسیم آموزش و آزمون، آموزش یک مدل ساده، سنجش و پیشبینی؛ با یک کتابخانهی رایگان.
گرادیان کاهشی و شبکهی کوچک بی کتابخانه بهزودی
همان ریاضی ایستگاه ۴ و ۱۰ (گرادیان کاهشی و پسانتشار) در حدود پنجاه خط پایتون، تا هیچ چیز جادو نماند.
چرا GPU برای یادگیری عمیق بهزودی
آموزش شبکه بیشترش ضرب ماتریس است و GPU هزاران ضرب را همزمان انجام میدهد.
از آزمایش تا دنیای واقعی، و پایان راه۶ درس، بهزودی
مدلی که در دفترچه خوب بود، در دنیای واقعی با دادهی تازه، آدمهای واقعی و هزینهی واقعی روبهرو میشود.
مراحل یک پروژهی واقعی بهزودی
تعریف مسئله و معیار، داده، مدل ساده، سنجش، بهتر کردن، به کار گذاشتن و پایش؛ و بیشتر وقت صرف داده میشود.
به کار گذاشتن مدل بهزودی
مدل آموزشدیده را ذخیره و در برنامهای میگذاریم که ورودی تازه بگیرد و پیشبینی برگرداند.
کهنه شدن مدل (رانش داده) بهزودی
دنیا عوض میشود و دادهی تازه دیگر شبیه دادهی آموزش نیست؛ مدل باید پایش و دوباره آموزش داده شود.
سوگیری و انصاف بهزودی
اگر دادهی گذشته ناعادلانه بوده، مدل همان را یاد میگیرد و تکرار میکند؛ باید برای هر گروه جدا سنجید.
توضیحپذیری: چرا مدل این را گفت بهزودی
روشهایی که نشان میدهند کدام ویژگی بیشترین اثر را در یک پیشبینی داشت.
حالا یادگیری ماشین را میشناسید بهزودی
جمعبندی راه در یک تصویر (داده، مدل، خطا، گرادیان، تکرار، سنجش)، آزمون پایانی، و دکمه به سه مسیر بعد: مدل زبانی، ترنسفورمر، بینایی ماشین.