Automated tuning of a stochastic spiking neural network for solving a combinatorial optimization problem

The ABC-BA method automates the tuning of stochastic spiking neural networks by using accountant bees to select optimal parameters, addressing the challenges of manual tuning and local minima, and achieving efficient solutions for large-scale optimization problems.

WO2025062166A1PCT designated stage expired Publication Date: 2025-03-27TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
PCT/IB2023/059246
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-09-18
Publication Date
2025-03-27

AI Technical Summary

Technical Problem

Existing neuromorphic methods require manual tuning of stochastic spiking neural networks (SSNNs) for specific optimization problems, which is time-consuming and prone to getting stuck in local minima, especially for large-scale combinatorial optimization problems.

Method used

The proposed method, ABC-BA, uses an artificial bee colony algorithm with accountant bees to automatically tune the parameters of SSNNs. Accountant bees keep track of previous evaluations and use kernel density estimators to select the best candidate parameters, improving exploration, exploitation, and robustness to stochasticity.

Benefits of technology

The ABC-BA method effectively tunes SSNNs to find good solutions efficiently, avoiding local minima and improving the time to solution for large-scale combinatorial optimization problems, such as edge user allocation and MIMO signal detection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IB2023059246_27032025_PF_FP_ABST
    Figure IB2023059246_27032025_PF_FP_ABST
Patent Text Reader

Abstract

A computer-implemented method (200) for automated tuning of a stochastic spiking neural network (SSNN) for solving a combinatorial optimization problem (COP). The method includes (i) defining (205) a set of features of the COP. The method further includes (ii) building (210) the SSNN with an architecture based on the defined COP feature set. The method further includes (iii) selecting (215) a tunable set of parameters of the SSNN based on the architecture. The method further includes (iv) tuning (220) the selected tunable set of parameters using an artificial bee colony - accountant bee (ABC-BA) model. The method further includes (v) implementing (225) the SSNN using the tuned set of parameters. The method further includes (vi) evaluating (230) the performance of the SSNN to determine whether a pre-determined criteria for solving the COP is met. The method further includes (vii) repeating (235) steps (iv) to (vi) until the performance meets the pre-determined criteria. The method further includes (viii) obtaining (240) the solution for solving the COP.
Need to check novelty before this filing date? Find Prior Art

Description

AUTOMATED TUNING OF A STOCHASTIC SPIKING NEURAL NETWORK FOR SOLVING A COMBINATORIAL OPTIMIZATION PROBLEM TECHNICAL FIELD

[0001] Disclosed are embodiments related to automated tuning of a stochastic spiking neural network for solving a combinatorial optimization problem. BACKGROUND

[0002] Telecommunication networks are evolving to provide limitless connectivity and enable latency sensitive applications (e.g., augmented reality, cloud gaming, etc..) through intelligent network platforms. The network platform would rely on heterogeneous compute accelerators in the edge to cloud continuum to meet the diverse requirements of future applications. Metrics, such as energy efficiency, for problems underpinning future applications might require neuromorphic hardware inspired by the human brain, which has roughly the same number of transistors as in the modern supercomputer, but it consumes less than 30W.

[0003] Neuromorphic hardware tends to be substantially more power efficient by imitating the aspects of computations in networks of neurons in the brain. It features massive parallelism, co-location of processing and memory at the neurons and synapses, inherent scalability, temporally sparse event-driven computation, and stochasticity. It implements a simple fixed-function leaky integrate and fire neuron model or complex and configurable neuron models with on-chip learning. The neurons are implemented on in-order cores or with special processing units that are attached to SRAM in a distributed manner to store synapses. These neuromorphic cores are connected using network-on-chip (NoC) for efficient exchange of spike messages among them. However, these NoCs are limited in providing the massive level of interconnection of the human brain. See Christensen, Dennis V., et al. “2022 roadmap on neuromorphic computing and engineering.” Neuromorphic Computing and Engineering 2.2 (2022): 022501.

[0004] Such hardware has exhibited energy efficiency when used for tasks, such as keyword spotting, medical image analysis, object detection, graph partitioning, vertex cover, random walks, constraint satisfaction and quadratic unconstrained binary optimization. There exists many combinatorial optimization problems in the telco network, such as: 1) allocating P108803WO01 (3602-2787WO1) 1baseband resource pool over the cloud and VMs from a set and minimizing the number of VMs while satisfying all instances of the virtual functions; 2) allocating the physical cell identifier (PCI); 3) offloading user tasks to the edge servers in an efficient manner; 4) offloading UEs to micro base stations within the coverage area of a macro cell to improve the quality of service; 5) channel allocation problem and its variants; and 6) maximum likelihood SOFT MIMO detection. These problems can be solved on quantum computer and Ising machines to improve the time to solution only.

[0005] Existing neuromorphic methods would require hand-constructing a stochastic spiking neural network for a specific optimization problem, such as the one for edge user allocation (see Petersson Steenari, Kim. “A neuromorphic approach for edge use allocation.” (2022)) or transforming the underlying integer linear problem to QUBO formalism (see U.S. Patent No. 10,691,771) and mapping the resulting QUBO to stochastic spiking neural network (see “Quadratic Unconstrained Binary Optimization (QUBO) with Lava” https: / / github.com / lava-nc / lava- optimization / blob / release / v0.2.0 / tutorials / tutorial_02_solving_qubos.ipynb; and “GraphNeuromorphic Hardware” https: / / dl.acm.org / doi / 10.1145 / 3354265.3354269. The parameters of the SSNN are typically (see Petersson Steenari, Kim. “Aneuromorphic approach use (2022); Jonke, Zeno, Stefan Habenschuss, and Wolfgang Maass. “Solving constraint satisfaction problems with networks of spiking neurons.” Frontiers in neuroscience 10 (2016): 118; and Fonseca Guerra, Gabriel A., and Steve B. Furber. “Using stochastic spiking neural networks on spinnaker to solve constraint satisfaction problems.” Frontiers in neuroscience 11 (2017): 714) and the network is prone to get stuck in the local minima. With valid parameters the network will, due to the continuous sampling of the energy function, find the solution given enough time. It is therefore essential to find an automated tuner that can optimize the network by finding parameters that give valid and good solutions within the allotted time. One way is use QUBO mappings with different leak values for the same QUBO matrix and run simulated annealing classically to avoid the local minima. See Graph Partitioning as Quadratic Unconstrained Binary Optimization (QUBO) on Spiking Neuromorphic Hardware https: / / dl.acm.org / doi / 10.1145 / 3354265.3354269. P108803WO01 (3602-2787WO1) 2

[0006] Training regular (non-stochastic) spiking neural networks has been extensively studied. Examples of this include Spike-Timing-Dependent Plasticity with reinforcement learning, evolutionary algorithms (see Schuman, Catherine D., et al. “Evolutionary optimization for neuromorphic systems.” Proceedings of the Neuro-inspired Computational Elements Workshop. 2020; Pavlidis, N. G., et al. “Spiking neural network training using evolutionary algorithms.” Proceedings. 2005 IEEE International Joint Conference on Neural Networks, 2005.. Vol. 4. IEEE, 2005; and Altamirano, José S., et al. “Comparing Evolutionary Strategy Algorithms for Training Spiking Neural Networks.” Res. Comput. Sci. 96 (2015): 9-17) and swarm-based algorithms (see Vazquez, Roberto A., and Beatriz A. Garro. “Training spiking neural models using artificial bee colony.” Computational intelligence and neuroscience 2015 (2015): 18-18; and Vazquez, Roberto A. “Training spiking neural models using cuckoo search algorithm.” 2011 IEEE Congress of Evolutionary Computation (CEC). IEEE, 2011). The metaheuristics swarm intelligence algorithms constitute the desired simple, general and explorational search strategies. With the artificial bee colony method (see Vazquez, Roberto A. “Training spiking neural models using cuckoo search algorithm.” 2011 IEEE Congress of Evolutionary Computation (CEC). IEEE, 2011), multiple attempts at improving it focus on modifying the bees’ flight, fitness, function, recruitment strategy, etc. In Wang, Chunfeng, Pengpeng Shang, and Peiping Shen. “An improved artificial bee colony algorithm based on Bayesian estimation.” Complex & Intelligent Systems 8.6 (2022): 4971-4991, a Bayesian estimator has been used in the ABC algorithm to improve the recruitment strategy of onlooker bees.

[0007] Compared with regular neural networks, the stochastic event-based nature of SNNs does not allow for regular training methods, such as backpropagation — as no classical derivative can be calculated. And while there exist SNN-alterations to backpropagation (see, e.g., Bohte, Sander M., Joost N. Kok, and Johannes A. La Poutré. “SpikeProp: backpropagation for networks of spiking neurons.” ESANN. Vol. 48. 2000), they seem more often used for feed- forward networks rather than special-topology networks more akin to dynamic systems. SUMMARY

[0008] Three distinct requirements necessary for successful tuning of stochastic spiking neural networks are: 1) improved local exploitation; 2) resourcefulness with evaluated results; P108803WO01 (3602-2787WO1) 3and 3) robustness to the results’ inherent stochasticity. Bayesian aspects can provide improvements for these three requirements. However, the Bayesian aspects in Wang, Chunfeng, Pengpeng Shang, and Peiping Shen. “An improved artificial bee colony algorithm based on Bayesian estimation.” Complex & Intelligent Systems 8.6 (2022): 4971-4991, only implicitly affect the first requirement. Since the second and third requirements are uniquely stemming from the stochastic spiking neural network, the need for a specialized tuning method with a different approach to Bayesian incorporation remains. As the ABC algorithm tends to exhibit favorable qualities, such as faster time to solution, greedy search feature, and strong global convergence (see Hemeida, Ashraf Mohamed, et al. “Nature-inspired algorithms for feed- forward neural network classifiers: A survey of one decade of research.” Ain Shams Engineering Journal 11.3 (2020): 659-675), the ABC algorithm was selected as the base tuning framework for stochastic spiking neural network and incorporates aspects of the Tree Structured Parzen Estimator algorithm (see Bergstra, James, et al. “Algorithms for hyper-parameter optimization.” Advances in neural information processing systems 24 (2011)). While retaining the recruitment strategy of the ABC algorithm, exemplary embodiments of the method of the present disclosure improve the search strategy of the onlooker bees.

[0009] Artificial Bee Colony Algorithm

[0010] The artificial bee colony (ABC) algorithm is a nature-inspired swarm-based method meant to mimic the strategy bees use to find food (see Karaboga, Dervis. An idea based on honey bee swarm for numerical optimization. Vol. 200. Technical report-tr06, Erciyes university, engineering faculty, computer engineering department, 2005), and has been applied when tuning stochastic neural networks for classification tasks (see Vazquez, Roberto A., and Beatriz A. Garro. “Training spiking neural models using artificial bee colony.” Computational intelligence and neuroscience 2015 (2015): 18-18). The ABC algorithm has three types of workers: employed, onlookers and scouts. The employer bees are all tied to a food source – i.e., a solution -- and recruit onlookers to exploit that food source. The better a food source appears the more onlookers are recruited. The employed bee applies a greedy selection process when trying a new food source and internally keeps track of its currently best solution. To avoid stagnation, each employed bee has an internal “abandonment counter” and, after a few iterations of not finding an improvement, that food source is considered depleted. The employed bee then P108803WO01 (3602-2787WO1) 4instead becomes a scout bee and randomly chooses a new solution in the solution space, resetting its abandonment counter.

[0011] Initialization of the ABC algorithm consists of randomly placing ^^employer bees. Afterwards follows an arbitrary number of iterations, each consisting of employer, onlooker, and scout phase. The employer phase involves each employer bee trying a new solution, where that solution ^^^is generated as follows ^^^= ^^+ ^^^^^− ^^^^ (1)

