Mesin Pembelajaran

Saat Pembelajaran Mesin dan Fisika Bertabrakan

Mensimulasikan fisika dunia nyata dengan simulator berbasis jaringan grafik

Beberapa waktu lalu, saya menelusuri kiriman makalah terbaru arXiv di Machine Learning dan menemukan judul yang menarik.

Belajar Mensimulasikan Fisika Kompleks dengan Jaringan Grafik

Saya memutuskan untuk mendalaminya lebih dalam, dan menemukan bahwa penulis berhasil menggabungkan dan menggunakan beberapa model pembelajaran mesin untuk membuat kerangka kerja yang disebut “Simulator Berbasis Jaringan Grafik” (GNS).

Seperti yang Anda lihat pada gambar di atas, prediksi pergerakan partikel air berhasil berperilaku serupa dengan kebenaran di lapangan. Ini juga menghasilkan hasil yang sebanding untuk kondisi awal yang berbeda dan partikel lain seperti goop dan pasir juga.

Bertentangan dengan simulasi yang ada yang memerlukan rendering ulang untuk setiap perubahan kondisi awal, model ini hanya perlu dilatih satu kali dan berhasil memprediksi bagaimana partikel akan berperilaku dalam kondisi berbeda.

Inilah upaya saya untuk memberikan penjelasan yang sangat sederhana tentang cara mereka melakukannya.

Kerangka kerja GNS terdiri dari tiga blok utama, encoder, prosesor, dan decoder.

Pembuat enkode

Encoder akan membuat grafik awal berdasarkan posisi setiap partikel saat ini. Partikel akan bertindak sebagai node dalam grafik. Sementara itu, edge akan dibangun di antara node-node yang bertetangga dalam radius konektivitas. tertentu

Pada timestep berikutnya, tepi-tepi graf akan direkonstruksi menggunakan algoritma tetangga terdekat.

Vektor masukan terdiri dari berikut ini:

  • posisi partikel
  • kecepatan partikel sebelumnya (5 langkah waktu)
  • sifat material (air, pasir, goop, dll.)

Prosesor

Prosesor meneruskan “pesan” antar node melalui edge. Ini adalah bagian yang dipelajari oleh model. Ada jaringan grafik M (GN) yang digunakan untuk mempelajari (dan akhirnya memprediksi) interaksi antar partikel.

Dalam fisika, interaksi ini adalah pertukaran energi dan momentum antar partikel. Dalam makalah ini, tugas memodelkan interaksi ini diberikan kepada tumpukan M GN.

Dekoder

Tugas decoder adalah mengekstrak informasi dari grafik, khususnya posisi setiap node. Namun, decoder tidak mengeluarkan koordinat setiap partikel.

Outputnya adalah percepatan rata-rata setiap partikel dalam rentang waktu tersebut.

Setelah Anda mendapatkan informasi percepatan rata-rata per partikel, Anda dapat menghitung kecepatan dan pada akhirnya posisi setiap partikel.

Jika kita melihat kembali masukan encoder, posisi dan kecepatan saat ini serta 5 kecepatan sebelumnya akan digunakan untuk menghitung percepatan rata-rata langkah waktu berikutnya.

Sama seperti jaringan saraf normal, proses ini diulangi selama ttimestep.

Demi memvisualisasikan hasil simulasi, informasi posisi setiap partikel digunakan untuk menggambar partikel pada setiap timestep.

Ternyata untuk ketiga modul (encoder, processor, dan decoder), penulis cukup menggunakan multi-layer perceptron (MLP) dengan 2 lapisan tersembunyi (ReLU) dan 1 lapisan keluaran (tanpa fungsi aktivasi) dengan masing-masing 128 node.

Yang paling membuat saya takjub adalah bagaimana arsitektur jaringan neural yang tampak sederhana, terdiri dari MLP 2 lapis dengan ReLU ditambah dengan algoritme tetangga terdekat, dapat menangkap interaksi yang tampaknya rumit.

