Invalid SMILES beneficial rather than detrimental to chemical language models
nature.com
nature.com
Bottom line, it is better to let a model learn the full distribution then clip predictions that come from extreme ends of the distribution, rather than preventing the model from considering these extremes in the first place. Either way you don't get predictions from the extremes, but the model allowed to consider extremes is more likely to do interesting things.
> The point is that by preventing the model from learning a distribution that captures the extremely rare though real instances of things, you end up with a distribution that departs from whatever the reality of the situation is. You end up with a biased model, and that is highly unlikely to be a good thing.
I (think I) understand. On top, the model being able to generate for conditions able to bring forth a "materially" (in realizable fact) unlikely condition, might yield results that are interesting, -particularly- because the conditions that it would be contingent upon -are- so hard, or unlikely in actual fact. Makes sense.-
Structural biases limit generalization An ideal generative model would sample evenly from the chemical space surrounding the molecules in the training set. The observation of structural biases in the outputs of language models trained on SELFIES is at odds with this goal.It would make proofs by contradiction impossible to even imagine.
Alternatively think of computer programming. Imagine your editor forces your code to be compilable at every keystroke. It would suck (who used paredit knows the struggle ;) ).
So it's perfectly possible that making "invalid" results expressable in the language your model uses might be beneficial.
Still - going from one to another valid expression is often faster if you can go through invalid expressions.
I still don’t think you really comprehend what an invalid expression is in this case. Ñ¥æd huiåp xiip ææææOP. It won’t make anything “faster” to “go through” these, as expressed extremely cleanly and fast in the last statement expressed in invalid English.
Invalid expressions doesn’t mean “this mathematical expression expresses an inconsistency” like 3/0, it means “this expression isn’t a mathematical expression because it doesn’t follow the basic rules for the language” like “$/(!!@?3.3.3”