weird idea, work in progress: (1) get DistilBERT hidden states (768 dimensions) for 768 sentences (of Frankenstein, in this instance) → stack vertically to form a 768x768 square → subtract the column-wise mean, normalize → lil bit of gaussian blur and threshold → "skeletonize" with skimage → "asemic" "writing"?
more progress! I ended up having to write my own skeleton tracing algorithm, which I thiiiink is working okay now—basically it does a flood fill starting with pixels having exactly one neighbor, and each connected pixel is a node in a graph; later I use visvalingam-wyatt line simplification on each segment between nodes w/3+ edges. this technique gives me nice long lines, clean intersections, & hopefully more elegant plotter gestures. (this is just a raster preview, will try an actual plot soon)
fiiiinally made a complete plot from this idea that I actually like! this is: distilbert hidden states from the first ~1k sentences of Frankenstein, stacked vertically to form a bitmap, normalized, blurred, skeletonized into a rhizome of polylines, then plotted on an axidraw. (the idea was to invent a form of "asemic" "writing" to visualize machine learning model hidden states)
this is using my homegrown bitmap-skeleton-to-polyline code (https://friend.camp/@aparrish/107577111560050942). I intentionally lowered the pen height on the axidraw in the hope of producing some organic swooshes on the pen lift motion and... I think I might have overdone it a bit, haha. next version of this will use a finer pen, a denser skeleton, and maybe a bit of code to reduce the number of pen lifts when the current polyline begins at the same place as where the last one ended
Hometown is adapted from Mastodon, a decentralized social network with no ads, no corporate surveillance, and ethical design.