Gambar di atas menggambarkan kondisi awal yang berbeda (a-h) dan hasil prediksi dan kebenaran dasar setelah beberapa langkah waktu.

  • (a) menunjukkan interaksi partikel goop
  • (b) menunjukkan interaksi partikel air
  • (c) menunjukkan interaksi partikel pasir
  • (d) menunjukkan interaksi partikel dengan hambatan kaku
  • (e) menunjukkan interaksi antara partikel yang berbeda
  • (f) menunjukkan bagaimana model menangani lebih banyak partikel dibandingkan saat pelatihan
  • (g) menunjukkan interaksi dengan benda gaib
  • (h) menunjukkan generalisasi pada domain yang lebih besar

Temuan utama kami adalah bahwa model GNS kami dapat mempelajari simulasi fluida, benda padat, dan benda padat yang berbeda secara akurat, beresolusi tinggi, dan berjangka panjang, serta dapat menggeneralisasi jauh melampaui pelatihan ke lingkungan yang lebih lama, lebih besar, dan menantang ( )

Penulis juga menyatakan bahwa model GNS dapat menangani generalisasi dengan cukup baik. Pada gambar (f), model dapat menangani interaksi hingga 28 ribu partikel, lebih dari 10x jumlah yang mereka gunakan dalam pelatihan, yaitu 2,5 ribu partikel.

Gambar (g) menunjukkan model juga dapat menangani interaksi berbagai material dengan aliran air masuk yang terus menerus di setiap langkah waktu.

Terakhir, gambar (h) menunjukkan keadaan simulasi setelah 5.000 langkah, 8x lebih banyak dari langkah yang mereka gunakan untuk pelatihan, dengan 85 ribu partikel di area yang 32x lebih besar dari area tempat model dilatih.

Anda dapat melihat lebih banyak contoh yang dihasilkan oleh model di sini.

Hal ini juga mencakup beberapa “kasus kegagalan” di mana padatan dapat berubah bentuk pada rentang waktu simulasi yang lebih lama dan partikel goop terkadang menempel pada dinding dan bukannya jatuh ke bawah.

Pada kondisi saat ini, model tersebut mungkin tidak 100% akurat untuk sepenuhnya menggantikan rendering manual untuk simulasi partikel. Namun, ia sudah berhasil mensimulasikan sebagian besar fisika dengan benar. Sebuah model yang dapat mencapai simulasi yang hampir sempurna mungkin akan terjadi dalam waktu dekat.

Domain simulasi fisika mungkin tidak sepopuler domain lain dalam pembelajaran mesin seperti Natural Language Processing atau Computer Vision. Namun, bayangkan dampak yang ditimbulkan model ini jika dapat menggantikan simulasi partikel yang sudah ada.

Pembuatan simulasi partikel saat ini memerlukan waktu yang lama karena simulasi ini menghitung status setiap partikel secara manual pada setiap langkah waktu. Jika Anda hanya memindahkan satu partikel keluar dari tempatnya, Anda perlu menghitung ulang semuanya lagi.

Di sisi lain, model pembelajaran mesin hanya akan membutuhkan banyak waktu untuk diproses pada tahap pelatihan. Setelah model dilatih, simulasi dapat dibuat hanya dengan meneruskan informasi melalui model. Proses ini memerlukan daya komputasi yang jauh lebih sedikit karena jauh lebih sederhana dibandingkan simulasi partikel saat ini.

Hal ini mungkin menghemat banyak energi yang diperlukan untuk simulasi partikel di masa depan karena model hanya perlu dilatih satu kali dan dapat digunakan kembali untuk sebagian kecil dari daya yang dibutuhkan untuk menjalankan simulasi fisika yang tidak didukung pembelajaran mesin.

Referensi

[1] Sanchez-Gonzalez dkk., Belajar Mensimulasikan Fisika Kompleks dengan Jaringan Grafik (2020), arXiv:2002.09405[cs.LG]

Learning Machine adalah rangkaian cerita tentang hal-hal yang terjadi di dunia Machine Learning yang menurut saya cukup menarik untuk dibagikan. Oh, dan terkadang ini juga tentang dasar-dasar Pembelajaran Mesin. Ikuti saya untuk mendapatkan pembaruan rutin tentang cerita baru.