1 Introduction
This paper introduces the NK Echo State Network. Enhancements are added to the Echo State Network such that the problem of learning is reduced to the problem of optimizing an NK Landscape. The binary input to the NK Landscape turns on and off a set of neurons in the enhanced Echo State Network.
The dominant learning paradigm for training neural networks involves adjusting the weights that connect artificial neurons using back propagation [14]
. Similar learning methods are also used by support vector machines: for classification problems, both methods involve optimizing vectors of weights which create and move interacting hyperplanes to produce decision surfaces that can be used to separate training examples into the appropriate classifications.
“Reservoir computing" refers to a class of neural network learning models, of which Echo State Networks is one example. Reservoir computing networks use a reservoir of sparsely connected artificial neurons that have randomly generated weighted connections. The input neurons are connected to neurons in the reservoir, and the output neurons also are connected to neurons in the reservoir. The weights inside of the reservoir of neurons are not adjusted by learning. Thus, reservoir computing has moved one step away from optimizing vectors of weights as a learning paradigm; its ability to learn depends on having a large reservoir of potentially useful neurons, and also, having a way to determine which neurons are useful. In reservoir computing, learning still involves adjusting the weights that connect artificial neurons in the reservoir to the outputs [11] [10] [13].
In the current paper, the problem of learning is recast as a “Spin Glass Problem" in which N neurons interact with K other neurons, and each neuron spins up (on) or down (off) in order to find a combination of neurons that work together to achieve the desired computation. The limitation to K interactions can make the optimization problem tractable.
For the NK Echo State Network, there exists new highly efficient optimization methods for that make it possible to know in constant time exactly which neuron to turn on or off in order to obtain an improvement in performance [1]. For special classes of NK Echo State Networks, we can prove convergence to a combination of neurons that is guaranteed to be globally optimal; an exact solution to the problem of determining which neurons to use can be obtained in polynomial time using dynamic programming [22].
The class of bounded pseudoBoolean functions are defined such that 1) the problem representation (i.e., the domain) is the set of binary strings, and 2) the output of the evaluation function (i.e., the codomain) is the set of real numbers. PseudoBoolean problems for inputs of length are bounded when the evaluation function can be decomposed into a linear combination of subfunctions, and each subfunction takes a subset of at most bits as input, where is a constant. NK Landscapes [8] [18] Spin Glass Problems [23] and MAXkSAT [9] [12] are examples of well known bounded pseudoBoolean optimization problems. All of these problems use an evaluation function of the form:
(1) 
where is the function domain and is a bit vector, and each subfunction is evaluated using a subset of bits drawn from the bit vector . When is small, each function can be expressed as a lookup table. In MAXkSAT, each subfunction is a clause in CNF form, where the size of the clause is less than or equal to . Each clause is true or false (returning 0 or 1) and the evaluation function sums over all clauses. In an NKLandscape, and each subfunction uses bit as well as additional bits as input. Thus, for NKLandscapes, and the output of subfunction can be any real valued number.
To construct an NK Echo State Network, we convert the problem of selecting which neurons to utilize into an NKLandscape optimization problem. In the current paper, we will consider an enhanced Echo State Network with a single output. One of the enhancements is to use an ensemble of outputs. A second enhancement is to add an additional layer of neurons between the reservoir and the ensemble of outputs; we will refer to this layer of neurons as the probe filter. Each neuron in the probe filter acts as a probe, sampling the reservoir so as to create a different neural circuit. Each of the neurons in the ensemble of outputs is connected to neurons in the probe filter. This use of the probe filter has some similarities to the use of filter neurons by Holzmann and Hauser in Echo State networks [6]; they use the filter neurons to add an additional layer of weight optimization. However, we have the very different purpose for the filter neurons.
The ensemble of output neurons combined with the neurons in the probe filter can be expressed as an NK Landscape optimization problem. Each of the neurons in the probe filter layer is a neural circuit; the NKLandscape is agnostic about how the neural circuits are created and needs no information about the reservoir. Each of the output neurons becomes a subfunction in the NKLandscape, and is connected to neurons (neural circuits) in the probe filter layer; a binary string of length turns on and off the neurons in the probe filter.
At most online learning samples are needed to convert a learning problem into an NKlandscape. The NK Landscape function is a lookup table which stores all of the evaluations for each of the outputs. The NKlandscape can then be optimized offline using highly efficient optimization methods. This optimization process selects the best subset of neural circuits from the probe filter layer to use for the assigned learning problem.
The transformation of the neural network training problem into an NK Landscape optimization problem represents a novel approach to learning. Given current interest in “Deep Learning" and more complex forms of neural networks, this approach to learning may have a wide range of applications.
We illustrate this new learning method by applying it to the reinforcement learning problem of balancing two poles on a cart while providing only cart position, and the two pole angles as input. This means the NK Echo State Network must learn to compute velocity information. Our empirical results shows that the NK Echo State Network not only learns rapidly, the resulting networks also produce very good generalization.
2 Background: Neural Networks and Reservoirs
In his 1987 book Neural Darwinism, G.M. Edelman advanced the idea that “group selection" acting on neurons could result in a computational form of learning. Stated concisely, a diverse set of inputs can be used to test and select for neural circuits that respond appropriately to those inputs. For example, Edelman conjectured cell death (as well as cell duplication and the development of cell axons and dendrites) might also be controlled by some form of functional selection. Reduced to its simplest form, this gives rise to a theory where learning might be achieved in a neural architecture by turning on and turning off neurons as part of an effort to identify “useful neural circuits."
In the evolutionary computation community, there is a long history of neuroevolution spanning 25 years. This work combines evolutionary optimization methods with neural networks and related machine learning methods such as support vector machines and echo state machines. Most of these methods utilize some mixture of learning the architecture of the neural network (including the number of neurons to use and how they should be connected) as well as how to learn the weights in the networks.
The dominant paradigm for training most neural networks is backpropagation, where learning almost exclusively focuses on adjusting the weights in the neural network. Much of the work in the evolutionary computation community has focused on reinforcement learning applications. These are often control problems as well. In reinforcement learning applications the evaluation of the system is based on defining the desired behavior
of the system, because it is not possible to directly know the correct actions to take in order to control the system. An additional problem is that reinforcement learning problems are often time dependent and the input data to the neural network are expressed as a time series. This means that “recurrent neural networks" are often required for reinforcement learning applications. Thus, reinforcement learning applications pose two problems for traditional gradient methods such as back propagation: 1) only the desired behavior of the system is specified, not the specific desired actions that the systems should display in response to a particular input, and 2) recurrent neural networks are not easily trained using gradient methods such as back propagation.
In the last 10 years another approach to training recurrent neural networks for reinforcement learning has focused on “reservoir computing" methods, one example of which are “echo state networks." A sparsely connected set of neurons with recurrent connections is created; the weights between this set of neurons are set randomly, typically with random values that are relatively small (e.g. less than ). This forms the reservoir. Inputs neurons are then connected to the neurons in the reservoir. Neurons in the reservoir are also connected to the output neurons. This idea is illustrated in Figure 1, where there is a single output. One of the motivations for reservoir computing is the work of Schiller and Steil [16] which shows that when gradient methods are used to training recurrent neural networks, most of the weight changes occur in the weights that connect to outputs, even if the methods are being used to change all of the weights in the network. Thus, given a large reservoir of neurons, some combinations of neurons should be more useful than others. Training methods that optimize the weights between the neurons in the reservoir and the outputs can, essentially, determine which neurons and groups of neurons are doing useful computations. In this sense, reservoir computing has connections back to Neural Darwinism and, more loosely, to neuroevolution.
This reservoir computing model addresses the problem of dealing with time dependent inputs that require recurrent neural networks. But it does not directly address the reinforcement learning problem: we still only know the desired behavior of the system, but not exactly what actions the system should display from one time step to the next. Thus, traditional error propagation methods such as Back Propagation cannot directly be used to train Echo State Networks for reinforcement applications.
One could use temporal difference methods or Qlearning methods for reinforcement learning problems. However, Gomez, Schmidhumber and Miikkulainen [4]
have shown that a wide range of methods based on these ideas do not scale up and do not work well on more difficult reinforcement learning problems. They used Qlearning with a Multilayer Perceptron that mapped stateaction pairs to Qvalues. They also compared to methods such as Sarsa(
) with Case Based Function Approximators and Sarsa() with a Cerebellar Model Articulation Controller [15]. They concluded these methods were less effective and less efficient for complex reinforcement learning tasks compared to neuroevolution based methods such as NEAT, ESP and CoSyNE [4].Methods such as NEAT [17] emphasize neuron selection and refinement; thus, NEAT (and HYPERNEAT) exploit a kind of Neural Darwinism. Methods such as ESP [3] and CoSyNE [4] focus on weight optimization for a fixed architecture.
This current paper takes the work on reservoir computing one step further: we reconfigure the learning problem so that no weight adjustment at all is used during learning. Instead, learning is accomplish using only neuron selection.
3 Implementation Details
In the current paper, we make two enhancements to the Echo State Network that enable the network to identify “useful neural circuits."
We will work with an Echo State Network with one output. The Echo State Network with one output has been enhanced by adding an ensemble of outputs, all of which compute the same output. The second enhancement is to add a probe filter layer with neurons. The neurons in the probe filter layer in effect probe the reservoir to generate different neural circuits. Each neuron of the output layer is connected to neurons in the probe filter layer. This is illustrated in Figure 2.
In the Echo State Network used here, all the weights of the network are randomly created and kept fixed during its training. During the training, only the bit vector is optimized; the vector specifies which neurons in the probe filter layer are activated or not. If , the th neuron of the probe filter is turned on, i.e., its activation is used as input for neurons in the output layer connected to it. If , the th neuron of the probe filter layer is turned off. The connectivity of the output layer to the probe filter layer must be sparse. Each neuron of the output layer receives inputs from the outputs of neurons of the probe filter layer. Following the usual definition of an NKLandscape, the th neuron of the probe filter layer is always connected to the th output neuron. In NKLandscapes, each bit in each subfunction interacts with K additional bits.
We will use both the adjacent NKLandscape model and the random NKLandscape model in our experiments. In the adjacent NKLandscape model, the th output neuron is connected to neurons , , …, of the probe filter layer. In the random NKLandscape model, the th output neuron is connected to neuron and K other random neurons of the last hidden layer. Solving the optimization problem for the random NKLandscape is NPHard. However, a polynomial time dynamic programming algorithm yields a global optimum for the adjacent NKLandscape problem [22].
Our implementation will use two neuron selection mechanisms. 1) The function indicates an architectural feature of the neural network: it returns the neuron in the probe filter layer that provides an input to the output neuron . This level of detail usually is not explicitly denoted in neural networks. But here it is an important part of the NKLandscape design. 2) The vector turns on and off neurons in the probe filter layer.
At each iteration the output of the NK neural network is given by:
(2) 
where
is a sigmoidal shaped activation function. The function
is a lookup table that returned the index of the neuron that connects to output . Assume . Thus, is the weight between the neuron in the probe filter which is also one of neurons that connects to the output neuron. is the output of neuron of the probe filter layer; finally, indicates if the neuron in the probe filter layer is currently turned on or off. If then .To see how this relates to standard neural networks, assume we defined an alternative neural network where all neurons in the probe filter are connected to every output neuron, but only of the weights that connect to a specific output neuron are nonzero. Thus a zero weight is the same as no connection. Let the alternative weight vector be denoted by . Note that the original network and the alternative network yield identical computations. Again, assume that .
Finally, assume that all of the bits in vector are set to 1 so that all of the neurons in the probe filter layer are on: we then obtain a standard neural activation function:
3.1 Mapping to an NKLandscape
In the neural network investigated here, every output neuron is evaluated independently. This is because we want the set of outputs to operate as an ensemble. Because the weights of the network are fixed, the evaluation of the output neuron for a given problem depends only on the binary vector and on the function .
We denote the evaluation of the output neuron as ; we can assume function will automatically implement when passed an input of length . It is also convenient to assume that can also take an input of length ; thus if uses to extract the bit pattern from vector .
For example, assume and . Also assume that the “on/off" pattern of the 4 neurons used by output neuron number 19 is given by 0101. Then evaluates the behavior of the network at output neuron 19 when then the 1st and 3rd neuron that feed into output 19 are turned off, and the 2nd and 4th neurons are turned on. A single number is stored representing the performance of output neuron 19 for using the first and third neuron. For an output neuron , the performance is recorded for every possible “on/off" pattern over the neurons to which it connects in the probe filter. The results in a lookup table of performance evaluations with entries for each subfunction .
This is repeated for each of the output neurons. Thus, the total number of Echo State Network evaluations will always be exactly (unless there is some overlap in the computation of the subfunctions that would allow some of them to be evaluated in parallel).
We optimize the function in order to maximize when summed across all of the outputs of the Echo State Network. Thus, for the combined outputs, the evaluation function is:
(3) 
The evaluation function given by Eq. 3 is exactly the same evaluation function used in the NK landscapes. In this way, optimizing the enhanced Echo State Network is equivalent to optimizing an NK landscape.
The algorithms for training the enhanced Echo State Network using NK landscape optimization methods are given in the following descriptions.
Algorithm 1:
 i.

