<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>CCrreeaattiinngg ooff CCoonncceeppttuuaall LLaattttiicceess uussiinngg MMuullttiillaayyeerr Perceptron Perceptron</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Comp</institution>
        </aff>
      </contrib-group>
      <fpage>149</fpage>
      <lpage>157</lpage>
      <abstract>
        <p>Creating of concept lattices is unfortunately difficult timeconsuming process. Neural networks can solve this problem, because they are adaptive in nature, due to their use of a training phase for learning the relationships in the input data, and their generalization capabilities provide a means of coping with noisy or incomplete data. In this text there is presented one possible approach to creating conceptual lattices using multilayer perceptron. The applicability of this approach was experimentally tested as well as parameters it depends on. Hardware acceleration (of the computing) is also discussed.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>Concept analysis has proven to be a valuable tool for gaining insight into
complex data. In many applications of concept analysis experts learn from formal
contexts by inspecting their carefully laid out concept lattices. Contexts in these
applications tend to have a modest size.</p>
      <p>The algorithmic complexity of concept analysis for these applications is
consequently a minor concern. But concept analysis is used increasingly for
applications like program analysis inside a compiler or is combined with statistical
analysis where large contexts are constructed by a program. The resulting
concept lattice is no longer inspected visually but is part of an application’s
internal data structure. For these applications the algorithmic complexity of concept
analysis does matter. This paper presents a solution for computing the concept
lattice by neural network. The neural network will be implement using hardware
accelerator.
2.1</p>
    </sec>
    <sec id="sec-2">
      <title>Background</title>
      <sec id="sec-2-1">
        <title>Formal Concept Analysis</title>
        <p>FCA has been defined by R. Wille and it can be used for hierarchical order
of objects based on object’s features. The basic terms are formal context and
formal concept. In this section there are all important definitions the one needs
to know to understand the problems.
Definition: A formal context C = (G, M, I) consists of two sets G and M and
a relation I between G and M . Elements of G are called objects and elements
of M are called attributes of the context. In order to express that an object g is
in a relation I with an attribute m, we write gIm and read it as ”the object g
has the attribute m”. The relation I is also called the incidence relation of the
context.</p>
      </sec>
      <sec id="sec-2-2">
        <title>Definition:</title>
        <p>For a set A ⊂</p>
        <sec id="sec-2-2-1">
          <title>G of objects we define</title>
          <p>A↑ = {m ∈ M | gIm f or all g ∈ A},
the set of attributes common to the objects in A. Correspondingly, for a set
B ⊂ M of attributes we define</p>
          <p>B↓ = {g ∈ G | gIm f or all m ∈ B},</p>
          <p>1
f (ξ ) = 1 + e− λξ ,
where λ represents the slope of the sigmoid.
the set of objects which have all attributes in B.</p>
          <p>For more information about formal concept analysis see [5]
2.2</p>
        </sec>
      </sec>
      <sec id="sec-2-3">
        <title>Multilayer Perceptron Overview</title>
        <p>Multilayer perceptrons are the most used neural networks, because they are
universal approximators.</p>
        <p>General properties of artificial neural networks are:
– Many simple neuron-like threshold switching units
– Many weighted interconnections among units
– Learning to associate inputs to output by adjusting the connection weights
(adaptation phase)
– Ability of generalization
– Highly parallel, distributed processing
– Fault tolerance</p>
        <p>The function of formal neuron in the network can be described as follows:
y = f (ξ ) = f</p>
        <p>N !
X xiwi .
i=0
where xi is the ith input, wi is a synaptic weight of the ith input, N is the
number of inputs, and f is (usually nonlinear) transfer function.</p>
        <p>
          As transfer function f was used sigmoidal (logistic) function because it is
widely used in the many applications:
(
          <xref ref-type="bibr" rid="ref1">1</xref>
          )
(
          <xref ref-type="bibr" rid="ref2">2</xref>
          )
(
          <xref ref-type="bibr" rid="ref3">3</xref>
          )