[0012] Where ^^^is ^^^element of employer bee ^′^ solution, ^ is a uniformly sampled value, ^ ∈^1, … , ^^\^ and ^ ∈^1, … , ^^^^^^^. Greedy selection is then applied and, if the new solution is superior, the abandonment counter is reset. A fitness score is assigned to each employed bee’s solution. For a minimization problem with objective !, a fitness function could be created as: $^^(⃗ ^! !^^ ≥ 0,!^"^^ = #$%& '$ (2)

[0013] To attractbased on the hive’s total fitness, / 0=&^^^'(⃗1∑45 &^^^('⃗3(3)

[0014] Eachbased on the computed probabilities. The onlooker bees search, evaluate, and apply greedy selection similarly to the employer phase. This structure ensures good solutions are prioritized for exploitation. The last step in each iteration is to check whether any employed bee’s abandonment counter is over a set threshold ^6. If that is the case, that employer bee’s solution is randomly reassigned and the abandonment counter reset.

[0015] Certain challenges presently exist. For example:

[0016] The parameters of the SSNN are typically manually tuned (see Petersson Steenari, Kim. “A neuromorphic approach for edge use allocation.” (2022); Jonke, Zeno, Stefan Habenschuss, and Wolfgang Maass. “Solving constraint satisfaction problems with networks of spiking neurons.” Frontiers in neuroscience 10 (2016): 118; and Fonseca Guerra, Gabriel A., P108803WO01 (3602-2787WO1) 5and Steve B. Furber. “Using stochastic spiking neural networks on spinnaker to solve constraint satisfaction problems.” Frontiers in neuroscience 11 (2017): 714), limiting the size of problem instance when solved on the neuromorphic hardware to yield a good quality solution.

[0017] Spike-timing-dependent plasticity (STDP) would likely struggle as there exists multiple recurrent connections in SSNNs, leading to epileptic behavior as synaptic strengths grow indefinitely.

[0018] Using simulated annealing to tune the parameters, such leak of the spiking neurons (see Graph Partitioning as Quadratic Unconstrained Binary Optimization (QUBO) on Spiking Neuromorphic Hardware https: / / dl.acm.org / doi / 10.1145 / 3354265.3354269) would not scale with the number of parameters, as it involves evaluating each randomly generated set of parameters for the SSNN on the neuromorphic hardware.

[0019] Evolutionary algorithms that create, heavily change, or break synapses would not work as each synaptic connection in the SSNN is vital and encodes part of the network’s function. As such, the tuning is rather fine grained and restricted to certain a set of parameters only.

[0020] The ABC algorithm is not resourceful with all evaluations, each employed bee only keeping its best solution in memory. For the SNN, a lot of information is contained within the failed evaluations. Some regions of the solution-space completely break the SNN by shifting the energy function too much, perhaps placing the energy function minima in states corresponding to constraint-breaking solutions. The algorithm should preferably avoid excessive evaluation of these regions. Additionally, the performance of the SNN is stochastic and ABC has no real way to deal, or interpret, stochasticity.

[0021] A shortcoming of TPE is getting stuck in false minimum, as the true minimum might have been missed by the initial iterations or if a large part of datapoints building α(ρ) are clustered around the false minima. This is more apparent when the minima are far apart, and an example of this is seen in FIGS. 1A and 1B. FIG. 1A is a series of graphs 100 illustrating an example of how the Tree Structure Parzen Estimator (TPE) algorithm, for initial distributions, might get stuck in local minima. FIG. 1A illustrates the initial distributions 105, 110, 115, and 120. FIG. 1B is a series of graphs 150 illustrating an example of how the Tree Structure P108803WO01 (3602-2787WO1) 6Parzen Estimator (TPE) algorithm, after ~50 iterations, might get stuck in local minima. FIG. 1B illustrates the distributions 155, 160, 165, and 170 after ~50 iterations.

[0022] To tune the stochastic spiking neural network representing the combinatorial optimization problem in, for example, a communication network, such as for edge user allocation, embodiments disclosed herein provide a method -- ABC-BA -- that trades exploration for exploitation, resourcefulness, and generality to the evaluation’s stochastically over- or underperformance.

[0023] In the ABC-BA method, the onlookers are replaced with accountant bees, which keep track of all earlier evaluations of SSNN trying to find a good candidate set of parameters locally to the employer bee they are assigned to. This is achieved by continuously adding the results from all tested sets of parameters and the corresponding SSNN evaluations to a dataset.

[0024] The accountants, when assigned to an employer bee, splits the larger dataset into a smaller dataset containing a fraction of the solutions closest to the employer bee’s current solution. With these smaller datasets, all belonging to an employer bee, the information within the dataset is used during each iteration to create probability density functions using a kernel density estimator with gaussian kernels. The accountants sample the parameters from these distributions, and select the best candidate set of parameters that would maximize the expected improvement. The expected improvement is computed using a computationally cheap surrogate function and the best candidate set of parameters is used for the evaluation of SSNN on the neuromorphic hardware (or simulated on the CPU, GPU, FPGA, and / or other Von- Neumann architectures) and the local dataset is updated with the computed results. Once the tuning process completes, the ABC-BA method returns the tuned parameters with the highest score from the parameter-space region with the densest collection of top performing parameters.

[0025] The ABC-BA method is capable of tuning the parameters of stochastic spiking neural networks representing the combinatorial optimization problems, such as, for example, edge user allocation. In embodiments of the ABC-BA method disclosed herein, the onlookers in the ABC scheme are replaced with accountant bees, which keep track of all earlier evaluations of SSNN on the neuromorphic hardware, trying to find a good candidate set of parameters locally to the employer bee they are assigned to. This is achieved by continuously P108803WO01 (3602-2787WO1) 7adding the results from all tested sets of parameters and the corresponding SSNN evaluations to a dataset.

[0026] In embodiments of the ABC-BA method disclosed herein, each accountant bee builds a local subset of data from the global dataset, containing the of sets of parameters closest (Euclidean distance) to the set of parameters of corresponding employer bee, and split it into good and bad local datasets based on their SSNN evaluations.

[0027] In embodiments of the ABC-BA method disclosed herein, each accountant bee builds a probability density function using kernel density estimator with gaussian kernels for good and bad datasets. For each data point in the dataset, a kernel is placed with a mean corresponding to a parameter in the set and its variance corresponds to the shortest distance from the same parameter in the data set.

[0028] In embodiments of the ABC-BA method disclosed herein, each accountant bee samples candidates of a set of parameters from the probability density function corresponding to good data points. It constructs a local surrogate function from the probability density functions corresponding to good and bad datasets and selects the best candidate set of parameters by evaluating its candidates using the local surrogate function on classical hardware, to reduce the number of bad configurations evaluated with SSNN on the neuromorphic hardware (or simulated on the CPU, GPU, FPGA, and / or other Von-Neumann architectures).

[0029] In embodiments of the ABC-BA method disclosed herein, the best candidate set of parameters maximizing the expected improvement is selected for evaluation on the SSNN using the neuromorphic hardware and computed results are added to the local dataset.

[0030] In embodiments of the ABC-BA method disclosed herein, when the algorithm should return the best set of parameters, it chooses the parameters with the highest score from the region with the densest collection of top performing parameters.

[0031] Accordingly, in one aspect there is provided a computer-implemented method for automated tuning of a stochastic spiking neural network (SSNN) for solving a combinatorial optimization problem (COP). The method includes (i) defining a set of features of the COP. The method further includes (ii) building the SSNN with an architecture based on the defined P108803WO01 (3602-2787WO1) 8COP feature set. The method further includes (iii) selecting a tunable set of parameters of the SSNN based on the architecture. The method further includes (iv) tuning the selected tunable set of parameters using an artificial bee colony - accountant bee (ABC-BA) model. The method further includes (v) implementing the SSNN using the tuned set of parameters. The method further includes (vi) evaluating the performance of the SSNN to determine whether a pre- determined criteria for solving the COP is met. The method further includes (vii) repeating steps (iv) to (vi) until the performance meets the pre-determined criteria. The method further includes (viii) obtaining the solution for solving the COP.

[0032] In some embodiments, the set of features of the COP includes one or more decision variables, one or more objective functions, and one or more constraints. In some embodiments, the SSNN includes a plurality of spiking neurons and a plurality of synapses, wherein the spiking neurons are injected with excitatory noise or inhibitory noise, the spiking neurons are inter-connected by the synapses, and each synapse is an excitatory synapse or a inhibitory synapse. In some embodiments, the one or more decision variables correspond to the plurality of spiking neurons, and the synaptic inter-connections between the spiking neurons correspond to the one or more objective functions and the one or more constraints.

[0033] In some embodiments, the COP is associated with edge user allocation in a communication network and the solution obtained provides a communication network configuration that solves the edge user allocation problem. In some embodiments, the communication network includes a plurality of winner take all (WTA) circuits, base stations (BS), edge servers (ES) and user equipments (UE); and the plurality of spiking neurons includes principal neurons, input neurons, utilization neurons, capacity neurons and monitor neurons, wherein the number of Winner Takes All (WTA) circuits corresponds to the number of UEs, the number of capacity neurons and utilization neurons correspond to the number of ESs, the number of principal neurons in each WTA correspond to the number of ESs to which a representative UE could be assigned, the input neurons feed a poison noise to the respective primary neurons, and the monitor neurons track the number of UEs allocated to the ESs.

[0034] In some embodiments, the COP is associated with multiple-input multiple-output (MIMO) signal detection in a MIMO communication system and the solution obtained solves the MIMO detection problem. In some embodiments, the MIMO communication system includes a P108803WO01 (3602-2787WO1) 9plurality of receivers; and the solution includes estimates, with maximum likelihood, that transmitted symbols are received at receivers in the MIMO communication system.

[0035] In some embodiments, the method further includes implementing a plurality N of searching agents, each searching agent having an associated tunable set of parameters, a fitness score, and an abandonment counter; implementing a plurality M of exploiting agents; and randomly initializing N tunable sets of parameters associated with the searching agents. In some embodiments, step (iv) tuning the selected set of parameters using an ABC-BA model includes (iv-1) generating, for each searching agent, random current values for the tunable set of parameters associated with the searching agent. Step (iv) tuning further includes (iv-2) randomly selecting a searching agent and generating, for each searching agent, random new values for the tunable set of parameters associated with the searching agent that are closer to the parameter values of the randomly selected searching agent. Step (iv) tuning further includes (iv-3) implementing, for evaluation of each searching agent, the SSNN using the new values for the tunable set of parameters and generating an associated objective function score. Step (iv) tuning further includes (iv-4) creating a global data set and adding, for each searching agent evaluated, the values for the tunable set of parameters and the associated objective function score to the global data set. Step (iv) tuning further includes (iv-5) comparing, for each searching agent, the performance of the SSNN using the new values and the current values for the tunable set of parameter, and wherein: if the performance is better for the new values, updating the values of the tunable set of parameters and fitness score to the new values, and if the performance is not better for the new values, incrementing the abandonment counter for the searching agent. Step (iv) tuning further includes (iv-6) calculating, for each searching agent, an attraction probability by dividing the fitness score for the searching agent with the sum of the fitness scores for all searching agents. Step (iv) tuning further includes (iv-7) comparing the size of the global data set to a predetermined size, and if the size of the global data set is greater than the predetermined size, then step (iv) tuning further includes (iv-8) assigning each exploiting agent to a searching agent with a probability equal to attraction probability of that searching agent; (iv-9) building, for each exploiting agent, a local subset of data from the global dataset, wherein the local subset of data includes sets of parameters closest to the set of parameters of the corresponding searching agent, and wherein the local subset of data is split into a good local dataset and a bad local datasets based on their SSNN evaluations; (iv-10) building, for each exploiting agent, a P108803WO01 (3602-2787WO1) 10probability density function using a kernel density estimator with gaussian kernels for the good local dataset and the bad local dataset, and for each data point in the dataset, placing a kernel with a mean corresponding to a parameter in the data set and with a variance corresponding to the shortest distance from the same parameter in the data set; (iv-11) sampling, for each exploiting agent, sample candidates of a set of parameters from the probability density function corresponding to the good data points; (iv-12) constructing, for each exploiting agent, a local surrogate function from the probability density functions corresponding to good and bad local datasets; (iv-13) selecting, for each exploiting agent, the best candidate set of parameters by evaluating their candidates using the local surrogate function; (iv-14) implementing, for evaluation of each exploiting agent, the SSNN using the best candidate set of parameters; (iv-15) adding, for each exploiting agent evaluated, the values for the evaluated set of parameters and the associated objective function score to the global data set; and (iv-16) for each searching agent whose assigned exploiting agent found a set of parameters better than the current set of parameters, updating the values of the set of parameters and fitness score to the new values, and if the performance is not better for the new values, incrementing the abandonment counter for the searching agent. Step (iv) tuning further includes (iv-17) after step ( iv-16) or if the size of the global data set is not greater than the predetermined size, checking if the abandonment counter for any searching agent is greater than a threshold value and, for each searching agent with an abandonment counter greater than the threshold value, randomly re-initializing the tunable sets of parameters and implementing, for evaluation, the SSNN using the re-initialized values for the tunable set of parameters; checking a criteria for stopping (iv) tuning the selected set of parameters using an ABC-BA model, and if the criteria is not satisfied, returning to step (iv-1) and if the criteria is satisfied, returning, for step (v) implementing the SSNN using the tuned set of parameters, the tuned set of parameters with the highest score from the parameter-space region with the densest collection of top performing set of parameters.

[0036] In some embodiments, the SSNN is implemented on neuromorphic hardware. In some embodiments, the SSNN is implemented on processing circuitry simulating neuromorphic hardware.

[0037] In some embodiments, the SSNN includes an inferred set of parameters based on the COP description and the tunable set of parameters includes one or more of synaptic weights P108803WO01 (3602-2787WO1) 11inferred from the COP description, parameters defining the SSNN model, and / or a spike rate of input noise for injecting the spiking neurons with the excitatory noise and / or the inhibitory noise.

[0038] In another aspect, there is provided a computing device for automated tuning of a stochastic spiking neural network (SSNN) for solving a combinatorial optimization problem (COP). The computing device includes a memory; and processing circuitry coupled to the memory, wherein the processor is configured to (i) define a set of features of the COP. The processor is further configured to (ii) build the SSNN with an architecture based on the defined COP feature set. The processor is further configured to (iii) select a tunable set of parameters of the SSNN based on the architecture. The processor is further configured to (iv) tune the selected tunable set of parameters using an artificial bee colony - accountant bee (ABC-BA) model. The processor is further configured to (v) implement the SSNN using the tuned set of parameters. The processor is further configured to (vi) evaluate the performance of the SSNN to determine whether a pre-determined criteria for solving the COP is met. The processor is further configured to (vii) repeat steps (iv) to (vi) until the performance meets the pre-determined criteria. The processor is further configured to (viii) obtain the solution for solving the COP.

[0039] In another aspect, there is provided an apparatus including processing circuitry and a memory, the memory containing instructions executable by the processing circuitry, whereby the apparatus is operative to perform any of the methods disclosed herein.

[0040] In another aspect, there is provided a computer program comprising instructions for adapting an apparatus to perform any of the methods disclosed herein. In another aspect, there is provided a carrier containing the computer program wherein the carrier is one of an electronic signal, an optical signal, a radio signal, or a computer readable storage medium. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] The accompanying drawings, which are incorporated herein and form part of the specification, illustrate various embodiments.

