{'fraction_non_alphanumeric': 0.026970217301201967, 'fraction_numerical': 0.009710462431168215, 'mean_word_length': 4.634528773978316, 'pattern_counts': {'":': 0, '<': 2, '<?xml version=': 0, '>': 1, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Semi-supervised learning combining backpropagation and STDP: STDP enhances learning by backpropagation with a small amount of labeled data in a spiking neural network

A semi-supervised learning method for spiking neural networks is proposed. The proposed method consists of supervised learning by backpropagation and subsequent unsupervised learning by spike-timing-dependent plasticity (STDP), which is a biologically plausible learning rule. Numerical experiments show that the proposed method improves the accuracy without additional labeling when a small amount of labeled data is used. This feature has not been achieved by existing semi-supervised learning methods of discriminative models. It is possible to implement the proposed learning method for event-driven systems. Hence, it would be highly efficient in real-time problems if it were implemented on neuromorphic hardware. The results suggest that STDP plays an important role other than self-organization when applied after supervised learning, which differs from the previous method of using STDP as pre-training interpreted as self-organization.


Introduction
The brain is a large network of neurons. The neurons are connected by synapses, and information is transmitted by spikes. A spike is a short pulse signal, and its waveform does not carry any information. Rather, the number and timing of spikes are thought to transmit information. 1) In recent years, artificial neural networks (ANNs) inspired by this structure of the brain have achieved great success when applied to various problems of machine learning using techniques such as deep learning. 2) However, the transmission of information in ANNs is analog-valued, such as outputs of the sigmoid function, and ANNs do not transmit spikes like real neurons in the brain. Furthermore, ANNs do not have the dynamics that the membrane potential rises in time series until it exceeds the threshold to fire. Therefore, they are very different from real brains. As an alternative, spiking neural networks (SNNs), which offer high energy efficiency and performance in real-time problems when used with neuromorphic hardware, 3) have been proposed. 4) SNNs use models that focus on action potentials, such as the integrate-and-fire model, to transmit information by increasing the membrane potential and firing in response to each input at a specific time. It is known that the output spike trains are sparse in time and each spike has high information content. 5) Thus, SNNs are more biologically plausible, capable of detailed behaviors, and energy efficient. In recent years, research that combines fields such as high-energy physics with machine learning, especially deep learning in ANNs, has been actively conducted. 6) Even in fields of physics in which ANNs have shown promising results, SNNs are expected to enable the application of advanced and accurate algorithms owing to their high efficiency in real-time processing. 7) Despite theoretically demonstrating that the computational power of SNNs is at least equal to that of ANNs, 8) their performance has been significantly inferior to that of ANNs in various machine learning problems. The reason for this poor performance is that there has been no suitable learning method for SNNs. The spike is a discontinuous process and is nondifferentiable. Therefore, we cannot use straightforwardly error backpropagation (BP), a very powerful supervised learning algorithm that is widely used in ANNs. However, in recent years, many approximate methods of BP have been proposed for SNNs, and they are beginning to show performance close to that of ANNs. [9][10][11][12] For example, Bohte et al. treated the firing time as a nonlinear function based on the membrane potential, 9) Ledinauskas et al. tuned a surrogate gradient function, 10) Mostafa used a transformation of time variables, 11) and Lee et al. treated nondifferentiable points as noise. 12) In each of these studies, SNNs were trained by BP, and high performance was achieved.
In addition, because neurons of SNNs fire in time series and transmit information using spikes, they can be trained by spike-timing-dependent plasticity (STDP), which is a biologically plausible unsupervised learning mechanism. STDP is a phenomenon discovered by observing biological synapses that manipulates the strength of synaptic connections between connected neurons depending on pre-and post-synaptic spike timings. 13) Several studies have reported that unsupervised learning, such as image classification, can be performed by applying STDP to SNNs. 14,15) STDP is an unsupervised learning rule, but it can be used for supervised learning with various mechanisms. 16,17) In supervised learning, such as learning by BP, a large amount of labeled data is required to obtain high performance. However, it is not easy to obtain labeled data because manual labeling is expensive. In contrast, in unsupervised learning such as learning by STDP, labels are not required. Unlabeled data are easy to obtain. Hence, in the field of machine learning, semi-supervised learning that uses both labeled and unlabeled data has been developed to reduce the cost of data labeling. 18) In semi-supervised learning, a small amount of labeled data and a large amount of unlabeled data are generally used for learning. Although self-training is a method of discriminative models in semi-supervised learning, the accuracy is improved by labeling unlabeled data and increasing the amount of labeled data. In such a methodology, if the labeling is incorrect, the learning will fail. 19) In ANNs, layer-wise unsupervised pre-training followed by supervised fine-tuning can improve the accuracy, and this approach has achieved high performance. 20) Such a pre-training methodology was introduced by Hinton et al. 21) In that study, the deep brief network was trained by greedy layer-wise training. In the spiking domain, some methods have been proposed in which STDP is applied as unsupervised pre-training, followed by fine-tuning using BP. 22,23) Lee et al. succeeded in improving the robustness and speeding up the learning procedure using pre-training by STDP. 22) Dorogyy and Kolisnichenko reported that the accuracy is improved by pretraining with STDP when a small amount of labeled data is used. 23) The flow of supervised learning after STDP-based pre-training is thought to model the situation in which living things observe the world around them and are then taught about a certain thing such as a name by their teachers. In contrast, we can also consider the situation in which after being taught a certain thing, they observe it many times to improve their understanding. In other words, the sequence of STDPbased unsupervised learning following supervised learning also models real-world situations, and such research has not been previously reported.
In this paper, we propose a semi-supervised learning method consisting of STDP-based unsupervised learning after BP-based supervised learning. Numerical experiments to solve the task of handwritten digit recognition were performed to evaluate the capability of the proposed method. The results show that the proposed method improves accuracy when a small amount of labeled data is available and solves the problem of self-training because there is no need to label unlabeled data.
The remainder of this paper is organized as follows. In Sect. 2, we present the prior knowledge necessary to explain and provide the context for the proposed method. Section 3 describes our proposed method, Sect. 4 presents the numerical results, Sect. 5 discusses the results, and Sect. 6 summarizes the conclusions of this study.

