<?xml version="1.0" encoding="UTF-8"?>
<TEI xmlns="http://www.tei-c.org/ns/1.0" xml:lang="en">
  <teiHeader>
    <fileDesc>
      <titleStmt>
        <title>Deep Learning for Computer Vision: A Brief Review</title>
        <author>Athanasios Voulodimos</author>
        <author>Nikolaos Doulamis</author>
        <author>Anastasios Doulamis</author>
        <author>Eftychios Protopapadakis</author>
      </titleStmt>
      <publicationStmt>
        <p>Tag layer of the DHSS Meta-Tagging Project. The article text is reproduced from the
           staged copy named in sourceDesc and is not altered; the tags are held separately in
           standOff so that overlapping and nested spans are preserved.</p>
      </publicationStmt>
      <sourceDesc>
        <bibl>
          <title>Deep Learning for Computer Vision: A Brief Review</title>
          <date>2018</date>
          <publisher>Computational Intelligence and Neuroscience</publisher>
          <idno type="DOI">10.1155/2018/7068349</idno>
          
          <idno type="record">voulodimos2018-deep-learning-for-computer-vision</idno>
          <note type="staged-file">voulodimos2018-deep-learning-for-computer-vision.txt, the project's staged copy</note>
          <note type="text-sha1">cba8ea022400b930ea9e3cf91511f987917e5ee8</note>
          <note type="rights">cc-by</note>
        </bibl>
      </sourceDesc>
    </fileDesc>
    <profileDesc>
      <textClass><keywords><term>computer-science</term></keywords></textClass>
      <particDesc>
        <person xml:id="paper"><p>the paper's own words</p></person>
        <person xml:id="tagger"><p>the tag layer; a sentence written by the tagger about the
          paper, always anchored to a quotation but not itself a quotation</p></person>
      </particDesc>
    </profileDesc>
    <revisionDesc>
      <change when="2026-10-06"
              who="build_paper_edition.py">246 spans located by searching the stored text for the quote's exact words, allowing any whitespace between them</change>
    </revisionDesc>
  </teiHeader>
  <standOff>
    <spanGrp type="tags">
      <span xml:id="t0" from="#a1" to="#a2" type="object_of_study" ana="#object_of_study" resp="#paper">deep learning architectures used in computer vision - CNNs, the Boltzmann family, and stacked denoising autoencoders</span>
      <span xml:id="t1" from="#a1" to="#a2" type="research_question" ana="#research_question" resp="#paper">what the main deep learning schemes for computer vision are, what they can and cannot do, and what remains unsolved</span>
      <span xml:id="t2" from="#a66" to="#a67" type="contribution" ana="#contribution" resp="#paper">a comparison of three model families by advantage and disadvantage, closing with the statement that the field has no theoretical account of WHY a given architecture works</span>
      <span xml:id="t3" from="#a66" to="#a67" type="claim_type" ana="#claim_type" resp="#paper">critique</span>
      <span xml:id="t4" from="#a3" to="#a4" type="phenomenon" ana="#phenomenon" resp="#paper">computational models of multiple processing layers learning representations at multiple levels of abstraction</span>
      <span xml:id="t5" from="#a58" to="#a59" type="method" ana="#method" resp="#paper">review<term>review</term></span>
      <span xml:id="t6" from="#a18" to="#a19" type="mechanisms" ana="#mechanisms[0]" resp="#tagger" cert="0.95">pooling reduces size and therefore LOSES INFORMATION, and the paper states the loss as a benefit: less computational overhead downstream, and it works against overfitting</span>
      <span xml:id="t7" from="#a30" to="#a31" type="mechanisms" ana="#mechanisms[1]" resp="#tagger" cert="0.95">the RBM&#x27;s bipartite restriction - no visible-visible or hidden-hidden connection - is what makes contrastive divergence tractable; the constraint IS the method</span>
      <span xml:id="t8" from="#a9" to="#a10" type="mechanisms" ana="#mechanisms[2]" resp="#tagger" cert="0.95">the 2006 Deep Belief Network stacked Restricted Boltzmann Machines and trained one layer at a time, unsupervised, which is what made depth trainable at all</span>
      <span xml:id="t9" from="#a66" to="#a67" type="limitations" ana="#limitations[0]" resp="#tagger" cert="0.95">THE FIELD HAS NO THEORETICAL GROUNDWORK FOR EITHER OF ITS TWO CENTRAL QUESTIONS: how to define the optimal model type and structure for a task, and why a given architecture is effective in a task or not</span>
      <span xml:id="t10" from="#a62" to="#a63" type="limitations" ana="#limitations[1]" resp="#tagger" cert="0.95">CNNs depend on labelled data existing, which the unsupervised families do not - so the choice of family is partly a choice about what data you have rather than about the problem</span>
      <span xml:id="t11" from="#a64" to="#a65" type="limitations" ana="#limitations[2]" resp="#tagger" cert="0.95">both CNNs and DBNs/DBMs are computationally demanding to train, and only SdAs train in real time and only under certain circumstances</span>
      <span xml:id="t12" from="#a3" to="#a4" type="transfers" ana="#transfers[0]" resp="#tagger" cert="0.95">the brain as the model for the architecture - &#x27;mimicking how the brain perceives and understands multimodal information&#x27; is inside the definition rather than beside it</span>
      <span xml:id="t13" from="#a60" to="#a61" type="controls" ana="#controls[0]" resp="#tagger" cert="0.95">the three families are compared on the same visual tasks before advantages are claimed for any of them<note>eliminates: an architecture&#x27;s advantage on one task being reported as a general property · outcome: held</note></span>
      <span xml:id="t14" from="#a3" to="#a4" type="concepts" ana="#concepts[0]" resp="#paper" cert="0.95">deep learning<term>deep learning</term></span>
      <span xml:id="t15" from="#a62" to="#a63" type="concepts" ana="#concepts[1]" resp="#paper" cert="0.95">CNNs<term>CNNs</term></span>
      <span xml:id="t16" from="#a64" to="#a65" type="concepts" ana="#concepts[2]" resp="#paper" cert="0.95">SdAs<term>SdAs</term></span>
      <span xml:id="t17" from="#a18" to="#a19" type="concepts" ana="#concepts[3]" resp="#paper" cert="0.95">overfitting<term>overfitting</term></span>
      <span xml:id="t18" from="#a5" to="#a6" type="concepts" ana="#concepts[4]" resp="#paper" cert="0.95">neural networks<term>neural networks</term></span>
      <span xml:id="t19" from="#a9" to="#a10" type="concepts" ana="#concepts[5]" resp="#paper" cert="0.95">Deep Belief Network<term>Deep Belief Network</term></span>
      <span xml:id="t20" from="#a11" to="#a12" type="concepts" ana="#concepts[6]" resp="#paper" cert="0.95">large, high-quality, publicly available labelled datasets<term>large, high-quality, publicly available labelled datasets</term></span>
      <span xml:id="t21" from="#a11" to="#a12" type="concepts" ana="#concepts[7]" resp="#paper" cert="0.95">parallel GPU computing<term>parallel GPU computing</term></span>
      <span xml:id="t22" from="#a11" to="#a12" type="concepts" ana="#concepts[8]" resp="#paper" cert="0.95">CPU-based<term>CPU-based</term></span>
      <span xml:id="t23" from="#a11" to="#a12" type="concepts" ana="#concepts[9]" resp="#paper" cert="0.95">GPU-based training<term>GPU-based training</term></span>
      <span xml:id="t24" from="#a11" to="#a12" type="concepts" ana="#concepts[10]" resp="#paper" cert="0.95">vanishing gradient problem<term>vanishing gradient problem</term></span>
      <span xml:id="t25" from="#a11" to="#a12" type="concepts" ana="#concepts[11]" resp="#paper" cert="0.95">saturating activation functions<term>saturating activation functions</term></span>
      <span xml:id="t26" from="#a11" to="#a12" type="concepts" ana="#concepts[12]" resp="#paper" cert="0.95">hyperbolic tangent<term>hyperbolic tangent</term></span>
      <span xml:id="t27" from="#a11" to="#a12" type="concepts" ana="#concepts[13]" resp="#paper" cert="0.95">logistic function<term>logistic function</term></span>
      <span xml:id="t28" from="#a11" to="#a12" type="concepts" ana="#concepts[14]" resp="#paper" cert="0.95">regularization techniques<term>regularization techniques</term></span>
      <span xml:id="t29" from="#a11" to="#a12" type="concepts" ana="#concepts[15]" resp="#paper" cert="0.95">dropout<term>dropout</term></span>
      <span xml:id="t30" from="#a11" to="#a12" type="concepts" ana="#concepts[16]" resp="#paper" cert="0.95">batch normalization<term>batch normalization</term></span>
      <span xml:id="t31" from="#a11" to="#a12" type="concepts" ana="#concepts[17]" resp="#paper" cert="0.95">data augmentation<term>data augmentation</term></span>
      <span xml:id="t32" from="#a11" to="#a12" type="concepts" ana="#concepts[18]" resp="#paper" cert="0.95">TensorFlow<term>TensorFlow</term></span>
      <span xml:id="t33" from="#a11" to="#a12" type="concepts" ana="#concepts[19]" resp="#paper" cert="0.95">theano<term>theano</term></span>
      <span xml:id="t34" from="#a11" to="#a12" type="concepts" ana="#concepts[20]" resp="#paper" cert="0.95">mxnet<term>mxnet</term></span>
      <span xml:id="t35" from="#a13" to="#a14" type="concepts" ana="#concepts[21]" resp="#paper" cert="0.95">Convolutional Neural Networks (CNNs)<term>Convolutional Neural Networks (CNNs)</term></span>
      <span xml:id="t36" from="#a13" to="#a14" type="concepts" ana="#concepts[22]" resp="#paper" cert="0.95">visual system&#x27;s structure<term>visual system&#x27;s structure</term></span>
      <span xml:id="t37" from="#a13" to="#a14" type="concepts" ana="#concepts[23]" resp="#paper" cert="0.95">local connectivities between neurons<term>local connectivities between neurons</term></span>
      <span xml:id="t38" from="#a13" to="#a14" type="concepts" ana="#concepts[24]" resp="#paper" cert="0.95">hierarchically organized transformations of the image<term>hierarchically organized transformations of the image</term></span>
      <span xml:id="t39" from="#a13" to="#a14" type="concepts" ana="#concepts[25]" resp="#paper" cert="0.95">Neocognitron<term>Neocognitron</term></span>
      <span xml:id="t40" from="#a13" to="#a14" type="concepts" ana="#concepts[26]" resp="#paper" cert="0.95">translational invariance<term>translational invariance</term></span>
      <span xml:id="t41" from="#a13" to="#a14" type="concepts" ana="#concepts[27]" resp="#paper" cert="0.95">convolutional layers<term>convolutional layers</term></span>
      <span xml:id="t42" from="#a13" to="#a14" type="concepts" ana="#concepts[28]" resp="#paper" cert="0.95">pooling layers<term>pooling layers</term></span>
      <span xml:id="t43" from="#a13" to="#a14" type="concepts" ana="#concepts[29]" resp="#paper" cert="0.95">fully connected layers<term>fully connected layers</term></span>
      <span xml:id="t44" from="#a13" to="#a14" type="concepts" ana="#concepts[30]" resp="#paper" cert="0.95">input volume<term>input volume</term></span>
      <span xml:id="t45" from="#a13" to="#a14" type="concepts" ana="#concepts[31]" resp="#paper" cert="0.95">output volume of neuron activation<term>output volume of neuron activation</term></span>
      <span xml:id="t46" from="#a13" to="#a14" type="concepts" ana="#concepts[32]" resp="#paper" cert="0.95">1D feature vector<term>1D feature vector</term></span>
      <span xml:id="t47" from="#a15" to="#a16" type="concepts" ana="#concepts[33]" resp="#paper" cert="0.95">kernels<term>kernels</term></span>
      <span xml:id="t48" from="#a15" to="#a16" type="concepts" ana="#concepts[34]" resp="#paper" cert="0.95">convolve the whole image<term>convolve the whole image</term></span>
      <span xml:id="t49" from="#a15" to="#a16" type="concepts" ana="#concepts[35]" resp="#paper" cert="0.95">intermediate feature maps<term>intermediate feature maps</term></span>
      <span xml:id="t50" from="#a15" to="#a16" type="concepts" ana="#concepts[36]" resp="#paper" cert="0.95">various feature maps<term>various feature maps</term></span>
      <span xml:id="t51" from="#a15" to="#a16" type="concepts" ana="#concepts[37]" resp="#paper" cert="0.95">convolution operation<term>convolution operation</term></span>
      <span xml:id="t52" from="#a15" to="#a16" type="concepts" ana="#concepts[38]" resp="#paper" cert="0.95">faster learning times<term>faster learning times</term></span>
      <span xml:id="t53" from="#a17" to="#a20" type="concepts" ana="#concepts[39]" resp="#paper" cert="0.95">spatial dimensions<term>spatial dimensions</term></span>
      <span xml:id="t54" from="#a17" to="#a20" type="concepts" ana="#concepts[40]" resp="#paper" cert="0.95">depth dimension<term>depth dimension</term></span>
      <span xml:id="t55" from="#a17" to="#a20" type="concepts" ana="#concepts[41]" resp="#paper" cert="0.95">subsampling<term>subsampling</term></span>
      <span xml:id="t56" from="#a17" to="#a20" type="concepts" ana="#concepts[42]" resp="#paper" cert="0.95">downsampling<term>downsampling</term></span>
      <span xml:id="t57" from="#a17" to="#a20" type="concepts" ana="#concepts[43]" resp="#paper" cert="0.95">loss of information<term>loss of information</term></span>
      <span xml:id="t58" from="#a17" to="#a20" type="concepts" ana="#concepts[44]" resp="#paper" cert="0.95">less computational overhead<term>less computational overhead</term></span>
      <span xml:id="t59" from="#a17" to="#a20" type="concepts" ana="#concepts[45]" resp="#paper" cert="0.95">Average pooling<term>Average pooling</term></span>
      <span xml:id="t60" from="#a17" to="#a20" type="concepts" ana="#concepts[46]" resp="#paper" cert="0.95">max pooling<term>max pooling</term></span>
      <span xml:id="t61" from="#a17" to="#a20" type="concepts" ana="#concepts[47]" resp="#paper" cert="0.95">faster convergence<term>faster convergence</term></span>
      <span xml:id="t62" from="#a17" to="#a20" type="concepts" ana="#concepts[48]" resp="#paper" cert="0.95">superior invariant features<term>superior invariant features</term></span>
      <span xml:id="t63" from="#a17" to="#a20" type="concepts" ana="#concepts[49]" resp="#paper" cert="0.95">generalization<term>generalization</term></span>
      <span xml:id="t64" from="#a17" to="#a20" type="concepts" ana="#concepts[50]" resp="#paper" cert="0.95">stochastic pooling<term>stochastic pooling</term></span>
      <span xml:id="t65" from="#a17" to="#a20" type="concepts" ana="#concepts[51]" resp="#paper" cert="0.95">spatial pyramid pooling<term>spatial pyramid pooling</term></span>
      <span xml:id="t66" from="#a17" to="#a20" type="concepts" ana="#concepts[52]" resp="#paper" cert="0.95">def-pooling<term>def-pooling</term></span>
      <span xml:id="t67" from="#a21" to="#a22" type="concepts" ana="#concepts[53]" resp="#paper" cert="0.95">high-level reasoning<term>high-level reasoning</term></span>
      <span xml:id="t68" from="#a21" to="#a22" type="concepts" ana="#concepts[54]" resp="#paper" cert="0.95">full connections<term>full connections</term></span>
      <span xml:id="t69" from="#a21" to="#a22" type="concepts" ana="#concepts[55]" resp="#paper" cert="0.95">matrix multiplication<term>matrix multiplication</term></span>
      <span xml:id="t70" from="#a21" to="#a22" type="concepts" ana="#concepts[56]" resp="#paper" cert="0.95">bias offset<term>bias offset</term></span>
      <span xml:id="t71" from="#a21" to="#a22" type="concepts" ana="#concepts[57]" resp="#paper" cert="0.95">2D feature maps<term>2D feature maps</term></span>
      <span xml:id="t72" from="#a21" to="#a22" type="concepts" ana="#concepts[58]" resp="#paper" cert="0.95">categories<term>categories</term></span>
      <span xml:id="t73" from="#a23" to="#a24" type="concepts" ana="#concepts[59]" resp="#paper" cert="0.95">local receptive fields<term>local receptive fields</term></span>
      <span xml:id="t74" from="#a23" to="#a24" type="concepts" ana="#concepts[60]" resp="#paper" cert="0.95">tied weights<term>tied weights</term></span>
      <span xml:id="t75" from="#a23" to="#a24" type="concepts" ana="#concepts[61]" resp="#paper" cert="0.95">spatial subsampling<term>spatial subsampling</term></span>
      <span xml:id="t76" from="#a23" to="#a24" type="concepts" ana="#concepts[62]" resp="#paper" cert="0.95">neighboring units<term>neighboring units</term></span>
      <span xml:id="t77" from="#a23" to="#a24" type="concepts" ana="#concepts[63]" resp="#paper" cert="0.95">elementary visual features<term>elementary visual features</term></span>
      <span xml:id="t78" from="#a23" to="#a24" type="concepts" ana="#concepts[64]" resp="#paper" cert="0.95">edges or corners<term>edges or corners</term></span>
      <span xml:id="t79" from="#a23" to="#a24" type="concepts" ana="#concepts[65]" resp="#paper" cert="0.95">higher order features<term>higher order features</term></span>
      <span xml:id="t80" from="#a23" to="#a24" type="concepts" ana="#concepts[66]" resp="#paper" cert="0.95">elementary feature detectors<term>elementary feature detectors</term></span>
      <span xml:id="t81" from="#a23" to="#a24" type="concepts" ana="#concepts[67]" resp="#paper" cert="0.95">identical weights<term>identical weights</term></span>
      <span xml:id="t82" from="#a23" to="#a24" type="concepts" ana="#concepts[68]" resp="#paper" cert="0.95">planes<term>planes</term></span>
      <span xml:id="t83" from="#a23" to="#a24" type="concepts" ana="#concepts[69]" resp="#paper" cert="0.95">convolutional layer<term>convolutional layer</term></span>
      <span xml:id="t84" from="#a23" to="#a24" type="concepts" ana="#concepts[70]" resp="#paper" cert="0.95">specific feature<term>specific feature</term></span>
      <span xml:id="t85" from="#a23" to="#a24" type="concepts" ana="#concepts[71]" resp="#paper" cert="0.95">feature maps<term>feature maps</term></span>
      <span xml:id="t86" from="#a25" to="#a26" type="concepts" ana="#concepts[72]" resp="#paper" cert="0.95">large number of parameters<term>large number of parameters</term></span>
      <span xml:id="t87" from="#a25" to="#a26" type="concepts" ana="#concepts[73]" resp="#paper" cert="0.95">pretraining<term>pretraining</term></span>
      <span xml:id="t88" from="#a25" to="#a26" type="concepts" ana="#concepts[74]" resp="#paper" cert="0.95">pretrained parameters<term>pretrained parameters</term></span>
      <span xml:id="t89" from="#a25" to="#a26" type="concepts" ana="#concepts[75]" resp="#paper" cert="0.95">randomly set ones<term>randomly set ones</term></span>
      <span xml:id="t90" from="#a25" to="#a26" type="concepts" ana="#concepts[76]" resp="#paper" cert="0.95">learning process<term>learning process</term></span>
      <span xml:id="t91" from="#a25" to="#a26" type="concepts" ana="#concepts[77]" resp="#paper" cert="0.95">generalization capability<term>generalization capability</term></span>
      <span xml:id="t92" from="#a27" to="#a28" type="concepts" ana="#concepts[78]" resp="#paper" cert="0.95">Deep Belief Networks<term>Deep Belief Networks</term></span>
      <span xml:id="t93" from="#a27" to="#a28" type="concepts" ana="#concepts[79]" resp="#paper" cert="0.95">Deep Boltzmann Machines<term>Deep Boltzmann Machines</term></span>
      <span xml:id="t94" from="#a27" to="#a28" type="concepts" ana="#concepts[80]" resp="#paper" cert="0.95">Boltzmann family<term>Boltzmann family</term></span>
      <span xml:id="t95" from="#a27" to="#a28" type="concepts" ana="#concepts[81]" resp="#paper" cert="0.95">Restricted Boltzmann Machine (RBM)<term>Restricted Boltzmann Machine (RBM)</term></span>
      <span xml:id="t96" from="#a27" to="#a28" type="concepts" ana="#concepts[82]" resp="#paper" cert="0.95">learning module<term>learning module</term></span>
      <span xml:id="t97" from="#a27" to="#a28" type="concepts" ana="#concepts[83]" resp="#paper" cert="0.95">undirected connections<term>undirected connections</term></span>
      <span xml:id="t98" from="#a27" to="#a28" type="concepts" ana="#concepts[84]" resp="#paper" cert="0.95">directed connections<term>directed connections</term></span>
      <span xml:id="t99" from="#a29" to="#a31" type="concepts" ana="#concepts[85]" resp="#paper" cert="0.95">undirected graphical model<term>undirected graphical model</term></span>
      <span xml:id="t100" from="#a29" to="#a31" type="concepts" ana="#concepts[86]" resp="#paper" cert="0.95">stochastic visible variables<term>stochastic visible variables</term></span>
      <span xml:id="t101" from="#a29" to="#a31" type="concepts" ana="#concepts[87]" resp="#paper" cert="0.95">stochastic hidden variables<term>stochastic hidden variables</term></span>
      <span xml:id="t102" from="#a29" to="#a31" type="concepts" ana="#concepts[88]" resp="#paper" cert="0.95">visible variable<term>visible variable</term></span>
      <span xml:id="t103" from="#a29" to="#a31" type="concepts" ana="#concepts[89]" resp="#paper" cert="0.95">hidden variable<term>hidden variable</term></span>
      <span xml:id="t104" from="#a29" to="#a31" type="concepts" ana="#concepts[90]" resp="#paper" cert="0.95">Boltzmann Machine<term>Boltzmann Machine</term></span>
      <span xml:id="t105" from="#a29" to="#a31" type="concepts" ana="#concepts[91]" resp="#paper" cert="0.95">Restricted Boltzmann Machine<term>Restricted Boltzmann Machine</term></span>
      <span xml:id="t106" from="#a29" to="#a31" type="concepts" ana="#concepts[92]" resp="#paper" cert="0.95">visible units<term>visible units</term></span>
      <span xml:id="t107" from="#a29" to="#a31" type="concepts" ana="#concepts[93]" resp="#paper" cert="0.95">hidden units<term>hidden units</term></span>
      <span xml:id="t108" from="#a29" to="#a31" type="concepts" ana="#concepts[94]" resp="#paper" cert="0.95">bipartite graph<term>bipartite graph</term></span>
      <span xml:id="t109" from="#a29" to="#a31" type="concepts" ana="#concepts[95]" resp="#paper" cert="0.95">gradient-based contrastive divergence algorithm<term>gradient-based contrastive divergence algorithm</term></span>
      <span xml:id="t110" from="#a32" to="#a33" type="concepts" ana="#concepts[96]" resp="#paper" cert="0.95">probabilistic generative models<term>probabilistic generative models</term></span>
      <span xml:id="t111" from="#a32" to="#a33" type="concepts" ana="#concepts[97]" resp="#paper" cert="0.95">joint probability distribution<term>joint probability distribution</term></span>
      <span xml:id="t112" from="#a32" to="#a33" type="concepts" ana="#concepts[98]" resp="#paper" cert="0.95">observable data<term>observable data</term></span>
      <span xml:id="t113" from="#a32" to="#a33" type="concepts" ana="#concepts[99]" resp="#paper" cert="0.95">labels<term>labels</term></span>
      <span xml:id="t114" from="#a32" to="#a33" type="concepts" ana="#concepts[100]" resp="#paper" cert="0.95">stacking RBMs<term>stacking RBMs</term></span>
      <span xml:id="t115" from="#a32" to="#a33" type="concepts" ana="#concepts[101]" resp="#paper" cert="0.95">layer-by-layer greedy learning strategy<term>layer-by-layer greedy learning strategy</term></span>
      <span xml:id="t116" from="#a32" to="#a33" type="concepts" ana="#concepts[102]" resp="#paper" cert="0.95">deep hierarchical representation<term>deep hierarchical representation</term></span>
      <span xml:id="t117" from="#a34" to="#a35" type="concepts" ana="#concepts[103]" resp="#paper" cert="0.95">poor local optima<term>poor local optima</term></span>
      <span xml:id="t118" from="#a34" to="#a35" type="concepts" ana="#concepts[104]" resp="#paper" cert="0.95">computational cost<term>computational cost</term></span>
      <span xml:id="t119" from="#a34" to="#a35" type="concepts" ana="#concepts[105]" resp="#paper" cert="0.95">maximum likelihood training approximation<term>maximum likelihood training approximation</term></span>
      <span xml:id="t120" from="#a34" to="#a35" type="concepts" ana="#concepts[106]" resp="#paper" cert="0.95">two-dimensional structure<term>two-dimensional structure</term></span>
      <span xml:id="t121" from="#a34" to="#a35" type="concepts" ana="#concepts[107]" resp="#paper" cert="0.95">Convolutional Deep Belief Network (CDBN)<term>Convolutional Deep Belief Network (CDBN)</term></span>
      <span xml:id="t122" from="#a34" to="#a35" type="concepts" ana="#concepts[108]" resp="#paper" cert="0.95">spatial information of neighboring pixels<term>spatial information of neighboring pixels</term></span>
      <span xml:id="t123" from="#a34" to="#a35" type="concepts" ana="#concepts[109]" resp="#paper" cert="0.95">translation invariant generative model<term>translation invariant generative model</term></span>
      <span xml:id="t124" from="#a34" to="#a35" type="concepts" ana="#concepts[110]" resp="#paper" cert="0.95">high dimensional images<term>high dimensional images</term></span>
      <span xml:id="t125" from="#a36" to="#a37" type="concepts" ana="#concepts[111]" resp="#paper" cert="0.95">directed generative model<term>directed generative model</term></span>
      <span xml:id="t126" from="#a36" to="#a37" type="concepts" ana="#concepts[112]" resp="#paper" cert="0.95">multiple layers of hidden units<term>multiple layers of hidden units</term></span>
      <span xml:id="t127" from="#a36" to="#a37" type="concepts" ana="#concepts[113]" resp="#paper" cert="0.95">conditionally independent<term>conditionally independent</term></span>
      <span xml:id="t128" from="#a36" to="#a37" type="concepts" ana="#concepts[114]" resp="#paper" cert="0.95">inference in the DBM<term>inference in the DBM</term></span>
      <span xml:id="t129" from="#a36" to="#a37" type="concepts" ana="#concepts[115]" resp="#paper" cert="0.95">stochastic maximum likelihood (SML)<term>stochastic maximum likelihood (SML)</term></span>
      <span xml:id="t130" from="#a36" to="#a37" type="concepts" ana="#concepts[116]" resp="#paper" cert="0.95">lower bound on the likelihood<term>lower bound on the likelihood</term></span>
      <span xml:id="t131" from="#a36" to="#a37" type="concepts" ana="#concepts[117]" resp="#paper" cert="0.95">poor local minima<term>poor local minima</term></span>
      <span xml:id="t132" from="#a36" to="#a37" type="concepts" ana="#concepts[118]" resp="#paper" cert="0.95">greedy layer-wise training strategy<term>greedy layer-wise training strategy</term></span>
      <span xml:id="t133" from="#a36" to="#a37" type="concepts" ana="#concepts[119]" resp="#paper" cert="0.95">joint fine-tuning<term>joint fine-tuning</term></span>
      <span xml:id="t134" from="#a38" to="#a39" type="concepts" ana="#concepts[120]" resp="#paper" cert="0.95">complex representations<term>complex representations</term></span>
      <span xml:id="t135" from="#a38" to="#a39" type="concepts" ana="#concepts[121]" resp="#paper" cert="0.95">unlabeled data<term>unlabeled data</term></span>
      <span xml:id="t136" from="#a38" to="#a39" type="concepts" ana="#concepts[122]" resp="#paper" cert="0.95">supervised fashion<term>supervised fashion</term></span>
      <span xml:id="t137" from="#a38" to="#a39" type="concepts" ana="#concepts[123]" resp="#paper" cert="0.95">top-down feedback<term>top-down feedback</term></span>
      <span xml:id="t138" from="#a38" to="#a39" type="concepts" ana="#concepts[124]" resp="#paper" cert="0.95">uncertainty about inputs<term>uncertainty about inputs</term></span>
      <span xml:id="t139" from="#a38" to="#a39" type="concepts" ana="#concepts[125]" resp="#paper" cert="0.95">variational lower bound<term>variational lower bound</term></span>
      <span xml:id="t140" from="#a38" to="#a39" type="concepts" ana="#concepts[126]" resp="#paper" cert="0.95">heterogeneous data<term>heterogeneous data</term></span>
      <span xml:id="t141" from="#a40" to="#a41" type="concepts" ana="#concepts[127]" resp="#paper" cert="0.95">high computational cost of inference<term>high computational cost of inference</term></span>
      <span xml:id="t142" from="#a40" to="#a41" type="concepts" ana="#concepts[128]" resp="#paper" cert="0.95">joint optimization<term>joint optimization</term></span>
      <span xml:id="t143" from="#a40" to="#a41" type="concepts" ana="#concepts[129]" resp="#paper" cert="0.95">sizeable datasets<term>sizeable datasets</term></span>
      <span xml:id="t144" from="#a42" to="#a43" type="concepts" ana="#concepts[130]" resp="#paper" cert="0.95">autoencoder<term>autoencoder</term></span>
      <span xml:id="t145" from="#a42" to="#a43" type="concepts" ana="#concepts[131]" resp="#paper" cert="0.95">representation<term>representation</term></span>
      <span xml:id="t146" from="#a42" to="#a43" type="concepts" ana="#concepts[132]" resp="#paper" cert="0.95">target output<term>target output</term></span>
      <span xml:id="t147" from="#a42" to="#a43" type="concepts" ana="#concepts[133]" resp="#paper" cert="0.95">input vector<term>input vector</term></span>
      <span xml:id="t148" from="#a42" to="#a43" type="concepts" ana="#concepts[134]" resp="#paper" cert="0.95">reconstruction error<term>reconstruction error</term></span>
      <span xml:id="t149" from="#a42" to="#a43" type="concepts" ana="#concepts[135]" resp="#paper" cert="0.95">learned feature<term>learned feature</term></span>
      <span xml:id="t150" from="#a42" to="#a43" type="concepts" ana="#concepts[136]" resp="#paper" cert="0.95">mean squared error criterion<term>mean squared error criterion</term></span>
      <span xml:id="t151" from="#a42" to="#a43" type="concepts" ana="#concepts[137]" resp="#paper" cert="0.95">principal components<term>principal components</term></span>
      <span xml:id="t152" from="#a42" to="#a43" type="concepts" ana="#concepts[138]" resp="#paper" cert="0.95">nonlinear<term>nonlinear</term></span>
      <span xml:id="t153" from="#a42" to="#a43" type="concepts" ana="#concepts[139]" resp="#paper" cert="0.95">multimodal aspects of the input distribution<term>multimodal aspects of the input distribution</term></span>
      <span xml:id="t154" from="#a44" to="#a45" type="concepts" ana="#concepts[140]" resp="#paper" cert="0.95">distributed representation<term>distributed representation</term></span>
      <span xml:id="t155" from="#a44" to="#a45" type="concepts" ana="#concepts[141]" resp="#paper" cert="0.95">main variations of the data<term>main variations of the data</term></span>
      <span xml:id="t156" from="#a44" to="#a45" type="concepts" ana="#concepts[142]" resp="#paper" cert="0.95">lossless<term>lossless</term></span>
      <span xml:id="t157" from="#a44" to="#a45" type="concepts" ana="#concepts[143]" resp="#paper" cert="0.95">training examples<term>training examples</term></span>
      <span xml:id="t158" from="#a44" to="#a45" type="concepts" ana="#concepts[144]" resp="#paper" cert="0.95">high reconstruction error<term>high reconstruction error</term></span>
      <span xml:id="t159" from="#a46" to="#a47" type="concepts" ana="#concepts[145]" resp="#paper" cert="0.95">denoising autoencoder<term>denoising autoencoder</term></span>
      <span xml:id="t160" from="#a46" to="#a47" type="concepts" ana="#concepts[146]" resp="#paper" cert="0.95">stochastically corrupted<term>stochastically corrupted</term></span>
      <span xml:id="t161" from="#a46" to="#a47" type="concepts" ana="#concepts[147]" resp="#paper" cert="0.95">uncorrupted input<term>uncorrupted input</term></span>
      <span xml:id="t162" from="#a46" to="#a47" type="concepts" ana="#concepts[148]" resp="#paper" cert="0.95">corruption process<term>corruption process</term></span>
      <span xml:id="t163" from="#a46" to="#a47" type="concepts" ana="#concepts[149]" resp="#paper" cert="0.95">statistical dependencies between the inputs<term>statistical dependencies between the inputs</term></span>
      <span xml:id="t164" from="#a46" to="#a47" type="concepts" ana="#concepts[150]" resp="#paper" cert="0.95">generative model<term>generative model</term></span>
      <span xml:id="t165" from="#a48" to="#a49" type="concepts" ana="#concepts[151]" resp="#paper" cert="0.95">sets a number of inputs to zero<term>sets a number of inputs to zero</term></span>
      <span xml:id="t166" from="#a48" to="#a49" type="concepts" ana="#concepts[152]" resp="#paper" cert="0.95">corrupted values<term>corrupted values</term></span>
      <span xml:id="t167" from="#a48" to="#a49" type="concepts" ana="#concepts[153]" resp="#paper" cert="0.95">uncorrupted ones<term>uncorrupted ones</term></span>
      <span xml:id="t168" from="#a48" to="#a49" type="concepts" ana="#concepts[154]" resp="#paper" cert="0.95">missing patterns<term>missing patterns</term></span>
      <span xml:id="t169" from="#a48" to="#a49" type="concepts" ana="#concepts[155]" resp="#paper" cert="0.95">joint distribution<term>joint distribution</term></span>
      <span xml:id="t170" from="#a48" to="#a49" type="concepts" ana="#concepts[156]" resp="#paper" cert="0.95">unsupervised pretraining<term>unsupervised pretraining</term></span>
      <span xml:id="t171" from="#a50" to="#a51" type="concepts" ana="#concepts[157]" resp="#paper" cert="0.95">latent representation<term>latent representation</term></span>
      <span xml:id="t172" from="#a50" to="#a51" type="concepts" ana="#concepts[158]" resp="#paper" cert="0.95">one layer at a time<term>one layer at a time</term></span>
      <span xml:id="t173" from="#a50" to="#a51" type="concepts" ana="#concepts[159]" resp="#paper" cert="0.95">fine-tuning<term>fine-tuning</term></span>
      <span xml:id="t174" from="#a50" to="#a51" type="concepts" ana="#concepts[160]" resp="#paper" cert="0.95">supervised task<term>supervised task</term></span>
      <span xml:id="t175" from="#a50" to="#a51" type="concepts" ana="#concepts[161]" resp="#paper" cert="0.95">logistic regression layer<term>logistic regression layer</term></span>
      <span xml:id="t176" from="#a50" to="#a51" type="concepts" ana="#concepts[162]" resp="#paper" cert="0.95">target class<term>target class</term></span>
      <span xml:id="t177" from="#a52" to="#a53" type="concepts" ana="#concepts[163]" resp="#paper" cert="0.95">feature learning<term>feature learning</term></span>
      <span xml:id="t178" from="#a52" to="#a53" type="concepts" ana="#concepts[164]" resp="#paper" cert="0.95">handcrafted features<term>handcrafted features</term></span>
      <span xml:id="t179" from="#a52" to="#a53" type="concepts" ana="#concepts[165]" resp="#paper" cert="0.95">ground truth<term>ground truth</term></span>
      <span xml:id="t180" from="#a52" to="#a53" type="concepts" ana="#concepts[166]" resp="#paper" cert="0.95">training data<term>training data</term></span>
      <span xml:id="t181" from="#a52" to="#a53" type="concepts" ana="#concepts[167]" resp="#paper" cert="0.95">real-time training<term>real-time training</term></span>
      <span xml:id="t182" from="#a52" to="#a53" type="concepts" ana="#concepts[168]" resp="#paper" cert="0.95">invariant to transformations<term>invariant to transformations</term></span>
      <span xml:id="t183" from="#a52" to="#a53" type="concepts" ana="#concepts[169]" resp="#paper" cert="0.95">translation, scale, and rotation<term>translation, scale, and rotation</term></span>
      <span xml:id="t184" from="#a52" to="#a53" type="concepts" ana="#concepts[170]" resp="#paper" cert="0.95">object&#x27;s identity or category<term>object&#x27;s identity or category</term></span>
      <span xml:id="t185" from="#a52" to="#a53" type="concepts" ana="#concepts[171]" resp="#paper" cert="0.95">actual pixel values<term>actual pixel values</term></span>
      <span xml:id="t186" from="#a54" to="#a55" type="concepts" ana="#concepts[172]" resp="#paper" cert="0.95">Object detection<term>Object detection</term></span>
      <span xml:id="t187" from="#a54" to="#a55" type="concepts" ana="#concepts[173]" resp="#paper" cert="0.95">semantic objects<term>semantic objects</term></span>
      <span xml:id="t188" from="#a54" to="#a55" type="concepts" ana="#concepts[174]" resp="#paper" cert="0.95">candidate windows<term>candidate windows</term></span>
      <span xml:id="t189" from="#a54" to="#a55" type="concepts" ana="#concepts[175]" resp="#paper" cert="0.95">selective search<term>selective search</term></span>
      <span xml:id="t190" from="#a54" to="#a55" type="concepts" ana="#concepts[176]" resp="#paper" cert="0.95">object proposals<term>object proposals</term></span>
      <span xml:id="t191" from="#a54" to="#a55" type="concepts" ana="#concepts[177]" resp="#paper" cert="0.95">SVM classifier<term>SVM classifier</term></span>
      <span xml:id="t192" from="#a54" to="#a55" type="concepts" ana="#concepts[178]" resp="#paper" cert="0.95">semantic segmentation<term>semantic segmentation</term></span>
      <span xml:id="t193" from="#a56" to="#a57" type="concepts" ana="#concepts[179]" resp="#paper" cert="0.95">FaceNet<term>FaceNet</term></span>
      <span xml:id="t194" from="#a56" to="#a57" type="concepts" ana="#concepts[180]" resp="#paper" cert="0.95">DeepFace<term>DeepFace</term></span>
      <span xml:id="t195" from="#a56" to="#a57" type="concepts" ana="#concepts[181]" resp="#paper" cert="0.95">triplet loss function<term>triplet loss function</term></span>
      <span xml:id="t196" from="#a56" to="#a57" type="concepts" ana="#concepts[182]" resp="#paper" cert="0.95">face representation<term>face representation</term></span>
      <span xml:id="t197" from="#a56" to="#a57" type="concepts" ana="#concepts[183]" resp="#paper" cert="0.95">OpenFace<term>OpenFace</term></span>
      <span xml:id="t198" from="#a56" to="#a57" type="concepts" ana="#concepts[184]" resp="#paper" cert="0.95">mobile computing<term>mobile computing</term></span>
      <span xml:id="t199" from="#a11" to="#a12" type="unhoused_relations" ana="#unhoused_relations[0]" resp="#tagger" cert="0.95">parallel GPU computing → GPU-based training<note>Parallel GPU computing enabled the transition to GPU-based training. Enables is absent from the eight governed types.</note></span>
      <span xml:id="t200" from="#a17" to="#a20" type="unhoused_relations" ana="#unhoused_relations[1]" resp="#tagger" cert="0.95">subsampling → downsampling<note>The pooling operation is also called subsampling or downsampling. Alternate naming is filed unhoused rather than forced into cross-field renaming.</note></span>
      <span xml:id="t201" from="#a23" to="#a24" type="unhoused_relations" ana="#unhoused_relations[2]" resp="#tagger" cert="0.95">feature maps → outputs of planes<note>Outputs of convolutional planes are called feature maps. Naming is absent from the eight governed types.</note></span>
      <span xml:id="t202" from="#a25" to="#a26" type="unhoused_relations" ana="#unhoused_relations[3]" resp="#tagger" cert="0.95">pretraining → learning process<note>Pretraining can accelerate the learning process. Accelerates is absent from the governed edge types.</note></span>
      <span xml:id="t203" from="#a27" to="#a28" type="unhoused_relations" ana="#unhoused_relations[4]" resp="#tagger" cert="0.95">Restricted Boltzmann Machine (RBM) → learning module<note>The RBM is used as the learning module of Boltzmann-family deep models. Used-as is absent from the eight governed types.</note></span>
      <span xml:id="t204" from="#a38" to="#a39" type="unhoused_relations" ana="#unhoused_relations[5]" resp="#tagger" cert="0.95">top-down feedback → uncertainty about inputs<note>Top-down feedback incorporates uncertainty about inputs more effectively. Incorporates is absent from the eight governed types.</note></span>
      <span xml:id="t205" from="#a42" to="#a43" type="unhoused_relations" ana="#unhoused_relations[6]" resp="#tagger" cert="0.95">target output → autoencoder input<note>The autoencoder target output is its input itself. Target-identity is absent from the eight governed types.</note></span>
      <span xml:id="t206" from="#a50" to="#a51" type="unhoused_relations" ana="#unhoused_relations[7]" resp="#tagger" cert="0.95">latent representation → current layer<note>A lower denoising autoencoder&#x27;s latent code is fed as input to the current layer. Feeds-into is absent from the eight governed types.</note></span>
      <span xml:id="t207" from="#a54" to="#a55" type="unhoused_relations" ana="#unhoused_relations[8]" resp="#tagger" cert="0.95">selective search → object proposals<note>Selective search derives the object proposals in the region-based detection pipeline. Derives is absent from the eight governed types.</note></span>
      <span xml:id="t208" from="#a56" to="#a57" type="unhoused_relations" ana="#unhoused_relations[9]" resp="#tagger" cert="0.95">triplet loss function → face representation<note>FaceNet&#x27;s triplet loss makes training cluster same-person face representations. Trains-to-cluster is absent from the eight governed types.</note></span>
      <span xml:id="t209" from="#a3" to="#a4" type="senses" ana="#senses[0]" resp="#tagger" cert="0.95">deep learning - AS DEFINED HERE: computational models of multiple processing layers learning representations at multiple levels of abstraction, MIMICKING how the brain perceives multimodal information - the definition carries a brain analogy inside it</span>
      <span xml:id="t210" from="#a5" to="#a6" type="senses" ana="#senses[1]" resp="#tagger" cert="0.95">deep learning, second sense in the same paper - a RICH FAMILY OF METHODS spanning neural networks, hierarchical probabilistic models and unsupervised and supervised feature learning: a membership list rather than a property</span>
      <span xml:id="t211" from="#a13" to="#a14" type="senses" ana="#senses[2]" resp="#tagger" cert="0.95">CNN - visual-system-inspired hierarchy of convolutional, pooling, and fully connected layers mapping an input volume to a feature vector</span>
      <span xml:id="t212" from="#a17" to="#a20" type="senses" ana="#senses[3]" resp="#tagger" cert="0.95">Pooling - spatial downsampling that deliberately loses information to reduce later computation and resist overfitting</span>
      <span xml:id="t213" from="#a23" to="#a24" type="senses" ana="#senses[4]" resp="#tagger" cert="0.95">Tied weights - identical parameters shared by all units in a plane so one feature detector applies across image locations</span>
      <span xml:id="t214" from="#a29" to="#a31" type="senses" ana="#senses[5]" resp="#tagger" cert="0.95">RBM - undirected bipartite stochastic graphical model with visible and hidden units, trainable by contrastive divergence</span>
      <span xml:id="t215" from="#a32" to="#a33" type="senses" ana="#senses[6]" resp="#tagger" cert="0.95">DBN - stacked RBMs initialized greedily layer by layer, then jointly fine-tuned to learn a hierarchical representation</span>
      <span xml:id="t216" from="#a36" to="#a37" type="senses" ana="#senses[7]" resp="#tagger" cert="0.95">DBM - all-undirected multi-hidden-layer model trained with stochastic maximum likelihood and layer-wise pretraining</span>
      <span xml:id="t217" from="#a42" to="#a43" type="senses" ana="#senses[8]" resp="#tagger" cert="0.95">Autoencoder - encoder whose target is its own input and whose code is learned by minimizing reconstruction error</span>
      <span xml:id="t218" from="#a46" to="#a47" type="senses" ana="#senses[9]" resp="#tagger" cert="0.95">Denoising autoencoder - stochastic autoencoder predicting clean inputs from corrupted versions by learning their statistical dependencies</span>
      <span xml:id="t219" from="#a50" to="#a51" type="senses" ana="#senses[10]" resp="#tagger" cert="0.95">Stacked denoising autoencoder - layer-wise unsupervised reconstruction pretraining followed by supervised fine-tuning</span>
      <span xml:id="t220" from="#a52" to="#a53" type="senses" ana="#senses[11]" resp="#tagger" cert="0.95">CNN feature learning - automatically learned, transformation-invariant features that replace handcrafted descriptors but require labelled ground truth</span>
      <span xml:id="t221" from="#a54" to="#a55" type="senses" ana="#senses[12]" resp="#tagger" cert="0.95">Region-based object detection - selective-search proposals encoded by CNN features and classified by an SVM</span>
      <span xml:id="t222" from="#a56" to="#a57" type="senses" ana="#senses[13]" resp="#tagger" cert="0.95">FaceNet - triplet-loss face embedding trained to cluster representations of the same person</span>
      <span xml:id="t223" from="#a66" to="#a67" type="claim_relations" ana="#claim_relations[0]" resp="#tagger" cert="0.95">critiques → the deep learning literature as a whole, on the ground that it has no theoretical account of how to choose an architecture or why one works</span>
      <span xml:id="t224" from="#a9" to="#a10" type="claim_relations" ana="#claim_relations[1]" resp="#tagger" cert="0.95">extends → Hinton et al.&#x27;s 2006 Deep Belief Network, which the review places as the breakthrough the current era rests on</span>
      <span xml:id="t225" from="#a62" to="#a63" type="concept_edges" ana="#concept_edges[0]" resp="#tagger" cert="0.95">CNNs —distinct-from→ SdAs<note>differs in: whether labelled data is required · the relation itself is separately evidenced · strength of the relation: 0.95 · differs in (stated by the tagger, no quotation): whether labelled data is required · the relation stated: CNNs rely on labelled data existing, IN CONTRAST TO the Boltzmann family and SdAs, which work unsupervised - the paper draws the line itself</note><term>CNNs</term><term>SdAs</term></span>
      <span xml:id="t226" from="#a5" to="#a6" type="concept_edges" ana="#concept_edges[1]" resp="#tagger" cert="0.95">neural networks —is-a→ deep learning<note>the relation itself is separately evidenced · strength of the relation: 0.9 · the relation stated: deep learning ENCOMPASSES neural networks, hierarchical probabilistic models and unsupervised and supervised feature learning algorithms - the class named first
