Live data from Hacker News

A Sober Look at Bayesian Neural Networks

jacobbuckman.com

31–40 of 52 posts

Re: A Sober Look at Bayesian Neural Networks

#31
post #29
post #24

Earlier quoted context omitted.

Author here. Sorry that the typo and the render errors affected you so much. We don't see any rendering issues on our end, if you tell us what browser you are using maybe we can replicate and fix them.

> Sorry that the typo and the render errors affected you so much. It seems to concern some commentators here to a much greater extent, concluding from the whole downvoting dance. I'm old-school, I received my master in mathematics more than 25 years ago. Being in stochastics, I simply spotted an error and also some dispute, the latter from the context in the article. I want to mention, that in the past people had con…

Thanks! We just fixed an issue. I was able to test it on FF for MacOS but it would be very helpful if you could confirm the problem is fixed in your end.

Also, I'll admit that messing up Bayes rule in a blog post criticizing Bayesian Neural Netowrks is pretty comical. Should have taken the time to proof read the whole thing.

Re: A Sober Look at Bayesian Neural Networks

#32

The critique is about the importance of priors in BNN. In my humble understanding of Bayesian reasoning the argument to defend any prior is that with enought data the learning method converges to the real distribution, so if the result of any learning method depends heavily of any prior assumption then that assumption is crucial and in no way can it be taken randomly. On the other hand, it is well known that deep lea…

Have you seen the latest research on double descent? Here's a good intro, with references to some of the foundational work: https://openai.com/blog/deep-double-descent/

It seems bias-variance doesn't apply to neural networks at all! So your intuitions are good, but there's definitely more to the story.

Re: A Sober Look at Bayesian Neural Networks

#34
post #31
post #29

Earlier quoted context omitted.

> Sorry that the typo and the render errors affected you so much. It seems to concern some commentators here to a much greater extent, concluding from the whole downvoting dance. I'm old-school, I received my master in mathematics more than 25 years ago. Being in stochastics, I simply spotted an error and also some dispute, the latter from the context in the article. I want to mention, that in the past people had con…

Thanks! We just fixed an issue. I was able to test it on FF for MacOS but it would be very helpful if you could confirm the problem is fixed in your end. Also, I'll admit that messing up Bayes rule in a blog post criticizing Bayesian Neural Netowrks is pretty comical. Should have taken the time to proof read the whole thing.

> if you could confirm the problem is fixed

Yes, it's working :)

Re: A Sober Look at Bayesian Neural Networks

#35
post #26

Earlier quoted context omitted.

The reason those are all "f"s is that they are all versions of the same thing: the function mapping features to outputs, or approximations of it. The capital "F"s refer to random variables/processes describing the same function (using capitals for RVs and lower-case for samples is standard practice in statistics). By using this notation he is drawing careful distinctions between the various approximations he's using.…

It's great that's it's consistent. My problem is that the notation only makes sense if you already understand the very thing that he's trying to explain with this notation.

That's not entirely true. The point being made is about the consequences of the design being set up with that notation. That design and that notation is reasonably general. It requires some familiarity with notation around mathematical statistics, modeling, Bayesian formalisms, and random variables.

The thing he's trying to explain is how those things interact and what their behavior is.

Re: A Sober Look at Bayesian Neural Networks

#36
post #3
post #2

The author starts with: P(A|B) = P(B|A)P(B)/P(A) This is Bayes the wrong way around. The last part should be P(A)/P(B). I have no hand in the dispute (reading here for the first time about it), but not getting the basics right is not very convincing.

It's not "not getting the basics right", it's a simple typo. A thing like that shouldn't invalidate a whole article (unless you have skin in the game for the opponent argument). Why does HN have a pattern of dismissing whole articles due to simple typos? It's as if we're so habituated to skim and do tldr-reading that our brain is working overdrive to find the slightest excuse not to have to do any type of reading bey…

What is the takeaway from this article anyway?

Re: A Sober Look at Bayesian Neural Networks

#37
EDIT: I misread the quote below- it applies to a distribution over functions, not examples. My bad and thanks to one of the authors of the post for politely correcting me in the replying comment.

>> But there is one core problem with the Bayesian framework. In practice, we never have access to the prior distribution Pr(f)! Who could ever claim to know the real-world distribution of functions that solve classification tasks? Not us, and certainly not Bayesians. Instead, BNNs simply choose an arbitrary prior distribution q(f) over functions, and Bayesian inference is performed to compute q(f∣D). The question of whether q(f) is close to the true distribution Pr(f) is swept under the rug.

