A Generation Method of Immunological Memory in Clonal Selection Algorithm by using Restricted Boltzmann Machines ©2015 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.

# A Generation Method of Immunological Memory in Clonal Selection Algorithm by using Restricted Boltzmann Machines ††thanks: ©2015 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.

Shin Kamada Dept. of Intelligent Systems,
Hiroshima City University
3-4-1, Ozuka-Higashi, Asa-Minami-ku,
Hiroshima, 731-3194, Japan
Email: da65002@e.hiroshima-cu.ac.jp
Takumi Ichimura Faculty of Management and Information Systems,
Prefectural University of Hiroshima

1-1-71, Ujina-Higashi, Minami-ku,
Hiroshima, 734-8559, Japan
Email: ichimura@pu-hiroshima.ac.jp
###### Abstract

Recently, a high technique of image processing is required to extract the image features in real time. In our research, the tourist subject data are collected from the Mobile Phone based Participatory Sensing (MPPS) system. Each record consists of image files with GPS, geographic location name, user’s numerical evaluation, and comments written in natural language at sightseeing spots where a user really visits. In our previous research, the famous landmarks in sightseeing spot can be detected by Clonal Selection Algorithm with Immunological Memory Cell (CSAIM). However, some landmarks was not detected correctly by the previous method because they didn’t have enough amount of information for the feature extraction. In order to improve the weakness, we propose the generation method of immunological memory by Restricted Boltzmann Machines. To verify the effectiveness of the method, some experiments for classification of the subjective data are executed by using machine learning tools for Deep Learning.

Image Analysis, Clonal Selection Algorithm, Immunological Memory Cells, Restricted Boltzmann Machines, Deep Learning, Smartphone based Participatory Sensing System, Knowledge Discovery

## I Introduction

The current information technology can collect various data sets because the recent tremendous technical advances in processing power, storage capacity, and network connected cloud computing. The sample record in such data set includes not only numerical values but also comments, numerical evaluation, and binary data such as pictures. The technical methods to discover knowledge in such databases are known to be a field of data mining and developed in various research fields.

Moreover, Mobile Phone based Participatory Sensing (MPPS) system involves a community of users sending personal information and participating in autonomous sensing through their mobile phones [1]. Sensed data can be obtained from sensing devices such as audio, video, and motion sensors in the current smartphone. And then their data can also be obtained from external sensing devices that can communicate wirelessly to the phone. Participation of mobile phone users in sensorial data collection both from the individual and from the surrounding environment presents a wide range of opportunities for truly pervasive applications.

In our research, the tourist subject data are collected from the Android smartphone application [2]. The collected data consists of image files with GPS, geographic location name, user’s numerical evaluation, and comments written in natural language at sightseeing spots where a user really visits. More than 800 subjective data in Hiroshima area are recorded in the database through this system. We have already proposed the classification method from the collected subjective data by the interactive GHSOM [3] and the knowledge is extracted from the classification results of the interactive GHSOM by C4.5 [4]. Moreover, the famous landmarks included in the image data of sightseeing spot were detected by Clonal Selection Algorithm with Immunological Memory Cell (CSAIM) [5].

CSAIM is one of the artificial immune systems which realizes the process of immune response. In CSAIM, the clustering of the antibodies generated by somatic hypermutation (HM) and receptor editing (RE) can be realized according to the training samples in data set. Each cluster of antibodies is trained to extract the features of some sample patterns by perceptron and then the representative antibody in the cluster is recorded as a memory cell after training. The classification capability of this method was high to the medical database. [6]. However, the method didn’t show good performance in the experiments of image data set because it was too large amount of information to realize the extraction of the specified characteristics[7]. In order to improve this problem, we proposed the feature extraction method of CSAIM by using RBM which generates memory cells to extract the characteristic pattern from images by Deep Learning.

Deep Learning method attracts a lot of attention in the research of machine learning, especially image processing [8]. The method has an advantage of not only the network structure with multi-layer but also the pre-training which is an unsupervised learning for each layer before actual training. Restricted Boltzmann Machine (RBM) [9] is often used for one of pre-training methods, it can represent an probability distribution of input data set. Moreover, some machine learning tools for Deep Learning such as “Pylearn2 [10]” are shared as a open source software and the techniques of image processing are required to extract the image features in real time.

