---
slug: "SurprisalUpdate"
name: "SurprisalUpdate"
type: "Inference"
layer: "Mind"
ref: "SurprisalUpdate#26e5"
sema_id: "sema:SurprisalUpdate#mh:SHA-256:26e53ade88809ac3ba9293b45db768fdbdb384a53cda1217c3a0dfc61d5f8408"
tags: ["Mind","Inference"]
updated: 2026-11-11
mindscape: "bootstrap"
index_url: https://mindscape.pages.dev/bootstrap/index.json
url: https://mindscape.pages.dev/bootstrap/SurprisalUpdate/
related: ["EpistemicROI","Gradient","RegimeSense","BeliefTracking","CounterfactualAnchor","TraceBelief","sema:BayesUpdate#mh:SHA-256:a762656f3df6a4b6322a6da1ae14f3093e675cba380bb5e488f397863f3e8b0a"]
---

# SurprisalUpdate

Learning weighted by prediction failure magnitude

Layer: Mind · Category: Inference

## Mechanism

A learning protocol where the agent updates its internal model (weights, embeddings, or context) based on failed predictions, weighted by the magnitude of surprise. Higher surprisal = larger update. 'Learn most from what confused you most.' This implements Surprisal-Weighted Fine-Tuning (SWFT): loss contribution is proportional to -log(P(observed|predicted)). Utilizes [RegimeSense](https://mindscape.pages.dev/bootstrap/RegimeSense.md), [EpistemicROI](https://mindscape.pages.dev/bootstrap/EpistemicROI.md).

## Invariants

- Loss contribution is proportional to surprisal, -log P(observed|predicted).
- Stability Guard: no single update shifts the model more than `max_update_rate`, whatever the loss.
- Update magnitude follows from the loss through `learning_rate` and the optimiser, not from surprisal directly.

## Preconditions

- Actual outcome observed and diverged from prediction
- Prediction was made with computable probability

## Postconditions

- Loss weighted by surprisal; model shift bounded by `max_update_rate`
- Update logged for audit trail

## Failure modes

- Outlier Overfitting: Rare high-surprisal events dominating learning.
- Catastrophic Forgetting: Aggressive updates erasing previously stable knowledge.
- Compute Cost: High-surprisal events require expensive [Gradient](https://mindscape.pages.dev/bootstrap/Gradient.md) updates.

## Parameters

- `learning_rate` (Float, [0.0, 1.0]): How much to update the model based on surprisal
- `max_update_rate` (Float, [0.0, 1.0]): Maximum allowed model shift per single update

## Builds on

- [EpistemicROI](https://mindscape.pages.dev/bootstrap/EpistemicROI.md) (Mind; References)
- [Gradient](https://mindscape.pages.dev/bootstrap/Gradient.md) (Physics; References)
- [RegimeSense](https://mindscape.pages.dev/bootstrap/RegimeSense.md) (Mind; References)

## Used by

- [BeliefTracking](https://mindscape.pages.dev/bootstrap/BeliefTracking.md) (Mind; References)
- [CounterfactualAnchor](https://mindscape.pages.dev/bootstrap/CounterfactualAnchor.md) (Society; References)
- [TraceBelief](https://mindscape.pages.dev/bootstrap/TraceBelief.md) (Mind; References)

## Identity

- Sema ID: `sema:SurprisalUpdate#mh:SHA-256:26e53ade88809ac3ba9293b45db768fdbdb384a53cda1217c3a0dfc61d5f8408`
- Ref: `SurprisalUpdate#26e5`
- Supersedes:
  - `sema:SurprisalUpdate#mh:SHA-256:8eb2004c635b92c95a5dad62bbc4375a5a6728f493345334dd46f8ec2b4c3714`
  - `sema:SurprisalUpdate#mh:SHA-256:6ef19d8b61ce228bbc61a34496b878f1e060e56790f48606fc4e81b3b8594fca`
  - `sema:SurprisalUpdate#mh:SHA-256:41a9f896757eb4b0d7132604b60e0193eaba43329953359ef5e927f69112f8df`
  - `sema:SurprisalUpdate#mh:SHA-256:6169da6dce9141595fc8b7ac8d8743e397cd44a2da04b3499b2ce910e174c2ef`
  - `sema:SurprisalUpdate#mh:SHA-256:b2f104df0f114d6ef799bb343897bc4119585cd164821e63bfa6043cb717243f`

## Links

- [Pattern page](https://mindscape.pages.dev/bootstrap/SurprisalUpdate/)
- [View in the interactive graph](https://mindscape.pages.dev/bootstrap/#SurprisalUpdate)
- [JSON](https://mindscape.pages.dev/bootstrap/SurprisalUpdate.json)
- [Index of all patterns](https://mindscape.pages.dev/bootstrap/index.json)