Create an artificial neural network with at least one hidden layer. The last hidden layer is the probe filter. The matrix defines the connectivity between the neurons of the probe filter and the neurons in the output layer.
The connections between the ensemble of outputs and the probe filter layer are determined by which has exactly ones (indexed by ) defined according to the NK neighborhood model (adjacent or random); the neurons selected by feed into output . All the weights and thresholds of the are random. A vector is used to turn on or off the neurons in the probe filter layer.
 ii.

Evaluate each output neuron of for all combinations of the elements of vector used by the output neuron. Since each output is connected to neurons, there are combinations for each output. Thus, we need total evaluations to evaluate all subfunctions . For example, if , and the adjacent neighborhood model is used, then the subfunction uses . Thus, the first output is evaluated for all eight combinations of : 000, 001, 010, …, 110, 111.
 iii.

Save . Also, save and the individual performance evaluations for all combinations of the elements of vector used by the output neuron.
Algorithm 2:
 i.

Load and all of the subfunctions corresponding to .
 ii.

Create an NK model with and the subfunctions .
 iii.

Optimize the NK model by optimizing the vector .
 iv.

Save the best decision vector .
Algorithm 3:
 i.

Load the artificial neural network created in Algorithm 1 and the best decision vector found in Algorithm 2.
 ii.

