New blog
All checks were successful
Deploy Website / build-and-deploy (push) Successful in 1m3s

This commit is contained in:
2026-06-08 19:31:19 -04:00
parent 581f888218
commit 358e9cee4a
20 changed files with 586 additions and 102 deletions

View File

@@ -14,34 +14,34 @@ const paperLinks = [
const highlights = [
{
value: "No known graph",
label: "Learns topology without prior adjacency examples.",
value: "No graph labels",
label: "Learns from trajectories without seeing adjacency examples.",
},
{
value: "Unknown dynamics",
label: "Uses observed states instead of hand-specified equations.",
label: "Works from observed state sequences, not hand-written dynamics.",
},
{
value: "Attention as edges",
label: "Interprets learned attention scores as the graph estimate.",
value: "Attention becomes edges",
label: "Uses attention scores as the topology estimate.",
},
];
const steps = [
"Embed every agent into a shared latent space.",
"Project embeddings into key/query vectors and compute pairwise attention.",
"Translate observed agent states into values.",
"Predict the next state and read the attention matrix as topology.",
"Put each agent in a shared latent space.",
"Build key/query pairs and compute attention between agents.",
"Use observed states as the values passed through attention.",
"Forecast the next state, then threshold attention to recover topology.",
];
export const metadata: Metadata = {
title: "Graph Attention Topology Inference",
description:
"Project page for Graph Attention Inference of Network Topology in Multi-Agent Systems.",
"A project page for inferring hidden multi-agent network topology with graph attention.",
openGraph: {
title: "Graph Attention Inference of Network Topology in Multi-Agent Systems",
description:
"A graph-attention approach for inferring hidden network topology from multi-agent trajectories.",
"Inferring hidden network topology from multi-agent trajectories with graph attention.",
type: "article",
publishedTime: "2024-10-26",
images: [
@@ -117,7 +117,7 @@ export default function GraphAttentionProjectPage() {
Graph Attention Inference of Network Topology
</h1>
<p className="max-w-[43rem] text-[1.12rem] leading-8 text-graph-soft sm:text-[1.25rem]">
Inferring the hidden graph behind a multi-agent system by training attention to predict what each agent does next.
We use next-state prediction to expose the interaction graph behind a multi-agent system.
</p>
</div>
@@ -196,14 +196,14 @@ export default function GraphAttentionProjectPage() {
<div className="space-y-5">
<p className="graph-kicker">Overview</p>
<h2 className="max-w-[42rem] text-balance text-4xl font-semibold leading-tight text-graph-ink sm:text-5xl">
Predict the next state, then read the graph from what the model attended to.
Train on motion. Read the graph from attention.
</h2>
<div className="space-y-5 text-[1.02rem] leading-8 text-graph-soft">
<p>
The paper studies a practical problem in networked multi-agent systems: the agents move, synchronize, or converge, but the interaction graph behind that behavior is not given.
In many multi-agent systems, you can watch agents move, synchronize, or settle, but you are not given who influences whom.
</p>
<p>
The model is trained on state trajectories from consensus dynamics and Kuramoto oscillators. During prediction, attention scores between agent embeddings become an interpretable approximation of the adjacency matrix.
This project tests whether a predictor trained on trajectories can recover that missing adjacency matrix. On consensus dynamics and Kuramoto oscillators, the learned attention scores become a usable proxy for edges.
</p>
</div>
</div>
@@ -211,7 +211,7 @@ export default function GraphAttentionProjectPage() {
<Figure
src={simulationImage}
alt="Consensus and Kuramoto simulation examples with adjacency matrices"
caption="Simulation examples: consensus dynamics and Kuramoto oscillators paired with their hidden adjacency matrices."
caption="Consensus and Kuramoto trajectories, each paired with the hidden adjacency matrix used for simulation."
className="rounded-md"
/>
</section>
@@ -221,10 +221,10 @@ export default function GraphAttentionProjectPage() {
<div className="space-y-5">
<p className="graph-kicker">Method</p>
<h2 className="text-balance text-4xl font-semibold leading-tight text-graph-ink sm:text-5xl">
A topology estimate falls out of the attention layer.
The graph is never supervised directly.
</h2>
<p className="text-[1.02rem] leading-8 text-graph-soft">
Instead of supervising the graph directly, the model learns to forecast the system. The attention matrix is then thresholded and compared with the true graph.
The model learns the dynamics first. After training, we threshold the attention matrix and compare the inferred edges with the true graph.
</p>
</div>
@@ -243,7 +243,7 @@ export default function GraphAttentionProjectPage() {
<Figure
src={architectureImage}
alt="Architecture diagram showing agent embeddings, key-query attention, values, predictions, and loss"
caption="Architecture: embeddings produce key/query vectors; observed states produce values; the attention matrix approximates adjacency."
caption="Model layout: embeddings create key/query vectors, states provide values, and attention is later read as adjacency."
className="rounded-md"
/>
</section>
@@ -252,31 +252,31 @@ export default function GraphAttentionProjectPage() {
<div className="max-w-[46rem] space-y-5">
<p className="graph-kicker">Results</p>
<h2 className="text-balance text-4xl font-semibold leading-tight text-graph-ink sm:text-5xl">
Strongest graph recovery appears with smaller systems, and more simulations help larger systems.
Smaller systems recover cleanly; larger ones improve with more simulations.
</h2>
<p className="text-[1.02rem] leading-8 text-graph-soft">
F1 link-prediction scores are above a random baseline for both tested dynamics. Consensus dynamics are easier than Kuramoto oscillators, while additional simulation data improves larger-agent inference.
F1 scores beat a random baseline for both dynamics. Consensus is the easier case; Kuramoto needs more data as the number of agents grows.
</p>
</div>
<Figure
src={resultsImage}
alt="F1 score results for consensus dynamics and Kuramoto oscillators"
caption="F1 results across system size and number of simulations for consensus dynamics and Kuramoto oscillators."
caption="F1 link-prediction results across system size and simulation count."
className="rounded-md"
/>
<div className="grid gap-6 md:grid-cols-[minmax(0,0.78fr)_minmax(0,1fr)] md:items-start">
<div className="rounded-md border border-graph-line bg-graph-panel p-5">
<p className="font-mono text-[0.72rem] uppercase text-graph-muted">training behavior</p>
<p className="font-mono text-[0.72rem] uppercase text-graph-muted">training trace</p>
<p className="mt-3 text-[1.02rem] leading-8 text-graph-soft">
Attention first learns the obvious self-dependencies, then gradually recovers inter-agent structure as training progresses.
Early training mostly finds self-dependencies. Later epochs start assigning weight to the agent-to-agent links.
</p>
</div>
<Figure
src={attentionImage}
alt="Attention matrices over training epochs and predicted graphs"
caption="Attention values through training stages, from true graph to predicted graph."
caption="Attention during training, from the true graph reference to the final predicted graph."
className="rounded-md"
/>
</div>

View File

@@ -9,8 +9,8 @@ const projects = [
title: "Graph Attention Inference of Network Topology",
eyebrow: "MECC 2024 / Multi-Agent Systems",
description:
"Inferring hidden interaction graphs from multi-agent trajectories by training attention to predict each agent's next state.",
status: "Paper project",
"A graph-attention model that recovers hidden interaction graphs from trajectory data while learning to predict the next state.",
status: "Published paper",
year: "2024",
image: graphAttentionImage,
imageAlt: "Graph attention model architecture diagram",
@@ -20,10 +20,10 @@ const projects = [
export const metadata: Metadata = {
title: "Projects",
description: "Research projects and paper pages by Akshay Kolli.",
description: "Selected projects on world models, ML hardware, GPUs, deep learning, and the occasional multi-agent systems paper.",
openGraph: {
title: "Projects",
description: "Research projects and paper pages by Akshay Kolli.",
description: "Selected projects on world models, ML hardware, GPUs, deep learning, and the occasional multi-agent systems paper.",
},
};
@@ -35,10 +35,11 @@ export default function ProjectsPage() {
<div className="space-y-4">
<p className="eyebrow">Projects</p>
<h1 className="max-w-[44rem] text-balance font-sans text-5xl font-medium leading-[0.96] text-ink sm:text-6xl lg:text-7xl">
Research pages and technical artifacts.
World models, GPUs, and deep learning systems.
</h1>
<p className="max-w-[36rem] text-[1rem] leading-8 text-muted">
A compact index of paper pages, experiments, and systems work.
Most of my current work sits around ML hardware, deep learning models,
and world models for RL. This topology paper is the multi-agent exception.
</p>
</div>
<p className="font-mono text-[0.72rem] uppercase leading-6 text-muted-strong lg:text-right">
@@ -77,7 +78,7 @@ export default function ProjectsPage() {
href={project.href}
className="font-medium text-ink underline decoration-line-strong underline-offset-4 transition-colors hover:text-accent hover:decoration-accent"
>
Open project
Read project
</Link>
<div className="flex flex-wrap gap-3 font-mono text-[0.68rem] uppercase text-muted-strong">
{project.tags.map((tag) => (