Octopus Net is a neural architecture, crafted specifically for our blobs, ensures adaptability without compromising integrity.
Implementation documents here.
The following graph shows the general information flow in both Inward Propagation and Outward Propagation on a single blob.
See detailed explanation in Inward & Outward Propagation section.
When we ponder the design of Neural Processing Units (NPU) in our blobs, two structural possibilities emerge: maintaining a hierarchical tree structure or adopting a flattened approach where all NPUs directly interface with the Central Brain (CB). Both designs have their own merits and challenges:
Strengths:
Challenges:
Strengths:
Challenges:
In conclusion, the Octopus Net offers a harmonious blend of decentralization and coordination, drawing inspiration from nature's evolutionary marvels and tailoring it to the unique requirements of our virtual blobs.
While in our situation, we finally choose to use the hierarchical structure since we have the higher prority of mutation resilience for training. Keeping a relatively stable CB structure is essencial to our project regards of other benefits provided by flat design.
Given our selection of a hierarchical neural network model, all illustrations within this section pertain to the hierarchical architecture.
As previously highlighted, each Peripheral Neural Unit (PNU) is adept at both inward and outward propagation—capabilities beyond the scope of a singular neural network. Consequently, every PNU, representing the smallest independent neural network unit, houses two distinct networks: Inward NN and Outward NN. Refer to the implementation details.
The Inward NN receives input from two sources: signals gathered from blocks and joints, and the outputs from the child nodes' Inward NNs. This network generates a singular output, a synthesized signal derived from all its inputs. The output's dimensionality is notably smaller than its input, as only crucial information is relayed to parent nodes. Should a block be equipped to process specific data independently, the Outward NN decides on the course of action without escalating every detail to higher-tier nodes or the Central Brain (CB).
Conversely, the Outward NN accepts input from its block and joint and amalgamates it with directives descending from its parent nodes. It produces a dual-faceted output: one segment directs the joint motor—serving as the blob's muscle—while the other conveys commands to its child nodes.
The graph delineates the intricate pathways of information transfer from one block to another. It's essential to note that, for clarity in the illustration, each block is depicted with a single child. However, this simplification doesn't typically reflect reality. In actual simulations, a block can have up to three child blocks. Consequently, the PNUs both receive and relay information to all its associated child blocks.