This is true but it's also nothing new: it's the standard PAC-Learning assumption that the examples (the dataset) are drawn from the same distribution as the target theory (the real-world distribution).

This assumption and the complete impossibility to verify it in practice is not unique to Bayesian Neural Nets. It is true for _every_ machine learning algorithm.

And this is certainly no surprise for machine learning researchers (or, if it is, it is really concerning that it is). So the done thing in machine learning research is to demonstrate that, under PAC-Learning assumptions, a certain technique or algorithm _can_ correctly identify a hypothesis that approximates a "true" function to within some amount of error.

I mean to say, when people publish papers reporting a new SOTA on such-and-such dataset, they are not really claiming that their technique somehow finds the "true" distribution of the real-world process that generated the data in their dataset. They're claiming "we can correctly classify instances in this dataset and if PAC-Learning assumptions hold, this technique should also work in real-world data from the same domain".

Of course this is often left implicit- and the article makes me wonder to what extent this is because researches tend to forget or even :gasp: ignore it completely. A disturbing thought.

Re: A Sober Look at Bayesian Neural Networks

#38
post #14

The paragraph beginning with "Let’s consider how we might apply the Bayesian framework..." where he introduces the notation is a great example of everything I hate about mathematical notation. We have big-F, small-f, f-of-x, f-sub-x, f-star, big-F-star... and then he decides to abbreviate what he just introduced. If I didn't know what's happening and I was trying to understand this for the first time, I would have no…

So here’s one thing about mathematical notation. If it uses similar symbols/scripts/subscripts that means that the objects are related, up to the minor difference expressed. So choosing “f” for everything is often a deliberate and well-motivated decision (Very much like naming variables). Doing that well is an art form.

Unfortunately, yes, it does take some time to get used to it (both reading, and generating such names), but IMHO it’s far better notation than otherwise.

Re: A Sober Look at Bayesian Neural Networks

#39
Lack of good priors is definitely a weak spot for BNNs. I also like the concept of Generalization-Agnostic Priors. But...

> So viewed through this lens, BNNs with arbitrary priors are nothing more than an architectural decision. A BNN is just a neural network that maps its input to a distribution over outputs; the prior is just a hyperparameter of the model. Just making the network Bayesian bought us nothing. It will only be helpful if we find a good prior, and validate that we are actually doing accurate inference. If you personally believe that exploring this space of priors (similar to exploring the space of architectures or hyperparameters) is particularly promising, then that is a good reason to keep working on BNNs.

Isn't this overstating it a bit... Making the network Bayesian (even if the priors are generalization-agnostic) still bought us something: after training we have a posterior distribution over weights that contains both weights that generalize and weights that don't generalize. That's better than being unlucky and only having weights that don't generalize at the end of training. I'm not saying this advantage is easy to achieve in practice, or benefit from. But it's not nothing.

Also Bayesian inference as a framework has a distinct advantage over the usual aimless architectural twiddling that so much "research" seems to focus on: it's intellectually/mathematically sound.

Re: A Sober Look at Bayesian Neural Networks

#40
The title of the article is at odds with the purely speculative nature of the core part of the argument--the section titled "Are Current BNNs Generalization-Agnostic?". The authors admit themselves that it is pure speculation. They present a speculative class of generalization-agnostic priors, speculate that commonly used priors might belong to this class, and then speculate about why we haven't observed commonly used priors belonging to this class even though they speculatively might belong to this class. This argument is not very convincing, to say the least.

Generalizability is a function of both the network structure and the priors. Non-Bayesian networks without priors can be seen as pseudo-Bayesian networks with (improper) flat priors. The use of independent priors that are unimodal at zero, like the independent normal priors mentioned in the article, will tend to shrink weights toward zero, which makes the function smoother. Smoother functions tend to generalize better (measuring generalizability as the gap between in-sample and out-of-sample error). The classic bias-variance trade-off is that they will generally perform worse in-sample and may also perform worse out-of-sample. Heuristically, if you take any neural network and make it Bayesian by putting priors on the weights, it will (averaging over datasets) generalize not worse than the original network. It may have worse absolute performance.

The authors also argue that we can't be confident in the uncertainties from BNNs until we have a good theoretical understanding of NN generalization in general. They ignore the possibility of building confidence in the uncertainties, both in general and for any particular network, by empirical observation--the same way we've built confidence in generalization of non-Bayesian NNs, since, as the article points out, we don't yet have a good theoretical understanding of NN generalization.

Post reply on HN