Chapter 5. Building Deep Networks
Now is no time to think of what you do not have. Think of what you can do with that there is
Ernest Hemingway, The Old Man and the Sea
In this chapter, we take a look at the suite of tools that are available in the DL4J and some real-world examples that you can use in your own projects. We begin by reviewing how we map specific deep networks to the appropriate problem. We end the chapter with a deep dive into many of the core examples that come with the library.
For information about DL4J installation and support, refer to Appendix G.
Matching Deep Networks to the Right Problem
A theme we introduced in Chapter 4 was how deep learning is about designing the network architecture to match the problem as opposed to hand-engineering features in the input data. In this chapter, we see examples of deep networks matched to specific types of problems. For the purposes of this chapter, we’ll call out applications specifically for the following:
- Modeling columnar data
- Modeling image data
- Modeling sequence/time-series data
- Natural Language Processing applications
The applications in this chapter illustrate the concepts of deep networks we’ve been building since Chapter 1. Although we don’t have an example of every architecture referenced in Chapter 4, we have compiled a set of examples to illuminate core concepts in deep learning such that you could easily extend most any example toward a new purpose. Let’s begin by reviewing the data types in ...