Audit 2026-09-28: DOUBTFUL - read against its full span and kept, but the span says deep learning ENCOMPASSES neural networks; is-a is loose.</note><term>neural networks</term><term>deep learning</term></span>
      <span xml:id="t227" from="#a13" to="#a14" type="concept_edges" ana="#concept_edges[2]" resp="#tagger" cert="0.95">convolutional layers —part-of→ Convolutional Neural Networks (CNNs)<note>the relation itself is separately evidenced · strength of the relation: 1 · note: A CNN comprises convolutional, pooling, and fully connected layers.</note><term>convolutional layers</term><term>Convolutional Neural Networks (CNNs)</term></span>
      <span xml:id="t228" from="#a13" to="#a14" type="concept_edges" ana="#concept_edges[3]" resp="#tagger" cert="0.95">pooling layers —part-of→ Convolutional Neural Networks (CNNs)<note>the relation itself is separately evidenced · strength of the relation: 1 · note: A CNN comprises convolutional, pooling, and fully connected layers.</note><term>pooling layers</term><term>Convolutional Neural Networks (CNNs)</term></span>
      <span xml:id="t229" from="#a13" to="#a14" type="concept_edges" ana="#concept_edges[4]" resp="#tagger" cert="0.95">fully connected layers —part-of→ Convolutional Neural Networks (CNNs)<note>the relation itself is separately evidenced · strength of the relation: 1 · note: A CNN comprises convolutional, pooling, and fully connected layers.</note><term>fully connected layers</term><term>Convolutional Neural Networks (CNNs)</term></span>
      <span xml:id="t230" from="#a25" to="#a26" type="concept_edges" ana="#concept_edges[6]" resp="#tagger" cert="0.95">large number of parameters —causes→ overfitting<note>direction on the measure: increases · the relation itself is separately evidenced · strength of the relation: 0.7 · note: The paper says many parameters may lead to overfitting.
