Skip to content

J++ Lens: Jacobian Filtering enables more faithful workspace readouts

The J++ Lens is a drop-in replacement for the Jacobian lens (J-lens) that Anthropic used to identify the J-space / global workspace in Claude (A global workspace in language models). It filters out noisy gradients before they enter the averaged Jacobian by (i) fitting per-cluster “Expert Jacobians” over k-means partitions of the activation space and learning weights that down-weight bad experts, (ii) computing each Jacobian with an LRP backward pass, and (iii) stripping non-semantic tokens from the readout. Across six open-source models from 9B to 284B parameters (Qwen3.5/3.6, Gemma 4 31B, Olmo 3 32B, Qwen3.5-122B-A10B, DeepSeek-V4-Flash) it reads workspace contents at 55% recall@10 vs 36% for J-lens and 38% for R-lens, with especially strong gains in early layers, while J++ lens vectors are at least as causally load-bearing as J-lens vectors on intermediate-swap interventions (59.7% vs 49.3%).

  • Jacobian Filtering partitions the layer-ℓ activation space into k clusters by k-means, fits one Expert Jacobian per cluster, and combines them into a single linear map with learned weights fit on a small dev set — “with no extra inference cost, but with noisy Jacobians effectively filtered out” [§Jacobian Filtering, Eq. 2a].
  • Some Expert Jacobians outperform the pooled Jacobian even when applied outside their own cluster, while many experts give poor readouts especially in early layers; the learned weights mainly decide which experts get zero/negative weight rather than finely blending all of them [§Jacobian Filtering, Fig. 3, App. H “What Is in the Bad Experts?”].
  • LRP backward pass (plain gradient + LN-rule on normalization + identity/half rule on gated MLPs + frozen expert routing in MoE models + frozen mHC mixing coefficients on DeepSeek-V4-Flash) reduces early-layer per-position gradient norms by ~5× vs the standard backward pass used in the original J-lens [§LRP, Fig. 4, Table 5].
  • Readout Filtering removes non-semantic tokens (punctuation, whitespace) from the lens vocabulary; the authors attribute these spurious top tokens to the Jacobian being a homogeneous linear map that can’t absorb input-independent frequency biases [§Readout Filtering].
  • On Qwen3.6-27B, Jacobian Filtering accounts for 11.7 of the 19.5pp uplift over the J-lens (60%); LRP and Readout Filtering account for the rest [Table 2].
  • Across all six models the J++ lens outperforms J-lens and R-lens on every layer and every task in the latent-variable-extraction benchmark (multihop, multilingual, typo, association, poetry adapted from Gurnee et al.); median relative improvement is +64% over J-lens and +42% over R-lens, with the gain growing with scale — +98% on Qwen3.5-122B-A10B and +101% on DeepSeek-V4-Flash [Table 1, Fig. 2a-b].
  • J++ lens vectors are at least as causally important as J-lens vectors under intermediate-swap interventions: 59.7% of trials flip the model’s output as intended vs 49.3% for J-lens and 50.7% for R-lens [Fig. 2c].
  • Case study — retrieve-then-suppress: on the Wegner-style “don’t think about X” task where the J-lens already showed the suppressed concept paradoxically rises in the workspace, the J++ lens’s earlier-layer readouts let the authors propose and test a mechanism — the concept is first retrieved into early-layer workspace and then actively suppressed in later layers using that early workspace representation causally [§Case Study, App. A].

The original Jacobian lens averages the per-source-activation Jacobian of the unembedding-composed-with-the-rest-of-the-network with respect to the layer-ℓ residual state, and reads out tokens ranked by their projection onto that averaged linear map. The J-lens weights every source activation equally.

The J++ lens makes three surgical changes to that averaged-Jacobian estimator. Jacobian Filtering: at each layer, run k-means (default k experts) over source activations, fit one Expert Jacobian per cluster, then take a learned weighted average — the weights are fit on a small dev set of latent-variable extraction problems and in practice act as a soft hard-selector (zeroing out bad experts). The authors explicitly draw the MoE analogy, framing Expert Jacobians as specializing to a subset of activation space; crucially, some experts generalize well outside their own cluster and others give bad readouts everywhere, so the filtering is about identifying and removing bad experts rather than routing each input to its best expert. LRP backward pass: each Jacobian is computed with layer-wise relevance propagation — stop gradients on residual-stream LayerNorm (LN-rule), identity/half rule on gated MLPs, plain gradient through attention, plus frozen expert routing in MoE models and frozen mHC mixing coefficients on DeepSeek-V4-Flash. This bounds error accumulation in the backward pass, and the per-position gradient norm plot (Fig. 4) shows this cuts early-layer gradient explosion by ~5×. Readout Filtering: project onto a reduced vocabulary with non-semantic tokens (punctuation, whitespace) removed, post hoc. The authors argue the Jacobian is a homogeneous linear map so it can’t absorb the input-independent frequency bias that would otherwise be needed to suppress these spurious top tokens.

