เครื่องเรียนรู้

เมื่อการเรียนรู้ของเครื่องและฟิสิกส์มาบรรจบกัน

จำลองฟิสิกส์ในโลกแห่งความเป็นจริงด้วยเครื่องจำลองบนเครือข่ายกราฟ

เมื่อไม่นานมานี้ ฉันได้อ่านรายงานล่าสุดของ arXiv ใน Machine Learning และบังเอิญเจอชื่อที่น่าสนใจ

การเรียนรู้การจำลองฟิสิกส์ที่ซับซ้อนด้วยเครือข่ายกราฟ

ฉันตัดสินใจเจาะลึกลงไปอีก และพบว่าผู้เขียนประสบความสำเร็จในการรวมและใช้โมเดลการเรียนรู้ของเครื่องหลายตัวเพื่อสร้างเฟรมเวิร์กที่เรียกว่า "เครื่องจำลองบนเครือข่ายกราฟ" (GNS)

ดังที่คุณเห็นในภาพด้านบน การเคลื่อนที่ของอนุภาคน้ำที่คาดการณ์ไว้มีพฤติกรรมคล้ายกับความจริงบนพื้นโลก นอกจากนี้ยังให้ผลลัพธ์ที่เปรียบเทียบได้สำหรับสภาวะการเริ่มต้นที่แตกต่างกันและอนุภาคอื่นๆ เช่น สารตะกอนและทรายด้วย

ตรงกันข้ามกับการจำลองที่มีอยู่ซึ่งต้องมีการเรนเดอร์ซ้ำสำหรับการเปลี่ยนแปลงในเงื่อนไขเริ่มต้น แบบจำลองนี้จำเป็นต้องได้รับการฝึกฝนเพียงครั้งเดียวและสามารถทำนายพฤติกรรมของอนุภาคในสภาวะที่แตกต่างกันได้สำเร็จ

นี่คือความพยายามของฉันในการอธิบายวิธีที่ง่ายจริงๆ ว่าพวกเขาทำอย่างไร

กรอบงาน GNS ประกอบด้วยบล็อกหลักสามบล็อก ได้แก่ ตัวเข้ารหัส ตัวประมวลผล และตัวถอดรหัส

ตัวเข้ารหัส

ตัวเข้ารหัสจะสร้างกราฟเริ่มต้นตามตำแหน่งปัจจุบันของแต่ละอนุภาค อนุภาคจะทำหน้าที่เป็นโหนดในกราฟ ในขณะเดียวกัน ขอบจะถูกสร้างขึ้นระหว่างโหนดข้างเคียงภายในรัศมีการเชื่อมต่อที่แน่นอน

ในครั้งต่อไปและแต่ละก้าว ขอบของกราฟจะถูกสร้างขึ้นใหม่โดยใช้อัลกอริธึมเพื่อนบ้านที่ใกล้ที่สุด

เวกเตอร์อินพุตประกอบด้วยสิ่งต่อไปนี้:

  • ตำแหน่งของอนุภาค
  • ความเร็วก่อนหน้าของอนุภาค (5 ก้าว)
  • คุณสมบัติของวัสดุ (น้ำ ทราย สารตะกอน ฯลฯ)

โปรเซสเซอร์

โปรเซสเซอร์ส่ง “ข้อความ” ระหว่างโหนดผ่านขอบ นี่คือส่วนที่โมเดลเรียนรู้ มีเครือข่ายกราฟ M (GN) ที่ใช้ในการเรียนรู้ (และทำนายในที่สุด) ปฏิสัมพันธ์ระหว่างอนุภาค

ในวิชาฟิสิกส์ ปฏิกิริยาเหล่านี้ควรเป็นการแลกเปลี่ยนพลังงานและโมเมนตัมระหว่างอนุภาค ในรายงาน งานในการสร้างแบบจำลองปฏิสัมพันธ์เหล่านี้ถูกกำหนดให้กับสแต็กของ M GN

ตัวถอดรหัส

หน้าที่ของตัวถอดรหัสคือการดึงข้อมูลจากกราฟ โดยเฉพาะตำแหน่งของแต่ละโหนด อย่างไรก็ตาม ตัวถอดรหัสจะไม่ส่งออกพิกัดของแต่ละอนุภาค

