3 ms·
Leakiness is not referring to "correctness" or any sort of practical shortcoming. It actually means that the abstraction is not actually abstracting the concep
by omneity 7y ago
Leakiness is not referring to "correctness" or any sort of practical shortcoming.
It actually means that the abstraction is not actually abstracting the concept it is representing, and thus requires you to understand lower level concepts in order to grasp it.
An example would be that the C programming language is a leaky abstraction because sometimes you need to understand and write Assembly code.
That doesn't make C bad or incorrect, it just means that at some point, you'll need to break through the abstraction and learn what it was trying to simplify.
- gus_massa 7y agoHow does this definition make the Neural Networks not leaky? They sometimes work, they sometimes don't work, if you tweak a few parameters (the number of layers, the number of neurons in each layer, ...) perhaps they work or perhaps no. Also, how does this definition make the Fourier transform not leaky? From the article: > A leaky abstraction is the rule rather than the norm in mathematics. The only popular counterexample that comes to mind are integral transform (think Laplace and Fourier Transforms).
- omneity 7y agoI don't particularly agree with the author, as I think they are mixing up the mathematical theory and the computational part of it. Yes you can pull Tensorflow and start creating layers without much knowledge in Algebra, just like you can use cryptography software without a PhD in Number theory, or apply Photoshop filters without understanding convolution. But this is only possible because _other_ people do have that knowledge and distilled it down to a form you can use from the get go.