(
          <xref ref-type="bibr" rid="ref4">4</xref>
          )
        </p>
        <p>For adaptation of M LP was used classical backpropagation algorithm (BP )
[7] [16]. The backpropagation algorithm is a gradient descent method which
works in much the same way as the name suggests:</p>
        <p>
          After propagating an input through the network, the partial error (
          <xref ref-type="bibr" rid="ref5">5</xref>
          ) is
calculated and the error is propagated back through the network while the weights
are adjusted (according to (
          <xref ref-type="bibr" rid="ref6">6</xref>
          )) in order to make the error smaller.
∂E
∂wij
,
where yj is the calculated output and dkj is the desired output of neuron j,
k is the number of learning pattern, wij is the synaptic weight between the ith
neuron of lower layer and the jth neuron of higher layer, η is a learning rate.
3
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Applying M LP to conceptual lattices</title>
      <p>The reason why use neural network is obvious: fault tolerance, generalization,
adaptability, etc. Fault tolerance is one of the key attributes of neural networks,
and this accrues from the distributed representation nature of neural networks.
Because the information is stored in a distributed way throughout the electronic
(or other) implementation, even if a few percent of the internal devices fail, the
impact on the overall operation can be negligible. In local representation devices,
failure of internal components means total absence of the pieces of information
that were stored in. Also, for the specific test here considered relative to the
conceptual lattice, it appears, there will be signicfiant speed and memory size
advantages on the side of neural networks vs. parallel hardware.</p>
      <p>There is a number of works dealing with Neural network approaches to
conceptual lattices, graphs etc. So far Self-organizing map or a type of recurrent
neural network (like BAM and Hopefild) was used [10, 2, 9].</p>
      <p>Application of neural networks to any problem context requires that the data
associated with that problem be encoded (represented) in a manner meeting
specific requirements imposed by the neural-network methodology. We used the
(reduced) matrix representation of conceptual lattices.
3.1</p>
      <sec id="sec-3-1">
        <title>Representation of concepts for neural network</title>
        <p>
          (
          <xref ref-type="bibr" rid="ref5">5</xref>
          )
(
          <xref ref-type="bibr" rid="ref6">6</xref>
          )
        </p>
        <sec id="sec-3-1-1">
          <title>The network has 3 layers: 1. input layer – attributes 2. hidden layer 3. output layer – objects</title>
          <p>
            So the M LP realizes a mapping (i.e. a function) τ :
τ : {A}m → {O}n,
(
            <xref ref-type="bibr" rid="ref7">7</xref>
            )
where A is the set of attributes, and O is the set of objects. m, n ∈ N.
The principle of applying M LP to conceptual lattices is as follows:
          </p>
          <p>M LP will learn selected patterns (composed of attributes together with the
required response objects).</p>
          <p>The purpose is let the M LP recognize hidden dependencies among attributes
and objects during the adaptation phase. After learning can the M LP compute
objects (de facto concepts) even for non-learned configuration of attributes.</p>
          <p>M LP in active phase gives response in real-time.</p>
          <p>For real applicability we need solve two non-trivial problems:
1. How to select representative training set. We need select the patterns which
contains the important features of concepts. The quality of generalization of
M LP is very sensitive to this selection.
2. The speed of adaptation.
3.2</p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>Preliminary Experimental results</title>
        <p>The testing set contains all concepts which were making from generated
collection of 99 documents. Sample of documents is below:
document 20: Xbbbba Xbbbbb Xbbbbc Xbbbbd Xbbbbe Xbbbbf Xbbbbg bbbbh
bbbbi bbbbj Xffa Xgggga Xggggb Xggggc Xhhhha Xhhhhb Xhhhhc Xhhhhd Xhhhhe
document 21: Xbbbba Xbbbbb Xbbbbc Xbbbbd Xbbbbe Xbbbbf Xbbbbg Xbbbbh
bbbbi bbbbj Xgggga Xhhhha Xhhhhb Xhhhhc Xiiiia Xiiiib Xiiiic Xiiiid Xiiiie
document 22: Xbbbba Xbbbbb Xbbbbc Xbbbbd Xbbbbe Xbbbbf Xbbbbg Xbbbbh
Xbbbbi bbbbj Xhhhha Xiiiia Xiiiib Xiiiic Xjjjja Xjjjjb Xjjjjc Xjjjjd Xjjjje</p>
        <p>The testing set consists of 890 concepts in context with 150 attributes and 99