The remainder of this paper is organized as follows. In Section II, the our previous proposed clonal selection algorithm with immunological memory will be explained briefly. Section III describes the algorithm of RBM and Section IV explains the usage of Pylearn2 as one of machine learning tools for Deep Learning. In Section V, we propose a generation method of immunological memory cells in clonal selection algorithm by using RBM. Section VI describes some experimental results. In Section VII, we give some discussions to conclude this paper.

## Ii Clonal Selection Algorithm with Immunological Memory

This section describes our proposed AIS model called Clonal Selection Algorithm with Immunological Memory (CSAIM) [5, 6].

The area of artificial immune system (AIS) has been an ever-increasing interested in not only theoretical works but applications in pattern recognition, network security, and optimization [11], [12], [13]. AIS uses ideas gleaned from immunology in order to develop adaptive systems capable of performing a wide range of tasks in various research areas.

In our research, we proposed Clonal Selection Algorithm with Immunological Memory (CSAIM) [5, 6]. The method is based on RECSA model proposed by Gao [14]. He indicated the complementary roles of somatic hypermutation (HM) and receptor editing (RE). However, RECSA model doesn’t have a mechanism which explains immune response. In CSAIM model, the generated antibodies by HM and RE can be recorded into memory cells.

Fig. 1 shows a flow of CSAIM model. The process from 1⃝ to 8⃝ in Fig. 1 is the same process as RECSA model. In CSAIM model, generated antibodies by RECSA model are classified into some categories according to their features.

Clustering Memory Cells are required to classify the antibodies responding the specified samples in the data set. This articles[5, 6] realize the clustering by allocating the generated antibodies by RECSA model into some categories. The initial number of categories is predefined and a new category is created according to training situation. Fig. 2 shows the generation method of new memory cell. Similar antibodies crowd around an appropriate point in each category, and then only central antibody of the crowd can become a memory cell. However, we may meet that memory cells can not recognize some of samples in the data set. The real database which includes some contradictory cases shows different output patterns for the some input pattern. In such cases, some new generated antibodies by RECSA model tries to respond to the mis-classification of the samples, if the similar antibodies make a crowd.

To find the crowd of similar cases, the system checks whether the Euclidean distance between the training sample and its corresponding antibody is smaller than the predetermined parameter . Let be the elements of input signal and be the element of antibody.

In order to calculate the distance between the sample and the antibody, the range of sample is changed to that of antibody as follows.

 d′i=di×hjdj (di≠0∧hi≠0)

where is the minimum value of element in the input sample.

Then, if the Euclidean distance between and is smaller than , the antibody can respond the sample.

Also, each of classified antibodies can be trained to learn the sample pattern by perceptron. Fig. II shows the procedure of the learning algorithm of perceptron. After the training, if training error is less than the expected value, the antibody is recorded as a new memory cell.

{indentation}

0.5cm0.0cm {breakbox}

1. For each antibody, calculate the output of the specified samples by using the following equation.

 O=k∑i=1wixi (1)

where is a weight for each antibody and is a element of input.

2. Calculate the difference by using output value and .

 E=12δ2=12(θq−O)2 (2)

where means the cluster of memory cells.

3. Update weights.

 wi=wi+ηδxi (3)

where takes a real value in .

4. The procedure from 1) to 3) is executed for the specified samples till the given number of iterations reaches or error becomes less than the expected value. The good antibodies after training are recorded in the memory.

## Iii Restricted Boltzmann Machines

This section explains Restricted Boltzmann Machine (RBM) [9]. RBM is a generative stochastic artificial neural network and energy-based model for unsupervised learning. It consists of two layers; one is visible layer, the other is hidden layer as shown in Fig. 4. In Boltzmann Machines network graph, each neuron is connected to all the neurons in all layers. However, because of computational complexity and stochastically independent, there are no connections between neurons in the same layer in RBM. Recently, RBM can be used as a method of pre-training in Deep Learning for fine tuning of initial parameters.

The purpose of the training of RBM is the learning of a probability distribution over the input set. Let and be the binary variables of the visible unit and hidden unit, respectively. An energy function and probabilities of vector for visible units and for hidden units, respectively are defined as follows.

 E(\boldmathv,\boldmathh)=∑ibivi−∑jcjhj−∑i∑jviWijhj, (4)
 p(\boldmathv,\boldmathh)=1Zexp(−E(\boldmathv,\boldmathh)), (5)
 Z=∑\boldmathv∑\boldmathhexp(−E(\boldmathv,\boldmathh)), (6)

