เครื่องเรียนรู้
เมื่อการเรียนรู้ของเครื่องและฟิสิกส์มาบรรจบกัน
จำลองฟิสิกส์ในโลกแห่งความเป็นจริงด้วยเครื่องจำลองบนเครือข่ายกราฟ
เมื่อไม่นานมานี้ ฉันได้อ่านรายงานล่าสุดของ 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 ด้วย ติดตามฉันเพื่อรับการอัปเดตเรื่องราวใหม่ๆ เป็นประจำ