Bram Cohen🌱 Profile picture
Jul 9, 2020 15 tweets 3 min read Read on X
And now some thoughts on a possible approach to making a deep learning Chess engine (thread)
What I'm about to say is completely speculative and may completely fail, have already been thought of before, or both, but it's an interesting thought I wan to get out
Going over how engines work there are a few misconceptions and a lot of possible mixing and matching which could be done. PUCT looks an awful lot like alpha-beta, and in fact the two could work together by, for example, having a project to generate a Chess opening book by
Having a single machine which is doing PUCT for the book from the starting position and handing out leaf positions to volunteer machines on the internet to evaluate with an A/B engine (or NN, lots of mixing and matching is possible)
Feel free to go ahead and build that idea as a project if you like it. Also notably PUCT isn't what most people think of as MCTS, in that it doesn't necessarily include many deep runouts and can even be implemented completely deterministically
General commentary aside I'd like to draw attention to the Stoofvlees approach, which is that it trains a neural network to make the same moves as humans have in grandmaster games. It's fairly competitive even though it's had much less work put into it than
Leela, which is currently the best neural network engine, so the approach shows promise. The obvious drawback to the approach is that it's tied to reference games, so it requires getting those games, lacks the elegance and adaptability of being able to work things out from
scratch, and is in some sense limited to the quality of play in those games. Here's an idea for how to fix that, which pushes the edges of what it means for an engine to be 'zero' but still qualifies: Start with a database of games, for Chess using a bunch of
human grandmaster games would be a good start (hence the 'not exactly zero' comment). Then run a completely untrained engine some number of moves deep to get board evaluations for every position in every one of those games. These will be very bad evaluations but
at least differentiate won and lost positions. Then train the neural network to match those evaluations directly. Then run the full engine with the new evaluation network on all the positions again to get new evaluations. Then train for a new network, run a few moves deep, etc.
Intuitively what hopefully happens is that the first pass is only a few moves deep, then the next one is a few more moves deep, then a few more than that, etc. This seems to have much more direct training than working off human games, because an eval is a much more specific
piece of information than a move preference, and the step of training the neural network doesn't have to work through a bunch of conditionals, it just has to train on given inputs and outputs.
There is the hazard that the engine might memorize its own self-reinforced evals, but that can be fixed by dividing the set of positions in two and alternating which set the games are played on with each training run.
This approach would also work very well with volunteer machines on the internet, because they can calculate evals and relatively high depths resulting in very little bandwidth needed for the amount of computation accessed.
If anyone is interested in actually building this, or any related idea inspired by this, please do so. Reports of people already having tried it and either succeeding or failing are welcome as well

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Bram Cohen🌱

Bram Cohen🌱 Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @bramcohen

Dec 3, 2022
OpenAI's chatbot doesn't have much experience in the material world
Don't let OpenAI's chatbot take care of your pets
They seem to be updating it in real time so it gives better answers to specific questions than it did just a few hours ago but sometimes small variations can trip it up
Read 9 tweets
Dec 2, 2022
OpenAI chat has some trouble with the whole 'age' concept
Also doesn't understand even basic formulas
If you keep drilling in to its weasel wording eventually it gives away that it doesn't know what it's talking about
Read 8 tweets
Nov 21, 2022
Good morning everyone. Today's rant will be about analog audio and some truly maddening myths in that field (thread)
There's a persistent myth that as soon as any step in audio processing is digital the entire thing has been reduced to a lower digital quality and that's what you're stuck with. This is wrong.
The truth is that every step of processing, either analog or digital, reduces quality, and each specific process will have its own effects, but the limits of how little quality can be lost are much better when both the inputs and outputs are digital
Read 10 tweets
Nov 19, 2022
There's a myth in the general public that Know Your Customer programs are important for banking. This is incorrect (thread)
KYC has nothing to do with bank auditing and solvency. It is a relatively recent program which is solely for helping law enforcement. To that end it is extremely expensive and ineffective
The thing which really keeps bank together is federal reserve auditing and FDIC insurance. You know, the things which keep them from turning into FTX. KYC didn't start until 1970. It makes up a significant amount of all banking costs with no benefit to bank customers whatsoever
Read 9 tweets
Nov 13, 2022
Something which offends me about SBF is that he's a finance bro's notion of a charmingly autistic founder. He plays that role well because he's a finance bro himself (thread)
Here's the chart of SBF's corporate empire. Nobody sets up something like this without damn well knowing that they're up to something shady Image
Another obnoxious thing is his inability to tie his shoes supposedly being cute. An adult being incapable of tying their shoes is a red flag of someone who doesn't take pride in their work and can't be bothered to do much of anything for themselves
Read 10 tweets
Nov 12, 2022
Someone who has not made major charitable contributions, either through money or deeds, can't claim to be an 'effective altruist' any more than they can claim to be a philanthropist
Someone who's starting out their career and plans to do it can claim that they aspire to be an effective altruist some day, or even have direct plans for it, and if they haven't yet made lots of money that's a reasonable claim
If someone had a plan of making lots of money and using it for charity in the end but their investments never panned out I'm even happy to give them the benefit of the doubt that they would have been very generous
Read 10 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(