In chapter 3, you learned about the different model-building APIs provided by TensorFlow and their advantages and disadvantages. You also learned about some of the options in TensorFlow to retrieve and manipulate data. In this chapter, you will learn how to leverage some of that to build deep neural networks and use them to solve problems.
Deep learning is a broad term that has many different algorithms under its wings. Deep learning algorithms come in many different flavors and colors and can be classified by many criteria: the type of data they consume (e.g., structured data, images, time-series data), depth (shallow, deep, and very deep), and so on. The main types of deep networks we are going to discuss and implement are as follows:
- Fully connected networks (FCNs)
- Convolutional neural networks (CNNs)
- Recurrent neural networks (RNNs)
Being able to comfortably implement these neural networks is a key skill to be successful in the field, whether you are a graduate student, a data scientist, or a research scientist. This knowledge directly extends to becoming skillful in implementing more complex deep neural networks that deliver state-of-the-art performance in various problem domains.