Jump to content
  • Advertisement

Learning deep learning

Recommended Posts

I am looking for a good tutorial or a book about deep learning. I understand that Tensorflow is all the rage these days, so I would like to learn using this framework.

I am an experienced programmer with a good knowledge of python (and all other major programming languages).

I have only read topical material about neural networks nothing really technical though. I do know the high level meanings of all the  basic terminology: Cost, Convolutional vs fully connected, adversarial, etc... Now I want to start implementing...

I really like to learn through GameDev projects, so I thought that a good excersize might be to create a turn based game AI for some minmax based game.

Checkers / Tic tac toe / Chess / . (I've programmed the "traditional" minmax versions of all of these in the past).

The output of my learning does not need to be professional, I do not expect to beat alpha-go or anything like that  ;-). I just thought of creating a nice Deep Learning based cost function.


I am looking for recommendations for a good course, or a good book on the subject. (I don't learn well with videos [ coursera, pluralsight, etc...])

I have ~ 1 week starting tomorrow, so I don't want to delve too deep into the linear algebra. I mostly want to get the project done.

I am well aware that a subject like deep learning is better studied over a longer period of time. However, atm, I have 1 week so I will take care to delve deeper later when I have more time.


Can anyone recommend a good tutorial?





Edited by SillyCow

Share this post

Link to post
Share on other sites

Not expert on Tensorflow, and I heard it is quite complicated to learn, and that's why they are making the 2.0 version which seems to be in RC right now.

Many start learning neural network by training a simple XOR function. I think the XOR function teaches some fundamental principles of machine learning, the "gotchas", and basic training methods. You can definitely build a simple NN code yourself with backpropagation.

For minmax games, you are applying the same concept but the input to your neural network is your board configuration and the output is how much it "likes" it, typically within the range of [0, 1.0] based on your activation function.  Then you apply the same principle in minmax trees and pick the path it favors the most based on the tree's depth.

The training for minmax games however is different than backpropagation. All machine learning requires a learning path, to know where to go. It is easy to train XOR function using backpropagation because 1 XOR 1 = 0, and we can tune the network to get as close to 0 as possible. Minmax games, not as easy, because what's the best move? Who gets to decide it is the best move?

If you have a robust preexisting AI as a benchmark that you can use to train your NN with, feel free to use it. Otherwise, you can also train with evolution. I have trained a minmax game using evolution against a random CPU (a CPU that just picks a random move), and whichever NN with the most points scored over N number of games get to "breed" with random mutation. It yields some decent results, enough to beat me.

Share this post

Link to post
Share on other sites

Thanks for the advice. I am looking for a recommendation for a text based tutorial / book (not vieos) on the subject which will contain some "lab excersizes".

Share this post

Link to post
Share on other sites

Google offers a crash-course.
It uses videos and text (mainly video lectures) but with 20hours it should fit nicely with your 1 week time span.

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!