دوره آموزشی شبکه های عصبی PINN

مشخصات دوره

طول دوره: 12 ساعت
تعداد جلسات: 6 جلسه (هرجلسه دو ساعت)
هزینه شرکت در دوره: شهریه دوره
 2,500,000 تومان می باشد.
زبان برنامه نویسی: در این دوره از زبان برنامه نویسی پایتون استفاده می گردد.
مدرس: دکتر مهدی شاداب فر

شرح دوره

شبکه‌های عصبی مصنوعی (ANN) در سال‌های اخیر به دلیل توانایی‌شان در حل مسائل پیچیده به طور فزاینده‌ای محبوب شده‌اند. با این حال، استفاده از ANN سنتی بر پایه جمع‌آوری داده است که عموماً در دسترس نیستند. از طرفی، مسائل مهندسی غالباً توسط معادلات دیفرانسیل جزئی (PDE) بنا شده‌اند و شبکه‌های عصبی نمی‌توانند درکی از معادلات دیفرانسیل و فیزیک حاکم بر این مسائل داشته باشند. برای غلبه بر این چالش‌ها، شبکه‌های عصبی مطلع از فیزیک (PINN) توسعه داده شده‌اند. PINNها با ترکیب قدرت ANN با معادلات حاکم فیزیکی، سعی می‌کنند بدون نیاز به داده و با درک معادلات حاکم بر مسائل، راه‌حل‌های دقیق و کم‌هزینه‌ای ارائه نمایند. در PINN، یک شبکه عصبی به جای حل مستقیم  PDEها، وظیفه یادگیری توابعی را بر عهده دارد که معادلات و شرایط مرزی را برآورده می‌کنند. این فرآیند از طریق بهینه‌سازی تابع ضرر انجام می‌شود که خطای بین خروجی شبکه عصبی و معادلات را کمینه می‌کند. PINNها در حال حاضر در طیف گسترده‌ای از مسائل از جمله تحلیل رفتار سازه‌ها، شبیه‌سازی جریان سیالات، تحلیل محیط‌های متخلخل و ... استفاده می‌شوند.

دلایلی که نیاز به آشنایی با PINN ها را دو چندان می کند:
• قابلیت حل مسائل پیچیده: PINNها می‌توانند برای حل مسائلی به کار گرفته شوند که حل تحلیلی یا عددی آنها دشوار یا غیرممکن است.
• عدم نیاز به داده برای آموزش: PINNها برای آموزش الزاما نیازی به داده ندارند، که این امر آنها را برای مسائلی که جمع‌آوری داده‌های آنها دشوار یا پرهزینه است، مناسب می‌کند. البته در صورت وجود داده می توان از آنها برای افزایش دقت شبکه استفاده نمود.
• قابلیت تفسیر نتایج: برخلاف روش‌های سنتی هوش مصنوعی، نتایج حاصل از PINNها به طور ذاتی قابل تفسیر هستند، که این امر به درک بهتر پدیده‌های فیزیکی مورد مطالعه کمک می‌کند.
• افزایش توانایی پژوهشی: شبکه‌های عصبی PINN یک حوزه پژوهشی نوظهور با پتانسیل‌ بالا برای انتشار یافته‌های علمی است. با یادگیری PINN در این دوره، مهارت نگارش مقالات و پروپوزال‌های علمی قوی و در مرز دانش را کسب خواهید کرد و به جمع پیشگامان این حوزه خواهید پیوست.
​​​​​​​
این دوره آموزشی برای چه کسانی مفید است؟
• دانشجویان، اساتید و پژوهشگران دانشگاهی
• افرادی که به نحوی با انواع معادلات دیفرانسیل سرو کار دارند.
• علاقه‌مندان به یادگیری ماشین و هوش مصنوعی

محتوای دوره

1. جلسه اول: آشنایی با کاربرد PINN در حل معادلات دیفرانسیل

1.1. مقدمه ای بر معادلات دیفرانسیل و حل عددی آنها
2.1. معادله دیفرانسیل انتقال حرارت و ضرایب آن
     1.2.1. معرفی معادله دیفرانسیل
     2.2.1. بررسی شرایط مرزی و اولیه
     3.2.1. تعریف انواع مشتق گیری عددی
     4.2.1. گسسته سازی معادله دیفرانسیل در فضا و مکان
     5.2.1. حل معادله دیفرانسیل با استفاده از روش تفاضل محدود در پایتون
     6.2.1. بررسی نتایج
3.1. کاربرد شبکه های عصبی در حل معادلات دیفرانسیل
4.1. تبدیل معادله دیفرانسیل به یک مسئله بهینه سازی
5.1. نحوه فرمول بندی تابع هزینه
     1.5.1. هزینه ناشی از خطای شبکه عصبی در تخمین نتایج
     2.5.1. هزینه ناشی از شراط مرزی
     3.5.1. هزینه ناشی از شرایط اولیه
     4.5.1. هزینه ناشی از داده های احتمالی موجود
6.1. نحوه آموزش شبکه عصبی با استفاده از کمینه سازی تابع هزینه

2. جلسه دوم: حل یک معادله دیفرانسیل با PINN – بخش اول

1.2. معرفی آناکوندا 
     1.2.2. آشنایی با آناکوندا
     2.2.2. ساخت environment
     3.2.2. نصب پکیج های مورد نیاز
     4.2.2. راه اندازی spyder بر روی environment تشکیل شده
2.2. معادله دیفرانسیل برگرز
     1.2.2. معرفی معادله دیفرانسیل برگرز و کاربردهای آن
     2.2.2. بررسی شرایط مرزی و اولیه
     3.2.2. بررسی جواب کلی معادله دیفرانسیل
3.2.
بررسی گام های حل معادله دیفرانسیل با استفاده از PINN
4.2. معرفی معماری شبکه عصبی در پایتورچ
5.2. تعریف متغیرها و گسسته سازی آنها
6.2. تعیین شرایط مرزی و اولیه و اعمال آن بر grid point ها
7.2. تعیین الگوریتم بهینه سازی
     1.7.2. چگونگی استفاده از بیش از یک الگوریتم بهینه سازی
     2.7.2. الگوریتم بهینه سازی adam و پیاده سازی آن در پایتورچ
     3.7.2. الگوریتم بهینه سازی L-BFGS و پیاده سازی آن در پایتورچ

1.3. تعریف تابع هزینه
     1.2.3. نحوه محاسبه مشتقات اول و دوم شبکه عصبی
     2.2.3. مشتق گیری از شبکه عصبی در پایتورچ
     3.2.3. محاسبه هزینه ناشی از خطای شبکه عصبی
     4.2.3. محاسبه هزینه ناشی از شرایط مرزی
     5.2.3. محاسبه هزینه ناشی از شرایط اولیه
     6.2.3. محاسبه هزینه کل
2.3. آموزش شبکه عصبی
     1.2.3. تعریف توابع و پارامترهای لازم برای آموزش 
     2.2.3. آموزش شبکه عصبی با الگوریتم بهینه سازی adam
     3.2.3. آموزش ثانویه شبکه عصبی با الگوریتم بهینه سازی L-BFGS

3.3. بررسی خروجی های PINN
     1.3.3. تشکیل grid point ها با رزولوشن بالا در کل دامنه
     2.3.3. استخراج جواب PINN در محل grid point ها
     3.3.3. ترسیم کانتور نتایج
     4.3.3. ترسیم پلات ها در نقاط زمانی مختلف

3. جلسه سوم: حل یک معادله دیفرانسیل با PINN – بخش دوم

1.4. تعریف معادله دیفرانسیل
     1.1.4. معرفی یک معادله دیفرانسیل 2 بعدی
     2.1.4. معرفی ترم های مکانی و زمانی معادله دیفرانسیل
     3.1.4. بررسی شرایط مرزی و اولیه
2.4. بررسی گام های حل معادله دیفرانسیل
3.4. شبکه عصبی
     1.3.4. تعریف معماری شبکه عصبی
     2.3.4. پیاده سازی شبکه عصبی 
با استفاده از کلاس nn.Module
4.4. تولید نقاط محاسباتی
     1.4.4. تولید نقاط محاسباتی در کل فضای محاسباتی
     2.4.4. تولید نقاط محاسباتی بر روی مرزهای مدل
     3.4.4. تولید نقاط تصادفی در راستای محور زمان
     4.4.4. مقدار دهی به تمام نقاط محاسباتی در فضای حل و روی مرزهای مدل

4. جلسه چهارم: استفاده از PINN با نقاط محاسباتی تصادفی – بخش اول

1.5. تعریف تابع هزینه
     1.1.5. محاسبه خروجی شبکه عصبی در نقاط محاسباتی
     2.1.5. محاسبه مشتقات شبکه عصبی در نقاط محاسباتی
     3.1.5. محاسبه هزینه ناشی از خطای شبکه عصبی در تخمین جواب معادله دیفرانسیل
​​​​​​​     4.1.5. محاسبه هزینه ناشی از تخمین شرایط مرزی و اولیه
     5.1.5. محاسبه هزینه کل
