پارامتر مدل، مانند وزن و بایاس، بخشی از وضعیت عددیِ خود مدل است؛ ابرپارامتر یا Hyperparameter، مانند نرخ یادگیری، تنظیمِ فرایند یا ساختاری است که انتخاب میکنیم. در یک مثال خطی، دو فایل منطقیِ «وضعیت مدل» و «تنظیم آموزش» را جدا میکنیم تا معلوم شود کدام مقدار برای محاسبهٔ خروجی به کار میرود و کدام مقدار، مسیر رسیدن به وزن را کنترل کرده است.
واژهٔ پارامتر در کد همیشه همان معنی آموزشی را ندارد
یک تابع میتواند آرگومانی به نام learning_rateبگیرد و مستندات آن را parameterبنامد؛ این کاربردِ برنامهنویسی به معنی وزن آموختهشدهٔ مدل نیست. برای فهم یک فایل، به نقش مقدار نگاه کنید. در این نوشته، «پارامتر مدل» را از تنظیم اجرا و ورودیِ کاربر جدا به کار میبریم.
تعداد پارامتر و کیفیت مدل دربارهٔ خواندن اندازهٔ مدل است. مسئلهٔ این صفحه، دستهبندی خود مقدارها و نگهداری قراردادِ وضعیت و تنظیم است؛ عددِ تعداد وزن، تنظیم آموزش نیست.
یک مدل کوچک با دو مقدارِ قابل تغییر
مدل را prediction = weight × x + biasمیگیریم. دادهٔ آموزشیِ ساختگی دو ردیف دارد: xهای۱و۲وyهای۳و۵. وزن و بایاس اولیه هر دو صفرند و زیان، میانگین مربع اختلاف است. در این نقطه زیان۱۷وگرادیانهای وزن و بایاس بهترتیب منفی۱۳ومنفی۸هستند.
دو محاسبهٔ جدا از همین نقطهٔ آغاز انجام میدهیم؛ یکی با نرخ۰٫۱ویکی۰٫۲. اینها دو مرحلهٔ پشتسرهم نیستند و از اجرای اول برای شروع دومی استفاده نشده است.
| مقدار | اجرای A | اجرای B | نقش در این قرارداد |
|---|---|---|---|
| نرخ یادگیری | 0.1 | 0.2 | تنظیم یک گام |
| تعداد گام | 1 | 1 | تنظیم اجرا |
| وزن پس از گام | 1.3 | 2.6 | وضعیت عددی مدل |
| بایاس پس از گام | 0.8 | 1.6 | وضعیت عددی مدل |
| زیان همان دو ردیف | 1.685 | 2.340 | اندازهگیری روی دادهٔ تمرین |
نرخ۰٫۲در این یک گام، زیانِ بزرگتری از۰٫۱دارد؛ از این دو ردیف، نرخ مناسب همهٔ پروژهها یا کیفیت دادهٔ تازه معلوم نمیشود. جزئیات انتخاب گام در راهنمای گرادیان نزولی است؛ اینجا هدف تفکیک نقش مقدارهاست.
برای محاسبهٔ خروجی، کدام بخش خوانده میشود؟
پس از ذخیرهٔ وضعیتA، ورودیx=۳خروجی۴٫۷میدهد: ۱٫۳×۳+۰٫۸. در همین مدل خطی، برای این محاسبه نیازی به نرخ یادگیریِ قبلی نداریم. تغییر عدد learning_rateدر یادداشتِ تنظیم، وزن ذخیرهشده را خودبهخود عوض نمیکند. اگر دوباره آموزش را ادامه دهید، آن تنظیم میتواند مسیرِ تغییر وزنهای بعدی را عوض کند.
در مدلهای واقعی ممکن است تنظیم معماری یا پردازش ورودی برای بارگذاری و اجرا لازم باشد. پس تفکیک فایلها به معنی «فقط چند وزن همیشه کافی است» نیست. شکل شبکه، نسخه و تبدیلهای ورودی باید با وضعیت عددی سازگار باشند. هر دادهٔ ذخیرهشده را صرفاً از روی نام فایل، آموختهشده فرض نکنید.
یک روش ثبت قابل بررسی
در فایلJSONهمراه، model_stateوزن و بایاس را دارد و training_configنرخ، تعداد گام و نام زیان را نگه میدارد. این ساختار، قالب آموزشی همین مقاله است و فرمت رسمی یک موتور نیست. دادهٔ تمرین هم جدا آمده تا محاسبه تکرار شود. هر دو گام با Decimalواقعاً حساب و زیانها کنترل شدهاند؛ کتابخانهٔ آموزش یا مدل تجاری اجرا نشده است.
برای کار واقعی، شناسهٔ داده، وضعیت آغاز، تنظیم، نسخهٔ کد و وضعیت پایانی را به هم متصل کنید. برای انتخاب تنظیم از مجموعهٔ مناسب استفاده کنید و نتیجهٔ آزمون مستقل را جدا نگه دارید. در مسیر مبانی هوش مصنوعی میتوانید موضوع بعدی را انتخاب کنید؛ این مثال دربارهٔ تنظیمات داخلی اپرا ادعایی ندارد.
فایل تمرین و منبع
دو محاسبهٔ یکگامی؛ جداسازی وزن از تنظیم آموزش · فایل مرجعِ وضعیت مدل و تنظیم دو اجرای آموزشی
منابع در ۳ نوامبر ۲۰۲۶ خوانده شدند؛ این تاریخ، تاریخ انتشار منبع نیست. مثالها و فایلهای این راهنما آموزشی و ساختهٔ تحریریهاند.