نویسنده (ها): ayo akinkugbe
در ابتدا منتشر شده در به سمت هوش مصنوعیبشر


مقدمه: هسته چیست
هسته یک است باهم راه برای اندازه گیری شباهت بین دو چیز – به ویژه ، نقاط داده ، تصاویر ، اسناد متنی یا اشیاء انتزاعی تر. در ریاضیات ، یک هسته به سادگی یک تابع است k(xباحرف) که هر دو شی را می گیرد ، x وت حرف، و به شما شماره ای می دهد که نشان می دهد آنها چقدر مشابه (یا مرتبط) هستند.
برخلاف سایر روشهای شباهت ، یک عملکرد هسته k (x ، y) می توان به عنوان یک محصول نقطه ضمنی در یک فضای با ابعاد بالاتر مشاهده کرد. در حالی که محصولات DOT استاندارد در فضای ویژگی اصلی کار می کنند ، هسته ها شباهت را در یک فضای تبدیل شده محاسبه می کنند بدون اینکه صریح آن تحول را ایجاد کنند. از نظر ریاضی: k (x ، y) = ⟨φ (x) ، φ (y)، کجا φ نقشه ها را به یک فضای بعدی بالاتر نقشه می کند. همچنین اقدامات از راه دور (مانند اقلیدسی یا Mahalanobis) اختلاف نظر را تعیین می کند – یعنی کوچکتر به معنای مشابه تر است. هسته ها شباهت را تعیین می کنند – یعنی بزرگتر به معنای مشابه تر است. هسته باید خصوصیات ریاضی را برآورده کند (مانند بودن قطعی مثبت) آن معیارهای مسافت نیازی به رضایت ندارند.
چرا از هسته در ML استفاده می کنیم؟
طبقه بندی الگوهای غیر خطی
هنگام حل مشکلات در دنیای واقعی با یادگیری ماشین، به خصوص وظایف طبقه بندی ، ما اغلب به یک مسئله اساسی که داده های ما در آن نیست ، می پردازیم خطی قابل جدا شدنبشر این بدان معناست که ما فقط نمی توانیم یک خط مستقیم (یا یک هواپیمای مسطح) ترسیم کنیم تا به سادگی دسته بندی هایی مانند هرزنامه در مقابل اسپم یا کلاهبرداری در مقابل ایمن را تقسیم کنیم. از یک عملکرد هسته می توان برای تبدیل داده ها از یک فضای دو بعدی به یک فضای سه بعدی یا با ویژگی بالاتر استفاده کرد که با استفاده از یک طبقه بندی خطی به راحتی قابل تفکیک است. این جایی است که ماشین های بردار پشتیبانی (SVM) می درخشند که بخش بزرگی از آنچه آنها را قدرتمند می کند استفاده از آن است هستهبشر
هنگام حل مشکلات در دنیای واقعی که داده ها نیستند خطی قابل جدا شدناز عملکرد هسته می توان برای تبدیل داده ها از یک فضای دو بعدی به یک فضای با ویژگی سه بعدی یا بالاتر استفاده کرد که با استفاده از یک طبقه بندی خطی به راحتی قابل تفکیک است.
راندمان محاسباتی در کار در فضاهای ویژگی های پیچیده و عظیم
در مقایسه با طبقه بندی الگوهای غیرخطی ، می توانید طوری کار کنید که گویی داده های شما در یک فضای ابعادی بالا (حتی نامحدود) با هسته زندگی می کند ، اما هرگز مجبور نیستید آن داده های با ابعاد بالا را محاسبه یا ذخیره کنید. به جای تبدیل صریح داده ها به میلیون ها بعد بالقوه (یا ابعاد نامتناهی) ، شما شباهت را مستقیماً با استفاده از داده های اصلی محاسبه می کنید. به عنوان مثال ، یک هسته چند جمله ای از درجه 2 به طور ضمنی در یک فضا کار می کند o (d²) ابعاد ، اما محاسبه می کند o (د) زمان کجا د بعد اصلی است. به این گفته می شود ترفند هستهبشر
مقایسه داده های ساختاری
هسته به شما امکان می دهد اشیاء مانند تصاویر ، متن ، نمودارها یا پروتئین ها را مقایسه کنید ، نه فقط اعداد ساده. به جای ایجاد دستی ویژگی های عددی از اشیاء پیچیده (متن ، تصاویر ، پروتئین ها) ، هسته ها می توانند مستقیماً آنها را مقایسه کنند. هسته ها همچنین می توانند شباهت های خاص دامنه را ضبط کنند که بازنمودهای بردار از دست می دهند. به عنوان مثال ، یک هسته رشته می تواند شباهت متن را بر اساس پیامدهای مشترک بدون تبدیل به بردارهای کیف های کلمه ای اندازه گیری کند.
فعال کردن الگوریتم های قدرتمند
بسیاری از الگوریتم های پیشرفته توسط هسته ها فعال یا فوق العاده شارژ می شوند. جدا از مشترک مولکول مدل هایی که از ترفند هسته استفاده می کنند (دستگاه های بردار پشتیبانی ، هسته های رشته ای برای تجزیه و تحلیل متن و غیره) از روش هسته نیز برای بهینه سازی مکانیسم توجه موجود در ترانسفورماتورها استفاده شده است. به عنوان مثال ، توجه توجه به یک الگوریتم توجه برای کاهش مشکل ذخیره ماتریس توجه کامل است و باعث تنگناهای حافظه با توالی طولانی می شود. از کاشی کاری و محاسبه مجدد برای محاسبه توجه بدون ذخیره ماتریس توجه کامل استفاده می کند. از آن استفاده می کند GPU سلسله مراتب حافظه (SRAM/HBM) برای محاسبه توجه در بلوک ها ، کاهش مصرف حافظه و افزایش سرعت. این نوعی ترفند هسته است.
همچنین یکی دیگر از مشکلات توجه که هسته را به خود جلب کرده است این است که بهینه سازی توجه موجود سفت و سخت است و نمی تواند با سخت افزار یا طول توالی مختلف سازگار باشد. جلب توجه از طرف متا با ارائه یک چارچوب انعطاف پذیر که به طور خودکار اجرای بهینه توجه را بر اساس طول توالی ، سخت افزار و سایر عوامل انتخاب می کند ، برای این کار حل می شود. به صورت پویا بین الگوریتم های مختلف تغییر می کند (از جمله توجه توجه به) برای به حداکثر رساندن کارآیی برای هر سناریوی خاص.
هسته همیشه مفید خواهد بود. با این حال قبل از اینکه فراتر برویم ، بیایید به برخی از بنیادها برگردیم.
توجه فلش در ترانسفورماتورها از کاشی کاری و محاسبه مجدد برای محاسبه توجه بدون ذخیره ماتریس توجه کامل استفاده می کند. این نوعی ترفند هسته است.
دوگانگی: روشی متفاوت برای حل همین مشکل
در مدلهای خطی استاندارد مانند رگرسیون خطی، ما برای وزن ها حل می کنیم حرف به طور مستقیم با به حداقل رساندن a تابع هزینهبشر این به عنوان مشکل اصلیبشر در Primal ، این مدل مستقیماً از نظر وزن آن نوشته شده است (برای مدل های خطی ، این ضرایب یا پارامترها هستند).