[0042] FIG. 1A is a series of graphs illustrating an example of how the Tree Structure Parzen Estimator (TPE) algorithm, for initial distributions, might get stuck in local minima. P108803WO01 (3602-2787WO1) 12

[0043] FIG. 1B is a series of graphs illustrating an example of how the Tree Structure Parzen Estimator (TPE) algorithm, after ~50 iterations, might get stuck in local minima.

[0044] FIG. 2 is a flowchart illustrating a process according to one or more embodiments.

[0045] FIG. 3 is a flowchart illustrating a process according to one or more embodiments.

[0046] FIGS. 4A, 4B, and 4C are flowcharts illustrating a process according to one or more embodiments.

[0047] FIGS. 5A, 5B, and 5C are flowcharts illustrating a process according to one or more embodiments.

[0048] FIG. 6 is a diagram of a communication network illustrating an edge user allocation service according to one or more embodiments.

[0049] FIG. 7 is a diagram illustrating a stochastic spiking neural network according to one or more embodiments.

[0050] FIG. 8A is a graph illustrating convergence over tuning iterations of a stochastic spiking neural network for solving a combinatorial optimization problem associated with the small problem size for edge user allocation according to one or more embodiments.

[0051] FIG. 8B is a graph illustrating convergence over tuning iterations of a stochastic spiking neural network for solving a combinatorial optimization problem associated with the medium problem size for edge user allocation according to one or more embodiments.

[0052] FIG. 8C is a graph illustrating convergence over tuning iterations of a stochastic spiking neural network for solving a combinatorial optimization problem associated with the large problem size for edge user allocation according to one or more embodiments.

[0053] FIG. 8D is a graph illustrating convergence over tuning iterations of a stochastic spiking neural network for solving a combinatorial optimization problem associated with the large+ problem size for edge user allocation according to one or more embodiments.

[0054] FIG. 9A is a plotted search space illustrating a 3-dimensional slice of a parameter space for tuned parameters for solving a combinatorial optimization problem associated with the P108803WO01 (3602-2787WO1) 13medium problem size for edge user allocation using Tree Structure Parzen Estimator (TPE) algorithm.

[0055] FIG. 9B is a plotted search space illustrating a 3-dimensional slice of a parameter space for tuned parameters for solving a combinatorial optimization problem associated with the medium problem size for edge user allocation using an Artificial Bee Colony (ABC) algorithm.

[0056] FIG. 9C is a plotted search space illustrating a 3-dimensional slice of a parameter space for tuned parameters for solving a combinatorial optimization problem associated with the medium problem size for edge user allocation using an Artificial Bee Colony – Bee Accountant (ABC-BA) algorithm according to one or more embodiments.

[0057] FIG. 10A is a plotted search space illustrating a 3-dimensional slice of a parameter space for tuned parameters for solving a combinatorial optimization problem associated with the large problem size for edge user allocation using Tree Structure Parzen Estimator (TPE) algorithm.

[0058] FIG. 10B is a plotted search space illustrating a 3-dimensional slice of a parameter space for tuned parameters for solving a combinatorial optimization problem associated with the large problem size for edge user allocation using an Artificial Bee Colony (ABC) algorithm.

[0059] FIG. 10C is a plotted search space illustrating a 3-dimensional slice of a parameter space for tuned parameters for solving a combinatorial optimization problem associated with the large problem size for edge user allocation using an Artificial Bee Colony – Bee Accountant (ABC-BA) algorithm according to one or more embodiments.

[0060] FIG. 11 is a diagram illustrating a stochastic spiking neural network according to one or more embodiments.

[0061] FIG. 12 is a graph illustrating convergence over tuning iterations of a stochastic spiking neural network for solving a combinatorial optimization problem associated with multiple-input multiple-output (MIMO) signal detection according to one or more embodiments

[0062] FIG. 13 is a diagram illustrating exemplary neuromorphic hardware according to one or more embodiments. P108803WO01 (3602-2787WO1) 14

[0063] FIG. 14 is a block diagram illustrating a network node, a computing device, and an apparatus according to one or more embodiments. DETAILED DESCRIPTION

[0064] FIG. 2 is a flowchart illustrating a computer-implemented method 200, according to one or more embodiments, for automated tuning of a stochastic spiking neural network (SSNN) for solving a combinatorial optimization problem (COP). Method 200 may begin with step 205. Step 205 comprises defining a set of features of the COP. Step 210 comprises building the SSNN with an architecture based on the defined COP feature set. Step 215 comprises selecting a tunable set of parameters of the SSNN based on the architecture. Step 220 comprises tuning the selected tunable set of parameters using an artificial bee colony - accountant bee (ABC-BA) model. Step 225 comprises implementing the SSNN using the tuned set of parameters. Step 230 comprises evaluating the performance of the SSNN to determine whether a pre-determined criteria for solving the COP is met. Step 235 comprises repeating steps 220 to 230 until the performance meets the pre-determined criteria. Step 240 comprises obtaining the solution for solving the COP.

[0065] In some embodiments, the set of features of the COP includes one or more decision variables, one or more objective functions, and one or more constraints. In some embodiments, the SSNN includes a plurality of spiking neurons and a plurality of synapses, wherein the spiking neurons are injected with excitatory noise or inhibitory noise, the spiking neurons are inter-connected by the synapses, and each synapse is an excitatory synapse or a inhibitory synapse. In some embodiments, the one or more decision variables correspond to the plurality of spiking neurons, and the synaptic inter-connections between the spiking neurons correspond to the one or more objective functions and the one or more constraints.

[0066] In some embodiments, the COP is associated with edge user allocation in a communication network and the solution obtained provides a communication network configuration that solves the edge user allocation problem. In some embodiments, the communication network includes a plurality of winner take all (WTA) circuits, base stations (BS), edge servers (ES) and user equipments (UE); and the plurality of spiking neurons includes principal neurons, input neurons, utilization neurons, capacity neurons and monitor neurons, P108803WO01 (3602-2787WO1) 15wherein the number of Winner Takes All (WTA) circuits corresponds to the number of UEs, the number of capacity neurons and utilization neurons correspond to the number of ESs, the number of principal neurons in each WTA correspond to the number of ESs to which a representative UE could be assigned, the input neurons feed a poison noise to the respective primary neurons, and the monitor neurons track the number of UEs allocated to the ESs.

[0067] In some embodiments, the COP is associated with multiple-input multiple-output (MIMO) signal detection in a MIMO communication system and the solution obtained solves the MIMO detection problem. In some embodiments, the MIMO communication system includes a plurality of receivers; and the solution includes estimates, with maximum likelihood, that transmitted symbols are received at receivers in the MIMO communication system and their mappings of symbol bits as decision variables mapped to the neurons.

[0068] In some embodiments, the SSNN is implemented on neuromorphic hardware. In some embodiments, the SSNN is implemented on processing circuitry simulating neuromorphic hardware.

[0069] In some embodiments, the SSNN includes an inferred set of parameters based on the COP description and the tunable set of parameters includes one or more of synaptic weights inferred from the COP description, parameters defining the SSNN model, and / or a spike rate of input noise for injecting the spiking neurons with the excitatory noise and / or the inhibitory noise.

[0070] FIG. 3 is a flowchart illustrating a computer-implemented method 300, according to one or more embodiments, for automated tuning of a stochastic spiking neural network (SSNN) for solving a combinatorial optimization problem (COP). Method 300 may begin with step 305. Step 305 comprises defining the COP in integer linear programming form: decision variables, objective function and constrains. Step 310 comprises obtaining the SSNN architecture for the COP. Step 315 comprises tuning the selected set of SSNN parameters with the ABC-BA algorithm. Step 320 comprises running the SSNN with the tuned set of parameters on neuromorphic hardware. Step 325 comprises reading out the spike trace of neurons corresponding to the decision variables and obtaining their values from the spike trace.

[0071] ABC-BA Algorithm P108803WO01 (3602-2787WO1) 16

[0072] To better tune the SSNN, an algorithm is disclosed that trades some exploration for exploitation, resourcefulness, and robustness to the evaluation’s stochastically over- or underperformance. The ABC-BA algorithm disclosed provides modifications to the ABC algorithm that change the behavior of the onlooker bees by incorporating aspects from another algorithm called Tree-structured Parzen estimator (TPE) (see Bergstra, James, et al. “Algorithms for hyper-parameter optimization.” Advances in neural information processing systems 24 (2011)).

[0073] In standard ABC, the onlooker bees search the solution-space with the same strategy as the employer bees, equation 1. The exploitation arises from more onlookers being recruited to better solutions. In the novel algorithm disclosed herein – i.e., ABC-BA -- the onlooker bees are replaced with accountant bees. These accountant bees keep track of all earlier evaluations trying to find a good solution candidate locally to the employer bee they were assigned to. This is achieved by continuously adding the result from all tested solutions ^ and computed evaluation !^^ = 7 to a dataset 8 =^^^, 7^^^.