Spiking neural network
In this study, we use fully connected feed-forward SNNs, in which each neuron is connected to all neurons in the next layer and information transfers from the input layer to the output layer in one direction. In addition, we assume that each layer has a winner-take-all (WTA) circuit, which is described in Sect. 2. 1.2. 24) Let N be the number of neurons and M be the number of synapses in a layer of the SNN. The number of active neurons that output spikes is denoted by n, and the number of active synapses that receive input spikes is denoted by m. In addition, a variable x in the l-th layer is expressed as x (l) .

Leaky integrate-and-fire neuron
The leaky integrate-and-fire (LIF) neuron, one of the bestknown spiking neural models, 25) integrates the input spikes weighted by the strength of synaptic connections and changes its membrane potential accordingly. This model approximates the biological phenomenon in which the membrane potential rises with time integration of the input, and when the membrane potential is above a critical voltage, an action potential is triggered and the membrane potential is reset. Because the state of the LIF model is updated only when an input is received, the update of the membrane potential for a given input spike is expressed as follows: 12) where V mp is the membrane potential, τ mp is the membrane time constant, t p and t p−1 are the p and p−1-th input times (that is, the present and previous input times), and w i is the weight of the i-th synapse that the input spike passes through. w dyn is a variable that controls the refractory period and is expressed as follows: where T ref is the maximum refractory period. We define ∆ t = t out − t p , where t out is the most recent firing time of the neuron. The refractory period is a period during which a neuron does not respond to the stimulus (input) immediately after spiking. When the membrane potential V mp exceeds the threshold V th , the LIF neuron generates a spike and the membrane potential decreases sharply: where t + p is the time immediately after spiking.

Winner-take-all circuit
A WTA circuit is a principle generally used in recurrent neural networks that inhibits the firing of other neurons in the same layer when one neuron fires. 24) A conceptual diagram of a WTA circuit is shown in Fig. 1. Biologically, such circuits play a role in cortical processing models such as a hierarchical model of vision in the cortex. 26) In SNNs, it is used to improve accuracy, stability, and learning speed as well as in unsupervised learning with STDP.

Visual receptive field
Organisms perceive changes in themselves and their environment by stimulus, process the stimuli, and communicate with others. However, they can only respond to stimuli in a specific zone. This limited area is called the receptive field. 1) The receptive field of a visual neuron refers to the area of the retina where cells can react to light. There are various types of receptive fields in the visual system, for example, on-center and off-center receptive fields. An on-center receptive field shows an excitatory response when stimulated at the center of the receptive field and an inhibitory response when stimulated at the peripheral part. In contrast, the off-center receptive field shows an inhibitory response when stimulated centrally and an excitatory response when stimulated peripherally.
The elements of the response matrix R of a receptive field can be expressed as the Frobenius inner product of the submatrix of the input stimulus matrix S and the receptive field structure matrix F, and are formulated as follows: where S ∈ R H×W , F ∈ R K×K , and R ∈ R (H−K+1)×(W−K+1) . H and W are the height and width of the input stimulus matrix S , respectively, and K is the size of the receptive field structure matrix F.