- حرف وزن ها هستند (پارامترهای آموخته شده از داده ها)
- x آیا داده های ورودی شما (یک نکته آزمون/مثال) است
- شرح تعصب یا رهگیری است
- این مدل مستقیماً به عنوان محصول نقطه ای از وزن و ویژگی ها نوشته شده است
با این حال ، دیدگاه دیگری وجود دارد: به جای حل مستقیم وزنه ها ، می توانیم از نظر چگونگی کمک هر نقطه آموزشی در راه حل ، مشکل را بیان کنیم. این است مشکل دوگانهبشر در دوگانه ، این مدل به عنوان مبلغ وزنی از نقاط داده ورودی نوشته شده است.


بنابراین پیش بینی است


- هر یک αiیک متغیر دوگانه است (وزن برای نقطه اول)
- y_i برچسب یا کلاس برای نقطه I است
- x_i I-TH است داده های آموزش نقطه
- ورودی به عنوان مبلغی در تمام نقاط داده نوشته شده است
این مفید است زیرا در فرم دوگانه ، داده ها فقط به صورت ظاهر می شوند محصولات نقطه بین نقاط این بدان معنی است که ما می توانیم با تمرکز بر اینکه نقاط مشابه با یکدیگر به جای مقادیر ویژگی خام آنها ، یک مدل قدرتمندتر ایجاد کنیم. فرمولاسیون دوگانه استفاده از هسته را امکان پذیر می کند.
در عمل ، دوگانگی Lagrangian تکنیکی است که امکان اصلاح مجدد مشکل بهینه سازی محدود را به یک مشکل معادل ، مشکل دوگانه می دهد ، که بعضی اوقات می تواند حل آن آسان تر باشد. استراتژی کلی به شرح زیر است:
- محدودیت ها را شناسایی کنید: هدف را بنویسید و تمام محدودیت ها را به شکلی تبدیل کنید که در آن کمتر یا برابر با صفر باشند.
- Lagrangian را تشکیل دهید: عملکرد هدف را با محدودیت ها با استفاده از ترکیب ترکیب کنید ضرب های LaGrangeبشر
- عملکرد دوگانه را بسازید: Lagrangian را با توجه به متغیرهای اصلی به حداقل برسانید. این به ما خط پایین کمتری می دهد.
- عملکرد دوگانه را به حداکثر برسانید: با توجه به چند برابر ، در شرایط (به عنوان مثال ، آنها باید برای محدودیت های نابرابری غیر منفی باشند).
- مشکل دوگانه را حل کنید: هنگامی که دوگانگی قوی نگه داشته می شود (به عنوان مثال ، تحت محدب بودن یا خطی بودن) ، حل دوگانه همان راه حل را به عنوان مشکل اصلی به ما می دهد.
ترفند هسته در یادگیری ماشین ، حل مشکلات غیر خطی (مانند طبقه بندی داده های جداگانه غیر خطی) را با نقشه برداری ضمنی داده ها به فضاهای بالاتر که در آن محصولات DOT می توانند به طور کارآمد محاسبه شوند ، امکان پذیر می کند. این تکنیک در رابطه با فرمولاسیون های دوگانه مشکلات بهینه سازی کار می کند ، جایی که الگوریتم ها فقط نیاز به محاسبه شباهت بین نقاط داده دارند و نه تحولات ویژگی صریح.
هنگامی که دوگانگی قوی است ، حل مسئله دوگانه همان راه حل مشکل اولیه را به ما می دهد.
قطعی مثبت: اطمینان حاصل کنید که ریاضی کار می کند
به شکل دوگانه ، الگوریتم یادگیری به شدت به ماتریس های متشکل از محصولات DOT متکی است (به آن گفته می شود ماتریس هسته). برای بهینه سازی برای کار با اطمینان (یعنی برای اطمینان از حداقل واقعی بودن) ، این ماتریس هسته باید باشد قطعی مثبتبشر یک تابع k (x ، y) یک هسته معتبر است اگر و فقط اگر مثبت باشد. اگر ماتریس هسته قطعی مثبت نباشد ، ما نمی توانیم تضمین کنیم که بهینه سازی ما همانطور که انتظار می رود کار کند.
یک هسته k (x ، y) قطعی مثبت است اگر برای هر مجموعه محدود از امتیاز {x₁ ،… ، xₙ} و هر بردار غیر صفر جف، موارد زیر:


قضیه مرسر: چراغ سبز برای هسته ها
اینجاست قضیه مرسر وارد می شود. می گوید: اگر عملکرد هسته شما به یک ماتریس هسته قطعی مثبت منجر شود ، در این صورت برخی از فضای ویژگی (احتمالاً بی نهایت بعدی!) وجود دارد که داده های شما از طریق محصولات DOT مقایسه می شوند.
این بدان معنی است که اگر عملکرد هسته از قطعیت مثبت عبور کند ، ما تضمین می کنیم که یک فضای ریاضی وجود دارد که مدل ما بتواند مانند جادو کار کند – بدون اینکه ما هرگز مجبور به دیدن یا محاسبه آن فضا شویم.
هسته ها چگونه کار می کنند؟ – ترفند هسته
ترفند هسته دقیقاً به دلیل قطعی مثبت کار می کند. وقتی هسته k (x ، y) قطعی مثبت است ، قضیه مرسر تضمین می کند که برابر با یک محصول درونی است ⟨φ (x) ، φ (y) در برخی از فضای ویژگی ها. بنابراین ترفند هسته یک میانبر عالی است که کار می کند!
به طور معمول ، اگر می خواستیم داده های خود را به یک فضای با ابعاد بالاتر (مثلاً تبدیل شدن دایره های 2D به هواپیماهای سه بعدی مسطح) نقشه برداری کنیم ، باید آن ویژگی های جدید را صریح محاسبه کنیم-و این می تواند گران یا حتی غیرممکن باشد. اما ترفند هسته به ما اجازه می دهد تا این کار را به طور ضمنی انجام دهیم. به جای محاسبه ویژگی ها ، ما محصول DOT را محاسبه می کنیم که گویی قبلاً داده ها را نقشه برداری کرده ایم. این بسیار سریعتر است و به ما امکان می دهد بدون هزینه محاسباتی در ابعاد بالا (یا نامحدود) کار کنیم.
توابع هسته مشترک
هسته خطی
این یک محصول معمولی DOT است که داده ها را بلند نمی کند. این فقط شباهت خطی بین نقاط را اندازه گیری می کند


