Developer Guide


Neural Networks

Starting from Intel® DAAL 2020, The Neural Networks will not have any new features and functionalities.
The support will be completely discontinued from Intel® DAAL 2021.
Intel recommends developers switch to and use other Intel® Optimized Deep Learning frameworks (TensorFlow*, PyTorch*, PaddlePaddle*, MXNet*, BigDL and Caffe*) and Intel® AI Software libraries (NGRAPH™, Intel® MKL, Intel® MKL-DNN, Intel® CLDNN, etc.) for Neural Networks.
Artificial neural networks are mathematical models inspired by their biological counterparts. A neural network is an information processing system used to approximate functions of large numbers of arguments. Neural networks are applied to solve different kinds of machine learning tasks, such as image and video processing [Szegedy13], classification, text recognition or natural language understanding, and others [LeCun15]. At a high level, in
Intel DAAL
a neural network comprises:
  • Interconnected computation devices, or layers of neurons.
  • The
    , which defines the logical structure of the network. The topology defines layers with their parameters and describes the connections between those layers.
  • The model, which contains information about layer structures and all the data associated with the layers and about weights and biases to be optimized.
  • The optimization algorithm. It updates weights and biases at the training stage, and it is not used at the prediction stage.
A layer can perform forward and backward computations. For a list of available layers and descriptions of their usage, see Layers. The information about the order of layers is stored in the model.
Intel DAAL
supports graph organization of layers and has special layers that used for that.
In addition to the order of layers, the model also contains information about weights and biases being optimized in each computation step using the optimization solver.
Intel DAAL
provides different optimization solvers. For the descriptions and usages of the solvers, see Optimization Solvers.
For data storage and computations, neural networks use tensors, multidimensional data structures. For more details, see Tensors.
Flexibility of
Intel DAAL
allows you to create your own neural network configuration by choosing the topology, as well as number of layers and layer types. You can even create your own layers or optimization solvers by deriving from relevant classes.

Product and Performance Information


Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804