ผลลัพธ์ที่ได้คือความเร่งเฉลี่ยของแต่ละอนุภาคในช่วงเวลานั้น

เมื่อคุณมีข้อมูลความเร่งเฉลี่ยต่ออนุภาคแล้ว คุณก็สามารถคำนวณความเร็วและตำแหน่งของแต่ละอนุภาคในท้ายที่สุดได้

หากเรามองย้อนกลับไปที่อินพุตของตัวเข้ารหัส ตำแหน่งปัจจุบันและความเร็วพร้อมกับความเร็วก่อนหน้า 5 ระดับจะถูกนำมาใช้ในการคำนวณความเร่งเฉลี่ยของก้าวถัดไป

เช่นเดียวกับโครงข่ายประสาทเทียมปกติ กระบวนการนี้จะทำซ้ำเป็นเวลา t

เพื่อประโยชน์ในการแสดงภาพผลการจำลอง ข้อมูลเกี่ยวกับตำแหน่งของแต่ละอนุภาคจะถูกนำมาใช้เพื่อวาดอนุภาคในแต่ละช่วงเวลา

เห็นได้ชัดว่าสำหรับทั้งสามโมดูล (ตัวเข้ารหัส ตัวประมวลผล และตัวถอดรหัส) ผู้เขียนเพียงแค่ใช้ multi-layer perceptron (MLP) โดยมี 2 เลเยอร์ที่ซ่อนอยู่ (ReLU) และ 1 เลเยอร์เอาต์พุต (ไม่มีฟังก์ชันการเปิดใช้งาน) โดยมี 128 โหนดในแต่ละโหนด

สิ่งที่ทำให้ฉันประหลาดใจที่สุดคือสถาปัตยกรรมโครงข่ายประสาทเทียมที่ดูเรียบง่ายที่ประกอบด้วย MLP 2 เลเยอร์พร้อม ReLU ควบคู่ไปกับอัลกอริธึมเพื่อนบ้านที่ใกล้ที่สุดสามารถจับภาพการโต้ตอบที่ดูเหมือนซับซ้อนได้อย่างไร

ภาพด้านบนแสดงให้เห็นเงื่อนไขการเริ่มต้นที่แตกต่างกัน (a-h) และผลลัพธ์ของการทำนายและความจริงภาคพื้นดินหลังจากผ่านไปหลายครั้ง

  • (a) แสดงปฏิสัมพันธ์ของอนุภาค goop
  • (b) แสดงปฏิสัมพันธ์ของอนุภาคน้ำ
  • (c) แสดงปฏิสัมพันธ์ของอนุภาคทราย
  • (d) แสดงปฏิกิริยาระหว่างอนุภาคกับสิ่งกีดขวางแข็งเกร็ง
  • (e) แสดงปฏิสัมพันธ์ระหว่างอนุภาคต่างๆ
  • (f) แสดงให้เห็นว่าแบบจำลองจัดการกับอนุภาคได้มากกว่าในการฝึกอย่างไร
  • (g) แสดงปฏิสัมพันธ์กับวัตถุที่มองไม่เห็น
  • (h) แสดงลักษณะทั่วไปในโดเมนที่ใหญ่กว่า

การค้นพบหลักของเราคือโมเดล GNS ของเราสามารถเรียนรู้การจำลองที่แม่นยำ มีความละเอียดสูง ในระยะยาวของของไหลต่างๆ ของแข็งที่เปลี่ยนรูปได้ และของแข็งแข็ง และสามารถสรุปได้ดีกว่าการฝึกไปจนถึงการตั้งค่าที่ยาวกว่า ใหญ่กว่า และท้าทายมาก (แหล่งข้อมูล )

ผู้เขียนยังระบุด้วยว่าโมเดล GNS สามารถจัดการกับลักษณะทั่วไปได้ค่อนข้างดี ในรูป (f) แบบจำลองสามารถรองรับการโต้ตอบกับอนุภาคได้มากถึง 28,000 อนุภาค ซึ่งมากกว่า 10 เท่าของจำนวนที่ใช้ในการฝึก ซึ่งก็คือ 2.5,000 อนุภาค

รูปที่ (g) แสดงให้เห็นว่าแบบจำลองสามารถจัดการกับปฏิสัมพันธ์ของวัสดุต่างๆ ในขณะที่มีน้ำไหลเข้าอย่างต่อเนื่องในทุกขั้นตอน