where is the bias for , is the bias for , and is the weight between and . is the partition function which is given by summing over all possible pairs of visible and hidden vectors.

The parameters of RBM are calculated by maximum likelihood estimation for the which is marginal distribution of . However, computational complexity increases exponentially because of the calculation of all possible pairs of visible and hidden vectors during the calculation of maximum likelihood estimation. Usually, the contrastive divergence learning procedure which is a much faster algorithm of Gibbs sampling based on Markov chain Monte Carlo methods can be often used as one of the learning methods of RBM [15, 16]. Fig. III shows the update procedure in RBM with single-step contrastive divergence (CD-1).

{indentation}

0.4cm-0.2cm {breakbox}

1. Take a training sample from data set in visible layer.

2. For each hidden unit, compute the conditional probabilitiy of given and binary visible .

 p(hj=1|\boldmathv)=sigm(cj+∑iWijvi) (7)

where is a function which output a real value in such as sigmoid function.

3. For each visible unit, compute the conditional probability of given calculated by the step 2) and binary visible .

 p(v′i=1|\boldmathh)=sigm(bi+∑jWijhj) (8)
4. For each hidden unit, compute the conditional probability of given calculated by the step 3) and binary visible .

 p(h′j=1|\boldmathv′)=sigm(cj+∑iWijv′i) (9)
5. Update bias and weights as follows.

 Wij = Wij+η(vip(hj=1|\boldmathv)−v′ip(h′j=1|\boldmathv′)) bi = bi+η(vi−v′i) cj = cj+η(p(hj=1|\boldmathv)−p(h′j=1|\boldmathv′)) (10)

where is a learning rate .

6. The procedure from 1) to 5) is executed until the terminate conditions are satisfied.

## Iv Machine Learning Tool

Pylearn2 [10] is one of machine learning tools with libraries for Deep Learning [8]. The programming code is written by python and based on Theano [17] which is numerical computation library. Pylearn2 can work well in the GPU calculation environment and it is suitable for the implementation of mathematical expressions. Pylearn2 can represent the computation result by RBM, DBN (Deep Belief Networks) [18], and other Deep Learning method visually.

Pylearn2 is shared in GitHub as an open source software [19]. The following procedures are the instruction of the installation of Pylearn2 in Linux.

1. Before the installation of Pylearn2, the RPM packages such as python-pip, python-numpy, python-scipy, python-setuptools, python-matplotlib, and Theano are required in the Linux with Red Hat Linux package management system.

2. Pylearn2 system is obtained from the Internet by using Git system as follows.

$git clone git://github.com/lisa-lab/ pylearn2.git  The software will be compiled by python and installed as follows. $ python setup.py build
$sudo python setup.py install  3. We should define some environment variables in the Linux shell in order to use the data files and script files without absolute path. $ export PYLEARN2_VIEWER_COMMAND=
"eog --new-instance"
$export PATH=$PATH:~/pylearn2/pylearn2/
scripts


To use some Pylearn2 scripts, the following procedures are required.

1. Create the data set such as CSV file or PKL file which is python serial object.

2. Write YAML file. The YAML file is a series of 2 or more XML files. Fig. 6 is a very simple example of YAML file. The file mainly consists of three sections: data set, model, and algorithm. In Fig. 6, the input data set is “train.pkl” (line 2), the model is Gaussian Binary RBM (line 3-7), the algorithm is Stochastic Gradient Descent (line 8-12). We can define the training parameters for each section such as the number of visible units, learning rate, and so on.

3. Import YAML file and run the process as follows.

$train.py example.yaml  4. After the training, we can see the training result for each iteration as follows. $ plot_moniter.py example.pkl


The file “example.pkl” is the output file by training. The visualization of learning weights can be appear by using the following command.

$show_weight.py example.pkl  As mentioned above, Pylearn2 supports General-purpose computing on graphics processing units (GPGPU). An architecture for GPGPU such as Compute Unified Device Architecture (CUDA) [20] should be required. CUDA has been developed by NVIDIA and it can give an developer direct access to the virtual instruction set and memory of the parallel computational elements. CUDA Ver 7.0 has been released at the time of writting this paper, and it is available for Windows, Mac, and Linux. After CUDA installation, we can set the following environment variables for Theano with Pylearn2 and run on GPU. $ THEANO_FLAGS=mode=FAST_RUN,device=gpu,
floatX=float32 train.py example.yaml


