Active learning is a machine learning strategy where the model actively selects which data points to learn from next, rather than passively receiving a fixed dataset. In MatCraft, active learning drives the optimization loop by choosing the most informative compositions to evaluate, minimizing the total number of expensive experiments needed.
MatCraft's active learning loop follows this cycle:
Seed Data -> Train Surrogate -> Acquisition Function -> Select Candidates
^ |
| v
+-------------- Evaluate & Add Data <------- Top-K Candidatesbatch_size candidates for evaluation.MatCraft supports several acquisition functions:
exploration_weight parameter (kappa) controls the exploration-exploitation trade-off.acquisition:
type: expected_improvement
exploration_weight: 0.1 # Only used for UCB; ignored for EIWithout active learning, you might need 500+ experiments to find a near-optimal composition in a 5D space. With active learning, MatCraft typically finds competitive solutions in 50-100 total evaluations (10-20 seed + 5-15 iterations of batch size 5). This represents a 5-10x reduction in experimental cost, which translates directly to saved time and money in a lab setting.
The loop terminates when the convergence criterion is met (e.g., no improvement for N consecutive iterations) or the maximum iteration count is reached.