All Projects → maxpumperla → Deep_learning_and_the_game_of_go

maxpumperla / Deep_learning_and_the_game_of_go

Code and other material for the book "Deep Learning and the Game of Go"

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Deep learning and the game of go

Test Tube
Python library to easily log experiments and parallelize hyperparameter search for neural networks
Stars: ✭ 663 (-2.07%)
Mutual labels:  data-science, neural-networks
Probability
Probabilistic reasoning and statistical analysis in TensorFlow
Stars: ✭ 3,550 (+424.37%)
Mutual labels:  data-science, neural-networks
Awesome Distributed Deep Learning
A curated list of awesome Distributed Deep Learning resources.
Stars: ✭ 277 (-59.08%)
Mutual labels:  data-science, neural-networks
Datacamp Python Data Science Track
All the slides, accompanying code and exercises all stored in this repo. 🎈
Stars: ✭ 250 (-63.07%)
Mutual labels:  data-science, neural-networks
Spacy
💫 Industrial-strength Natural Language Processing (NLP) in Python
Stars: ✭ 21,978 (+3146.38%)
Mutual labels:  data-science, neural-networks
Keras
Deep Learning for humans
Stars: ✭ 53,476 (+7798.97%)
Mutual labels:  data-science, neural-networks
Uncertainty Baselines
High-quality implementations of standard and SOTA methods on a variety of tasks.
Stars: ✭ 278 (-58.94%)
Mutual labels:  data-science, neural-networks
Mydatascienceportfolio
Applying Data Science and Machine Learning to Solve Real World Business Problems
Stars: ✭ 227 (-66.47%)
Mutual labels:  data-science, neural-networks
Edward2
A simple probabilistic programming language.
Stars: ✭ 419 (-38.11%)
Mutual labels:  data-science, neural-networks
Tensorlayer Tricks
How to use TensorLayer
Stars: ✭ 357 (-47.27%)
Mutual labels:  data-science, neural-networks
Darwinexlabs
Datasets, tools and more from Darwinex Labs - Prop Investing Arm & Quant Team @ Darwinex
Stars: ✭ 248 (-63.37%)
Mutual labels:  data-science, neural-networks
Learn Data Science For Free
This repositary is a combination of different resources lying scattered all over the internet. The reason for making such an repositary is to combine all the valuable resources in a sequential manner, so that it helps every beginners who are in a search of free and structured learning resource for Data Science. For Constant Updates Follow me in …
Stars: ✭ 4,757 (+602.66%)
Mutual labels:  data-science, neural-networks
Igel
a delightful machine learning tool that allows you to train, test, and use models without writing code
Stars: ✭ 2,956 (+336.63%)
Mutual labels:  data-science, neural-networks
Flux.jl
Relax! Flux is the ML library that doesn't make you tensor
Stars: ✭ 3,358 (+396.01%)
Mutual labels:  data-science, neural-networks
Ntm One Shot Tf
One Shot Learning using Memory-Augmented Neural Networks (MANN) based on Neural Turing Machine architecture in Tensorflow
Stars: ✭ 238 (-64.84%)
Mutual labels:  data-science, neural-networks
Sealion
The first machine learning framework that encourages learning ML concepts instead of memorizing class functions.
Stars: ✭ 278 (-58.94%)
Mutual labels:  data-science, neural-networks
Radio
RadIO is a library for data science research of computed tomography imaging
Stars: ✭ 198 (-70.75%)
Mutual labels:  data-science, neural-networks
Tutorials
AI-related tutorials. Access any of them for free → https://towardsai.net/editorial
Stars: ✭ 204 (-69.87%)
Mutual labels:  data-science, neural-networks
Artificio
Deep Learning Computer Vision Algorithms for Real-World Use
Stars: ✭ 326 (-51.85%)
Mutual labels:  data-science, neural-networks
Pyod
A Python Toolbox for Scalable Outlier Detection (Anomaly Detection)
Stars: ✭ 5,083 (+650.81%)
Mutual labels:  data-science, neural-networks

Deep Learning and the Game of Go Build Status

