Early Stoppingزمانِ پایان آموزش را از روی معیارِ پایششده تعیین میکند؛اما نسخهٔ وزنِ انتخابی میتواند مربوط به دور زودتری باشد. با یک تاریخچهٔ ساختگی،دو قراردادِ حداقل بهبود را اجرا میکنیم تا «دور توقف»،«بهترین دورِ پذیرفتهشده»و«نسخهٔ انتخابی»یکی فرض نشوند. در این تمرین وزنی آموزش یا ذخیره نشده است.
قاعده را پیش از دیدن نتیجه بنویسیم
معیارval_lossاست و مقدار کمتر بهتر در نظر گرفته میشود. دورها را از۱میشماریم؛پایش از دور۱شروع میشود. بهبود در کد فقط وقتی پذیرفته است که current < best - min_deltaباشد؛برابری با این مرز،بهبود نیست. در بهبود،bestتازه وwaitصفر میشود؛در غیر این صورتwaitیک واحد زیاد میشود.
در هر دو قرارداد،patience=۲است و پس از دومین دورِ متوالیِ بدون بهبود،در پایان همان دور متوقف میشویم. این ماشین حالتِ صریحِ آموزشی،اجرایcallbackکتابخانه نیست؛تنظیمها و رفتارِ نسخهٔ واقعی ابزار را باید جدا خواند.
تاریخچهٔ دادهشده را دنبال کنیم
| دور | زیان آموزشِ ساختگی | زیان اعتبارسنجیِ ساختگی |
|---|---|---|
| ۱ | 1.1 | 1.00 |
| ۲ | 0.9 | 0.80 |
| ۳ | 0.7 | 0.79 |
| ۴ | 0.6 | 0.795 |
| ۵ | 0.5 | 0.80 |
| ۶ | 0.4 | 0.78 |
این جدول را برای تمرین ساختهایم؛گزارش آموزش یک مدل نیست. الگوریتم پس از توقف،ردیفهای بعدی را نمیبیند. وجود مقدار دور۶در صورت تمرین،دانستنِ آینده در آموزش واقعی را مجاز نمیکند؛درCSVوضعیتِ دورهای پس از توقفnot_observedاست.
قراردادA:حداقل بهبود صفر
بهترین مقدار تا دور۳به۰٫۷۹میرسد. دور۴بهبود ندارد وwait=۱است؛دور۵نیز بهبود ندارد وwait=۲،پس توقف در دور۵رخ میدهد. اگرrestore_bestرا انتخاب کنیم،نسخهٔ منتخبِ قراردادی مربوط به دور۳است؛اگر انتخاب نکنیم،دور۵آخرین نسخه است. در این کد،نسخهها فقط شمارهٔ دورند و فایل وزن واقعی وجود ندارد.
قراردادB:حداقل بهبود۰٫۰۲
دور۲با۰٫۸۰بهترین مقدارِ پذیرفتهشده میشود. افتِ بعدی به۰٫۷۹از حداقلِ لازم کمتر است وbestرا تغییر نمیدهد؛دور۴هم بهبودِ لازم ندارد. پس توقف در۴و انتخابِ بهترینِ پذیرفتهشده در۲است. «بهترینِ این قرارداد»لزوماًکوچکترین عددِ خامِ همهٔ جدول نیست.
برای مرز دقیق،۰٫۷۸در برابرbest=۰٫۸۰وmin_delta=۰٫۰۲در کد بهبود محسوب نمیشود؛چون شرط ما strictاست. در پروژهٔ واقعی،معنیِبهبود،جهتmin/max،warm-upو رفتارِ بازگردانی باید همراه نتیجه ثبت شوند تا اختلاف یک دور پنهان نماند.
توقف زودهنگام،آزمون نهایی نیست
انتخاب باvalidationانجام میشود،نه باtestنهایی. کاهش زیانِ آموزش یا توقف طبق برنامه،بهبود تعمیم را تضمین نمیکند. بیشبرازش و ارزیابی مستقل این مرز را توضیح میدهد. تغییرpatienceبعد از دیدن نتیجه نیز یک تصمیمِ تنظیم است و ارزیابی مناسب میخواهد.
کد و قدم بعد
Pythonدو توقف۵و۴،دو بهترین دور۳و۲،حالتِ بدون بازگردانی وpatienceصفر را واقعاً کنترل کرده است. warm-upو مرزِ برابری هم آزموده شدهاند؛اماهیچKeras،GPU،وزن یا مصرف واقعیِ آموزش اجرا و اندازهگیری نشده است. برای تمرین،یک تاریخچهٔ مستقل بسازید و پیش از اجرای کد،جدولbest/waitرا دستی پر کنید. ادامهٔ مبانی در صفحهٔ هوش مصنوعی است؛این تنظیمات،قرارداد آموزش محصول اپرا نیستند.
فایل تمرین و منبع
ماشین حالت محلیِ توقف،انتخاب نسخه و مرز بهبود · تاریخچهٔ ساختگی و دو تصمیم؛دورهای پس از توقفnot_observedاند
منابع در ۳ نوامبر ۲۰۲۶ خوانده شدند؛ این تاریخ، تاریخ انتشار منبع نیست. مثالها و فایلهای این راهنما آموزشی و ساختهٔ تحریریهاند.