objects. The training set for neural network was composed by each ffith concept
from context (178 inputs).</p>
        <p>We performed a number of experiments on network and BP parameters like
topology, learning rate, number of iterations and so on.</p>
        <p>Initially it was designed the network topology 190 − 99 − 99 in order to
reach good generalization results. The best results, (i.e. the minimum number of
wrong identified concepts (objects) in the whole set of concepts) gave network
with 190 − 150 − 99 topology in conjunction with small learning rate – 0.01,
which needed over 2000 iterations (on an average).
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Hardware acceleration</title>
      <p>Since it is possible to have for example matrix of type 300000× 300000 in the real
world, and time of adaptation is increasing rapidly, the fast computing device is
needed.</p>
      <p>Three ways of efficient implementing of digital neural computing is described
in this section.
4.1</p>
      <sec id="sec-4-1">
        <title>Reducing data oflw</title>
        <p>A better way of handling large matrices is illustrated by the following small
example [8]. Let us assume two 3 × 3 matrices to be multiplied, and a device
with six inputs for different values. It is possible to reverse order of performing
multiplication:</p>
        <p> a13b31 a13b32 a13b33 
+  a23b31 a23b32 a23b33 </p>
        <p>
          a33b31 a33b32 a33b33
| M{z3 }
(
          <xref ref-type="bibr" rid="ref8">8</xref>
          )
        </p>
        <p>So M1 contains values from the first column of A and the first row from
B, instead of the rfist row from A and rfist column from B. M2 is using the
encond column and row from A and B, respectively, and M3 is using the third.
Bz reading matrices A and B in this way the multiplication can be done in three
stages instead of nine.</p>
        <p>If the device has 2n inputs, the information received is enough for n2
arithmetic operations instead of only n operations. In other words the information
processed grows by the square of the number of inputs instead of linearly, an
data-oflw is reduced dramatically.
4.2</p>
      </sec>
      <sec id="sec-4-2">
        <title>Integer and powers-of-two weights</title>
        <p>The interest in using integer weights stems from the fact that integer multipliers
can be implemented more efficiency than floating-point ones. There are also
special learning algorithm [11, 12] which use powers-of-two integers as weights.
The advantage of powers-of-two integer weight learning algorithm is that the
required multiplications in an neural network can be reduced to a series of shift
operations. Since this learning algorithm uses the classical BP algorithm with
real arithmetics (the rfist step of adaptation), it is not feasible in stand-alone
device.</p>
        <p>The fact that despite continuing advantages in digital technology (concrete
FPGAs) is still impractical to implement neural networks on FPGAs with
floatingpoint precision weights showed Nichols at al. in his work [15], where they
implemented on-line adaptation on the chip (direct implementation of BP ).
4.3</p>
      </sec>
      <sec id="sec-4-3">
        <title>Linearly approximated functions</title>
        <p>The solution described by Skrbek in [17] is based on linearly approximated
functions in combination with the shift operation. It is based on simple functions 2x,
log2 x and sigmoidal function.</p>
        <p>Simple functions The linearly approximated 2x function can be defined by
the expression</p>
        <p>
          EXP2(x) = 2int(x)(1 + frac(x)),
(
          <xref ref-type="bibr" rid="ref9">9</xref>
          )
where n = int(x) is integral part of number x and frac(x) is fractional part
of number x. The shift operation calculates 2n, where n ∈ N . The linear
approximation is used in the range of 2n, 2n+1 . The integral part of x assesses
the number of shift-left operations for the (1 + frac(x)) expression.
        </p>
        <p>
          The linearly approximated log2 x function can be expressed by
(
          <xref ref-type="bibr" rid="ref10">10</xref>
          )
