สถาปัตยกรรม GPT-PINN
สัมมนา DDPS ที่ Lawrence Livermore Lab
สัมมนากลุ่ม Brown CRUNCH
การวิเคราะห์เชิงตัวเลขของการสัมมนา ROM ของ Galerkin
โครงข่ายประสาทเทียมที่ได้รับข้อมูลจากฟิสิกส์ (PINN) ได้พิสูจน์ตัวเองแล้วว่าเป็นเครื่องมืออันทรงพลังในการหาคำตอบเชิงตัวเลขของสมการเชิงอนุพันธ์ย่อยแบบไม่เชิงเส้น (PDE) โดยใช้ประโยชน์จากการแสดงออกของโครงข่ายประสาทเชิงลึกและพลังการประมวลผลของฮาร์ดแวร์ที่ต่างกันสมัยใหม่ อย่างไรก็ตาม การฝึกอบรมยังคงใช้เวลานาน โดยเฉพาะอย่างยิ่งในการตั้งค่าการจำลองแบบหลายแบบสอบถามและแบบเรียลไทม์ และการกำหนดพารามิเตอร์มักจะมากเกินไปจนเกินไป ในบทความนี้ เราเสนอ PINN ที่ได้รับการฝึกอบรมล่วงหน้าทั่วไป (GPT-PINN) เพื่อลดความท้าทายทั้งสองประการในการตั้งค่า PDE แบบพาราเมตริก GPT-PINN แสดงถึงกระบวนทัศน์การเรียนรู้เมตาใหม่ล่าสุดสำหรับระบบพาราเมตริก ในฐานะเครือข่ายของเครือข่าย เครือข่ายภายนอก/เมตาของมันถูกลดขนาดลงอย่างมาก โดยมีเลเยอร์ที่ซ่อนอยู่เพียงชั้นเดียวเท่านั้นที่มีจำนวนเซลล์ประสาทลดลงอย่างมาก ยิ่งไปกว่านั้น ฟังก์ชันการเปิดใช้งานที่เซลล์ประสาทที่ซ่อนอยู่แต่ละอันนั้นเป็น PINN (แบบเต็ม) ที่ได้รับการฝึกอบรมล่วงหน้าในการกำหนดค่าระบบที่เลือกอย่างรอบคอบ เมตาเครือข่ายปรับ "เรียนรู้" การพึ่งพาพารามิเตอร์ของระบบและ "เติบโต" เลเยอร์ที่ซ่อนอยู่นี้ทีละเซลล์ประสาท ในท้ายที่สุด ด้วยการรวมเครือข่ายจำนวนน้อยมากที่ได้รับการฝึกอบรมในชุดค่าพารามิเตอร์ที่เลือกแบบปรับเปลี่ยนได้นี้ เครือข่ายเมตาจึงสามารถสร้างโซลูชันตัวแทนสำหรับระบบพาราเมตริกทั่วทั้งโดเมนพารามิเตอร์ทั้งหมดได้อย่างแม่นยำและมีประสิทธิภาพ
1 University of Massachusetts Dartmouth, ภาควิชาคณิตศาสตร์, North Dartmouth, MA
KG/B:
Python = 3.11.4
NumPy = 1.24.3
PyTorch = 2.1.2+cu121
Matplotlib = 3.7.1
AC:
Python = 3.9.12
NumPy = 1.24.3
PyTorch = 2.3.1+cu118
TensorFlow = 2.10.0
Matplotlib = 3.9.0
การรวมกันของเวอร์ชันแพ็คเกจที่แตกต่างกันมีแนวโน้มที่จะเรียกใช้โค้ดโดยไม่มีการเปลี่ยนแปลงเพียงเล็กน้อยหรือไม่มีเลย
รหัสนี้ถูกนำมาใช้โดยมีจุดประสงค์ในการคำนวณเพื่อดำเนินการบน GPU เป็นหลัก การคำนวณ CPU สามารถทำได้ แต่จะใช้เวลานานกว่ามาก
ไฟล์สมการของ Klein-Gordon, Allen-Cahn และ Burgers พร้อมใช้งานแล้วในปัจจุบัน การเรียกใช้ KG_main.py
, B_main.py
หรือ AC_main.py
(พร้อมกับไฟล์อื่นๆ ในโฟลเดอร์ที่อยู่ในไดเร็กทอรีที่เกี่ยวข้อง) จะเริ่มต้นการฝึกอบรมของ PINN แบบเต็มและ GPT-PINN โดยขยายขนาดเลเยอร์ที่ซ่อนอยู่ของ GPT-PINN จาก 1 ถึง 15 (ไคลน์-กอร์ดอน) หรือ 9 (เบอร์เกอร์ และ อัลเลน-คาห์น) จากนั้น GPT-PINN สุดท้ายจะได้รับการทดสอบกับพารามิเตอร์ต่างๆ และผลลัพธ์ของการฝึกอบรมและการทดสอบสามารถมองเห็นได้โดยใช้ไฟล์การลงจุด ( KG_plotting.py
, B_plotting.py
หรือ AC_plotting.py
) พารามิเตอร์ต่างๆ ภายใน PINN หรือ GPT-PINN สามารถเปลี่ยนแปลงได้อย่างง่ายดายในไฟล์หลัก ตามการตั้งค่าเริ่มต้น เมื่อครบจำนวนเซลล์ประสาททั้งหมดแล้ว GPT-PINN จะได้รับการฝึกอีกครั้งเพื่อค้นหาการสูญเสียที่ใหญ่ที่สุดที่ได้รับโดยใช้จำนวนเซลล์ประสาทสุดท้าย ซึ่งทำเพื่อให้ข้อมูลเพิ่มเติมเกี่ยวกับสถานะสุดท้ายของ GPT-PINN
เวลาวิ่งของไคลน์-กอร์ดอน
เวลาทำงานของเบอร์เกอร์
เวลารัน Allen-Cahn
ด้านล่างนี้คุณจะพบการอ้างอิง Bibtex:
@article{chen2024gpt,
title={GPT-PINN: Generative Pre-Trained Physics-Informed Neural Networks toward non-intrusive Meta-learning of parametric PDEs},
author={Chen, Yanlai and Koohy, Shawn},
journal={Finite Elements in Analysis and Design},
volume={228},
pages={104047},
year={2024},
publisher={Elsevier}
}