ABSTRACT

A complex layer usually contains several operations that may affect each other in a certain form. In this case, writing the correct code of forward propagation can be challenging while it is more intricate for backward propagation. The author considers deep learning systems to be complex, which is in large part because it is relatively strenuous to write the correct code of forward and backward propagation with the increasing complexity of the network. Furthermore, when the system becomes complex, it can be quite challenging to find errors by debugging if there are errors in the logic of layers. In response to these problems, MetaNN introduces the concept of composite layers. A composite layer is a combination of basic layers—a typical composite pattern. The basic layers in a composite layer constitute a structure of a directed acyclic graph. Composite layers can be considered a typical pattern of combination and its external interfaces should conform to the basic requirements of MetaNN for “layers”.