(
          <xref ref-type="bibr" rid="ref11">11</xref>
          )
(
          <xref ref-type="bibr" rid="ref12">12</xref>
          )
        </p>
        <p>For easy implementation, the equation is valid for x ∈ h1, ∞) and for x ∈
h0, 1) is generated zero.</p>
        <p>The sigmoid or tanh functions are often used an transfer function of a neuron.
Both functions are based on ex which is very complex to calculate. Instead, we
use the new function [17] based on the power of two:
s(x) = sgn(x) 1 −
1
2|x|
.
its linearly approximated version is:</p>
        <p>S(x) = sgn(x)</p>
        <p>
          1
2int(|x|)
frac(| x |)
2
− 1
+ 1 ,
and range of this function is (
          <xref ref-type="bibr" rid="ref1">− 1, 1</xref>
          ).
        </p>
        <p>The small error caused by linear approximation is obvious (see figure 4.3).</p>
        <p>Complex function Complex function are a composition of simple functions.
Some complex functions require addtitional add operation to accomplish them.
From the set of complex function we describe the most important one:
multiplication.
Multiplication is defined by
x ∗ y = sgn(x)sgn(y)</p>
        <p>
          EXP2(LOG2(2n | x |) + LOG2(2n | y |) ,
22n
(
          <xref ref-type="bibr" rid="ref13">13</xref>
          )
where n is the width of the bit grid on which calculations are performed. The
arguments x, y and the result are in the range (
          <xref ref-type="bibr" rid="ref1">− 1, 1</xref>
          ). The sign of the result is
evaluated separately.
5
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Conclusions</title>
      <p>About problems mentioned at the end of section 3: We selected each fifth pattern.
This approach revealed itself successful and better than manual pattern selection.
The strategies of pattern selection will be expanded in our further work.</p>
      <p>The convergention speed during the adaptation phase can be accelerated by
other suitable selection strategy (see above) and by hardware implementation.
Efficient hardware implementation of neural networks is subject of research at
VSB-Technical University of Ostrava.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Baeza-Yates</surname>
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ribeiro-Neto</surname>
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Modern Information Retrieval</article-title>
          . Addison Wesley, New York,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Belohlavek</surname>
            <given-names>R.</given-names>
          </string-name>
          :
          <article-title>Representation of concept lattices by bidirectional associative memories</article-title>
          ,
          <source>research report, Neural Computation</source>
          <volume>12</volume>
          ,
          <issue>10</issue>
          (
          <year>2000</year>
          ),
          <fpage>2279</fpage>
          -
          <lpage>2290</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Berry</surname>
            <given-names>M.</given-names>
          </string-name>
          W (Ed.):
          <article-title>Survey of Text Mining: Clustering Classification, and</article-title>
          <string-name>
            <surname>Retrieval. Springer Verlag</surname>
          </string-name>
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Dvorsky</surname>
          </string-name>
          ´ J.,
          <source>Martinovciˇ</source>
          J., Snsaeˇ´l V.
          <article-title>: Query Expansion and Evolution of Topic in Information Retrieval Systems</article-title>
          ,
          <string-name>
            <surname>DATESO</surname>
          </string-name>
          <year>2004</year>
          , ISBN:
          <fpage>80</fpage>
          -
          <lpage>248</lpage>
          -0457-3.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Ganter</surname>
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wille</surname>
            <given-names>R.</given-names>
          </string-name>
          :
          <source>Formal Concept Analysis</source>
          . Springer-Verlag, Berlin, Heidelberg,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Havel</surname>
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vlcek</surname>
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mitrych</surname>
            <given-names>J</given-names>
          </string-name>
          .:
          <article-title>Neural Network Architectures for Image Compression</article-title>
          .
          <source>In IFAC PDS</source>
          <year>2004</year>
          , Nov.
          <fpage>18</fpage>
          -
          <lpage>19</lpage>
          ,
          <year>2004</year>
          , Cracow, Poland, Gliwice, Poland:Silesian University of Technology, ,
          <year>2004</year>
          ,
          <fpage>389</fpage>
          -
          <lpage>394</lpage>
          ,
          <fpage>83</fpage>
          -
          <lpage>908409</lpage>
          -8-7
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Hecht-Nielsen</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          : Neurocomputing,
          <string-name>
            <given-names>Addison</given-names>
            <surname>Wesley</surname>
          </string-name>
          ,
          <year>1991</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Hidvegi</surname>
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Implementation of Neural Networks in FPGAs</article-title>
          . Dept. of Physics, Stockholm University,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>Kiu</given-names>
            <surname>Ch-Ch</surname>
          </string-name>
          ,
          <article-title>Lee Ch-S.: Discovering Ontological Semantics using FCA and SOM</article-title>
          .
          <source>PROCEEDINGS of M2USIC</source>
          , Putrajaya,
          <year>Malaysia 2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Lendaris</surname>
            <given-names>G.G</given-names>
          </string-name>
          (
          <year>1989</year>
          ),
          <article-title>”Experiment on Implementing the Concept-Type Lattice in a Neural Network,”</article-title>
          <source>Proceedings of AAAI Fourth Annual Workshop (AAAI89/IJCAI-89) on Conceptual Graphs</source>
          ,
          <string-name>
            <given-names>AAAI</given-names>
            , Menlo Park, CA 94025,
            <surname>July</surname>
          </string-name>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Marchesi</surname>
            <given-names>M.</given-names>
          </string-name>
          et al.:
          <article-title>Design of Multi-Layer neural Networks with Power-of-Two Weights</article-title>
          .
          <source>Proceedings of ISCAS-90, IEEE International Symposium on Circuit and Systems, New Orleans (LA-USA)</source>
          , pp.
          <fpage>2951</fpage>
          -
          <lpage>2954</lpage>
          ,
          <year>1990</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Marchesi</surname>
            <given-names>M.</given-names>
          </string-name>
          et al.:
          <article-title>Fast Neural Networks without Multipliers</article-title>
          .
          <source>IEEE transactions on Neural Networks</source>
          ,
          <year>1993</year>
          .
          <volume>4</volume>
          (
          <issue>1</issue>
          ): pp.
          <fpage>53</fpage>
          -
          <lpage>62</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Nehring</surname>
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Puppe</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Modelling phylogenetic diversity</article-title>
          .
          <source>Resource and Energy Economics</source>
          (
          <year>2002</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Nehring</surname>
            <given-names>K.</given-names>
          </string-name>
          :
          <source>A Theory of Diversity. Ecometrica</source>
          <volume>70</volume>
          (
          <year>2002</year>
          ) 1155
          <fpage>1198</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Nichols</surname>
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Moussa</surname>
            <given-names>M</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Areibi</surname>
            <given-names>S.:</given-names>
          </string-name>
          <article-title>Feasibility of Floating-Point Arithmetic in FPGA based Artificial Neural Networks</article-title>
          .
          <source>in Proceedings of the 15th International Conference on Computer Applications in Industry and Engineering</source>
          .
          <year>2002</year>
          . San Diego, California.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Rojas</surname>
            ,
            <given-names>R.: Neural</given-names>
          </string-name>
          <string-name>
            <surname>Networks</surname>
            ,
            <given-names>A Systematic</given-names>
          </string-name>
          <string-name>
            <surname>Introduction.</surname>
          </string-name>
          Springer-Verlag, Berlin 1996
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Skrbek</surname>
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Fast Neural Network Implementation</article-title>
          .
          <source>Neural Network World 5/99</source>
          , pp.
          <fpage>375</fpage>
          -
          <lpage>391</lpage>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Zhu</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sutton</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>FPGA Implementations of Neural Networks - A Survey of a Decade of Progress</article-title>
          .
          <source>In: Proc. of the 13th International Conference on FieldProgrammable Logic and Applications</source>
          , LNCS 2778, Springer Verlag, Berlin, pp
          <fpage>1062</fpage>
          -
          <lpage>1066</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>