Bohdan Macukow
email: b.macukow@mini.pw.edu.pl

Neural Networks -State of Art, Brief History, Basic Models and Architecture

Keywords: neural networks, history, building feedforward net

The history of neural networks can be traced back to the work of trying to model the neuron. Today, neural networks discussions are occurring everywhere. Neural networks, with their remarkable ability to derive meaning from complicated or imprecise data, can be used to extract patterns and detect trends that are too complex to be noticed by either humans or other computer techniques. A brief history of the neural networks research is presented and some more popular models are briefly discussed. The major attention is on the feed-forward networks and specially to the topology of such the network and method of building the multi-layer perceptrons.

1

What is a Neural Network?

An Artificial Neural Network (ANN) is an information or signal processing system composed of a large number of simple processing elements which are interconnected by direct links and which cooperate to perform parallel distributed processing in order to solve a desired computational task. Neural networks process information in a similar way the human brain does. ANN is inspired by the way the biological nervous systems, such as the brain works -neural networks learn by example. ANN takes a different approach to problem solving than that of conventional computing. Conventional computer systems use an algorithmic approach i.e. follow a set of instructions in order to solve a problem. That limits the problem solving capability to problems that we already understand and know how to solve. However, neural networks and conventional algorithmic computing are not in competition but complement each other. There are the tasks that are more suited to an algorithmic approach like arithmetic operations and the tasks that are more suited to neural networks approach.

History

The history of neural networks can be divided into several periods.

First Attempts

The first step toward artificial neural networks came in 1943 when Warren McCulloch, a neurophysiologist and a young mathematician, Walter Pitts, developed the first models of neural networks. They wrote a paper The Logical Calculus of the Ideas Immanent in Nervous Activity on how neurons might work [START_REF] Mcculloch | A Logical Calculus of the Ideas Immanent in Nervous Activity[END_REF]. Their networks were based on simple elements which were considered to be binary devices with fixed thresholds. The results of their model were simple logic functions with "all-or-none" character of nervous activity.

In 1944 Joseph Erlanger together with Herbert Spencer Gasser identified several varieties of nerve fiber and established the relationship between action potential velocity and fiber diameter.

In 1949, Donald Hebb a psychologist, wrote The Organization of Behavior [START_REF] Hebb | The Organization of Behavior[END_REF], a work which pointed out the fact that neural pathways are strengthened each time they are used, a concept fundamentally essential to the ways humans learn.

Promising & Emerging Technology

In 1958, Frank Rosenblatt a psychologist, conducted an early work on perceptrons [START_REF] Rosenblatt | The Perceptron: A Probabilistic Model for Information Storage and Organization in the Brain[END_REF]. The Perceptron was an electronic device that was constructed in accordance with biological principles and showed an ability to learn. He also wrote an early book on neurocomputing, Principles of Neurodynamics [START_REF] Rosenblatt | Principles of Neurodynamics[END_REF].

Another system was the ADALINE (ADAptive LInear Element) which was developed in 1960 by two electrical engineers Bernard Widrow and Marcian Hoff [START_REF] Widrow | Adaptive switching circuits[END_REF]. The method used for learning was different to that of the Perceptron, it employed the Least-Mean-Squares learning rule. In 1962, Widrow & Hoff developed a learning procedure that examines the value before the weight adjusts it.

Period of Frustration & Disgrace

Following an initial period of enthusiasm, the field survived a period of frustration and disgrace.

In 1969 Marvin Minsky and Seymour Papert wrote a book Perceptrons: An Introduction to Computational Geometry [START_REF] Minsky | Perceptrons: An Introduction to Computational Geometry[END_REF]. It was a part of a campaign to discredit neural network research showing a number of fundamental problems, and in which they generalized the limitations of single layer perceptron. Although the authors were well aware that powerful perceptrons have multiple layers and Rosenblatt's basic feedforward perceptrons have three layers, they defined a perceptron as a two-layer machine that can handle only linearly separable problems and, for example, cannot solve the exclusive-OR problem.

Because the public interest and available funding becoming minimal, only several researchers continued working on the problems such as pattern recognition. But, during this period several paradigms were generated which modern work continues to enhance.

Henry Klopf in 1972, developed a basis for learning in artificial neurons based on a biological principle [START_REF] Klopf | Brain Function and Adaptive Systems -A Heterostatic Theory[END_REF]. Paul Werbos in 1974 developed the back-propagation learning method although its importance wasn't fully appreciated until a 1986. Kunihiko Fukushima developed a stepwise trained multilayered neural network for the interpretation of handwritten characters. The original work Cognitron: A selforganizing multilayered neural network [START_REF] Fukushima | Cognitron: A self-organizing multilayered neural network[END_REF] was published in 1975.

In 1976 Stephen Grossberg in the paper Adaptive pattern classification and universal recoding [START_REF] Grossberg | Adaptive Pattern Classification and Universal Recoding[END_REF] introduced the adaptive resonance as a theory of human cognitive information processing.

Innovation

In 1980s several events caused a renewed interest. Teuvo Kohonen has made many contributions to the field of artificial neural networks. He introduced the artificial neural network sometimes called a Kohonen map or network [START_REF] Kohonen | Self-Organized Formation of Topologically Correct feature Maps[END_REF]. John Joseph Hopfield of Caltech in 1982 presented a paper Neural Networks and Physical Systems with Emergent Collective Computational Abilities [START_REF] Hopfield | Neural Networks and Physical Systems with Emergent Collective Computational Abilities[END_REF]. Hopfield describe the recurrent artificial neural network serving as content-addressable memory system. His works persuaded hundreds of highly qualified scientists, mathematicians, and technologists to join the emerging field of neural networks.

The backpropagation algorithm, originally discovered by Werbos in 1974 was rediscovered in 1986 with the book Learning Internal Representation by Error Propagation by Rumelhart, Hinton and Williams [START_REF] Rumelhart | Learning internal representations by error propagation[END_REF]. Backpropagation is a form of a gradient descent algorithm used with artificial neural networks for error minimization. Gail Carpenter and Steve Grossberg in 1987 in A massively parallel architecture for a self-organizing neural pattern recognition machine [START_REF] Carpenter | A Massively Parallel Architecture For A Self-Organizing Neural Pattern Recognition Machine[END_REF] described the ART1 an unsupervised learning model specially designed for recognizing binary patterns.

Today

Significant progress has been made in the field of neural networks -enough to attract a great deal of attention and fund further research. Today, neural networks discussions are occurring everywhere. Advancement beyond the current commercial applications appears to be possible, and research is advancing the field on many fronts. Chips based on the neural theory are emerging and applications to complex problems developing. Clearly, today is a period of transition for neural network technology. Between 2009 and 2012, the recurrent neural networks and deep feedforward neural networks were developed in the research group of Jürgen Schmidhuber [START_REF] Schmidhuber | Deep Learning in Neural Networks: An Overview[END_REF].

In 2014 the scientists from IBM introduced the processor (TrueNorth), with the architecture similar to that existing in the brain. IBM presented the integrated circuit the size of postage stamp able to simulate the work of the millions of neurons and 256 million of synapses in a real time. The system is able to execute from 46 to 400 billion synaptic operations per second.

Different models of neural networks

A neural network can be thought of as a network of "neurons" organized in layers. The number of types of Artificial Neural Networks (ANNs) and their uses can potentially be very high. Since the first neural model by McCulloch and Pitts there have been developed hundreds of different models considered as ANNs. The differences in them might be the functions, the accepted values, the topology, the learning algorithms, etc. Also there are many hybrid models. Since the function of ANNs is to process information, they are used mainly in fields related to it. An ANN is formed from single units, (artificial neurons or processing elements -PE), connected with coefficients (weights), which constitute the neural structure and are organized in layers. The power of neural computations comes from connecting neurons in a network. Each PE has weighted inputs, transfer function and one output. The behavior of a neural network is determined by the transfer functions of its neurons, by the learning rule, and by the architecture itself. The weights are the adjustable parameters and, in that sense, a neural network is a parameterized system. The weighed sum of the inputs constitutes the activation of the neuron.

An ANN is typically defined by three types of parameters:

1. The interconnection pattern between the different layers of neurons.

2. The learning process for updating the weights of the weights.

3. The activation function that converts a neuron's weighted input to its output activation.

How should the neurons be connected together? If a network is to be of any use, there must be inputs and outputs. However, there also can be hidden neurons that play an internal role in the network. The input, hidden and output neurons need to be connected together. A simple network has a feedforward structure: signals flow from inputs, forwards through any hidden units, eventually reaching the output units. However, if the network is recurrent (contains connections back from later to earlier neurons) it can be unstable, and has a very complex dynamics. Recurrent networks are very interesting to researchers in neural networks, but so far it is the feedforward structures that have proved most useful in solving real problems.

