\documentclass[11pt]{article} \usepackage[margin=1.2in]{geometry} \usepackage{amsmath,amssymb} \usepackage{booktabs} \usepackage{hyperref} \usepackage{listings} \usepackage{xcolor} \usepackage{natbib} \lstset{ basicstyle=\ttfamily\small, breaklines=true, frame=single, backgroundcolor=\color{gray!10}, } \title{Conditioned Reflex Injection:\\Stimulus-Response Learning for Frozen Transformers} \author{Tommi Niemi\\Rotko Networks\\\texttt{tommi@rotko.net}} \date{April 2026 --- DRAFT} \begin{document} \maketitle \begin{abstract} We condition frozen transformers to produce specific token sequences in response to specific activation patterns, without gradient descent. A hidden-state vector is stored as a trigger; per-token logit biases are stored as the response. At inference, cosine similarity fires the matching reflex. Tested on Qwen~2.5~0.5B, Gemma~4 E2B-it, E4B-it, and E4B~base at precisions from float32 to int4. Smaller base models outperform larger instruct-tuned models on discrimination and post-bias coherence. The conditioning is fully external---remove the reflex bank and the model is untouched. Code: \url{https://git.rotko.net/tommi/cri}. \end{abstract} %─────────────────────────────────────────────── \section{Conditioning, Not Memory} CRI does not give a model memory or knowledge. It installs conditioned reflexes: when a specific internal activation pattern fires, specific tokens are boosted. The model has no representation of the association. This is Pavlovian conditioning at the logit level. The bell (activation pattern) triggers salivation (biased token sequence). The association persists in an external reflex bank. The model weights are never modified. Remove the file and the model is exactly as it was---no trace, no residue. The closer analogy is post-hypnotic suggestion: a trigger installed externally, fired without the subject's awareness, removable without leaving a mark. Fine-tuning modifies weights. RAG re-encodes text each time. LoRA requires gradients. In-context learning vanishes with the conversation. CRI persists across sessions without touching the model. %─────────────────────────────────────────────── \section{Method} \subsection{Architecture} \textbf{Frozen backbone}: any transformer. Produces hidden-state vectors from input tokens. Weights never modified. \textbf{Reflex bank}: stores (trigger, response) pairs: \begin{itemize} \item \textbf{Trigger}: hidden-state vector $\mathbf{h}$ at the final token position---the model's activation pattern for a given input. \item \textbf{Response}: per-position logit biases $\{(t_i, b_i)\}$---one pair per answer token. \end{itemize} Both are sub-symbolic. The trigger is an opaque high-dimensional vector; the response is a list of (integer, float) pairs. The reflex bank resists inspection without the backbone that produced it. \subsection{Conditioning} Given stimulus $P$ and desired response $A$: \begin{enumerate} \item $\mathbf{h} = \text{backbone}(P)$ at final token. This is the trigger. \item Run backbone on $P \mathbin\Vert A$. At each answer position $i$: \[ b_i = \max\!\bigl(\max_j \ell_j - \ell_{t_i},\; 5.0\bigr) \] \item Store $(\text{trigger}=\mathbf{h},\;\text{response}=\{(t_i, b_i)\})$. \end{enumerate} One forward pass. No gradients. \subsection{Triggering} Given query $Q$: \begin{enumerate} \item $\mathbf{h}_q = \text{backbone}(Q)$ at final token. \item $\cos(\mathbf{h}_q, \mathbf{h}_{\text{stored}})$ against all triggers. Best match above threshold fires. \item At generation step $i$, add $b_i$ to logits before argmax. After biases exhaust, backbone generates freely. \end{enumerate} Post-bias fluency is model-dependent. Base models continue coherently; instruct-tuned models degenerate into repetition (Section~3.2). \subsection{Why Hidden States, Not Text} RAG consumes context window, re-encodes at each retrieval, and uses a separate embedding space. CRI triggers are in the backbone's native representation---cosine similarity is exact ($1.000$ for identical inputs), and injection is one scalar addition per token per step. %─────────────────────────────────────────────── \section{Experiments} \label{sec:results} \subsection{Setup} Four backbones: Qwen~2.5~0.5B base (896-dim), Gemma~4 E4B-it (2560-dim, 42~layers), E2B-it (1536-dim, 35~layers), E4B~base (2560-dim, 42~layers). Quantization tested at f32/f16/bf16/int8/int4 on Qwen. PyTorch inference, CPU, no gradients at any point. \subsection{One-Shot Conditioning} Three reflexes conditioned on ``Zyphraxia'' (absent from all training data). Conditioned tokens correct on all backbones (sim~$= 1.000$). Post-bias behavior diverges: \begin{table}[h] \centering \begin{tabular}{llll} \toprule Backbone & Post-bias behavior & Fluent? \\ \midrule Qwen 2.5 0.5B base & Coherent continuation & Yes \\ Gemma 4 E4B base & Stutters, hits EOS & Partial \\ Gemma 4 E4B-it & Repetition loops & No \\ Gemma 4 E2B-it & Repetition loops & No \\ \bottomrule \end{tabular} \caption{Post-bias degeneration correlates with both instruct tuning and architectural complexity (sliding window attention, KV sharing, logit softcapping). Confounded in current test matrix.} \label{tab:postbias} \end{table} \subsection{Stimulus Generalization and Misfire} Paraphrased and vague queries tested against the capital trigger ($\theta = 0.3$): \begin{table}[h] \centering \begin{tabular}{lcccc} \toprule Query & Qwen & E4B base & E4B-it & E2B-it \\ \midrule ``What is the capital of Z.?'' & 0.832 & 0.873 & 0.932 & 0.932 \\ ``Zyphraxia's capital is'' & 0.969 & 0.935 & 0.974 & 0.970 \\ ``Tell me about Novaheim'' & 0.756 & 0.891 & 0.940 & 0.924 \\ ``Name three facts about Z.'' & 0.761 & 0.884 & 0.943 & 0.920 \\ ``\ldots Who rules it?'' & 0.827 & 0.889 & 0.918 & 0.930 \\ \midrule \textbf{Spread} & \textbf{0.213} & \textbf{0.062} & \textbf{0.056} & \textbf{0.038} \\ \bottomrule \end{tabular} \caption{Cross-model discrimination. Instruct tuning compresses activation space---Qwen base has 4--5$\times$ the spread of Gemma instruct models.} \label{tab:discrimination} \end{table} \subsection{Quantization Tolerance} \begin{table}[h] \centering \begin{tabular}{lcccc} \toprule Query & f32 & f16 & int8 & int4 \\ \midrule Self (capital trigger) & 1.000 & 1.000 & 1.000 & 1.000 \\ ``What is the capital?'' & 0.832 & 0.832 & 0.826 & 0.808 \\ ``Something about a queen\ldots'' & 0.752 & 0.752 & 0.754 & 0.742 \\ ``Remind me about that currency'' & 0.733 & 0.732 & 0.736 & 0.727 \\ \midrule Cross-precision self-sim (vs f32) & --- & 0.9999 & 0.9985 & 0.9440 \\ \bottomrule \end{tabular} \caption{Actual quantized inference (bitsandbytes, Qwen). Same-precision self-match is always 1.000. Cross-precision f32$\to$int4 drops to 0.944.} \label{tab:quant} \end{table} CRI works at any precision if conditioning and triggering match. Cross-precision reflex banks are unreliable. %─────────────────────────────────────────────── \section{Privacy by Representation} Trigger patterns are points in a model-specific activation space---meaningless without the exact backbone. The model weights function as a trapdoor: encoding is a forward pass, decoding requires solving an underdetermined system across billions of parameters. An adversary with the reflex bank but not the backbone learns nothing. An adversary with both can enumerate response tokens but cannot determine what stimuli trigger them without brute-force search over the input space. Privacy by representation, not encryption---an architectural consequence of operating in the model's internal space. %─────────────────────────────────────────────── \section{Related Work} \textbf{Pavlov}~(1927): classical conditioning. CRI operates analogously---activation pattern (CS) paired with logit biases (US) produces token sequence (CR). \textbf{Skinner}~(1938): operant conditioning. CRI currently performs respondent conditioning only; bias modulation via reward is a natural extension. \textbf{CAMELoT} \citep{jang2024camelot}: KV pairs from attention, injected as prefixes. \textbf{EM-LLM} \citep{fountas2024emllm}: KV cache extension. \textbf{Larimar} \citep{das2024larimar}: memory matrix, requires training. All inject at attention level. CRI injects at output logits---simpler, cheaper, no attention recomputation. \textbf{RAG} \citep{lewis2020rag}: retrieves text, re-encodes. RAG informs; CRI conditions. \textbf{ROME/MEMIT} \citep{meng2022rome,meng2023memit}: rank-one weight edits. CRI modifies zero weights. %─────────────────────────────────────────────── \section{Limitations} \textbf{Backbone lock-in}: reflexes don't transfer across models. \textbf{Trigger collision}: similar activations fire incorrect reflexes. \textbf{Linear scan}: $O(n)$ retrieval; needs ANN past ${\sim}100$K reflexes. \textbf{Per-position biases}: doesn't generalize to reformulations. \textbf{One-shot rigidity}: no reinforcement or extinction. \textbf{Post-bias degeneration}: instruct models loop after biases exhaust. \textbf{Discrimination degrades with instruct tuning}: RLHF compresses activation spaces (Qwen: 0.213 spread; Gemma E4B-it: 0.056). \textbf{Cross-precision fragility}: condition and trigger must match precision. %─────────────────────────────────────────────── \section{Conclusion} Capture activation pattern, store logit biases, match by cosine similarity, inject during generation. One forward pass to condition. One lookup to trigger. Remove the file and the model is untouched. \bibliographystyle{plainnat} \begin{thebibliography}{10} \bibitem[Das et~al.(2024)]{das2024larimar} Das, P. et~al. Larimar. \emph{ICML}, 2024. arXiv:2403.11901. \bibitem[Fountas et~al.(2024)]{fountas2024emllm} Fountas, Z. et~al. EM-LLM. arXiv:2407.09450, 2024. \bibitem[Jang et~al.(2024)]{jang2024camelot} Jang, J. et~al. CAMELoT. arXiv:2402.13449, 2024. \bibitem[Lewis et~al.(2020)]{lewis2020rag} Lewis, P. et~al. RAG. \emph{NeurIPS}, 2020. \bibitem[Meng et~al.(2022)]{meng2022rome} Meng, K. et~al. ROME. \emph{NeurIPS}, 2022. \bibitem[Meng et~al.(2023)]{meng2023memit} Meng, K. et~al. MEMIT. \emph{ICLR}, 2023. \bibitem[Pavlov(1927)]{pavlov1927} Pavlov, I.~P. \emph{Conditioned Reflexes}. Oxford University Press, 1927. \bibitem[Skinner(1938)]{skinner1938} Skinner, B.~F. \emph{The Behavior of Organisms}. Appleton-Century, 1938. \end{thebibliography} \end{document}