Posts

Showing posts from March, 2018

building a chess ai - part 4: learning an evaluation function using deep learning (keras)

Image
Note: this post is still in progress. Below I will discuss approaches for training a deep learning chess game and the results of my implementation. Approach 1: Train against the outcome of the game *y* is the outcome of the game (1 is win for white, 0 is loss for white, .5 is draw) We want to learn a function * f(p)* that can approximate this. *p*  is the chess position (8x8 chess board), actually is an 8x8x12 = 768 dimensional vector (since there are 12 pieces)      8x8x6  = 384 dimensional vector with positive values for squares with a white piece and negative values for squares with a black piece.  (Using 64 x 12 introduces too many degrees of freedom) The goal is to try to learn a function * f(p)* that can predict the winner of the game * y* given a chess position * p* . The model: Dataset: http://www.ficsgames.org/download.html millions of high quality games played by grand masters or international masters Objective/Loss Function...

End-to-end deep learning for self driving cars

Image
Running my self driving car in the simulator A CNN is trained to predict the steering angle in order to drive a car in a 3d simulator I am teaching a car how to drive in a 3d simulator by cloning human behavior. In this project, a convolutional neural network (CNN) is trained from the raw pixels of a car's camera feed, and eventually learns to associate this data with the correct steering angle in the training data.  The training data is gathered from human driving, with both the camera feed and steering angle being recorded during data collection. Convolutional neural networks (CNN's) are a special class of neural networks that are specifically architected for doing image recognition.  CNN architecture was discovered by Yann LeCunn, one of the pioneers of artificial intelligence.  It is a multilayered algorithm that extracts useful signal from noise by combining, destroying, and transforming data through a specific pattern of parameter reuse involving co...