Assalamualaikum Warahmatullahi Wabarakatuh,
Pada blog kali ini, saya Ghina Khairani dengan NPM 2306215274 dari kelas metnum 03 akan memberikan pembahasan mengenai tugas yang telah diberikan. Sebelumnya Puji dan Syukur atas kehadirat Allah SWT yang telah memberikan nikmat sehat dan akal untuk berpikir sehingga saya dapat mengerjakan tugas ini.
Pada blog kali ini saya akan membahas mengenai prinsip kerja dan algoritma PINN dalam kasus Heat Conduction 1D.
Sebelum mengenal lebih lanjut terkait PINN, saya berusaha memahami terlebih dahulu tentang NN karena NN merupakan basis awal PINN. Neural Network (NN) merupakan suatu model komputasi yang dirangkum menjadi 3 layer utama yaitu Input-Hidden Layers-Output layers, dirancang untuk aproksimasi fungsi melalui pelatihan berbasis data.
Perbedaan PINN dengan NN adalah, Physics-Informed Neural (PINN) merupakan NN yang telah diprogram dengan persamaan fisika sehingga output yang dihasilkan dari PINN tidak hanya berbasis data yang diinput tetapi berbasis persamaan fisika juga. Sehingga output yang dihasilkan PINN lebih akurat dibandingkan dengan NN untuk penyelesaian fisika, karena NN hanya berbasis kumpulan input data sedangkan PINN ditambah dengan acuan persamaan fisika.
Penjelasan lebih lanjutnya akan saya jabarkan menggunakan DAI-5 Framework berikut :
- Deep Awareness of I – Kesadaran Mendalam
Segala fenomena seperti heat conduction ini merupakan hukum yang Allah ciptakan untuk memudahkan manusia, dan Allah memberikan akal agar manusia dan memahami dan menggunakan prinsip itu untuk kemaslahatan.
- Intention – Niat yang sadar
Memastikan bahwa saya belajar metode PINN untuk penggunaan dalam fisika karena murni ingin belajar dan mengetahui segala kebesaran Allah melalui fenomena fisikanya yang bukan hanya sekedar menyelesaikan tugas. Niat ini saya buktikan dengan benar-benar bertanya kritis dan memahami prinsip kerja PINN ini secara sadar untuk dapat digunakan kedepannya.
- Initial Thinking – Pemikiran awal tentang masalah
Bagaimana mengetahui penyebaran panas 1 dimensi, tidak hanya menggunakan satu metode penyelesaian (metode finite difference) tetapi dapat digunakan pula metode lainnya yaitu PINN. Mengapa PINN perlu dipelajari? Karena terdapat beberapa keunggulannya salah satunya adalah PINN tidak memerlukan data lengkap di setiap titik dan grid dan bisa menghasilkan solusi yang berkelanjutan. Berikut beberapa keunggulan yang saya pelajari dari penggunaan PINN :
PINN menghasilkan solusi yang kontinu (bisa diterapkan dan berlaku pada semua titik) tanpa membutuhkan grid atau data di setiap titik, sehingga lebih unggul daripada penyelesaian menggunakan finite difference yang mana membutuhkan grid. Efisiensi data karena PINN dapat bekerja dengan dataset yang sedikit karena terdapat persamaan fisika yang menjadi pemandu nya. Fleksibel karena dapat menangani persamaan non linear yang kompleks untuk penyelesaian secara tradisional. PINN juga dapat menyimpulkan parameter yang tidak diketahui dengan menyesuaikan data dan persamaan fisika
- Idealization – Pembentukan Model
Dengan PINN ini kita dapat mendapatkan penyelesaian yang mirip dengan solusi seharusnya, mengapa saya bilang mirip? Karena PINN tidak selalu bisa menghasilkan penyelesaian yang akurat 100% akan tetap ada error nya walaupun sedikit. Dari sini kita mengetahui bahwa kita sebagai manusia hanya bisa berupaya dan berusaha mencari dan mengetahui, dan tetap Allah lah sebagai pencipta yang paham bagaimana cara dunia ini bekerja .
Tetapi mengapa PINN tetap digunakan seandainya belum tentu akurat 100%? Dikarenakan untuk persamaan yang sulit seperti persamaan non linear kompleks, pendekatan penyelesaian menggunakan PINN adalah pendekatan yang paling bisa maksimal mendekati hasil sesungguhnya.
Keakuratan ini dapat didapatkan dengan melatih PINN. PINN butuh dilatih untuk meminimalkan loss menggunakan data dan persamaan fisika sehingga solusi mendekati yang seharusnya. Kualitas pelatihan PINN bergantung pada kecukupan kualitas data, jumlah lapisan dan neuron dari NN, jumlah epoch, optimisasi algoritma, dan bobot loss function berikut :
Kalau λ terlalu kecil, PINN fokus ke data tapi abaikan fisika
Kalau λ terlalu besar, PINN patuh fisika tapi nggak cocok data.
- Instruction Set – Langkah Penyelesaian
Sebelum memahami cara kerja PINN pada kasus, saya berusaha untuk belajar bagaimana prinsip dasar PINN pada berbagai kasus :
- Definisikan NN
Menentukan struktur dan bentuknya untuk penyelesaian masalah tertentu dengan menentukan : input, output, struktur NN (layers), bisa juga ditambahkan parameter. - Memasukkan Persamaan/Hukum Fisika sebagai Kendala
- Menggunakan Automatic Differentiation
menghitung turunan output terhadap input untuk evaluasi apakah output sudah memenuhi Hukum Fisika - Membangun Loss Function
Total Loss = Loss Data + λ * Loss Fisika
– Loss Data : seberapa jauh output NN dari data pengukuran
– Loss Fisika : seberapa jauh output NN melanggar persamaan fisika - Melatih model
Biasanya menggunakan optimisasi (gradient descent) untuk menyesuaikan agar total loss minimum. Proses ini bersifat iteratif - Hasil
Awal: Loss besar, u(x) acak (misalnya, kurva aneh).
Akhir: Loss kecil (< 1), u(x) hampir tumpang tindih dengan u(x) = 100x.
Grafik: Garis PINN (solid) hampir sama dengan garis exact (putus-putus)
Prinsip PINN pada HC 1D
- Inisialisasi NN
Input : x (posisi)
Output : u(x) (suhu prediksi)
Jumlah Hidden layers dan neuron di dalamnya - Mendefinisikan Loss Function
– Loss Data (Mengukur kesalahan di kondisi batas)
Σ |u(xᵢ) – u_data(xᵢ)|²
– Loss Fisika (Mengukur pelanggaran dari persamaan Fisika)
Persamaan Fisika yang digunakan
d²u/dx² = 0
Loss Fisika
Σ |d²u/dx²|²
*jumlah dari kuadrat residual di setiap tutu pada collocation points - Memberikan Pelatihan
Semakin banyak Epoch yang dilakukan, maka hasil juga semakin mendekati Analytical Solution/Solusi yang seharusnya. Oleh karena itu PINN perlu dilatih agar hasil semakin akurat