Evaluate with vector . The signal employed to reproduce the output of the mapped function is composed by a weighted combination of the outputs , , of the neural network.
4 The Experiments
In order to test the methodology proposed in this work, the NK Echo State Network is applied to the double pole balancing problem without velocity information [21]. Two poles of different length are attacked to a cart that moves on a track of fixed length. Both poles are balanced by pushing the cart to the left or to the right. The force of the push is allowed to vary. In this problem, the inputs of the artificial neural network at step are composed by scaled cart position and angles of the two poles at step , i.e., the input vector
where is the cart position, is the angle of the th pole, and and
are the maximum allowed values used to scale the inputs between 1 and +1. All neurons use the hyperbolic tangent function with outputs between 1 and +1 as the sigmoidal squashing function. Since velocity information is not given as input, the recurrent Echo State Network is needed to learn to estimate velocity.
In Algorithm 1, each output of the network is independently evaluated. The action (in Newtons) applied to the cart at iteration when evaluating the th output for solution is given by:
(4) 
The following objective function was introduced by Gruau, Whitley and Pyeatt [5] and has been regularly used for the problem of balancing two poles on a cart by a significant number of researchers [17, 2, 7].
(5) 
where is the number of steps inside the success domain until a limit of 5000 steps and
(6) 
and
(7) 
The track length is given by meters; beyond this range the cart crashes into the ends of the track. The system must keep both poles within degrees of vertical. The function indicates that the cart and pole system has avoided a failed state (where a pole falls, or the cart crashes) for time steps. However, for small values of ( has been standard) a bangbang control strategy might be learned that causes the system to become more unstable over time; even if the controller avoids failure for time steps, the system will become more unstable and eventually fail when the system is run for more than time steps. The second function indicates the stability of the system during the last 100 time steps if . A higher value of means that the system is staying close to the idea state: close to the center of the track, with small pole angles close to vertical, and with low velocities which means the poles and the cart are not rapidly changing from one extreme state to another. The value was established by tuning the original Cellular Encoding
network, which was the first neural network to solve this optimization task in 1996; the use of the 0.75 value is probably now meaningless, but it persists for historical and comparative reasons.
For the evaluation of in Algorithm 1, the systems always starts from the state and degrees. The parameters of the double pole system used here are [2]: mass of cart equal to 1 kg, mass of pole 1 equal to 0.1 kg, mass of pole 2 equal to 0.01 kg, length of pole 1 equal to 1 m, length of pole 1 equal to 0.1 m, coefficient of friction of the cart on the track equal to 0.0005, coefficient of friction of the poles equal to 0.000002. The 4th order RungeKutta method with integration step equal to 0.01 was used.
Evaluation  Generalization Test  

