This article comes from DeepLearningPatterns..

Deep Learning can be described as a new machine learning toolkit that has a high likelihood to lead to more advanced forms of artificial intelligence. The evidence for this is in the sheer number of breakthroughs that had occurred since the beginning of this decade. There is a new found optimism in the air and we are now again in a new AI spring.

Unfortunately, the current state of deep learning appears to many ways to be akin to alchemy. Everybody seems to have their own black-magic methods of designing architectures. The field thus needs to move forward and strive towards chemistry, or perhaps even a periodic table for deep learning. Although deep learning is still in its early infancy of development, this book strives towards some kind of unification of the ideas in deep learning. It leverages a method of description called pattern languages.

Source for picture: Click here.

Pattern Languages are languages derived from entities called patterns that when combined form solutions to complex problems. Each pattern describes a problem and offers alternative solutions. Pattern languages are a way of expressing complex solutions that were derived from experience. The benefit of an improved language of expression is that other practitioners are able to gain a much better understanding of the complex subject as well as a better way of expressing a solution to problems.

To read more, click here. For other articles about deep learning, click here.

Design Patterns: Free eBook

The book covers the following topics:

Introduction - Covers the motivations for the book. Why Deep Learning? Covers how the book is structured. The central theme of this book is that by understanding the many patterns and their inter-relationships we find in Deep Learning practice we begin to understand how we can best compose solutions.

On Pattern Languages - Pattern Languages are languages derived from entities called patterns that when combined form solutions to complex problems. Each pattern describes a problem and offers solutions. Pattern languages are a way of expressing complex solutions that were derived from experience such that others can gain a better understanding of the solution. This chapter explains the concept of Pattern Languages and the how the Patterns in this book are structured.

Theory - This chapter covers some foundational mathematics that will essential in understanding the framework. It provides some common terminology and notation that will be used throughout the book. The book does not cover introductory material to math like linear algebra or probability. That is already well covered in the “Deep Learning” book. However, the book will propose a mathematical framework that serves as a guiding framework on how to reason about Neural Networks. This framework builds from ideas from category theory, dynamical systems, information theory, information geometry and game theory.

Playbook - Deriving inspiration from other software development methodologies, such as agile development and lean methodology, and apply that in the Deep Learning space. Deep Learning is a new kind of architecture where the creation of a learning machine is performed similar to software development. However DL is different enough in that the system is able to develop itself. There is enough complexity that is becomes necessary to overlay a kind of structure over it to help guide practitioners in the practice.

Canonical - This chapter is the recommended prerequisite to reading the other patterns chapters. Here we discuss patterns that do appear fundamental and for a foundation for understand other DL patterns.

Model - This chapter covers various kinds of models found in practice.

Composite - This chapter covers collections of models and their behavior.

Memory - Previous model chapters explored the training of universal functions. In this chapter we explore how memory can be integrated to build even more powerful solutions.

Feature - This chapter covers different ways you can represent input and hidden data.

Learning - This chapters iterative learning methods found in practice.

Collective Learning - This chapter covers more advanced methods of combining multiple neural networks to solve problems beyond classification.

Explanatory - This chapter covers different ways that a network can provide results and feedback to a user.

Serving - This chapter covers operational patterns found when neural networks are deployed in the field.

Applications

DataSets

FAQ

Parking Lot

TensorFlow Practices

Tutorials

Black Magic

Blockchain

Design Patterns for Self-Driving Automation

Top DSC Resources

Follow us on Twitter: @DataScienceCtrl | @AnalyticBridge