|
| 1 | +#set page(paper: "us-letter", margin: (x: 1.5in, y: 1.5in)) |
| 2 | +#set par(justify: true) |
| 3 | + |
| 4 | +#show link: set text(blue) |
| 5 | + |
| 6 | +#align(center)[ |
| 7 | + #text(16pt, weight: "bold")[SAE-Generated Dichotomous Keys for Freshwater Fish] |
| 8 | +] |
| 9 | + |
| 10 | +_Dichotomous keys are hand-built decision trees that biologists use to identify species. They take significant expertise to create, are brittle (one wrong answer cascades through the tree), and are hard to update. Recent work suggests that sparse autoencoders (SAEs) can recover known morphological traits from vision transformer (ViT) activations without supervision. This project asks: can we use SAE-discovered features to build a better dichotomous key for Ohio's \~170 freshwater fish species?_ |
| 11 | + |
| 12 | +== Motivation |
| 13 | + |
| 14 | +Fish ecomorphology is deeply structured: mouth position predicts feeding strategy (superior #sym.arrow.r surface feeder, inferior #sym.arrow.r bottom feeder), body shape predicts swimming behavior through hydrodynamics, and these traits correlate with fine-grained microhabitats (riffles, mid-stream, stream margins). Existing dichotomous keys#footnote[#link("https://www.macroinvertebrates.org/key")[Example] dichotomous key for macroinvertebrates (bugs).] encode this knowledge as hand-curated binary decisions, but they have practical problems: if a diagnostic feature is damaged, absent, or ambiguous on an individual, the key fails with no error tolerance. |
| 15 | + |
| 16 | +SAEs trained on vision transformer activations learn interpretable features that correspond to specific visual traits. These features could be the basis for keys that are both more robust (tolerating mistakes and missing information) and more informative (connecting visual traits to non-visual biology like diet, reproduction, and habitat preference). Training a decision tree on SAE features is straightforward, but most SAE features are not useful to a human in the field. The core challenge is formalizing what makes a feature both predictive and human-interpretable: which features can a biologist actually observe and act on? |
| 17 | + |
| 18 | +== Goal |
| 19 | + |
| 20 | +Produce a *new dichotomous key* for Ohio freshwater fish, using SAE-discovered features and validated by a domain expert. A secondary goal is a paper describing the method and comparing the generated key to existing ones. A stretch goal is predicting non-visual traits (diet, reproduction style, river size preference) from SAE visual features. |
| 21 | + |
| 22 | +== Data |
| 23 | + |
| 24 | +- \~170 Ohio fish species. Zach can provide metadata like river size and non-visual traits. |
| 25 | +- \~500K images of fish from the #link("https://arxiv.org/abs/2505.23883")[BioCLIP 2] training set (#link("https://huggingface.co/datasets/imageomics/TreeOfLife-200M")[Tree of Life 200M]). |
| 26 | +- Ohio EPA electrofishing survey data (1987 to present). Access could be requested. |
| 27 | +- USGS ecology data as an additional metadata source. |
| 28 | +- An IBI (Index of Biotic Integrity) species list. |
| 29 | + |
| 30 | +== Methods |
| 31 | + |
| 32 | +Train SAEs on #link("https://arxiv.org/abs/2508.10104")[DINOv3] vision transformer activations from fish images using the #link("https://github.com/samuelstevens/saev")[`saev`] framework. Extract interpretable features, map them to visual traits, then develop a method for organizing those traits into a decision tree (e.g., greedy optimization over information gain). Validate the resulting key against existing keys with Zach. |
| 33 | + |
| 34 | +== Challenges |
| 35 | + |
| 36 | ++ *Formalizing human-interpretability.* Training a decision tree on SAE features is easy. Deciding which features are both predictive and understandable by a human in the field is the real problem, and formalizing that criterion is a research contribution. |
| 37 | ++ *Data curation.* The species list needs structuring, images need filtering, and taxonomy needs updating. This requires close collaboration with Zach. |
| 38 | ++ *Feature-to-tree mapping.* Translating SAE features into a sequence of binary decisions that a human can follow in the field is non-trivial, especially when accounting for error tolerance. |
| 39 | + |
| 40 | +*Why this is possible:* The #link("https://github.com/samuelstevens/saev")[`saev`] framework handles SAE training and interactive feature exploration. We have \~500K images and a species list to start from. The scope is manageable (\~170 species, not thousands). Zach has deep expertise in fish taxonomy and existing keys to validate against. The core research question (features to tree) can start with simple approaches (greedy information gain) before getting sophisticated. |
| 41 | + |
| 42 | +=== Possible Extensions |
| 43 | + |
| 44 | +- *Non-visual trait prediction:* predict reproduction, diet, or habitat preference from SAE visual features for species where these traits are unknown. |
| 45 | +- *#link("https://www.osc.edu/ywsi_project_ohios_watersheds/sampling/ibi")[Index of Biotic Integrity (IBI)] prediction:* use SAE features to predict stream health scores from fish community images. |
| 46 | +- *Freshwater mussels:* many species are federally endangered and existing keys require opening the shell (killing the animal). Same SAE pipeline could apply if images are available (#link("https://mbd.osu.edu/collections/invertebrates/databases")[OSU invertebrate collections]). |
| 47 | + |
| 48 | +== Getting Started |
| 49 | + |
| 50 | ++ Read the two SAE papers linked below#footnote[#link("https://arxiv.org/abs/2511.17735")[Stevens et al. (2025a)] and #link("https://arxiv.org/abs/2502.06755")[Stevens et al. (2025b)].] to understand sparse autoencoders for vision. |
| 51 | ++ Install #link("https://github.com/samuelstevens/saev")[`saev`] and work through the user guide to train an SAE on a small image dataset. |
| 52 | ++ Meet with Sam and Zach to understand dichotomous keys, see existing ones for Ohio fish, and discuss data availability. |
| 53 | ++ Train an SAE on available fish images and explore the learned features using `saev`'s interactive tools. |
| 54 | + |
| 55 | +== Collaborators & Roles |
| 56 | + |
| 57 | +- *#link("https://steflab.weebly.com")[Zachary Steffensmeier]* (OSU, Environment & Natural Resources): Domain expert in stream ecology, fish taxonomy, and aquatic organism identification. Will guide species scoping, data curation, and key validation. |
| 58 | +- *#link("https://samuelstevens.me")[Sam Stevens]* (OSU, Computer Science): SAE framework author. Will help onboard and advise on SAE training and feature interpretation. |
| 59 | +- *You?* |
| 60 | + - Comfortable writing Python scripts. |
| 61 | + - Some ML background (know what PyTorch is, trained a model, understand gradient descent). |
| 62 | + - Comfortable with command line and SSH. |
| 63 | + - Interest in biology, but no background required. No prior SAE experience needed. |
| 64 | + - At least \~10 hours/week. |
| 65 | + - You will have access to the Ohio Supercomputer Center (OSC) for GPU compute. |
0 commit comments