1 Introducing deep learning and the PyTorch Library

This chapter covers

  • How deep learning changes our approach to machine learning
  • Understanding why PyTorch is a good fit for deep learning
  • Examining a typical deep learning project
  • The hardware you’ll need to follow along with the examples

The poorly defined term artificial intelligence covers a set of disciplines that have been subjected to a tremendous amount of research, scrutiny, confusion, fantastical hype, and sci-fi fearmongering. Reality is, of course, far more sanguine. It would be disingenuous to assert that today’s machines are learning to “think” in any human sense of the word. Rather, we’ve discovered a general class of algorithms that are able to approximate complicated, nonlinear processes very, very effectively, which we can use to automate tasks that were previously limited to humans.

For example, at https://inferkit.com/, a language model called GPT-2 can generate coherent paragraphs of text one word at a time. When we fed it this very paragraph, it produced the following:

Next we’re going to feed in a list of phrases from a corpus of email addresses, and see if the program can parse the lists as sentences. Again, this is much more complicated and far more complex than the search at the beginning of this post, but hopefully helps you understand the basics of constructing sentence structures in various programming languages.

1.1 The deep learning revolution

1.2 PyTorch for deep learning

1.3 Why PyTorch?

1.3.1 The deep learning competitive landscape

1.4 An overview of how PyTorch supports deep learning projects

1.5 Hardware and software requirements

1.5.1 Using Jupyter Notebooks

1.6 Exercises

1.7 Summary