<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Research Log]]></title><description><![CDATA[Research Log]]></description><link>https://haritharesearch.hashnode.dev</link><image><url>https://cdn.hashnode.com/res/hashnode/image/upload/v1593680282896/kNC7E8IR4.png</url><title>Research Log</title><link>https://haritharesearch.hashnode.dev</link></image><generator>RSS for Node</generator><lastBuildDate>Sat, 05 Sep 2026 09:50:08 GMT</lastBuildDate><atom:link href="https://haritharesearch.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[I Accidentally Reverse-Engineered DeepMind's Research Agenda — Then Built It]]></title><description><![CDATA[A 3rd-year undergrad had a conversation about AI's limitations. What came out of it independently mapped to six cutting-edge research concepts — and a working Python implementation.
B.Tech CSE, VIT Ve]]></description><link>https://haritharesearch.hashnode.dev/i-accidentally-reverse-engineered-deepmind-s-research-agenda-then-built-it</link><guid isPermaLink="true">https://haritharesearch.hashnode.dev/i-accidentally-reverse-engineered-deepmind-s-research-agenda-then-built-it</guid><category><![CDATA[AI]]></category><category><![CDATA[#deepmind]]></category><category><![CDATA[research]]></category><category><![CDATA[buildingandlearning]]></category><category><![CDATA[#SystemThinking]]></category><dc:creator><![CDATA[Bezawada Haritha]]></dc:creator><pubDate>Wed, 20 May 2026 11:56:49 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6a0d9cf4b1ed7bce01c9700e/2f8ac261-16b6-4830-8601-26b1da3f95ae.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A 3rd-year undergrad had a conversation about AI's limitations. What came out of it independently mapped to six cutting-edge research concepts — and a working Python implementation.</p>
<p><strong>B.Tech CSE, VIT Vellore · CGPA 9.76 · 3rd Year · AI Research · Systems Design</strong></p>
<hr />
<h2>The conversation that started everything</h2>
<p>It began with a simple question: why can't AI understand common sense? Not the textbook answer — the real one. Why does a system that can write poetry and debug code completely fail when a person picks up a towel near a spilled glass of water?</p>
<p>I started thinking out loud. What if instead of discarding a low-confidence answer, the system stored it in chunks and used the failure to improve future related decisions? What if AI scored its own outputs against global human feedback and accumulated that as experience? What if we trained it on first-person video so it understood the physical world from the inside?</p>
<blockquote>
<p>The ideas felt obvious. Turns out, "obvious ideas" that nobody has shipped yet are exactly what research labs spend millions trying to build.</p>
</blockquote>
<p>One by one, each concept I described mapped directly to an active research frontier — some deployed at scale, some still unsolved. I hadn't read the papers. I hadn't taken an ML course beyond the basics. I had just thought carefully about the problem.</p>
<p>This post is the story of that thinking, what it maps to, and the working system I built from it.</p>
<p><strong>6</strong> research concepts independently derived · <strong>17</strong> tests passing in 0.43s · <strong>Phase 1</strong> of 4 complete</p>
<hr />
<h2>The ideas — and what they actually are</h2>
<p>I'm not claiming to have invented these. I'm claiming something more interesting: I derived them independently, from first principles, without reading the literature first.</p>
<table>
<thead>
<tr>
<th>My Idea</th>
<th>What It Maps To</th>
<th>Status</th>
</tr>
</thead>
<tbody><tr>
<td>Store failed outputs in chunks, use them to improve related future decisions</td>
<td>Test-Time Training · RLHF error logging · RAG feedback loops</td>
<td>✅ Deployed</td>
</tr>
<tr>
<td>AI scores itself via global human feedback, averages as experience</td>
<td>RLHF · Constitutional AI · Self-Play · LMSYS Chatbot Arena</td>
<td>✅ Deployed</td>
</tr>
<tr>
<td>Train AI on first-person video to learn physical common sense</td>
<td>Meta Ego4D · Egocentric Video Learning · Embodied AI</td>
<td>✅ Deployed</td>
</tr>
<tr>
<td>Watch video, form expectation, detect mismatch, store without forcing conclusion</td>
<td>Predictive Coding · Active Inference · V-JEPA 2</td>
<td>🔬 In Research</td>
</tr>
<tr>
<td>Generalise observations into rules rather than storing raw events</td>
<td>Concept Drift Mitigation · Streaming Clustering · Continual Learning</td>
<td>🔬 In Research</td>
</tr>
<tr>
<td>Score rules by data count; switch to deep analysis when confidence drops</td>
<td>Bayesian Neural Networks · System 1/2 · Mixture of Experts</td>
<td>🔬 In Research</td>
</tr>
</tbody></table>
<hr />
<h2>The core insight: common sense is a scoring problem</h2>
<p>The reason AI lacks common sense isn't mysterious. It's a specific, engineering-solvable failure: the system treats every observation as equally weighted, has no mechanism to score its own confidence against real-world feedback, and can't distinguish between "I know this well" and "I've seen one example of this once."</p>
<p>Humans do this automatically. When you see someone pick up a towel near a spill, you don't run an exhaustive search of every towel-related memory. You have a high-confidence rule — <em>towel near spill means cleaning</em> — and apply it instantly. If they wipe their face instead, your brain doesn't crash. It notes the contradiction, slightly updates the rule's confidence, and files the anomaly.</p>
<p>{% callout type="info" %} <strong>Key Insight:</strong> The gap between AI and human common sense is not a data problem. It's an architecture problem. The system needs confidence-weighted rules, mismatch detection, and a self-correction loop — not more training data. {% /callout %}</p>
<hr />
<h2>The architecture</h2>
<p>The system is called a <strong>Dual-Process World Model</strong>. The flow:</p>
<img src="https://cdn.hashnode.com/uploads/covers/6a0d9cf4b1ed7bce01c9700e/fd592655-18f8-4f7f-a648-0a9edf345857.png" alt="" style="display:block;margin:0 auto" />

<p>The asymmetry is intentional — contradictions penalise by 0.07, confirmations reward by only 0.05. One real contradiction is more informative than one more confirmation. This mirrors Bayesian updates on prior-heavy distributions.</p>
<hr />
<h2>The implementation</h2>
<p>Four files. Each does exactly one thing.</p>
<p><code>core/rule.py</code> — Atomic unit of knowledge. Stores description, confidence score, evidence count, contradictions. Laplace-smoothed scoring prevents scores of exactly 0 or 1 from sparse data.</p>
<p><code>core/rule_db.py</code> — Vector store using sentence-transformers (all-MiniLM-L6-v2). "Cloth wipes puddle" matches "towel cleans spill" because meaning is encoded geometrically. Cosine similarity over 384 dimensions.</p>
<p><code>core/threshold.py</code> — System 1/2 switching based on rule confidence. Records outcomes, closes the feedback loop. Generates multi-branch predictions from top-k semantic matches.</p>
<p><code>core/mismatch.py</code> <em>(Phase 2 — in progress)</em> — LLM judge that reads expected vs actual outcome and determines if a mismatch occurred. Replaces the last manually-set flag in the system.</p>
<p>The scoring math:</p>
<pre><code class="language-python">def reinforce(self, amount: float = 0.05) -&gt; None:
    """Observation matched — reward slightly."""
    self.evidence += 1
    self.score = min(1.0, self.score + amount)

def contradict(self, amount: float = 0.07) -&gt; None:
    """
    Penalise harder than evidence rewards.
    One contradiction is more informative than one more confirmation.
    """
    self.contradictions += 1
    self.score = max(0.01, self.score - amount)

def recalculate_score(self) -&gt; None:
    """Laplace-smoothed ratio — prevents 0 or 1 from sparse data."""
    total = self.evidence + self.contradictions
    raw = (self.evidence + 1) / (total + 2)
    self.score = round(max(0.1, min(0.95, raw)), 3)
</code></pre>
<hr />
<h2>It ran. It worked. It self-corrected.</h2>
<p>After seeding 6 rules and running 6 observations:</p>
<ul>
<li><p>"towel cleans water spill" score dropped <strong>0.95 → 0.88</strong> after one mismatch</p>
</li>
<li><p>"towel wipes body sweat" correctly triggered <strong>DEEP mode</strong> (low confidence, 0.30)</p>
</li>
<li><p>"robot arm + acid" escalated to <strong>HUMAN</strong> — no matching rule found</p>
</li>
</ul>
<p>No manual labels. No hardcoded logic. Pure statistical self-correction. 17 tests pass in 0.43 seconds.</p>
<hr />
<h2>Build roadmap</h2>
<table>
<thead>
<tr>
<th>Phase</th>
<th>What</th>
<th>Status</th>
</tr>
</thead>
<tbody><tr>
<td>1</td>
<td>Threshold Scoring Engine — rule dataclass, vector store, Fast/Deep/Human switching, 17 tests</td>
<td>✅ Complete</td>
</tr>
<tr>
<td>2</td>
<td>Mismatch Detector — LLM judge replaces manual was_correct flag</td>
<td>🔄 In Progress</td>
</tr>
<tr>
<td>3</td>
<td>Memory Consolidator — abstract patterns into generalised rules instead of storing raw events</td>
<td>🔲 Next</td>
</tr>
<tr>
<td>4</td>
<td>Video Input Layer — Vision-Language Model replaces hand-written observation text</td>
<td>🔲 Planned</td>
</tr>
</tbody></table>
<hr />
<h2>What's still the open research problem</h2>
<p>Every component here is real and running. What doesn't exist yet — anywhere — is a unified, real-time system combining all of them.</p>
<p>{% callout type="warning" %} <strong>The Honest Gap:</strong> Threshold scoring exists. Mismatch detection exists. Memory consolidation exists. Predictive coding exists. What the field is still missing is a single architecture that runs all four simultaneously in real time, on live input, without catastrophic forgetting. This system is the skeleton — the hard problems are in the connective tissue. {% /callout %}</p>
<hr />
<h2>Why I'm publishing this</h2>
<p>Because ideas without timestamps don't exist. And because the most useful thing I can do for other students who think in systems but haven't connected those thoughts to the research literature is to show: <strong>the gap is smaller than it looks.</strong></p>
<blockquote>
<p>The difference between an idea and a contribution is the build log. So here is mine.</p>
</blockquote>
<p>The repo goes public when Phase 3 ships. Until then, this post is the timestamp.</p>
<hr />
<p><em>GitHub: coming at Phase 3 ·</em></p>
]]></content:encoded></item></channel></rss>