هسته چند جمله ای
این هسته به شما امکان می دهد تا با تمام ویژگی های چند جمله ای کار کنید د


هسته گاوسی (RBF)
RBF (پایه شعاعی عملکرد) شباهت زیادی به نقاط نزدیک ، شباهت کم به نقاط دور می دهد و می تواند بی نهایت خم شود


هسته های رشته/دنباله
هسته های رشته ای به جای اینکه به صراحت نقشه ها را برای برداشتن بردارها داشته باشند ، به طور ضمنی یک فضای ویژگی را تعریف کرده و شباهت را در آن فضا محاسبه می کنند.
هسته های نمودار
با استفاده از تجزیه و تحلیل شبکه ، یک هسته نمودار یک عملکرد هسته است که یک محصول داخلی را روی نمودارها محاسبه می کند. به طور شهودی این یک تابع اندازه گیری شباهت جفت نمودارها است.
نتیجه گیری – چرا این مهم است
بسیاری از مدل های یادگیری ماشین مانند رگرسیون لجستیک یا شبکه های عصبی اساسی به ویژگی های صریح متکی هستند و وقتی مرز تصمیم گیری خطی نباشد یا ویژگی های پیچیده نیست ، می توانند مبارزه کنند. هنگامی که ویژگی های شما نمی تواند پیچیدگی را به خود اختصاص دهد ، اغلب باید ویژگی های مهندسی را با دست یا عملکرد ضعیف بپذیرید. SVM ها یک انحراف متداول است که در آن مدل می تواند هسته ها را برای رسیدگی به این مشکل حتی در فضاهای بسیار با ابعاد بسیار بالا بکشد. با استفاده از هسته ، SVM ها به شما اجازه می دهند تا فضای خود را “خم” کنید تا کلاس های شما به راحتی از هم جدا شوند. در پست بعدی به تفصیل در مورد نحوه کار SVM ها و نحوه استفاده از هسته ها متمرکز شده است.
برای اطلاعات بیشتر در مورد ریاضیات برای AI & ML 🧮 این را بررسی کنید لیست:
ayo akinkugbe
ریاضیات برای AI/ML
لیست مشاهده4 داستان
منتشر شده از طریق به سمت هوش مصنوعی
منبع: https://towardsai.net/p/artificial-intelligence/kernels-a-deep-dive