>/BASH

TorchCurves منحنی‌های یادگرفتنی را در PyTorch بازاستفاده‌پذیر می‌کند؛ نتایج سرعت یکدست نیست

پیش‌چاپی در arXiv به تاریخ ۱۰ نوامبر، TorchCurves را برای ترکیب منحنی‌های یادگرفتنی با مدل‌های PyTorch معرفی می‌کند. آزمون‌های نویسنده از سرعت عملی در برخی بارهای کاری بزرگ‌تر حکایت دارند، اما بارهای کوچک سربار دارند. آزمایش روی یک لپ‌تاپ، دقت پیش‌بینی بهتر یا برتری همیشگی سرعت را اثبات نمی‌کند؛ داو

TorchCurves منحنی‌های یادگرفتنی را در PyTorch بازاستفاده‌پذیر می‌کند؛ نتایج سرعت یکدست نیست

TorchCurves می‌کوشد منحنی‌های پارامتری یادگرفتنی را به مؤلفه‌ای بازاستفاده‌پذیر در مدل‌های یادگیری ماشین تبدیل کند. الکس اشتوف در پیش‌چاپی که ۱۰ نوامبر ۲۰۲۶ در arXiv منتشر شد، کتابخانه‌ای نوشته‌شده کاملاً با PyTorch معرفی می‌کند که آزمون‌های سرعت آن نشان می‌دهند این انعطاف‌پذیری، به‌ویژه در بارهای کاری بزرگ‌تر، می‌تواند از نظر محاسباتی عملی باشد. یافته‌ها را نویسنده کتابخانه گزارش کرده و داوری علمی آن تأیید نشده است.

این کتابخانه دسته‌هایی از ورودی‌های اسکالر را به نقاطی روی منحنی‌های برداری تبدیل می‌کند که با بی‌اسپلاین‌ها یا چندجمله‌ای‌های لژاندر نمایش داده می‌شوند. مشتق‌گیری نسبت به ورودی‌ها و ضرایب منحنی پشتیبانی می‌شود؛ بنابراین آموزش می‌تواند منحنی‌ها را تنظیم کند و هم‌زمان گرادیان‌ها را به لایه‌های قبلی شبکه برساند. ضرایب همچنین می‌توانند خروجی شبکه‌ای دیگر باشند. ماژول‌های آموزش‌پذیر، ماژول‌های پایه بازاستفاده‌پذیر و یک رابط تابعی، راه‌های مختلفی برای ادغام این عملیات فراهم می‌کنند.

دستاورد این کار، رابطی مشترک برای ترکیب منحنی‌هاست، نه روشی تازه برای نمایش آن‌ها. نمونه‌کدها نگاشت ویژگی‌های عددی پیوسته به بردارهای تعبیه، ساخت شبکه‌های کولموگروف–آرنولد یا KAN و مدلی برای پاسخ حراج با ضرایب اسپلاین غیرکاهشی را نشان می‌دهند. این نمونه‌ها امکان‌های پیاده‌سازی را نمایش می‌دهند؛ دقت بهتر در کاربردهای بعدی یا منافع تجاری را اثبات نمی‌کنند.

TorchCurves برای محاسبه از الگوریتم‌های برداری‌شده کاکس–دبور و کلنشاو استفاده می‌کند و کرنل سخت‌افزاری اختصاصی ندارد. عملیات برای نمونه‌ها و منحنی‌ها به‌صورت دسته‌ای انجام می‌شود، هرچند ارزیابی همچنان روی درجه چندجمله‌ای حلقه می‌زند. مقاله از بررسی مقادیر منحنی در مقایسه با SciPy و NumPy و اعتبارسنجی مشتق‌ها با آزمون عددی گرادیان PyTorch در قالب‌های float32 و float64 خبر می‌دهد. اندازه خطاها و آستانه‌های پذیرش ارائه نشده‌اند.

نویسنده، ارزیابی منحنی روی CPU را بدون پس‌انتشار با اسپلاین‌های SciPy و چندجمله‌ای‌های لژاندر NumPy مقایسه کرد. برای هر پیکربندی، پنج اندازه‌گیری زمان با میانه خلاصه شدند. الگوی گزارش‌شده، ارزیابی کندتر برای دسته‌های کوچک یا تعداد کم منحنی و سرعت قابل‌مقایسه یا بیشتر در مقیاس‌های بزرگ‌تر بود. میزان دقیق افزایش سرعت قابل استخراج نیست، زیرا متن ارائه‌شده اعداد خانه‌های شکل‌ها را ندارد. این توضیح که اجرای چند‌هسته‌ای PyTorch علت مزیت در بارهای بزرگ‌تر است، همچنان یک گمانه است.

مقایسه‌ای جداگانه، زمان هر گام آموزش KAN را در برابر EfficientKAN روی CPU و GPU سنجید. پس از ۵۰ گام گرم‌کردن، نویسنده پنج اندازه‌گیری، هرکدام شامل ۱۰۰ گام، انجام داد؛ این گام‌ها پاک‌کردن گرادیان‌ها، گذر رو‌به‌جلو و پس‌رو و به‌روزرسانی بهینه‌ساز را در بر می‌گرفتند. سرعت TorchCurves در مجموع قابل‌مقایسه توصیف شد: برای دسته‌های بزرگ‌تر و ابعاد بالاتر سریع‌تر و در حالت‌های دیگر کندتر. بااین‌حال، معماری و تعداد پارامترهای پیاده‌سازی‌ها متفاوت است. مقاله همچنین عرض ورودی را ناسازگار گزارش می‌کند: [16, W, W, 1] در متن اصلی و [32, W, W, 1] در شرح شکل.

تمام زمان‌سنجی‌ها روی یک لپ‌تاپ Lenovo P14s Gen-7 با پردازنده Intel Core Ultra 7 356H و پردازنده گرافیکی NVIDIA RTX PRO 500 Blackwell انجام شدند؛ اجرای CPU به هسته‌های ۱ تا ۴ محدود بود. تکرار زمان‌سنجی روی این دستگاه، تکرار مستقل آزمایش روی سخت‌افزارها یا مجموعه‌داده‌های دیگر محسوب نمی‌شود. پراکندگی نتایج و فاصله‌های اطمینان گزارش نشده‌اند و ترکیب دقیق مقادیر بارهای کاری در متن ارائه‌شده موجود نیست. بنابراین نتایج، عملکرد در پیکربندی‌های آزموده‌شده را توصیف می‌کنند، نه برتری همیشگی سرعت، پیش‌بینی بهتر، همگرایی سریع‌تر یا زمان کمتر برای رسیدن به دقت معادل.

منبع: https://arxiv.org/abs/2611.14516
کتابخانه: https://github.com/alexshtf/torchcurves

تصویر جلد با هوش مصنوعی تولید شده و تصویرسازی مفهومی است؛ مدرک پژوهش نیست.

منابع اصلی

پست این خبر در اینستاگرام