สุดท้ายแต่ไม่ท้ายสุด รูปที่ (h) แสดงสถานะของการจำลองหลังจาก 5,000 ขั้นตอน ซึ่งมากกว่าขั้นตอนที่ใช้ในการฝึกถึง 8 เท่า โดยมีอนุภาค 85,000 อนุภาคในพื้นที่ที่ใหญ่กว่าพื้นที่ที่โมเดลฝึกอยู่ 32 เท่า

คุณสามารถดูตัวอย่างเพิ่มเติมที่สร้างโดยโมเดลได้ ที่นี่

พวกเขายังรวมถึง "กรณีความล้มเหลว" บางส่วนด้วย ซึ่งของแข็งอาจเปลี่ยนรูปได้ในขั้นตอนการจำลองที่นานขึ้น และอนุภาคของสารที่หนาบางครั้งอาจเกาะติดกับผนังแทนที่จะตกลงมา

ในสถานะปัจจุบัน โมเดลอาจไม่แม่นยำ 100% ที่จะแทนที่การเรนเดอร์ด้วยตนเองสำหรับการจำลองอนุภาคโดยสิ้นเชิง อย่างไรก็ตาม มันสามารถจำลองฟิสิกส์ส่วนใหญ่ได้อย่างถูกต้องแล้ว แบบจำลองที่สามารถบรรลุการจำลองที่สมบูรณ์แบบได้นั้นอาจจะเกิดขึ้นในอนาคตอันใกล้นี้

โดเมนการจำลองทางฟิสิกส์อาจไม่ได้รับความนิยมเท่ากับโดเมนอื่นๆ ในการเรียนรู้ของเครื่อง เช่น การประมวลผลภาษาธรรมชาติหรือการมองเห็นคอมพิวเตอร์ อย่างไรก็ตาม ลองจินตนาการถึงผลกระทบที่แบบจำลองนี้จะเกิดขึ้นหากสามารถแทนที่การจำลองอนุภาคที่มีอยู่ได้

การจำลองอนุภาคในปัจจุบันต้องใช้เวลาในการสร้างนาน เนื่องจากระบบจะคำนวณสถานะของอนุภาคแต่ละอนุภาคด้วยตนเองในทุกช่วงเวลา หากคุณย้ายอนุภาคเพียงตัวเดียวออกจากตำแหน่ง คุณจะต้องคำนวณทุกอย่างใหม่อีกครั้ง

ในทางกลับกัน โมเดลการเรียนรู้ของเครื่องจะใช้เวลามากในการประมวลผลในระยะการฝึกอบรมเท่านั้น เมื่อโมเดลได้รับการฝึกฝนแล้ว คุณสามารถสร้างแบบจำลองได้โดยเพียงแค่ส่งข้อมูลผ่านโมเดล กระบวนการนี้ต้องการพลังในการประมวลผลน้อยกว่ามาก เนื่องจากทำได้ง่ายกว่าการจำลองอนุภาคในปัจจุบันมาก

ซึ่งอาจช่วยประหยัดพลังงานได้มากที่จำเป็นสำหรับการจำลองอนุภาคในอนาคต เนื่องจากแบบจำลองดังกล่าวต้องได้รับการฝึกอบรมเพียงครั้งเดียว และสามารถนำกลับมาใช้ใหม่ได้เป็นเสี้ยวหนึ่งของพลังงานที่จำเป็นในการดำเนินการจำลองฟิสิกส์ที่ขับเคลื่อนด้วยการเรียนรู้ด้วยเครื่อง

อ้างอิง

[1] Sanchez-Gonzalez และคณะ การเรียนรู้การจำลองฟิสิกส์ที่ซับซ้อนด้วยเครือข่ายกราฟ (2020), arXiv:2002.09405[cs.LG]

Learning Machine คือซีรีส์เรื่องราวเกี่ยวกับสิ่งต่างๆ ที่เกิดขึ้นในโลกของ Machine Learning ที่ฉันพบว่าน่าสนใจพอที่จะแชร์ โอ้ และบางครั้งมันก็เกี่ยวกับพื้นฐานของ Machine Learning ด้วย ติดตามฉันเพื่อรับการอัปเดตเรื่องราวใหม่ๆ เป็นประจำ