[0074] The accountants, when assigned to an employer bee, split the larger dataset into a smaller dataset 89containing a fraction of the solutions closest to the employer bees current solution ^. The size of the smaller dataset can be varied, but all datasets should be created thus, 89⊂ 8, ^. "‖^ − ^^‖≤ =^ − ^^= ∀^^∈ 89, ^^∈ 8\89(4)

[0075] With these smaller datasets, all belonging to an employer bee, the information within the dataset is used by the assigned bees during each iteration to create a kernel density estimator of the likelihood probability density functions. The targeted distributions are created bydividing the local dataset 89 by a divider score 7?. This divider is taken as the value where / ^7 < 7?^ = @ given a predetermined divider quantile @. Namely,^! 7 < 7?,

[0076] are^1 − @ quantiles of 89respectively. One could interpret this as the local dataset being split further into P108803WO01 (3602-2787WO1) 17good and bad datasets 89,Dand 89,E. The used kernel density estimator is the Parzen estimator, and the method involving dual splitting of the likelihood distribution is called Tree-structured Parzen estimator (TPE). For the single-objective case, the tree-structured split is trivial. For multi-objective optimization the split is more complicated. See, Ozaki, Yoshihiko, et al. “Multiobjective tree-structured parzen estimator for computationally expensive optimization problems.” Proceedings of the 2020 genetic and evolutionary computation conference (2020).

[0077] The Parzen estimators of B^^ and C^^ are built by placing Gaussian kernels at the datapoints in 89,Dand 89,Erespectively. The standard deviation is chosen as the distance to the closest other point in the same dataset, with some upper and lower bounds to keep the kernels reasonable.

[0078] From these distributions, the accountants attempt to find parameters that would maximize the expected improvement in each dimension, ^ = F^G^FHIJKI?^^ (6)

[0079] The expected improvement can be derived using the likelihood approximation from equation 7 and the utility function ^FH^7?− 7, 0^, (7) MI? L − = L − / ^^|7^7N$P108803WO01 (3602-2787WO1) 18

[0080] As seen above, the expected improvement is maximized when minimizing the quotientE^'D^'. Hence, this quotient can be used as a surrogate for the real network. As this surrogate is computationally cheap, at least when compared with the SSNN, it can be used to the number of bad configurations tested on the SSNN.

[0081] To obtain parameters for evaluation on the SSNN, a set of candidates are sampled from the good distribution B^^ and the one maximizing the expected improvement is chosen. After running the configuration on the SSNN, the accountant phase is concluded by adding the computed results to the dataset 89. Since the Parzen estimator requires some already calculatedvalues the accountant phase only starts after a few iterations. The number of samples drawn fromB^^ each iteration is a hyperparameter of the accountant bee. If the sample size is too large, theslightly random search is lost. Too small and the surrogate might return poor parameters.

[0082] Lastly, even with identical parameters the SSNN’s performance can vary wildly. To get an idea on the parameters’ consistency, all runs are made multiple times. At the very end when the algorithm should return the best set of parameters, it chooses the parameters with the highest score from the region with the densest collection of top performing parameters. As a small step in the parameter-space should not affect the SSNN’s performance, the runs of neighboring parameters grant information about the parameter’s consistency. A small region with intermixed good and bad parameters could then be interpreted as a region of inconsistent but lucky parameters. A region with a dense collection of good parameters would then suggest consistent parameters and was seen favorable when deciding between multiple parameters with the same performance. P108803WO01 (3602-2787WO1) 19

[0083] The pseudo-code of the ABC-BA algorithm is shown in Algorithm 1:

[0084] FIGS. 4A, 4B, and 4C are flowcharts illustrating the steps corresponding to the pseudo-code of the ABC-BA algorithm. Referring to FIG. 4A (Employer Phase), method 400 may begin with step 405. Step 405 comprises defining the Stochastic SNN architecture, parameters to be tuned, N searching agents (employer bees) and N exploiting agents (accountant bees). Step 410 comprises randomly initializing N sets of parameters associated with the P108803WO01 (3602-2787WO1) 20searching agents and evaluating the SSNN with them. Step 415 comprises generating a new set of parameters for each searching agent by randomly changing its parameters such that the new set is closer to the randomly selected searching agent. Step 420 comprises evaluating the SSNN on neuromorphic hardware (or simulated on CPU , GPU, FPGA, and / or other Von-Neumann architectures) with newly generated set of parameters by each searching agent. Step 425 comprises adding the evaluated parameters and the corresponding objective function scores to the global data set. Step 430 comprises, for an agent whose newly generated set of parameters is better than the current set of parameters, update it’s set of parameters, fitness values, otherwise increment its abandonment counter. Step 435 comprises calculating attraction probability for each searching agent by dividing its fitness with sum of the fitness of all searching agents. Step 440 comprises checking if the global data set is large enough to start the Accountant Phase. If yes, then proceed to step 445. If no, then proceed to step 490.

[0085] Referring now to FIG. 4B (Accountant Phase), method 400 continues with step 445. Step 445 comprises assigning each exploiting agent to a searching agent with probability equal to attraction probability of that searching agent. Step 450 comprises, each exploiting agent builds a local subset of data from the global dataset, containing the of sets of parameters closest (Euclidean distance) to the set of parameters of corresponding searching agent, and split it into good and bad local datasets based on their SSNN evaluations. Step 455 comprises, each exploiting agent builds a probability density function using kernel density estimator with gaussian kernels for good and bad datasets and, for each data point in the dataset, a kernel is placed with a mean corresponding to a parameter in the set and its variance corresponds to the shortest distance from the same parameter in the data set. Step 460 comprises, for each exploiting agent, sample candidates of set of parameters from the probability density function corresponding to good data points. Step 465 comprises, for each exploiting agent, construct a local surrogate function from the probability density functions corresponding to good and bad datasets. Step 470 comprises, for each exploiting agent, select the best candidate set of parameters by evaluating their candidates using the local surrogate function. Step 475 comprises evaluating the SSNN on neuromorphic hardware (or simulated on CPU, GPU, FPGA, and / or other Von-Neumann architectures) with the best candidate set of parameters by each exploiting agent. Step 480 comprises adding evaluated parameters and the corresponding objective function scores to the global data set. Step 485 comprises, for a searching agent whose assigned P108803WO01 (3602-2787WO1) 21exploiting agent found set of parameters better than the current set of parameters, update, it’s set of parameters and fitness values, otherwise increment its abandonment counter.

[0086] Referring now to FIG. 4C (Scout Phase), method 400 continues with step 490. Step 490 comprises checking if the abandonment counter for any searching agent is greater than threshold? If yes, then proceed to step 492. If not, then proceed to step 494. Step 492 comprises randomly re-initializing the set of parameters and evaluating the SSNN with them for the searching agents crossing the abandonment threshold. Step 494 comprises checking if the criteria (e.g., iterations) for stopping the ABC-BA method is reached? If yes, then proceed to step 496. If not, then proceed to step 415. Step 496 comprises returning the tuned parameters set with the highest score from the parameter-space region with the densest collection of top performing set of parameters.

[0087] FIGS. 5A, 5B, and 5C are flowcharts illustrating an exemplary implementation 500 of step (iv) -- tuning the selected set of parameters using an ABC-BA model – of the a computer-implemented method, according to one or more embodiments. Method 500 may begin with step 505. Step 505 comprises implementing a plurality N of searching agents, each searching agent having an associated tunable set of parameters, a fitness score, and an abandonment counter. Step 510 comprises implementing a plurality M of exploiting agents. Step 515 comprises randomly initializing N tunable sets of parameters associated with the searching agents. In some embodiments, step (iv) 220, tuning the selected set of parameters using an ABC-BA model, includes the following steps. Step 520 comprises (iv-1) generating, for each searching agent, random current values for the tunable set of parameters associated with the searching agent. Step 525 comprises (iv-2) randomly selecting a searching agent and generating, for each searching agent, random new values for the tunable set of parameters associated with the searching agent that are closer to the parameter values of the randomly selected searching agent. Step 530 comprises (iv-3) implementing, for evaluation of each searching agent, the SSNN using the new values for the tunable set of parameters and generating an associated objective function score. Step 535 comprises (iv-4) creating a global data set and adding, for each searching agent evaluated, the values for the tunable set of parameters and the associated objective function score to the global data set. Step 540 comprises (iv-5) comparing, for each searching agent, the performance of the SSNN using the new values and the current values for the tunable set of parameter, and wherein: if the performance is better for the new P108803WO01 (3602-2787WO1) 22values, updating the values of the tunable set of parameters and fitness score to the new values, and if the performance is not better for the new values, incrementing the abandonment counter for the searching agent.

[0088] Referring now to FIG. 5B, method 500 continues with step 545. Step 545 comprises (iv-6) calculating, for each searching agent, an attraction probability by dividing the fitness score for the searching agent with the sum of the fitness scores for all searching agents. Step 550 comprises (iv-7) comparing the size of the global data set to a predetermined size, and if the size of the global data set is greater than the predetermined size, then step (iv) 220, tuning, further includes the following steps. Step 555 comprises (iv-8) assigning each exploiting agent to a searching agent with a probability equal to attraction probability of that searching agent. Step 560 comprises (iv-9) building, for each exploiting agent, a local subset of data from the global dataset, wherein the local subset of data includes sets of parameters closest to the set of parameters of the corresponding searching agent, and wherein the local subset of data is split into a good local dataset and a bad local datasets based on their SSNN evaluations. Step 565 comprises (iv-10) building, for each exploiting agent, a probability density function using a kernel density estimator with gaussian kernels for the good local dataset and the bad local dataset, and for each data point in the dataset, placing a kernel with a mean corresponding to a parameter in the data set and with a variance corresponding to the shortest distance from the same parameter in the data set. Step 570 comprises (iv-11) sampling, for each exploiting agent, sample candidates of a set of parameters from the probability density function corresponding to the good data points. Step 575 comprises (iv-12) constructing, for each exploiting agent, a local surrogate function from the probability density functions corresponding to good and bad local datasets.

[0089] Referring now to FIG. 5C, method 500 continues with step 580. Step 580 comprises (iv-13) selecting, for each exploiting agent, the best candidate set of parameters by evaluating their candidates using the local surrogate function. Step 585 comprises (iv-14) implementing, for evaluation of each exploiting agent, the SSNN using the best candidate set of parameters. Step 590 comprises (iv-15) adding, for each exploiting agent evaluated, the values for the evaluated set of parameters and the associated objective function score to the global data set. Step 592 comprises (iv-16) for each searching agent whose assigned exploiting agent found a set of parameters better than the current set of parameters, updating the values of the set of P108803WO01 (3602-2787WO1) 23parameters and fitness score to the new values, and if the performance is not better for the new values, incrementing the abandonment counter for the searching agent. Step 594 comprises (iv- 17) after step ( iv-16) or if the size of the global data set is not greater than the predetermined size, checking if the abandonment counter for any searching agent is greater than a threshold value and, for each searching agent with an abandonment counter greater than the threshold value, randomly re-initializing the tunable sets of parameters and implementing, for evaluation, the SSNN using the re-initialized values for the tunable set of parameters. Step 596 comprises checking a criteria for stopping step (iv) 220, tuning the selected set of parameters using an ABC-BA model, and if the criteria is not satisfied, returning to step (iv-1), and if the criteria is satisfied, returning, for step (v) 225, implementing the SSNN using the tuned set of parameters, the tuned set of parameters with the highest score from the parameter-space region with the densest collection of top performing set of parameters.

[0090] TPE is, contrary to ABC, very exploitative but less explorational. The combination of the methods should negate this problem, as the bees are forced to move after enough unsuccessful iterations and therefore change local dataset. The accountant then steers the solution away from trying bad parameters and massively increases exploitation, especially when the dataset 89has gotten large. This behaviour is desirable as other alterations of ABC implemented an explicit counter that would increase exploitation at later iterations. See Wang, Chunfeng, Pengpeng Shang, and Peiping Shen. “An improved artificial bee colony algorithm based on Bayesian estimation.” Complex & Intelligent Systems 8.6 (2022): 4971-4991.

[0091] Tuning Performance on Edge User Allocation Use-Case:

[0092] To better understand the tuning performance ABC-BA algorithm, we apply it to tune the parameters for stochastic SNN modelling for the edge user allocation (EUA) problem. See Lai, P., He, Q., Abdelrazek, M., Chen, F., Hosking, J., Grundy, J., & Yang, Y. (2018). Optimal edge user allocation in edge computing with variable sized vector bin packing. In International Conference on Service-Oriented Computing (pp. 230-245). Springer, Cham. FIG. 6 is a diagram of a communication network 600 illustrating an edge user allocation (EUA) service and the EUA problem. Here, the objective is to handle as many UEs 610 as possible, while minimizing the number of utilized edge servers 620, which may be located at base stations 625. At the same time, the following constraints must be met: 1) each edge server 620 can only serve P108803WO01 (3602-2787WO1) 24the UEs 610 if the total resource requirements of the computation tasks requested by the assigned UEs 610 do not exceed the edge server’s 620 maximum capacity for any resource type; 2) each UE 610 can be served by one edge server 620 at most; and 3) only UEs 610 in the coverage range 630 of the edge server 620 can be assigned to that edge server 620.

[0093] FIG. 7 is a diagram illustrating a stochastic spiking neural network (SSNN) 700 according to one or more embodiments. The diagram in FIG. 7 illustrates the network 700 following the SSNN mapping strategy disclosed herein applied to the EUA problem (see, Petersson Steenari, Kim. “A neuromorphic approach for edge use allocation.” (2022)). Referring to FIG. 7, the number of Winner Takes All (WTA) circuits 710 correspond to the number of UEs (610), capacity neurons 720, utilization neurons 730, and the number of principal neurons 740 in each WTA correspond to the number of servers (ESs 620), in the edge user allocation problem instance. The input neurons 750 feed the poison noise to the respective principal neurons 740, and monitor neurons 760 track the number of users (UEs 610) allocated to the servers (ESs 620).

[0094] Four different problem instances of the EUA problem are considered, whose details are given in Table 1 below. The large problem size is restricted to 1000 users and 30 servers as the classical simplex method based ILP solver implementation provided by scipy library (see https: / / docs.scipy.org / doc / scipy / reference / generated / scipy.optimize.linprog.html) could not give the exact solutions for problems larger than that. The implementation of the stochastic spiking neural network is done using Intel Lava (see https: / / lava-nc.org / ) software framework for neuromorphic computing. With a larger and more complex problem, the number of possible states increased rapidly, and likewise the number of low energy but non-optimal states. Resulting from how the SSNN functioned, by setting too few timesteps, the SSNN would usually not have time to find a solution. This would result in the automated tuner mistakenly optimizing for solutions that gave quick-to-find sub-optimal solutions. Too long simulation time would, however, both be a waste of computations and neglect to reward solutions that were both good and quick to converge. The number of timesteps, therefore, have to reflect the problem size. The simulation steps are limited to 5000 due to long computation time. During all tests, the input neurons stochastically (probability = 0.3) increase the membrane voltage by 3. These parameters are chosen as they supplied sufficient noise in the spiking network. P108803WO01 (3602-2787WO1) 25

[0095] Table 1: EUA Problem Instances Problem Number of Simulation Users Servers Capacity Size Step Small 500 6 4 3 Medium 2000 100 10 20 Large 5000 1000 30 75 Large+ 5000 10000 50 500

[0096] Table 2 below shows the values of hyper-parameters used during the testing. One can appreciate that, while the number of hyper-parameters of ABC-BA are fixed, the tunable parameters of the SSNN (see Table 3 below) scale with the problem size.

[0097] Table 2: Hyper Parameters of ABC-BA Algorithm Variable Name Value^^ Number of bees 8^6 Trails until abandonment 3^ Percentage of point used150% from local dataset @Quantile 10%^^ Number of samples from 5U^HKV^ Iterations without5 accountant phase K9Times each parameter was 5 tested W0^V Kernel minimum variance 0.05W06X Kernel maximum variance 5

[0098] The automated tuner is run for 20 iterations on each problem. The rather low iteration-count is a necessity due to the time required to simulate the stochastic SNN on the CPU. Figures 8A-8D are graphs illustrating convergence over tuning iterations of a stochastic spiking P108803WO01 (3602-2787WO1) 26neural network for solving a combinatorial optimization problem associated with the different problem sizes for edge user allocation according to one or more embodiments. The objective scores’ convergence over the iterations are seen in FIG. 8A for the small problem and in FIG. 8B for the medium problem. The objective score is computed by adding assignment of users to the servers together and subtracting the result from total number of servers utilized. The tuned parameters and their values are tabulated in Table 3 below.

[0099] With reference to FIGS. 8A-8D, which illustrate convergence over tuning iterations, the dashed line 810 shows the optimum score. For the small and medium problem size (FIGS. 8A and 8B), the tuner manages to find the optimal score (obtained from ILP solver) during tuning. For the small problem size (FIG. 8A), this has been found in the first iteration, suggesting that finding a set of parameters managing this was easy as they were found by initial random guessing. It is therefore fair to contribute this to the SSNN internal search capabilities rather than the tuner’s ability to tune the parameters. For the medium problem size (FIG. 8B), the tuner works well, as the score steadily decreases until finding the optimum at the fifteenth iteration. For the larger problem size (FIG. 8C), the optimal scores are never found, although showing steady convergence. For both large and large+ problem sizes (FIG. *C and 8D), one could argue that the number of iterations should have been increased, seeing that the score did not really converge. This is a fair observation and was primarily, and perhaps only, done since the tuning took such a long time for the larger problems. It is also clear that the larger problems are more difficult to solve.

[0100] Table 3: Tuned Parameters of Stochastic SNN Variable Description Small Medium Large ^Y Large+^YZ ^Y\[^Y\%]^_` Synaptic weight of-6.5 -10.6 -34.1 -100 inhibitory connections between auxiliary neuron and principal neurons inside the WTAs ]a_`Synaptic weight of -6 -3.5 -0.55 -1.26 inhibitory connections between capacity P108803WO01 (3602-2787WO1) 27Variable Description Small Medium Large ^Y Large+^YZ ^Y\[^Y\%neurons and principal neurons]b^^c Synaptic weight of5 4.5 1.3 1.4 excitatory connections between utilization neurons and principal neurons dIN$Leakage of 0.1 0.1 0.1 0.1 principle neurons efThreshold of 8 8 8 8 principal neurons

[0101] Validation of the Differently Sized Problems:

[0102] To evaluate the tuned parameters, seen in Table 3, each set of parameters was run 100 times on their respective problem. This would display how the stochasticity affected the SSNN’s performance and how consistent the results are. Given 100 runs, the variance in the performance should be catalogued better than during tuning when fewer runs were made.

