<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <issn pub-type="ppub">1613-0073</issn>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Detection on a Smart Beehive's Raspberry Pi</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Pascal Janetzky</string-name>
          <email>janetzky@informatik.uni-wuerzburg.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Philip Lissmann</string-name>
          <email>philip.lissmann@stud-mail.uni-wuerzburg.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Andreas Hotho</string-name>
          <email>hotho@informatik.uni-wuerzburg.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Anna Krause</string-name>
          <email>anna.krause@informatik.uni-wuerzburg.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>LWDA'23: Lernen</institution>
          ,
          <addr-line>Wissen, Daten, Analysen</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Würzburg, Department of Computer Science, CAIDAS, Chair for Data Science</institution>
          ,
          <addr-line>97074 Würzburg</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>real-time. The we4bee project has deployed 100 smart hives all over Germany. These hives are equipped with microphones, among other sensors. Beekeepers and bee researchers have observed the importance of sounds when monitoring bee hives, but audio can only be recorded in accordance with privacy laws. To prevent saving recordings of human voices, our aim is to deploy a pre-trained deep learning model on the Raspberry Pi 3B computer controlling the smart hive. This model has to classify recorded data in In this technical report, we document the process of setting up the software on the Raspberry Pi, the adaptations required for existing code to run in the new environment, and the necessity of modifying the trained models for deployment on the mini-computer. We find that in both standard operation conditions and under various artificial levels of high CPU and I/O load, the model's inference runs in real-time.</p>
      </abstract>
      <kwd-group>
        <kwd>TensorFlow</kwd>
        <kwd>machine learning</kwd>
        <kwd>audio classification</kwd>
        <kwd>speech detection</kwd>
        <kwd>mobile computing</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>CEUR
ceur-ws.org</p>
    </sec>
    <sec id="sec-2">
      <title>1. Introduction</title>
      <p>CEUR
Workshop
Proceedings</p>
      <sec id="sec-2-1">
        <title>Audio</title>
      </sec>
      <sec id="sec-2-2">
        <title>Image</title>
      </sec>
      <sec id="sec-2-3">
        <title>Hive system</title>
      </sec>
      <sec id="sec-2-4">
        <title>TFlite</title>
        <p>k-NN
Pred.</p>
      </sec>
      <sec id="sec-2-5">
        <title>SEND</title>
      </sec>
      <sec id="sec-2-6">
        <title>Hive system</title>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>2. Detecting Human Speech</title>
      <p>
        In our previous work [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], we evaluated three Siamese neural networks, Saeed [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], ESC [
        <xref ref-type="bibr" rid="ref8 ref9">8, 9</xref>
        ]
and Bulbul [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], followed by a k-Nearest Neighbor (k-NN) classifier [
        <xref ref-type="bibr" rid="ref11 ref12">11, 12</xref>
        ], on the detection of
speech in audio recordings obtained from beehives. Of these networks, Bulbul showed the best
performance. This Siamese network consists of four times a block of convolution, leaky ReLU
[
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], and max pooling layers. Afterwards, the output is flattened and followed by two blocks of
dropout [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], dense, and leaky ReLU layers.
      </p>
      <p>The Siamese network has been trained on a total of 200 labeled samples of 60 s, of which we
created random data pairs. The network was then trained to minimize the Euclidean distance
between audio pairs from the same class (e.g., speech-speech) and to maximize the distance
between pairs of diferent classes. From the trained network, the embeddings of the training
data were then extracted from an intermediate layer and used to train a k-NN classifier to
predict a sample’s class.</p>
    </sec>
    <sec id="sec-4">
      <title>3. On-device Classification</title>
      <p>To be able to record audio in more than one beehive, we want to identify and discard audio
recordings with human speech directly on the beehive’s Raspberry Pi. To this end, we selected
an exemplary smart beehive and completed the following tasks: installing the TensorFlow Lite
library on the Raspberry Pi; migrating our Python environment and scripts; migrating the
model; and enabling real-time classification of incoming audio data. The proposed approach
to real-time speech detection is visualized in fig. 1. The existing system, visualized on the left,
records sensor and image data and uploads them directly. For the detection of speech, we use
the pipeline visualized in the middle, where only no-speech data is stored for upload. The
remainder of this report will delve into the necessary adaptions in more detail.</p>
      <sec id="sec-4-1">
        <title>3.1. Adaptions to the new environment</title>
        <p>
          Since our earlier research was conducted using the TensorFlow library [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ], TensorFlow is
