رفتن به محتوای اصلی
بازگشت به وبلاگ

راهنماهای هوش مصنوعی

هسین چیست؟ خمیدگی و ضربِ هسین در بردار با مثال

هسینِ یک تابعِ دوورودی، Hv و خمیدگی را حساب کنید؛ دو گامِ تفاضلِ مرکزی و نقطهٔ زینی نشان می‌دهند گرادیانِ صفر برایِ کمینه کافی نیست.

هسین جدولِ مشتق‌هایِ دومِ یک تابعِ اسکالر است. گرادیان تغییرِ مرتبهٔ اول را می‌گوید؛ هسین تغییرِ خودِ گرادیان و خمیدگی را نشان می‌دهد. در این راهنما H، حاصلِ Hv و عددِ vᵀHv را برایِ تابعِ دوورودی حساب می‌کنیم. سپس یک نقطهٔ زینی نشان می‌دهد چرا گرادیانِ صفر به‌تنهایی کمینه را ثابت نمی‌کند.

یک تابعِ مشخص، با ترتیبِ محورِ مشخص

تابعِ آموزشی f(u,v)=u⁴+u²v+v² و ترتیبِ متغیرها(u,v) است. گرادیان دو مؤلفهٔ(۴u³+۲uv،u²+۲v) دارد. مشتقِ دوباره، هسینی با سطرهایِ(۱۲u²+۲v،۲u) و(۲u،۲) می‌دهد. این چندجمله‌ای هموار است؛ برابرشدنِ دو مشتقِ مختلط در آن قابلِ کنترل است. دربارهٔ تابعِ ناصاف مثلِ نقطهٔ شکستِ ReLU همین فرض را بی‌بررسی به کار نبرید.

در نقطهٔ(۱،۲) چه می‌گیریم؟

مقدارِ تابع۷، گرادیان(۸،۵) و هسین با سطرهایِ(۱۶،۲) و(۲،۲) است. ردیف و ستون هر دو به ترتیبِuوv اشاره می‌کنند؛ یک جدولِ۲×۲ بودن به معنیِ همان Jacobianِ یک تابعِ دوخروجی نیست. اینجا خروجیِ اولیه یک عدد است و جدول، مشتقِ دوم را نگه می‌دارد.

برایِ جهتِ d=(۱،−۱)، حاصلِ Hd=(۱۴،۰) می‌شود: خانهٔ اول۱۶−۲ و خانهٔ دوم۲−۲. سپس dᵀHd=۱۴ است. نامِ متغیرِ جهت در کد v است و از متغیرِ دومِ تابع جدا در نظر گرفته شده؛ در متن برایِ رفعِ ابهام آن را d نوشتیم. طولِ این جهت√۲ است، پس۱۴ خمیدگیِ جهتِ واحد نیست؛ برایِ واحدکردنِ همین جهت، عدد بر۲ تقسیم می‌شود و۷ می‌گیریم.

Hv را با تغییرِ گرادیان کنترل کنیم

H(z) d ≈ [grad(z + h*d) - grad(z - h*d)] / (2*h)

کد با دو گامِ h=۱÷۱۰۰۰ و h=۱÷۲۰۰۰، گرادیان را در دو طرفِ نقطه حساب می‌کند. نتیجهٔ اول(۱۴٫۰۰۰۰۰۴،۰) و دوم(۱۴٫۰۰۰۰۰۱،۰) است. اختلاف با(۱۴،۰) صفر نیست: به‌ترتیبچهار میلیونیم و یک میلیونیم در مؤلفهٔ اول است؛ دقیق‌تر،۴×h² می‌شود. نصف‌کردنِ گام در همین چندجمله‌ای، این خطایِ تقریب را چهار برابر کم می‌کند.

حساب با Fraction است؛ بنابراین این اختلاف، خطایِ تقریبِ تفاضل است و از گردکردنِ ممیزشناور نیامده. از آن نتیجه نمی‌گیریم که در همهٔ تابع‌ها یا حسابِ ممیزشناور، گامِ کوچک‌تر همیشه بهتر است. فایلِ JSON مقدارِ h، تخمین و اختلافِ دقیق را جدا نگه می‌دارد و آن‌ها را «برابریِ دقیق با مشتق» نمی‌نامد.

گرادیانِ صفر، اما جهتِ بالا و پایین داریم

تابعِ دوم g(u,v)=u²−v² است. در مبدأ گرادیان(۰،۰) و هسین با قطرِ(۲،−۲) داریم. در جهتِ واحدِ محورِu، خمیدگی۲ و در جهتِ واحدِ محورِv منفی۲ است. برایِ t=۰٫۱، مقدارِ g(t,0)=۰٫۰۱ و g(0,t)=−۰٫۰۱ می‌شود. نزدیکِ مبدأ هم مقدارِ بزرگ‌تر و هم کوچک‌تر از صفر پیدا کرده‌ایم؛ پس این نقطه کمینه نیست.

کمیتچه چیزی می‌گوید؟چه چیزی را به‌تنهایی ثابت نمی‌کند؟
گرادیانتغییرِ مرتبهٔ اولنوعِ همهٔ نقاطِ ایستا
Hdتغییرِ گرادیان در جهتِ dکیفیتِ یک مدلِ آموزش‌دیده
dᵀHdخمیدگی در جهتِ مشخصعلامت در همهٔ جهت‌هایِ دیگر

هسینِ صفر یا نیمه‌معین چه محدودیتی دارد؟

اگر آزمونِ مشتقِ دوم به جهتِ صفر برسد، به‌تنهایی حکمِ نهایی نمی‌دهد؛ جمله‌هایِ مرتبهٔ بالاتر هم ممکن است مهم باشند. همچنین مثبت‌بودنِ dᵀHd فقط برایِ یک جهت، مثبت‌معین‌بودنِ کلِ H را ثابت نمی‌کند. در نقطهٔ زینیِ مثال، انتخابِ تنها محورِu می‌توانست جهتِ نزولیِ محورِv را پنهان کند.

در کارِ بزرگ، گاهی حاصلِ ضربِ هسین در بردار لازم است و نیازی به ذخیرهٔ کلِ ماتریس نداریم؛ منبعِ SciPy این رابط را توضیح می‌دهد. فایلِ ما برایِ شفافیت، H کوچک را صریح می‌سازد؛ صرفه‌جوییِ حافظه یا سرعت اندازه نگرفته‌ایم. PyTorch و SciPy اجرا نشده‌اند و هیچ الگوریتمِ بهینه‌سازی یا آموزشِ مدل در این تمرین وجود ندارد.

پیش‌نیاز و قدمِ بعد

مشتق، گرادیان و Jacobian جدولِ مرتبهٔ اول و بردارِ بالادستی را توضیح می‌دهد؛ اینجا مشتقِ دومِ اسکالر و خمیدگی موضوع است. گرادیانِ نزولی خودِ به‌روزرسانی را اجرا می‌کند. برایِ یک پروژهٔ پاسخ‌گوییِ مشتری، ابتدا خروجی و آزمونِ پذیرش را در راهکارهایِ اپرا مشخص کنید؛ دانستنِ نامِ روش، شاهدِ دقتِ محصول نیست.

فایل تمرین و منبع

هسینِ تحلیلی و خطایِ تفاضلِ مرکزی؛ Python · H و Hv، دو گامِ تقریب و دو جهتِ نقطهٔ زینی

منابع در 2026-11-04 خوانده شدند؛ این تاریخ، تاریخ انتشار منبع نیست. مثال‌ها و فایل‌های این راهنما آموزشی و ساختهٔ تحریریه‌اند.

برای این نیاز، کدام خدمت مناسب‌تر است؟

تماس و منشی، چت سایت و تحلیل مکالمه سه مسیر متفاوت‌اند. ابتدا خدمت متناسب نیازتان را انتخاب کنید.

انتخاب میان سه خدمتراهنمای شروع با تیم اپرا

برآورد هزینه