Best Single Output  Best Single Output  Ensemble  
N=20  mean std  mean std  Bestof100  mean std  Bestof100  
Adjacent  2  0.12 0.01  241 128  550  229 160  525 
3  0.12 0.01  231 134  604  304 154 (s)  525  
4  0.12 0.01  244 137  525  321 151 (s)  525  
5  0.13 0.01  235 142  525  377 126 (s)  575  
6  0.13 0.01  227 133  544  339 144 (s)  575  
7  0.13 0.01  253 141  550  362 137 (s)  588  
8  0.14 0.01  236 144  550  389 110 (s)  575  
Random  2  0.12 0.01  243 151  623  232 152  520 
3  0.12 0.01  245 131  569  298 156 (s)  525  
4  0.12 0.01  278 142  577  323 145 (s)  575  
5  0.13 0.01  252 145  575  318 161 (s)  532  
6  0.13 0.01  269 142  535  348 149 (s)  575  
7  0.13 0.01  220 145  544  369 141 (s)  600  
8  0.14 0.02  204 148  614  377 146 (s)  573 
4.1 Empirical Results
We present the results for the NK Echo State Network presented in Figure 2 with , i.e., the number of neurons in the output layer. The number of neurons in the probe filter layer was also . We tested seven values for the connectivity degree between the last hidden layer and the output layer: . Both the random neighborhood NK Landscape model was tested, as well as the adjacent neighborhood NK Landscape model.
In reservoir computing, there are recurrent connections between neurons. The connectivity density () for each reservoir is 10, i.e., each neuron in the reservoir has recurrent connections to 10 of the neurons in the reservoir. All weights of the NK Echo State Network are fixed, being randomly generated between [0.6 , 0.6]. After the initialization, the recurrent weights in each reservoir are scaled with a spectral radius equal to 0.95. All neurons use the hyperbolic tangent function as the activation function.
The number of runs is 100. In each run, Algorithm 1 is used to compute the individual fitness contributions . Thus, the NK Echo State Network is generated and each output is evaluated using Eq. 5 for all possible combinations of the elements of vector used by the th output neuron. Then, Algorithm 2 is used to obtain the best solution for the evaluation given by Eq. 3.
We can use various methods to optimize the NK landscape; for the adjacent neighborhood landscape model, we can use we use dynamic programming to find the global optimum in polynomial time. For the random neighborhood landscape model, we can use new fast Local Search algorithms [19] [1] to search the radius neighborhood; this algorithm is able to identify improve moves that are steps ahead in constant time. When many local minima are eliminated that exist in the Hamming distance 1 local search neighborhood. When is small (e.g. ) we can also use exhaustive enumeration to find the global optimum.
Finally, Algorithm 3 is employed to evaluate the NK Echo State Network with the combined outputs acting as an ensemble. The output of the ensemble at step is given by:
(8) 
where is the input vector of the neural network at step , is the solution vector obtained by Algorithm 2, is the output of the neural network and the weight is given by
(9) 
i.e., the outputs with better results have higher weights. This amounts to a simple form of learning where the weights are set once to combine the ensemble into a single output. The action to the cart at step is:
(10) 
The ensemble is evaluated using the generalization test proposed in [20]. In this generalization test, the ensemble is evaluated 625 times, each time with different initial settings for cart position, cart velocity, pole 1 angle, and pole 1 velocity. The initial pole 2 angle and velocity are always zero. The combination of five different initial settings for each variable is considered: 5, 25, 50, 75, and 95% of a reduced range of the variables. The reduced range is between 2.14 and 2.14 m for cart position, 1.35 and 1.35 m/s for cart velocity, 3.6 and 3.6 degrees for pole 1 angle, 8.6 and 8.6 degrees/s for pole 1 velocity. The evaluation of the generalization test is the number of times that the system remains in the success domain after 1000 steps.
Table 1 shows the results of experiments where the adjacent and random NK models were considered. The reservoir utilizes 60 neurons. The results of the generalization test for are given in the column indicated as “Ensemble”, while “Best Single Output” indicates the best single value of among the possible performance values obtained in Algorithm 1. The results of the generalization test shows that on average the ensemble generally yields better generalization than the best single output neuron. The column marked “Bestof100" shows the generalization of the best NK Echo State Network out of the 100 that were generated.
Evaluation  Generalization Test  

