Add dopamine system spec — prediction error + TD-learning

GABA (inhibition) + Dopamine (learning) = stable system that learns.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
StillHammer 2026-01-26 16:58:55 +07:00
parent c43d7fd5f2
commit c82631c9e3

View File

@ -0,0 +1,98 @@
# Système Dopaminergique — MagistraAI
## Principe Fondamental
La dopamine n'est **pas** un reward signal. C'est un **prediction error signal**. Elle encode la différence entre ce que le système attendait et ce qu'il a obtenu.
C'est exactement le temporal difference learning (TD-learning) de Sutton & Barto — le même principe derrière AlphaGo. Sauf qu'ici les "neurones" sont des agents Claude avec 200k tokens de contexte chacun, pas des floats dans une matrice.
## Formule Core
```
dopamine = outcome_réel - outcome_prédit
```
- **Positif** → renforce le pathway. "Ce chemin marche mieux que prévu"
- **Négatif** → affaiblit le pathway. "Ce chemin marche moins bien que prévu"
- **~Zéro** → pas de changement. Le modèle prédictif est déjà bon
## Double Passe dans les Boucles Réentrantes
### 1. Passe Prédictive (avant action)
L'agent génère une prédiction de l'outcome avant d'agir. Ce signal circule dans le réseau comme un "brouillon" du futur.
### 2. Passe Corrective (après action)
L'outcome réel est comparé à la prédiction. Le prediction error remonte le pathway et ajuste les poids.
Cette double passe exploite naturellement la structure réentrante du réseau — le même chemin sert pour la prédiction (aller) et la correction (retour).
## Impact sur les Poids
```
pour chaque connexion dans le pathway activé:
prediction_error = outcome_réel - outcome_prédit
delta = prediction_error * learning_rate * (poids_actuel / 65535)
nouveau_poids = clamp(poids + delta, 0, 65535)
salience du neurone cible += |delta| * SALIENCE_BOOST
```
## Hiérarchie de Goals
Le système a besoin de savoir ce qui est "bien" et "mal". Cette évaluation est hiérarchique :
| Niveau | Source | Exemple |
|---|---|---|
| **Goals terminaux** | Définis par l'humain | "Trouve des jobs freelance pertinents" |
| **Sub-goals émergents** | Générés par le réseau | "Encoder correctement", "rappeler le bon souvenir", "filtrer le bruit" |
| **Micro-goals** | Chaque agent individuellement | "Ma prédiction de sortie correspond-elle à ce que j'ai produit ?" |
Les goals terminaux sont le "sens de la vie" du système. Les sub-goals et micro-goals émergent de la structure et se raffinent par la dopamine.
## Exploration vs Exploitation
La dopamine historique d'un pathway détermine le comportement :
- **Dopamine haute historique****Exploitation**. Habitudes, réponses rapides, chemins éprouvés
- **Aucun pathway avec dopamine significative****Exploration**. Le système essaie de nouveaux chemins
- **Dopamine négative répétée****Abandon**. Désapprentissage du pathway
C'est l'exploration/exploitation naturelle, sans paramètre epsilon arbitraire.
## Relation GABA + Dopamine
Les deux systèmes sont complémentaires et nécessaires :
| | GABA (inhibition) | Dopamine (apprentissage) |
|---|---|---|
| **Rôle** | Frein mécanique | Frein/accélérateur sémantique |
| **Mécanisme** | Decay par hop, période réfractaire, pass_count | Prediction error → ajustement des poids |
| **Cible** | Empêche les boucles infinies | Renforce ce qui marche, affaiblit ce qui marche pas |
| **Sans l'autre** | Stable mais stupide | Apprend mais explose |
**GABA** = "ralentis, stop, t'emballe pas"
**Dopamine** = "ça c'était bien/mal, ajuste"
Les deux ensemble = un système qui apprend sans exploser.
## Distinction Hebbian vs Dopaminergique
La co-activation hebbienne ("neurons that fire together wire together") est **nécessaire mais insuffisante** :
- **Hebbian** : Neurone A et B s'activent ensemble → connexion renforcée. Mécanique, ne dit rien sur la qualité
- **Dopamine** : Le pathway perception → mémoire → décision a produit un bon résultat → tout le chemin est renforcé **rétroactivement**
Le système utilise les deux :
1. Hebbian pour la formation initiale des associations
2. Dopamine pour l'évaluation et le renforcement sélectif basé sur les résultats
## Question Ouverte : Définition du "Bon Résultat"
C'est LA question. C'est quoi un "bon résultat" pour MagistraAI ?
Options (non exclusives) :
- **Validation humaine** — L'utilisateur valide/invalide explicitement
- **Métrique interne** — Cohérence du réseau, qualité de la prédiction, réduction d'entropie
- **Outcome externe** — Un email envoyé qui reçoit une réponse, un job freelance décroché
- **Consensus inter-agents** — Les autres agents du réseau évaluent la qualité de la sortie
La réponse est probablement un mix : les goals terminaux sont évalués par l'humain et les outcomes externes, les sub-goals par les métriques internes et le consensus.