Earlier quoted context omitted.
Constraint solvers and similar tools can look pretty magical to people who use them for the first time, so I don't blame the OP. What's more interesting is that we're seeing heightened interest in these techniques again after they were ostensibly sidetracked in favor of statistical methods.
Maybe I just don't get the terminology right, but isn't this exactly a statistical method?
Probabilistic programming does in 50 lines of code what used to take thousands
31–40 of 81 posts
Re: Probabilistic programming does in 50 lines of code what used to take thousands
#32Is that 50 lines of code, or 50 lines of using a library that's thousands of lines of code?
Re: Probabilistic programming does in 50 lines of code what used to take thousands
#33Is that 50 lines of code, or 50 lines of using a library that's thousands of lines of code?
What do we say about languages built on C? Is it 100 lines of code but there are hundreds of thousands of lines of code for that higher level language you just coded? I don't think libraries count in terms of code. We all use code to program. Standing on the shoulder that preceded us. Using a library and a function should just count for the most part.
Re: Probabilistic programming does in 50 lines of code what used to take thousands
#34Anybody here on HN have experience with probabilistic-programming ? This looks quite disruptive if it works.
Reading probmods.org and dippl.org made me go from being very pessimistic I would see it in my lifetime to a solid maybe.
Re: Probabilistic programming does in 50 lines of code what used to take thousands
#35> “It goes beyond image classification — the most popular task in computer vision — and tries to answer one of the most fundamental questions in computer vision: What is the right representation of visual scenes? Can someone knowledgeable in graphics research explain the context that this question comes from? If I am reading the question correctly, I infer that the question suggests that there exists a right way to r…
Think about Dreaming. "seeing" during a dream state works by experiencing pure data representation of the real world. People fluent in lucid dreaming can tell you something funny happens when you try to thorough examine objects while sleeping. Constructed worlds tend to be skin deep, and fall apart when poked. Everything is build with ideas drawn from your experience. Its Plato's Allegory of the Cave all the way down…
Re: Probabilistic programming does in 50 lines of code what used to take thousands
#36Anybody here on HN have experience with probabilistic-programming ? This looks quite disruptive if it works.
I've played with it a bit and, in my opinion, the principles behind it at least, the streamlined and optimized simulation of bayesian generative models is the best chance we have to solve artificial general intelligence. Reading probmods.org and dippl.org made me go from being very pessimistic I would see it in my lifetime to a solid maybe.
Very probabilistic..
Re: Probabilistic programming does in 50 lines of code what used to take thousands
#37Is that 50 lines of code, or 50 lines of using a library that's thousands of lines of code?
Re: Probabilistic programming does in 50 lines of code what used to take thousands
#38> “It goes beyond image classification — the most popular task in computer vision — and tries to answer one of the most fundamental questions in computer vision: What is the right representation of visual scenes? Can someone knowledgeable in graphics research explain the context that this question comes from? If I am reading the question correctly, I infer that the question suggests that there exists a right way to r…
For a long time statisticians wrangled over this word in a reduced context. The "art" of statistics is to build a model of the world which is sufficiently detailed to capture interesting data but not so detailed to make it difficult to interpret as a human decision-maker. Statisticians usually solve this problem by building a lot of models, getting lucky, presenting things to people and seeing what sticks.
For a long time this lack of a notion of "rightness" was so powerful that it precluded advancement of the field in certain ways.
With the advent of computers we discovered a new, even more precise form of "right" however and this formed the bedrock of Machine Learning. The "right" ML is concerned with is predictive power. A model is "right" when it leads to a training and prediction algorithm which is "probably, approximately correct", e.g. you can feed real data in and end up with something useful (with a high degree of probability).
So with respect to computer vision we know that it is very difficult to build "efficient" algorithms, ones which work well while using a reasonable amount of training data. CV moved forward when it realized that there were representations of the visual field which led to better predictive power---these were originally generated by studying the visual center of human and animal brains, but more recently have been generated "naively" by computers.
So, there's a reasonably well-defined way that we can find the "right" representation of visual scenes: if we find one which ultimately is best-in-class of all representations for any choice of ML task then it's "right".
Re: Probabilistic programming does in 50 lines of code what used to take thousands
#39However, at this point, unless you design your program in a very specific way and use a lot of tricks, your sampler is very unlikely to converge, and you won't get any meaningful result without a gargantuan amount of computing power.
Re: Probabilistic programming does in 50 lines of code what used to take thousands
#40Anybody here on HN have experience with probabilistic-programming ? This looks quite disruptive if it works.
I've played with it a bit and, in my opinion, the principles behind it at least, the streamlined and optimized simulation of bayesian generative models is the best chance we have to solve artificial general intelligence. Reading probmods.org and dippl.org made me go from being very pessimistic I would see it in my lifetime to a solid maybe.
Let's take a step back and consider a logical problem. Can you put N socks in N-1 boxes such that no box contains more than one socks? Obviously not, it's the pigeonhole principle.
Convert that question into a Boolean circuit, and throw a SAT solver at it. It will die. In fact, using only first order logic, a proof of the pigeonhole principle requires an exponential number of terms. Looking at logical propositions alone is too myopic to solve the problem, you have to formulate higher level theories about the structure of the problem to solve it (in this case, natural numbers).
The same goes for probabilistic programming. As long as the paradigm is to treat the problem as a black box energy function to sample from, it is doomed to be inefficient. Try writing a simple HMM and the system will choke, even though there are efficient algorithms to sample from such a model.
If you look at deep learning techniques, they take an interesting approach which is to learn to approximate the generative distribution and the inference distribution at the same time. This is the basis of the work around autoencoders, deep belief networks, and it guarantees that you can tractably sample from your latent representation.