A Learning Advance in Artificial Intelligence Rivals Human Abilities
nytimes.com
nytimes.com
Code: https://github.com/brendenlake/BPL
Abstract: People learning new concepts can often generalize successfully from just a single example, yet machine learning algorithms typically require tens or hundreds of examples to perform with similar accuracy. People can also use learned concepts in richer ways than conventional algorithms—for action, imagination, and explanation. We present a computational model that captures these human learning abilities for a large class of simple visual concepts: handwritten characters from the world’s alphabets. The model represents concepts as simple programs that best explain observed examples under a Bayesian criterion. On a challenging one-shot classification task, the model achieves human-level performance while outperforming recent deep learning approaches. We also present several “visual Turing tests” probing the model’s creative generalization abilities, which in many cases are indistinguishable from human behavior.
Which is good and interesting news! But then I would not have clicked, because the information I was looking for would have been in the title.
(let me out of the HN-box dammit)
[1]https://en.wikipedia.org/wiki/List_of_Robot_series_character...
"The "R" initial in his name stands for "robot," a naming convention in Asimov's future society; all robot names start with the initial R to differentiate them from humans which they often resemble."
A crowd sourced subtitle could be added to the link and possibly voted on for accuracy (an expanding list shows alternate submissions or allows you to submit your own)
Since headlines can no longer be trusted, we could turn to the crowd.
"this jaw dropping thing that happened will make you weep for humanity" `baby drops ice cream, dog eats it`
"Carrie Fisher destroys good morning America" `she throws out a few lighthearted quips, has a one-liner about jabba`
I think it really becomes effective on video content with extreme linkbait.
Personally, (and as a card-carrying crochety old man) I don't follow those links on principle. I'm carrying on my own little "boycott of one".
By instituting platform change though, to solve for linkbait inline (not requiring a page load to comments) would change the value proposition of headlines and I think it would be more likely to reward for quality content.
A TL;DR summary is not the same as "top comment" and TC is not always a TLDR ... One line, under the headline, crowd sourced and voted. I think it could fundamentally change behavior, and if the platform doing it was sufficiently large, the composition of the internet.
Me too, so that makes it at least a boycott of two. I'm not even a crotchety old man yet (early 30s), but it seems to be coming on fast ;)
Btw, TvTropes gives the kind of summary you describe under the "laconic" button, and it's a godsend.
A browser plugin could respond to hovering over a link by querying the service and displaying the response.
Being crowd-sourced, there would have to be some form of contributor reputation tracking.
YouTube link -> Cats react to bananas [83%; funny, cute]
Clickhole link -> Infinitely recursive self-parody of clickbait articles [71%; funny]
Kotaku link -> Gamers overreact to accusations of sexism [43%; news]
NYT link -> Anticonvulsant drug found effective against Alzheimers [91%; news, advertisement]
Vimeo link -> Police arrest Black Lives Matter protesters in St. Louis [43%; news, violence, NSFW]Thanks intelligent commenters!
Classification of high-dimensional data is a huge portion of machine learning.
>They reduce the search space by limiting themselves to combinations of typical pen movements.
"They reduce the search space by limiting themselves to gradients of nearby pixels. Very smart, but I don't see how convolutional neural networks can be applied to machine learning in general."
All of machine learning involves some prior knowledge -- the question is always how much and at what level of abstraction.
> Matlab source code for one-shot learning of handwritten characters with Bayesian Program Learning (BPL).
- Lots of libraries
- Nice graphical interface
- Lots of online help
- Matrices as a first-class citizen
I hate Matlab as much as the next guy, but it's deeply ingrained in academia.
People take the internet way too seriously :/
>Apparently people are pretty polarized about Matlab
Yes, very much so. Much of the contention comes from the obscene licensing prices coupled with the fact that its a terrible language.
I hate Matlab, but I've got to admit that the toolboxes are without peer.
You can always use Octave.
It reads less like you are asking a question, and more like "well yeah, duh, of course that's why they did that".
> (him) This software was written in Matlab. Here is a link.
> (me) Why do you think they wrote it in Matlab?
I really don't understand how the intention of my question is ambiguous to anyone. But luckily this issue is completely trivial anyway I suppose.
- That's what they teach you when you're a student.
1) Large (within reason) easy matrix manipulations. MATLAB is fantastic at this. Matrices as first-class objects is so important, I don't know why more languages don't include them (though I am pleasantly unaware of the complications inherent to this).
2) Simple, decently pretty visualizations of data.
3) Trivial syntax. If you've programmed at all, it's easy to read MATLAB syntax.
IMO, the only threat to MATLAB on the horizon for academic work is Python + the associated SciPy tools (sckikit-learn, etc); especially as bundled in SPYDER, which I have had a blast with. But since cost is typically not an issue at a university (MATLAB is paid for by someone else), and everyone already speaks MATLAB, there's not a real impetus to change. (Julia may be int he running, too, but SPYDER seems more user friendly at this point)
Also, as someone who's been through this a dozen times before - as soon as a professor says "make me this visualization, the command in MATLAB is this" and the grad student says "SciPy (or whatever) doesn't have that", that student is converting his data to a text file, reading it into MATLAB, and making that damn plot :)
There's a lot of excitement around the numerical computing tools that have sprouted up around Python, but I find the visualization capabilities to be lacking and writing numerical code in Python is really quite clunky where the same expressions in MATLAB are much more clear and concise.
In short: If you're writing lots of loops and conditionals, MATLAB is the wrong tool. If you're analyzing data, applying linear algebra or exploring using the tools of mathematics, signal processing and machine learning... it really can't be beat. Everything is just there, everything just works, everything is very well documented and there's a MATLAB implementation of everything new.
Only bummer is that it's expensive.
Matlab has a large standard library and a reasonably well integrated development environment. Its language and library ecosystem is also adapted to the domain the authors are working in. Scientific libraries in other languages come close or maybe surpass them, but it is still the de facto standard in certain parts of scientific computing.
The only reasonable alternative I can think of is IPython / Anaconda with the right set of libraries or maybe Julia, which borrows heavily from Matlab, both however don't offer all of the IDE features that a typical Matlab user maybe takes for granted.
Other languages like C++ are usually excluded by default because of their obvious very poor suitability for rapid exploratory programming.
For this reason, Lisp would be ideal for this.
(hours invested in actual project)/(hours invested in fixing tooling, write high quality easy to use libraries for data visualisation, data import / export, linear algebra, optimisation, statistics etc.)
approaches zero, then a language probably won't be used.
Also in this case the syntax of Matlab and the convenience with which you can manipulate indexed expressions with it, would probably not easily trumped even by a dsl embedded in Lisp, not without significant investment in developing such a domain specific language.
Go try out the release tarballs and see.
All the libraries are in those ecosystems. It really has nothing to do with syntax, performance, ease-of-learning, quality of IDE, concurrency support, online tutorials, quality of documentation, etc.
Computer vision in particular is dominated by MATLAB because of its superior image/signal processing libraries. This may change as deep learning takes over computer vision (deep learning is dominated by (Python or Lua) + C++/Cuda).
Plus, if you're a grad student and you write it in C++/Python with OpenCV, your algorithm might finish before it's time to graduate.
MATLAB is quite fast at vectorised and matrix operations. For things that are slow you can write your own C/C++ function and call it from within MATLAB.
>I just dislike contributing to the market share of software I could never afford to run on my personal computer.
I agree and that's one reason I tend toward OSS in courses I teach now, unless there is no practical alternative.