Drop7 Research
approaches/value-policy-learning/phase-distillation/README.mdxMDX119 lines · 5.9 KB
---
title: Phase distillation
family: value-policy-learning
summary: Train a fast network to copy a slow but reliable search, using both its chosen column and the values behind that choice.
status: rejected
evidence: task-record only
reads: public
---

Take the exact depth-3 phase policy, which is trustworthy but expensive, and
compress it into a network that answers instantly.

<EvidenceLabel status="rejected" evidence="task-record only" reads="public" />

Nothing privileged is involved. The teacher is itself a public-information
search, so the student never has access to anything a player could not see —
this is compression, not the [oracle](/learn/glossary) shortcut used elsewhere
in the repository.

## The intuition

A search that looks three of the player's own moves ahead and averages five
representative chance outcomes at every dealt disc has to evaluate a very large
number of boards for one decision. If its decisions are a *function* of the
visible position, and they are, since it reads nothing else. Then in principle
a network can learn that function and reproduce the decisions at a fraction of
the cost. Cheap decisions are not a footnote here: everything the research would
like to do (longer horizons, more chance samples, more games) is bounded by how
long one decision takes.

Two ways to copy a teacher, and this directory tries both.

- **Copy the choice.** Ask only "which column did the teacher play?" and train a
  classifier over the seven columns. Simple, and it throws away everything the
  teacher knew about the six columns it rejected.
- **Copy the numbers.** Ask the teacher for the value it assigned each column
  and regress those values. Richer, and it keeps the near-misses: the positions
  where two columns were nearly equal are exactly the ones a classifier learns
  nothing useful from.

## How it works

1. **Generate positions.** Games are played by the reference exact depth-3,
   five-stratum phase policy. Trajectories are restricted to the training seed
   partition (`0x3d70…`) so evaluation lanes stay untouched.
2. **Canonicalize.** Each position is reflected into whichever of its two
   horizontal orientations sorts first, and the teacher's column is reflected
   with it, so the student cannot waste capacity learning that the board is
   symmetric.
3. **Extract inputs.**
   - `phase-student.cpp` feeds the network a sparse encoding of the public
     board: a separate indicator for every cell and token, the visible next
     disc, the rise phase, and column-height and row-count summaries, into a
     128/128 network with seven outputs.
   - `phase-q-student.cpp` builds a 112-number feature vector describing the
     current position and the chosen action, together with summaries of five
     common-random, stratified one-ply successors, into a 128/64 network with a
     single output.
4. **Fit.** The action student is trained to reproduce the teacher's column; the
   value student is trained to reproduce the teacher's scalar action value.
5. **Play.** The action student plays its highest-scoring legal column directly;
   the value student scores every legal column and plays the best.

The second design deserves a note: giving the model *common-random one-ply
successors* is an early, cheap version of the idea that eventually became the
[afterstate corpus](/approaches/afterstate-learning/distributional-afterstate)
— judge a move by the position it leaves behind, under futures shared across all
the candidates so the comparison between them is fair.

## What happened

Both were retired. The index records that the action student's agreement with
its teacher on held-out positions was poor and its whole-game play was poor with
it; and that the value student fit its training targets but did not turn into a
policy that could stand on its own.

There is no ledger entry, no cohort table and no retained number for either
program. That is the whole of the retained evidence, and it is thin: the outcome
is recorded, the measurement is not.

<TechnicalDetails title="The technical record">

Two rows in the [experiment index](/docs/research/experiment-index), both
labelled **task-record only**: the referenced research conversation reports the
outcome but it was never promoted into [the ledger](/docs/research/history):

- *"Policy distillation … Clones the exact phase D3/s5 action policy from public
  board tokens. **Rejected; task-record only;** held-out top-action agreement
  and whole-game play were poor."*
- *"Q distillation … Regresses scalar teacher Q from phase features and common
  one-ply successor summaries. **Rejected; task-record only;** training fit did
  not translate to a viable standalone policy."*

A search of the ledger for either source file returns nothing, so **no retained
result** exists beyond those two sentences: no agreement percentage, no cohort,
no paired comparison. Everything above about architecture, canonicalization,
feature counts and seed partitions is read from the sources themselves and is
**repository-verified**, not evidence of strength.

For a distillation attempt against the same teacher family that *does* carry
ledger numbers, see the
[D4 root-Q clone](/approaches/value-policy-learning/d4-q-clone).

</TechnicalDetails>

## What this taught us, and what is still open

The recurring shape of every cloning attempt in this repository is a large gap
between agreement on the teacher's own positions and agreement on positions the
student generated for itself. Once the student plays a slightly different move,
it drifts into boards the teacher never visited, and its imitation quality there
is unmeasured: the same coverage problem as the
[sibling trap](/learn/concepts/ranking-siblings), arriving through a different
door.

What this does not rule out: distillation as an *engineering* step. If a policy
ever qualifies, compressing it is a separate, well-defined problem with its own
gate, and one that would be judged on decision agreement and speed, not on
whether the student invents strength its teacher never had.