Mtazamo wa Msanidi Programu: Neural Cellular Automata ya Azimio la Juu

Sanaa na hisabati hukutana katika kujifunza kwa mashine (machine learning).

Cellular automata hutumia gridi ya seli. Kila seli hubadilisha hali yake kulingana na sheria zilizowekwa. Conway's Game of Life ni mfano maarufu. Unafuata sheria rahisi ili kuunda mifumo tata.

Neural Cellular Automata (NCA) inabadilisha hili. Badala ya sheria zilizowekwa, mtandao wa neva (neural network) hujifunza sheria hizo kutoka kwenye data. Mtandao huo hutabiri hali inayofuata ya seli kwa kuangalia majirani zake. Hii huzalisha taswira za kustaajabisha na zisizo za kawaida.

Kuzalisha picha za azimio la juu ni vigumu. Gridi inapokua, hisabati inakuwa tata sana kwa mtandao huo.

Ninatumia mbinu inayoitwa pixel shuffle ili kurekebisha hili.

Unaweza kutekeleza hili ukitumia PyTorch. Hapa kuna njia rahisi ya kuunda muundo wa modeli ya 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 inakuwezesha kuziba pengo kati ya kodi na sanaa ya kidijitali. Ni uwanja wenye utafiti mwingi kwa ajili ya uonyeshaji wa kisayansi (scientific visualization) na usanifu wa ubunifu.

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

Optional learning community: https://t.me/GyaanSetuAi