
الوحدات العصبية ذات القيود غير الخطية التكيفية والتنظيم الفعال (Neuromancer) هي مكتبة برمجة قابلة للتفاضلة (DP) مفتوحة المصدر (DP) لحل مشاكل التحسين المقيدة للبرامترية ، وتحديد النظام المستنير في الفيزياء ، والتحكم الأمثل القائم على النموذج البارامتريك. تتم كتابة Neuromancer في Pytorch ويسمح بالتكامل المنهجي للتعلم الآلي مع الحوسبة العلمية لإنشاء نماذج وخوارزميات قابلة للتمييز شاملة إلى جانب المعرفة والفيزياء السابقة.
نحن نوسع أمثلة مجال أنظمة الطاقة لدينا مع التنبؤ بالحمل للمباني. نعرض استخدام نمذجة السلاسل الزمنية والتنبؤ باستخدام مجموعة بيانات التنبؤ بحمل الكهرباء على المدى القصير (دراسة حالة بنما). نوضح capaibilities التنبؤ باستخدام نموذج محول ، كتلة جديدة تضاف إلى blocks.py (العصبي) ، وكذلك الكتل القياسية الأخرى. نستخدم أيضًا بيانات الطقس التاريخية للمساعدة في التنبؤ بالطاقة.
اجتذبت شبكات Kolmogorov-Arnold (KANS) الانتباه مؤخرًا كبديل عن إدراكات متعددة الطبقات (MLPs) للتعلم الآلي العلمي. ومع ذلك ، يمكن أن يكون Kans مكلفًا للتدريب ، حتى بالنسبة للشبكات الصغيرة نسبيًا. لقد قمنا بتنفيذ كتلة FBKAN (FBPINNS) ، لطريقة تحلل المجال لـ KANS التي تسمح بتدريب العديد من Kans الصغيرة بالتوازي لإعطاء حلول دقيقة للمشاكل المتعددة.
أمثلة كولاب جديدة:
التنبؤ تحميل
تقريب الوظيفة مع شبكات Kolgomorov-Arnold
ببساطة الجري
pip install neuromancer
للتثبيت اليدوي ، يرجى الرجوع إلى تعليمات التثبيت
يمكن العثور على مجموعة واسعة من البرامج التعليمية في مجلد الأمثلة والبرامج التعليمية أدناه. تتوفر إصدارات دفاتر التفاعلية من الأمثلة على Google Colab! اختبر وظائف السرعة العصبية قبل استنساخ المستودع وإعداد بيئة.
تقدم دفاتر الملاحظات أدناه التجريدات الأساسية لمكتبة Neuromancer ، على وجه الخصوص ، واجهة البرمجة الرمزية لدينا وفئات العقدة.
الجزء 1: الانحدار الخطي في Pytorch vs Neuromancer.
الجزء 2: تعليمي بناء الجملة العصبي: المتغيرات والقيود والأهداف.
الجزء 3: تعليمي بناء الجملة العصبية: الوحدات النمطية والعقدة وفئة النظام.
مثال سريع على كيفية حل مشكلة التحسين المقيدة المقيدة للبرامترية باستخدام Neuromancer ، والاستفادة من واجهة البرمجة الرمزية لدينا ، والعقدة والمتغير ، والكتل ، والمكتبة النحيفة ، وفئات Penaltyloss.
# Neuromancer syntax example for constrained optimization
import neuromancer as nm
import torch
# define neural architecture
func = nm . modules . blocks . MLP ( insize = 1 , outsize = 2 ,
linear_map = nm . slim . maps [ 'linear' ],
nonlin = torch . nn . ReLU , hsizes = [ 80 ] * 4 )
# wrap neural net into symbolic representation via the Node class: map(p) -> x
map = nm . system . Node ( func , [ 'p' ], [ 'x' ], name = 'map' )
# define decision variables
x = nm . constraint . variable ( "x" )[:, [ 0 ]]
y = nm . constraint . variable ( "x" )[:, [ 1 ]]
# problem parameters sampled in the dataset
p = nm . constraint . variable ( 'p' )
# define objective function
f = ( 1 - x ) ** 2 + ( y - x ** 2 ) ** 2
obj = f . minimize ( weight = 1.0 )
# define constraints
con_1 = 100. * ( x >= y )
con_2 = 100. * ( x ** 2 + y ** 2 <= p ** 2 )
# create penalty method-based loss function
loss = nm . loss . PenaltyLoss ( objectives = [ obj ], constraints = [ con_1 , con_2 ])
# construct differentiable constrained optimization problem
problem = nm . problem . Problem ( nodes = [ map ], loss = loss )تم تصميم Neuromancer لمعالجة مجموعة متنوعة من مشاكل النمذجة والتحكم الخاصة بالمجال باستخدام مجموعة من الأساليب. نوضح هنا كيفية تصميم أنظمة طاقة البناء والتحكم فيها ، بالإضافة إلى تطبيق تقنيات التنبؤ بالحمل.
لمزيد من التغطية المتعمقة لأساليبنا ، يرجى الاطلاع على قسم الدروس العامة أدناه.
يتيح لك Neuromancer صياغة وحل فئة واسعة من مشاكل التحسين البارامترية الاستفادة من التعلم الآلي لتعلم الحلول لمثل هذه المشكلات. مزيد من المعلومات حول البرمجة البارامترية
الجزء 1: تعلم حل مشكلة التحسين المقيدة.
الجزء 2: تعلم حل مشكلة التحسين المقيدة في التربيع.
الجزء 3: تعلم حل مجموعة من مشاكل التحسين المقيدة ثنائية الأبعاد.
الجزء 4: تعلم حل مشكلة التحسين المقيدة مع التدرج المتوقع.
الجزء 5: استخدام cvxpylayers للإسقاط القابل للتمييز على مجموعة مجدية متعددة.
الجزء 6: تعلم التحسين مع التعلم المتري لطبقات تقسيم المشغل.
يتيح لك Neuromancer تعلم سياسات التحكم من أجل الطيف الكامل للأنظمة الديناميكية البيضاء/الرمادية/السوداء/الصندوق الأسود ، مع مراعاة قيود الاختيار والوظائف الموضوعية. مزيد من المعلومات حول التحكم التنبئي التفاضلي
Neuromancer محدثة مع أساليب أحدث. نعرض هنا شبكات Kolgomorov-Arnold Strong
يسمح Neuromancer لأحدهم باستخدام التعلم الآلي ، والفيزياء السابقة ومعرفة المجال ، لبناء نماذج رياضية وتفاضلية للأنظمة الديناميكية بالنظر إلى الملاحظات المقاسة لسلوك النظام. مزيد من المعلومات حول معرف النظام عبر نماذج فضاء الحالة العصبية والخروج
تصميم البرمجة الرمزية لـ Neuromancer مناسب تمامًا لحل pinns. مزيد من المعلومات حول pinns
تم دمج Neuromancer مع Torchsde للتعامل مع الأنظمة الديناميكية العشوائية. مزيد من المعلومات حول SDEs
قمنا بدمج Lightning Pytorch لتبسيط الكود ، وتمكين منطق التدريب المخصص ، ودعم GPU وإعدادات GPU متعددة ، والتعامل مع مهام التعلم على نطاق واسع ، كثيفة الذاكرة.
يمكن العثور على وثائق المكتبة عبر الإنترنت. يوجد أيضًا مقطع فيديو مقدمة يغطي الميزات الأساسية للمكتبة.
لمزيد من المعلومات ، بما في ذلك تلك الخاصة بالمطورين ، يرجى الانتقال إلى دليل المطورين والمستخدمين لدينا
نرحب بالمساهمات والتعليقات من مجتمع المصدر المفتوح!
يرجى قراءة إرشادات تطوير المجتمع لمزيد من المعلومات حول المساهمات والمناقشات والقضايا.
راجع ملاحظات الإصدار التي توثق ميزات جديدة.
يأتي Neuromancer مع ترخيص BSD. انظر الترخيص لمزيد من التفاصيل.
@article{Neuromancer2023,
title={{NeuroMANCER : Neural Modules with Adaptive Nonlinear Constraints and Efficient Regularizations}},
author={Drgona, Jan and Tuor, Aaron and Koch, James and Shapiro, Madelyn and Jacob, Bruno and Vrabie, Draguna},
Url= {https://github.com/pnnl/neuromancer},
year={2023}
} المطورين الأساسيون النشطون : جان درغونا ، راهول بيرميوال ، برونو يعقوب
المساهمون البارزين : آرون تور ، مادلين شابيرو ، جيمس كوتش ، سيث بريني ، بو تانغ ، إيثان كينج ، إليوت سكومسكي ، تشاو تشن ، كريستيان مولد ليغارد
المستشارون العلميون : دراجونا فراابي ، بانوس ستينيس
مساهمات مفتوحة المصدر قدمها:
صنعت مع contrib.rocks.
تم دعم هذا البحث جزئيًا من قبل الرياضيات من أجل التفكير الاصطناعي في العلوم (MARS) ومبادرات التقارب النموذجية (DMC) عبر الاستثمارات في مجال الأبحاث والتطوير الموجه (LDRD) في Pacific Northwest National Systems (PNNL) ، من خلال إدارة الطاقة المتجددة في مجال الطاقة المتجددة (DNC2 ". طاقة ، مكتب تقنيات البناء في إطار "إزالة الكربون الديناميكي من خلال التعلم العميق المتمحور حول الفيزياء المتمحورة حول الفيزياء وتحسين عمليات البناء" و "تقدم إدارة الطاقة الجاهزة للسوق عن طريق التحكم التنبؤي الفعال من حيث التكلفة". تم دعم هذا المشروع أيضًا من وزارة الطاقة الأمريكية ، وهو برنامج أبحاث الحوسبة العلمية المتقدمة ، بموجب القياس الكمي لمشروع تعليم مشغل متعددة (MOLUCQ) (المشروع رقم 81739). PNNL هو مختبر وطني متعدد البرامج يتم تشغيله لوزارة الطاقة الأمريكية (DOE) من قبل معهد Battelle التذكاري بموجب العقد رقم DE-AC05-76RL0-1830.