Multilayer Perceptrons

This is perhaps the most popular network architecture in use today (Fig. 1). The units each perform a biased weighted sum of their inputs and pass this activation level through a transfer function to produce their output, and the units are arranged in a layered feedforward topology.

ADALINE

Adaptive Linear Neuron or later Adaptive Linear Element (Fig. 2) is an early singlelayer artificial neural network and the name of the physical device that implemented this network. In the standard perceptron, the net is passed to the activation (transfer) function and the function's output is used for adjusting the weights. There also exists an extension known as Madaline.

ART

The primary intuition behind the ART model (Fig. 3) is that object identification and recognition generally occur as a result of the interaction of 'top-down' observer expectations with 'bottom-up' sensory information. The model postulates that 'top-down' expectations take the form of a memory template or prototype that is then compared with the actual features of an object as detected by the senses. This comparison gives rise to a measure of category belongingness. As long as this difference between sensation and expectation does not exceed a set threshold called the 'vigilance parameter', the sensed object will be considered a member of the expected class. The system thus offers a solution to the 'plasticity/stability' problem, i.e. the problem of acquiring new knowledge without disrupting existing knowledge.

3.4

Self-Organizing Feature Map SOFM or Kohonen networks (Fig. 4) are used quite differently. Whereas most of other networks are designed for supervised learning tasks, SOFM networks are designed primarily for unsupervised learning. Whereas in supervised learning the training data set contains cases featuring input variables together with the associated outputs (and the network must infer a mapping from the inputs to the outputs), in unsupervised learning the training data set contains only input variables.

A Hopfield network

A Hopfield network (Fig. 5) is a form of a recurrent artificial neural network popularized by John Hopfield in 1982. Hopfield nets serve as content-addressable memory systems with binary threshold nodes. They are guaranteed to converge to a local minimum, but convergence to a false pattern (wrong local minimum) rather than the stored pattern (expected local minimum) can occur. Hopfield networks also provide a model for understanding human memory.

The Simple Recurrent Network

SRN or Elman network (Fig. 6) it is really just a three-layer, feed-forward back propagation network. The only proviso is that one of the two parts of the input to the net work is the pattern of activation over the network's own hidden units at the previous time step.

CNN

Cellular neural networks (Fig. 7) are a parallel computing paradigm similar to neural networks, with the difference that communication is allowed between neighbouring units only. CNN main characteristic is the locality of the connections between the units. Each cell has one output, by which it communicates its state with both other cells and external devices.

Convolutional Neural Network

A convolutional neural network (Fig. 8) is a type of feed-forward artificial neural network whose individual neurons are arranged in such a way that they respond to overlapping regions tiling the visual field. Convolutional neural networks consist of multiple layers of small neuron collections which process portions of the input image. The outputs of these collections are then tiled so that their input regions overlap, to obtain a better representation of the original image; this is repeated for every such layer.

Topology, in other wordsnetwork architecture

In the Feed-Forward Artificial Neural Networks scheme, the data moves from the input to the output units in a strictly feed-forward manner. Data processing may spawn multiple layers, but no feedback connections are implemented. Examples of feed-forward ANN's would be a Perceptron (Rosenblatt) or an Adaline (Adaptive Linear Neuron) based net. Recurrent ANN's. These types of ANN's incorporate feedback connections. Compared to feed-forward ANN's, the dynamic properties of the network are paramount. In some circumstances, the activation values of the units undergo a relaxation process so that the network evolves into a stable state where these activation values remain unchanged. Examples of recurrent ANN's would be a Kohonen (SOM) or a Hopfield based solution.

Inconsistency in nomenclature

What is a layer? Some authors refer to the number of layers of variable weights but some authors describe the number of layers of nodes. Usually, the nodes in the first layer, the input layer, merely distribute the inputs to subsequent layers, and do not perform any operations (summation or thresholding). NB.. some authors miss out these nodes.

A layer -it is the part of network structure which contains active elements performing some operation.

A multilayer network (Fig. 9) receives a number of inputs. These are distributed by a layer of input nodes that do not perform any operationthese inputs are then passed along the first layer of adaptive weights to a layer of perceptron-like units, which do sum and threshold their inputs. This layer is able to produce classification lines in pattern space. The output from the first hidden layer is passed to the second hidden layer. This layer is able to produce classification convex area etc.

5

How to build a feedforward net?