Audit 2026-09-28: DOUBTFUL - read against its full span and kept, but the span says the many parameters MAY lead to overfitting; hedged.</note><term>large number of parameters</term><term>overfitting</term></span>
      <span xml:id="t231" from="#a23" to="#a24" type="concept_edges" ana="#concept_edges[7]" resp="#tagger" cert="0.95">planes —part-of→ convolutional layer<note>the relation itself is separately evidenced · strength of the relation: 1 · note: Each convolutional layer consists of several planes.</note><term>planes</term><term>convolutional layer</term></span>
      <span xml:id="t232" from="#a29" to="#a31" type="concept_edges" ana="#concept_edges[8]" resp="#tagger" cert="0.95">Restricted Boltzmann Machine —is-a→ Boltzmann Machine<note>the relation itself is separately evidenced · strength of the relation: 1 · note: The RBM is explicitly defined as a restricted variant of the Boltzmann Machine.</note><term>Restricted Boltzmann Machine</term><term>Boltzmann Machine</term></span>
      <span xml:id="t233" from="#a27" to="#a28" type="concept_edges" ana="#concept_edges[9]" resp="#tagger" cert="0.95">Deep Belief Networks —is-a→ Boltzmann family<note>the relation itself is separately evidenced · strength of the relation: 1 · note: DBNs and DBMs are stated to belong to the Boltzmann family.</note><term>Deep Belief Networks</term><term>Boltzmann family</term></span>
      <span xml:id="t234" from="#a27" to="#a28" type="concept_edges" ana="#concept_edges[10]" resp="#tagger" cert="0.95">Deep Boltzmann Machines —is-a→ Boltzmann family<note>the relation itself is separately evidenced · strength of the relation: 1 · note: DBNs and DBMs are stated to belong to the Boltzmann family.</note><term>Deep Boltzmann Machines</term><term>Boltzmann family</term></span>
      <span xml:id="t235" from="#a46" to="#a47" type="concept_edges" ana="#concept_edges[11]" resp="#tagger" cert="0.95">denoising autoencoder —is-a→ autoencoder<note>the relation itself is separately evidenced · strength of the relation: 1 · note: The denoising autoencoder is defined as a stochastic version of the autoencoder.</note><term>denoising autoencoder</term><term>autoencoder</term></span>
      <span xml:id="t236" from="#a66" to="#a67" type="content_tags" ana="#content_tags.findings[0]" resp="#tagger" cert="0.95">significant challenges remain in the theoretical groundwork for choosing the optimal model type and structure for a task, or for understanding why an architecture works<term>significant challenges remain in the theoretical groundwork for choosing the optimal model type and structure for a task, or for understanding why an architecture works</term></span>
      <span xml:id="t237" from="#a62" to="#a63" type="content_tags" ana="#content_tags.findings[1]" resp="#tagger" cert="0.95">CNNs learn features automatically and are invariant to transformations, but rely on labelled data, in contrast to DBNs/DBMs and SdAs which work unsupervised<term>CNNs learn features automatically and are invariant to transformations, but rely on labelled data, in contrast to DBNs/DBMs and SdAs which work unsupervised</term></span>
      <span xml:id="t238" from="#a18" to="#a19" type="content_tags" ana="#content_tags.findings[2]" resp="#tagger" cert="0.95">pooling&#x27;s information loss is stated as a BENEFIT - less computational overhead downstream and a defence against overfitting<term>pooling&#x27;s information loss is stated as a BENEFIT - less computational overhead downstream and a defence against overfitting</term></span>
      <span xml:id="t239" from="#a3" to="#a4" type="content_tags" ana="#content_tags.definitions[0]" resp="#tagger" cert="0.95">computational models of multiple processing layers that learn and represent data with multiple levels of abstraction, mimicking how the brain perceives multimodal information<term>deep learning</term></span>
      <span xml:id="t240" from="#a30" to="#a31" type="content_tags" ana="#content_tags.definitions[1]" resp="#tagger" cert="0.95">a Boltzmann Machine restricted so that visible and hidden units form a bipartite graph - the restriction is what allows gradient-based contrastive divergence<term>Restricted Boltzmann Machine</term></span>
      <span xml:id="t241" from="#a9" to="#a10" type="content_tags" ana="#content_tags.quantities[0]" resp="#tagger" cert="0.95">the year of the Deep Belief Network - stacked Restricted Boltzmann Machines trained greedily one layer at a time<term>2006</term></span>
      <span xml:id="t242" from="#a7" to="#a8" type="content_tags" ana="#content_tags.quantities[1]" resp="#tagger" cert="0.95">McCulloch and Pitts&#x27; neuron model, the MCP model, at the start of the lineage the review traces<term>1943</term></span>
      <span xml:id="t243" from="#a30" to="#a31" type="content_tags" ana="#content_tags.statistics[0]" resp="#tagger" cert="0.95">contrastive divergence<term>contrastive divergence</term></span>
      <span xml:id="t244" from="#a62" to="#a63" type="content_tags" ana="#content_tags.variables[0]" resp="#tagger" cert="0.95">labelled data<term>labelled data</term></span>
      <span xml:id="t245" from="#a66" to="#a67" type="content_tags" ana="#content_tags.variables[1]" resp="#tagger" cert="0.95">model type<term>model type</term></span>
    </spanGrp>
  </standOff>
  <text>
    <body>
        <p><anchor xml:id="a0"/> # Abstract</p>
        <p>Over the last years deep learning methods have been shown to outperform previous state-of-the-art machine learning techniques in several fields, with computer vision being one of the most prominent cases. <anchor xml:id="a1"/>This review paper provides a brief overview of some of the most significant deep learning schemes used in computer vision problems, that is, Convolutional Neural Networks, Deep Boltzmann Machines and Deep Belief Networks, and Stacked Denoising Autoencoders. A brief account of their history, structure, advantages, and limitations is given, followed by a description of their applications in various computer vision tasks, such as object detection, face recognition, action and activity recognition, and human pose estimation.<anchor xml:id="a2"/> Finally, a brief overview is given of future directions in designing deep learning schemes for computer vision problems and the challenges involved therein.</p>
        <p>## 1\. Introduction</p>
        <p><anchor xml:id="a3"/>Deep learning allows computational models of multiple processing layers to learn and represent data with multiple levels of abstraction mimicking how the brain perceives and understands multimodal information, thus implicitly capturing intricate structures of large‐scale data.<anchor xml:id="a4"/> <anchor xml:id="a5"/>Deep learning is a rich family of methods, encompassing neural networks, hierarchical probabilistic models, and a variety of unsupervised and supervised feature learning algorithms.<anchor xml:id="a6"/> The recent surge of interest in deep learning methods is due to the fact that they have been shown to outperform previous state-of-the-art techniques in several tasks, as well as the abundance of complex data from different sources (e.g., visual, audio, medical, social, and sensor).</p>
        <p><anchor xml:id="a7"/>The ambition to create a system that simulates the human brain fueled the initial development of neural networks. In 1943, McCulloch and Pitts \ [1\] tried to understand how the brain could produce highly complex patterns by using interconnected basic cells, called neurons. The McCulloch and Pitts model of a neuron, called a MCP model, has made an important contribution to the development of artificial neural networks.<anchor xml:id="a8"/> A series of major contributions in the field is presented in Table 1, including LeNet \ [2\] and Long Short-Term Memory \ [3\], leading up to today&#x27;s “era of deep learning.” <anchor xml:id="a9"/>One of the most substantial breakthroughs in deep learning came in 2006, when Hinton et al. \ [4\] introduced the Deep Belief Network, with multiple layers of Restricted Boltzmann Machines, greedily training one layer at a time in an unsupervised way.<anchor xml:id="a10"/> Guiding the training of intermediate levels of representation using unsupervised learning, performed locally at each level, was the main principle behind a series of developments that brought about the last decade&#x27;s surge in deep architectures and deep learning algorithms.</p>
        <p>### Table 1.</p>
        <p>Important milestones in the history of neural networks and machine learning, leading up to the era of deep learning.</p>
        <p>| Milestone/contribution | Contributor, year | | :-- | :-: | | MCP model, regarded as the ancestor of the Artificial Neural Network | McCulloch &amp; Pitts, 1943 | | Hebbian learning rule | Hebb, 1949 | | First perceptron | Rosenblatt, 1958 | | Backpropagation | Werbos, 1974 | | Neocognitron, regarded as the ancestor of the Convolutional Neural Network | Fukushima, 1980 | | Boltzmann Machine | Ackley, Hinton &amp; Sejnowski, 1985 | | Restricted Boltzmann Machine (initially known as Harmonium) | Smolensky, 1986 | | Recurrent Neural Network | Jordan, 1986 | | Autoencoders | Rumelhart, Hinton &amp; Williams, 1986 | | Ballard, 1987 | | LeNet, starting the era of Convolutional Neural Networks | LeCun, 1990 | | LSTM | Hochreiter &amp; Schmidhuber, 1997 | | Deep Belief Network, ushering the “age of deep learning” | Hinton, 2006 | | Deep Boltzmann Machine | Salakhutdinov &amp; Hinton, 2009 | | AlexNet, starting the age of CNN used for ImageNet classification | Krizhevsky, Sutskever, &amp; Hinton, 2012 |</p>
        <p>Open in a new tab</p>
        <p><anchor xml:id="a11"/>Among the most prominent factors that contributed to the huge boost of deep learning are the appearance of large, high-quality, publicly available labelled datasets, along with the empowerment of parallel GPU computing, which enabled the transition from CPU-based to GPU-based training thus allowing for significant acceleration in deep models&#x27; training. Additional factors may have played a lesser role as well, such as the alleviation of the vanishing gradient problem owing to the disengagement from saturating activation functions (such as hyperbolic tangent and the logistic function), the proposal of new regularization techniques (e.g., dropout, batch normalization, and data augmentation), and the appearance of powerful frameworks like TensorFlow \ [5\], theano \ [6\], and mxnet \ [7\], which allow for faster prototyping<anchor xml:id="a12"/>.</p>
        <p>Deep learning has fueled great strides in a variety of computer vision problems, such as object detection (e.g., \ [8, 9\]), motion tracking (e.g., \ [10, 11\]), action recognition (e.g., \ [12, 13\]), human pose estimation (e.g., \ [14, 15\]), and semantic segmentation (e.g., \ [16, 17\]). In this overview, we will concisely review the main developments in deep learning architectures and algorithms for computer vision applications. In this context, we will focus on three of the most important types of deep learning models with respect to their applicability in visual understanding, that is, Convolutional Neural Networks (CNNs), the “Boltzmann family” including Deep Belief Networks (DBNs) and Deep Boltzmann Machines (DBMs) and Stacked (Denoising) Autoencoders. Needless to say, the current coverage is by no means exhaustive; for example, Long Short-Term Memory (LSTM), in the category of Recurrent Neural Networks, although of great significance as a deep learning scheme, is not presented in this review, since it is predominantly applied in problems such as language modeling, text classification, handwriting recognition, machine translation, speech/music recognition, and less so in computer vision problems. The overview is intended to be useful to computer vision and multimedia analysis researchers, as well as to general machine learning researchers, who are interested in the state of the art in deep learning for computer vision tasks, such as object detection and recognition, face recognition, action/activity recognition, and human pose estimation.</p>
        <p>The remainder of this paper is organized as follows. In Section 2, the three aforementioned groups of deep learning model are reviewed: Convolutional Neural Networks, Deep Belief Networks and Deep Boltzmann Machines, and Stacked Autoencoders. The basic architectures, training processes, recent developments, advantages, and limitations of each group are presented. In Section 3, we describe the contribution of deep learning algorithms to key computer vision tasks, such as object detection and recognition, face recognition, action/activity recognition, and human pose estimation; we also provide a list of important datasets and resources for benchmarking and validation of deep learning algorithms. Finally, Section 4 concludes the paper with a summary of findings.</p>
        <p>## 2\. Deep Learning Methods and Developments</p>
        <p>### 2.1. Convolutional Neural Networks</p>
        <p><anchor xml:id="a13"/>Convolutional Neural Networks (CNNs) were inspired by the visual system&#x27;s structure, and in particular by the models of it proposed in \ [18\]. The first computational models based on these local connectivities between neurons and on hierarchically organized transformations of the image are found in Neocognitron \ [19\], which describes that when neurons with the same parameters are applied on patches of the previous layer at different locations, a form of translational invariance is acquired. Yann LeCun and his collaborators later designed Convolutional Neural Networks employing the error gradient and attaining very good results in a variety of pattern recognition tasks \ [20– 22\].</p>
        <p>A CNN comprises three main types of neural layers, namely, (i) convolutional layers, (ii) pooling layers, and (iii) fully connected layers. Each type of layer plays a different role. Figure 1 shows a CNN architecture for an object detection in image task. Every layer of a CNN transforms the input volume to an output volume of neuron activation, eventually leading to the final fully connected layers, resulting in a mapping of the input data to a 1D feature vector. CNNs have been extremely successful in computer vision applications, such as face recognition, object detection, powering vision in robotics, and self-driving cars<anchor xml:id="a14"/>.</p>
        <p>#### Figure 1.</p>
        <p>![Figure 1](https://www.ncbi.nlm.nih.gov/core/lw/2.0/html/tileshop_pmc/tileshop_pmc_inline.html?title=Click%20on%20image%20to%20zoom&amp;p=PMC3&amp;id=5816885_CIN2018-7068349.001.jpg)</p>
        <p>Open in a new tab</p>
        <p>Example architecture of a CNN for a computer vision task (object detection).</p>
        <p>_(i) Convolutional Layers._ <anchor xml:id="a15"/>In the convolutional layers, a CNN utilizes various kernels to convolve the whole image as well as the intermediate feature maps, generating various feature maps. Because of the advantages of the convolution operation, several works (e.g., \ [23, 24\]) have proposed it as a substitute for fully connected layers with a view to attaining faster learning times<anchor xml:id="a16"/>.</p>
        <p>_(ii) Pooling Layers._ <anchor xml:id="a17"/>Pooling layers are in charge of reducing the spatial dimensions (width × height) of the input volume for the next convolutional layer. The pooling layer does not affect the depth dimension of the volume. The operation performed by this layer is also called subsampling or downsampling, as the reduction of size leads to a simultaneous loss of information. <anchor xml:id="a18"/>However, such a loss is beneficial for the network because the decrease in size leads to less computational overhead for the upcoming layers of the network, and also it works against overfitting.<anchor xml:id="a19"/> Average pooling and max pooling are the most commonly used strategies. In \ [25\] a detailed theoretical analysis of max pooling and average pooling performances is given, whereas in \ [26\] it was shown that max pooling can lead to faster convergence, select superior invariant features, and improve generalization. Also there are a number of other variations of the pooling layer in the literature, each inspired by different motivations and serving distinct needs, for example, stochastic pooling \ [27\], spatial pyramid pooling \ [28, 29\], and def-pooling \ [30<anchor xml:id="a20"/>\].</p>
        <p>_(iii) Fully Connected Layers._ <anchor xml:id="a21"/>Following several convolutional and pooling layers, the high-level reasoning in the neural network is performed via fully connected layers. Neurons in a fully connected layer have full connections to all activation in the previous layer, as their name implies. Their activation can hence be computed with a matrix multiplication followed by a bias offset. Fully connected layers eventually convert the 2D feature maps into a 1D feature vector. The derived vector either could be fed forward into a certain number of categories for classification \ [31\] or could be considered as a feature vector for further processing<anchor xml:id="a22"/> \ [32\].</p>
        <p><anchor xml:id="a23"/>The architecture of CNNs employs three concrete ideas: (a) local receptive fields, (b) tied weights, and (c) spatial subsampling. Based on local receptive field, each unit in a convolutional layer receives inputs from a set of neighboring units belonging to the previous layer. This way neurons are capable of extracting elementary visual features such as edges or corners. These features are then combined by the subsequent convolutional layers in order to detect higher order features. Furthermore, the idea that elementary feature detectors, which are useful on a part of an image, are likely to be useful across the entire image is implemented by the concept of tied weights. The concept of tied weights constraints a set of units to have identical weights. Concretely, the units of a convolutional layer are organized in planes. All units of a plane share the same set of weights. Thus, each plane is responsible for constructing a specific feature. The outputs of planes are called feature maps. Each convolutional layer consists of several planes, so that multiple feature maps can be constructed at each location<anchor xml:id="a24"/>.</p>
        <p>During the construction of a feature map, the entire image is scanned by a unit whose states are stored at corresponding locations in the feature map. This construction is equivalent to a convolution operation, followed by an additive bias term and sigmoid function:</p>
        <p>|     |     | | --- | --- | |  | (1) |</p>
        <p>where _d_ stands for the depth of the convolutional layer, **W** is the weight matrix, and **b** is the bias term. For fully connected neural networks, the weight matrix is full, that is, connects every input to every unit with different weights. For CNNs, the weight matrix **W** is very sparse due to the concept of tied weights. Thus, **W** has the form of</p>
        <p>|     |     | | --- | --- | |  | (2) |</p>
        <p>where **w** are matrices having the same dimensions with the units&#x27; receptive fields. Employing a sparse weight matrix reduces the number of network&#x27;s tunable parameters and thus increases its generalization ability. Multiplying **W** with layer inputs is like convolving the input with **w**, which can be seen as a trainable filter. If the input to _d_ − 1 convolutional layer is of dimension _N_ × _N_ and the receptive field of units at a specific plane of convolutional layer _d_ is of dimension _m_ × _m_, then the constructed feature map will be a matrix of dimensions ( _N_ − _m_ \+ 1)×( _N_ − _m_ \+ 1). Specifically, the element of feature map at ( _i_, _j_) location will be</p>
        <p>|     |     | | --- | --- | |  | (3) |</p>
        <p>with</p>
        <p>|     |     | | --- | --- | |  | (4) |</p>
        <p>where the bias term _b_ is scalar. Using ( 4) and ( 3) sequentially for all ( _i_, _j_) positions of input, the feature map for the corresponding plane is constructed.</p>
        <p><anchor xml:id="a25"/>One of the difficulties that may arise with training of CNNs has to do with the large number of parameters that have to be learned, which may lead to the problem of overfitting. To this end, techniques such as stochastic pooling, dropout, and data augmentation have been proposed. Furthermore, CNNs are often subjected to pretraining, that is, to a process that initializes the network with pretrained parameters instead of randomly set ones. Pretraining can accelerate the learning process and also enhance the generalization capability of the network<anchor xml:id="a26"/>.</p>
        <p>Overall, CNNs were shown to significantly outperform traditional machine learning approaches in a wide range of computer vision and pattern recognition tasks \ [33\], examples of which will be presented in Section 3. Their exceptional performance combined with the relative easiness in training are the main reasons that explain the great surge in their popularity over the last few years.</p>
        <p>### 2.2. Deep Belief Networks and Deep Boltzmann Machines</p>
        <p><anchor xml:id="a27"/>Deep Belief Networks and Deep Boltzmann Machines are deep learning models that belong in the “Boltzmann family,” in the sense that they utilize the Restricted Boltzmann Machine (RBM) as learning module. The Restricted Boltzmann Machine (RBM) is a generative stochastic neural network. DBNs have undirected connections at the top two layers which form an RBM and directed connections to the lower layers. DBMs have undirected connections between all layers of the network. A graphic depiction of DBNs and DBMs can be found in Figure 2. In the following subsections, we will describe the basic characteristics of DBNs and DBMs, after presenting their basic building block, the RBM<anchor xml:id="a28"/>.</p>
        <p>#### Figure 2.</p>
        <p>![Figure 2](https://www.ncbi.nlm.nih.gov/core/lw/2.0/html/tileshop_pmc/tileshop_pmc_inline.html?title=Click%20on%20image%20to%20zoom&amp;p=PMC3&amp;id=5816885_CIN2018-7068349.002.jpg)</p>
        <p>Open in a new tab</p>
        <p>Deep Belief Network (DBN) and Deep Boltzmann Machine (DBM). The top two layers of a DBN form an undirected graph and the remaining layers form a belief network with directed, top-down connections. In a DBM, all connections are undirected.</p>
        <p>#### 2.2.1. Restricted Boltzmann Machines</p>
        <p><anchor xml:id="a29"/>A Restricted Boltzmann Machine (\ [34, 35\]) is an undirected graphical model with stochastic visible variables **v** ∈ {0, 1}_D_ and stochastic hidden variables **h** ∈ {0, 1}_F_, where each visible variable is connected to each hidden variable. An RBM is a variant of the Boltzmann Machine, <anchor xml:id="a30"/>with the restriction that the visible units and hidden units must form a bipartite graph. This restriction allows for more efficient training algorithms, in particular the gradient-based contrastive divergence algorithm<anchor xml:id="a31"/> \ [36\].</p>
        <p>The model defines the energy function _E_: {0, 1}_D_ × {0, 1}_F_ → _ℝ_:</p>
        <p>|     |     | | --- | --- | |  | (5) |</p>
        <p>where _θ_ = { **a**, **b**, **W**} are the model parameters; that is, _W_ _ij_ represents the symmetric interaction term between visible unit _i_ and hidden unit _j_, and _b_ _i_, _a_ _j_ are bias terms.</p>
        <p>The joint distribution over the visible and hidden units is given by</p>
        <p>|     |     | | --- | --- | |  | (6) |</p>
        <p>where _𝒵_( _θ_) is the normalizing constant. The conditional distributions over hidden **h** and visible **v** vectors can be derived by ( 5) and ( 6) as</p>
        <p>|     |     | | --- | --- | |  | (7) |</p>
        <p>Given a set of observations { **v** _n_}_n_ =1_N_ the derivative of the log-likelihood with respect to the model parameters can be derived by ( 6) as</p>
        <p>|     |     | | --- | --- | |  | (8) |</p>
        <p>where _𝔼_ _P_ data denotes an expectation with respect to the data distribution _P_ data( **h**, **v**; _θ_) = _P_( **h** ∣ **v**; _θ_) _P_ data( **v**), with _P_ data( **v**) = (1/ _N_)∑_n_ _δ_( **v** − **v** **n**) representing the empirical distribution and _𝔼_ _P_ model is an expectation with respect to the distribution defined by the model, as in ( 6).</p>
        <p>A detailed explanation along with the description of a practical way to train RBMs was given in \ [37\], whereas \ [38\] discusses the main difficulties of training RBMs and their underlying reasons and proposes a new algorithm with an adaptive learning rate and an enhanced gradient, so as to address the aforementioned difficulties.</p>
        <p>#### 2.2.2. Deep Belief Networks</p>
        <p><anchor xml:id="a32"/>Deep Belief Networks (DBNs) are probabilistic generative models which provide a joint probability distribution over observable data and labels. They are formed by stacking RBMs and training them in a greedy manner, as was proposed in \ [39\]. A DBN initially employs an efficient layer-by-layer greedy learning strategy to initialize the deep network, and, in the sequel, fine-tunes all weights jointly with the desired outputs. DBNs are graphical models which learn to extract a deep hierarchical representation of the training data<anchor xml:id="a33"/>. They model the joint distribution between observed vector **x** and the _l_ hidden layers **h** _k_ as follows:</p>
        <p>|     |     | | --- | --- | |  | (9) |</p>
        <p>where **x** = **h** 0, _P_( **h** _k_∣ **h** _k_ +1) is a conditional distribution for the visible units at level _k_ conditioned on the hidden units of the RBM at level _k_ \+ 1, and _P_( **h** _l_ −1∣ **h** _l_) is the visible-hidden joint distribution in the top-level RBM.</p>
        <p>The principle of greedy layer-wise unsupervised training can be applied to DBNs with RBMs as the building blocks for each layer \ [33, 39\]. A brief description of the process follows:</p>
        <p>1. Train the first layer as an RBM that models the raw input **x** = **h** 0 as its visible layer.</p>
        <p>2. Use that first layer to obtain a representation of the input that will be used as data for the second layer. Two common solutions exist. This representation can be chosen as being the mean activation _P_( **h** 1 = 1∣ **h** 0) or samples of _P_( **h** 1∣ **h** 0).</p>
        <p>3. Train the second layer as an RBM, taking the transformed data (samples or mean activation) as training examples (for the visible layer of that RBM).</p>
        <p>4. Iterate steps ((2) and (3)) for the desired number of layers, each time propagating upward either samples or mean values.</p>
        <p>5. Fine-tune all the parameters of this deep architecture with respect to a proxy for the DBN log- likelihood, or with respect to a supervised training criterion (after adding extra learning machinery to convert the learned representation into supervised predictions, e.g., a linear classifier).</p>
        <p><anchor xml:id="a34"/>There are two main advantages in the above-described greedy learning process of the DBNs \ [40\]. First, it tackles the challenge of appropriate selection of parameters, which in some cases can lead to poor local optima, thereby ensuring that the network is appropriately initialized. Second, there is no requirement for labelled data since the process is unsupervised. Nevertheless, DBNs are also plagued by a number of shortcomings, such as the computational cost associated with training a DBN and the fact that the steps towards further optimization of the network based on maximum likelihood training approximation are unclear \ [41\]. Furthermore, a significant disadvantage of DBNs is that they do not account for the two-dimensional structure of an input image, which may significantly affect their performance and applicability in computer vision and multimedia analysis problems. However, a later variation of the DBN, the Convolutional Deep Belief Network (CDBN) (\ [42, 43\]), uses the spatial information of neighboring pixels by introducing convolutional RBMs, thus producing a translation invariant generative model that successfully scales when it comes to high dimensional images<anchor xml:id="a35"/>, as is evidenced in \ [44\].</p>
        <p>#### 2.2.3. Deep Boltzmann Machines</p>
        <p><anchor xml:id="a36"/>Deep Boltzmann Machines (DBMs) \ [45\] are another type of deep model using RBM as their building block. The difference in architecture of DBNs is that, in the latter, the top two layers form an undirected graphical model and the lower layers form a directed generative model, whereas in the DBM all the connections are undirected. DBMs have multiple layers of hidden units, where units in odd-numbered layers are conditionally independent of even-numbered layers, and vice versa. As a result, inference in the DBM is generally intractable. Nonetheless, an appropriate selection of interactions between visible and hidden units can lead to more tractable versions of the model. During network training, a DBM jointly trains all layers of a specific unsupervised model, and instead of maximizing the likelihood directly, the DBM uses a stochastic maximum likelihood (SML) \ [46\] based algorithm to maximize the lower bound on the likelihood. Such a process would seem vulnerable to falling in poor local minima \ [45\], leaving several units effectively dead. Instead, a greedy layer-wise training strategy was proposed \ [47\], which essentially consists in pretraining the layers of the DBM, similarly to DBN, namely, by stacking RBMs and training each layer to independently model the output of the previous layer, followed by a final joint fine-tuning<anchor xml:id="a37"/>.</p>
        <p><anchor xml:id="a38"/>Regarding the advantages of DBMs, they can capture many layers of complex representations of input data and they are appropriate for unsupervised learning since they can be trained on unlabeled data, but they can also be fine-tuned for a particular task in a supervised fashion. One of the attributes that sets DBMs apart from other deep models is that the approximate inference process of DBMs includes, apart from the usual bottom-up process, a top-down feedback, thus incorporating uncertainty about inputs in a more effective manner. Furthermore, in DBMs, by following the approximate gradient of a variational lower bound on the likelihood objective, one can jointly optimize the parameters of all layers, which is very beneficial especially in cases of learning models from heterogeneous data originating from different modalities<anchor xml:id="a39"/> \ [48\].</p>
        <p><anchor xml:id="a40"/>As far as the drawbacks of DBMs are concerned, one of the most important ones is, as mentioned above, the high computational cost of inference, which is almost prohibitive when it comes to joint optimization in sizeable datasets. Several methods have been proposed to improve the effectiveness of DBMs. These include accelerating inference by using separate models to initialize the values of the hidden units in all layers \ [47, 49\], or other improvements at the pretraining stage \ [50, 51\] or at the training stage<anchor xml:id="a41"/> \ [52, 53\].</p>
        <p>### 2.3. Stacked (Denoising) Autoencoders</p>
        <p>Stacked Autoencoders use the autoencoder as their main building block, similarly to the way that Deep Belief Networks use Restricted Boltzmann Machines as component. It is therefore important to briefly present the basics of the autoencoder and its denoising version, before describing the deep learning architecture of Stacked (Denoising) Autoencoders.</p>
        <p>#### 2.3.1. Autoencoders</p>
        <p><anchor xml:id="a42"/>An autoencoder is trained to encode the input **x** into a representation **r**( **x**) in a way that input can be reconstructed from **r**( **x**) \ [33\]. The target output of the autoencoder is thus the autoencoder input itself. Hence, the output vectors have the same dimensionality as the input vector. In the course of this process, the reconstruction error is being minimized, and the corresponding code is the learned feature. If there is one linear hidden layer and the mean squared error criterion is used to train the network, then the _k_ hidden units learn to project the input in the span of the first _k_ principal components of the data \ [54\]. If the hidden layer is nonlinear, the autoencoder behaves differently from PCA, with the ability to capture multimodal aspects of the input distribution \ [55\]. The parameters of the model are optimized so that the average reconstruction error is minimized. There are many alternatives to measure the reconstruction error<anchor xml:id="a43"/>, including the traditional squared error:</p>
        <p>|     |     | | --- | --- | |  | (10) |</p>
        <p>where function **f** is the _decoder_ and **f**( **r**( **x**)) is the reconstruction produced by the model.</p>
        <p>If the input is interpreted as bit vectors or vectors of bit probabilities, then the loss function of the reconstruction could be represented by cross-entropy; that is,</p>
        <p>|     |     | | --- | --- | |  | (11) |</p>
        <p><anchor xml:id="a44"/>The goal is for the representation (or _code_) **r**( **x**) to be a distributed representation that manages to capture the coordinates along the main variations of the data, similarly to the principle of Principal Components Analysis (PCA). Given that **r**( **x**) is not lossless, it is impossible for it to constitute a successful compression for all input **x**. The aforementioned optimization process results in low reconstruction error on test examples from the same distribution as the training examples but generally high reconstruction error on samples arbitrarily chosen from the input space<anchor xml:id="a45"/>.</p>
        <p>#### 2.3.2. Denoising Autoencoders</p>
        <p><anchor xml:id="a46"/>The denoising autoencoder \ [56\] is a stochastic version of the autoencoder where the input is stochastically corrupted, but the uncorrupted input is still used as target for the reconstruction. In simple terms, there are two main aspects in the function of a denoising autoencoder: first it tries to encode the input (namely, preserve the information about the input), and second it tries to undo the effect of a corruption process stochastically applied to the input of the autoencoder (see Figure 3). The latter can only be done by capturing the statistical dependencies between the inputs. It can be shown that the denoising autoencoder maximizes a lower bound on the log-likelihood of a generative model<anchor xml:id="a47"/>.</p>
        <p>##### Figure 3.</p>
        <p>!Figure 3</p>
        <p>Open in a new tab</p>
        <p>Denoising autoencoder \ [56\].</p>
        <p>In \ [56\], <anchor xml:id="a48"/>the stochastic corruption process arbitrarily sets a number of inputs to zero. Then the denoising autoencoder is trying to predict the corrupted values from the uncorrupted ones, for randomly selected subsets of missing patterns. In essence, the ability to predict any subset of variables from the remaining ones is a sufficient condition for completely capturing the joint distribution between a set of variables. It should be mentioned that using autoencoders for denoising was introduced in earlier works (e.g., \ [57\]), but the substantial contribution of \ [56\] lies in the demonstration of the successful use of the method for unsupervised pretraining of a deep architecture and in linking the denoising autoencoder to a generative model<anchor xml:id="a49"/>.</p>
        <p>#### 2.3.3. Stacked (Denoising) Autoencoders</p>
        <p><anchor xml:id="a50"/>It is possible to stack denoising autoencoders in order to form a deep network by feeding the latent representation (output code) of the denoising autoencoder of the layer below as input to the current layer. The unsupervised pretraining of such an architecture is done one layer at a time. Each layer is trained as a denoising autoencoder by minimizing the error in reconstructing its input (which is the output code of the previous layer). When the first _k_ layers are trained, we can train the ( _k_ \+ 1)th layer since it will then be possible compute the latent representation from the layer underneath.</p>
        <p>When pretraining of all layers is completed, the network goes through a second stage of training called fine-tuning. Here supervised fine-tuning is considered when the goal is to optimize prediction error on a supervised task. To this end, a logistic regression layer is added on the output code of the output layer of the network. The derived network is then trained like a multilayer perceptron, considering only the encoding parts of each autoencoder at this point. This stage is supervised, since the target class is taken into account during training<anchor xml:id="a51"/>.</p>
        <p>As is easily seen, the principle for training stacked autoencoders is the same as the one previously described for Deep Belief Networks, but using autoencoders instead of Restricted Boltzmann Machines. A number of comparative experimental studies show that Deep Belief Networks tend to outperform stacked autoencoders (\ [58, 59\]), but this is not always the case, especially when DBNs are compared to Stacked Denoising Autoencoders \ [56\].</p>
        <p>One strength of autoencoders as the basic unsupervised component of a deep architecture is that, unlike with RBMs, they allow almost any parametrization of the layers, on condition that the training criterion is continuous in the parameters. In contrast, one of the shortcomings of SAs is that they do not correspond to a generative model, when with generative models like RBMs and DBNs, samples can be drawn to check the outputs of the learning process.</p>
        <p>### 2.4. Discussion</p>
        <p><anchor xml:id="a52"/>Some of the strengths and limitations of the presented deep learning models were already discussed in the respective subsections. In an attempt to compare these models (for a summary see Table 2), we can say that CNNs have generally performed better than DBNs in current literature on benchmark computer vision datasets such as MNIST. In cases where the input is nonvisual, DBNs often outperform other models, but the difficulty in accurately estimating joint probabilities as well as the computational cost in creating a DBN constitutes drawbacks. A major positive aspect of CNNs is “feature learning,” that is, the bypassing of handcrafted features, which are necessary for other types of networks; however, in CNNs features are automatically learned. On the other hand, CNNs rely on the availability of ground truth, that is, labelled training data, whereas DBNs/DBMs and SAs do not have this limitation and can work in an unsupervised manner. On a different note, one of the disadvantages of autoencoders lies in the fact that they could become ineffective if errors are present in the first layers. Such errors may cause the network to learn to reconstruct the average of the training data. Denoising autoencoders \ [56\], however, can retrieve the correct input from a corrupted version, thus leading the network to grasp the structure of the input distribution. In terms of the efficiency of the training process, only in the case of SAs is real-time training possible, whereas CNNs and DBNs/DBMs training processes are time-consuming. Finally, one of the strengths of CNNs is the fact that they can be invariant to transformations such as translation, scale, and rotation. Invariance to translation, rotation, and scale is one of the most important assets of CNNs, especially in computer vision problems, such as object detection, because it allows abstracting an object&#x27;s identity or category from the specifics of the visual input (e.g., relative positions/orientation of the camera and the object), thus enabling the network to effectively recognize a given object in cases where the actual pixel values on the image can significantly differ<anchor xml:id="a53"/>.</p>
        <p>#### Table 2.</p>
        <p>Comparison of CNNs, DBNs/DBMs, and SdAs with respect to a number of properties. + denotes a good performance in the property and − denotes bad performance or complete lack thereof.</p>
        <p>| Model properties | CNNs | DBNs/DBMs | SdAs | | :-- | :-: | :-: | :-: | | Unsupervised learning | − | + | + | | Training efficiency | − | − | + | | Feature learning | + | − | − | | Scale/rotation/translation invariance | + | − | − | | Generalization | + | + | + |</p>
        <p>Open in a new tab</p>
        <p>## 3\. Applications in Computer Vision</p>
        <p>In this section, we survey works that have leveraged deep learning methods to address key tasks in computer vision, such as object detection, face recognition, action and activity recognition, and human pose estimation.</p>
        <p>### 3.1. Object Detection</p>
        <p><anchor xml:id="a54"/>Object detection is the process of detecting instances of semantic objects of a certain class (such as humans, airplanes, or birds) in digital images and video ( Figure 4). A common approach for object detection frameworks includes the creation of a large set of candidate windows that are in the sequel classified using CNN features. For example, the method described in \ [32\] employs selective search \ [60\] to derive object proposals, extracts CNN features for each proposal, and then feeds the features to an SVM classifier to decide whether the windows include the object or not. A large number of works is based on the concept of Regions with CNN features proposed in \ [32\]. Approaches following the Regions with CNN paradigm usually have good detection accuracies (e.g., \ [61, 62\]); however, there is a significant number of methods trying to further improve the performance of Regions with CNN approaches, some of which succeed in finding approximate object positions but often cannot precisely determine the exact position of the object \ [63\]. To this end, such methods often follow a joint object detection—semantic segmentation approach \ [64– 66\], usually attaining good results<anchor xml:id="a55"/>.</p>
        <p>#### Figure 4.</p>
        <p>!Figure 4</p>
        <p>Open in a new tab</p>
        <p>Object detection results comparison from \ [66\]. (a) Ground truth; (b) bounding boxes obtained with \ [32\]; (c) bounding boxes obtained with \ [66\].</p>
        <p>A vast majority of works on object detection using deep learning apply a variation of CNNs, for example, \ [8, 67, 68\] (in which a new def-pooling layer and new learning strategy are proposed), \ [9\] (weakly supervised cascaded CNNs), and \ [69\] (subcategory-aware CNNs). However, there does exist a relatively small number of object detection attempts using other deep models. For example, \ [70\] proposes a coarse object locating method based on a saliency mechanism in conjunction with a DBN for object detection in remote sensing images; \ [71\] presents a new DBN for 3D object recognition, in which the top-level model is a third-order Boltzmann machine, trained using a hybrid algorithm that combines both generative and discriminative gradients; \ [72\] employs a fused deep learning approach, while \ [73\] explores the representation capabilities of a deep model in a semisupervised paradigm. Finally, \ [74\] leverages stacked autoencoders for multiple organ detection in medical images, while \ [75\] exploits saliency-guided stacked autoencoders for video-based salient object detection.</p>
        <p>### 3.2. Face Recognition</p>
        <p>Face recognition is one of the hottest computer vision applications with great commercial interest as well. A variety of face recognition systems based on the extraction of handcrafted features have been proposed \ [76– 79\]; in such cases, a feature extractor extracts features from an aligned face to obtain a low-dimensional representation, based on which a classifier makes predictions. CNNs brought about a change in the face recognition field, thanks to their feature learning and transformation invariance properties. The first work employing CNNs for face recognition was \ [80\]; today light CNNs \ [81\] and VGG Face Descriptor \ [82\] are among the state of the art. In \ [44\] a Convolutional DBN achieved a great performance in face verification.</p>
        <p><anchor xml:id="a56"/>Moreover, Google&#x27;s FaceNet \ [83\] and Facebook&#x27;s DeepFace \ [84\] are both based on CNNs. DeepFace \ [84\] models a face in 3D and aligns it to appear as a frontal face. Then, the normalized input is fed to a single convolution-pooling-convolution filter, followed by three locally connected layers and two fully connected layers used to make final predictions. Although DeepFace attains great performance rates, its representation is not easy to interpret because the faces of the same person are not necessarily clustered during the training process. On the other hand, FaceNet defines a triplet loss function on the representation, which makes the training process learn to cluster the face representation of the same person. Furthermore, CNNs constitute the core of OpenFace \ [85\], an open-source face recognition tool, which is of comparable (albeit a little lower) accuracy, is open-source, and is suitable for mobile computing, because of its smaller size and fast execution time<anchor xml:id="a57"/>.</p>
        <p>### 3.3. Action and Activity Recognition</p>
        <p>Human action and activity recognition is a research issue that has received a lot of attention from researchers \ [86, 87\]. Many works on human activity recognition based on deep learning techniques have been proposed in the literature in the last few years \ [88\]. In \ [89\] deep learning was used for complex event detection and recognition in video sequences: first, saliency maps were used for detecting and localizing events, and then deep learning was applied to the pretrained features for identifying the most important frames that correspond to the underlying event. In \ [90\] the authors successfully employ a CNN-based approach for activity recognition in beach volleyball, similarly to the approach of \ [91\] for event classification from large-scale video datasets; in \ [92\], a CNN model is used for activity recognition based on smartphone sensor data. The authors of \ [12\] incorporate a radius–margin bound as a regularization term into the deep CNN model, which effectively improves the generalization performance of the CNN for activity classification. In \ [13\], the authors scrutinize the applicability of CNN as joint feature extraction and classification model for fine-grained activities; they find that due to the challenges of large intraclass variances, small interclass variances, and limited training samples per activity, an approach that directly uses deep features learned from ImageNet in an SVM classifier is preferable.</p>
        <p>Driven by the adaptability of the models and by the availability of a variety of different sensors, an increasingly popular strategy for human activity recognition consists in fusing multimodal features and/or data. In \ [93\], the authors mixed appearance and motion features for recognizing group activities in crowded scenes collected from the web. For the combination of the different modalities, the authors applied multitask deep learning. The work of \ [94\] explores combination of heterogeneous features for complex event recognition. The problem is viewed as two different tasks: first, the most informative features for recognizing events are estimated, and then the different features are combined using an AND/OR graph structure. There is also a number of works combining more than one type of model, apart from several data modalities. In \ [95\], the authors propose a multimodal multistream deep learning framework to tackle the egocentric activity recognition problem, using both the video and sensor data and employing a dual CNNs and Long Short-Term Memory architecture. Multimodal fusion with a combined CNN and LSTM architecture is also proposed in \ [96\]. Finally, \ [97\] uses DBNs for activity recognition using input video sequences that also include depth information.</p>
        <p>### 3.4. Human Pose Estimation</p>
        <p>The goal of human pose estimation is to determine the position of human joints from images, image sequences, depth images, or skeleton data as provided by motion capturing hardware \ [98\]. Human pose estimation is a very challenging task owing to the vast range of human silhouettes and appearances, difficult illumination, and cluttered background. Before the era of deep learning, pose estimation was based on detection of body parts, for example, through pictorial structures \ [99\].</p>
        <p>Moving on to deep learning methods in human pose estimation, we can group them into holistic and part-based methods, depending on the way the input images are processed. The holistic processing methods tend to accomplish their task in a global fashion and do not explicitly define a model for each individual part and their spatial relationships. DeepPose \ [14\] is a holistic model that formulates the human pose estimation method as a joint regression problem and does not explicitly define the graphical model or part detectors for the human pose estimation. Nevertheless, holistic-based methods tend to be plagued by inaccuracy in the high-precision region due to the difficulty in learning direct regression of complex pose vectors from images.</p>
        <p>On the other hand, the part-based processing methods focus on detecting the human body parts individually, followed by a graphic model to incorporate the spatial information. In \ [15\], the authors, instead of training the network using the whole image, use the local part patches and background patches to train a CNN, in order to learn conditional probabilities of the part presence and spatial relationships. In \ [100\] the approach trains multiple smaller CNNs to perform independent binary body-part classification, followed with a higher-level weak spatial model to remove strong outliers and to enforce global pose consistency. Finally, in \ [101\], a multiresolution CNN is designed to perform heat-map likelihood regression for each body part, followed with an implicit graphic model to further promote joint consistency.</p>
        <p>### 3.5. Datasets</p>
        <p><anchor xml:id="a58"/>The applicability of deep learning approaches has been evaluated on numerous datasets, whose content varied greatly, according the application scenario. Regardless of the investigated case, the main application domain is (natural) images.<anchor xml:id="a59"/> A brief description of utilized datasets (traditional and new ones) for benchmarking purposes is provided below.</p>
        <p>_(1) Grayscale Images._ The most used grayscale images dataset is MNIST \ [20\] and its variations, that is, NIST and perturbed NIST. The application scenario is the recognition of handwritten digits.</p>
        <p>_(2) RGB Natural Images._ Caltech RGB image datasets \ [102\], for example, Caltech 101/Caltech 256 and the Caltech Silhouettes, contain pictures of objects belonging to 101/256 categories. CIFAR datasets \ [103\] consist of thousands of 32 × 32 color images in various classes. COIL datasets \ [104\] consist of different objects imaged at every angle in a 360 rotation.</p>
        <p>_(3) Hyperspectral Images._ SCIEN hyperspectral image data \ [105\] and AVIRIS sensor based datasets \ [106\], for example, contain hyperspectral images.</p>
        <p>_(4) Facial Characteristics Images._ Adience benchmark dataset \ [107\] can be used for facial attributes identification, that is, age and gender, from images of faces. Face recognition in unconstrained environments \ [108\] is another commonly used dataset.</p>
        <p>_(5) Medical Images._ Chest X-ray dataset \ [109\] comprises 112120 frontal-view X-ray images of 30805 unique patients with the text-mined fourteen disease image labels (where each image can have multilabels). Lymph Node Detection and Segmentation datasets \ [110\] consist of Computed Tomography images of the mediastinum and abdomen.</p>
        <p>_(6) Video Streams._ The WR datasets \ [111, 112\] can be used for video-based activity recognition in assembly lines \ [113\], containing sequences of 7 categories of industrial tasks. YouTube-8M \ [114\] is a dataset of 8 million YouTube video URLs, along with video-level labels from a diverse set of 4800 Knowledge Graph entities.</p>
        <p>## 4\. Conclusions</p>
        <p>The surge of deep learning over the last years is to a great extent due to the strides it has enabled in the field of computer vision. <anchor xml:id="a60"/>The three key categories of deep learning for computer vision that have been reviewed in this paper, namely, CNNs, the “Boltzmann family” including DBNs and DBMs, and SdAs, have been employed to achieve significant performance rates in a variety of visual understanding tasks, such as object detection, face recognition, action and activity recognition, human pose estimation, image retrieval, and semantic segmentation.<anchor xml:id="a61"/> <anchor xml:id="a62"/>However, each category has distinct advantages and disadvantages. CNNs have the unique capability of feature learning, that is, of automatically learning features based on the given dataset. CNNs are also invariant to transformations, which is a great asset for certain computer vision applications. On the other hand, they heavily rely on the existence of labelled data, in contrast to DBNs/DBMs and SdAs, which can work in an unsupervised fashion.<anchor xml:id="a63"/> <anchor xml:id="a64"/>Of the models investigated, both CNNs and DBNs/DBMs are computationally demanding when it comes to training, whereas SdAs can be trained in real time under certain circumstances.<anchor xml:id="a65"/></p>
        <p><anchor xml:id="a66"/>As a closing note, in spite of the promising—in some cases impressive—results that have been documented in the literature, significant challenges do remain, especially as far as the theoretical groundwork that would clearly explain the ways to define the optimal selection of model type and structure for a given task or to profoundly comprehend the reasons for which a specific architecture or algorithm is effective in a given task or not.<anchor xml:id="a67"/> These are among the most important issues that will continue to attract the interest of the machine learning research community in the years to come.</p>
        <p>## Acknowledgments</p>
        <p>This research is implemented through IKY scholarships programme and cofinanced by the European Union (European Social Fund—ESF) and Greek national funds through the action titled “Reinforcement of Postdoctoral Researchers,” in the framework of the Operational Programme “Human Resources Development Program, Education and Lifelong Learning” of the National Strategic Reference Framework (NSRF) 2014–2020.</p>
        <p>## Conflicts of Interest</p>
        <p>The authors declare that there are no conflicts of interest regarding the publication of this paper.<anchor xml:id="a68"/></p>
    </body>
  </text>
</TEI>
