ccitonline.com

CCIT – Cara Cerdas Ingat Tuhan

| AI.DAI5 | DAI5 eBook Free Download | CFDSOF | VisualFOAM | PT CCIT Group Indonesia | 8N8 |

Prinsip & Algoritma PINN Heat Conduction 1D Menggunakan Framework DAI5 – Gandi Pramudya Pramadhani Herlambang (2306218036)

Assalamualaikum warahmatullahi wabarakatuh (ูฑู„ุณูŽู‘ู„ูŽุงู…ู ุนูŽู„ูŽูŠู’ูƒูู…ู’ ูˆูŽุฑูŽุญู’ู…ูŽุฉู ูฑู„ู„ูŽู‘ูฐู‡ู ูˆูŽุจูŽุฑูŽูƒูŽุงุชูู‡ู)

Physics-Informed Neural Networks (PINNs) merupakan metode yang digunakan untuk menyelesaikan persamaan differensial menggunakan deep learning yang sekaligus memastikan solusi yang dihasilkan memenuhi hukum-hukum fisika. Pada blog kali ini, saya akan menjelaskan prinsip dan algoritma PINN menggunakan pendekatan framework DAI5. Sebelum masuk ke pembahasa utama, saya akan memperkenalkan kembali terkait framework DAI5.

DAI5 merupakan salah satu framework berpikir yang mengintegrasikan pemahaman sains dengan kesadaran iman. Framework ini mengajak kita untuk selalu berada di fase consious, manusia memiliki anugrah dari Allah SWT sehingga dalam menyelesaikan suatu masalah dalam sains harus selalu mengingat bahwa semua fenomena yang kita amati sejatinya adalah ciptaan dan milik Allah SWT.

DAI5 terdiri dari lima langkah kronologis:

  1. Deep Awareness of I (Kesadaran Diri yang Mendalam). Kita harus menyadari hakikat dalam mencari ilmu, dimana semua hal memiliki keteraturan yang telah ditentukan oleh Allah SWT.
  2. Intention (Niat). Ketika kita ingin mendalami suatu ilmu pengetahuan harus diawali dengan niat untuk mengambil manfaat dari ilmu tersebut. Bukan sekadar prestasi semata, tapi harus ditujukan untuk kebermanfaatan umat manusia.
  3. Initial Thinking (Pemikiran Awal). Sebelum melangkah lebih jauh dalam melakukan proses analisa masalah, kita harus mampu memahami fundamental dari masalah tersebut dengan mengindentifikasi prinsip-prinsip dasarnya. Oleh karena itu, proses penyelesaian masalah dapat dilakukan tanpa menyimpang dari hukum-hukum alam yang telah ditetapkan oleh Allah SWT.
  4. Idealization (Idealisasi). Dalam menyesaikan suatu masalah sains, simplifikasi harus dilakukan dengan efektif sehingga kita dapat melihat gambaran besar dari masalah yang ada. Selain itu, sebagai akibat dari proses initial thinking, kita dapat menetapkan boundary condition dari simplifikasi yang telah dibuat.
  5. Instruction Set (Set Instruksi). Eksekusi dari model yang telah dibuat harus disusun secara runut dan dapat dipertaggungjawabkan.

Deep Awareness of I

Physics-Informed Neural Networks (PINNs) merupakan metode yang digunakan untuk menyelesaikan persamaan differensial menggunakan deep learning yang sekaligus memastikan solusi yang dihasilkan memenuhi hukum-hukum fisika. Sebagai manusia, kita harus menyadari keterbatas kita dalam melakukan komputasi, khususnya komputasi numerik. Bahkan komputer sekalipun memiliki keterbatasan dalam melakukan komputasi numerik. Kesadaran akan hal tersebut membawa kita untuk menggunakan artificial intelligence bukan untuk menggantikan pemikiran manusia, tetapi sebagai suatu alat untuk memahami lebih dalam keteraturan dan ketetapan alam yang ada.

Intention

Sebagai suatu metode memecahkan persamaan differensial, PINN bertujuan untuk menyelesaikan beberapa masalah yang umumnya ditemui saat persamaan differensial diselesaikan menggunakan metode seperti FEM atau FDM:

  • Biaya komputasi yang mahal saat menyelesaikan permasalahan kompleks seperti high-dimensional PDEs, fluid dynamics, dan quantum mechanics.
  • Kesulitan menghasilakan mesh pada geometri yang irregular

Masalah-masalah tersebut dapat diselesaikan menggunakan PINN, dimana deep neural networks digunakan ketimbang meshes.

Dalam kasus heat conduction 1D, maka tujuan akhirnya adalah menghasilkan solusi atas persamaan differensial berdasarkan Hukum Fourier Perpindahan Panas.

Maka dalam menyelesaikan permasalah konduksi panas, PINN harus memenuhi Hukum Kesetimbangan Energi yang menyatakan bahwa sistem berada dalam keadaan steady atau laju perubahan panas sama dengan nol.

Initial Thinking

PINN mengaproksimasi solusi u(x) mengunakan neural network No(x), dimana o adalah trainale parameters yang mencakup weight dan biases.