[0103] Starting with the small problem size, in Petersson Steenari, Kim. “A neuromorphic approach for edge use allocation” (2022), the optimal score of two active servers and six assigned users was found roughly 10% of runs. These results, translated to the objective score given in Table 4 below. The same problem run on the novel SSNN disclosed herein with parameters YZfound the optimal score every single run, vastly outperforming the earlier results on this rather trivial problem. As mentioned earlier, this great improvement is due to the new SSNN disclosed herein, as parameters yielding optimal score were found by the initial random pick. For the medium problem, with 100 users and 10 servers, the network in Petersson Steenari, Kim. “A neuromorphic approach for edge use allocation” (2022) never found any server reduction at this problem-size. While not the identical problem, running the medium problem 100 times with parametersY[gave the optimal score 99 times (see Table 4 below). Scaling upwards, the large problem with 1000 users and 30 servers had not been tested earlier and is therefore only compared against the reference solver. As illustrated in the tuning convergence P108803WO01 (3602-2787WO1) 28graph, FIG. 8C, the SSNN never found the optimum solution. It did instead most often find a solution that had one or two additional active servers.

[0104] Lastly, the large+ problem with 10000 users and 50 servers was run. First, as the optimum could not be computed with the ILP solver, this column is omitted in Table 4 below. Instead of having the best value be the most common followed by cases of worse performance, the results of the large+ problem are spread around the average performance. This could be attributed to the tuning for this problem being done with too short simulation time and too few iterations.

[0105] Table 4: Results of Tuning on Small, Medium and Large Problems Problem Method Assigned Active Score Difference Occurrence Users Servers w.r.t (%) Optimal Score Small Prior art (see 6 2 -4 0 7 Petersson Steenari, Kim. “A neuromorphic approach for edge use allocation. (2022) ABC-BA 6 2 -4 0 100 Medium ABC-BA 92 5 -87 0 99 92 6 -86 1 1 Large ABC-BA 999 15 -984 1 74 999 16 -983 2 24 999 17 -982 3 2 Large+ ABC-BA 9823 23 -9829 2 9823 24 -9828 4 9823 25 -9827 16 9823 26 -9826 23 9823 27 -9825 30 9823 28 -9824 17 P108803WO01 (3602-2787WO1) 29Problem Method Assigned Active Score Difference Occurrence Users Servers w.r.t (%) Optimal Score 9823 29 -9823 4 9823 30 -9822 2 9823 31 -9821 2

[0106] Generalizability of ABC-BA Tuner:

[0107] As tuning takes a long time, a found set of parameters should solve multiple problems and should not be overfitted to the specific problem the parameters were tuned to. To evaluate the generalization of the tuned parameters, they are run on unseen problems, starting with problems having the same number of users and servers. Five new problems are randomly generated for the small, medium, and large problems. The performance is presented as the 10-run average of the score minus optimum. The simulated results are shown in Table 5 below. One can see the parameters only showed slightly worse performance then reported in Table 4, suggesting that the tuned parameters work for multiple problems.

[0108] The only true exception was one test ofY\, where the average was much larger. This highlights two things: first, the average gets very skewed by having a couple of failed runs. This happens when the user maximization objective is unfulfilled and is considered a failed run. Second, having the same number of users and servers does not guarantee equivalent problems and, consequently, results. What might have happened is that the generator by chance made a problem where the servers and users were placed much denser or sparser. This rather different problem in turn resulted in the parameters failing a couple of runs. The server coverage κ shows the average amounts of servers each users has access to in the test 2 is 8.29 whileY\was tuned on a problem with κ=13.13.

[0109] Table 5: Generalization results, testing obtained parameters on new problems with same number of users and servers. 10-run average. P108803WO01 (3602-2787WO1) 30Parameters No of Average Difference w.r.t Optimal Score Simulation Test 1 Test 2 Test 3 Test 4 Test 5 step YZ 500 0 0 0 0 0Y[ 2000 0 0 0 0.2 0.1Y\ 5000 2.2 146.7 1.8 1.2 1.8

[0110] Lastly, to further evaluate the generalization, all four sets of parameters were run on unseen problems of different sizes. The results are all presented in Table 6 below. Again, as was described above, it seems that the parameters work quite well on problems of similar sizes. When coverage and problem size is close to the values of the original problem, the parameters show great performance.

[0111] Table 6: Robustness test results, testing obtained parameters on new problem sizes. 10-run average, best scores in bold font. Problem Users / No of CoverOpti Average ScoreInstance Servers / Simulage g mal YZ Y[ Y\ Y\%Type Capacity ation Score step Originall 6 / 4 / 3 500 2.67 -4.0 -4.0 -4.0 -3.9 -3.9 y Tuned 100 / 10 / 20 2000 4.45 -87 -86.2 -87.0 -85.5 -84.9 1000 / 30 / 75 5000 13.13 -985 -264.2 -976.6 -983.8 -972.2 Unseen 50 / 8 / 15 2000 2.35 -39 -39.0 -39.0 -39.0 -38.8 for 100 / 10 / 20 2000 5.25 -95 -93.9 -94.0 -93.6 -92.5 Testing 200 / 15 / 30 3000 4.54 -174 -172.4 -173.9 -173.2 -171.8 500 / 20 / 45 4000 5.79 -481 -260.8 -476.9 -439.4 -402.5 600 / 25 / 45 4000 4.16 -508 -501.3 -502.0 -506.0 -479.8 1000 / 30 / 75 5000 13.61 -986 -266.4 -903.7 -985.0 -973.0 2000 / 35 / 10 5000 9.57 -1954 -397.8 -862.4 -1855.6 - 0 1251.4

[0112] Comparison with ABC and TPE Algorithm: P108803WO01 (3602-2787WO1) 31

[0113] As the ABC-BA model disclosed herein has been developed to tune the stochastic SNNs, while overcoming the limitations of ABC and TPE algorithms, we compare its performance against both ABC and TPE schemes. As all algorithms could find a set of parameters yielding good results, albeit different tuning overhead, we visualize the parameter- space with all tested parameters marked to separate the systematic search from lucky guesses. In the testing described, we take the TPE implementation from Optuna package (see Akiba, Takuya, et al. “Optuna: A next-generation hyperparameter optimization framework.” Proceedings of the 25th ACM SIGKDD international conference on knowledge discovery & data mining. 2019). The evaluation has been done on the medium and large problem sizes. Results are presented as the tuned parameters in Table 7 below, their performance in Table 8 below, and a 3D slice of the parameter space with marked trials in Figures 9A-9C and 10A-10C, plotted as “+”s and “+” and “●”s. The “●”s shown in the figures highlight the top 10% of results.

[0114] Starting with the medium problem, the plotted search spaces are shown in FIGS. 9A-9C. FIG. 9A is a plotted search space illustrating a 3-dimensional slice of a parameter space for tuned parameters for solving a combinatorial optimization problem associated with the medium problem size for edge user allocation using Tree Structure Parzen Estimator (TPE) algorithm. FIG. 9B is a plotted search space illustrating a 3-dimensional slice of a parameter space for tuned parameters for solving a combinatorial optimization problem associated with the medium problem size for edge user allocation using an Artificial Bee Colony (ABC) algorithm. FIG. 9C is a plotted search space illustrating a 3-dimensional slice of a parameter space for tuned parameters for solving a combinatorial optimization problem associated with the medium problem size for edge user allocation using an Artificial Bee Colony – Bee Accountant (ABC- BA) algorithm according to one or more embodiments.

[0115] One can clearly see the different search styles of the three algorithms. ABC (FIG. 9B) gave a very sparse and explorative search, while TPE (FIG. 9A) almost oppositely seemed to heavily exploit a small region around where it found the supposedly optimal value. ABC-BA (FIG. 9C) clearly inherits aspect from both its parent algorithms, resulting in multiple smaller clusters of exploitation. The TPE and ABC-BA clusters are centered in similar regions, although the ABC-BA also explores the surrounding region. For many continuous objective functions, a small change could represent an improvement. But in this case, it is assumed that small changes P108803WO01 (3602-2787WO1) 32do not alter results for the stair-shaped objective function (at least not as much as the SNN stochasticity). Fine-grained exploitation might therefore not be as important when tuning the SSNN. When imposing a minimum value on the kernels’ variances, the performance of a datapoint is also inferred on the surrounding area. As TPE allows smaller variances, the clusters are less explorative and more prone to get stuck in clusters of lucky guesses.

[0116] As seen in FIG. 9C, the ABC-BA algorithm’s best points were found on the boundary of the upper cluster, suggesting that the cluster is likely a result from an early lucky guess. While this might correspond to a good region, finding consistently performant parameters is tricky. Especially since each parameter is only run a finite number of times. Escaping this and finding better results outside the clusters is a plus for ABC-BA, as TPE seems stuck.

[0117] Table 7: Comparison of Tuned Parameters Using ABC, TPE and ABC-BA Schemes Medium^Y[Large^Y\Variable TPE ABC ABC-BA TPE ABC ABC- BA]^_` -14.57 -13.26 -10.6 -35.54 -11.44 -34.1]a_` -5.35 -3.28 -3.5 -0.43 -3.12 -0.55]b^^c 6.81 3.67 4.5 1.32 2.71 1.3d N$I 0.1 0.1 0.1 0.1 0.1 0.1ef 8 8 8 8 8 8

[0118] Effect of Stochasticity on Tuned Parameters:

[0119] Evaluating the stochastic SNN with tuned parameters 100 times shows that Yh[ij, while seemingly the most confident, had found the worst parameters, and fails to givesolution 24 times. It is, however, clear that the parameters can give lucky results as good solutions are found roughly 75% of runs (see Table 8 below). Had each parameter been run more times, this inconsistent solution would have been detected. ABC found quite good parameters with a consistently good score, but from FIG. 9B, it looks like it found it by accident. The best parameters were found by ABC-BA (FIG. 9C), with a smart search pattern but still showing some luck in finding its parameters. P108803WO01 (3602-2787WO1) 33

[0120] Now turning to the large problem, the algorithms display similar behavior as when tuning the medium problem. For the large problem, the plotted search spaces are shown in FIGS. 10A-10C. FIG. 10A is a plotted search space illustrating a 3-dimensional slice of a parameter space for tuned parameters for solving a combinatorial optimization problem associated with the large problem size for edge user allocation using Tree Structure Parzen Estimator (TPE) algorithm. FIG. 10B is a plotted search space illustrating a 3-dimensional slice of a parameter space for tuned parameters for solving a combinatorial optimization problem associated with the large problem size for edge user allocation using an Artificial Bee Colony (ABC) algorithm. FIG. 10C is a plotted search space illustrating a 3-dimensional slice of a parameter space for tuned parameters for solving a combinatorial optimization problem associated with the large problem size for edge user allocation using an Artificial Bee Colony – Bee Accountant (ABC-BA) algorithm according to one or more embodiments

[0121] ABC (FIG. 10B) still seems completely random, almost looking identical to the search in FIG. 9B. TPE (FIG. 10A) again has one large cluster and ABC-BA (FIG. 10C) several small clusters. This time the TPE algorithm displays a much broader distribution, probably resulting from the algorithm finding several good, but spaced, parameters before going into deeper exploitation. Quite interesting is that the best parameters that TPE found were not in the cluster, instead being the “●”s left of the cluster (in FIG. 10A). Another interesting observation is that these “●”s are in the region where ABC-BA has a cluster containing its best parameters.

[0122] Comparing performance, the parameters found by TPE (FIG. 10A) and ABC-BA (FIG. 10C) are very similar and therefore show very similar performance. The ABC-BA does give a slightly more consistent score, which makes sense seeing that it exploited the region while TPE was “lucky” to obtain parameters from that region. ABC (FIG. 10B) gave the worst result, finding parameters that consistently found subpar solutions.

[0123] Based on the experimentation, as described herein, the novel ABC-BA method improved the probability of obtaining close to optimal result by roughly 2x and 12x, respectively (see grey shaded entries in Table 8 below).

[0124] Table 8: Results from running the TPE, ABC, and ABC-BA parameters P108803WO01 (3602-2787WO1) 34Medium Large ParameterScor DifferencOccurrenc ParameterScor DifferencOccurrenc s^Y e w.r.tes ^Y e e w.r.te [e [Optimal(%) Optimal (%) Score Score ABC-BA -87 0 99 ABC-BA -984 1 74 -86 1 1 -983 2 24 ABC -87 0 14 -982 3 2 -86 1 86 ABC -983 2 1 TPE -87 0 15 -982 3 1 -86 1 49 -981 4 45 -85 2 11 -980 5 40 -84 3 1 -979 6 12 -11 76 1 -978 7 1 -8 79 1 TPE -984 1 62 -7 80 2 -983 2 33 -6 81 2 -982 3 5 -5 82 6 -4 83 2 -3 84 6 -2 85 4

[0125] Tuning Performance on MIMO Detection Use-Case:

[0126] For this MIMO detection use case, we suppose there are ^^mobile users, each of which has one antenna, each sending data bits to a multi-antenna (^k≥ ^^) MIMO access point (AP) based on OFDM, the dominant physical layer technique in broadband wireless communication systems. Considering all users’ data bits together in a vector whose elements each comprise a single user’s data bits, the users first map those data bits into a complex-valued symbol Z that is transmitted over a radio channel: Z = l^_$, ^m, … , ∈ ℂno. Each user sends from a constellation r of size |r| = 2t( u bits perdecoding problem, P108803WO01 (3602-2787WO1) 35whose optimal solution is called the maximum likelihood (ML) solution, consisting of a search over the sets of transmitted symbols, looking for the set that minimizes the error with respect to what has been received at the AP:

[0127] Zv = mimZ∈wxno||y-Hs|| . (8)“de-maps” the decoded symbols Zvto decoded bits yz. In Eq.8, { ∈ ℂn|×no = ~^ + ^~^H is the wireless channel on each OFDM subcarrier and ^ ∈ℂn|^= {Z + ^ received set of symbols, perturbed by ^ ∈ ℂn|, additive white Gaussiannoise (AWGN). This solution minimizes detection errors, thus maximizing throughput (i.e., throughput-optimal decoding). See Minsung Kim, et al. “Leveraging Quantum Annealing for Large MIMO Processing in Centralized Radio Access Networks.” Proceedings of the ACM Special Interest Group on Data Communication Xiv:2001.04014 [cs.NI] 241-255 (2019)

[0129] Implemented SSNN

[0130] Constructing the SSNN for QUBO minimization is straightforward. As the problem is unconstrained all information is contained within the matrix ^. For a ^dimensional problem, a population of ^ neurons is created. These neurons follow the dynamic from the following Equations (9) and (10):

[0131] ^+ ∑\^^ ^^\^\^^^ , ^^+^^^^^ = ^,^^^^ =A(9)

[0132] Each of these neurons has an input neuron governed by the following Equation 11 supplying the N neurons with stochastic noise. ^^^^^+^= ^, ^~^^^^^Y . (8)P108803WO01 (3602-2787WO1) 36

[0133] The principal neurons are then interconnected with synaptic weights corresponding to the elements matrix ^, e.g., neuron 1 is connected to neuron 5 through a synapse with weight −^$^. The negative factor corresponds to the minimization of the ^-matrix.

[0134] FIG. 11 is a diagram 1100 illustrating a stochastic spiking neural network according to one or more embodiments. The SSNN diagram 1100 illustrated in FIG. 11 is constructed for QUBO minimization for the MIMO detection problem.

[0135] Obtaining the active neurons

[0136] As the energy function represents a distribution, the network does not converge to a single state representing the solution but constantly explore states sampled from the energy function. Furthermore, for the QUBO problem, obtaining the “active” neurons (indirectly the QUBO solution) is not straightforward. As the network continuously explores the energy function the set of active neurons changes with time. There are probably multiple working choices for solving this problem, but in this implementation, the neurons’ fire rates are used to obtain the active neurons. The neurons that often spike are more often considered active, and vice-versa. This is implemented as short windows in the simulation, where all neurons that spike within the time window are considered active that time window. Neurons with a high fire rate are therefore more probable to spike within the short time window and will be present in more of these time windows. For the Lava implementation, the length of this window is 30 simulation steps.

[0137] Tuning the SSNN parameters

[0138] For the presented QUBO-solving SSNN, most of the network parameters are inferred from the problem, i.e., the synaptic strengths obtained from the QUBO matrix ^. The remaining parameters do however still require tuning to optimize the functionality of the SSNN. For automated tuning, the novel ABC-BA model described in this disclosure is used. The target parameters are indicated in the following table:

[0139] Table 9: Target Parameters for QUBO-SSNN P108803WO01 (3602-2787WO1) 37Variable Description e^^Principal neuron voltage threshold dN$Principal neuron leak parameter ]^nInput neuron excitatory strength / ^nInput neuron spike probability

[0140] Results

[0141] The following provides some numerical results obtained from the automated tuner and SSNN as described. As the testing is heavily limited, this should not be considered as thorough or complete testing of either the implemented network or the ABC-BA tuner. The results consider the tuning of a SSNN solving an instance of a 20-dimensional QUBO problem, considered sufficiently non-trivial. The QUBO matrix ^ used in tuning is as follows:

[0142] Table 10: ^ matrix Used in Tuning

[0143] The ABC-BA parameter-tuner is run with four bees and a total of 1000 simulation steps in Lava. Each run set of parameters is evaluated as the 5-runtime average score. The score P108803WO01 (3602-2787WO1) 38is simply the solution vector ^’s performance, ^_^^. The tuning consists of 20 iterations of ABC-BA.

[0144] For the QUBO matrix, as shown above, the optimal solution and subsequent score is: ^= ^1,1,1,1,1,0,1,1, ^_^ 1,0,1,1,0,1,1,1,1,1,1,1 ,^_^^^^ = −6.33

[0145] Tuned parameters

[0146] Following the ABC-BA tuning, the found set of parameters p are: e^^ = 9.84= 0.12=7.90= 0.12Looking at the set of parameters, both the voltage thresholds e^^and noise synaptic strength ]^nappear quite large, while the voltage leak dN$and especially input noise probability / ^nseem small.

[0147] Tuning Convergence

[0148] FIG. 12 is a graph 1200 illustrating convergence over tuning iterations of a stochastic spiking neural network for solving a combinatorial optimization problem associated with multiple-input multiple-output (MIMO) signal detection according to one or more embodiments. To visualize, and better understand, the tuning process, the score convergence over the 20 ABC-BA iterations is shown in the graph of FIG. 12. The convergence obtained tuning the QUBO problem with ABC-BA is seen as best score, demonstrating improvement over the iterations

[0149] Consistency

[0150] With the SSNN tuned, to better understand the solution, the tuned set of parameters is run for an additional 100 runs on the same QUBO-matrix as there are tuned to P108803WO01 (3602-2787WO1) 39(Equation (6) above. If the parameters are consistent, then the results should be spread around the score obtained, as seen in FIG. 12.

[0151] Results from these 100 runs are presented in the following tables.

[0152] Score Table 11: Consistency results of the tuned parameters expressed in score:

[0153] Solution Error Norm Table 12: Consistency results of the tuned parameters expressed in solution error norm:

[0154] These are the same results expressed in two metrics — score and solution norm. The score is perhaps the better metric for understanding the SSNN’s performance, as it is what drives the solver. As shown in the Score Table, all found scores are at most 0.1 from the optimum. The second metric, called solution error norm, is the number of bits differing between the optimal solution and the computed. This measurement is easier to display but one needs to be careful with the interpretation, as the score is the minimization target. As the score does not P108803WO01 (3602-2787WO1) 40monotonically increase as the error norm gets smaller, the score of a solution with six incorrect bits might be better than a solution with only one bit off. Regardless, in the Solution Error Norm Table, it is clear that the found solution is most often only a few bits off.

[0155] Generalizability

[0156] The last test, generalizability, involves running the found set of tuned parameters on new problem instances. For this test, all matrices were kept at the same size — twenty times twenty. The results are presented as the 10-run average performance, expressed in score and solution error norm. Additionally, as the performance is expected to deteriorate on problems where the matrices are very different, the matrix norm between the tuned matrix (QUBO matrix shown above) and the new matrix is displayed. The following table shows the generalizability test, 10-run average solution error norm and score. ^_referencing the matrix on which the parameters are tuned. Table 13: Generalizability Test Results:

[0157] Apparatus:

[0158] One or more embodiments of the method disclosed herein may run on spiking neuromorphic hardware implementing SNN with one or more salient features: i) massive parallelism; ii) co-location of processing and memory at the neurons and synapses; iii) inherent scalability; iv) temporally sparse event-driven computation; and v) stochasticity. Examples of such systems include Intel’s Loihi, IBM TrueNorth, and SpiNNaker. Here, the neuromorphic P108803WO01 (3602-2787WO1) 41chip is connected to the CPU through interconnects like, for example, PCIe and ethernet, running a framework providing APIs and compilers for programming the desired SNN architecture on the neuromorphic hardware. It also provides runtime for low-level and system management.

[0159] FIG. 13 is a diagram 1300 illustrating exemplary neuromorphic hardware according to one or more embodiments. FIG. 13 shows an exemplary system architecture 1300, according to one or more embodiments, wherein the ABC-BA tuner 1310 may run on the host CPU 1320, while the SSNN evaluations 1330 corresponding to the best candidate set of parameters during each iteration may run on the neuromorphic hardware 1340.

[0160] Referring to FIG. 13, the neuromorphic hardware 1340 comprises a plurality of neuromorphic cores 1350. Although four (4) neuromorphic cores 1350 are depicted, any alternate number of neuromorphic cores 1350 are also contemplated (e.g., hundreds or thousands of cores, or more). Each neuromorphic core 1350 comprises a plurality of neurons, a plurality of synapses, and a communication interface. The communication interfaces of the neuromorphic cores 1350 are interconnected with each other using buses 1360.

[0161] The host CPU 1320 and the machine-readable media 1325 are included in a host printed circuit board assembly (PCBA) 1327. As shown, the host PCBA 1327 is shown as separate from the neuromorphic hardware 1340 and connected using an interconnect 1370 having any suitable implementation, such as Peripheral Component Interface Express (PCIe), Ethernet, and so forth. The host CPU 1328 comprises a plurality of processor cores 1329 that are connected to the machine-readable media 1325 using a bus 1326 having any suitable implementation.

[0162] In some embodiments, the host CPU 1320 executes computer code to perform various functionality described herein. In some embodiments, application programming interfaces (APIs) 1375 and compilers 1380 are used to program a spiking neural network architecture onto the neuromorphic hardware 1340. In some embodiments, the host CPU 1335 also executes computer code including a runtime 1385 that provides low-level and system-level management functions.

[0163] FIG. 14 is a block diagram illustrating a network node, a computing device, and an apparatus 1400 – i.e., device 1400 -- according to one or more embodiments, that can perform one or more of the processes disclosed herein, including methods 200, 300, 400, and 500. As P108803WO01 (3602-2787WO1) 42shown in FIG. 12, device 1400 may comprise: processing circuitry (PC) 1402, which may include one or more processors (P) 1455 (e.g., one or more general purpose microprocessors and / or one or more other processors, such as an application specific integrated circuit (ASIC), field-programmable gate arrays (FPGAs), and the like), which processors may be co-located in a single housing or in a single data center or may be geographically distributed (e.g., device 1400 may be a distributed computing apparatus comprising two or more computers or a monolithic computing apparatus consisting of a single computer); at least one network interface 1448 (e.g., a physical interface or air interface) comprising a transmitter (Tx) 1445 and a receiver (Rx) 1447 for enabling device 1400 to transmit data to and receive data from other nodes connected to network 1410 (e.g., an Internet Protocol (IP) network) to which network interface 1448 is connected (physically or wirelessly) (e.g., network interface 1448 may be coupled to an antenna arrangement comprising one or more antennas for enabling device 1400 to wirelessly transmit / receive data); and a storage unit (a.k.a., “data storage system”) 1408, which may include one or more non-volatile storage devices and / or one or more volatile storage devices. In embodiments where PC 1402 includes a programmable processor, a computer readable storage medium (CRSM) 1442 may be provided. CRSM 1442 may store a computer program (CP) 1443 comprising computer readable instructions (CRI) 1444. CRSM 1442 may be a non-transitory computer readable medium, such as, magnetic media (e.g., a hard disk), optical media, memory devices (e.g., random access memory, flash memory), and the like. In some embodiments, the CRI 1444 of computer program 1443 is configured such that when executed by PC 1402, the CRI causes apparatus 1400 to perform the steps described herein (e.g., steps described herein with reference to the flow charts). In other embodiments, device 1400 may be configured to perform the steps described herein without the need for code. That is, for example, PC 1402 may consist merely of one or more ASICs. Hence, the features of the embodiments described herein may be implemented in hardware and / or software.

[0164] Exemplary technical benefits of one or more of the embodiments disclosed herein include resourcefulness with evaluations and less sensitivity to the inherent stochasticity of spiking neural networks.

[0165] Exemplary technical benefits of one or more of the embodiments disclosed herein include enabling SSNNs representing large scale optimization problems to yield good quality P108803WO01 (3602-2787WO1) 43solutions (see FIG. 8D for EUA problem instance of 10,000 user and 50 servers) energy efficiently when running on neuromorphic hardware.

[0166] Exemplary technical benefits of one or more of the embodiments disclosed herein include that the tuned parameters obtained through the methods, including the novel ABC-BA model, disclosed herein, work well on the unseen similarly sized problem instances (see Table 5 and 6), i.e., the tuning overhead across the similarly sized problem instances is limited

[0167] Exemplary technical benefits of one or more of the embodiments disclosed herein include, compared to TPE and ABC algorithms, improvement in the probability of obtaining close to optimal result by roughly 2x and 12x, respectively (see grey entries in Table 8 above).

[0168] While various embodiments are described herein, it should be understood that they have been presented by way of example only, and not limitation. Thus, the breadth and scope of this disclosure should not be limited by any of the above-described exemplary embodiments. Moreover, any combination of the above-described elements in all possible variations thereof is encompassed by the disclosure unless otherwise indicated herein or otherwise clearly contradicted by context.

[0169] As used herein transmitting a message “to” or “toward” an intended recipient encompasses transmitting the message directly to the intended recipient or transmitting the message indirectly to the intended recipient (i.e., one or more other devices are used to relay the message from the source device to the intended recipient). Likewise, as used herein receiving a message “from” a sender encompasses receiving the message directly from the sender or indirectly from the sender (i.e., one or more devices are used to relay the message from the sender to the receiving device). Further, as used herein “a” means “at least one” or “one or more.”

[0170] Additionally, while the processes described above and illustrated in the drawings are shown as a sequence of steps, this was done solely for the sake of illustration. Accordingly, it is contemplated that some steps may be added, some steps may be omitted, the order of the steps may be re-arranged, and some steps may be performed in parallel. P108803WO01 (3602-2787WO1) 44

Claims

CLAIMS:

1. A computer-implemented method (200) for automated tuning of a stochastic spiking neural network (SSNN) for solving a combinatorial optimization problem (COP), the method comprising: (i) defining (205) a set of features of the COP; (ii) building (210) the SSNN with an architecture based on the defined COP feature set; (iii) selecting (215) a tunable set of parameters of the SSNN based on the architecture; (iv) tuning (220) the selected tunable set of parameters using an artificial bee colony - accountant bee (ABC-BA) model; (v) implementing (225) the SSNN using the tuned set of parameters; (vi) evaluating (230) the performance of the SSNN to determine whether a pre- determined criteria for solving the COP is met; (vii) repeating (235) steps (iv) to (vi) until the performance meets the pre-determined criteria; and (viii) obtaining (240) the solution for solving the COP.

2. The method according to claim 1, wherein the set of features of the COP includes one or more decision variables, one or more objective functions, and one or more constraints.

3. The method according to claims 1 or 2, wherein the SSNN includes a plurality of spiking neurons and a plurality of synapses, wherein the spiking neurons are injected with excitatory noise or inhibitory noise, the spiking neurons are inter-connected by the synapses, and each synapse is an excitatory synapse or a inhibitory synapse.

4. The method according to claim 3, wherein the one or more decision variables correspond to the plurality of spiking neurons, and the synaptic inter-connections between the spiking neurons correspond to the one or more objective functions and the one or more constraints. P108803WO01 (3602-2787WO1) 455. The method according to any of claims 1-4, wherein the COP is associated with edge user allocation in a communication network and the solution obtained provides a communication network configuration that solves the edge user allocation problem.

6. The method according to claim 5, wherein: the communication network includes a plurality of winner take all (WTA) circuits (710), base stations (BS) (625), edge servers (ES) (620) and user equipments (UE) (610); and the plurality of spiking neurons includes principal neurons (740), input neurons (750), utilization neurons (730), capacity neurons (720)and monitor neurons (760), wherein the number of Winner Takes All (WTA) circuits corresponds to the number of UEs, the number of capacity neurons and utilization neurons correspond to the number of ESs, the number of principal neurons in each WTA correspond to the number of ESs to which a representative UE could be assigned, the input neurons feed a poison noise to the respective primary neurons, and the monitor neurons track the number of UEs allocated to the ESs.

7. The method according any of claims 1-4, wherein the COP is associated with multiple-input multiple-output (MIMO) signal detection in a MIMO communication system and the solution obtained solves the MIMO detection problem.

8. The method according to claim 7, wherein: the MIMO communication system includes a plurality of receivers; and the solution includes estimates, with maximum likelihood, that transmitted symbols are received at receivers in the MIMO communication system and their mappings of symbol bits as decision variables mapped to the neurons.

9. The method according to any one of claims 1-8, further comprising: implementing (505) a plurality N of searching agents, each searching agent having an associated tunable set of parameters, a fitness score, and an abandonment counter; implementing (510) a plurality M of exploiting agents; and P108803WO01 (3602-2787WO1) 46randomly (515) initializing N tunable sets of parameters associated with the searching agents, wherein (iv) tuning the selected set of parameters using an ABC-BA model comprises: (iv-1) generating (520), for each searching agent, random current values for the tunable set of parameters associated with the searching agent; (iv-2) randomly (525) selecting a searching agent and generating, for each searching agent, random new values for the tunable set of parameters associated with the searching agent that are closer to the parameter values of the randomly selected searching agent; (iv-3) implementing (530), for evaluation of each searching agent, the SSNN using the new values for the tunable set of parameters and generating an associated objective function score; (iv-4) creating (535) a global data set and adding, for each searching agent evaluated, the values for the tunable set of parameters and the associated objective function score to the global data set; (iv-5) comparing (540), for each searching agent, the performance of the SSNN using the new values and the current values for the tunable set of parameter, and wherein: if the performance is better for the new values, updating the values of the tunable set of parameters and fitness score to the new values, and if the performance is not better for the new values, incrementing the abandonment counter for the searching agent; (iv-6) calculating (545), for each searching agent, an attraction probability by dividing the fitness score for the searching agent with the sum of the fitness scores for all searching agents; (iv-7) comparing (550) the size of the global data set to a predetermined size, and if the size of the global data set is greater than the predetermined size: (iv-8) assigning (555) each exploiting agent to a searching agent with a probability equal to attraction probability of that searching agent; (iv-9) building (560), for each exploiting agent, a local subset of data from the global dataset, wherein the local subset of data includes sets of parameters closest to the set of parameters of the corresponding searching agent, and wherein the local subset of data is split into a good local dataset and a bad local datasets based on their SSNN evaluations; P108803WO01 (3602-2787WO1) 47(iv-10) building (565), for each exploiting agent, a probability density function using a kernel density estimator with gaussian kernels for the good local dataset and the bad local dataset, and for each data point in the dataset, placing a kernel with a mean corresponding to a parameter in the data set and with a variance corresponding to the shortest distance from the same parameter in the data set; (iv-11) sampling (570), for each exploiting agent, sample candidates of a set of parameters from the probability density function corresponding to the good data points; (iv-12) constructing (575), for each exploiting agent, a local surrogate function from the probability density functions corresponding to good and bad local datasets; (iv-13) selecting (580), for each exploiting agent, the best candidate set of parameters by evaluating their candidates using the local surrogate function; (iv-14) implementing (585), for evaluation of each exploiting agent, the SSNN using the best candidate set of parameters; (iv-15) adding (590), for each exploiting agent evaluated, the values for the evaluated set of parameters and the associated objective function score to the global data set; (iv-16) (592) for each searching agent whose assigned exploiting agent found a set of parameters better than the current set of parameters, updating the values of the set of parameters and fitness score to the new values, and if the performance is not better for the new values, incrementing the abandonment counter for the searching agent; (iv-17) (594) after step ( iv-16) or if the size of the global data set is not greater than the predetermined size, checking if the abandonment counter for any searching agent is greater than a threshold value and, for each searching agent with an abandonment counter greater than the threshold value, randomly re-initializing the tunable sets of parameters and implementing, for evaluation, the SSNN using the re-initialized values for the tunable set of parameters; checking (596) a criteria for stopping (iv) tuning the selected set of parameters using an ABC-BA model, and if the criteria is not satisfied, returning to step (iv-1) and if the criteria is satisfied, returning, for step (v) implementing the SSNN using the tuned set of parameters, the tuned set of parameters with the highest score from the parameter-space region with the densest collection of top performing set of parameters. P108803WO01 (3602-2787WO1) 4810. The method according to any of claims 1-9, wherein the SSNN is implemented on neuromorphic hardware.

11. The method according to any of claims 1-10, wherein the SSNN is implemented on processing circuitry simulating neuromorphic hardware.

12. The method according to claim 3, wherein the SSNN includes an inferred set of parameters based on the COP description and the tunable set of parameters includes one or more of synaptic weights inferred from the COP description, parameters defining the SSNN model, and / or a spike rate of input noise for injecting the spiking neurons with the excitatory noise and / or the inhibitory noise.

13. A computing device (1400) for automated tuning of a stochastic spiking neural network (SSNN) for solving a combinatorial optimization problem (COP), comprising: a memory (1408); and processing circuitry (1402) coupled to the memory, wherein the processor is configured to: (i) define a set of features of the COP; (ii) build the SSNN with an architecture based on the defined COP feature set; (iii) select a tunable set of parameters of the SSNN based on the architecture; (iv) tune the selected tunable set of parameters using an artificial bee colony - accountant bee (ABC-BA) model; (v) implement the SSNN using the tuned set of parameters; (vi) evaluate the performance of the SSNN to determine whether a pre-determined criteria for solving the COP is met; (vii) repeat steps (iv) to (vi) until the performance meets the pre-determined criteria; and (viii) obtain the solution for solving the COP. P108803WO01 (3602-2787WO1) 4914. The computing device according to claim 13, wherein the set of features of the COP includes one or more decision variables, one or more objective functions, and one or more constraints.

15. The computing device according to claims 13 or 14, wherein the SSNN includes a plurality of spiking neurons and a plurality of synapses, wherein the spiking neurons are injected with excitatory noise or inhibitory noise, the spiking neurons are inter-connected by the synapses, and each synapse is an excitatory synapse or a inhibitory synapse.

16. The computing device according to claim 15, wherein the one or more decision variables correspond to the plurality of spiking neurons, and the synaptic inter-connections between the spiking neurons correspond to the one or more objective functions and the one or more constraints.

17. The computing device according to any of claims 13-16, wherein the COP is associated with edge user allocation in a communication network and the solution obtained provides a communication network configuration that solves the edge user allocation problem.

18. The computing device according to claim 17, wherein: the communication network includes a plurality of winner take all (WTA) circuits, base stations (BS), edge servers (ES) and user equipments (UE); and the plurality of spiking neurons includes principal neurons, input neurons, utilization neurons, capacity neurons and monitor neurons, wherein the number of Winner Takes All (WTA) circuits corresponds to the number of UEs, the number of capacity neurons and utilization neurons correspond to the number of ESs, the number of principal neurons in each WTA correspond to the number of ESs to which a representative UE could be assigned, the input neurons feed a poison noise to the respective primary neurons, and the monitor neurons track the number of UEs allocated to the ESs. P108803WO01 (3602-2787WO1) 5019. The computing device according any of claims 13-16, wherein the COP is associated with multiple-input multiple-output (MIMO) signal detection in a MIMO communication system and the solution obtained solves the MIMO detection problem.

20. The computing device according to claim 19, wherein: the MIMO communication system includes a plurality of receivers; and the solution includes estimates, with maximum likelihood, that transmitted symbols are received at receivers in the MIMO communication system and their mappings of symbol bits as decision variables mapped to the neurons.

21. The computing device according to any one of claims 13-20, wherein the processor is configured to: implement a plurality N of searching agents, each searching agent having an associated tunable set of parameters, a fitness score, and an abandonment counter; implement a plurality M of exploiting agents; and randomly initialize N tunable sets of parameters associated with the searching agents, wherein (iv) tuning the selected set of parameters using an ABC-BA model comprises: (iv-1) generating, for each searching agent, random current values for the tunable set of parameters associated with the searching agent; (iv-2) randomly selecting a searching agent and generating, for each searching agent, random new values for the tunable set of parameters associated with the searching agent that are closer to the parameter values of the randomly selected searching agent; (iv-3) implementing, for evaluation of each searching agent, the SSNN using the new values for the tunable set of parameters and generating an associated objective function score; (iv-4) creating a global data set and adding, for each searching agent evaluated, the values for the tunable set of parameters and the associated objective function score to the global data set; (iv-5) comparing, for each searching agent, the performance of the SSNN using the new values and the current values for the tunable set of parameter, and wherein: if the performance is better for the new values, updating the values of the tunable set of parameters and fitness score to the new values, and P108803WO01 (3602-2787WO1) 51if the performance is not better for the new values, incrementing the abandonment counter for the searching agent; (iv-6) calculating, for each searching agent, an attraction probability by dividing the fitness score for the searching agent with the sum of the fitness scores for all searching agents; (iv-7) comparing the size of the global data set to a predetermined size, and if the size of the global data set is greater than the predetermined size: (iv-8) assigning each exploiting agent to a searching agent with a probability equal to attraction probability of that searching agent; (iv-9) building, for each exploiting agent, a local subset of data from the global dataset, wherein the local subset of data includes sets of parameters closest to the set of parameters of the corresponding searching agent, and wherein the local subset of data is split into a good local dataset and a bad local datasets based on their SSNN evaluations; (iv-10) building, for each exploiting agent, a probability density function using a kernel density estimator with gaussian kernels for the good local dataset and the bad local dataset, and for each data point in the dataset, placing a kernel with a mean corresponding to a parameter in the data set and with a variance corresponding to the shortest distance from the same parameter in the data set; (iv-11) sampling, for each exploiting agent, sample candidates of a set of parameters from the probability density function corresponding to the good data points; (iv-12) constructing, for each exploiting agent, a local surrogate function from the probability density functions corresponding to good and bad local datasets; (iv-13) selecting, for each exploiting agent, the best candidate set of parameters by evaluating their candidates using the local surrogate function; (iv-14) implementing, for evaluation of each exploiting agent, the SSNN using the best candidate set of parameters; (iv-15) adding, for each exploiting agent evaluated, the values for the evaluated set of parameters and the associated objective function score to the global data set; (iv-16) for each searching agent whose assigned exploiting agent found a set of parameters better than the current set of parameters, updating the values of the set of parameters and fitness score to the new values, and P108803WO01 (3602-2787WO1) 52if the performance is not better for the new values, incrementing the abandonment counter for the searching agent; (iv-17) after step ( iv-16) or if the size of the global data set is not greater than the predetermined size, checking if the abandonment counter for any searching agent is greater than a threshold value and, for each searching agent with an abandonment counter greater than the threshold value, randomly re-initializing the tunable sets of parameters and implementing, for evaluation, the SSNN using the re-initialized values for the tunable set of parameters; checking a criteria for stopping (iv) tuning the selected set of parameters using an ABC- BA model, and if the criteria is not satisfied, returning to step (iv-1) and if the criteria is satisfied, returning, for step (v) implementing the SSNN using the tuned set of parameters, the tuned set of parameters with the highest score from the parameter-space region with the densest collection of top performing set of parameters.

22. The computing device according to any of claims 13-21, wherein the SSNN is implemented on neuromorphic hardware.

23. The computing device according to any of claims 13-22, wherein the SSNN is implemented on processing circuitry simulating neuromorphic hardware.

24. The computing device according to claim 15, wherein the SSNN includes an inferred set of parameters based on the COP description and the tunable set of parameters includes one or more of synaptic weights inferred from the COP description, parameters defining the SSNN model, and / or a spike rate of input noise for injecting the spiking neurons with the excitatory noise and / or the inhibitory noise.

25. A apparatus (1400) comprising: processing circuitry (1402); and a memory (1408), said memory containing instructions (1444) executable by said processing circuitry, whereby said apparatus is operative to perform the method of any one of claims 1-12. P108803WO01 (3602-2787WO1) 5326. A computer program (1443) comprising instructions (1444) for adapting an apparatus (1400) to perform the method of any one of claims 1-12.

27. A carrier (1242) containing the computer program of claim 26, wherein the carrier is one of an electronic signal, optical signal, radio signal, or computer readable storage medium. P108803WO01 (3602-2787WO1) 54

Citation Information

Patent Citations

  • System and method to hardcode interger linear optimization problems on physical implementations of the Ising model

    US10691771B2