Best Single Output  Best Single Output  All 100  The “Top 20"  
mean std  mean std  Bestof100  mean std  best  mean std  Bestof100  
2  0.13 0.01  239 137  525  324 115  525  451 79 (s)  525 
3  0.13 0.01  278 141  566  396 109  525  478 56 (s)  586 
4  0.13 0.01  238 151  574  437 84  525  490 48 (s)  575 
5  0.14 0.01  231 147  533  433 84  525  489 54 (s)  599 
6  0.14 0.01  260 160  625  462 69  525  494 46 (s)  599 
7  0.15 0.01  206 150  550  468 63  575  498 48 (s)  612 
8  0.16 0.02  183 139  545  480 57  525  504 47 (s)  614 
From Table 1 we can see that Ensemble regularly produces generalization results that are significantly better than the generalization results associated with the “Best Single Output" neuron. The Wilcoxon signed rank test (at the 0.05 significance level) was used to compare the generalization results. We note that the generalization results for the “Best Single Output" were much better than we expected given that the only “learning" that was done was to pick the best of configurations of neurons in the probe filter layer. Table 1 also shows there is little or no difference between using the random NK Landscape model and the adjacent NK Landscape model. This means that the adjacent NK Landscape model provides sufficient diversity in neural circuits while still being regular enough to be solved in polynomial time.
In terms of performance, any Evaluation above 0.10 means that the poles are being balanced for steps. In this sense, learning was successful for all values of . The mean evaluation of the output neurons increased as increased. This means that the pole and cart have less change in position and velocity over time, and thus, the system is more stable. It is also clear that “Generalization" improves as is increased. Recall that generalization tests are executed over 625 start states. When , the generalization results ranges from a mean of 229/625 when to 389/625 when for the Adjacent NK Landscape model. A score of 625 would mean that the system was able to control the system from every possible start state in the generalization test suite; results in Table 1 show this is possible (K=6, Best Single Output, Bestof100).
The variance for the generalization is high, ranging from a standard deviation of 110 to 160 for the Adjacent NK Landscape model. The results are very similar for the Random NK Landscape model. This high variance means that some NK Echo State Networks are very much above average and doing an extremely good job at generalization, while other NK Echo State Networks are very much below average. The column marked “Bestof100" shows that the best networks can achieve very good generalization: a few of the “Bestof100" NK Echo State Networks have generalization results above 600.
4.2 Using a Larger Ensemble
We next asked what happens when is increased to These results are shown in Table 2; only the Adjacent NK Landscape model is used. All of the runs were again successful at balancing the two poles. The difference lies in the generalization. With we now see the average generalization improve to over 400 out of the 625 start states; in addition, the standard deviation reduces to below 85.
As has already been noted, generalization improves as either or increases. This of course has a cost, since constructing the NKLandscape has cost of . The results labeled “All 100" in Table 2 includes all 100 outputs in the ensemble.
We also considered one more strategy to improve generation. This strategy included no additional evaluations. After the probe filter has been optimized by turning on and off neurons, we checked the behavior of the 100 output nodes in the ensemble on the evaluation function, and selected the “Top 20" best outputs to create the ensemble.
These results are also shown in Table 2 and are labeled the “Top 20." As the results show, this again increases generalization at virtually zero additional cost.
Number of  
Algorithm  Feedward Steps  Generalization 
CE 1996 [5]  840,000  300 
ESP 1999 [3]  169,000  289 
ESP 2008 [4]  26,342  Not Reported 
NEAT 2002 [17]  33,184  286 
NEAT 2008 [4]  6,929  Not Reported 
CoSyNE 2008 [4]  3,416  Not Reported 
N=20, K=3  320  304 
N=20, K=5  1,280  377 
N=100, K=2, Top 20  800  450 
N=100, K=3, Top 20  1,600  487 
N=100, K=4, Top 20  3,200  490 
4.3 Comparative Results
Recent papers have focused more on the number of evaluations needed to achieve “successful learning" and less on the generalization of the neural network. However, in the end it is generalization that is important if the learned solution is going to be useful. In Table 3 various results are reported from a number of papers published over the last 18 years for the double pole balancing problem when no velocity information is provided as input. One can observe a dramatic improvement in the ESP algorithm between the years 1999 and 2008. Likewise NEAT shows considerable improvement between 2002 and 2008.
Methods such as ESP and CoSyNE depend on having a predefined and fixed architecture; almost a decade of experience solving the double pole balancing problem with no velocities surely makes it easy to select a suitable compact neural network architecture such that the problem is reduced to just learning the weights. But this also exploits more human experience in configuring the neural network.
Here, we report results for the NK Echo State Network for configurations that keep the number of evaluations under 4000. Using just 320 evaluations, the NK Echo State Network with and yields an average generalization of 304 successes from the 625 possible start states. This level of generalization is similar to results reported in the earlier literature. But the number of evaluations is very low. Better generalization was achieved by setting and and then selecting the “Top 20" outputs to be included in the ensemble. This configuration used 1600 evaluations, but the NK Echo State Network was able to successful balance the double pole from 478 of the 625 start states on average. If generalization is important, the best networks can be selected after multiple runs.
Finally, it should be noted that the NK Echo State Network does not use an architecture that is specific to this problem. Theoretically, exactly the same architecture could be used to make stock market predictions, or any other learning application where an Echo State Network might be used. In the sense, the same reservoir can be reused to solve very different machine learning problems by reconfiguring the probe filter layer.
5 Conclusions
The problem of training an enhanced Echo State Network has been converted into the problem of optimizing a spin glass system in the form of NK Landscape. Learning is accomplished by turning on and off neurons in a probe filter layer. The probe filter is a layer of hidden units that is inserted between the reservoir of the Echo State Network and the output neurons. The neurons in the probe filter layer are not recurrent, but are connected to recurrent neurons in the reservoir.
A well known reinforcement learning benchmark was investigated that requires a single output neuron was used to test the NK Echo State network. An additional enhancement of the Echo State Network was the use of an ensemble of N outputs, all of which attempt to learn the same decision function. The ensemble is combined to yield a single output.
Our empirical results show that the resulting “NK Echo State Network" is able to learn the control task of balancing two pole on a fixed track with no velocity information. Learning was faster than other results that have been reported in the literature. Furthermore, generalization improved as N and K were increased.
The approach of using “neuron selection" to learn instead of adjusting weight vectors represents a novel approach to training neural networks. With the current interest in “Deep Learning," this methods may find additional applications in training other types of complex neural networks.
6 Acknowledgments
This work was supported by FAPESP and CNPq in Brazil, the Air Force Office of Scientific Research, Air Force Materiel Command, USAF (under grant FA95501110088), project number 8.06/5.47.4142 of Universidad de Málaga in collaboration with the VSBTechnical University of Ostrava, UMA/FEDER FC14TIC36, Universidad de Málaga, Campus de Excelencia Internacional Andalucía Tech and the Spanish Ministry of Education (grant CAS12/00274). The U.S. Government is authorized to reproduce and distribute reprints for Governmental purposes.
References
 [1] F. Chicano, D. Whitley, and A. Sutton. Efficient identification of improving moves in a ball for pseudoboolean problems. In Genetic and Evolutionary Computation Conference, 2014.
 [2] P. Dürr, C. Mattiussi, and D. Floreano. Neuroevolution with analog genetic encoding. In Parallel Problem Solving from NaturePPSN IX, pages 671–680. Springer, 2006.
 [3] F. Gomez and R. Miikkulainen. Solving NonMarkovian Control Tasks with Neuroevolution. In IJCAI. Morgan Kaufmann, 1999.