Backpropagation in SNNs
The spikes that carry information in SNNs are not differentiable because of their discontinuity. Therefore, to calculate the derivative required for the BP algorithm, an approximation or other method must be used. In this section, we introduce an approximation method that enables the derivation of differentiable transfer functions and their derivatives in SNNs. 12) First, we define two variables: x k (t), which is the accumulated effect of the k-th active input synapse onto the membrane potential of a target neuron, and a i (t), which is the generation of spikes in neuron i acting on its own membrane potential. These two variables are defined as sums of terms with exponential decays: Note that these two summations have different meanings: the first sum is over all input spike times t p < t at the k-th input synapse, and the second sum is over the output spike times t q < t for a i . Using these definitions, in the method by Lee et al., 12) ignoring the effect of refractory periods, the membrane potential of the i-th LIF neuron at time t is expressed as follows because of the properties of LIF neurons and WTA circuits: where w ik is the weight of the synapse between the k-th neuron in the previous layer and the i-th neuron in the current layer. In Eq. (6), the first term represents inputs, the second term represents membrane potential resets, and the third term represents lateral inhibitions by the WTA circuit. κ i j is the strength of the lateral inhibition parameter by a WTA mechanism from neuron j to neuron i and in [−1, 0]. σ is a parameter that controls the effect of lateral inhibition. From Eq. (6), if all layers have the same time constant τ mp , the output (a i ) from the current layer becomes the input (x i ) of the next layer. This is the basis for deriving an error BP algorithm via the chain rule.
Because there are discontinuous jumps, Eqs. (4), (5), and (6) are not differentiable at these points. However, in the method proposed by Lee et al., 12) these nondifferentiable points are considered as noise, and these equations are treated as differentiable continuous signals. Owing to this approximation, the calculation of gradients includes errors, but their results show that the influence of these errors is very small.
The transfer function of the LIF neuron in WTA circuits is approximated as follows by setting the residual V mp term to zero: where We derive the following equations by directly differentiating Eq. (7): where q = 1 σ . Here, assuming that the strengths of lateral inhibitions are all the same as µ (κ i j = µ, ∀i, j), we can simplify Eq. (9) to By substituting Eqs. (8) and (10) into the ordinary BP algorithm, it is possible to perform the BP algorithm in SNNs. Further techniques such as initialization, normalization, and regularization have been performed in prior research to improve accuracy and efficiency. 12)

Weight initialization and BP error normalization
To deal with chaotic convergence behavior and facilitate stable training convergence in SNNs, appropriate network initialization and optimization tools are important. 22) In this section, we describe the weight initialization and BP error normalization used in the error BP method introduced in Sect. 2.3. 12) The thresholds of neurons and the weights of synaptic connections in the l-th layer are initialized as follows: where α > 1 is a constant. U[−a, a] denotes a random number generated from a normal distribution in (−a, a). The weight initialized by Eq. (11) satisfies the following condition: This condition is used in BP error normalization. The main purpose of BP error normalization is to adjust the update the magnitudes of the weights and thresholds. In the lth layer, the error backpropagating through the i-th neuron is defined as follows: where g (l) (12), the expected value of the squared sum of errors is constant for all layers and thus the updating of the weights and thresholds can be balanced. Therefore, the weight and threshold are updated as where η w and η th are the learning rates of the weight and threshold, respectively. Letâ i = γa i − σ n j i κ i j a j and γ be a parameter. By performing the above normalization, in the initial stage of learning, the magnitude of the updates of weights and thresholds is determined according to the expected value of each active synapse, regardless of the number of active synapses and neurons. Therefore, the update of all layers in SNNs can be balanced.

Threshold regularization
Threshold regularization is applied to improve the firing balance of neurons in SNNs. This regularization has the effect of suppressing the generation of dead neurons and can improve the accuracy. In particular, when the network has WTA mechanisms, lateral inhibition occurs at each layer, and thus threshold regularization is important. The details of the threshold regularization are described in this section. 12) When N w neurons in a layer fire after receiving an input, the thresholds of the firing neurons are increased by ρN, and the thresholds of all neurons in that layer are reduced by ρN w . This process makes highly active neurons less sensitive to inputs because their thresholds increase, while less active neurons become more sensitive to inputs because their thresholds decrease. Therefore, the firing of neurons can be balanced, and the accuracy can be improved.

Spike-timing-dependent plasticity
STDP is a learning rule discovered by observing biological synapses that changes the strength of synaptic connections according to the temporal correlations of spikes between the connected neurons. 13) The outline of STDP learning is described in this section. 27) Although there are symmetric and asymmetric STDP rules for changing the strength of the synapse, we consider only an asymmetric one in this paper.
Here, we assume that neurons A and B are connected by a synapse and a spike signal is transmitted from neuron A to neuron B. If neuron A fires and then neuron B fires within a certain time window, long-term potentiation (LTP) is trig- gered, and thus the synaptic connection between them is strengthened. If the order is reversed, long-term depression (LTD) is triggered, and thus the synaptic connection between them is decreased. We define the firing time of neuron A as t pre and the firing time of neuron B as t post . Then, the timing difference between the pre-and post-synaptic spikes can be expressed as ∆s = t pre − t post . The amount of synaptic modification ∆w can be written as where A + and A − are positive and negative constants, respectively, which determine the maximum amount of synaptic change, and τ plus and τ minus are time constants. The weight change is described with the STDP learning rate σ stdp : We can train SNNs by applying the above unsupervised learning rule with WTA mechanisms. In other words, it is possible to use the temporal correlations of neuronal firing for learning.

Proposed Semi-supervised Learning Method
In SNNs, some methods of using unsupervised learning by STDP as pre-training have been proposed, 22,23) and the performance has been improved the same as pre-training in ANNs. Such a learning flow can correspond to the situation in which organisms observe the world in advance and are then taught specific labels. In contrast, we can assume a situation in which the labels are taught in advance and then subsequent observation deepens understanding. Moreover, in the semi-supervised learning method based on the discriminative models, the accuracy is generally improved by labeling unlabeled data and re-learning. This methodology has a problem in that learning does not work properly if incorrect labeling is applied. 19) The proposed method is a semi-supervised learning method in which unsupervised learning is performed by STDP after supervised learning by BP. Because the proposed method improves accuracy by STDP, we do not need to label additional data. Also, labeling and re-learning are not repeated, and learning is completed in only two steps: learning by BP and learning by STDP. Figures 2 and 3 show the learning flows of self-training and the proposed method. In this section, we describe the learning scheme of the proposed

Learning scheme
In STDP, the temporal correlations of firing are used for learning. Thus, after learning to some extent by BP, learning by STDP can improve the results of learning using labeled data with learning using unlabeled data. This can model organisms observing their surroundings many times to improve their understanding after being taught something. In our method, we first train the SNN by supervised learning by BP, and then unsupervised learning by STDP is applied.
The method of Lee et al. 12) described in Sect. 2.3 was used as the BP method. In addition, weight and threshold initialization and BP error normalization were performed according to Lee et al. 12) Because the STDP-based unsupervised initialization scheme has an equivalent effect on learning as classic regularization techniques such as early stopping, L1/L2 weight decay, and dropout, 22) we can expect a similar effect of STDP-based post learning. Thus, weight regularization was not performed in our method to clarify the results.
As STDP learning rules, we use the following modification of the learning rules described in Sect. 2.6: Considering the synaptic conduction velocity, no update occurs when the time interval is less than 1 ms. By making the above modifications, we can expect that the symmetry of updates will improve the accuracy because the weights are less biased in either the positive and negative directions and the firings of neurons are balanced. In particular, when simulating in discrete time, as in our case, our numerical experiments showed that when |∆s| is less than 1 ms, only positive updates occur, and thus the weights are biased and the accuracy does not improve compared to the case where the updates are symmetric. We use a weight update formula similar to Eq. (16). The time window is [1 ms, ..., 20 ms] in both positive and negative directions. Based on the result of biological experiments, 29) the modification is assumed only when the interval is equal to 20 ms or less in both directions. Threshold regularization is applied during forward propagation in BP and STDP learning. Threshold regularization is almost the same as that used in Lee et al., 12) but the threshold is reduced only for the neurons that do not fire.

Used in Parameter Value
Network τ mp 20

Network architecture
We use a fully connected feed-forward SNN with one hidden layer in the numerical experiments. The input layer has 784 neurons because we input the image of 28 pixels × 28 pixels in numerical experiments. The hidden layer has 300 neurons, and the output layer has 10 neurons in which each neuron corresponds to a correct label from 0 to 9 because we evaluated the result with the classification of 0 to 9 handwritten numeric characters. The LIF model is used in the hidden and output layers. In the input layer, the Poisson spike model is used. The input image is convolved with a 5 × 5 on-center receptive field. In order to match the input size after convolution with the image size before convolution, we perform zero padding, which fills the periphery of the input image with 0. The receptive field is weighted to [−0.5, −0.125, 0.125, 0.625, 1] based on the Manhattan distance to the center of the field. The firing frequency of each neuron in the input layer is obtained by scaling the normalized pixel value of the convolved image with the maximum firing frequency. We set the maximum frequency to 150/s. The hidden and output layers have a WTA mechanism. An outline of the network is shown in Fig. 4.

Experimental Procedures and Results
In this section, we present the numerical results obtained by training an SNN using the proposed method. We evaluated the performance by solving the classification problem of handwritten numeric characters from 0 to 9. We used the MNIST dataset, which is a grayscale handwritten character image set of 28 pixels × 28 pixels. 28) In this study, we simulated in discrete time and the timestep was 1 ms. The input time was 50 ms for learning and 150 ms for testing. For BP, we used 10 or 30 labeled training data for each number, 100 or 300 in total. For STDP, we used 500 unlabeled training data for each number, 5000 in total. For the test data, 10 sets of 10 samples per number, 1000 in total, were used, and the mean of the accuracy for the test datasets was used for evaluation. The training data for BP, training data for STDP, and the test data were all different. In the proposed method, learning by BP and STDP is performed as a whole for a total of 200 epochs. First, we train the network by BP for 150 epochs, and then learning by STDP is performed for 50 epochs. The batch size of BP was 25. Table I shows the value of each parameter used in the experiments. The STDP parameters A + and A − were set to the same as those in the previous research. 14) Although a grid search was performed, we finally found that these parameters in the previous research are enough to stabilize the learning process. The learning rate of STDP was set small enough for learning to be stable in the example here. The refractory period is not considered because we set T ref = 1 ms and the timestep is also 1 ms. This approximation is reasonable because the activation of neurons in SNNs is rarely dominated by the refractory period. 12) We evaluate the test data for each epoch and compare the result of learning by only BP with that of learning by the proposed method. In addition, the results of learning by self-training, which is the existing semisupervised method, are also compared with those of learning by the proposed method. The mean for 10 sets of test data in each epoch was used as the accuracy, and a standard deviation of 1σ was used for confidence intervals. The computing environment used in experiments is shown in Table II. 4.1 Less labeled data: 10 × 10 samples Figure 5 shows the results when 10 training samples × 10 digits are used as the labeled training data for BP. This demonstrates that the accuracy is improved by STDP-based unsupervised learning after BP-based supervised learning, compared with the case of learning by only BP. Figure 6 shows the number of firings of the output layer for the test data when using only BP and when using the proposed method. STDP modifies the network adequately; the number of correct firings increases even when the BP-based supervised learning yields  incorrect results.
Next, we compared the results of the proposed method with those of learning by self-training. In self-training, two processes, learning for 200 epochs by BP and labeling of unlabeled data, were repeated until all unlabeled data were labeled. In the labeling step, unlabeled data was input for 150 ms, and then we labeled the top 200 data in which neurons in the output layer fired most frequently among the unlabeled data. Figure 7 shows the result of learning by self-training. We can see that the accuracy does not improve much even if the amount of labeled data increases because of mislabeling. Table III shows the accuracy and the learning time for the proposed method and self-training. The accuracy of the proposed method is higher than that of self-training, and the learning time of the proposed method is shorter than that of self-training. Figure 8 shows the results when 30 training samples × 10 digits are used as labeled training data for BP. When the amount of labeled training data is as large as 30 × 10 samples,   it can be seen that the combination of BP and STDP decreases the accuracy.

More labeled data: 30 × 10 samples
Next, we compared the results with those of learning by self-training. Figure 9 shows the result of learning by selftraining. Because there is a lot of labeled training data, mislabeling does not occur at such a high rate and the accuracy is improved.

Discussion
The results of simulations using our proposed semisupervised learning method demonstrate that using it can improve the accuracy of SNNs when there is a small amount Each white circle indicates the mean improvement rate of 10 sets of test data, and a standard deviation of 1σ is used for the error bar. The improvement rate is defined as the ratio of the accuracy after applying STDP to that before it. The blue and orange lines correspond to the accuracy at the end of the BP stage and that after the STDP learning stage, respectively. of labeled data. Moreover, in this study, we did not need to label unlabeled data. Thus, the problem that learning is not performed well due to mislabeling in the existing semi-supervised learning method for discriminative models is solved. This method can be applied effectively when there are few labeled training data points and the accuracy is low. In addition, the learning time can be reduced because it does not need to re-learn like self-training and consists of only two steps: BP learning and STDP learning. Because the number of epochs to reach the best accuracy is lower than that in self-training, unlabeled training data can be used for efficient learning. On the other hand, when there is a relatively large amount of labeled data, the accuracy decreases. Hence, this method has the property that when the amount of labeled training data is extremely small, the performance can be improved, but when the amount of labeled training data is relatively large, the accuracy can decrease. Such a feature has been reported in an existing semi-supervised learning method as well, 30) and this supports the fact that semi-supervised learning is being performed in this work.
Pre-training by unsupervised learning has been interpreted as a type of self-organization, 31) and STDP is considered to be involved in self-organization in living organisms. 32) Therefore, the method of pre-training by STDP followed by finetuning with BP 22,23) can be interpreted as the sequence of learning the structure of input data by self-organization and then performing supervised learning by BP. In contrast, from our results, it can be inferred that STDP plays an important role in learning other than self-organization, such as finetuning or confirmation, and thus the result is interesting from an engineering perspective as well as a biological one.
Although we have discussed the proposed method from a biological point of view, there are various arguments about the biological plausibility of BP. 33) In this research, to focus on the effect of the application of STDP after BP, we used the BP method of Lee et al., 12) which has high performance in SNNs but does not seem to be biologically plausible. Using the supervised STDP 16,17) would allow us to devise a more biologically plausible learning scheme. In addition, we can develop an end-to-end STDP-based learning method for SNNs  by combining STDP-based pre-training 22,23) with these methods.
From an engineering point of view, it is important to judge whether the proposed method should be applied or not because it can induce the improvement but the deterioration in some cases. Figure 10 shows the improvement rate before and after applying STDP against the amount of labeled data. Figure 11 shows the change in accuracy for the cases in which the improvement rates are greater than or equal to 1, and Fig.  12 shows the change in accuracy for the cases in which the improvement rates are less than 1. From these results, the degradation of accuracy basically occurs only when there is a relatively large amount of labeled data. Note that the degradation can also occur when labeled data per number is extremely small because the standard deviation of improvement rate is quite large and thus the improvement rate can take values less than 1. This is because the accuracy after learning by BP is quite low. When the amount of training data is extremely small like 1 × 10 samples, the learning by BP can occasionally fail because it is highly dependent on the training data. In this case, we get into the situation where the learning is performed only by STDP, which is unsupervised learning, and the accuracy will decrease with the evaluation criterion of supervised learning. Overall, it is easy to detect the degradation after the application by STDP. Therefore, for engineering purposes, we should monitor the change in accuracy for a few epochs after applying STDP, and if a deterioration is observed, we can terminate the training like early stopping. 34) Although we simulated in discrete time in this study, all the algorithms and architectures used in our work can be eventdriven. Thus, the proposed method can be applied in an eventdriven manner. We expect that it would be highly efficient in real-world problems if implemented in neuromorphic hardware.

Conclusions
We proposed a semi-supervised learning method with unsupervised learning by STDP after supervised learning by BP. This method reverses the order of the learning steps in a previously reported semi-supervised learning method. 22,23) We developed the proposed method based on its parallel to the biological situation of an organism learning a label and subsequently observing its environment to confirm this learn-ing. The results of numerical simulations show that our proposed method displays good accuracy, particularly when only a small amount of labeled data is used. However, when a relatively large amount of labeled data is used, the accuracy decreases. Our results also show that STDP plays an important role in learning other than self-organization, such as finetuning or confirmation.
This research was devised from an intuitive sense of organisms and the learning rules that have been discovered in them, and mathematical verification is required to understand why STDP improves accuracy. Moreover, now there are three types of STDP-based learning methods; STDPbased pre-training, 22,23) supervised STDP learning, 16,17) and our method. Thus, by combining these methods, we can develop an end-to-end STDP-based learning method for SNNs. Such verification and expansion can lead to an improved understanding of the brain and efficient processing in real-time.