3 ms·
Part of the abstract at the bottom: "The proposed algorithm can be quickly described as an iterative algorithm that treats color information as a heightmap and
by jpk 7y ago
Part of the abstract at the bottom:
"The proposed algorithm can be quickly described as an iterative algorithm that treats color information as a heightmap and 'pushes' pixels towards probable edges using gradient-ascent. This is very likely what learning-based approaches are already doing under the hood (eg. VDSR[1], waifu2x[2])."
This is interesting to me because it hints at the direction I really want to see ML stuff go.
Some problems may not lend themselves to this concept, but hear me out: We train models, they start giving reliable output, then we put it in production really having no idea what the thing is doing inside. Here we have a traditional image processing algorithm that's doing something similar to what the author suspects the ML-based solution is doing... only the authors solution is much more performant. What I think we'd love to see is the ML approach yield a result that not only works, but is transparent in how it works. So plain old human engineers can internalize what the machine learned, and re-implement the solution as a run-of-the mill algorithm that does the job faster than pretending to be a brain.
Is this feasible?
- JohnBooty 7y agoFeasible? That seems highly dependent on the task at hand. Worthy? Absolutely! Perhaps MT (machine teaching?) is the next evolution of ML. My enthusiasm in this instance is probably tempered by the fact that image resizing is on the simple end of things we're using ML for, I'd think. It's a two dimensional grid of data points. That's it. I mean, that's certainly not trivial (look at all the algorithms we've come up with just in the last 10-20 years! imagine all the people-hours!) but it pales in complexity to, say, weather models or automated scanning of PET scans for tumors or something. Image the output of any given image sizing algorithm can be quickly assessed by eye so that's a very convenient feedback loop. As opposed to say, using ML to come up with proposed oil drilling locations where testing out each proposed drilling spot is a very expensive proposition. So plain old human engineers can internalize what the machine learned, and re-implement the solution as a run-of-the mill algorithm that does the job faster than pretending to be a brain. Perhaps we can cut out the middleman here. Maybe the answer is not for ML models to come up with human-understandable algorithms. Perhaps the answer is for them to produce optimized code that implements the algorithms they've discovered. Disclaimer, in case it's not blindingly obvious - I am not versed in ML at all.
- merlincorey 7y ago> Perhaps we can cut out the middleman here. Maybe the answer is not for ML models to come up with human-understandable algorithms. Perhaps the answer is for them to produce optimized code that implements the algorithms they've discovered. I would rather a high level algorithm description as an output -- which could definitely be fed into some sort of compiler that ultimately outputs executable code. I feel like going straight to executable code isn't solving the problem GP was interested in, which I believe to be the problem of transferring knowledge from machine to engineer in much the way an engineer would transfer it to another engineer. An algorithm that outputs code without any high level understanding or documentation is about as useful to me in a large project as an intern who can copy-paste from Stack Overflow and produce volumes of code with no documentation, in the long term.
- AstralStorm 7y agoYou can throw the algorithm through a logic simplifier and pattern matcher, like the one available in Isabelle. This often helps figure things out, but not if the algorithm is just a bunch of weights.
- JohnBooty 7y agoYeah, that would of course be preferable. A humanized description like "push the pixels toward the edges" is of course a wonderful thing. I suspect many (most?) algorithms are sufficiently complex as to make this completely infeasible, but hopefully I'm wrong!
- Dont_panic 7y agoThat will defeat the whole purpose. Remember, we are not writing code here but trying to optimize code based on what code that machine produced
- contingencies 7y agoRe: Perhaps MT (machine teaching?) is the next evolution of ML. ... Any sufficiently complex system acts as a black box when it becomes easier to experiment with than to understand. Hence, black-box optimization has become increasingly important as systems become more complex. - Google Vizier: a service for black-box optimization Golovin et al., KDD'17 ... via https://github.com/globalcitizen/taoup https://github.com/globalcitizen/taoup
- JoeSmithson 7y agoTo be understandable, ML solutions need to cleanly separate the "characteristic finding" parts with the "decision tree" parts, however the most efficient networks may well have optimised these things together, like a compiler might. For example the first impresive ImageNet solvers clearly worked by coming up with a number of characteristics based mainly around various "textures" rather than "shapes", but this wasn't obvious when it was first published. It really seemed like it could "recognise a Panda" etc.