[4]
F. Gomez, J. Schmidhuber, and R. Miikkulainen.
Accelerated neural evolution through cooperatively coevolved synapses.
Journal of Machine Learning Research, 9:937–965, 2008.  [5] F. Gruau, D. Whitley, and L. Pyeatt. A comparison between cellular encoding and direct encoding. In Genetic Programming Conference, 1996.
 [6] G. Holzmann and H. Hauser. Echo state networks with filter neurons and a delay&sum readout. Neural Networks, 23:244–256, 2010.
 [7] F. Jiang, H. Berry, and M. Schoenauer. Supervised and evolutionary learning of echo state networks. In Parallel Problem Solving from Nature–PPSN X, pages 215–224. Springer, 2008.
 [8] S. A. Kauffman. The origins of order: Selforganization and selection in evolution. Oxford university press, 1993.
 [9] S. Kirkpatrick and B. Selman. Critical behavior in the satisfiability of random boolean expressions. Science, 264:1297–1301, 1994.
 [10] M. Lukoševičius. A practical guide to applying echo state networks. Neural Networks: Tricks of the Trade, LNCS 7700, pages 659–686, 2012.
 [11] M. Lukoševičius and H. Jaeger. Reservoir computing approaches to recurrent neural network training. Computer Science Review, 3(3):127–149, 2009.

