FishNet FishNet FishNet
Evolve About

FishNet

Help us evolve a new type of AI, trained directly by humans. To start, just click on the text you find most interesting.

Text Sequences

Initializing...

Do you notice something interesting in one of the sequences?

Help progress our mission by uploading your current checkpoint to the FishNet checkpoint repository on GitHub

0
Evolutions
0.0
Evolutions/sec
9
Population Size

Controls

Evaluation Method

Advanced Settings

About FishNet

Interactive text evolution using neural networks

What is FishNet?

FishNet is an interactive application that uses Compositional Pattern-Producing Networks (CPPNs) to generate and evolve text sequences. The system employs a population-based evolutionary algorithm where neural networks compete and reproduce based on various evaluation criteria.

Key Features

  • Multiple Evaluation Methods: Choose between AI-powered evaluation (Gemma3 1B) or statistical language scoring
  • Interactive Breeding: Click on sequences to manually select parents for breeding
  • Auto-Evolution: Let the system automatically evolve text using selected criteria
  • Checkpoint System: Save and load population states
  • Real-time Statistics: Monitor evolution progress and performance
  • Dynamic Mutation Rates: Different mutation strengths for different evaluation methods

Project Overview

This project is an initial development aimed at evolving computer-generated text sequences, drawing inspiration from a platform called PicBreeder.* The project is ongoing, and any feedback or suggestions are highly appreciated.

My hypothesis is that, given PicBreeder's ability to learn abstract concepts such as symmetry, a similar neural network architecture might also be capable of learning more complex abstractions like language. Both PicBreeder and FishNet utilize a type of neural network known as a CPPN (Compositional Pattern Producing Network), which differs in architecture from traditional language models (LLMs). The full paper describing PicBreeder can be found here: https://wiki.santafe.edu/images/1/1e/Secretan_ecj11.pdf.

If you are interested in contributing, please visit the Evolve page and select the sequence that you find most intriguing. If you discover something noteworthy—such as a word, a recognizable pattern, or any other structure—please click the "I think I found something cool" button.

For context, the name FishNet originated during early testing when I trained it to output the phrase "fish fish fish fish fish fish it."

The source code is available here: https://github.com/Z-Coder672/FishNet/tree/main/code

*Please be cautious regarding this unofficial PicBreeder site. Its reliability is uncertain, and I recommend avoiding the save button. However, the link is: https://nbenko1.github.io/. The official PicBreeder website at picbreeder.org is currently unavailable.

How It Works

Evolution Process

The evolution follows a PicBreeder-inspired algorithm:

  1. Generate 8 text sequences using the current population
  2. Evaluate sequences using the selected method (Gemma3 1B, English scoring, or manual selection)
  3. Select the best sequence as the parent
  4. Delete all other networks and create 8 new networks by copying and mutating the parent
  5. Apply random mutations, based on the learning rate slider
  6. Repeat the process

Evaluation Methods

Gemma3 1B (Ollama API)

Uses the Gemma3 1B language model to evaluate text "interestingness". This method sends the generated sequences to a local Ollama instance and asks the AI to choose the most interesting one.

English Scorer

Statistical evaluation based on English language characteristics with automatic revert logic:

  • Letter Frequency: How well the text matches English letter distributions
  • Bigram Analysis: Common two-letter combinations in English
  • Vocabulary Score: Presence of common English words
  • Structural Score: Sentence structure and punctuation patterns
  • Revert Logic: If all mutations are worse than the parent, automatically revert and create new mutations

Setting Up Ollama

⚠️ Important

The Gemma3 1B evaluation method requires a local Ollama instance running on your machine. Without Ollama, the system will fall back to English scoring.

Installation Steps

  1. Install Ollama: Visit ollama.com/download to download the appropriate version for your system.
  2. Start Ollama service:

    Run:
    ollama serve
  3. Pull the Gemma3 1B model:

    Run:
    ollama pull gemma3:1b
  4. Test the installation:

    Run:
    ollama run gemma3:1b "Hello, world!"

Using the Application

  1. Open your browser:

    Visit:
    https://fishnet.zimmzimm.com
  2. Choose your evaluation method:
    • Gemma3 1B (Ollama API): For AI-powered evolution (requires Ollama setup)
    • English Scorer: For statistical language quality evaluation
    • Manual Selection: For interactive human-guided evolution

Technical Details

Mutation Rate Strategy

The mutation rate is set to the value of the learning rate slider.

Neural Network Architecture

Each individual in the population is a CPPN (Compositional Pattern-Producing Network) with:

  • Input Layer: 32-dimensional position encoding
  • Hidden Layers: 6 layers with 128 neurons each
  • Output Layer: 64-dimensional vocabulary distribution
  • Activation: Tanh activation functions

Troubleshooting

  1. Ollama/Gemma
    • Model Not Found
      Pull the model with ollama pull gemma3:1b
    • Connection Failed
      Ensure Ollama is running with ollama serve
    • Slow Responses
      Ensure you have enough RAM to run the model (about 4GB absolute minimum for running Gemma3 1B plus FishNet, 8GB or more recommended). The first few API calls may be slow as the model loads into memory
  2. Evolution
    • Slow Evolution
      Ensure you have enough RAM to run the FishNet model (about 4GB absolute minimum for running Gemma3 1B plus FishNet, 8GB or more recommended). The first few API calls may be slow as the model loads into memory
    • There Are No Words
      This is expected for now! If you find words, please click the "I think I found something cool!" button to upload your checkpoint to the FishNet checkpoint repository on GitHub. When you start the app, you'll see the best checkpoints from other users to branch from!