required on the Raspberry Pi. While the full library ofers all features related to machine
(a) Sample recording of
speech.
        </p>
        <p>(b) Sample recording
of bee humming.</p>
        <p>(c) Total runtime
distribution.</p>
        <p>(d) Total runtime at
different I/O loads.
learning research, the 1 MB small TensorFlow Lite (TFlite) package focuses on inference and
deployment and is suficient for our purpose.</p>
        <p>We verified the successful installation by running an oficial audio classification tutorial [ 16].
In addition to the steps in the tutorial, we had to add our user to the audio group to gain access
to the microphone. Following these configuration changes, we successfully executed the oficial
audio classification tutorial and thereby confirmed the installation and functionality of TFlite.</p>
        <p>
          After installing TFlite, we migrated the Python environment and adapted the scripts. The
methodology outlined in [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], requires librosa for audio processing. Installing it was not
possible on Raspbian 11 Bullseye OS due to incompatible dependencies. Therefore, librosa
was replaced by the soundfile 0.12.1 package [17], which also supports processing audio data.
        </p>
        <p>
          The last step was migrating the best-performing model from our earlier research. Bulbul
relies on the kapre library [18] for transforming raw audio input data to a spectrogram during
the forward pass. Two spectrograms of speech and bee humming are given in fig. 2a and fig. 2b,
respectively, which show diferent intensities in the lower frequencies. In fig. 2a, vertical lines
also indicate human speech. The audio conversion to spectrogram takes place in custom layers
requiring non-standard TFLite operations. To avoid installing full TensorFlow, we replaced the
spectrogram and magnitude-scaling layer of the original model with TFLite-compatible ones
and transferred trained weights. After conversion to the .tflite format, we confirmed that
the model performance did not sufer by re-running experiments from [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. The k-NN model
does not run out-of-the-box as well, and was re-initialized on the device with  = 5 . A tutorial
of the setup process including code is available at https://professor-x.de/beepi-speech.
        </p>
      </sec>
      <sec id="sec-4-2">
        <title>3.2. Performance boundaries</title>
        <p>The smart beehive runs various sensor recording services, whose average CPU load over 15 min
is 25.48 % (std 15.05). The memory usage generally is small, ranging from 5.78 % to 12.59 %,
indicating that around 100 MB of the 1 GB RAM are occupied. These statistics show that the
Raspberry Pi has enough resources available for real-time audio classification and uploading
data without speech. To evaluate the boundary at which this is no longer feasible, we loaded the
Bulbul and k-NN model, and separately timed the audio pre-processing, embedding extraction,
and prediction over 117 files uploaded to our research beehive. For that, we disabled the sensor
recording services and used the Linux commands stress to induce and nice to prioritize
artificial CPU load. Despite these severe restrictions, the system scheduler ensures that our
classification runs in real time. Further, we also evaluated the prediction performance under
varying I/O loads using the stress --io n_threads command with {1..10} threads. The results
in fig. 2d show that for more than 5 threads inducing I/O load, more outliers arise, and the
average total runtime and its standard deviations increase. However, while these increases
indicate that our script has more waiting time, the system is still capable of real-time inference.</p>
      </sec>
      <sec id="sec-4-3">
        <title>3.3. Real-time Classification of Incoming Audio Data</title>
        <p>To verify the performance in a controlled, realistic setting, we re-activated the sensor recording
system and ran the inference five times in sequence, yielding 585 measurements in total. A
histogram of the overall runtimes is given in fig. 2c, which shows that the majority is predicted
in less than 60 s, with the k-NN having negligible influence. Of the 585 tested files, only 19 take
longer than 60 s to classify. Of these delays, according to logs, 10 are caused by the camera
recording, 4 by measuring the finedust concentration, and for 5 the source is unclear. Apart
from this, the parallel recording of the sensor modalities had no negative impact on model
runtimes. In summary, the results show that we only have around 20 min of audio data that
remain unclassified over a period of roughly 10 h. On average, this translates to two audio
snippets per hour that cannot be classified in real-time. Further data loss through connection
failures is prevented by bufering up to 60 h of classified, non-speech data.</p>
        <p>For evaluating the model performance on a diferent hive, we asked one male and one female
volunteer to perform diferent activities (talking, playing music and singing, laughing and
rough-housing, and staying silent for a fixed time period) at 1 m, 5 m 10 m distance to the hive.
Our observations show that all activities are well-detected at all distances to the hive, including
quiet speech.</p>
        <p>Lastly, we let the automated audio classification run over one week, logging the predictions.
The speech detected by our system can generally be mapped to real events, as consultation
with the hive’s owners revealed. For example, one morning, between 7 and 7:15 am, speech is
detected when they take their dog for a walk. In another instance, they prepare for travel.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>4. Conclusion</title>
      <p>In this technical report, we describe the process of deploying a speech detection model onto
a Raspberry Pi 3B in a smart beehive. We show that, after making adaptions to the Python
code and model architectures, we can deploy and run the model on the mobile computer. On
this hardware, our setup can predict the class of a one-minute audio recording in less than 60 s,
i.e., in real-time. Even when high CPU and I/O load simulate extreme scenarios, the setup is
still capable of real-time inference. Lastly, using controlled activities with two volunteers as a
test case, we showed that our model can predict human speech at various distances from the
recording device. The next step is rolling out the models to all hives of the we4bee project.
X. Zheng, TensorFlow: Large-scale machine learning on heterogeneous systems, 2015.</p>
      <p>URL: https://www.tensorflow.org/, software available from tensorflow.org.
[16] Tensorflow lite python audio classification example with raspberry pi, https://github.com/
tensorflow/examples/tree/master/lite/examples/audio_classification/raspberry_pi, 2022.</p>
      <p>Accessed: 2023-07-13.
[17] B. Bechtold, soundfile audio library, https://pypi.org/project/soundfile/, 2023. Accessed:
2023-07-13.
[18] K. Choi, D. Joo, J. Kim, Kapre: On-gpu audio preprocessing layers for a quick
implementation of deep neural network models with keras, in: Machine Learning for Music Discovery
Workshop at 34th International Conference on Machine Learning, ICML, 2017.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>P.</given-names>
            <surname>Davidson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Steininger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Lautenschlager</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Kobs</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Krause</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Hotho</surname>
          </string-name>
          ,
          <article-title>Anomaly detection in beehives using deep recurrent autoencoders</article-title>
          , CoRR abs/
          <year>2003</year>
          .04576 (
          <year>2020</year>
          ). URL: https://arxiv.org/abs/
          <year>2003</year>
          .04576. arXiv:
          <year>2003</year>
          .04576.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>A.</given-names>
            <surname>Žgank</surname>
          </string-name>
          ,
          <article-title>Acoustic monitoring and classification of bee swarm activity using mfcc feature extraction and hmm acoustic modeling</article-title>
          , in: 2018 ELEKTRO, IEEE,
          <year>2018</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>4</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>S.</given-names>
            <surname>Cecchi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Terenzi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Orcioni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Piazza</surname>
          </string-name>
          ,
          <article-title>Analysis of the sound emitted by honey bees in a beehive</article-title>
          ,
          <source>in: Audio Engineering Society Convention</source>
          <volume>147</volume>
          , Audio Engineering Society,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>I.</given-names>
            <surname>Nolasco</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Terenzi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Cecchi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Orcioni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. L.</given-names>
            <surname>Bear</surname>
          </string-name>
          , E. Benetos,
          <article-title>Audio-based identification of beehive states</article-title>
          ,
          <source>in: ICASSP 2019-2019 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP)</source>
          , IEEE,
          <year>2019</year>
          , pp.
          <fpage>8256</fpage>
          -
          <lpage>8260</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>P.</given-names>
            <surname>Janetzky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Schaller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Krause</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Hotho</surname>
          </string-name>
          ,
          <article-title>Swarming detection in smart beehives using auto encoders for audio data</article-title>
          ,
          <source>in: 2023 30th International Conference on Systems, Signals and Image Processing (IWSSIP)</source>
          ,
          <year>2023</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>5</lpage>
          . doi:
          <volume>10</volume>
          .1109/IWSSIP58668.
          <year>2023</year>
          .
          <volume>10180253</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>P.</given-names>
            <surname>Janetzky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Davidson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Steininger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Krause</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Hotho</surname>
          </string-name>
          ,
          <article-title>Detecting presence of speech in acoustic data obtained from beehives</article-title>
          .,
          <source>in: DCASE</source>
          ,
          <year>2021</year>
          , pp.
          <fpage>26</fpage>
          -
          <lpage>30</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>A.</given-names>
            <surname>Saeed</surname>
          </string-name>
          , Urban Sound Classification,
          <year>2016</year>
          . URL: https://github.com/aqibsaeed/ Urban-Sound-Classification, accessed:
          <fpage>2023</fpage>
          -09-07.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>K. J.</given-names>
            <surname>Piczak</surname>
          </string-name>
          ,
          <article-title>Esc: Dataset for environmental sound classification</article-title>
          ,
          <source>in: Proceedings of the 23rd ACM international conference on Multimedia</source>
          ,
          <year>2015</year>
          , pp.
          <fpage>1015</fpage>
          -
          <lpage>1018</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>K. J.</given-names>
            <surname>Piczak</surname>
          </string-name>
          ,
          <article-title>Environmental sound classification with convolutional neural networks</article-title>
          ,
          <source>in: 2015 IEEE 25th International Workshop on Machine Learning for Signal Processing (MLSP)</source>
          , IEEE,
          <year>2015</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>T.</given-names>
            <surname>Grill</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Schlüter</surname>
          </string-name>
          ,
          <article-title>Two convolutional neural networks for bird detection in audio signals</article-title>
          ,
          <source>in: 2017 25th European Signal Processing Conference (EUSIPCO)</source>
          , IEEE,
          <year>2017</year>
          , pp.
          <fpage>1764</fpage>
          -
          <lpage>1768</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>N. S.</given-names>
            <surname>Altman</surname>
          </string-name>
          ,
          <article-title>An introduction to kernel and nearest-neighbor nonparametric regression</article-title>
          ,
          <source>The American Statistician</source>
          <volume>46</volume>
          (
          <year>1992</year>
          )
          <fpage>175</fpage>
          -
          <lpage>185</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>E.</given-names>
            <surname>Fix</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. L.</given-names>
            <surname>Hodges</surname>
          </string-name>
          ,
          <article-title>Discriminatory analysis. nonparametric discrimination: Consistency properties</article-title>
          , International Statistical Review/Revue Internationale de Statistique 57 (
          <year>1989</year>
          )
          <fpage>238</fpage>
          -
          <lpage>247</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>A. L.</given-names>
            <surname>Maas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. Y.</given-names>
            <surname>Hannun</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. Y.</given-names>
            <surname>Ng</surname>
          </string-name>
          , et al.,
          <article-title>Rectifier nonlinearities improve neural network acoustic models</article-title>
          ,
          <source>in: Proc. icml</source>
          , volume
          <volume>30</volume>
          ,
          <string-name>
            <surname>Atlanta</surname>
            ,
            <given-names>GA</given-names>
          </string-name>
          ,
          <year>2013</year>
          , p.
          <fpage>3</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>N.</given-names>
            <surname>Srivastava</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Hinton</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Krizhevsky</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Sutskever</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Salakhutdinov</surname>
          </string-name>
          ,
          <article-title>Dropout: a simple way to prevent neural networks from overfitting</article-title>
          ,
          <source>The journal of machine learning research 15</source>
          (
          <year>2014</year>
          )
          <fpage>1929</fpage>
          -
          <lpage>1958</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>M.</given-names>
            <surname>Abadi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Agarwal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Barham</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Brevdo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Citro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G. S.</given-names>
            <surname>Corrado</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Davis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Dean</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Devin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Ghemawat</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Goodfellow</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Harp</surname>
          </string-name>
          , G. Irving,
          <string-name>
            <given-names>M.</given-names>
            <surname>Isard</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Jia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Jozefowicz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Kaiser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kudlur</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Levenberg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Mané</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Monga</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Moore</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Murray</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Olah</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Schuster</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Shlens</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Steiner</surname>
          </string-name>
          , I. Sutskever,
          <string-name>
            <given-names>K.</given-names>
            <surname>Talwar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Tucker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Vanhoucke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Vasudevan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Viégas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Vinyals</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Warden</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Wattenberg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Wicke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Yu</surname>
          </string-name>
          ,
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>