The global setting in “.theanorc” file is configured as follows.

[global]
device=gpu
floatX=float32


## V A Generation method of memory cell of RBM

As mentioned in the section II, when CSAIM model classifies the generated antibodies into some categories, the system generates memory cells responding the specified samples by perceptron. The method can provide the capability of the learning for simple patterns. However, some data which is ambiguous such as image may not be classified correctly because CSAIM model has a problem related to the number of memory cells. CSAIM model generates a new memory cell according to a new classified category as shown in Fig. 2. If the distinctive patterns are appeared in the data set, the system allocates a huge number of memory cells. As a result, the computation time to classify the sample case will be larger. In order to improve the weakness, we proposed the feature extraction method of sequence of pixels from a photo image to reduce the number of pixels for each memory cell [7]. Fig. 8 shows some experiments of data sets for classification of the images by using CSAIM. As a result, Fig. 8(a) and Fig. 8(b) were classified correctly, but Fig. 8(c) - Fig. 8(f) were not well classified because the sample image has too ambiguous to extract their features compared with Fig. 8(a) and Fig. 8(b). In this paper, we propose another CSAIM model which generates memory cells to extract the characteristic patterns from images by using RBM.

In our proposed method, the specified samples are trained by RBM. An output layer is added into hidden layer of RBM, the weights between hidden layer and output layer are fine tuned by perceptron in order to estimate the output value for a sample pattern. Fig. 7 shows the structure of our proposed model. is a vector of output layer, is used to estimate the label by Softmax function as shown in Eq. (11).

 yk=exp(zk)∑Liexp(zi) (11)

## Vi Experimental Result

### Vi-a Data Set

To verify the effectiveness of our proposed model, we used the image data set collected from smartphone Application called “Hiroshima Tourist Map [2]”. Hiroshima Tourist Map can collect the tourist subjective data in the research field of MPPS. The collected subjective data consists of jpeg files with GPS, geographic location name, user’s numerical evaluation, and comments written in natural language at sightseeing spots where a user really visits. More than 800 subjective data are recorded in the database through this system.

In this experiment, 3 kinds of images were used as a landmark spot of world heritage in Hiroshima; “Torii” in Miyajima, “Atomic Bomb Dome”, and “Battleship Yamato” as shown in Fig. 8. We used 8 training samples and 2 test samples for each spot, and each image is 48 48 pixels.

### Vi-B Results

We examined the classification capability of our proposed method. In this experiment, the following parameters were used for CSAIM: , , , , , , , , , , , , , , , (for the details of parameter description, see [5, 6]). Moreover, the following parameters were used for RBM: model = Gaussian Binary RBM, number of visible units = 2304, number of hidden units = 80, training_algorithms = Stochastic Gradient Descent (SGD), batch_size = 6 in this paper. We used the computer with the following specifications: CPU = Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz, GPU = GeForce GTX 750 Ti, Memory = 16GB, OS = Ubuntu 14.04.2 LTS x86_64.

Table I shows the classification result for 3 kinds of images by CSAIM with perceptron and CSAIM with RBM. The upper line and the lower line show the result of training cases and test cases, respectively. Fig. 9 shows the experimental results of energy when a memory cell was generated by RBM.

As the classification results, for data set of “Torii”, the CSAIM with perceptron was able to classify them into correct label not only training cases but also test cases. But the previous method did not show good performance for the data set of “Atomic Bomb Dome” and “Battleship Yamato”. The data set of them consists of unclear characteristics compared with “Thorii”. For a point of view for human, we can detect the broken-building and battleship even if the object is captured from different angles. On the contrary, CSAIM with RBM was able to classify all the data sets not only training cases but also test cases. As a result, 3 memory cells were generated in the learning phase of CSAIM with RBM, Fig. 10 shows the visual map of the weight space in a memory cell. The value of energy-function in RBM was decreased as shown in Fig. 9. After 50 iterations, the energy became to fall into a small value, RBM was able to train faster than perceptron. The calculation speeds with CPU and GPU in RBM were 47.29 minutes and 25.22 minutes respectively, it was reduced by about half.

## Vii Conclusion