Sebelumnya sudah dinyatakan bahwa PINN perlu memenuhi hukum kesetimbangan energi, maka perlu dinyatakan pula boundary conditions T(x) dari algoritma tersebut:

Solusi analitisnya berupa linear temperature profile:

Maka PINN mengaproksimasi solusi T(x) berdasarkan loss function-nya

Total loss function merupakan penjumlahan dari kedua loss function. Penggunakaan optimizer seperti Adam secara otomatis mencari neural network parameters untuk memininamilisir loss.

Idealization

Dalam melakukan perhitungan numerik, PINN hanya berlandakskan kepada boundary condition dan governing equations. Maka PINN akan banyak melakukan perhtiungan dengan gambaran besar:

  1. Menebak nilai awal
  2. Mengecek apakah memenuhi hukum-hukum fisika
  3. Melakukan adjustment
  4. Melakukan refining sampai solusi dianggap benar.

Maka PINN dapat dikategorikan sebagai simulasi berbasis data karena tingkat akurasinya berdasarkan data-data yang sudah dimiliki sebelumnya. Solusi dari PINN akan selalu smooth, continuous, dan physics-compliant.

Instruction Set

  1. Mendefinisikan neural network
class PINN(nn.Module):
    def __init__(self):
        super(PINN, self).__init__()
        self.net = nn.Sequential(
            nn.Linear(1, 20),
            nn.Tanh(),
            nn.Linear(20, 20),
            nn.Tanh(),
            nn.Linear(20, 1)
        )
    
    def forward(self, x):
        return self.net(x)

Neural network memiliki 1 input neuron (spatial coordinate x), memiliki 2 hidden layers dengan Tanh activations, dan 1 output neuron (Temperature T(x)).

2. Menghitung Loss

def compute_loss(model, x, T0, T1):
    x = x.requires_grad_(True)
    T = model(x)
    
    # Compute first derivative
    dT_dx = torch.autograd.grad(T, x, grad_outputs=torch.ones_like(T), create_graph=True)[0]
    
    # Compute second derivative
    d2T_dx2 = torch.autograd.grad(dT_dx, x, grad_outputs=torch.ones_like(dT_dx), create_graph=True)[0]
    
    # Physics loss
    physics_loss = torch.mean(d2T_dx2**2)
    
    # Boundary conditions
    T_left = model(torch.tensor([[0.0]]))
    T_right = model(torch.tensor([[1.0]]))
    bc_loss = (T_left - T0)**2 + (T_right - T1)**2
    
    return physics_loss + bc_loss

Proses penyelesaian persamaan differensial dilakukan menggunakan automatic differentiation, dimana algoritma menggunakan kondisi steady state sebagai penalty ย di dalam loss function. Algoritma tersebut juga memperkenalkan boundary condition pada sistem heat conduction, yaitu :

3. Training PINN

def train_pinn(T0, T1, epochs=1000):
    model = PINN()
    optimizer = torch.optim.Adam(model.parameters(), lr=0.001)
    x = torch.linspace(0, 1, 100).reshape(-1, 1)
    
    for epoch in range(epochs):
        optimizer.zero_grad()
        loss = compute_loss(model, x, T0, T1)
        loss.backward()
        optimizer.step()
        
        if epoch % 100 == 0:
            print(f"Epoch {epoch}, Loss: {loss.item():.6f}")
    
    return model

PINN dilatih menggunakan Adam optimizer yang menggunakan prinsip gradient descent, dimana dicari nilai loss fuction paling minimum.ย 

Visualisasi gradient descent untuk mencari loss function minimum

4. Plot hasil

def plot_results(model, T0, T1):
    x = torch.linspace(0, 1, 100).reshape(-1, 1)
    with torch.no_grad():
        T_pred = model(x).numpy()
    x = x.numpy()
    T_analytical = T0 + (T1 - T0) * x
    
    plt.figure(figsize=(8, 6))
    plt.plot(x, T_pred, label="PINN Solution")
    plt.plot(x, T_analytical, '--', label="Analytical Solution")
    plt.xlabel("x")
    plt.ylabel("Temperature")
    plt.title("1D Steady-State Heat Conduction")
    plt.legend()
    plt.grid(True)
    plt.show()

Ketiga gambar tersebut merepresentasikan hasil aproksimasi PINN dengan solusi analitik, dimana gambar ketiga memiliki epoch yang jauh lebih banyak dibandingkan dengan gambar pertama dan kedua. Artinya, semakin banyak PINN di-training, akan semakin akurat juga hasilnya.

Kesimpulan

PINN merupakan salah satu pendekatan numerik berbasis deep learning yang diintergrasikan dengan data dan hukum-hukum fisika. PINN menjadi salah satu metode yang cocok untuk menggantikan pendekatan numerik tradisional seperti FDM dan FEM yang tidak memerlukan meshing sehingga lebih fleksibel dalam simulasi dimensi tinggi.

Sekian dari saya,
Wassalamualaikum Warahmatullahi Wabarakatuh


Leave a Reply

Your email address will not be published. Required fields are marked *