NUBO, short for Newcastle University Bayesian Optimization, is a Bayesian optimization framework for optimizing expensive-to-evaluate black-box functions, such as physical experiments and computer simulators. Bayesian optimization is a cost-efficient optimization strategy that uses surrogate modeling via Gaussian processes to represent an objective function and acquisition functions to guide the selection of candidate points to approximate the global optimum of the objective function. NUBO focuses on transparency and user experience to make Bayesian optimization accessible to researchers from all disciplines. Clean and understandable code, precise references, and thorough documentation ensure transparency, while a modular and flexible design, easy-to-write syntax, and careful selection of Bayesian optimization algorithms ensure a good user experience. NUBO allows users to tailor Bayesian optimization to their problem by writing a custom optimization loop using the provided building blocks. It supports sequential single-point, parallel multi-point, and asynchronous optimization of bounded, constrained, and mixed (discrete and continuous) parameter input spaces. Only algorithms and methods extensively tested and validated to perform well are included in NUBO. This ensures that the package remains compact and does not overwhelm the user with an unnecessarily large number of options. The package is written in Python but does not require expert knowledge of Python to optimize simulators and experiments. NUBO is distributed as open-source software under the BSD 3-Clause license.
معرّف الورقة : 2305.06709العنوان : NUBO: A Transparent Python Package for Bayesian Optimizationالمؤلفون : Mike Diessner, Kevin Wilson, Richard D. Whalley (جامعة نيوكاسل)التصنيف : cs.LG (التعلم الآلي)، cs.MS (البرمجيات الرياضية)، stat.ML (الإحصائيات - التعلم الآلي)تاريخ النشر : arXiv v2، 3 يونيو 2024رابط الورقة : https://arxiv.org/abs/2305.06709 عنوان المصدر المفتوح : www.nubopy.com الترخيص : BSD 3-ClauseNUBO (تحسين بايز بجامعة نيوكاسل) هو إطار عمل متخصص لتحسين الدوال السوداء الصندوقية المكلفة، مناسب للتجارب الفيزيائية والمحاكاة الحاسوبية. يستخدم الإطار العمليات الغاوسية للنمذجة البديلة ودوال الاستحواذ لتوجيه اختيار النقاط المرشحة، بهدف الاقتراب من الأمثل العام بأقل عدد من تقييمات الدوال. يؤكد NUBO على الشفافية وتجربة المستخدم من خلال الكود الواضح والاستشهادات الدقيقة والتوثيق الشامل؛ ويضمن تجربة مستخدم جيدة من خلال التصميم المعياري وبناء الجملة سهل الاستخدام والخوارزميات المختارة بعناية. يدعم الإطار التحسين المتسلسل أحادي النقطة والمتوازي متعدد النقاط والمتزامن، مناسب للمساحات البارامترية المحدودة والمقيدة والمختلطة (المنفصلة والمستمرة). يحتوي فقط على الخوارزميات المختبرة والمتحقق منها بشكل كامل، مما يحافظ على إحكام الحزمة ويتجنب الإرهاق من الخيارات.
تواجه العديد من المجالات العلمية والهندسية مشكلة تحسين الدوال السوداء الصندوقية المكلفة :
الدالة ليس لها تعبير رياضي معروف أو قابل للتحليل كل تقييم دالة مكلف (تكاليف مواد، تكاليف حسابية، وقت) لا يمكن الحصول على معلومات المشتقات غير مناسب للعديد من تقييمات الدوال تشمل حالات التطبيق النموذجية:
تحسين المعاملات في ديناميكيات السوائل الحسابية تصميم الجزيئات واكتشاف الأدوية في الهندسة الكيميائية ضبط المعاملات الفائقة لنماذج التعلم الآلي البحث عن بنية الشبكات العصبية تعتمد خوارزميات التحسين التقليدية (مثل Adam و L-BFGS-B والتطور التفاضلي) على:
معلومات المشتقات (عادة غير متاحة) عدد كبير من تقييمات الدوال (غير قابل للتطبيق على الدوال المكلفة) يوفر تحسين بايز بديلاً فعالاً من حيث العينات ، لكن التطبيقات الموجودة تعاني من مشاكل.
من خلال تحليل المقارنة التفصيلي (الجدول 1)، تعاني الحزم الموجودة من المشاكل التالية:
اسم الحزمة عدد أسطر الكود التحسين المتوازي التحسين المتزامن المشاكل الرئيسية BoTorch 38,419 ✓ ✓ قاعدة الكود كبيرة جداً (29 مرة أكبر من NUBO)، يصعب فهمها bayes_opt 1,241 ✗ ✗ لا تدعم التحسين المتوازي والمتزامن SMAC3 11,217 ✗ ✗ الوظائف محدودة pyGPGO 2,029 ✗ ✗ الوظائف محدودة GPyOpt 4,605 ✓ ✗ توقفت الصيانة Spearmint 3,662 ✗ ✗ تصميم غير معياري، مرونة ضعيفة
المشاكل الرئيسية :
التعقيد مقابل الشفافية : BoTorch قوي لكن الكود معقد (160 ملف)، يصعب على المستخدمين غير المتخصصين فهمهقيود الوظائف : معظم الحزم لا تدعم التحسين المتوازي/المتزامنالإرهاق من الخيارات : توفير عدد كبير من الخيارات، يصعب على المستخدمين غير المتخصصين اتخاذ القرارتوفير للباحثين متعددي التخصصات (غير خبراء الإحصائيات/علوم الحاسوب):
شفافية : كود موجز (1,322 سطر فقط، 20 ملف)سهولة الاستخدام : تصميم معياري، بناء جملة بديهيالكفاءة : دعم التحسين المتوازي/المتزامن/المقيد/المختلطالموثوقية : تحتوي فقط على الخوارزميات المتحقق منهاتطبيق خفيف الوزن : تطبيق إطار عمل تحسين بايز كامل بـ 1,322 سطر كود، بحجم كود يبلغ 3.4% فقط من BoTorch، لكن يوفر وظائف معادلةدعم شامل لاستراتيجيات التحسين :التحسين المتسلسل أحادي النقطة التحسين المتوازي متعدد النقاط التحسين المتزامن التحسين المقيد تحسين المعاملات المختلطة (المنفصلة والمستمرة) فلسفة التصميم الشفاف :هيكل كود واضح استشهادات أكاديمية دقيقة توثيق شامل (ورقة + موقع ويب) بنية معيارية سهلة الاستخدام :تصميم كتل بناء مرن بناء جملة Python بديهي خوارزميات عالية الكفاءة مختارة بعناية التحقق من الأداء : في الاختبارات المعيارية، تتطابق الأداء مع الحزم الرئيسية (BoTorch و SMAC3 وغيرها) أو تتفوق عليها، مما يثبت أن الإيجاز لا يأتي على حساب الأداءنظام بيئي مفتوح المصدر : بناءً على نظام PyTorch البيئي (Torch و GPyTorch)، مما يضمن قابلية التوسع الجيدة ودعم تسريع GPUيهدف تحسين بايز إلى حل مشكلة التعظيم ذات البعد d:
x ∗ = arg max x ∈ X f ( x ) x^* = \arg\max_{x \in X} f(x) x ∗ = arg max x ∈ X f ( x )
حيث:
مساحة الإدخال X ∈ [ a , b ] d X \in [a,b]^d X ∈ [ a , b ] d : عادة ما تكون مساحة مستمرة محدودة بفائقة مستطيلةدالة الهدف f ( x ) f(x) f ( x ) : دالة صندوق أسود مكلفة وبدون مشتقاتالملاحظات y i = f ( x i ) + ϵ y_i = f(x_i) + \epsilon y i = f ( x i ) + ϵ : مع ضوضاء ϵ ∼ N ( 0 , σ 2 ) \epsilon \sim \mathcal{N}(0, \sigma^2) ϵ ∼ N ( 0 , σ 2 ) بيانات التدريب D n = { ( x i , y i ) } i = 1 n D_n = \{(x_i, y_i)\}_{i=1}^n D n = {( x i , y i ) } i = 1 n المهام الموسعة (يدعمها NUBO):
التحسين المقيد :
subject to g i ( x ) = 0 , h j ( x ) ≥ 0 \text{subject to } g_i(x) = 0, \quad h_j(x) \geq 0 subject to g i ( x ) = 0 , h j ( x ) ≥ 0 المعاملات المختلطة : بعض الأبعاد لها قيم منفصلةالإدخال: ميزانية التقييم N، عدد النقاط الأولية n₀، نموذج بديل M، دالة استحواذ α
1. أخذ عينات n₀ نقطة أولية من خلال تصميم ملء المساحة، الحصول على الملاحظات
2. تعيين بيانات التدريب D_n = {X₀, y₀}
3. While n ≤ N - n₀:
a. تدريب نموذج بديل M (عملية غاوسية) باستخدام D_n
b. تعظيم دالة الاستحواذ α للعثور على نقطة مرشحة x*_n
c. تقييم x*_n للحصول على y*_n، إضافة إلى D_n
d. n = n + 1
4. إرجاع النقطة المقابلة لأعلى قيمة ملاحظة x*
التوزيع السابق :
f ( X n ) ∼ N ( m ( X n ) , K ( X n , X n ) ) f(X_n) \sim \mathcal{N}(m(X_n), K(X_n, X_n)) f ( X n ) ∼ N ( m ( X n ) , K ( X n , X n ))
اختيار التكوين في NUBO :
دالة المتوسط : متوسط ثابت μ constant ( x ) = c \mu_{\text{constant}}(x) = c μ constant ( x ) = c نواة التغاير : نواة Matérn 5/2 ARD
Σ Mat e ˊ rn ( x , x ′ ) = σ f 2 ( 1 + 5 r l + 5 r 2 3 l 2 ) exp ( − 5 r l ) \Sigma_{\text{Matérn}}(x, x') = \sigma_f^2 \left(1 + \frac{\sqrt{5}r}{l} + \frac{5r^2}{3l^2}\right) \exp\left(-\frac{\sqrt{5}r}{l}\right) Σ Mat e ˊ rn ( x , x ′ ) = σ f 2 ( 1 + l 5 r + 3 l 2 5 r 2 ) exp ( − l 5 r )
حيث r = ∣ x − x ′ ∣ r = |x - x'| r = ∣ x − x ′ ∣ التحديد التلقائي للصلة (ARD) :
كل بعد إدخال له مقياس طول مستقل l d l_d l d مقياس طول كبير → البعد غير مهم مقياس طول صغير → البعد مهم التوزيع اللاحق :
f ( X ∗ ) ∣ D n , X ∗ ∼ N ( μ n ( X ∗ ) , σ n 2 ( X ∗ ) ) f(X^*) | D_n, X^* \sim \mathcal{N}(\mu_n(X^*), \sigma_n^2(X^*)) f ( X ∗ ) ∣ D n , X ∗ ∼ N ( μ n ( X ∗ ) , σ n 2 ( X ∗ ))
μ n ( X ∗ ) = K ( X ∗ , X n ) [ K ( X n , X n ) + σ y 2 I ] − 1 ( y − m ( X n ) ) + m ( X ∗ ) \mu_n(X^*) = K(X^*, X_n)[K(X_n, X_n) + \sigma_y^2 I]^{-1}(y - m(X_n)) + m(X^*) μ n ( X ∗ ) = K ( X ∗ , X n ) [ K ( X n , X n ) + σ y 2 I ] − 1 ( y − m ( X n )) + m ( X ∗ )
σ n 2 ( X ∗ ) = K ( X ∗ , X ∗ ) − K ( X ∗ , X n ) [ K ( X n , X n ) + σ y 2 I ] − 1 K ( X n , X ∗ ) \sigma_n^2(X^*) = K(X^*, X^*) - K(X^*, X_n)[K(X_n, X_n) + \sigma_y^2 I]^{-1}K(X_n, X^*) σ n 2 ( X ∗ ) = K ( X ∗ , X ∗ ) − K ( X ∗ , X n ) [ K ( X n , X n ) + σ y 2 I ] − 1 K ( X n , X ∗ )
تقدير المعاملات الفائقة : من خلال تعظيم احتمالية الهامش اللوغاريتمي (MLE):
log P ( y n ∣ X n ) = − 1 2 ( y n − m ( X n ) ) ⊤ [ K + σ y 2 I ] − 1 ( y n − m ( X n ) ) − 1 2 log ∣ K + σ y 2 I ∣ − n 2 log 2 π \log P(y_n | X_n) = -\frac{1}{2}(y_n - m(X_n))^\top[K + \sigma_y^2 I]^{-1}(y_n - m(X_n)) - \frac{1}{2}\log|K + \sigma_y^2 I| - \frac{n}{2}\log 2\pi log P ( y n ∣ X n ) = − 2 1 ( y n − m ( X n ) ) ⊤ [ K + σ y 2 I ] − 1 ( y n − m ( X n )) − 2 1 log ∣ K + σ y 2 I ∣ − 2 n log 2 π
التحسين المتوقع (Expected Improvement, EI) :
α EI ( X ∗ ) = ( μ n ( X ∗ ) − y best ) Φ ( z ) + σ n ( X ∗ ) ϕ ( z ) \alpha_{\text{EI}}(X^*) = (\mu_n(X^*) - y_{\text{best}})\Phi(z) + \sigma_n(X^*)\phi(z) α EI ( X ∗ ) = ( μ n ( X ∗ ) − y best ) Φ ( z ) + σ n ( X ∗ ) ϕ ( z )
حيث z = μ n ( X ∗ ) − y best σ n ( X ∗ ) z = \frac{\mu_n(X^*) - y_{\text{best}}}{\sigma_n(X^*)} z = σ n ( X ∗ ) μ n ( X ∗ ) − y best
حد الثقة العلوي (Upper Confidence Bound, UCB) :
α UCB ( X ∗ ) = μ n ( X ∗ ) + β σ n ( X ∗ ) \alpha_{\text{UCB}}(X^*) = \mu_n(X^*) + \sqrt{\beta}\sigma_n(X^*) α UCB ( X ∗ ) = μ n ( X ∗ ) + β σ n ( X ∗ )
المحسّن : L-BFGS-B (محدود) أو SLSQP (مقيد)
التقريب من خلال تقنية إعادة البارامترة:
α EI MC ( X ∗ ) = max ( ReLU ( μ n ( X ∗ ) + L z − y best ) ) \alpha_{\text{EI}}^{\text{MC}}(X^*) = \max(\text{ReLU}(\mu_n(X^*) + Lz - y_{\text{best}})) α EI MC ( X ∗ ) = max ( ReLU ( μ n ( X ∗ ) + L z − y best ))
α UCB MC ( X ∗ ) = max ( μ n ( X ∗ ) + β π 2 ∣ L z ∣ ) \alpha_{\text{UCB}}^{\text{MC}}(X^*) = \max\left(\mu_n(X^*) + \sqrt{\frac{\beta\pi}{2}}|Lz|\right) α UCB MC ( X ∗ ) = max ( μ n ( X ∗ ) + 2 β π ∣ L z ∣ )
حيث:
L L L : مصفوفة المثلث السفلي لتحليل Cholesky للمصفوفة L L ⊤ = K LL^\top = K L L ⊤ = K z ∼ N ( 0 , I ) z \sim \mathcal{N}(0, I) z ∼ N ( 0 , I ) : عينة غاوسية معياريةاستراتيجية التحسين على دفعات :
التحسين المشترك (joint): تحسين جميع نقاط الدفعة في نفس الوقتالتسلسل الجشع (sequential): تحسين نقطة تلو الأخرى، مع تثبيت النقاط السابقة (أداء تجريبي أفضل)المحسّن : Adam (عشوائي) أو L-BFGS-B/SLSQP (عينة أساسية ثابتة)
مقارنة حجم الكود : NUBO (1,322 سطر) مقابل BoTorch (38,419 سطر)مقارنة عدد الملفات : 20 مقابل 160فلسفة التصميم : تجنب الإفراط في التجريد، الحفاظ على سهولة تتبع الدوال والكائناتيمكن للمستخدمين بناء حلقة تحسين مخصصة من خلال 4 خطوات:
# 1. تحديد مساحة الإدخال
bounds = torch.tensor([[0., 0., ...], [1., 1., ...]])
# 2. تدريب العملية الغاوسية
gp = GaussianProcess(x_train, y_train, likelihood)
fit_gp(x_train, y_train, gp, likelihood)
# 3. تحديد دالة الاستحواذ
acq = UpperConfidenceBound(gp=gp, beta=4)
# 4. تحسين دالة الاستحواذ
x_new, _ = single(func=acq, method="L-BFGS-B", bounds=bounds)
الاستراتيجية : تعداد جميع المجموعات المنفصلة، تحسين المعاملات المستمرة لكل مجموعةالتطبيق : تحديد الأبعاد المنفصلة والقيم الممكنة من خلال قاموسالقيد : حساب مكلف عندما يكون عدد الأبعاد المنفصلة أو القيم كبيراً جداً (يتم الإفصاح عنه بصراحة في الورقة)السيناريو : متابعة التحسين عندما يكون وقت التقييم غير مؤكدالتطبيق : تمرير النقاط المعلقة كنقاط ثابتة في x_pendingالميزة : الاستفادة الكاملة من موارد الحوسبةتوفير دليل واضح لاختيار الخوارزمية:
هل متزامن؟ → هل متوازي؟ → هل مقيد؟ كل فرع يوصي بمجموعة محددة من دالة الاستحواذ والمحسّن استخدام دالتي معيار قياسيتين (من مكتبة التجارب الافتراضية 24 ):
دالة Levy ثنائية الأبعاد :البعد: 2 الخصائص: متعددة القمم، عدة أمثل محلية الأمثل العام: 0.00 دالة Hartmann سادسة الأبعاد :البعد: 6 الخصائص: عدة أمثل محلية صغرى، أمثل عام واحد الأمثل العام: 3.32237 مساحة الإدخال: 0,1 ⁶ تم أخذ كلا الدالتين بقيمة سالبة لتحويلهما إلى مشكلة تعظيم.
أفضل قيمة ملاحظة : أفضل إخراج في التكرار الحالي (متوسط ± خطأ معياري)سرعة التقارب : عدد التقييمات المطلوبة للوصول إلى الأمثل العاموقت كل تكرار : التكلفة الحسابية للخوارزميةمقارنة 5 حزم Python رئيسية:
BoTorch (v0.8.4): الأكثر شمولاً من حيث الوظائفbayes_opt (v1.4.3): خفيفة الوزنSMAC3 (v2.0.0): متوسطة التعقيدpyGPGO (v0.5.0): خفيفة الوزنNUBO (v1.0.3): طريقة هذه الورقةالتكوين الموحد :
نموذج بديل: عملية غاوسية دالة الاستحواذ: حد الثقة العلوي (UCB) عدد التشغيلات: 10 تجارب متكررة الأجهزة: Apple Mac mini (M2، 16GB) النقاط الأولية: تم إنشاؤها من خلال أخذ عينات من المكعب اللاتيني Levy: 30 تقييم Hartmann: 60 تقييم حجم الدفعة: 4 Levy: 30 تقييم (7.5 دفعة) Hartmann: 100 تقييم (25 دفعة) اسم الحزمة Levy 2D (متسلسل) Hartmann 6D (متسلسل) Levy 2D (متوازي) Hartmann 6D (متوازي) NUBO -0.04 (±0.06) 3.28 (±0.06) -0.04 (±0.04) 3.27 (±0.06) BoTorch -0.21 (±0.20) 3.27 (±0.07) -0.27 (±0.21) 3.26 (±0.06) SMAC3 -0.71 (±0.58) 2.70 (±0.38) - - bayes_opt -0.64 (±0.74) 3.20 (±0.13) - - pyGPGO -0.28 (±0.31) 2.64 (±1.05) - -
النتائج الرئيسية :
NUBO الأقرب إلى القيمة الحقيقية الأمثل في جميع الاختبارات (Levy: 0.00، Hartmann: 3.32)أقل تباين : أفضل استقرار النتائجأفضل أداء بين الحزم الخفيفة الوزن : متفوق على bayes_opt و pyGPGOقوة تنافسية قوية مع الحزم المعقدة : معادل أو أفضل من BoTorch و SMAC3اسم الحزمة Levy 2D (متسلسل) Hartmann 6D (متسلسل) Levy 2D (متوازي) Hartmann 6D (متوازي) NUBO 0.60s 1.88s 0.07s 2.20s BoTorch 0.09s 0.22s 0.00s 0.19s SMAC3 0.08s 0.25s - - bayes_opt 0.14s 0.24s - - pyGPGO 0.23s 0.65s - -
التحليل :
NUBO يستغرق وقتاً أطول لكل تكرار (بحد أقصى 2.20 ثانية) لكن بالنسبة للدوال السوداء الصندوقية المكلفة، هذا يمكن تجاهله :
التجارب الفيزيائية: قد تستغرق ساعات/أيام المحاكاة المعقدة: قد تستغرق دقائق/ساعات 2 ثانية إضافية غير ذات أهمية مقارنة بتكلفة التقييم A) تحسين Levy ثنائي الأبعاد متسلسل :
NUBO يتقارب بسرعة إلى الأمثل العام bayes_opt و pyGPGO لديهما تذبذب أكبر SMAC3 يظهر أداء أضعف B) تحسين Hartmann سادس الأبعاد متسلسل :
جميع الطرق تتقارب NUBO و BoTorch الأقرب إلى الأمثل الحقيقي SMAC3 و pyGPGO لديهما تباين كبير C) تحسين Levy ثنائي الأبعاد متوازي :
NUBO و BoTorch يظهران أداء متشابهة استراتيجية التوازي فعالة D) تحسين Hartmann سادس الأبعاد متوازي :
NUBO أبطأ قليلاً من BoTorch في الوصول إلى قيم عالية لكن القيمة النهائية أفضل وأكثر استقراراً المهمة : دالة Hartmann سادسة الأبعاد، البعد الأول معامل منفصل (11 قيمة)
الإعداد :
النقاط الأولية: 30 (5 × البعد) تكرارات التحسين: 10 حجم الدفعة: 4 دالة الاستحواذ: MC-UCB (β=4، 128 عينة) النتائج :
وجدت الحل الأمثل في التقييم 53 الإدخال: 0.4, 0.9136, 1.0, 0.5669, 0.0, 0.0802 الإخراج: 3.2133 (الأمثل الحقيقي 3.32237) الخطأ: 3.3% فقط مقارنة مع أخذ العينات العشوائي و LHS (الشكل 5):
NUBO متفوق بشكل ملحوظ على أخذ العينات العشوائي والمكعب اللاتيني بعد 70 تقييم الأقرب إلى الأمثل الحقيقي الإيجاز لا يضحي بالأداء : 1,322 سطر كود يحقق أداء معادلة للـ 38,419 سطر من BoTorchميزة الاستقرار : أقل خطأ معياري، مناسب للتطبيقات العمليةاستراتيجية التوازي فعالة : استراتيجية التسلسل الجشع تظهر أداء جيدة في المشاكل الحقيقيةالتحسين المختلط قابل للتطبيق : نجح في التعامل مع مساحة معاملات منفصلة-مستمرة مختلطةالتكلفة الحسابية مقبولة : بالنسبة للدوال السوداء الصندوقية المكلفة، التكلفة الإضافية بالثواني يمكن تجاهلهاالميزة NUBO BoTorch GPyOpt أخرى معياري ✓ ✓ ✓ جزئي تحسين متوازي ✓ ✓ ✓ ✗ تحسين متزامن ✓ ✓ ✗ ✗ تعقيد الكود منخفض مرتفع متوسط منخفض-متوسط حالة الصيانة نشط نشط مؤرشف نشط
لغة R :
rBayesianOptimization: وظائف أساسية ParBayesianOptimization: دعم متوازي تحسين المعاملات الفائقة : ضبط نماذج التعلم الآلي (Spearmint، SMAC3)البحث عن بنية الشبكات العصبية : BANANAS وغيرهاالتطبيقات العلمية : ديناميكيات السوائل، الهندسة الكيميائية، تصميم الموادالمستخدمون المستهدفون : باحثون متعددو التخصصات (غير خبراء ML)فلسفة التصميم : الشفافية > الوظائف الغنيةحالات التطبيق : تحسين التجارب الفيزيائية والمحاكاةNUBO ينجح في تحقيق التوازن بين الشفافية والأداء :تطبيق وظائف كاملة بكود قليل جداً (1,322 سطر) الأداء معادلة أو أفضل من الحزم المعقدة (BoTorch) دعم وظائف شامل :تحسين متسلسل/متوازي/متزامن تحسين مقيد ومعاملات مختلطة تصميم معياري قابل للتخصيص بسهولة مناسب للتطبيقات متعددة التخصصات :توثيق وكود واضح تصميم API بديهي خوارزميات موثوقة مختارة بعناية نظام بيئي مفتوح المصدر جيد :بناءً على نظام PyTorch البيئي ترخيص BSD 3-Clause صيانة نشطة الكفاءة الحسابية :كل تكرار أبطأ بحوالي 10 مرات من BoTorch لكن يمكن تجاهله بالنسبة للدوال السوداء الصندوقية المكلفة قابلية التوسع للتحسين المختلط :استراتيجية التعداد غير قابلة للتطبيق عندما يكون عدد الأبعاد/القيم المنفصلة كبيراً جداً لم يتم توفير بديل أكثر كفاءة تغطية الوظائف :لا يدعم تحسين متعدد الأمانة (multi-fidelity) لا يدعم تحسين متعدد الأهداف (multi-objective) لا يدعم طرق متخصصة لتحسين عالي الأبعاد اختيار الخوارزمية محدود :فقط دالتا استحواذ (EI و UCB) لم يتم تضمين طرق شهيرة أخرى (مثل Knowledge Gradient و Entropy Search) الاختبار المعياري محدود :فقط دالتان اصطناعيتان نقص حالات تطبيق حقيقية للمقارنة لم يتم اختبار المشاكل عالية الأبعاد (>10 أبعاد) حساسية المعاملات الفائقة :اختيار معامل β يفتقر إلى التوجيه الآلي تأثير عدد عينات مونت كارلو لم يتم تحليله بشكل كامل التحقق من قابلية التوسع غير كافٍ :لم يتم اختبار التوازي على نطاق واسع (دفعة > 4) قدرات تسريع GPU لم يتم عرضها الخطط الموسعة المذكورة بوضوح في الورقة:
تحسين متعدد الأمانة : الاستفادة من المحاكاة بدقة مختلفة لتسريع التحسينتحسين متعدد الأهداف : تحسين عدة أهداف متعارضة في نفس الوقتتحسين عالي الأبعاد : تطوير طرق متخصصة لمساحات عالية الأبعاد (مثل التضمين والتضمين العشوائي)ليس ابتكار خوارزمي : لم يتم اقتراح خوارزميات تحسين بايز جديدةابتكار هندسي : إيجاد توازن ممتاز بين الإيجاز والوظائفابتكار التصميم : البنية المعيارية تقلل من عتبة الاستخدام✓ المميزات :
مقارنة عرضية مع 5 حزم رئيسية 10 تجارب متكررة، توفير دلالة إحصائية تغطية سيناريوهات متسلسلة ومتوازية دراسة حالة مفصلة ✗ النقائص :
دالتا معيار فقط، أبعاد منخفضة نقص مقارنات التطبيقات الحقيقية عدم اختبار الحالات الحدية (عالية الأبعاد، دفعات كبيرة) أدلة كمية : تحقيق الأمثل أو الاقتراب من الأمثل في جميع الاختباراتالاستقرار : أقل خطأ معياريمقارنة حجم الكود : تحديد كمي لميزة الإيجازالإفصاح الصادق : الإفصاح الصريح عن عيوب الكفاءةهيكل واضح: خلفية → طريقة → تجربة → حالة دراسة صيغ مفصلة: اشتقاق رياضي كامل أمثلة كود غنية: كل ميزة لها مقطع كود تصور فعال: مخططات تدفق، منحنيات تقارب، مخططات مقارنة كود مفتوح المصدر وتوثيق إعداد تجربة مفصل توفير مواد الاستنساخ معلومات الإصدار الواضحة عدم كفاءة استراتيجية التعداد : التحسين المختلط غير قابل للتطبيق عندما يكون عدد الأبعاد/القيم المنفصلة كبيراًاختيار الخوارزمية محافظ : فقط EI و UCB، لم يتم تضمين طرق أكثر حداثة (مثل qKG و MES)نقص الاستراتيجيات التكيفية : معاملات مثل β تتطلب ضبط يدوياختبار معياري ضعيف :دالتان اصطناعيتان فقط أقصى بعد 6 فقط نقص اختبارات قوة الضوضاء مقارنة غير شاملة :لم يتم المقارنة مع حزم R لم يتم اختبار تسريع GPU لم يتم تقييم استهلاك الذاكرة قيود دراسة الحالة :لا تزال دالة اصطناعية لم يتم عرض تطبيقات علمية حقيقية لا توجد ضمانات تقارب لا يوجد تحليل تعقيد العينة لم يتم مناقشة الخصائص النظرية لاستراتيجية التسلسل الجشع الكفاءة الحسابية : أبطأ بحوالي 10 مرات من BoTorchقابلية التوسع غير المعروفة :
أداء التوازي على نطاق واسع؟ أداء عالية الأبعاد؟ الاستقرار العددي على المدى الطويل؟ مساهمة هندسية كبيرة : تقليل عتبة الاستخدام للباحثين متعددي التخصصاتمساهمة خوارزمية محدودة : لم يتم اقتراح طرق جديدةقيمة تعليمية عالية : التطبيق الواضح يمكن أن يكون مادة تعليميةحالات الاستخدام الموصى بها :
✓ تحسين التجارب الفيزيائية (تقييم مكلف) ✓ محاكاة الهندسة (مشاكل متوسطة الحجم) ✓ التعليم والتطوير الأولي ✓ مشاريع البحث تتطلب فهم تفاصيل الخوارزمية حالات الاستخدام غير الموصى بها :
✗ البحث عن المعاملات الفائقة على نطاق واسع (متطلبات كفاءة عالية) ✗ تحسين عالي الأبعاد (>20 بعد) ✗ البحث التنافسي يتطلب أحدث الخوارزميات كود مفتوح المصدر وتوثيق كامل تثبيت pip سهل صيانة نشطة المستخدمون الأساسيون : العلماء التجريبيون والمهندسونالمستخدمون الثانويون : باحثو ML (التطوير الأولي)المستخدمون التعليميون : الطلاب والمعلمونالتقييم مكلف جداً :تجارب فيزيائية (ساعات/أيام) محاكاة عالية الدقة (دقائق/ساعات) في هذه الحالة، تكلفة الخوارزمية بالثواني يمكن تجاهلها الحاجة لفهم الخوارزمية :مشاريع بحثية تتطلب تعديل الخوارزمية أغراض تعليمية وتعلمية الحاجة لتصحيح وشرح النتائج مشاكل متوسطة الحجم :أبعاد المعاملات ≤ 10 حجم الدفعة المتوازية ≤ 10 معاملات منفصلة ≤ 3 أبعاد الحاجة لميزات محددة :تحسين مقيد مساحة معاملات مختلطة تقييم متزامن استخدام BoTorch :الحاجة لأحدث الخوارزميات مشاكل عالية الأبعاد (>20 بعد) توازي واسع النطاق تسريع GPU حرج استخدام SMAC3 :تحسين المعاملات الفائقة الحاجة لأداة صناعية ناضجة استخدام bayes_opt :تحسين متسلسل بسيط الحاجة لأقل اعتماديات 1 Frazier (2018): دليل تعليمي حول تحسين بايز9 Jones et al. (1998): التحسين العام الفعال - الورقة الأصلية لـ EI10 Snoek et al. (2012): تحسين بايز العملي - العمل الأساسي لـ BO الحديث11 Shahriari et al. (2015): إزالة الإنسان من الحلقة - ورقة استقصائية28 Gramacy (2020): البدائل - كتاب GP عملي30 Rasmussen & Williams (2006): العمليات الغاوسية للتعلم الآلي - كتاب كلاسيكي27 Wilson et al. (2018): تعظيم دوال الاستحواذ - استراتيجيات التحسين على دفعات32 Srinivas et al. (2010): تحسين GP في إعداد المقامرة - الأساس النظري لـ UCB22 BoTorch (Balandat et al., 2020): المنافس الرئيسي21 SMAC3 (Lindauer et al., 2022): تحسين المعاملات الفائقة35 GPyTorch (Gardner et al., 2018): الخلفية الخاصة بـ GP في NUBOالبعد التقييم الشرح الابتكار 3/5 ابتكار هندسي قوي، ابتكار خوارزمي ضعيف الجودة التقنية 4/5 التطبيق موثوق، لكن الكفاءة تحتاج تحسين كفاية التجربة 3.5/5 المقارنة شاملة، لكن المعايير محدودة جودة الكتابة 5/5 واضحة وشاملة وقابلة للاستنساخ القيمة العملية 4/5 مفيدة جداً في حالات محددة إمكانية التأثير 3.5/5 ملء فجوة سوق محددة، لكن ليس اختراقي
التقييم الشامل : هذه ورقة أداة ممتازة ، تحقق بنجاح هدفها الأساسي - توفير أداة تحسين بايز شفافة وسهلة الاستخدام للباحثين متعددي التخصصات. على الرغم من أن الابتكار الخوارزمي محدود، إلا أنها حققت مساهمات كبيرة في التصميم الهندسي وتجربة المستخدم. مناسبة بشكل خاص للتطبيقات العلمية والهندسية التي تحتاج إلى تحسين دوال سوداء صندوقية مكلفة. معايير الكود والتوثيق العالية تستحق أن تكون نموذجاً لمشاريع مفتوحة المصدر أخرى.