← Back to CoursesEvolutionary Programming

Neuroanatomy Explorer

Drag to rotate · scroll to zoom · click regions to explore

View
Loading 3D model…

Click a region
to explore it

Memory Deck

Flip each card and rate whether you knew it. Your score is saved.

Term
Definition

Deck complete — score saved.

Match the Pairs

Match each term to its definition. Finish the board to earn your score.

All matched — score saved.

Concept Constellation

Every key idea in this course, mapped as an explorable 3D constellation. Drag to rotate, scroll to zoom, click a node.

Click a node to read its definition.

Neuroevolution and Neural Architecture Search

Manual: General · Subject: Evolutionary Programming

See how evolutionary methods can train neural networks, search architectures, and optimize both weights and structure.

Evolving Neural Networks

What Is Neuroevolution?

Neuroevolution uses evolutionary algorithms to optimize neural network weights, architectures, connectivity, or all three. It is attractive when gradients are unavailable, the task is noisy, or structural search is needed.

Three Neuroevolution Targets

Weights only

  • Optimize fixed architectures
  • Simple representation
  • Useful for black-box policy search

Architecture only

  • Search layer types and sizes
  • Often paired with gradient training
  • Supports neural architecture search

General Neuroevolution Loop

  1. 1

    Step 1: Encode network parameters or structure as individuals.

  2. 2

    Step 2: Evaluate each network on a task.

  3. 3

    Step 3: Select higher-performing networks.

  4. 4

    Step 4: Mutate weights, layers, or connections.

  5. 5

    Step 5: Recombine if appropriate.

  6. 6

    Step 6: Repeat until performance is sufficient.

Why Use Neuroevolution?

Neuroevolution can optimize non-differentiable objectives, support sparse rewards, handle simulation-based tasks, and search network structures that gradient descent alone cannot easily discover.

Neuroevolution can optimize which of the following?

Name one reason to use neuroevolution instead of gradient descent.

Which setting is especially compatible with neuroevolution?

ℹ️

Hybrid Strategy

A practical approach is to evolve architectures or initial weights, then fine-tune with gradient-based learning.

Encoding Example

An individual may store all network weights as a real-valued vector, or it may store a graph describing layers, connections, and activation functions.