28-08-2017, 01:28 PM
In computing and automatic learning, cellular neural networks (CNN) are a parallel computing paradigm similar to neural networks, with the difference that communication is only allowed between neighboring units . Typical applications include image processing, 3D surface analysis, resolution of partial differential equations, reduction of non-visual problems to geometric maps, modeling of biological vision and other sensory-motor organs.
Due to its number and variety of architectures, it is difficult to give a precise definition for a CNN processor. From the architecture point of view, CNN processors are a system of finite, fixed-number, fixed-location, fixed-topology, locally interconnected, multi-input, single-output and non-linear. Nonlinear processing units are often referred to as neurons or cells. Mathematically, each cell can be modeled as a dissipative nonlinear dynamic system where information is encoded through its initial state, inputs and variables used to define its behavior. Dynamics are generally continuous, as in the case of CNN processors (CT-CNN), but may be discrete, as in the case of discrete-time CNN (DT-CNN) processors. Each cell has an output, by which it communicates its state with other cells and external devices. The output is typically of real value, but can be complex or even quaternion, ie a multi-valued CNN (MV-CNN). In most CNN processors, the processing units are identical, but there are applications that require non-identical drives, which are called CNN Processors (NUP-CNN) and are made up of different types of cells. In the original Chua-Yang CNN (CY-CNN) processor, the state of the cell was a weighted sum of the inputs and the output was a piecewise linear function. However, like the original neural networks based on perceptron, the functions it could perform were limited: specifically, it was unable to model nonlinear functions, such as XOR. More complex functions can be performed through nonlinear CNN (NL-CNN) processors.
Cells are defined in a normed space, commonly a two-dimensional Euclidean geometry, such as a grid. However, the cells are not limited to two-dimensional spaces; They can be defined in an arbitrary number of dimensions and can be square, triangular, hexagonal or any other spatially invariant arrangement. Topologically, the cells can be arranged in an infinite plane or in a toroidal space. The cellular interconnection is local, which means that all connections between cells are within a specified radius (with the distance measured topologically). Connections can also be timed to allow processing in the time domain.
Most CNN architectures have cells with the same relative interconnections, but there are applications that require a spatial variant topology, ie multiple-neighbor CNN processors (MNS-CNN). In addition, CNN multi-layer processors (ML-CNN), where all cells in the same layer are identical, can be used to extend the capacity of CNN processors.
The definition of a system is a collection of independent entities that interact in an integrated whole, whose behavior is different and qualitatively greater than its entities. Although the connections are local, the exchange of information can occur at a global level through the dissemination. In this sense, CNN processors are systems because their dynamics is derived from the interaction between the processing units and not within the processing units. As a result, they exhibit emergent and collective behavior. Mathematically, the relationship between a cell and its neighbors, located within an area of influence, can be defined by a coupling law, and this is what determines mainly the behavior of the processor. When the coupling laws are modeled by fuzzy logic, it is a fuzzy CNN. When these laws are modeled by the logic of the computational verb, it becomes a CNN (CNN verb) computational verb. Both diffuse and verbal CNNs are useful for modeling social networks when local couplings are achieved by linguistic terms.
Due to its number and variety of architectures, it is difficult to give a precise definition for a CNN processor. From the architecture point of view, CNN processors are a system of finite, fixed-number, fixed-location, fixed-topology, locally interconnected, multi-input, single-output and non-linear. Nonlinear processing units are often referred to as neurons or cells. Mathematically, each cell can be modeled as a dissipative nonlinear dynamic system where information is encoded through its initial state, inputs and variables used to define its behavior. Dynamics are generally continuous, as in the case of CNN processors (CT-CNN), but may be discrete, as in the case of discrete-time CNN (DT-CNN) processors. Each cell has an output, by which it communicates its state with other cells and external devices. The output is typically of real value, but can be complex or even quaternion, ie a multi-valued CNN (MV-CNN). In most CNN processors, the processing units are identical, but there are applications that require non-identical drives, which are called CNN Processors (NUP-CNN) and are made up of different types of cells. In the original Chua-Yang CNN (CY-CNN) processor, the state of the cell was a weighted sum of the inputs and the output was a piecewise linear function. However, like the original neural networks based on perceptron, the functions it could perform were limited: specifically, it was unable to model nonlinear functions, such as XOR. More complex functions can be performed through nonlinear CNN (NL-CNN) processors.
Cells are defined in a normed space, commonly a two-dimensional Euclidean geometry, such as a grid. However, the cells are not limited to two-dimensional spaces; They can be defined in an arbitrary number of dimensions and can be square, triangular, hexagonal or any other spatially invariant arrangement. Topologically, the cells can be arranged in an infinite plane or in a toroidal space. The cellular interconnection is local, which means that all connections between cells are within a specified radius (with the distance measured topologically). Connections can also be timed to allow processing in the time domain.
Most CNN architectures have cells with the same relative interconnections, but there are applications that require a spatial variant topology, ie multiple-neighbor CNN processors (MNS-CNN). In addition, CNN multi-layer processors (ML-CNN), where all cells in the same layer are identical, can be used to extend the capacity of CNN processors.
The definition of a system is a collection of independent entities that interact in an integrated whole, whose behavior is different and qualitatively greater than its entities. Although the connections are local, the exchange of information can occur at a global level through the dissemination. In this sense, CNN processors are systems because their dynamics is derived from the interaction between the processing units and not within the processing units. As a result, they exhibit emergent and collective behavior. Mathematically, the relationship between a cell and its neighbors, located within an area of influence, can be defined by a coupling law, and this is what determines mainly the behavior of the processor. When the coupling laws are modeled by fuzzy logic, it is a fuzzy CNN. When these laws are modeled by the logic of the computational verb, it becomes a CNN (CNN verb) computational verb. Both diffuse and verbal CNNs are useful for modeling social networks when local couplings are achieved by linguistic terms.