The main problems faced building a feedforward network (without feedback loops) are:.

 linear or nonlinear network?

 how many layers is necessary for the proper network`s work?  how many elements have to be in these layers?

A linear network it is a network where input signals are multiplied by the weights, added, and the result follows to the axon as the output signal of the neuron. Eventually some threshold can be used. Typical examples of a linear network are a simple perceptron and an Adeline network.

In a nonlinear network the output signal is calculated by a nonlinear function f( ). The function f(?) is called neuron transfer function and its operations have to be similar to the operations of a biological neuron. Typical example of a nonlinear network is a sigmoidal network.

How many layers?

The simplest feedforward network has at least two layersan input and an output (NB. such a networks are called single layer networksactive neurons are located only in an output layer). Usually between these layers there are multiple intermediate or hidden layers.

Hidden layers are very important they are considered to be categorizers or feature detectors. The output layer is considered a collector of the features detected and producer of the response

The Input Layer

With respect to the number of neurons comprising this layer, this parameter is completely and uniquely determined once you know the shape of your training data. Specifically, the number of neurons comprising that layer is equal to the number of features (columns) in your data. Some neural networks configurations add one additional node for a bias term.

The Output Layer

Like the input layer, every neural network has exactly one output layer. Determining its size (number of neurons) is simple; it is completely determined by the chosen model configuration. The interesting solution is called "one out of N". Unfortunately, because of limited accuracy in network operation the non-zero signal can occur on each out elements. It is necessary to implement the special criteria for results postprocessing and threshold of acceptance and rejection.

How to build the network

Too small network without hidden layer or too few neurons is unable to solve a problem and even the very long learning time will not help. Too big network will cheat the teacher. Too many hidden layers or too many elements in the hidden layers yields to the simplification of task. The network will learn whole set of the learning patterns. It learns very a fast and precisely but is completely useless for solving any similar problem.

How many hidden layers

Too many hidden layers yield to a significant deterioration of learning. There is a consensus as to the performance difference due to additional hidden layers: the situations in which performance improves with a second (or third, etc.) hidden layer are relatively infrequent. One hidden layer is sufficient for the large majority of problems. An additional layer yields the instability of gradient, and increases the number of false minima. Two hidden layer are necessary only if the learning refers the function with points of discontinuity. Too many neurons in the hidden layers may result in overfitting. Overfitting occurs when the neural network has so much information processing capacity that the limited amount of information contained in the training set is not enough to train all of the neurons in the hidden layers. Another problem can occur even when the training data is sufficient. An inordinately large number of neurons in the hidden layer may increase the time it takes to train the network and may lead to the increase of errors (Fig. 10). Using too few neurons in the hidden layers will, in turn, result in something called underfitting.

A rough prerequisite for the number of hidden neurons (for most of typical problems) is the rule of a geometric pyramid. The number of neurons in the consecutive layers has a shape of a pyramid and decrease from the direction of input to the output. The numbers of neurons in a consecutive layers are forming a geometric sequence For example, for the network with one hidden layer with n-neurons in the input layer and m-neurons in the output layer, the numbers of neurons in the hidden layer should be NHN = √𝑛 * 𝑚. The estimation theory was proposed to find a number of hidden units in the higher order feedforward neural network. This theory is applied to the time series prediction. The determination of an optimal number of hidden neurons is obtained when the sufficient number of hidden neurons is assumed. According to the estimation theory, the sufficient number of hidden units in the second-order neural network and the firstorder neural networks are 4 and 7 respectively.

6

Reviews of methods how to fix a number of hidden neurons

To festablish the optimal(?) number of hidden neurons, for the past 20 years more than 100 various criteria have been tested based on the statistical errors. The very good review was done by K. Gnana Sheela and S. N. Deepa in [START_REF] Gnana Sheela | Review on Methods to Fix Number of Hidden Neurons in Neural Networks[END_REF]. Below there is a short review of some endeavours:

 1991: Sartori and Antsaklis proposed a method to find the number of hidden neurons in multilayer neural network for an arbitrary training set with P training patterns.

 1993: Arai proposed two parallel hyperplane methods for finding the number of hidden neurons  1995: Li et al. investigated the estimation theory to find the number of hidden units in the higher order feedforward neural network  1997: Tamura and Tateishi developed a method to fix the number of hidden neuron. The number of hidden neurons in three layer neural network is N -1 and fourlayer neural network is N/2+3 where N is the input-target relation.  1998: Fujita proposed a statistical estimation for the number of hidden neurons.

The merits of this method are speed learning. The number of hidden neurons mainly depends on the output error.  2001: Onoda presented a statistical approach to find the optimal number of hidden units in prediction applications. The minimal errors are obtained by the increase of number of hidden units. Md. Islam and Murase proposed a large number of hidden nodes in weight freezing of single hidden layer networks. where n is the number of inputs and 𝑛0 is the number of outputs. Xu and Chen developed a novel approach for determining the optimum number of hidden neurons in data mining. The best number of hidden neurons leads to minimum root means Squared Error.  2009: Shibata and Ikeda investigated the effect of learning stability and hidden neurons in neural network. The simulation results show that the hidden output connection weight becomes small as number of hidden neurons increases. The number of hidden layers is inversely proportional to the minimal error.

  By 1985 the American Institute of Physics began what has become an annual meeting -Neural Networks for Computing. In 1987, the first open conference on neural networks in modern times; the IEEE International Conference on Neural Networks was held in San Diego, and the International Neural Network Society (INNS) was formed. In 1988 the INNS journal Neural Networks was founded, followed by Neural Computation in 1989 and the IEEE Transactions on Neural Networks in 1990.

  It was developed by Bernard Widrow and Ted Hoff of Stanford Univer-sity in 1960. It is based on the McCulloch-Pitts neuron. It consists of a weight, a bias and a summation function. The difference between Adaline and the standard (McCulloch-Pitts) perceptron is that in the learning phase the weights are adjusted according to the weighted sum of the inputs (the net).

3 .

 3 For the network with two hidden layers NHN1 = m*r2 and NHN2 = m*r where r = √ 𝑛 𝑚 The hidden neuron can influence the error in the nodes to which its output is connected. The stability of neural network is estimated by error. The minimal error denotes better stability, and higher error indicates worst stability. During the training, the network adapts in order to decrease the error emerging from the training patterns. Many researchers have fixed number of hidden neurons based on trial rule.

 2003 :

 2003 Zhang et al. implemented a set covering algorithm (SCA) in three-layer neural network. The SCA is based on unit sphere covering (USC) of hamming space. This methodology is based on the number of inputs.  2006: Choi et al. developed a separate learning algorithm which includes a deterministic and heuristic approach. In this algorithm, hidden-to-output and input-to-hidden nodes are separately trained. It solved the local minima in twolayered feedforward network. The achievement here is the best convergence speed.  2008: Jiang et al. presented the lower bound of the number of hidden neurons. The necessary numbers of hidden neurons approximated in hidden layer using multilayer perceptron (MLP) were found by Trenn. The key points are simplicity, scalability, and adaptivity. The number of hidden neurons is Nh =n + n0 -0.5

 2010 :

 2010 Doukim et al. proposed a technique to find the number of hidden neurons in MLP network using coarse-to-fine search technique which is applied in skin detection. This technique includes binary search and sequential search. Yuan et al. proposed a method for estimation of hidden neuron based on information entropy. This method is based on decision tree algorithm. Wu and Hong proposed the learning algorithms for determination of the number of hidden neurons.  2011: Panchal et al. proposed a methodology to analyse the behaviour of MLP.


Aleksander Cisłak
email: a.cislak@mini.pw.edu.pl

Władysław Homenda
email: homenda@mini.pw.edu.pl

Agnieszka Jastrzębska
email: a.jastrzebska@mini.pw.edu.pl

A Study on Fuzzy Cognitive Map Optimization Using Metaheuristics

Fuzzy Cognitive Maps (FCMs) are a framework based on weighted directed graphs which can be used for system modeling. The relationships between the concepts are stored in graph edges and they are expressed as real numbers from the [-1, 1] interval (called weights). Our goal was to evaluate the effectiveness of non-deterministic optimization algorithms which can calculate weight matrices (i.e. collections of all weights) of FCMs for synthetic and real-world time series data sets. The best results were reported for Differential Evolution (DE) with recombination based on 3 random individuals, as well as Particle Swarm Optimization (PSO) where each particle is guided by its neighbors and the best particle. The choice of the algorithm was not crucial for maps of size roughly up to 10 nodes, however, the difference in performance was substantial (in the orders of magnitude) for bigger matrices.

Introduction

Real-world phenomena modeling requires a framework that would not be hindered a by variety and diversity of relevant information. Standard methods, for instance for time series modeling, are predominantly numerical and are not well-fitted to process data in a form different than a sequence of numbers. An impressive range of fuzzy and granular models has emerged as a remedy for such issues. Fuzzy Cognitive Maps (FCMs) have been proposed by B. Kosko [START_REF] Kosko | Fuzzy cognitive maps[END_REF] in 1986 as an alternative framework for phenomena modeling.

FCMs represent knowledge in the form of a directed graph. Phenomena are stored in vertices, while edges represent their relationships. These relationships are expressed as real numbers from the [-1, 1] interval. Weight matrix (or connection matrix) is a formal representation of each FCM as it gathers all weights in the map. In our research we focus on the application of FCMs to time series modeling, a domain relatively new as it has emerged in the 2000s [START_REF] Stach | Numerical and linguistic prediction of time series[END_REF].

In this paper, we present a study on a very important aspect of modeling with FCMs, namely on weight matrix learning procedures. In general, the core of each FCM, the weight matrix, can be constructed in three ways: a) manually, by human experts; b) automatically, using optimization algorithms; c) with the combination of the two aforementioned options.

The first and the last option often turn out to be inapplicable, as they require human expert knowledge. A convenient alternative is offered by automated approaches that are able to determine the shape of the weight matrix. In particular, the literature of the topic recommends the application of various metaheuristic optimization procedures [START_REF] Papageorgiou | Learning algorithms for fuzzy cognitive maps -a review study[END_REF][START_REF] Stach | A survey of fuzzy cognitive map learning methods[END_REF]. Inspired by the current developments in the studies on FCM optimization, we present a comparative study on various algorithms, which are presented later in this paper.

The study is supported by a series of empirical experiments that let us investigate and compare the quality of obtained maps. The experiments were conducted for a few time series data sets (containing both real-world and synthetic data) and for maps of various sizes. In contrast to the studies on FCM optimization reported in the literature, in our experiments we also process very large maps, with up to 27 nodes (which turned out to be crucial in terms of algorithm performance). The key novel element introduced in this paper is a thorough comparison of the effectiveness of various optimization methods. Also, to the best of our knowledge, this is the first paper where we apply Harmony Search and Improved Harmony Search to FCM optimization.

Related Works

The need for automated methods for FCM weight matrix construction coincided with a rapid development of various search metaheuristics. Researchers recognized opportunities offered by this family of algorithms and applied them to FCM optimization.

Indeed, there are several important arguments speaking in favor of this approach. First, FCMs are fuzzy models and the key limitation of search metaheuristics, which is a lack of guarantee for the global optimal solution, is not a major concern. Hence, when it comes to FCMs, it is common to model phenomena with an "acceptably" good accuracy. In other words, there is no need for the best solution as long as we can arrive at a one which is "good enough". Secondly, weight matrix optimization is a difficult problem and standard optimization procedures are inadequate to handle it. Last but not least, metaheuristics are attractive: they are easy to use, they make few or no assumptions about the problem being optimized, and they provide a relatively good performance. Having the above in mind, more and more heuristic search algorithms have been adapted to FCM optimization. However, many of the latest contributions mostly build on the first methodologies that have been proposed.

The objective is to form a weight matrix by an iterative search procedure. The initial weight matrix is filled in randomly, which eliminates the necessity for involving human experts in the learning process. Algorithms explore the search space in order to find a weight matrix that satisfies to the greatest extent given fitness criterion. Usually, such fitness criterion is expressed as an error between map's responses and target values:

min W=[wij ],wij ∈[-1,1],i,j=1,...,c error (Y, T) (1)
where [START_REF] Papageorgiou | Learning algorithms for fuzzy cognitive maps -a review study[END_REF][START_REF] Stach | A survey of fuzzy cognitive map learning methods[END_REF]:

Y = [y ij ], y ij ∈ [0, 1], i = 1, . . . , c, j = 1, . . . ,
M SE = 1 N • c • N j=1 c i=1 y ij -t ij 2 (2)
, where y ij denotes map's ij-th response and t ij is a corresponding target value. D. Koulouriotis et al. [START_REF] Koulouriotis | Learning fuzzy cognitive maps using evolution strategies: a novel schema for modeling and simulating high-level behavior[END_REF] proposed the first methodology in 2001 that joined search heuristics with FCM learning. The authors applied Evolution Strategies to FCM learning in a case study of two FCMs, both with 6 nodes. W. Stach et al. [START_REF] Stach | Genetic learning of fuzzy cognitive maps[END_REF] published in 2005 another important attempt at employing search heuristics for the benefits of FCM learning. Cited authors applied Real-coded Genetic Algorithm (RCGA) to develop FCM weight matrix. Presented results for maps with up to 10 nodes confirm the soundness of this approach.

Briefly after the appearance of FCM learning algorithms employing genetic approaches, K. Parsopoulos et al. [START_REF] Papageorgiou | Fuzzy cognitive maps learning using particle swarm optimization[END_REF] applied Particle Swarm Optimization (PSO) to automated FCM learning. The authors modeled an exemplary industrial control problem: a tank and three valves that guard the level of a liquid. The fitness function was determined accordingly to fit the application domain and it represented a combination of conditions for the tank and the valves that stabilize the industrial process. Further applications of PSO and related swarm intelligence algorithms to FCM learning have been documented [START_REF] Leon | Learning method inspired on swarm intelligence for fuzzy cognitive maps: Travel behaviour modelling[END_REF][START_REF] Papageorgiou | Learning algorithms for fuzzy cognitive maps -a review study[END_REF]. Also, a few other successful methods for FCM learning using heuristics other than ones already discussed have been proposed, e.g., Big Bang-Big Crunch [START_REF] Papageorgiou | Fuzzy Cognitive Maps for Applied Sciences and Engineering: From Fundamentals to Extensions and Learning Algorithms[END_REF].

Approach

Our goal was to determine the performance of various non-deterministic algorithms in the context of optimizing FCM weight matrix. Regular approaches turn out to be rather ill-suited to this problem. Let us clarify that we used a popular classical algorithm Limited-memory BFGS-B [START_REF] Byrd | A limited memory algorithm for bound constrained optimization[END_REF]. The limitations concern first and foremost large maps, with 17 nodes (289 weights) and more. In our experiments we have observed that as we add more nodes, a classical optimization algorithm starts to set more and more weights to its pre-defined upper and lower bounds (-1 and 1). Such a result is not acceptable for the model assumptions of FCMs and it produces high error values. Hence, a more suited approach is required.

The challenge is caused by the lack of a feasible exact algorithm that could ensure reaching a global minimum (using, e.g., an exhaustive combinatorial search) owing to the complexity of the problem. However, with metaheuristic approaches there still exists a risk of reaching a local minimum, and there is no a priori approach to determine which evolutionary approach is better suited, which is the motivation behind our experimental evaluation.

All algorithms which were used for the optimization fall into the category of population-based algorithms, and most of them can be also described as evolutionary, since they feature operations such as breeding, mutation, and selection based on utility. Popular terms include a population, which describes a set of all individuals (candidate solutions) that are considered during a current iteration of the algorithm, and fitness, which describes the utility of an individual. An individual is essentially a multidimensional vector V = [v 1 , . . . , v d ] which consists of a fixed number of features. The number of dimensions, d, usually corresponds to certain properties of real-world objects, or, in our case, the size of the FCM.

Since in our case the fitness describes an average error, we deal with a minimization problem. When we mention a better or worse fitness value, it means that it is associated with a lower or a higher fitness value, respectively (the terms error and fitness are used interchangeably). Similarly, a better individual is the one associated with a lower fitness.

Typical operation of a population-based algorithm proceeds as follows:

1. The initial population containing n random individuals is created.

2. The fitness of each individual is calculated.

3. A predefined number (e) of individuals with the best fitness is preserved (so-called elite). Afterwards, the population is refreshed, i.e. typically n -e individuals are replaced with new (random) ones, although this might depend on fitness values (e.g., new individuals might enter the population only if they are better than the previous ones). [START_REF] Byrd | A limited memory algorithm for bound constrained optimization[END_REF]. The population is updated using algorithm-specific tools -this can consist in, e.g., mutating the features, that is introducing random changes. 5. The search continues until a desired number of iterations is performed. In the end, the individual with the overall best fitness is returned.

Specific algorithms which were evaluated are listed below:

-Artificial Bee Colony (ABC) [START_REF] Karaboga | A powerful and efficient algorithm for numerical function optimization: artificial bee colony (ABC) algorithm[END_REF] ABC is based on the behavior of bees in their natural habitat. Each individual is called a bee, and a current state of the feature vector is referred to as a position. There exist 3 kinds of bees:

• Employed bees: they modify their positions by mutating single features.

• Unemployed bees: they randomly select one of the positions of the employed bees (the better the fitness of the position, the higher the probability that this position is selected) and mutate it. • Scout bees: they try to occupy a new random position.

Each new position in the ABC algorithm is retained only if it turns out to be better than the original one. Main parameters include the ratios of the number of bees of each kind in the population.

-Differential Evolution (DE) [START_REF] Storn | Differential evolution -a simple and efficient heuristic for global optimization over continuous spaces[END_REF] DE is closely related to the Genetic Algorithm, however, it uses various strategies for crossing individuals rather than the standard crossover operation, and explicit mutation is usually omitted. These differ mostly in the number of selected individuals, sampling strategies, as well as the method for combining the features. After testing selected strategies, we have decided to opt for the one which combines 3 individuals (V 1 , V 2 , V 3 ) sampled randomly from the current population. With a given probability, each feature is replaced with a new value according the following formula:

V [i] = V 1 [i] + δ(V 2 [i] -V 3 [i])
, where δ is a fixed parameter.

-Genetic Algorithm (GA)

GA is based on two basic operations -crossover, which takes two individuals and combines them into one by mixing their features together, and mutation, which assigns a random value to one of the features. These operations correspond directly to changes in the genetic material which happen in the real world. The parameters consist of a probability of a crossover between an individual and another randomly selected individual, and a probability that an element is mutated. -Harmony Search (HS) [START_REF] Geem | A new heuristic optimization algorithm: Harmony search[END_REF] HS was inspired by a group of musicians who use improvisation (that is, essentially, mutations of musical notes) in order to find the optimal sound combination. During a single iteration, each harmony (individual) is improvised (mutated) and it replaces the current worst harmony if it produces a better fitness score. Each feature V [i] is then either replaced with a random value, or it is replaced with another feature V x [i] from a randomly selected harmony V x from the current generation. Moreover, if one of the existing features is selected, its value is changed (it is "pitch-adjusted") by a random value from a given interval of size δ(max -min) (in our case min = -1 and max = 1). The parameters describe the probabilities of mutations. -Improved Harmony Search (IHS) [START_REF] Mahdavi | An improved harmony search algorithm for solving optimization problems[END_REF] IHS is based directly on harmony search and it strives to fine-tune its parameters. According to authors, effectiveness of the original algorithm might be improved when, for each consecutive iteration, the probability that a mutation occurs increases, however, the rate of change decreases. This means that at the beginning the algorithm causes the features to take fewer longer leaps, and at the end there are more frequent but smaller changes. -Particle Swarm Optimization (PSO) [START_REF] Eberhart | A new optimizer using particle swarm theory[END_REF] PSO consists of multiple particles (individuals), which change the position in the search space. The maximum value of this change is determined by the speed of a particle in question, and it can be influenced by other particles (e.g., k of its neighbors or the best particle found so far). We have investigated a simple PSO variant, where the particles explore the search space on their own, that is they are not influenced by other particles, as well as a more complicated variant from the cran library [START_REF] Bendtsen | Package 'pso[END_REF] (we refer to it as informed PSO), which takes into account both the position of the best particle as well as k neighbors (where 3 for the population of size n).

k = 1 -(1 -(1 -1 n ))

Time Series Modeling with Fuzzy Cognitive Maps

In this section we briefly present the necessary formalisms related to FCM construction in order to present a self-contained experimental study on FCM optimization.

In a nutshell, FCM is represented by its weight matrix W which is used to iteratively model the behavior of phenomena. On the input to the map we pass current activation values, and the map responds with an output. Ideally, map's response is as close to the actual state of phenomena (the target) as possible. The input corresponds to the i-th discrete time point, while the output corresponds to the i + 1-th time point.

A single run of an FCM (single input-output) is described with an input activation vector x, x = [x 1 , x 2 , . . . , x c ] T , x i ∈ [0, 1]. Map's response is a vector y = [y 1 , y 2 , . . . , y c ] T , y i ∈ [0, 1]. In order to calculate the i-th element of the output vector we apply the following formula:

y i = f c j=1 w ij • x j (3)
for i = 1, 2, . . . , c. f is a sigmoid function endowed with a steepness parameter τ > 0:

f (u) = 1 1 + e -τ u (4)
The greater the τ , the more the shape of f resembles the unit step function.

Here, τ = 5 was assumed, which was based on experimental studies and on the literature review, where the majority of researchers assume the same settings [START_REF] Stach | A survey of fuzzy cognitive map learning methods[END_REF][START_REF] Stach | Numerical and linguistic prediction of time series[END_REF].

When the processing concerns a sequence of N activation vectors (N observations), we gather them in an activation matrix that is denoted as X = [x 1 , . . . , x N ], where x i is an i-th activation vector. Consistently, the FCM responds with matrix of outputs (Y = [y 1 , . . . , y N ]), which is of size c × N .

Modeling with an FCM consists of the following steps:

1. FCM design, 2. FCM optimization, 3. FCM interpretation.

The first step revolves around the process of node extraction for the map, and it is a crucial point which determines the quality of the map. A general concern is that the more nodes we have in a map, the more specific model we obtain. A corollary of this is that when we add a node to the map, we should expect that its numerical accuracy will increase. The downside of an increased map size is that it affects not only the ease of interpretation, but also a computational effort needed to optimize such a map. Let us stress that number of edges (elements in the weight matrix) grows quadratically, but an average time needed to optimize such map using any metaheuristic algorithm grows faster than quadratically.

There exists a key parameter of a time series representation for modeling with FCMs: concept's dimensionality. Dimension corresponds to the number of consecutive time points represented by each concept. For instance, if the dimensionality is equal to 2, then each concept represents a pair: current time series value (z i ∈ R, i = 2, . . .) and change (δz i = z i -z i-1 ). If dimensionality equals 3, then each concept represents current value (z i ), change (δz i ), and change of change

(δδz i = δz i -δz i-1 = z i -2z i-1 +z i-2
). The same representation has been applied by W. Stach et al. [START_REF] Stach | Numerical and linguistic prediction of time series[END_REF], who published a fundamental paper for the time series modeling method analyzed in this study.

Our previous research shows that the larger the dimension, the better numerical accuracy of predictions. However, the gain diminishes as the dimensionality grows. Having in mind that FCMs are models constructed to be interpreted and applied by human beings, concept dimensionality equal to 2 or 3 is a very reasonable choice, especially since we may easily represent such a space visually.

A detailed elaboration on the issues of FCM design has been presented in our previous paper [START_REF] Homenda | Design of fuzzy cognitive maps for modeling time series[END_REF]. At this point let us assume that we are proceeding with a task of time series modeling and we are equipped with the following: a) a set of c concepts and b) a set of training and testing data sets consisting of input activations X and targets T.

In this paper we do not dwell further on this topic, as the focus in on the second step: FCM optimization. The aim is to construct a weight matrix W of size c × c that provides the smallest possible MSE (as defined in Formula 2). FCM exploration is as described in Formula 3. The time series that we model was elevated to the level of concepts and hence the modeling procedure operates on the level of concepts. In a typical scenario (as in this paper), concepts are realized with fuzzy sets, and we predict membership degrees to the extracted concepts in each discrete time point. With such assumptions we move towards the empirical section of this article, where we employ and compare a suite of different heuristic search algorithms in order to construct FCM weight matrix.

Experimental Results

Let us note that the problems in question are very demanding from the computational point of view, as a single run on all 4 of our data sets requires at least several days even on a modern multithreaded machine. Still, the experiments were conducted a few times and the results were consistent with one another. In fact, the relative differences between consecutive runs were surprisingly small, namely less than a few percent, and they were often negligible.

Our implementation is mostly based on the tools provided by the DEAP library [START_REF] Fortin | DEAP: Evolutionary algorithms made easy[END_REF] for Python. Moreover, we have also implemented the Genetic Algorithm from scratch in order to rule out a possible dependency on the library, and the results turned out to be similar. We have investigated 4 data sets, two of which represent real-world data (Bicup, Rainfall), and 2 synthetic ones (Synth3, Synth10); see Appendix A for more information. As regards the parameters, we have used similar values to those suggested in the literature [START_REF] Geem | A new heuristic optimization algorithm: Harmony search[END_REF][START_REF] Karaboga | A powerful and efficient algorithm for numerical function optimization: artificial bee colony (ABC) algorithm[END_REF][START_REF] Mahdavi | An improved harmony search algorithm for solving optimization problems[END_REF][START_REF] Poli | Particle swarm optimization[END_REF]; consult Appendix B for a complete list.

Our results can be summarized as follows: for this particular problem class, the best effectiveness was achieved by Differential Evolution (DE, consult Figure 1) and informed PSO. We also present the results for Improved Harmony Search (IHS) in Figure 2. Results for other algorithms are omitted, since they demonstrate the same tendencies as the ones presented in the figures, but with higher error values (informed PSO with respect to DE and the remaining algorithms with respect to IHS).

It is worth noticing that the algorithms which managed to continue decreasing the error value as the matrix size increased were also the ones which reported overall the smallest error values. Moreover, let us note that almost all algorithms (with the exception of ABC) managed to decrease the error up to a certain point, roughly matrix size 10, and in these cases the relative differences between error values were rather insignificant. This observation is consistent with the results reported by other authors, referred to in Section 2. Beyond this point, and especially for the largest matrices, the error value actually increased, despite a larger (i.e. more precise, at least in theory) amount of information describing the model. This leads us to the conclusion that the choice of the optimizing algorithm is not significant for smaller matrix sizes (in which case even the aforementioned L-BFGS-B approach was successful, while also being faster than populationbased algorithms), however, it can be a true game changer for bigger matrices. The biggest relative differences in error values were observed for the 27-node matrix, and for some algorithms they ranged up to two orders of magnitude.

For some algorithms (e.g., simple PSO) it could be inferred from the data that a certain local minimum was being approached. This was due to the increasing appearance of -1s and 1s in the weight matrix, and this behavior was similar to one observed for the L-BFGS-B algorithm (as mentioned in Section 3). In that case, we observed a clear correlation between an increase in the error value and an increasing number of -1s and 1s. Still, in other cases the situation was not so clear, for instance the IHS did not manage to minimize the error value as the matrix size increased, even though the aforementioned -1s and 1s did not appear in the weight matrix at all.

We believe that the better performance of DE could be possibly explained by the fact that it is mostly based on the recombination of the existing population members, augmented with only a limited number of mutations. This can be partially supported by the fact that increasing the crossover probability and lowering the number of mutations for the Genetic Algorithm produced relatively better results (although still worse than DE, in particular it was unsuccessful for maps of sizes 22 and 27). Conversely, increasing the mutation probability and decreasing the crossover probability had a negative effect on the error value. Similar behavior was observed for HS, which was more effective when the mutation was almost disabled (with the probability of 1% for each attribute). Surprisingly, this leads us to the conclusion that it is the limiting rather than the widening of the search radius which yields better results in this particular case.

Future Works

We would like to recognize a certain threat to validity, namely the dependence on parameter values. It is not feasible to perform exhaustive parameter tuning for this particular problem due to computational constraints. Moreover, there exist certain drawbacks associated with such tuning, explored in detail by, e.g., A. E. Eiben et al. [START_REF] Eiben | Parameter control in evolutionary algorithms[END_REF]. For this reason, we plan to investigate certain parameter control methods [START_REF] Eiben | Parameter control in evolutionary algorithms[END_REF] (one of the algorithms that we have evaluated, namely IHS, is an example of such a method) as future work. It would be also advantageous to extend the scope of the study onto other real-world as well as synthetic time series data samples.

Fig. 1 .

 1 Fig. 1. Results for Differential Evolution (DE) which managed to minimize the error as the matrix size increased. Four consecutive rows correspond to each of the data sets: Synth3, Synth10, Bicup, and Rainfall (top to bottom), whereas the columns correspond to the dimensionality of data samples (consult Section 4 for more information). Values on the x-axis of each subplot refer to matrix sizes, and values on the y-axes describe the error (i.e. fitness in our case). Training set errors are indicated with black bars, and test set errors are indicated with grey bars.

Fig. 2 .

 2 Fig. 2. Results for Improved Harmony Search (IHS) which was mostly successful only up to the matrix size of 10. Four consecutive rows correspond to each of the data sets: Synth3, Synth10, Bicup, and Rainfall (top to bottom), whereas the columns correspond to the dimensionality of data samples (consult Section 4 for more information). Values on the x-axis of each subplot refer to matrix sizes, and values on y-axes describe the error (i.e. fitness in our case). Training set errors are indicated with black bars, and test set errors are indicated with grey bars.

Appendix A

The following data sets were used in the empirical study:

synthetic time series (Synth3) based on sequence [START_REF]Rainfall time series[END_REF][START_REF] Eiben | Parameter control in evolutionary algorithms[END_REF][START_REF] Geem | A new heuristic optimization algorithm: Harmony search[END_REF], synthetic time series (Synth10) based on sequence (1,5,7,3,9,9,3,7,5,1), real-world time series Bicup, real-world time series Rainfall.

Synthetic time series were constructed by replication of a base sequence so that the entire set had 3,000 elements. Then, a random distortion taken from the normal distribution with mean 0 and standard deviation 0.7 was added to each value.

Bicup time series describes the number of passenger arrivals at a subway bus terminal. Rainfall time series contains information on daily precipitation [START_REF]Bicup time series[END_REF][START_REF]Rainfall time series[END_REF].

Appendix B

This appendix describes parameter values for each evaluated algorithm; for detailed information regarding these parameters we refer the reader to original articles. For the description of the algorithms, consult Section 3. The number of iterations was set to 200 for all algorithms (a larger number was unnecessary, since in most cases the improvements in fitness values were non-existent or negligible beyond this point), and the population size was equal to 100 individuals (with the exception of informed PSO, which uses its fine-tuned, custom parameters).

-ABC: employed bee ratio = 0.5, abandon limit = 3.


Jakub Stebel
email: jakub.stebel.st@vsb.cz

Michal Krumnikl
email: michal.krumnikl@vsb.cz

Pavel Moravec
email: pavel.moravec@vsb.cz

Petr Olivka
email: petr.olivka@vsb.cz

David Seidl
email: david.seidl@vsb.cz

Neural Network Classification of SDR Signal Modulation

Keywords: software defined radio, neural networks, signal processing, modulation, classification, signal features

With the rising popularity of Software Defined Radios (SDR), there is a strong demand for automatic detection of the modulation type and signal parameters. Automatic modulation classification is an approach to identify the modulation type and its parameters such as the carrier frequency or symbol rate. In electronic warfare, it enables real-time signal interception and processing. In civil applications, it can be used, e.g., by the amateur radio operators to automatically set the transceiver to the appropriate modulation and communication protocol. This paper presents a modulation classification driven by a neural network. A set of signal features are provided as an input of the neural network. The paper discusses the relevance of different signal features and its impact on the success rate of the neural network classification. The proposed approach is tested on both artificial and real samples captured by the SDR.

Introduction

With the rising popularity of software defined radios (SDR), there is a strong demand for automatic detection of the modulation type and the signal parameters. SDR is a radio communication system where the traditional radio components (e.g. amplifiers, mixers, filters, demodulators, etc.) were replaced by means of software. Such a design produces a system which can receive and transmit different radio modulations based solely on the software's specification. Nowadays, SDR is becoming the dominant technology in radio communications.

The concept of the software defined radio has been extensively studied since the late nineties. From the beginning there has been a strong demand from the military for software defined radios capable of intercepting and decoding various radio transmissions. The ability to automatically detect the modulation type is crucial for monitoring wireless communication but also for effective signal jamming.

Automatic Modulation Classification (AMC) is an approach to identify the modulation type and its parameters such as the carrier frequency or symbol rate. AMC systems were introduced in military and in a short time appeared in commercial applications. In military applications, involving electronic warfare, it enables real-time signal interception and processing. In civil applications it can be used, e.g., by the amateur radio operators to automatically set the transceiver to the appropriate modulation and communication protocol.

The automatic modulation detection algorithms are crucial parts of adaptive modulation techniques which are nowadays used in almost all wireless mobile cellular systems. Assuming the transmitter has the capability to choose the modulation (based on the changing environment and detected interference) it can significantly influence the quality of ongoing transmission. In such cases, the receiver must be able to detect the dynamically changing modulation. [START_REF] Zhu | Automatic Modulation Classification: Principles, Algorithms and Applications[END_REF][START_REF] Zhu | Automatic classification of digital communication signal modulations[END_REF] 2 State of The Art

The AMC approaches can be divided into three main classes: statistical methods, decision theoretic methods and feature based methods. First AMC techniques were based on calculating the time domain parameters like amplitude, instantaneous frequency or phase shift of the signal [START_REF] Chan | Identification of the modulation type of a signal[END_REF][START_REF] Jondral | Automatic classification of high frequency signals[END_REF]. The subsequent signal classification can be based on an automatic histogram separation method [START_REF] Jondral | Automatic classification of high frequency signals[END_REF]. The histogram is calculated using the instantaneous phase estimation. Other techniques rely on a time domain analysis, calculating envelope characteristics of the signal.

The majority of the decision theoretic methods are based on the assumption that the Likelihood functional of the observed waveform provides all necessary information for signal detection and estimation of transmission parameters and modulation. In these approaches, the classification problem is formulated as a multiple-hypothesis problem, where modulation is selected from a candidate list based on maximizing the likelihood radio [START_REF] Huan | Likelihood methods for MPSK modulation classification[END_REF].

The statistical signal approaches exploits various properties of the signal to gain information about the analysed signal. More advanced techniques employ higher order correlation, cumulant based methods or higher order statistics [START_REF] Beidas | Asynchronous classification of MFSK signals using the higher order correlation domain[END_REF]. One of the biggest disadvantages of the statistic approaches is their lower resistance to noise.

Neural networks approaches involve experiments with different configurations, learning techniques and selection of optimal input parameters. The popular approach is to involve a multi-layer perceptron network [START_REF] Liu | Automatic modulation classification based on the combination of clustering and neural network[END_REF][START_REF] Wang | A Research on Automatic Modulation Recognition with the Combination of the Rough Sets and Neural Network[END_REF], however there is a possibility that the training procedure will get stuck due to a local op-timum of the cost function. This can be avoided by using a radial basis function network. [START_REF] Khurshid | Classification system for digital signal types using neuro fuzzy system and PSO[END_REF] A more detailed description of algorithms can be found in [START_REF] Popoola | Automatic Recognition of Analog Modulated Signals Using Artificial Neural Networks[END_REF][START_REF] Zhu | Automatic Modulation Classification: Principles, Algorithms and Applications[END_REF] and a recent survey of AMC approaches was published in [START_REF] Thakur | Trends in Automatic Modulation Classification for Advanced Data Communication Networks[END_REF].

The herein proposed algorithm combines the statistical driven approaches with neural networks. We will explore two neural networks mentioned in this section, specifically radial basis function network and feed forward network.

Signal Model

Suppose the incoming waveform r(t) containing signal s(t) with an additive white Gaussian noise n(t) r(t) = s(t) + n(t).

The modulation changes a sine wave s(t) to encode information. The equation representing the sine way can be written as:

s(t) = 2Sa(t) cos(ωt + θ(t) + Φ K ), ( 2
)
where S is the power of the signal, a(t) is its amplitude, ω denotes the carrier frequency, θ(t) carrier phase and Φ K is the modulation phase. For phaseshift keying (PSK) modulation, Φ K is a value from the set of complex phases {Φ 1 , Φ 2 , Φ 3 , . . .}, denoted as the constellation of the modulation. The aim of the automatic modulation classifier is to extract features such as carrier frequency, phase offsets, I/Q origin offset in the constellation plane, etc., to classify the type and order of modulation in signals from noisy environments.

Selection of Statistic Features

The selection of the proper statistic features plays the key role in the success of the proposed automatic modulation classification algorithm. We need to select those statistical features that are most selective for different aspects of the processed signal. It is also necessary to maintain the diversity of the selected features in order to be able to capture all possible variations in modulations.

The first discussed feature γ max depends on the variation of the amplitude. It is defined as a maximum value of the spectral power density of the normalized and centered instantaneous amplitude:

γ max = max|DF T (A cn )| 2 N , A cn [n] = A[n] µ A -1,
where A is the vector of the instantaneous amplitude and µ A is the arithmetic mean of the instantaneous amplitude. [START_REF] Zhu | Automatic Modulation Classification: Principles, Algorithms and Applications[END_REF] The maximum value of the spectral power density γ max provides a significant differentiation characteristic between two groups of radio transmissions -the one that uses an amplitude to encode the data and the second that uses a different means (e.g. frequency changes). For the first group (AM and ASK) this parameter gives significantly higher values than for the other. On the borderline of these two groups we can find the QAM modulations which combine both ASK and PSK features. For the modulations based on the frequency changes the value of γ max is almost zero.

The standard deviation of the absolute value of the normalized and centered instantaneous amplitude (σ aa ) should provide a similar discrimination as γ max . The value of σ aa is given by

σ aa = 1 N N n=1 A 2 cn [n] - 1 N N n=1 |A cn [n]| 2 , ( 3
)
where N is the number of complex samples and A cn [n] is a vector of normalized centered instantaneous amplitude. [START_REF] Zhu | Automatic Modulation Classification: Principles, Algorithms and Applications[END_REF][START_REF] Bagga | Automatic Modulation Classification Using Statistical Features In Fading Environment[END_REF][START_REF] Popoola | Automatic Recognition of Analog Modulated Signals Using Artificial Neural Networks[END_REF] The ability to differentiate between the amplitude and frequency modulations is almost the same as γ max . As our model does not detect the number of states in the digital communication, σ aa may be considered redundant. Because both features are amplitude dependent it is possible that the neural network might have a problems to discriminate AM and ASK, or possibly ASK, PSK and QAM.

The standard deviation of the absolute value of the non-linear component of the instantaneous phase can be used to detect phase changes. It separates the hypothetical modulation space into two groups, one represented by FM, FSK, PSK, QAM and second by AM, ASK, BPSK modulations. Feature σ ap should separate QAM modulations, but our experiments showed that it classifies BPSK modulations in the same way. The standard deviation of the absolute value of the non-linear component is defined as

σ ap = 1 N c   An[n]>At φ 2 N L [n]   -   1 N c An[n]>At |φ N L [n]|   2 , (4)
where N c is the number of complex samples above the noise level and φ N L [n] is a vector of non-linear component of instantaneous phase. [START_REF] Bagga | Automatic Modulation Classification Using Statistical Features In Fading Environment[END_REF][START_REF] Popoola | Automatic Recognition of Analog Modulated Signals Using Artificial Neural Networks[END_REF] The variance of the phase deviation σ dp helps to distinguish BPSK from other modulations not employing the phase changes. It gives additional information to σ ap . The standard deviation of the non-linear component of the direct instantaneous phase is calculated as

σ dp = 1 N c   An[n]>At φ 2 N L [n]   -   1 N c An[n]>At φ N L [n]   2 . ( 5
)
Both characteristics σ ap and σ dp are suitable for separating digital modulations with phase changes from the analogous frequency modulations including analog phase modulation.

The standard deviation of the absolute value of the normalized and centered instantaneous frequency σ af is sensitive to frequency changes and is primary used to differentiate between the binary and multi-state phase modulations. The formula for calculating σ af is as follows

σ af = 1 N c   An[n]>At f 2 N [n]   -   1 N c An[n]>At |f N [n]|   2 (6) f N [n] = f m [n] f s , f m [n] = f [n] -µ f ,
where N c is the number of complex samples above the noise level, f [m] is the vector of instantaneous frequency and µ f is the arithmetic average of instantaneous frequency [START_REF] Zhu | Automatic Modulation Classification: Principles, Algorithms and Applications[END_REF][START_REF] Bagga | Automatic Modulation Classification Using Statistical Features In Fading Environment[END_REF][START_REF] Popoola | Automatic Recognition of Analog Modulated Signals Using Artificial Neural Networks[END_REF]. Experiments showed that this feature can be also useful for recognizing PSK and QAM, however it is not suitable for classifying analog frequency modulations and phase modulations.

The final feature we have used as an input to the neural network is the spectrum symmetry around the carrier frequency. The symmetry is calculated according the formulas

P = P L -P U P L + P U , f cn = f cn N f s -1, P L = fcn n=1 |X c [n]| 2 , P U = fcn n=1 |X c [n + f cn + 1]| 2
where f s is the sampling rate, f c is the carrier frequency and (f cn + 1) is the sample position corresponding to carrier frequency. For symmetric modulations as ASK, AM or QAM this value is close to zero, however for asymmetric FM or PM modulations it shows how the energy is shifted in frequency spectrum based on the transmitted information.

Neural Network Classification

The classification process is based on the neural network implemented in Encog library [START_REF] Heaton | Encog: Library of Interchangeable Machine Learning Models for Java and C#[END_REF]. The input vector is composed of a set of characteristic features as introduced in the previous section. In the proposed detector we use two types of neural networks. The first one is the most commonly used type, Feed Forward Network (FFN). In this network information moves in only one direction, from the input nodes, through the hidden nodes to the output nodes, without loops or cycles. The second type is more sophisticated Radial Basis Function Network (RBN). The output of this network is a linear combination of radial basis functions of the inputs and neuron parameters. In our application, the RBN network should be able to handle the noisy signal better than the simpler Feed Forward Network. [START_REF] Santos | Comparison Between Multilayer Feedforward Neural Networks and a Radial Basis Function Network to Detect and Locate Leaks in Pipelines Transporting Gas[END_REF] For both models we have used supervised learning method based on a backpropagation. The training was performed on fully artificial data set for a given noise to signal ratio. The goal was to learn neural network to distinguish between seven types of different modulation (AM, FM, PM and ASK, FSK, PSK, QAM). Each modulation is represented by one class of output layer. The training set was composed of approximate 10 000 input vectors for each modulation. Samples with different modulations were created in the GRC framework. The total size of the set is more than 11.5 GB of binary data.

The essential parameter of the input vector is the window size, determining the number of complex samples used for the features calculation. The longer the time period is (by increasing the window size), the more reliable information we obtain from the statistical evaluation. For our experiments we have used the window size set to 16384 complex samples. The input samples were normalized before the training phase.

The Encog library provides the option for a cross-validation of the trained model. For this step we have divided our generated data set into two parts, 70% were used for the training phase and 30% for the validation step. The number of repetition was set to 5. The cross-validation should assess how the results of a statistical analysis will generalize to an independent data set. For the RBN network we have obtained the validation error equal to 9.79%, while the Feed Forward Network had the validation error equal to 21.75%.

Implementation Details

The implementation of the proposed algorithm was done in C# and comprised highly optimized signal processing algorithms from the GNU Radio Companion (GRC) libraries. The flow chart of the algorithm is depicted in Fig. 1.

The application loads into the memory the deserialized model of the neural network and the content of the input file containing the I/Q data. If the filtering is enabled, the signal is passed through the band pass filter. Data are loaded into the processing window and the DFT is calculated. The DFT is used to detect the signal presence and obtain basic signal features. The calculation of the characteristic signal features (as described in Section 4) is performed in parallel and the results are passed into the neural network (see Section 5). Classification results are printed on the console and saved into the file for later analysis.

Learning Phase and Validation

During the first phase we have evaluated the success rate of the proposed classification algorithm on the artificial data set. The signals used for the evaluation were different from the one used during the learning phase. The main parameters and carrier frequencies varied across the samples. The tests were performed on signals with different signal-to-noise ratio (SNR). The SNR ratio varied from the complete absence of the noise to the level of 15 dB. The noise was added to the originally generated noiseless samples. To simplify the evaluation, we have The tests in the second phase were performed on the real samples received by SDR. The SNR values of the received signal was determined by GRC module Frequency Xlating FIR Filter and low pass filter coefficients.

Experimental Results

Theoretically, the success rate of the classification performed by FFN and RBN on the synthetic data set can be estimated by the cross-error estimation implemented in the Encog library. According to these estimations we may expect better performance of the RBN, since it had more than 90% success rate during the learning phase. In the following sections we will evaluate the success rate of both neural networks on the artificial data set and the real world data set composed of signals received by the SDR receiver.

Synthetic Data set

The results of the RBN classification of the synthetic noise free signals is summarised in Table 1. From the first glance, we can see that the neural network tends to classify most signals as the ASK modulation. If we look closer, we can see that this trend is characteristic for related modulations -mainly AM, but also QAM and PSK, which is understandable. The detection of frequency modulations is however less accurate. FM and PM modulations are well detected; nevertheless the FSK modulation was not detected at all. It seems that the proposed RBN network is unable to classify this type of modulation.

Much better results were obtained from the FFN classification. Table 3 shows the behaviour of the RBN classification performed on signals with added white noise. The success rate of the detection of amplitude modulations increased, but for remaining modulations the performance decreased.

Small improvements are visible in the classification of FFN in Table 4. Added noise slightly improved the performance since it helped generalize inputs. The misclassification errors remained with the related modulations.

With increasing noise level we can see further degradation of RBN classifications. Table 5 illustrates this observation. The success rate for the majority of modulations fell to around 10% and misclassifications are appearing even between non-related modulations. Such results indicate that RBN network will not be suitable for real world samples as they would contain a significant amount of noise.

In contrast, FFN retained good classification performance even in the presence of noise. Table 6 summarize the classification accuracy of the signals with SNR values of 15-25 dB. The model can still reliable detect the main classes of the modulations and in most cases correctly classifies the exact modulation type. Additionally, the misclassification happens only between the related modulations.

Based on the results on the synthetic data set, we have decided to perform the experiments on the real world signals only with the FFN model. 7 presents the results of classification of these signals.

The AM radio transmissions were classified correctly only in 1%, however related ASK and QAM modulations were detected in 88% and 11%. If we consider ASK as a special type of AM modulation with a finite number of possible amplitude values, this error is understandable. FM modulation was similarly misclassified as FSK (which is related to the FM in similar way, by using only a finite number of frequency changes). ASK was misclassified as AM mainly due to low SNR, as this classification is sensitive to noise. PSK modulation was classified in 69% occurrences correctly. QAM modulation was classified in 46% occurrences as ASK and 54% PSK. This is natural as QAM is the combination of ASK and PSK and the general detection is hard.

Generally we can see that the success rate is lower than the values obtained from the synthetic data set. We have analysed the reasons and found that some parameters had significantly different values than the values obtained from the synthetic data sets. This was true especially of γ max , where the real world FM modulated signals generated values ten times lower than the one used during the learning phase. The similar behaviour was observed with σ aa . We suspect that these two significant differences degraded the classification abilities of the used neural network.

Conclusion

In this paper we have presented an automatic modulation classification based on the neural network. The proposed approach is based on calculating specific statistic features of the input signal that are used as an input to the neural network. The selection of the proper statistic features was discussed in more detail. Two types of neural networks were evaluated, the Radial Basis Function Network and Feed Forward Network. Both networks were learned using a synthetic data set and then evaluated on both synthetic and real world samples.

The experiments showed that the Feed Forward Network outperformed Radial Basis Function Network, especially in cases, where signal contained higher level of noise. For real world samples the classification success rate was lower, mainly due to the different characteristics of signals. Several modulations captured by SDR receiver had significantly different key characteristics than the signals we have artificially created for the learning phase.

What we see as a next logical step is to create a learning dataset based on the real world samples captured by the SDR. This task will be laborious but is necessary as there is a lack of large generally available data set of this kind. By doing this we can provide a better set for learning neural network. In addition to this, we should reconsider the selection of statistic features as some features did not provide enough information for unambiguous classification.

Fig. 1 .

 1 Fig. 1. Flow chart of the proposed algorithm

Table 1 .

 1 Table 2 presents the results of FFN on the same data set. We can see (in contrast to the RBN) that the FFN is able to correctly classify frequency and amplitude modulations. This model provides better classification results for FSK and PSK. The errors of misclassification PSK and QAM modulations are expected, for the same reason as already mentioned. RBN classification accuracy (%) of pure signals without noise

		Recognized Modulation
	Signal Mod. AM FM PM ASK FSK PSK QAM
	AM	10.34 0.00 0.00 89.66 0.00 0.00 0.00
	FM	0.31 48.45 22.62 19.22 0.00 5.27 4.13
	PM	0.93 51.44 40.41 4.12 0.00 1.86 1.24
	ASK	1.10 0.00 0.00 98.90 0.00 0.00 0.00
	FSK	20.76 7.98 16.27 44.71 0.00 4.39 5.89
	PSK	0.66 17.61 16.76 61.86 0.00 0.00 3.11
	QAM	17.09 32.04 0.00 43.79 0.00 0.19 6.89
		Recognized Modulation
	Signal Mod. AM FM PM ASK FSK PSK QAM
	AM	85.32 0.00 0.00 0.41 0.00 14.27 0.00
	FM	0.00 86.57 12.09 0.00 1.03 0.00 0.31
	PM	0.10 33.55 51.93 0.00 0.00 13.81 0.62
	ASK	4.61 0.00 0.00 67.41 0.00 0.00 27.98
	FSK	0.20 32.54 19.26 0.00 31.83 7.09 9.08
	PSK	0.66 0.00 0.00 16.01 0.00 50.28 33.05
	QAM	0.68 0.00 6.12 0.29 16.41 33.88 42.62

Table 2 .

 2 FFN classification accuracy (%) of pure signals without noise

Table 3 .

 3 RBN classification accuracy (%) of signal with noise (SNR 35-45 dB)

		Recognized Modulation
	Signal Mod. AM FM PM ASK FSK PSK QAM
	AM	28.62 1.45 0.00 69.32 0.00 0.31 0.30
	FM	1.11 26.54 71.11 0.37 0.00 0.49 0.38
	PM	12.62 57.04 15.54 8.45 0.00 4.59 1.76
	ASK	1.03 0.00 0.00 98.97 0.00 0.00 0.00
	FSK	0.00 53.32 22.52 2.84 0.00 12.43 8.89
	PSK	0.57 34.31 0.00 65.03 0.00 0.09 0.00
	QAM	0.58 0.00 0.00 91.45 0.00 0.39 7.58
		Recognized Modulation
	Signal Mod. AM FM PM ASK FSK PSK QAM
	AM	86.45 1.76 3.93 0.00 0.10 0.00 7.76
	FM	0.62 30.74 60.12 0.00 0.12 3.21 5.19
	PM	0.63 37.96 42.75 0.00 11.46 0.00 7.20
	ASK	31.97 0.00 0.00 0.00 0.00 0.00 68.03
	FSK	0.00 74.72 0.00 0.00 25.19 0.09 0.00
	PSK	0.66 0.09 0.00 0.00 0.00 34.59 64.66
	QAM	0.78 0.10 0.00 0.00 0.00 22.15 76.97

Table 4 .

 4 FFN classification accuracy (%) of signal with noise (SNR 35-45 dB)

		Recognized Modulation
	Signal Mod. AM FM PM ASK FSK PSK QAM
	AM	10.66 9.63 2.28 75.16 0.00 1.04 1.23
	FM	0.49 11.98 86.79 0.74 0.00 0.00 0.00
	PM	13.89 50.68 14.63 15.47 0.00 2.92 2.41
	ASK	0.40 0.00 0.00 99.60 0.00 0.00 0.00
	FSK	0.00 10.61 72.99 0.43 0.00 13.46 2.51
	PSK	0.19 51.75 0.00 33.08 0.00 8.29 6.69
	QAM	0.19 31.10 0.00 63.17 0.00 1.46 4.08

Table 5 .

 5 RBN classification accuracy (%) of signal with noise (SNR 15-25 dB)

		Recognized Modulation
	Signal Mod. AM FM	PM ASK FSK PSK QAM
	AM	74.95 4.76	6.42 0.10 0.93 0.00 12.84
	FM	0.25 25.80 66.42 0.00 0.00 0.74 6.79
	PM	0.52 35.84 50.05 0.00 11.70 0.00 1.89
	ASK	1.62 0.00	0.00 35.73 0.00 0.00 62.65
	FSK	0.09 31.58 43.05 0.00 25.20 0.00 0.08
	PSK	0.47 0.28 10.18 0.00 0.00 34.50 54.57
	QAM	0.58 0.19	0.00 0.00 0.00 16.04 83.19

Table 6 .

 6 FFN classification accuracy (%) of signal with noise (SNR 15-25 dB) 8.2 Real World Data set The real world signals were captured by SDB522RT. It is a small USB DVB-T receiver compatible with RTL-SDR library. Similar DVB-T dongles based on the Realtek RTL2832U can be used as a cheap SDR and are becoming extremely popular among electronic enthusiast. The highest theoretically possible samplerate is 3.2 MS/s in frequency range 52 -2200 MHz with a gap from 1100 MHz to 1250 MHz. As a source of FM modulated signals we have used local radio stations operating in the radio band from 88 to 108 MHz. The ASK and PSK modulations were found in signals transmitted in range from 300 MHz do 320 MHz. QAM and QPSK modulations are used in digital transmission of private security and public safety agencies around 391 MHz. The FSK modulation was not found in any received signals. The AM modulation was captured from local radio stations operating in longwave and medium wave bands. Since the SDR is unable to receive signals below 52 MHz, an RF upconverter (Ham It Up v1.3 with 125 MHz oscillator) was used to shift signal into the receiving range of SDR. Table

Table 7 .

 7 Recognized Modulation Signal Mod. AM FM ASK FSK PSK QAM AM 1.00 0.00 88.00 0.00 0.00 11.00 FM 0.07 0.00 0.75 99.11 0.07 0.00 ASK 70.44 0.00 29.59 0.00 0.00 0.00 PSK 0.00 0.00 0.00 31.07 68.93 0.00 QAM 0.00 0.00 46.23 0.00 53.77 0.00 FFN classification accuracy (%) of samples captured by SDR receiver

This work was supported by The Ministry of Education, Youth and Sports from the National Programme of Sustainability (NPU II) project "IT4Innovations excellence in science -LQ1602" and by the Grant of SGS No. SP2016/58, V ŠB -Technical University of Ostrava, Czech Republic.