2.5. آموزش مدل
     1.2.5. تعریف الگوریتم بهینه سازی و تعیین پارامترها
     2.2.5. تعیین تعداد گام های حل
     3.2.5. آموزش مدل با حداقل سازی تابع هزینه
3.5. بررسی خروجی های PINN
     1.3.5. تشکیل grid point ها با رزولوشن بالا در کل دامنه
     2.3.5. استخراج جواب PINN در محل grid point ها
     3.3.5. ترسیم کانتور نتایج در نقاط زمانی مختلف

5. جلسه پنجم: استفاده از PINN با نقاط محسباتی تصادفی  بخش دوم

1.6. معرفی کتابخانه DeepXDE
     1.1.6. نگاهی بر کلیات کتابخانه و توانایی های آن
     2.1.6. مروری بر سیر توسعه کتابخانه DeepXDE
     3.1.6. نحوه نصب کتابخانه DeepXDE در محیط پایتون
     4.1.6. تشریح مراحل مدلسازی در DeepXDE

2.6. آموزش شبکه عصبی با استفاده از داده در DeepXDE
     1.2.6. تولید داده از یک تابع
     2.2.6. پیاده سازی معماری شبکه عصبی
     3.2.6. آموزش شبکه عصبی با داده های تولید شده
     4.2.6. ترسیم خروجی ها و بررسی دقت شبکه​​​​​​​

3.6. تعریف یک معادله دیفرانسیل وابسته به زمان برای حل با استفاده از DeepXDE
     1.3.6. معرفی معادله دیفرانسیل
     2.3.6. تعریف پارامترهای مورد نیاز در DeepXDE
     3.3.6. دامنه محاسباتی مکان-زمان
     4.3.6. تعریف شرایط مرزی و اولیه
4.6. پیاده سازی معادله دیفرانسیل در DeepXDE
     1.4.6. تعریف مشتقات شبکه عصبی با استفاده از اپراتورهای Jacobian و Hessian
     2.4.6. پیاده سازی معادله دیفرانسیل در DeepXDE
5.6. آموزش مدل
     1.5.6. تشکیل گرید پوینت ها به شکل تصادفی در کل دامنه محاسباتی و بر روی مرزها
     2.5.6. تعریف و پیاده سازی معماری شبکه عصبی
     3.5.6. تعریف بهینه ساز Adam
     4.5.6. تعریف بهینه ساز L-BFGS-B
     5.5.6. آموزش شبکه عصبی با اجرای بهینه سازی
6.6. تحلیل و بررسی خروجی های PINN
     1.6.6. ترسیم نمودار یادگیری و بررسی آن
     2.6.6. ترسیم نمودار مکان-زمان-u از خروجی PINN
 7.6. مسیر مطالعه برای پژوهش بیشتر با استفاده از DeepXDE

6. جلسه ششم: کتابخانه DeepXDE برای پیاده سازی PINN

ثبت نام در دوره

این دوره به طور کامل ضبط و ویرایش شده است. این دوره آموزشی را می توانید هم اکنون از لینک زیر سفارش دهید.

تهیه دوره

نظرات شرکت کنندگان دوره

مجتبی جوهری مقدم
سلام دوره بسیار خوبی بود. با وجود اینکه حتی یک بار هم محیط پایتون رو باز نکرده بودم، آموزش طوری صورت گرفت که هیچ حس نا آشنایی به محیط و یا تعاریف نداشته باشم و تشکر می کنم بابت آموزش فوق العاده استاد شاداب فر.

ساغر محمودی
با تشکر از استاد عزیز و تلاش های فراوانشان من از محتوای آموزشی بسیار راضی بودم. این دوره به من کمک کرد تا مهارت‌هایم را به طور قابل توجهی ارتقا دهم. و اولین دوره برنامه نویسی بود که تمامی مطالب به خوبی و روان آموزش داده می‌شد.

پرسش‌های متداول

سبد خرید

رمز عبورتان را فراموش کرده‌اید؟

ثبت کلمه عبور خود را فراموش کرده‌اید؟ لطفا شماره همراه یا آدرس ایمیل خودتان را وارد کنید. شما به زودی یک ایمیل یا اس ام اس برای ایجاد کلمه عبور جدید، دریافت خواهید کرد.

بازگشت به بخش ورود

کد دریافتی را وارد نمایید.

بازگشت به بخش ورود

تغییر کلمه عبور

تغییر کلمه عبور

حساب کاربری من

سفارشات

مشاهده سفارش