This paper presented the usage of Pylearn2 as one of machine learning tools for Deep Learning. Moreover, the generation method of Immunological Memory by using RBM was proposed to extract the features to classify the trained examples. As the experimental results, our proposed method showed the high classification capability for not only training cases but also test cases because some memory cells with characteristic pattern of images were generated by RBM. We will develop the method to find the optimum number of memory cells and the optimal set of values and the number of hidden units in the training phase of RBMs.

## Acknowledgment

This work was supported by JSPS KAKENHI Grant Number 25330366 and Electric Technology Research Foundation of Chugoku.

## References

• [1] N.D.Lane, E.Miluzzo, L.Hong, D.Peebles, T.Choudhury, A.T.Campbell, A survey of mobile phone sensing, IEEE Communications Magazine, Vol.48, No.9, pp.140-150, 2010.
• [2] ITProducts, Hiroshima Tourist Map, https://play.google.com/store/apps/details?id=jp.itproducts.KankouMap&hl=ja, [online], 2011.
• [3] T.Ichimura and S.Kamada, A Generation Method of Filtering Rules of Twitter Via Smartphone Based Participatory Sensing System for Tourist by Interactive GHSOM and C4.5, Proc. of IEEE SMC 2012, pp.110-115, 2012.
• [4] T.Ichimura, S.Kamada, and K.Kato, Knowledge Discovery of Tourist Subjective Data in Smartphone Based Participatory Sensing System by Interactive Growing Hierarchical SOM and C4.5, Intl. J. Knowledge and Web Intelligence, Vol.3, No.2, pp.110-129, 2012.
• [5] T.Ichimura and S.Kamada, Clustering and Retrieval Method of Immunological Memory Cell in Clonal Selection Algorithm, Proc. of SCIS-ISIS 2012, pp.1351-1356, 2012.
• [6] T.Ichimura and S.Kamada, A Classification Method of Coronary Heart Disease Databases by Clonal Selection Algorithm with Immunological Memory Cell, Intl. J. Biomedical Soft Computing and Human Sciences, Vol.19, No.2, pp.7-18, 2014.
• [7] T.Ichimura and S.Kamada, A Clonal Selection Algorithm with Levenshtein Distance based Image Similarity in Multidimensional Subjective Tourist Information and Discovery of Cryptic Spots by Interactive GHSOM, Proc. of IEEE SMC 2013, pp.2085-2090, 2013.
• [8] Y.Bengio, Learning Deep Architectures for AI, Foundations and Trends in Machine Learning archive, Vol.2, No.1, pp.1-127, 2009.
• [9] 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.
• [10] I.Goodfellow, David Warde-Farley, et.al. Pylearn2: a machine learning research library, arXiv preprint arXiv:1308.4214, 2013.
• [11] L.N. de Castro, and J.Timmis, Artificial immune systems: A new computational Intelligence Approach, Springer-Verlag, 1996.
• [12] D.Dasgupta, Artificial immune systems and their applications, Springer-Verlag, 1999.
• [13] A.S.Perelson, Immune network theory, Immunological Review, Vol.110, pp.5-36, 1993.
• [14] S.Gao, H,Dai, G.Yang, and Z.Tang, A novel clonal selection algorithm and its application to travelling salesman problem, IEICE Trans. Fundamentals, Vol.E90-A, pp.2318-2325, 2007.
• [15] G.E.Hinton, Training products of experts by minimizing contrastive divergence, Neural Computation, vol.14, pp.1771-1800, 2002.
• [16] 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.
• [17] F.Bastien, P.Lamblin, et.al, Theano: new features and speed improvements, NIPS 2012 deep learning workshop, 2012.
• [18] 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.
• [19] Pylearn2, GitHub https://github.com/lisa-lab/pylearn2, [online], 2011.
• [20] NBIDIA, CUDA, http://www.nvidia.co.jp/object/cuda-jp.html, [online], 2007.
You are adding the first comment!
How to quickly get a good reply:
• Give credit where it’s due by listing out the positive aspects of a paper before getting into which changes should be made.
• Be specific in your critique, and provide supporting evidence with appropriate references to substantiate general statements.
• Your comment should inspire ideas to flow and help the author improves the paper.

The better we are at sharing our knowledge with each other, the faster we move forward.
The feedback must be of minimum 40 characters and the title a minimum of 5 characters