Hyperparameters: 64 WikiText-103 sequences of 128 tokens, skipping the first 16 positions to avoid attention sinks. Evaluations use five latent-variable extraction tasks adapted from Gurnee et al. (2026) — multihop, multilingual, typo, association, poetry — macro-averaged at recall@10 over seven equally spaced layers. Causal evaluations use the intermediate-swap task from the same paper and report share of trials in which patching the swapped-in lens vector flips the output token.

Headline numbers on Qwen3.6-27B: J++ Lens 55.2% recall@10, J-Lens 35.7%, R-Lens 37.7%, Logit Lens baseline much lower. The J++ lens dominates on every task and every layer; the largest absolute task gain is on association (11-13% → 37%); poetry remains hard for every lens (≤5%). Early layers are where the J-lens struggles most and where the J++ lens gains the most — the authors read this as evidence that there is useful workspace content earlier than Gurnee et al. (2026) suggested.

Cross-model (Table 1, recall@10 %): Qwen3.5-9B 55.0 / Qwen3.6-27B 55.2 / Gemma 4 31B 58.0 / Olmo 3 32B 50.0 / Qwen3.5-122B-A10B 48.4 / DeepSeek-V4-Flash (284B) 61.4. Median uplift over J-lens 63.5%, over R-lens 42.2%. The two largest uplifts are on the two largest models — +98% on Qwen3.5-122B-A10B and +101% on DeepSeek-V4-Flash — and the authors flag that the advantage may continue to grow with scale.

Ablation (Table 2, Qwen3.6-27B): removing Jacobian Filtering costs 11.7pp (60% of the total 19.5pp uplift); LRP and Readout Filtering account for the other 7.8pp.

Causal preservation (Fig. 2c): intermediate-swap success at 59.7% (J++) vs 49.3% (J-lens) vs 50.7% (R-lens). Faithfulness-as-readout improves without sacrificing faithfulness-as-intervention.

Retrieve-then-suppress case study: on the “don’t think about X” directed-modulation task from Gurnee et al., the J++ lens’s reliable early-layer readouts reveal that the instruction to suppress X nevertheless retrieves X into the early-layer workspace, and that this early-layer representation is then causally used in later layers to de-amplify the concept. The authors note this mechanism would be hard to see with the weaker early-layer J-lens.

This is the first-order improvement to the Jacobian lens that A global workspace in language models used to discover and operationalize the J-space. Of the hypotheses Gurnee et al. (2026) left open about why the J-lens misses many expected intermediate variables — bad workspace model / no linear representation / model doesn’t represent them / lens is imperfect — the J++ lens provides strong evidence for the fourth: a substantial fraction of the “missing” intermediate variables can be linearly extracted once you filter noisy gradients. That raises the ceiling on what the workspace program can see, and directly strengthens the use-cases Anthropic highlighted — eval awareness, unverbalized scheming, reward hacking.

The Jacobian Filtering result is what the ingesting researcher flagged: fitting k-means Expert Jacobians on the activation space of dense models and finding that only some of the experts generalize well, with others giving bad readouts everywhere, is suggestively MoE-like — specialization in the gradient structure of a dense network, rather than specialization enforced by routing in a trained MoE. It is complementary to The Myth of Expert Specialization in MoEs: Why Routing Reflects Geometry, Not Necessarily Domain Expertise‘s “MoE routing reflects hidden-state geometry rather than domain expertise” — that paper argues trained MoE experts specialize because of the data-principal-subspace structure of the residual stream; this one shows that even in a dense model the same residual-stream geometry has enough implicit cluster structure that per-cluster Jacobians are usefully distinct, and that most of the implied cluster-expert mixture can be beaten by the learned filter.