<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Interpretability on Sanketh's Blog</title><link>https://sankethbk.github.io/blog/tags/interpretability/</link><description>Recent content in Interpretability on Sanketh's Blog</description><generator>Hugo -- 0.169.0</generator><language>en-us</language><lastBuildDate>Tue, 27 Oct 2026 00:00:00 +0530</lastBuildDate><atom:link href="https://sankethbk.github.io/blog/tags/interpretability/index.xml" rel="self" type="application/rss+xml"/><item><title>Lab 1.3: From Templates to Features — What One Hidden Layer Does to the Weights</title><link>https://sankethbk.github.io/blog/posts/ml/labs/2026-10-27-lab-3-from-templates-to-features/</link><pubDate>Tue, 27 Oct 2026 00:00:00 +0530</pubDate><guid>https://sankethbk.github.io/blog/posts/ml/labs/2026-10-27-lab-3-from-templates-to-features/</guid><description>&lt;h1 id="lab-13-from-templates-to-features--what-one-hidden-layer-does-to-the-weights"&gt;Lab 1.3: From Templates to Features — What One Hidden Layer Does to the Weights&lt;/h1&gt;
&lt;p&gt;&lt;strong&gt;MNIST internals series.&lt;/strong&gt; &lt;a href="https://sankethbk.github.io/blog/posts/ml/labs/2026-10-19-lab-1-mnist-from-pixels-to-neural-network/"&gt;Lab 1.1&lt;/a&gt; gave us the clean answer: in a linear softmax model, a weight row is a matched-filter photograph of its class. &lt;a href="https://sankethbk.github.io/blog/posts/ml/labs/2026-10-19-lab-2-continual-learning-1-2-then-3/"&gt;Lab 1.2&lt;/a&gt; showed those photographs being painted, re-carved, and out-bid.&lt;/p&gt;
&lt;p&gt;Now the question this series was really building toward: &lt;strong&gt;add one hidden layer. What happens to the weight picture?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;ve watched 3Blue1Brown&amp;rsquo;s neural nets series, you might expect: &amp;ldquo;layers learn edges, then curves, then parts; visualizing raw weights won&amp;rsquo;t tell you much here.&amp;rdquo; We can now test that ourselves instead of taking it on faith, and the truth lands in a more interesting place:&lt;/p&gt;</description></item><item><title>Lab 2.1: How Word Vectors Learn to Mean — Embeddings From Zero, and What They Secretly Compute</title><link>https://sankethbk.github.io/blog/posts/ml/labs/2026-10-27-lab-2-1-how-word-vectors-learn-to-mean/</link><pubDate>Tue, 27 Oct 2026 00:00:00 +0530</pubDate><guid>https://sankethbk.github.io/blog/posts/ml/labs/2026-10-27-lab-2-1-how-word-vectors-learn-to-mean/</guid><description>&lt;h1 id="lab-21-how-word-vectors-learn-to-mean--embeddings-from-zero-and-what-they-secretly-compute"&gt;Lab 2.1: How Word Vectors Learn to Mean — Embeddings From Zero, and What They Secretly Compute&lt;/h1&gt;
&lt;p&gt;&lt;strong&gt;Language-model internals series.&lt;/strong&gt; In the &lt;a href="https://sankethbk.github.io/blog/posts/ml/labs/2026-10-19-lab-1-mnist-from-pixels-to-neural-network/"&gt;MNIST series&lt;/a&gt; we took apart what weights represent for vision. New series, same ritual — build it from scratch, check gradients numerically, claim nothing without a baseline or a measured number.&lt;/p&gt;
&lt;p&gt;The question for this lab, in the plainest possible form:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;A word becomes a row of numbers. How can those numbers possibly &lt;em&gt;mean&lt;/em&gt; anything?&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>Lab 1.1: MNIST From Pixels to a Neural Network — What Do the Weights Actually Represent?</title><link>https://sankethbk.github.io/blog/posts/ml/labs/2026-10-19-lab-1-mnist-from-pixels-to-neural-network/</link><pubDate>Mon, 19 Oct 2026 00:00:00 +0530</pubDate><guid>https://sankethbk.github.io/blog/posts/ml/labs/2026-10-19-lab-1-mnist-from-pixels-to-neural-network/</guid><description>&lt;h1 id="lab-11-what-do-the-weights-of-a-neural-network-actually-represent"&gt;Lab 1.1: What Do the Weights of a Neural Network Actually Represent?&lt;/h1&gt;
&lt;p&gt;&lt;strong&gt;MNIST internals series&lt;/strong&gt; — the practical companion to the &lt;a href="https://sankethbk.github.io/blog/posts/ml/"&gt;ML notes&lt;/a&gt; (softmax &amp;amp; cross-entropy, backprop, training a 2-layer network). This time we stop deriving and start &lt;em&gt;looking&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Anyone who has trained a model eventually asks:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The model is just a pile of numbers. In this lab&amp;rsquo;s case, exactly 7,860 of them (7,850 weights + 10 biases). &lt;strong&gt;What do those numbers actually &lt;em&gt;mean&lt;/em&gt;?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>Lab 1.2: Teach It 1s and 2s First, Then Introduce 3 — Watching Weights Reorganize</title><link>https://sankethbk.github.io/blog/posts/ml/labs/2026-10-19-lab-2-continual-learning-1-2-then-3/</link><pubDate>Mon, 19 Oct 2026 00:00:00 +0530</pubDate><guid>https://sankethbk.github.io/blog/posts/ml/labs/2026-10-19-lab-2-continual-learning-1-2-then-3/</guid><description>&lt;h1 id="lab-12-teach-it-1s-and-2s-first-then-introduce-3--watching-weights-reorganize"&gt;Lab 1.2: Teach It 1s and 2s First, Then Introduce 3 — Watching Weights Reorganize&lt;/h1&gt;
&lt;p&gt;&lt;strong&gt;MNIST internals series.&lt;/strong&gt; In &lt;a href="https://sankethbk.github.io/blog/posts/ml/labs/2026-10-19-lab-1-mnist-from-pixels-to-neural-network/"&gt;Lab 1.1&lt;/a&gt; we established what a weight row &lt;em&gt;is&lt;/em&gt;: a learned photograph of a class, contrast-carved against its rivals, painted by the update rule
$W_c \leftarrow W_c - \eta\,\tfrac1N\sum (\hat p_c - y_c)\,x^\top$
.&lt;/p&gt;
&lt;p&gt;Now the experiment that motivated the series: &lt;strong&gt;start the model in an impoverished world — only 1s and 2s exist — then let it discover 3.&lt;/strong&gt; This is &lt;em&gt;continual learning&lt;/em&gt; in miniature, and it lets us watch, directly and quantitatively:&lt;/p&gt;</description></item></channel></rss>