Pandangan Pengembang: Neural Cellular Automata Resolusi Tinggi

Seni dan matematika bertemu dalam machine learning.

Cellular automata menggunakan kisi sel. Setiap sel mengubah statusnya berdasarkan aturan yang tetap. Conway's Game of Life adalah contoh yang terkenal. Anda mengikuti aturan sederhana untuk menciptakan pola yang kompleks.

Neural Cellular Automata (NCA) mengubah hal ini. Alih-alih menggunakan aturan tetap, sebuah neural network mempelajari aturan tersebut dari data. Jaringan tersebut memprediksi status sel berikutnya dengan melihat tetangganya. Hal ini menghasilkan visual yang kompleks dan surealis.

Menghasilkan gambar beresolusi tinggi itu sulit. Seiring bertambahnya ukuran kisi, perhitungan matematikanya menjadi terlalu kompleks bagi jaringan tersebut.

Saya menggunakan teknik yang disebut pixel shuffle untuk mengatasi hal ini.

Anda dapat mengimplementasikannya menggunakan PyTorch. Berikut adalah cara sederhana untuk menyusun model NCA:

import torch
import torch.nn as nn
import torch.optim as optim

class NCA(nn.Module):
    def __init__(self):
        super(NCA, self).__init__()
        self.conv = nn.Conv2d(3, 64, kernel_size=3, padding=1)

    def forward(self, x):
        x = torch.relu(self.conv(x))
        x = torch.max_pool2d(x, 2)
        x = torch.relu(self.conv(x))
        x = torch.max_pool2d(x, 2)
        return x

NCA memungkinkan Anda menjembatani celah antara kode dan seni digital. Ini adalah bidang yang aktif untuk visualisasi ilmiah dan desain kreatif.

Sumber: https://dev.to/kelvin_kariuki_20f4bec616/developer-take-on-a-high-resolution-neural-cellular-automata-111g

Komunitas belajar opsional: https://t.me/GyaanSetuAi