This repository is first and foremost a comprehensive machine learning framework for the game of Go, focussing on deep learning techniques. What you'll find here is a library that builds up from the game-play basics to very advanced techniques. In particular, you find code for early approaches in game AI, intermediate techniques using deep learning, to implementations of AlphaGo and AlphaGo Zero - all presented in one common framework. You can install this library with pip and follow the examples in the code folder.

pip install dlgo

On the other hand, this repository at the same time contains Code, and sample chapters for the book "Deep Learning and the Game of Go" (Manning), available for early access here, which ties into the library and teaches its components bit by biy. If you're following the code samples from the book, check out the branches for individual chapters.

Note for contributors: To ensure the book stays in sync, consider requesting changes and submitting pull requests against the improvements branch, instead of master (which we keep reserved for bug fixes etc.).

dl_go_cover

Playable demos

The book is all about getting you started to create your own bots. To make the experience more fun and interactive, we built and deployed several bots showcasing the techniques of the respective chapter. So far you can play:

  • Chapter 4 A tiny tree search bot on a 5x5 board here.
  • Chapter 7 A full 19x19 bot powered by a deep neural network trained to predict human moves here
  • Chapter 9 A bot playing on a 9x9 board, using policy gradients, here

These demos will be available in the liveBook version of the book as well.

<iframe src="https://www.badukai.com/demos/static/play_predict_19.html" height="500" width="800" style="border:2px solid grey; background-color: #f8f8f8;"></iframe>

Table of Contents

  1. Toward deep learning: a machine learning introduction
  2. Go as a machine learning problem
  3. Implementing your first Go bot
  4. Playing games with tree search
  5. Getting started with neural networks
  6. Designing a neural network for Go data
  7. Learning from data: a deep learning bot
  8. Deploying bots in the wild
  9. Enter deep reinforcement learning
  10. Reinforcement learning with policy gradients
  11. Reinforcement learning with value methods
  12. Reinforcement learning with actor-critic methods
  13. AlphaGo: Combining approaches
  14. AlphaGoZero and AlphaZero: Combining approaches

Appendices

  • A. Mathematical foundations with Python
  • B. The backpropagation algorithm
  • C. Go programs and servers
  • D. Training and deploying bots using Amazon Web Services
  • E. Submitting a bot to the Online Go Server (OGS)

chapter_succession

Welcome

When AlphaGo hit the news in early 2016, we were extremely excited about this groundbreaking advancement in computer Go. At the time, it was largely conjectured that human-level artificial intelligence for the game of Go was at least 10 years in the future. We followed the games meticulously and didn’t shy away from waking up early or staying up late to watch the broadcasted games live. Indeed, we had good company — millions of people around the globe were captivated by the games against Fan Hui, Lee Sedol, and later, Ke Jie and others.

Shortly after the emergence of AlphaGo, we picked up work on a little open source library we coined BetaGo to see if we could implement some of the core mechanisms running AlphaGo ourselves. The idea of BetaGo was to bring AlphaGo to regular developers. While we were realistic enough to accept that we didn’t have the resources (time, computing power, or intelligence) to compete with Deepmind's incredible achievement, it has been a lot of fun to create our own Go bot. Since then, we’ve had the privilege to speak about computer Go at quite a few occasions.

We strongly believe that the principles underpinning AlphaGo can be taught to a general software engineering audience in a practical manner. Enjoyment and understanding of Go comes from playing it and experimenting with it. It can be argued that the same holds true for machine learning, or any other discipline for that matter. In this book, we hope to use the game of Go as a gateway to the exciting world of deep learning. We start with the classical AI principles for board games. Right from the start, you’ll have a working Go AI that you can play against—although it will be very weak at first. Then we’ll introduce some techniques from the world of deep learning and reinforcement learning. As you learn each technique, you can incorporate it into your Go AI and watch it improve.

If you share some of our enthusiasm for either Go or machine learning, hopefully both, at the end of this book, we’ve done our job. If, on top of that, you know how to build and ship a Go bot and run your own experiments, many other interesting artificial intelligence applications will be accessible to you as well. Enjoy the ride!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].