From zero labels to 42/42: an unsupervised continual-learning loop on 14 geometric parts

A correction to how I scored it, and what I did after:

The correction: the 42/42 in this post only asked whether the right object model was reported,
which I have since started calling the identity convention. On the evening the post went up I added
a pose criterion (first learning happens at the 0-degree rotation, so the rotation applied
afterwards is the ground truth; symmetric parts are folded through their own symmetry group, with a
threshold of 30 degrees), and the same graph memory scored only 33/42. This is not only about
the score: targeted write-in transforms an observation into the object model’s frame using that
model’s most likely pose hypothesis, so a wrong pose puts the material in the wrong place - before
the trusted-band gate, 17% (389/2305) of the written points were more than 15 mm off the part’s true
surface, and under unbounded scoring they still compete. Looking at identity alone, none of this is
visible.

Figure: the same 42 episodes, two rulers. At the left is the graph memory used in the post; the
four steps to the right are the four later protocol revisions.

What it took (pose 33/42 → 41/42):

  • Fixing a defect of my own: after a write partway through an episode the official feature cache
    goes stale, and my fallback treated a feature it could not read as a complete mismatch (after the
    fix, self-checks passing on the first try went from 4/14 to 12/14, repair rounds from 41 to 5).
  • Putting pose into the loop’s own criteria (the self-check looks at pose, checking the pose before
    writing, the pose at repair time given by the protocol), then three corrections on the write path
    • most of the gain comes from these two steps.
  • Four other comparisons (the official hypothesis-testing jumps, re-checking the rival object
    model after a write) all stopped at 41/42 and cost more.
  • Speed: one write per episode instead of point by point, a resident process, one thread per worker
    process, two places made parallel - verdicts and all 9741 written points stayed identical, and a
    loop went from 83 minutes to 37. Two negative results: ending recognition early cuts off
    pose convergence with it (39/42), and running first learning in parallel with the previous part’s
    sentinel checks changes the tour (the cylinder lost its entire top face).

The remaining loss is the washer at 90 degrees, recognized as the H-tube: not a viewpoint problem
but the amount of material: 147 nodes in the washer’s object model against 704 in the H-tube’s.

1 Like