More foundations of learning

There is an ever-growing resource for learning about machine learning, DL, and of course DLR. The list is becoming very large, and there are many materials to choose from. For that reason, we will now summarize the areas we feel show the most promise for developing AI and DL for games:

  • Basic Data Science Course: If you have never taken a basic fundamentals course on data science, then you certainly should. The foundations of understanding the qualities of data, statistics, probability, and variability are too numerous to mention. Be sure to cover this foundation first.
  • Probabilistic Programming: This is a combination of various variational inference methods by which to answer problems given a probability of events with an answer of the probability that some event may occur. These types of models and languages have been used to analyze financial information and risk for years, but they are now coming to the forefront in ML technologies.
  • Deep Probabilistic Programming: This is the combination of variational inference and DL models. Variational inference is the process by which you answer a question with a probability given the input of possibly multiple probabilities. So, instead of using a series of weights to train a network, we use a series of probability distributions. This method has proven to be very effective and has recently performed visual image classification tasks with a modified probabilistic CNN model.
  • Visual state classification and encoding: A critical aspect to a DL system is the development of CNN models to classify images. You will need to understand this space very well in order to build the networks for your game environment. Recall that different environments may require CNN models.
  • Memory: Memory can of course come in all forms, but the primary one of interest is the recurrent neural network (RNN). Early on in this book, we looked at the current standard recurrent network model we use called the long short-term memory (LSTM) block. Even at the time of writing, there is a renewed interest in the gated recurrent unit (GRU), a more complex recurrent network that has been shown to handle the vanishing gradient problem better. There is always an interest in cloud or other supported technologies and how they may interact with new DL technologies.
  • DL as a Service: Companies such as Google, Amazon, Microsoft, OpenAI, and others who claim to be all about openness are often far from it. In most cases, if you want to incorporate these technologies into your game, you will need to subscribe to their service—which of course has its own pluses and minuses. The major problem is that if your game becomes popular and if you rely heavily on the DL service, your profits will be tied to it. Fortunately, Unity has yet to take this approach, but that does remain to be seen depending on how easily the community solves the Obstacle Tower Challenge.
  • Math: In general, you will want to always advance your math skills whether you plan to dig deep into building your own models or not. In the end, your gut understanding of the math will provide you with the insights you need to overcome these complex technologies.
  • Perseverance: Learn to fail, and then move on. This is critical and something many new developers often get disgruntled with and then move on to something easier, simpler, and less rewarding. Be happy when you fail, as failing is learning to understand. If you never fail, you really never learn, so learn to fail.

A hard-coded list of learning resources would likely get out of date before this book is even printed or released. Use the preceding list to generalize your learning and broaden your basic machine learning and data science knowledge as well. First and foremost, DL is a data science pursuit that serves respect to the data; never forget that as well.

In the next section for our final chapter, we will summarize this chapter and the book.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset