---
abstract: 'Restricted Boltzmann Machine (RBM) is a generative stochastic energy-based model of artificial neural network for unsupervised learning. Recently, RBM is well known to be a pre-training method of Deep Learning. In addition to visible and hidden neurons, the structure of RBM has a number of parameters such as the weights between neurons and the coefficients for them. Therefore, we may meet some difficulties to determine an optimal network structure to analyze big data. In order to evade the problem, we investigated the variance of parameters to find an optimal structure during learning. For the reason, we should check the variance of parameters to cause the fluctuation for energy function in RBM model. In this paper, we propose the adaptive learning method of RBM that can discover an optimal number of hidden neurons according to the training situation by applying the neuron generation and annihilation algorithm. In this method, a new hidden neuron is generated if the energy function is not still converged and the variance of the parameters is large. Moreover, the inactivated hidden neuron will be annihilated if the neuron does not affect the learning situation. The experimental results for some benchmark data sets were discussed in this paper.'
author:
- 
- 
title: |
    An Adaptive Learning Method of\
    Restricted Boltzmann Machine by\
    Neuron Generation and Annihilation Algorithm [^1]
---

Introduction {#sec:Introduction}
============

The current information technology can collect various kinds of data sets, because the recent tremendous technical advances in processing power, storage capacity, and network connected to cloud computing. Such data sample includes not only numerical values but also text such as comments, numerical evaluation such as ranking, and binary data such as pictures. Such data set is called big data. The technical methods to discover knowledge from big data are known to be a field of data mining and also developed in the research field of Deep Learning [@Quoc12].

Deep Learning attracts a lot of attention in methodology research of artificial intelligence such as machine learning [@Bengio09]. Especially, the industrial world is deeply impressed by the outcome to increase the capability of image processing. The learning architecture has an advantage of not only multi-layered network structure but also pre-training. The latter characteristic means that the architecture of Deep Learning accumulates prior knowledge of the features for input patterns. Restricted Boltzmann Machine (RBM) [@Hinton12] is one of popular method of Deep Learning for unsupervised learning. RBM has the capability of representing an probability distribution of input data set, and it can represent an energy-based statistical model. Moreover, the Contrastive Divergence (CD) learning procedure which is a faster algorithm of Gibbs sampling based on Markov chain Monte Carlo methods can be often used as one of the learning methods of RBM [@Hinton02; @Tileman08].

The problem related to RBM is how to determine the definition of an optimal initial network structure such as the number of hidden neurons according to the features of input pattern because the traditional RBM model cannot change its network structure during learning phase. In this paper, we propose the adaptive learning method of RBM that can discover an optimal number of hidden neurons according to the training situation by applying the neuron generation and annihilation algorithm. In multi-layered neural networks, the adaptive learning method by neuron generation and annihilation algorithm during learning phase was proposed [@Ichimura97; @Ichimura04]. The method monitors the variance of the weight vectors called the Walking Distance ($WD$) in the learning phase. A new neuron will be generated and inserted into the related position if the weight vector tends to fluctuate greatly even after a certain period of the training process. Moreover, the inactivated hidden neuron will be annihilated if the neuron does not affect the learning situation.

However, RBM with CD method works in an output to use binary neurons. We consider to convergence under the Lipschitz continuous condition [@Carlson15]. According to [@Carlson15], the energy function of RBM can be transformed to the equations under the continuous conditions with 3 kinds of parameters for visible and hidden neurons. We investigated the variance of 3 kinds parameters where energy function of RBM converges [@Kamada15a]. Then we selected 2 parameters which influence the convergence situation of RBM except the parameter related to input features. In this paper, we show that our proposed model has the good classification capability for the small data set (about 1000 records [@Kamada15b]). Moreover, we applied our proposed adaptive learning method of RBM to big data set such as CIFAR-10 [@cifar10]. From experimental results, our proposed model will be the good performance in comparison to previous RBM model [@Dieleman12].

The remainder of this paper is organized as follows. Section \[sec:RBM\] describes the basic concept of RBM and the condition of convergence under the Lipschitz continuous is derived. In Section \[subsec:WD\], neuron generation and annihilation algorithm in multi-layered neural networks is explained and we apply this method into RBM in Section \[subsec:AdaptiveRBM\]. Section \[sec:EXE\] describes some experimental results. We give some discussions to conclude this paper in Section \[sec:Conclusion\].

Restricted Boltzmann Machine {#sec:RBM}
============================

Overview
--------

This section explains the basic concept of RBM [@Hinton12]. As shown in Fig.\[fig:rbm\], RBM has the network structure with 2 kinds of layers where one is a visible layer for input data and the other is a hidden layer for representing the features of given data space. Each layer consists of some binary neurons. The traditional Boltzmann Machine has the connections between neurons in the same layer [@Ackley85]. However RBM has no connection in the same layer. Therefore the calculation is easier than the traditional one from the viewpoint of the no interaction between neurons. The RBM learning employs to train the weights and some parameters for visible and hidden neurons till the energy function becomes to a certain small value. The trained RBM can represent a probability for the distribution of input data.

Let $v_i (0 \leq i \leq I)$ and $h_j (0 \leq j \leq J)$ be binary variable of a visible neuron and a hidden neuron, respectively. $I$ and $J$ are the number of visible and hidden neurons, respectively. The energy function $E({\mbox{\boldmath $v$}}, {\mbox{\boldmath $h$}})$ for visible vector ${\mbox{\boldmath $v$}} \in \{ 0, 1 \}^{I}$ and hidden vector ${\mbox{\boldmath $h$}} \in \{ 0, 1 \}^{J}$ is given by Eq.(\[eq:energy\]). $p({\mbox{\boldmath $v$}}, {\mbox{\boldmath $h$}})$ is the joint probability distribution of ${\mbox{\boldmath $v$}}$ and ${\mbox{\boldmath $h$}}$ as shown in Eq.(\[eq:prob\]).

![The structure of RBM](rbm.eps)

\[fig:rbm\]

$$E({\mbox{\boldmath $v$}}, {\mbox{\boldmath $h$}}) = - \sum_{i} b_i v_i - \sum_j c_j h_j - \sum_{i} \sum_{j} v_i W_{ij} h_j ,
\label{eq:energy}$$

$$p({\mbox{\boldmath $v$}}, {\mbox{\boldmath $h$}})=\frac{1}{Z} \exp(-E({\mbox{\boldmath $v$}}, {\mbox{\boldmath $h$}})) ,
\label{eq:prob}$$

$$Z = \sum_{{\mbox{\boldmath $v$}}} \sum_{{\mbox{\boldmath $h$}}} \exp(-E({\mbox{\boldmath $v$}}, {\mbox{\boldmath $h$}})) ,
\label{eq:PartitionFunction}$$ where $b_i$ and $c_j$ are the parameters for $v_i$ and $h_j$, respectively. $W_{ij}$ is the weight between $v_i$ and $h_j$. $Z$ is the partition function which is given by summing over all possible pairs of visible and hidden vectors.

The parameters of RBM are updated by maximum likelihood estimation for $p({\mbox{\boldmath $v$}})=\sum_{{\mbox{\boldmath $h$}}} p({\mbox{\boldmath $v$}}, {\mbox{\boldmath $h$}})$ which is the probability of ${\mbox{\boldmath $v$}}$. However, the computational elements increase exponentially because the optimal configuration for all possible pairs is required to obtain the maximum likelihood estimation. Therefore, the Contrastive Divergence (CD) learning procedure has been proposed as RBM training. CD method can be a faster algorithm of Gibbs sampling based on Markov chain Monte Carlo methods [@Hinton02]. Then CD method is known to make a good performance even in a few sampling steps [@Tileman08].

Convergence under the Lipschitz continuous condition [@Carlson15] {#subsec:RBM_bound}
-----------------------------------------------------------------

CD method works in discrete space. Therefore, we consider the convergence situation of RBM under the Lipschitz continuous condition. Generally, the solution will be found by using machine learning if and only if the convexity and continuous conditions for an objective function are satisfied. However RBM learning with CD sampling method meets the situation that may cause the slight error and it may not satisfy the continuous condition because of the use of binary neuron. Even if the network has a small error in the initial step, but the total energy after a certain period of iterations will be fluctuated seriously.

Carlson et al. discussed the upper bounds on the log partition function for each parameter of RBM by the convexity and Lipschitz continuous [@Carlson15]. The paper derived the following equations to measure the likelihood for 3 kinds of parameters ${\mbox{\boldmath $\theta$}}=\{{\mbox{\boldmath $b$}}, {\mbox{\boldmath $c$}}, {\mbox{\boldmath $W$}} \}$.

$$E({\mbox{\boldmath $v$}},{\mbox{\boldmath $h$}};{\mbox{\boldmath $\theta$}})=-\sum_{i} v_i b_i - \sum_j h_j c_j - \sum_{i} \sum_{j} v_i W_{ij} h_j,
\label{eq:energy2}$$ $$\arg \min_{{\mbox{\boldmath $\theta$}}} F({\mbox{\boldmath $\theta$}}) = \frac{-1}{N}\sum_{n=1}^{N}{\log} p_{{\mbox{\boldmath $\theta$}}}({\mbox{\boldmath $v$}}_{n}) = f({\mbox{\boldmath $\theta$}})-g({\mbox{\boldmath $\theta$}}),
\label{eq:log_likelihood}$$ $$f({\mbox{\boldmath $\theta$}})={\rm log}\sum_{{\mbox{\boldmath $v$}}} \sum_{{\mbox{\boldmath $h$}}}{\exp}(-E({\mbox{\boldmath $v$}},{\mbox{\boldmath $h$}};{\mbox{\boldmath $\theta$}})),
\label{eq:f_theta}$$ $$g({\mbox{\boldmath $\theta$}})=\frac{1}{N}\sum_{n=1}^{N}{\rm log}\sum_{{\mbox{\boldmath $h$}}}{\rm exp}(-E({\mbox{\boldmath $v$}},{\mbox{\boldmath $h$}};{\mbox{\boldmath $\theta$}})) ,
\label{eq:g_theta}$$ where ${\mbox{\boldmath $v$}}_{n}=\{ {\mbox{\boldmath $v$}}_{1},{\mbox{\boldmath $v$}}_{2},\cdots,{\mbox{\boldmath $v$}}_{N}\}$ is a given input data, $N$ is the number of samples of input data. Eq.(\[eq:f\_theta\]) and Eq.(\[eq:g\_theta\]) are log likelihood functions for ideal model and real model for input data, respectively. $f({\mbox{\boldmath $\theta$}})$ is the log partition function and it is estimated by the sampling method such as CD method. $f({\mbox{\boldmath $\theta$}})$ can be transformed to Eq.(\[eq:upper\_bound\_f\_theta\_b\]), Eq.(\[eq:upper\_bound\_f\_theta\_c\]) and Eq.(\[eq:upper\_bound\_f\_theta\_W\]) for each parameter under the assumption of Lipschitz continuous (see [@Carlson15] for details). As a result, these equations can be derived from the Taylor’s expansion under the partial derivative of $f({\mbox{\boldmath $\theta$}})$ in each parameter. $$f(\{ {\mbox{\boldmath $b$}}, {\mbox{\boldmath $c$}}^{k}, {\mbox{\boldmath $W$}}^{k} \}) \leq f({\mbox{\boldmath $\theta$}}^{k}) + \langle \nabla_{{\mbox{\boldmath $b$}}} f({\mbox{\boldmath $\theta$}}^{k}), {\mbox{\boldmath $b$}} - {\mbox{\boldmath $b$}}^{k} \rangle + \frac{I}{2} \| {\mbox{\boldmath $b$}} - {\mbox{\boldmath $b$}}^{k} \|^{2}_{\infty},
\label{eq:upper_bound_f_theta_b}$$ $$f(\{ {\mbox{\boldmath $b$}}^{k}, {\mbox{\boldmath $c$}}, {\mbox{\boldmath $W$}}^{k} \}) \leq f({\mbox{\boldmath $\theta$}}^{k}) + \langle \nabla_{{\mbox{\boldmath $c$}}} f({\mbox{\boldmath $\theta$}}^{k}), {\mbox{\boldmath $c$}} - {\mbox{\boldmath $c$}}^{k} \rangle + \frac{J}{2} \| {\mbox{\boldmath $c$}} - {\mbox{\boldmath $c$}}^{k} \|^{2}_{\infty},
\label{eq:upper_bound_f_theta_c}$$ $$\begin{aligned}
f(\{ {\mbox{\boldmath $b$}}^{k}, {\mbox{\boldmath $c$}}^{k}, {\mbox{\boldmath $W$}} \}) &\leq& f({\mbox{\boldmath $\theta$}}^{k}) + tr( ({\mbox{\boldmath $W$}} - {\mbox{\boldmath $W$}}^{k})^{T} \nabla_{{\mbox{\boldmath $W$}}} f({\mbox{\boldmath $\theta$}}^{k})) \nonumber \\
 &&  + \frac{2IJ}{2} \| {\mbox{\boldmath $W$}} - {\mbox{\boldmath $W$}}^{k} \|^{2}_{S^{\infty}},
\label{eq:upper_bound_f_theta_W}\end{aligned}$$ where $I$ and $J$ are the number of visible neurons and hidden neurons, respectively. $S^{\infty}$ is Shatten-norm. $\langle {\mbox{\boldmath $a$}}, {\mbox{\boldmath $b$}} \rangle $ means an inner product between 2 vectors of ${\mbox{\boldmath $a$}}$ and ${\mbox{\boldmath $b$}}$. The upper bound equations for each parameter are based on the definition of Lipschitz continuous condition, that is the third term of right side of each equation means the range of learning convergence. Therefore, the RBM learning by CD method will be converged if the variance for each parameter falls into a certain range during training.

We investigated the change of gradients for 3 kinds of parameters ${\mbox{\boldmath $\theta$}}=\{{\mbox{\boldmath $b$}}, {\mbox{\boldmath $c$}}, {\mbox{\boldmath $W$}} \}$ for the data set MNIST [@mnist]. Fig.\[fig:result-rbm-mnist-b-c-W-10\] shows the gradients for each parameter in the simulation result. As shown in Fig.\[fig:result-rbm-mnist-b-c-W-10\], the gradients for each parameter became gradually small. The gradient for parameter ${\mbox{\boldmath $c$}}$ was fluctuated large in 3 kinds of parameter. Moreover, the gradient for ${\mbox{\boldmath $W$}}$ was changed according to the relationship between ${\mbox{\boldmath $b$}}$ and ${\mbox{\boldmath $c$}}$. On the other hand, the gradient for ${\mbox{\boldmath $b$}}$ was also changed in the simulation result. However we found the gradient for parameter ${\mbox{\boldmath $b$}}$ may be fluctuated according to the features of input patterns because parameter ${\mbox{\boldmath $b$}}$ is the bias for input space [@Kamada15a]. Therefore, we selected 2 parameters which have an influence on the convergence situation of RBM except the parameter related to input data.

![Gradient for b, c and W[]{data-label="fig:result-rbm-mnist-b-c-W-10"}](result-rbm-mnist-b-c-W-10.eps)

Adaptive Learning Method of Restricted Boltzmann Machine {#sec:AdaptiveRBM}
========================================================

Walking Distance in Multi-Layered Neural Network [@Ichimura97; @Ichimura04] {#subsec:WD}
---------------------------------------------------------------------------

The problem related to the search of an optimal number of hidden neurons has also been considered in multi-layered neural networks. The neuron generation and annihilation algorithm during learning phase was proposed [@Ichimura97; @Ichimura04]. Typically, a hidden neuron tries to learn input features by mapping original input data into feature vector. If a neural network does not have enough neurons to be satisfied to infer, then an input weight vector will tend to fluctuate greatly even after a certain period of the training process, because some hidden neurons may not represent an ambiguous patterns due to lack of the number of hidden neurons. In such a case, we can solve this problem by dividing a neuron which tries to represent the ambiguous patterns into 2 neurons by inheriting the attributes of the parent hidden neuron. The process is called the neuron generation. After an optimal number of neurons are generated, the network will be more stable within a small error. Therefore, we monitor the variance of the weight vector called the Walking Distance ($WD$) in hidden neurons while training as shown in Fig. \[fig:WD\]. $WD$ of a hidden neuron $j$ after $m$ training iterations is approximated by Eq.(\[eq:WD\]).

![An image of convergence of a weight vector[]{data-label="fig:WD"}](WD.eps)

$$WD_j[m] = \gamma_{w} WD_{j} [m-1] + (1 - \gamma_{w}) Met(\vec{W}_j[m], \vec{W}_j[m-1]) ,   
\label{eq:WD}$$

where $\vec{W}_j[m]$ is a weight vector of a hidden neuron $j$ after $m$ training iterations, $Met$ is a metric function such as Euclidean Distance. $\gamma_{w}$ is a constant value in $[0,1]$. A new neuron is generated and is inserted into the neighborhood of the neuron $j$ when $WD_j$ is larger than the certain threshold as following equation [@Ichimura97; @Ichimura04]. $$\Delta \varepsilon_j = \frac{\partial \varepsilon}{\partial WD_j} \cdot WD_j,
\label{eq:delta_epsilon}$$ where $\varepsilon$ is the sum of squared error of a network.

On the other hand, if a neural network has enough neurons to infer and even if an input weight vector of each neuron converges smaller than a certain value, we shall be able to find unnecessary neurons from the network. In such a case, we proposed the neuron annihilation algorithm which can annihilate the redundant neuron if the variance of output signal for a neuron is smaller than a certain threshold as following equations.

$$VA_j[m]  = \gamma_{v} VA_{j} [m-1] + (1 - \gamma_{v}) (O_j - Act_j [m])^{2} ,
\label{eq:Annihilation}$$

$$Act_j[m] = \gamma_{a} Act_{j} [m-1] + (1 - \gamma_{a}) O_j ,
\label{eq:Annihilation}$$ where $O_j$ is the variance of the output signal for a neuron $j$. $\gamma_{v}$ and $\gamma_{a}$ are constant values in $[0,1]$.

Neuron Generation and Annihilation Algorithm in RBM {#subsec:AdaptiveRBM}
---------------------------------------------------

We propose the adaptive learning method of RBM that can discover an optimal number of hidden neurons by applying the neuron generation and annihilation algorithm. However, the structure of RBM has 3 kinds of parameters for visible and hidden neurons in addition to the weights between them. As mentioned in the section \[subsec:RBM\_bound\], the RBM learning will be converged if the third term of right side in Eq.(\[eq:upper\_bound\_f\_theta\_b\]) - (\[eq:upper\_bound\_f\_theta\_W\]) become small. We consider the variance of parameters ${\mbox{\boldmath $c$}}$ and ${\mbox{\boldmath $W$}}$ except ${\mbox{\boldmath $b$}}$ because ${\mbox{\boldmath $b$}}$ is affected by many features of input patterns. Then inner product of variance of them should be monitor.

For the reason, we define the condition of neuron generation in the proposed adaptive RBM as in Eq.(\[eq:neuron\_generation\]) without the gradients for ${\mbox{\boldmath $b$}}$ . $$\vspace{-2mm}
(\alpha_{c} \cdot dc_j) \cdot (\alpha_{W} \cdot dW_{ij} )> \theta_{G},
\label{eq:neuron_generation}$$ where $dc_j$ and $dW_{ij}$ are the gradient vectors of the hidden neuron $j$ and the weight vector $i, j$, respectively. $\alpha_{c}$ and $\alpha_{W}$ are the constant values for the adjustment of the range of each parameter. $\theta_{G}$ is an appropriate threshold value. The more $\theta_G$ is smaller, the more neuron generation is likely to be applied. A new hidden neuron is generated and is inserted into the neighborhood of the parent neuron as shown in Fig. \[fig:neuron\_generation\]. The initial structure of RBM should be set arbitrary neurons according to the data set before training.

If some redundant neurons are generated, these neurons may be inactivated hidden neurons that does not contribute the classification capability. The proposed adaptive learning method of RBM determines the hidden neuron that satisfies with Eq.(\[eq:neuron\_annihilation\]), and then it annihilates the corresponding neuron as shown in Fig. \[fig:neuron\_annihilation\]. $$\vspace{-2mm}
\frac{1}{N}\sum_{n=1}^{N} p(h_j = 1 | {\mbox{\boldmath $v$}}_n) < \theta_{A},
\label{eq:neuron_annihilation}$$ where ${\mbox{\boldmath $v$}}_n$ and $N$ are same as Eq.(\[eq:log\_likelihood\]). $p(h_j = 1 | {\mbox{\boldmath $v$}}_n)$ means a conditional probability of $h_j \in \{ 0, 1 \}$ under a given ${\mbox{\boldmath $v$}}_n$. $\theta_{A}$ is an appropriate threshold value. The more $\theta_A$ is higher, the more neuron annihilation is likely to be applied. Fig. \[fig:neuron\_annihilation\] shows the structure of neuron annihilation. The dot circle is the redundant neuron removed by the annihilation algorithm.

Experimental Results {#sec:EXE}
====================

This section describes experimental results to show the effectiveness of our proposed adaptive learning method of RBM.

Data Set
--------

The 2 kinds of benchmark data set, “MNIST [@mnist]” and “CIFAR-10 [@cifar10]” were used in this experiments. MNIST is popular data set of handwritten digits and has 60,000 cases for training set and 10,000 cases for test set. They are categorized into 10 classes. Each case consists of $28 \times 28$ pixels. On the other hand, CIFAR-10 is 60,0000 color images data set included in 50,000 training cases and 10,000 test cases. They are categorized into 10 classes, and each case consists of $32 \times 32$ pixels. The original image data in CIFAR-10 only was preprocessed by ZCA whitening as reported in [@Coates11].

In the experiments, Pylearn2 [@Goodfellow13], which is one of machine learning tools with libraries for Deep Learning, was used for the implementation of RBM. The following parameters were used for RBM: the training algorithms is Stochastic Gradient Descent (SGD), the batch size is 100, and the learning rate is 0.1.

Experimental Results {#experimental-results}
--------------------

Fig. \[fig:result\_MNIST1\] shows the experimental result for MNIST. Fig. \[fig:result-rbm-mnist-energy-10\] -  \[fig:result-rbm-mnist-hnum-10\] show the energy curve, the gradients for each parameter, and the number of hidden neurons. In this simulation, we set parameters as the following values: the initial number of hidden neurons is 10, $\theta_G = 0.005$, $\theta_A = 0.3$. The neuron generation algorithm starts to be applied from the 10th iteration because the learning situation is fluctuated at the beginning of learning due to the selection of initial parameters. About 60 additional hidden neurons were generated until about 250 iterations as shown in Fig. \[fig:result-rbm-mnist-hnum-10\]. A new generated neuron inherited the weight value from the parent hidden neuron, and it was inserted into the neighborhood of the parent. The proposed RBM became smaller energy than the traditional RBM without adaptation of network structure as shown in Fig. \[fig:result-rbm-mnist-energy-10\].

After about 250 iterations, the neuron annihilation algorithm was worked as shown in Fig. \[fig:result-rbm-mnist-hnum-10\], then the redundant neurons were removed from 71 to 62 gradually. The energy curve and the gradients for each parameter were not affected by the annihilation process.

Fig. \[fig:result\_CIFAR10\] shows the experimental results for CIFAR-10. We set parameters as the following values for CIFAR-10: the initial number of hidden neurons is 300, $\theta_G = 0.015$, $\theta_A = 0.01$. The experimental results for CIFAR-10 showed the same characteristics as the result of MNIST. The fluctuated gradients for each parameter in the traditional RBM was higher in comparison to the result of MNIST as shown in Fig. \[fig:result-rbm-mnist-grad\] and Fig. \[fig:result-rbm-cifar10-grad\] because CIFAR-10 has more ambiguous features of input patterns. On the other hand, the number of hidden neurons of our proposed RBM model was about 370 after the neuron generation. After the generation process, and the annihilation algorithm was implemented as shown in Fig. \[fig:result-rbm-cifar10-hnum\]. As a result, energy curve and gradients for each parameter at last iteration were converged with smaller value than the traditional RBM as shown in Fig. \[fig:result-rbm-cifar10-energy\] -  \[fig:result-Arbm-cifar10-grad\].

In order to evaluate the classification capability with trained RBM, Hinton introduced 2 or more kinds of methods [@Hinton02]. As the evaluation method for the experiment, the output layer for classification is added into the trained hidden layer of RBM, then the network between them is fine-tuned by using BP learning. Table \[tab:result-correct-ratio-MNIST\] shows the classification accuracy for 10 kinds of images in MNIST. The classification accuracy of the proposed RBM was higher than the traditional RBM not only for training set but also for test set. Table \[tab:result-correct-ratio-CIFAR10\] shows the classification accuracy for 10 kinds of images in CIFAR-10. The traditional RBM didn’t classify correctly similar classes such as ’dog’ and ’cat’ in CIFAR-10. On the other hand, such misclassification rate was decreased in the proposed adaptive RBM because some neurons which can represent ambiguous pattern were generated. As a result, the proposed RBM showed higher classification capability compared with the result of another RBM model reported in [@Dieleman12] (see [@Dieleman12], for details for another RBM).

\[tab:result-correct-ratio-MNIST\]

                                            training set        test set
  --------------------------------------- -------------- ---------------
    traditional RBM (hidden neurons = 10)          93.4%           72.9%
       adaptive RBM (hidden neurons = 77)         100.0%   [**83.3**]{}%

  : Classification Accuracy on the MNIST

\[tab:result-correct-ratio-CIFAR10\]

                                                     training set        test set
  ------------------------------------------------ -------------- ---------------
            traditional RBM (hidden neurons = 300)          99.9%           70.1%
               adaptive RBM (hidden neurons = 370)          99.9%   [**81.2**]{}%
    sparce RBM (hidden neurons = 200)[@Dieleman12]              -           63.0%

  : Classification Accuracy on the CIFAR-10

Conclusion {#sec:Conclusion}
==========

The problem related to the Deep Learning is known to be the setting for many parameters. Especially, RBM has 3 kinds of parameters for visible and hidden neurons in addition to the weights between them. In this paper, we introduced how the learning of RBM is converged under the Lipschitz continuous condition, and monitored the variance of 3 kinds of parameters during learning. Based on such observations, this paper proposed the adaptive learning method of RBM that can discover an optimal number of hidden neurons according to the training situation by applying the neuron generation and annihilation algorithm. Especially, some parameters were used for the neuron generation condition. In the simulation, we verified the effectiveness of our proposed method with 2 kinds of benchmark data set. As a result, our proposed RBM showed the higher classification capability with stable energy in comparison to the traditional RBM. In order to improve the classification capability further, the deep architecture that can represent more multiple features of input patterns with hierarchical level such as Deep Belief Network [@Hinton06] is required. In future, we will develop the RBM learning method with such a hierarchical structure where an optimal number of hidden layers is automatically defined.

Acknowledgment {#acknowledgment .unnumbered}
==============

This work was supported by JSPS KAKENHI Grant Number 25330366.

[1]{} V.Le.Quoc, R.Marc’s Aurelio, et.al, *Building high-level features using large scale unsupervised learning*, International Conference in Machine Learning (2012)

Y.Bengio, *Learning Deep Architectures for AI*, Foundations and Trends in Machine Learning archive, Vol.2, No.1, pp.1-127 (2009)

G.E.Hinton, *A Practical Guide to Training Restricted Boltzmann Machines*, Neural Networks, Tricks of the Trade, Lecture Notes in Computer Science, Vol.7700, pp.599-619 (2012)

Y.Bengio, P.Lamblin, D.Popovici and H.Larochelle, *Greedy Layer-Wise Training of Deep Networks*, in Advances in Neural Information Processing Systems 19 (NIPS‘06), pp.153-160 (2007)

G.E.Hinton, *Training products of experts by minimizing contrastive divergence*, Neural Computation, Vol.14, pp.1771-1800 (2002)

T.Tieleman, *Training restricted Boltzmann machines using approximations to the likelihood gradient*, Proc. of the 25th international conference on Machine learning, pp.1064-1071 (2008)

T.Ichimura, *Studies on Learning and Reasoning Methods in Neural Networks*, Ph.D. Thesis, Toin University of Yokohama (1997)

T.Ichimura and K.Yoshida Eds., *Knowledge-Based Intelligent Systems for Health Care*, Advanced Knowledge International (ISBN 0-9751004-4-0) (2004)

D.Carlson, V.Cevher and L.Carin, *Stochastic Spectral Descent for Restricted Boltzmann Machines*, Proc. of the Eighteenth International Conference on Artificial Intelligence and Statistics, pp.111-119 (2015)

S.Kamada, T.Ichimura and Y.Fujii, *A Consideration of Convergence of Energy Function in Restricted Boltzmann Machine by Lipschitz Continuity*, Proc. of IEEE SMC Hiroshima Chapter Young Researcher Workshop 2015, pp.53-56 (2015)

S.Kamada and T.Ichimura, *A Learning Method of Adaptive Deep Belief Network by using Neuron Generation and Annihilation Algorithm*, Proc. of 17th Annual Meeting of Self-Organizing Maps, pp.12.1-6 (2016)

A.Krizhevsky, *Learning Multiple Layers of Features from Tiny Images*, Master of thesis, University of Toronto (2009)

S.Dieleman and B.Schrauwen, *Accelerating sparse restricted Boltzmann machine training using non-Gaussianity measures*, Proc. of Deep Learning and Unsupervised Feature Learning (2012)

D.H.Ackley, G.E.Hinton and T.J.Sejnowski, *A Learning Algorithm for Boltzmann Machines*, Cognitive Science, 9: pp.147-169. doi: 10.1207/s15516709cog0901\_7 (1985)

Y.LeCun, et.al, *THE MNIST DATABASE of handwritten digits*, <http://yann.lecun.com/exdb/mnist/>, \[online\] (2015)

A.Coates, A.Ng and H.Lee, *An Analysis of Single-Layer Networks in Unsupervised Feature Learning*, Journal of Machine Learning Research - Proceedings Track 15:215-223 (2011)

I.Goodfellow, David Warde-Farley, et.al., *Pylearn2: a machine learning research library*, arXiv preprint arXiv:1308.4214 (2013)

G.E.Hinton, S.Osindero and Y.Teh, *A fast learning algorithm for deep belief nets*, Neural Computation, Vol.18, No.7, pp.1527-1554 (2006)

[^1]: ©2016 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works.
