I previously pontificated about the difficulties of making a neural network robust in the adversarial model and a general approach to overcoming them. In this post I’ll flesh out the specifics of the construction a bit more.

What we want to do is make a neural network whose overall structure naturally gives it adversary resistance, so we can simply train it as well as we can and it automatically gets that feature, rather than having to do something special in the training, which doesn’t seem to work.

There are two tricks here: First, the number of outputs is about the…

Computer chess games are fun to play over, even if it’s just because you know that these are the best chess playing entities in the world and some of their wisdom is contained in the games they’re playing out. Commentary of course adds to the fun, but that leads to a problem: How should a commentator pass judgement on players who are vastly, insanely better than them? In the past chess engines had so many weird artifacts in their play that humans could at least point those out, but the recent neural network engines are so good that that’s become…

Since John Horton Conway passed a few days ago now might be a good time to write up my thoughts on gardens of eden in his life automata.

I’ve spent some time manually trying to find simple gardens of eden patterns and failed miserably, to the point where it seems like Life is designed not to make for interesting patterns but to make it difficult to find gardens of eden. …

This paper gives some technical attacks on neural networks.

To understand what’s going on here, consider this plot to a Hollywood caper (which somebody should totally produce):

An employee of a company wishes to steal a McGuffin from their vault. To do this she follows instructions from a super-spy phone app on how to apply a few smudges to her makeup to make the vault’s security systems think she’s the company’s CEO despite appearing almost unchanged to other people. She then walks through the lobby and automatically gets let in. The actual CEO gets a notification on his phone that…

I’m going to propose a completely insane way of playing better Poker, but hear me out.

Instead of playing as one person, play as a team of two. This doesn’t require you know any more information than you would by yourself, in fact one of the people knows less. That person is the ‘sizer’ and they don’t know their own hole cards. They only see what someone watching the table would see. When play gets around to your team, the sizer’s job is to think ‘If I were to make a raise right now, what should the amount be?’ and…

Alphazero defeated Stockfish in a series of remarkable games marking, according to the common interpretation, a turning point where computer Chess will inevitably switch to deep learning based board evaluation.

The deep learning centered interpretation has some truth to it, but I think it’s less than half the story. In the available games Alphazero does a notably good job of exploiting the opponent’s piece mobility and king safety evaluation problems, and even given the dubious fairness of the match it’s a remarkable achievement, but Alphazero changes two things: It uses a deep learning-based board evaluation function, and it uses Monte…

Clean Up Your State

There’s one overriding principle of doing imperative programming safely, which experienced programmers should all have long since learned from the school of hard knocks:

Clean up your internal state before making outgoing calls

Even within your own code, calling internal methods of the same class maintained also by you, you should follow this principle. Most methods should be a block of code accessing internal data structures, followed at the very end by whatever callouts need to be done. …

I’ve configured my browser to replace all instances of the word ‘leadership’ with ‘douchery’. While this makes business commentary much more tolerable and leads to the web being a generally snarkier place, it leads to the question: Why does this work so perfectly? Why doesn’t it change anything into gibberish?

Here is the secret: The words ‘leadership’ and ‘douchery’ are synonyms. Both of them mean ‘the sorts of things done by the person in charge’, but ‘leadership’ emphasizes making important decisions and (hopefully) creating lots of value, while ‘douchery’ emphasizes putting on airs and vying for power. …

Let’s say that you’re running a company and want to create some internal competition between teams to see which ones can perform better. You can do this with R&D, and sales, but I would humbly suggest that you don’t do it with receivables. Sending out duplicate invoices to customers is generally referred to as ‘criminal behavior’.

But the CEO of Coinbase is seriously claiming, with no hint of sarcasm, that this is exactly what Bitcoin should do. …

I characterized Mike Hearn’s farewell essay as a ‘whiny ragequit’. I did this because it is, well, a whiny ragequit. He attempted a hostile takeover of Bitcoin with Bitcoin-XT, and now that he’s predictably been made to feel like persona non grata in Bitcoin development he’s throwing a tantrum on his way out.

There are of course real howlers in Hearn’s essay which I can explain, although truth be known I shouldn’t have to. There is overwhelming alignment among people doing Bitcoin development on the path forward. The popular perception of internal division is caused by having a camp consisting…

Bram Cohen

Creator of BitTorrent. Mad scientist. Puzzle author.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store