[12]
D. Mitchell, B. Selman, and H. Levesque.
Hard and easy distributions of SAT problems.
In
Proceedings of the 10th National Conference on Artificial Intelligence
, 1992.  [13] M. Ozturk, D. Xu, and J. Principe. Analysis and design of echo state networks. Neural Computation, 19(1):111–138, 2007.
 [14] D. Rummelhart, R. Durbin, R. Golden, and Y. Chauvin. Backpropagaton: the basic theory. In Backpropagation: Theory, Architectures and Applications, pages 1–34. Lawrence Erlbaum, 1995.
 [15] J. Santamaria, R. Sutton, and A. Ram. Experiments with reinforcement learning in problems with continuous stte and actions spaces. Adaptive Behavior, 6(2), 1998.
 [16] U. Schiller and J. Stein. Analyzing the weight dynamics of recurrent learning algorithms. Neurocomputing, 63:5–23, 2005.
 [17] K. Stanley and R. Miikkulainen. Efficient reinforcement learning through evolving neural network topologies. In Genetic and Evolutionary Computation Conference (GECCO), pages 569–577. Morgan Kaufmann, 2002.
 [18] M. Tomassini, S. Verel, and G. Ochoa. Complexnetwork analysis of combinatorial spaces: The nk landscape case. Physical Review E, 78:066114, 2008.
 [19] D. Whitley and W. Chen. Constant time steepest descent local search with lookahead for NKlandscapes and MAXkSAT. In Genetic and Evolutionary Computation Conference, pages 1357–1364, 2012.
 [20] D. Whitley, S. Dominic, R. Das, and C. W. Anderson. Genetic reinforcement learning for neurocontrol problems. In J. J. Grefenstette, editor, Genetic Algorithms for Machine Learning, pages 103–128. Springer US, 1994.
 [21] A. P. Wieland. Evolving neural network controllers for unstable systems. In Proc. of the 1991 International Joint Conference on Neural Networks (IJCNN), volume 2, pages 667–673. IEEE, 1991.
 [22] A. H. Wright, R. K. Thompson, and J. Zhang. The computational complexity of NK fitness functions. IEEE Transactions on Evolutionary Computation, 4(4):373–379, 2000.
 [23] A. Young. Spin Glasses. J. of Statistical Physics, 34:871–881, 1984.