Download as pdf or txt
Download as pdf or txt
You are on page 1of 54

High Performance Computing: 5th Latin

American Conference, CARLA 2018,


Bucaramanga, Colombia, September
26–28, 2018, Revised Selected Papers
Esteban Meneses
Visit to download the full and correct content document:
https://textbookfull.com/product/high-performance-computing-5th-latin-american-conf
erence-carla-2018-bucaramanga-colombia-september-26-28-2018-revised-selected-p
apers-esteban-meneses/
More products digital (pdf, epub, mobi) instant
download maybe you interests ...

High Performance Computing: 5th Latin American


Conference, CARLA 2018, Bucaramanga, Colombia,
September 26–28, 2018, Revised Selected Papers Esteban
Meneses
https://textbookfull.com/product/high-performance-computing-5th-
latin-american-conference-carla-2018-bucaramanga-colombia-
september-26-28-2018-revised-selected-papers-esteban-meneses/

High Performance Computing 4th Latin American


Conference CARLA 2017 Buenos Aires Argentina and
Colonia del Sacramento Uruguay September 20 22 2017
Revised Selected Papers 1st Edition Esteban Mocskos
https://textbookfull.com/product/high-performance-computing-4th-
latin-american-conference-carla-2017-buenos-aires-argentina-and-
colonia-del-sacramento-uruguay-september-20-22-2017-revised-
selected-papers-1st-edition-esteban-mocskos/

High Performance Computing for Computational Science –


VECPAR 2018: 13th International Conference, São Pedro,
Brazil, September 17-19, 2018, Revised Selected Papers
Hermes Senger
https://textbookfull.com/product/high-performance-computing-for-
computational-science-vecpar-2018-13th-international-conference-
sao-pedro-brazil-september-17-19-2018-revised-selected-papers-
hermes-senger/

High Performance Computing ISC High Performance 2018


International Workshops Frankfurt Main Germany June 28
2018 Revised Selected Papers Rio Yokota

https://textbookfull.com/product/high-performance-computing-isc-
high-performance-2018-international-workshops-frankfurt-main-
germany-june-28-2018-revised-selected-papers-rio-yokota/
Smart Cities First Ibero American Congress ICSC CITIES
2018 Soria Spain September 26 27 2018 Revised Selected
Papers Sergio Nesmachnow

https://textbookfull.com/product/smart-cities-first-ibero-
american-congress-icsc-cities-2018-soria-spain-
september-26-27-2018-revised-selected-papers-sergio-nesmachnow/

Advances in Computing 13th Colombian Conference CCC


2018 Cartagena Colombia September 26 28 2018
Proceedings Jairo E. Serrano C.

https://textbookfull.com/product/advances-in-computing-13th-
colombian-conference-ccc-2018-cartagena-colombia-
september-26-28-2018-proceedings-jairo-e-serrano-c/

Geo informatics in Sustainable Ecosystem and Society


6th International Conference GSES 2018 Handan China
September 25 26 2018 Revised Selected Papers Yichun Xie

https://textbookfull.com/product/geo-informatics-in-sustainable-
ecosystem-and-society-6th-international-conference-
gses-2018-handan-china-september-25-26-2018-revised-selected-
papers-yichun-xie/

High-Performance Computing Applications in Numerical


Simulation and Edge Computing: ACM ICS 2018
International Workshops, HPCMS and HiDEC, Beijing,
China, June 12, 2018, Revised Selected Papers Changjun
Hu
https://textbookfull.com/product/high-performance-computing-
applications-in-numerical-simulation-and-edge-computing-acm-
ics-2018-international-workshops-hpcms-and-hidec-beijing-china-
june-12-2018-revised-selected-papers-changj/

Soft Computing Systems Second International Conference


ICSCS 2018 Kollam India April 19 20 2018 Revised
Selected Papers Ivan Zelinka

https://textbookfull.com/product/soft-computing-systems-second-
international-conference-icscs-2018-kollam-india-
april-19-20-2018-revised-selected-papers-ivan-zelinka/
Esteban Meneses
Harold Castro
Carlos Jaime Barrios Hernández
Raul Ramos-Pollan (Eds.)

Communications in Computer and Information Science 979

High Performance
Computing
5th Latin American Conference, CARLA 2018
Bucaramanga, Colombia, September 26–28, 2018
Revised Selected Papers

123
Communications
in Computer and Information Science 979
Commenced Publication in 2007
Founding and Former Series Editors:
Phoebe Chen, Alfredo Cuzzocrea, Xiaoyong Du, Orhun Kara, Ting Liu,
Krishna M. Sivalingam, Dominik Ślęzak, and Xiaokang Yang

Editorial Board Members


Simone Diniz Junqueira Barbosa
Pontifical Catholic University of Rio de Janeiro (PUC-Rio),
Rio de Janeiro, Brazil
Joaquim Filipe
Polytechnic Institute of Setúbal, Setúbal, Portugal
Ashish Ghosh
Indian Statistical Institute, Kolkata, India
Igor Kotenko
St. Petersburg Institute for Informatics and Automation of the Russian
Academy of Sciences, St. Petersburg, Russia
Takashi Washio
Osaka University, Osaka, Japan
Junsong Yuan
University at Buffalo, The State University of New York, Buffalo, NY, USA
Lizhu Zhou
Tsinghua University, Beijing, China
More information about this series at http://www.springer.com/series/7899
Esteban Meneses Harold Castro
• •

Carlos Jaime Barrios Hernández •

Raul Ramos-Pollan (Eds.)

High Performance
Computing
5th Latin American Conference, CARLA 2018
Bucaramanga, Colombia, September 26–28, 2018
Revised Selected Papers

123
Editors
Esteban Meneses Harold Castro
Instituto Tecnológico de Costa Rica Universidad de los Andes
Centro Nacional de Alta Tecnología Bogotá, Colombia
Pavas, Costa Rica
Raul Ramos-Pollan
Carlos Jaime Barrios Hernández Universidad de Antioquia
Universidad Industrial de Santander Medellín, Colombia
Bucaramanga, Colombia

ISSN 1865-0929 ISSN 1865-0937 (electronic)


Communications in Computer and Information Science
ISBN 978-3-030-16204-7 ISBN 978-3-030-16205-4 (eBook)
https://doi.org/10.1007/978-3-030-16205-4

Library of Congress Control Number: 2019935812

© Springer Nature Switzerland AG 2019


This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the
material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation,
broadcasting, reproduction on microfilms or in any other physical way, and transmission or information
storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now
known or hereafter developed.
The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication
does not imply, even in the absence of a specific statement, that such names are exempt from the relevant
protective laws and regulations and therefore free for general use.
The publisher, the authors and the editors are safe to assume that the advice and information in this book are
believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors
give a warranty, express or implied, with respect to the material contained herein or for any errors or
omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in
published maps and institutional affiliations.

This Springer imprint is published by the registered company Springer Nature Switzerland AG
The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
Preface

The use and development of high-performance computing (HPC) in Latin America is


steadily growing. New challenges come from the capabilities provided by clusters,
grids, and distributed systems for HPC, promoting research and innovation in many
scientific disciplines. Building on the great success of the previous editions, the Latin
American Conference on High-Performance Computing (CARLA 2018) was held in
Bucaramanga, Colombia, during September 26–28. The main goal of CARLA 2018
was to provide a regional forum to foster the growth of the HPC community in Latin
America through the exchange and dissemination of new ideas, techniques, and
research projects. The conference featured invited talks from academy and industry as
well as short- and full-paper sessions presenting both mature work and new ideas in
research and industrial applications.
The list of topics included: parallel algorithms; multicore architectures and
accelerators; parallel programming techniques; cluster, grid, cloud, fog, and edge
computing; federations; HPC education and outreach; HPC infrastructure and data
centers; large-scale distributed systems; scientific and industrial computing; modeling
and evaluation; high-performance applications and tools; data analytics, data man-
agement, and data visualization; AI; machine learning; deep learning; and special
topics in advanced computing.
All submitted papers were carefully examined by at least three reviewers. Out of the
38 submissions received, 24 were accepted to be presented at the conference.

March 2019 Esteban Meneses


Harold Castro
Carlos Jaime Barrios Hernández
Raul Ramos-Pollan
Organization

Steering Committee
Mateo Valero Barcelona Supercomputing Center, Spain
Gonzalo Hernández University of Santiago, Chile
Carla Osthoff National Laboratory for Scientific Computing, Brazil
Philippe Navaux Federal University of Rio Grande do Sul, Brazil
Isidoro Gitler Center for Research and Advanced Studies
of the National Polytechnic Institute, Mexico
Esteban Mocskos University of Buenos Aires, Argentina
Nicolas Wolovick National University of Cordoba, Argentina
Sergio Nesmachnow University of the Republic, Uruguay
Alvaro de la Ossa Osegueda University of Costa Rica, Costa Rica
Esteban Meneses National High Technology Center, Costa Rica
Carlos Jaime Barrios Industrial University of Santander, Colombia
Hernández
Harold Enrique Castro University of Los Andes, Colombia
Barrera
Gilberto Javier Diaz Toro Industrial University of Santander, Colombia
Luis Alberto Nunez de Industrial University of Santander, Colombia
Villavicencio Martinez

Program Committee
Alvaro Coutinho Federal University of Rio de Janeiro, Brazil
Bruno Schulze National Laboratory for Scientific Computing, Brazil
Carla Osthoff National Laboratory for Scientific Computing, Brazil
Daniel Cordeiro University of São Paulo, Brazil
Esteban Clua Federal Fluminense University, Brazil
Lucas Schnorr Federal University of Rio Grande do Sul, Brazil
Marcio Castro Federal University of Santa Catarina, Brazil
Pedro Mario Cruz Silva NVIDIA, Brazil
Roberto Pinto-Souto National Laboratory for Scientific Computing, Brazil
Luiz Angelo Steffenel Université de Reims Champagne-Ardenne, France
Luiz Derose Cray, USA
Ginés Guerrero University of Chile, Chile
Claudia Jiménez-Guarín University of the Andes, Colombia
Fabio Martinez Carrillo National University of Colombia, Colombia
Gilberto Javier Diaz Toro Industrial University of Santander, Colombia
Idalides Vergara-Laurens University of Turabo, Colombia
Julian Ernesto Jaramillo Industrial University of Santander, Colombia
Luis Fernando Castillo University of Caldas, Colombia
viii Organization

Edmanuel Torres Canadian Nuclear Laboratories, Canada


Cristian Camilo Ruiz Industrial University of Santander, Colombia
Sanabria
Esteban Hernandez csddlabs, Colombia
Barragan
Esteban Meneses National High Technology Center, Costa Rica
Filip Krikava Czech Technical University, Czech Republic
Guilherme Peretti-Pezzi Swiss National Supercomputing Centre, Switzerland
Leonardo A. Bautista Barcelona Supercomputing Center, Spain
Gomez
Bruno Raffin Laboratoire Informatique et Distribution, France
Claudia Roncancio Grenoble University, France
Genoveva Vargas-Solar CNRS-LIG-LAFMIA, France
Laercio Lima-Pilla University of Paris-Sud, CNRS, France
Michel Riveill University of Nice, France
Olivier Richard LIG Laboratory Grenoble, France
Oscar Carrillo CPE Lyon, France
Rafael Escovar ASML, France
Thomas Ropars University of Grenoble-Alpes, France
Yves Denneulin University of Grenoble-Alpes, France
Matthieu Dreher Canadian Bank Note, Canada
Xavier Besseron University of Luxembourg, Luxembourg
Benjamin Hernandez Oak Ridge National Laboratory, USA
Isidoro Gitler Center for Research and Advanced Studies
of the National Polytechnic Institute, Mexico
Jaime Klapp National Institute for Nuclear Research, Mexico
José Luis Gordillo National University of Mexico, Mexico
Ulises Cortés Universitat Politècnica de Catalunya, Spain
Nicolás Erdödy Open Parallel Ltd, New Zealand
Eduardo Fernandez University of the Republic, Uruguay
Eduardo Rodrigues IBM, Brazil
Ernesto Bautista DES-DACI, Universidad Autónoma del Carmen,
Uruguay
German Schynder University of the Republic, Uruguay
Gonzalo Tancredi University of the Republic, Uruguay
Horacio Paggi Universidad Politécnica de Madrid, Spain
Luka Stanisic Max Planck Computing and Data Facility, Germany
Martin Pedemonte University of the Republic, Uruguay
Pablo Ezzati University of the Republic, Uruguay
Renzo Massobrio University of the Republic, Uruguay
Sergio Nesmachnow University of the Republic, Uruguay
Ulises Orozco-Rosas Universidad Rey Juan Carlos, Spain
Ignacio Laguna Lawrence Livermore National Laboratory, USA
Nick Nystrom Pittsburgh Supercomputing Center, USA
Pablo Guillen University of Houston, USA
Contents

Artificial Intelligence

Parallel and Distributed Processing for Unsupervised Patient Phenotype


Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
John Anderson García Heano, Frédéric Precioso, Pascal Staccini,
and Michel Riveill

Evolutionary Algorithms for Convolutional Neural Network Visualisation . . . 18


Nicolas Bernard and Franck Leprévost

Breast Cancer Classification: A Deep Learning Approach for Digital


Pathology. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Pablo Guillén-Rondon, Melvin Robinson, and Jerry Ebalunode

Where Do HPC and Cognitive Science Meet in Latin America? . . . . . . . . . . 41


Alvaro de la Ossa Osegueda

Accelerators

A Hybrid Reinforcement Learning and Cellular Automata Model for Crowd


Simulation on the GPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Sergio Ruiz and Benjamín Hernández

In-situ Visualization of the Propagation of the Electric Potential in a Human


Atrial Model Using GPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
John H. Osorio, Andres P. Castano, Oscar Henao, and Juan Hincapie

GPU Acceleration for Directional Variance Based Intra-prediction


in HEVC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Derek Nola, Elena G. Paraschiv, Damián Ruiz-Coll, María Pantoja,
and Gerardo Fernández-Escribano

Fast Marching Method in Seismic Ray Tracing on Parallel GPU Devices. . . . 101
Jorge Monsegny, Jonathan Monsalve, Kareth León, Maria Duarte,
Sandra Becerra, William Agudelo, and Henry Arguello

Improving Performance and Energy Efficiency of Geophysics Applications


on GPU Architectures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Pablo J. Pavan, Matheus S. Serpa, Emmanuell Diaz Carreño,
Víctor Martínez, Edson Luiz Padoin, Philippe O. A. Navaux,
Jairo Panetta, and Jean-François Mehaut
x Contents

FleCSPHg: A GPU Accelerated Framework for Physics and Astrophysics


Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Julien Loiseau, François Alin, Christophe Jaillet, and Michaël Krajecki

Applications

Comparison of Tree Based Strategies for Parallel Simulation of Self-gravity


in Agglomerates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Nestor Rocchetti, Sergio Nesmachnow, and Gonzalo Tancredi

Parallel Implementations of Self-gravity Calculation for Small


Astronomical Bodies on Xeon Phi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Sebastián Caballero, Andrés Baranzano, and Sergio Nesmachnow

Visualization of a Jet in Turbulent Crossflow . . . . . . . . . . . . . . . . . . . . . . . 174


Guillermo Araya, Guillermo Marin, Fernando Cucchietti, Irene Meta,
and Rogeli Grima

Acceleration of Hydrology Simulations Using DHSVM for Multi-thousand


Runs and Uncertainty Assessment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Andrew Adriance, Maria Pantoja, and Chris Lupo

Fine-Tuning an OpenMP-Based TVD–Hopmoc Method Using Intel®


Parallel Studio XE Tools on Intel® Xeon® Architectures . . . . . . . . . . . . . . . 194
Frederico L. Cabral, Carla Osthoff, Roberto P. Souto, Gabriel P. Costa,
Sanderson L. Gonzaga de Oliveira, Diego Brandão,
and Mauricio Kischinhevsky

Performance Evaluation

Performance Evaluation of Stencil Computations Based


on Source-to-Source Transformations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Víctor Martínez, Matheus S. Serpa, Pablo J. Pavan, Edson Luiz Padoin,
and Philippe O. A. Navaux

Benchmarking LAMMPS: Sensitivity to Task Location Under CPU-Based


Weak-Scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
José A. Moríñigo, Pablo García-Muller, Antonio J. Rubio-Montero,
Antonio Gómez-Iglesias, Norbert Meyer, and Rafael Mayo-García

Analyzing Communication Features and Community Structure of HPC


Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Manfred Calvo, Diego Jiménez, and Esteban Meneses
Contents xi

Power Efficiency Analysis of a Deep Learning Workload on an IBM


“Minsky” Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Mauricio D. Mazuecos Pérez, Nahuel G. Seiler, Carlos Sergio Bederián,
Nicolás Wolovick, and Augusto J. Vega

Platforms and Infrastructures

Orlando Tools: Development, Training, and Use of Scalable Applications


in Heterogeneous Distributed Computing Environments . . . . . . . . . . . . . . . . 265
Andrei Tchernykh, Alexander Feoktistov, Sergei Gorsky, Ivan Sidorov,
Roman Kostromin, Igor Bychkov, Olga Basharina, Vassil Alexandrov,
and Raul Rivera-Rodriguez

Methodology for Tailored Linux Distributions Development for HPC


Embedded Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Gilberto Díaz, Pablo Rojas, and Carlos Barrios

Cloud Computing

Cost and QoS Optimization of Cloud-Based Content Distribution Networks


Using Evolutionary Algorithms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Santiago Iturriaga, Gerardo Goñi, Sergio Nesmachnow,
Bernabé Dorronsoro, and Andrei Tchernykh

Bi-objective Analysis of an Adaptive Secure Data Storage


in a Multi-cloud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
Esteban C. Lopez-Falcon, Vanessa Miranda-López, Andrei Tchernykh,
Mikhail Babenko, and Arutyun Avetisyan

Fault Characterization and Mitigation Strategies in Desktop


Cloud Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
Carlos E. Gómez, Jaime Chavarriaga, and Harold E. Castro

Author Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337


Artificial Intelligence
Parallel and Distributed Processing
for Unsupervised Patient Phenotype
Representation

John Anderson Garcı́a Heano1(B) , Frédéric Precioso1(B) , Pascal Staccini2(B) ,


and Michel Riveill1(B)
1
Université Côte d’Azur, CNRS, Laboratoire I3S, Sophia Antipolis, France
henao@i3s.unice.fr, {frederic.precioso,michel.riveill}@unice.fr
2
Université Côte d’Azur, CHU Nice, Nice, France
pascal.staccini@unice.fr

Abstract. The value of data-driven healthcare is the possibility to


detect new patterns for inpatient care, treatment, prevention, and com-
prehension of disease or to predict the duration of hospitalization, its
cost or whether death is likely to occur during the hospital stay.
Modeling precise patients phenotype representation from clinical data
is challenging over its high-dimensionality, noisy and missing data to
be processed into a new low-dimensionality space. Likewise, processing
unsupervised learning models into a growing clinical data raises many
issues, in terms of algorithmic complexity, such as time to model conver-
gence and memory capacity.
This paper presents DiagnoseNET framework to automate patient
phenotype extractions and apply them to predict different medical tar-
gets. It provides three high-level features: a full-workflow orchestration
into stage pipelining for mining clinical data and using unsupervised
feature representations to initialize supervised models; a data resource
management for training parallel and distributed deep neural networks.
As a case of study, we have used a clinical dataset from admission and
hospital services to build a general purpose inpatient phenotype repre-
sentation to be used in different medical targets, the first target is to
classify the main purpose of inpatient care.
The research focuses on managing the data according to its dimen-
sions, the model complexity, the workers number selected and the mem-
ory capacity, for training unsupervised staked denoising auto-encoders
over a Mini-Cluster Jetson TX2.
Therefore, mapping tasks that fit over computational resources is a
key factor to minimize the number of epochs necessary to model con-
verge, reducing the execution time and maximizing the energy efficiency.

Keywords: Health care decision-making ·


Unsupervised representation learning ·
Distributed deep neural networks

c Springer Nature Switzerland AG 2019


E. Meneses et al. (Eds.): CARLA 2018, CCIS 979, pp. 3–17, 2019.
https://doi.org/10.1007/978-3-030-16205-4_1
4 J. A. Garcı́a Heano et al.

1 Introduction
A critical step of personalized medicine is to develop accurate and fast artificial
intelligence systems with lower rates of energy used for tailoring medical care
(e.g. treatment, therapy and usual doses) to the individual patient and predict
the length and cost of the hospital stay. In this context, inferring common patient
phenotype patterns that could depict disease variations, disease classification
and patient stratification, requires massive clinical datasets and computationally
intensive models [1,2]. Thus, the complex structure, noisy and missing data from
large Electronic Health Records (EHR) data became a core computational task
to automated phenotype extractions [3].
In this paper, we describe the unsupervised learning method for mining her
data and build low-dimensional phenotype representations using a mini-cluster
with 14 Jetson TX2 in order to distribute training and to obtain a patient pheno-
type representation. This representation could be used as an input of supervised
learning algorithms to predict the main purpose of inpatient care.
We present an application-framework called DiagnoseNET that provides
three high-level features: The first allows the construction of a processing work-
flow to select and extract the data to be processed, to construct a binary repre-
sentation, to reduce its dimensions through unsupervised learning and to process
the data through supervised learning; the second is a data resource management
to feeding the clinical dataset into the Jetson TX2 according to their memory
capacity, while multiple replicas of a model are used for minimizing the loss
function and third, an energy-monitoring tool for scalability analyses impact of
using different batch size factor to minimize the number of epochs needed to
converge and projected the energy efficiency measures.

2 Related Work
In the past century, health research models were traditionally designed to identify
patient patterns given a single target disease, where domain experts supervised
definitions of the feature scales for that particular target and usually worked with
small sample size, which was collected for research purpose [4,5]. Nevertheless,
in general, clinical data are noisy, irregular and unlabeled to directly discover
the underlying phenotypes. This is supposed to be a limitation for this approach.
Nowadays, computer science has facilitated the design and the implementation of
emerging frameworks and practical approaches, offering different ways to extract
valuable information as phenotypes [6].
To derive patients’ phenotypes, it is necessary to extract the occurrence of
their medical data (demographics, medical diagnoses, procedures performed, cog-
nitive status, etc.). Although possibly the evolution of this information over
time must be able to be extracted. A used method is vector based representation
in which, for each medical target is constructed a matrix correlation between
patients and medical group features [7], The generation of the different vectors
generally takes an important time. A couple of other possibilities are nonnegative
Parallel and Distributed Processing 5

matrix factorisation and nonnegative tensor factorisation for extracting pheno-


types as a set of matrices, tensor candidates that show patients clusters linked
on specific medical features and their date [8–10]. Other approaches use non-
negative vectors for embedding the clinical codes and use word representations
as (skip-gram or Glove) to generate the corresponding visit representation [11].
Nevertheless, after the success of unsupervised feature learning for training
unlabeled data to dimensionality reduction and learn good general features rep-
resentations and used either as input for a supervised learning algorithm [12], the
application of employ it to produce patient phenotype representations can signif-
icantly improve predictive clinical model for a diverse array of clinical conditions
as it was shown in deep patient approach [13].
Other derivative approaches use a record into a sequence of discrete elements
separated by coded time, in which uses the unsupervised embedding Word2Vec
to pre-detected the continuous vector space, them uses a convolution operation
which detects local co-occurrence and pooled to build a global feature vector,
which is passed into a classifier [14].
Another approach train a recurrent neural network with attention mechanism
to embed patients visit vector to visit the representation, which is then fed to a
neural network model to make the final prediction [15].
However, these approaches to derive patients’ phenotypes algorithms demand
considerable effort in deploying preprocessing pipelines and data transformation,
in which are built without taking into account the response time.
In this perspective, a large number of authors have explored scaling up deep
learning networks, training well-known datasets focused on the impact of syn-
chronization protocol and state gradient updates [16–18]. At the same time,
other groups have been working on high-level frameworks to easily scale out to
multiple machines to extend libraries for parameter management to allow more
agile development, faster and fine tuning hyper-parameter exploration [19,20].
All these developments are not applied to medical care and do not consider
energy consumption.
Our aim is to construct a completed framework for scaling deep learning
techniques in direction of extracting effective patient phenotype representations
on low-power platforms for empowering the hospitals and medical centers their
ability to monitor health, to early disease detection and manage to personalize
treatments to specific patient profiles.

3 Materials and Methods

Figure 1 shows the workflow implemented in DiagnoseNET application. It high-


lights the different steps needed to build the phenotype whose goal is to create
an equivalent but smaller representation for more effective clinical or medico-
administrative prediction. The first stage is to focus mining EHR data to drive
a binary matrix of patient term documents from the clinical document architec-
ture. The second stage unsupervised representation maps the patient’s binary
6 J. A. Garcı́a Heano et al.

representation via an unsupervised stacked denoising auto-encoder to obtain a


new latent space and identify the patient’s phenotypic representations. And the
third stage focuses on supervised learning, we use the latent representation of
patients as an input for a random forest classifier, and as an initialiser for deep
neural networks. The different results are compared to the binary representation
of the patient.

Fig. 1. Workflow scheme to automate patient phenotype extractions and apply them
to predict different medical targets.

Mining EHR Data


The growing health-wide research is largely due to the clinical dataset is com-
posed of a secondary usage of patient records collected in admission and hospital
process [21]. Therefore the EHR is not a direct reflection of patient and their
physiology but is a reflection of recording process inherent in healthcare with
noise and feedback loops [22]. A data mining library has been built as a collection
of functions to feature extraction and to build a patient document-term matrix
from a clinical dataset composed of discrete objects as diagnosis in ICD-10 codes,
Parallel and Distributed Processing 7

medical acts in French CCAM codes and other derived objects as admission hos-
pital details represented in codes established by the French agency ATIH and
generated by the PMSI system to standardize the information contained in the
patient’s medical record. The collection functions are:
1. Clinical Document Architecture (CDA): Identifies the syntax for clinical
records exchange between the system PMSI and DiagnoseNET, through the
new versions generate by the agency ATIH. The CDA schema basically con-
sists of a header and body:
– Header: Includes patient information, author, creation date, document
type, provider, etc.
– Body: Includes clinical details, demographic data, diagnosis, procedures,
admission details, etc.
2. Features Composition: Serialize each patient record and get the CDA object
for processing all patient attributes in a record object.
3. Vocabulary Composition: Enables dynamic or custom vocabulary for select-
ing and crafting the right set of corresponding patient attributes by medical
entities.
4. Label Composition: This function gets the medical target selected from the
CDA schema to build a one-hot or vector representation.
5. Binary Record: Mapping the features values from record object with the
corresponding terms in each feature vocabulary, to generate a binary corpus
using Term-document Matrix.
Unsupervised Representation Learning
After the significant success of representation learning to encode audio, images
and text with rich, high-dimensional datasets [23,24,27]. In this work we extend
the deep patient approach [13], in which all the clinical descriptors are grouped in
patient vectors and each patient can be described by a high-dimensional vector
or by a sequence of vectors computed in a predefined temporal window.
The vector collection is used to derive the latent representation of the patient
via an unsupervised encoder network. At each step of the network, the cod-
ing matrix and the associated latent representation of a smaller dimension are
obtained simultaneously as shown in Fig. 2.
This unsupervised encoder network is composed of an Unsupervised Stacked
Denoising Autoencoders: a deterministic mapping from cleaning partially cor-
rupted input x̃ (denoising) to obtain a hidden features representation y = f θ(x̃)
by layer. Therefore, each stacked layer is independently trained to reconstruct
a clean input x from a corrupted version of it z = gθ (y), this approach was
introduced by [25].
Previously each encoder was pre-trained to get a semantics representation
parameters θ by denoising autoencoder which was trained before, to obtain a
robust representation y = f θ(x̃) from a corrupted input x̃. This is represented
by the next steps:
1. Applied dropout to corrupting the initial input x into x̃ the stochastic map-
ping x ∼ qD(x|x).
8 J. A. Garcı́a Heano et al.

Fig. 2. Unsupervised encoder network for mapping binary patient representation x to


latent patient phenotype representation z.

2. The corrupted input is mapped as traditional autoencoders to get a hidden


representation y = f θ(x̃) = s(W x̃ + b).
3. Reconstruct a schematic representation of the procedure z = gθ (y) =
s(W  y + b ).
4. Where the parameters θ ∧ θ are trained to minimize the average reconstruc-
tion error over training set, to have z as close as possible to the uncorrupted
input x.
5. And this share the new semantic representation parameters θ to next layer
as new initial input x2 and corrupting it into x˜2 by stochastic mapping x2 ∼
qD(x2 |x2 ) and repeat steps.
Supervised Learning
It is well known that the general performance of machine learning algorithms -
convergence time but also accuracy - generally depends on data representations.
For this reason, the result of the unsupervised representation obtained in the
previous step can be used as input of a standard supervised machine learning
algorithms [12]. We therefore thought it relevant to compare the performances
obtained by a random forest approach and a perceptron multi-layer approach for
the different tasks allocated using either a latent representation of the phenotype
or the binary representation at its origin.
Parallel and Distributed Processing 9

Parallel and Distributed Processing for Traning DNN


To implement these different algorithms and in particular, the stage of construc-
tion of the latent representation at the heart of this paper, we used the high level
framework provided by the Tensorflow library. It enables learning algorithms to
be deployed in parallel or distributed architectures, enabling the necessary com-
puting resources to be optimized.
It is necessary to adjust the granularity of the tasks according to the memory
capacity of the host machine, the complexity of the model and the size of the
datasets. Figure 3 describes the different hardware architectures and software
stacks used in different experiments.

Fig. 3. DiagnoseNET application-framework for training parallel and distributed neu-


ral networks on different computing platforms as; 1) multi-GPU servers; 2) CPU-GPU
implementations and; 3) Low-power embedding platforms as the Nvidia Jetson TX2.

To exploit the computing resources and SSD memory capacity available on


Jetson TX2, the data to be processed is distributed according to the number of
Jetson cards used. On each Jetson card, the data that has been assigned is also
divided in batch to take into account the available RAM memory space on the
Jetson cards GPU.
Then, once the data is distributed on each Jetson and the mini-batch consti-
tuted on each one, the work is distributed in the form of identical tasks. In this
first approach, all task replicas read the same model’s values to be built from
a host machine, calculate the gradients in parallel with their assigned data and
return the new gradients to the host machine using the synchronous approach
described in [26].
Dataset
The clinical dataset from admission and hospital services have an average of
85.801 inpatients records by year, with records of hospitals activities in South
French Region (PACA Region: from Marseille to Nice). It contains information
10 J. A. Garcı́a Heano et al.

on morbidity, medical procedures, admission details and other variables, recorded


retrospectively at the end of each week observed. This information may vary
from one week to the next, depending on the evolution of the patient’s clinical
condition and management. As a case of study the clinical dataset taken 100.000
inpatients records by the year 2008 divided in 85.000 for training, 4.950 for
validation and 10.050 for test with 11.466 features or clinical descriptors.
Medical Target: Classification of Care Inpatient Purpose
The first medical target, used for this paper, is to classify the main purpose of
inpatient care, as Clinical Major Category (CMC), represented as 23 label coded
in ICD-10 codes. The PMSI system can be assigned ICD-10 codes of the Care
Inpatient Purpose as a high-level entry called Clinical Major Category used for
billing procedures. Table 1 presents two examples of hospitalization that should
be classified under the same CMC.

Table 1. Hierarchisation of diagnosis-related group to select the clinical major category


as labels linked with the care inpatient purpose.

Diagnosis-related group ICD-10 codes Definition


Patient 1 Morbidity principal R402 Unspecified coma
Etiology I619 Nontraumatic
intracerebral
hemorrhage,
unspecified
Medical target Care purpose Z515 Encounter for palliative
care
Label used Clinical major category 20 Palliative care
Patient 2 Morbidity principal R530 Neoplastic (malignant)
relate fatigue
Etiology C20 Malignant neoplasm of
rectum
Medical Target Care purpose Z518 Encounter for other
specified aftercare
Label used Clinical major category 60 Other disorders

Of course we are conducting further analysis of this dataset. Among these we


can quote: the prediction of the duration of a hospital stay and the risk of death
of the patient during this stay. The need to perform several analyses on the same
dataset fully justifies the use of a latent representation provided that this allows
the same analytical accuracy to be maintained. This is why, in an exploratory
phase, all analyses are systematically made from the latent representation and
from the binary representation. In the same way, all classifications or regressions
are made using several supervised algorithms including random forest and RNN.
Parallel and Distributed Processing 11

4 Experiments and Results


We have carried out various experiments using different batch sizes to examine
the relationship between the convergence time of a network, its energy consump-
tion and its ability to translate a patient’s phenotype into a smaller latent space.
The last experiment carried out the possible characterization of the workload
during the execution of a DNN network, which runs on a variable number of
Jetson TX2 according to different batch sizes.
To estimate the efficiency (in terms of accuracy and energy consumption) we
measure: the loss, the accuracy, the time and the number of gradient updates by
epochs, as well, is recording the power consumption, GPU SM frequency, GPU
memory frequency and is stipulated the minimum loss value as convergence point
to stop the training process.
According to examine how fast can be trained, the DNN network and the
minimum energy consumption require to arrive at the convergence point, gives
a variable computational resources. We define three factors to evaluate the exe-
cution time and their energy efficiency:

1. The number of gradient updates as a factor to early model convergence.


2. The Model Dimensionality as a factor to generate quality latent representation.
3. The number of workers and task granularity as a factor to early model con-
vergence on synchronous distributed processing.

The number of gradient updates as a factor to early model convergence:


To illustrate the impact of processing more gradient updates as a factor to
fast convergence, consider the traditional fully connected autoencoders (AE),
parametrized with 3-hidden layers of [2000, 1000, 500] neurons per layer, relu is
used as activation function, Adam such as optimizer and sigmoid cross entropy
as loss function. The clinical dataset uses 84.999 records for training and 4.950
records for validation.
The same AE model has been executed using three different data batch
partitions of 20.000, 1.420, 768 records by batch to measure the number of
epochs needed to arrive at the convergence point, characterized by the mini-
mum loss value of 0.6931 as shown in Fig. 4. We can observe that the largest
batch partition of data requires, to reach the convergence point, a greater num-
ber of epochs. The 20.000 batch size partition reach the convergence point in
100 epochs for 36.21 min for each batch, the 1.420 in 20 for 7.9 MN/batch and
the last batch size (768) in 10 epochs for 4.3 MN/batch. Thus, it is possible to
estimate that the consumption required to build the model has an average con-
sumption of [63.35, 86.61, 82.21] watts respectively with an energy consumption
of [137.65, 41.26, 21.87] kilojoules. For the dataset and model considered, a 768
item batch size is the most energy efficient for generating batch gradient updates.
The low power consumption presented in the largest data batch partition
(20.000) is generated by idle status on the GPU with a SM frequency of
847.49 MHz when the large data batch is transferred from the host memory
to the device memory. We do not observe this idle phenomenon for the others
12 J. A. Garcı́a Heano et al.

batch size with a GPU SM frequency of 1071.97 and 1015.49 MHz. To illus-
trate the impact of the idle status on the GPU, generated by large data batch
partition, we can observe the same window of 6 min shown in the Fig. 5a. This
window is extracted of the training of the AE model when it is executed using
three different batch partitions.
The Model Dimensionality as a Factor to Generate Quality Latent
Representation
This subsection studies the relationship between model complexity, network con-
verge time and its reliance to generate a low-dimensional space as a latent patient
phenotype representation.
Specifically the experiment comparison using an established-set of hyperpa-
rameters on three model variations for each network to compare the sigmoid
vs. relu as activation function to generate the latent representation, using three
variations of number of neurons per layer as [4086, 2048, 768], [2000, 1000, 500]
and [500, 500, 500].
The evaluation of accuracy is measured comparing the latent representation
generated by each network model and used as input for random forest classifi-
cation of the clinical major category on 23 labels and their energy efficiency.

1. The first network selected was a traditional fully connected autoencoders with
three hidden layers to generate the latent representation.
2. The second is an End to End network using three hidden fully connected
autoencoders to generate the latent representation as input for the next four
hidden multilayer perceptron.
3. Encoder network using three hidden unsupervised stacked denoising autoen-
coders to initialize the next three hidden layers to encode and generate the
latent representation (Figs. 6 and 7).

Fig. 4. Network convergence using batch partitions of [20000, 1420, 768] records to
generate [4, 59, 110] gradient updates by epoch respectively.
Parallel and Distributed Processing 13

63.35 Watts on average 86.61 Watts on average to 82.21 Watts on average to


to process 68 gradient up- process 885 gradient up- process 1540 gradient up-
dates in 17 epochs. dates in 15 epochs. dates in 14 epochs.

Fig. 5. Impact of GPU idle status generated by large data batch partition, consider
the power consumption in a window of 6 min for the previous experiment.

Fig. 6. Comparison of different model dimensionality using sigmoid as function to


generate the latent representation.

The Number of Workers and Task Granularity as a Factor to Early


Model Convergence
The experiment analyzes the scalability for training a traditional autoencoders
using different numbers of workers using an established-set of hyperparameters
in two variations of the number of neurons per layer as [2000, 1000, 500] and
[2048, 1024, 768]. The different number of Jetson-TX2 Groups are:
1. 1 P. Server and 3 workers − > Batch size: [768, 1024]
2. 1 P. Server and 6 workers − > Batch size: [1024, 1420]
3. 1 P. Server and 8 workers − > Batch size: [1066]
In this case is shown 1 PS and 8 workers processing in data parallelism
and training the unsupervised encoder network for mapping binary patient rep-
resentation x to latent patient phenotype representation z. Where shows the
synchronous cooperation of going to converge points in the Fig. 8 (Table 2).
14 J. A. Garcı́a Heano et al.

Fig. 7. Comparison of different model dimensionality using relu as function to generate


the latent representation

1.30 MN in average for processing one 1 MN in average for processing one


epoch on 1 PS & 3 workers. epoch on 1 PS & 6 workers.

50.6 Sec in average for processing one 25.75 Sec in average for processing one
epoch on 1 PS & 8 workers. epoch on 1CPU and 1GPU Titan X.

Fig. 8. Early convergence comparison between different groups of workers and task
granularity for distributed training with 10.000 records and 11.466 features.
Parallel and Distributed Processing 15

Table 2. Preliminary results for processing the unsupervised patient phenotype rep-
resentation on the mini-cluster Jetson TX2.

AE 1 PS and 3 1 PS and 6 1 PS and 8 1 CPU and 1 GPU


network workers workers workers
Batch Converge Batch Converge Batch Converge Batch Converge
Fc. time Fc. time Fc. time Fc. time
Model 1 768 13.49 min 1024 9.95 min 1066 10.18 min - -
Model 1 1024 11.90 min 1420 10.51 min - - - -
Model 2 768 14.50 min 1024 11.40 min 1066 11.76 min 768 3.97 min
Model 2 1024 12.50 min 1420 12.48 min - - 1420 5.96 min

5 Conclusions

The work carried out so far has allowed us to highlight that the use of a well-
chosen latent representation instead of the initial binary representation could
make it possible to significantly improve processing times (up to 41%) while
maintaining the same precision.
Minimizing the execution time of a perceptron multi-layer on a Jetson TX2
cluster, whether to perform an auto-encoder or to perform a classification,
depends on the application’s ability to efficiently distribute data for analysis
to the various Jetsons based on the available SSD memory space and then cut
that data into a mini-batch based on the available memory space on the GPUs.
Using hundreds of gradient updates by epochs with synchronous data par-
allelism offer an efficient distributed DNN training to early convergence and
minimize the bottleneck of data transfer from host memory to device memory
reducing the GPU idle status.
The current work on the platform aims to reinforce these main elements by
comparing the performance that can be obtained for the other tasks obtained
on various platforms.
The first platform is a standard computer with a GPU, the second platform is
a 24 Jetson TX cluster connected by an Ethernet switch and the third platform
is an array server consisting of 24 Jetson TX all connected via a Gigabit Ethernet
through a specialized managed Ethernet Switch and marketed to Connect Tech.
The performance concerns the precision that can be obtained, the execution
time of the model and the energy consumption necessary to obtain it.

Acknowledgments. This work is partly funded by the French government labelled


PIA program under its IDEX UCAJEDI project (ANR−15−IDEX−0001). The PhD
thesis of John Anderson Garcı́a Henao is funded by the French government labelled
PIA program under its LABEX UCN@Sophia project (ANR−11−LABX−0031−01).
16 J. A. Garcı́a Heano et al.

References
1. Heinzmann, K., Carter, L., Lewis, J.S., Aboagye, E.O.: Multiplexed imaging for
diagnosis and therapy. Nature Biomed. Eng. 1, 09 (2017)
2. Cheng, Y., Wang, F., Zhang, P., Hu, J.: A Deep Learning Approach, Risk Predic-
tion with Electronic Health Records (2016)
3. Lasko, T.A., Denny, J.C., Levy, M.A.: Computational Phenotype Discovery Using
Unsupervised Feature Learning over Noisy, Sparse, and Irregular Clinical Data
(2013)
4. Matheny, M.E., et al.: Development of inpatient risk stratification models of acute
kidney injury for use in electronic health records. Med. Decis. Making 30(6), 639–
650 (2010)
5. Kennedy, E.H., Wiitala, W.L., Hayward, R.A., Sussman, J.B.: Improved cardiovas-
cular risk prediction using nonparametric regression and electronic health record
data. Med. Care 51(3), 251–258 (2013)
6. Sheng, Y., et al.: Toward high-throughput phenotyping: unbiased automated fea-
ture extraction and selection from knowledge sources. J. Am. Med. Inform. Assoc.
22(5), 993–1000 (2015)
7. Wang, X., Wang, F., Hu, J.: A multi-task learning framework for joint disease risk
prediction and comorbidity discovery. In: Proceedings of the 2014 22nd Interna-
tional Conference on Pattern Recognition, ICPR 2014, pp. 220–225. IEEE Com-
puter Society, Washington, DC (2014)
8. Ho, J.C., et al.: Limestone: high-throughput candidate phenotype generation via
tensor factorization. J. Biomed. Inform. 52, 199–211 (2014)
9. Perros, I., et al.: SPARTan: scalable PARAFAC2 for large & sparse data. In: Pro-
ceedings of the 23rd ACM SIGKDD International Conference on Knowledge Dis-
covery and Data Mining, Halifax, NS, Canada, 13–17 August, 2017, pp. 375–384
(2017)
10. Perros, I., et al.: SUSTain: scalable unsupervised scoring for tensors and its appli-
cation to phenotyping. CoRR, abs/1803.05473 (2018)
11. Choi, E., Bahadori, M.T., Searles, E., Coffey, C., Sun, J.: Multi-layer representation
learning for medical concepts. CoRR, abs/1602.05568 (2016)
12. Bengio, Y., Courville, A., Vincent, P.: Representation learning: a review and new
perspectives, April 2014
13. Miotto, R., Li, L., Kidd, B.A., Dudley, J.T.: Deep patient: an unsupervised repre-
sentation to predict the future of patients from the electronic health records. Sci.
Rep. 6, 26094 (2016)
14. Nguyen, P., Tran, T., Wickramasinghe, N., Venkatesh, S.: Deepr: a convolutional
net for medical records. IEEE J. Biomed. Health Inform. 21(1), 22–30 (2017)
15. Choi, E., Bahadori, M.T., Song, L., Stewart, W.F., Sun, J.: GRAM: graph-based
attention model for healthcare representation learning. CoRR, abs/1611.07012
(2016)
16. Dean, J., et al.: Large scale distributed deep networks. In: NIPS (2012)
17. Keuper, J., Preundt, F.-J.: Distributed training of deep neural networks: theoretical
and practical limits of parallel scalability. In: Proceedings of the Workshop on
Machine Learning in High Performance Computing Environments, MLHPC 2016,
pp. 19–26, IEEE Press, Piscataway (2016)
18. Zhang, W., Wang, F., Gupta, S.: Model accuracy and runtime tradeoff in dis-
tributed deep learning: a systematic study. In: Proceedings of the Twenty-Sixth
International Joint Conference on Artificial Intelligence, IJCAI 2017, pp. 4854–
4858 (2017)
Parallel and Distributed Processing 17

19. Zhang, L., Ren, Y., Zhang, W., Wang, Y.: Nexus: bringing efficient and scalable
training to deep learning frameworks. In: 25th IEEE International Symposium on
Modeling, Analysis, and Simulation of Computer and Telecommunication Systems,
MASCOTS 2017, Banff, AB, Canada, 20–22 September, 2017 (2017)
20. Dünner, C., Parnell, T.P., Sarigiannis, D., Ioannou, N., Pozidis, H.: Snap Machine
Learning. CoRR, abs/1803.06333 (2018)
21. Jensen Peter, B., Jensen Lars, J., Søren, B.: Mining electronic health records:
towards better research applications and clinical care. Nature Rev. Genet. 13, 395
(2012)
22. Hripcsak, G., Albers, D.J.: Next-generation phenotyping of electronic health
records. JAMIA 20(1), 117–121 (2013)
23. Bengio, Y.: Deep learning of representations for unsupervised and transfer learning.
In: Proceedings of the 2011 International Conference on Unsupervised and Transfer
Learning Workshop - Volume 27, UTLW 2011, pp. 17–37. JMLR.org (2011)
24. Mikolov, T., Sutskever, I., Chen, K., Corrado, G., Dean, J.: Distributed representa-
tions of words and phrases and their compositionality. In: Proceedings of the 26th
International Conference on Neural Information Processing Systems - Volume 2,
NIPS 2013, pp. 3111–3119. Curran Associates Inc., USA (2013)
25. Vincent, P., Larochelle, H., Lajoie, I., Bengio, Y., Manzagol, P.-A.: Stacked denois-
ing autoencoders: learning useful representations in a deep network with a local
denoising criterion (2010)
26. Abadi, M., et al.: TensorFlow: large-scale machine learning on heterogeneous dis-
tributed systems. CoRR, abs/1603.04467 (2016)
27. Srivastava, N., Mansimov, E., Salakhudinov, R.: Unsupervised learning of video
representations using LSTMs. In: Proceedings of the 32nd International Conference
on Machine Learning (2015)
Evolutionary Algorithms
for Convolutional Neural Network
Visualisation

Nicolas Bernard(B) and Franck Leprévost(B)

University of Luxembourg, House of Numbers, 6, avenue de la Fonte,


4364 Esch-sur-Alzette, Luxembourg
{nicolas.bernard,franck.leprevost}@uni.lu

Abstract. Deep Learning is based on deep neural networks trained


over huge sets of examples. It enabled computers to compete with—
or even outperform—humans at many tasks, from playing Go to driving
vehicules.
Still, it remains hard to understand how these networks actually oper-
ate. While an observer sees any individual local behaviour, he gets little
insight about their global decision-making process.
However, there is a class of neural networks widely used for image
processing, convolutional networks, where each layer contains features
working in parallel. By their structure, these features keep some spatial
information across a network’s layers. Visualisation of this spatial infor-
mation at different locations in a network, notably on input data that
maximise the activation of a given feature, can give insights on the way
the model works.
This paper investigates the use of Evolutionary Algorithms to evolve
such input images that maximise feature activation. Compared with some
pre-existing approaches, ours seems currently computationally heavier
but with a wider applicability.

1 Introduction

During the past ten years, neural networks (NN) and particularly deep neural
networks (DNN) have come back to the forefront of artificial intelligence (AI)
and machine learning (ML) research with the “deep learning” (DL) craze.
Among them, convolutional neural networks (CNN or convnets) have a spe-
cial position for at least two reasons. They can be parallelised particularly well on
processors that were originally conceived for graphical processing (graphics pro-
cessing unit – GPU), and variant of those processors designed for deep learning
use are now relatively common. Most of the improvements in image processing
(object recognition and classification, etc.) of the recent years are actually due
to these convnets.
However, even if convnets are more parsimonious than similar-sized fully-
connected networks, an old criticism of the NN resurfaced: Once a network is
c Springer Nature Switzerland AG 2019
E. Meneses et al. (Eds.): CARLA 2018, CCIS 979, pp. 18–32, 2019.
https://doi.org/10.1007/978-3-030-16205-4_2
Evolutionary Algorithms for Convolutional Neural Network Visualisation 19

trained, it may provide a model that makes accurate prediction, but this model is
nonetheless a huge black box. Said otherwise, the computer learned how to per-
form a task, but we humans are no more advanced when it comes to understand
how it performs it, i.e., what is the overall algorithmic process (in a classical,
narrow and deterministic meaning) doing the task. At best, we have created
some kind of oracle.
One of the best known approaches [1] to lift this veil covering the convnet box
is to try to reverse it, from some internal feature of interest to the input (image)
space. Using a large image-set, one selects the few pictures that maximise the
feature’s activation. Then going back from this activated feature (the other ones
being silenced) provides a visualisation of the activated feature and hence an
idea of what made it react.
We see two main limitations in this approach:
– It is limited by the size of the image-set. Even a huge image-set is dwarfed
by the size of the actual entry space. Hence the “maximal activation” seen is
actually the maximal activation possible with this data-set.
– Most current convnets have choke points (pooling layers, etc.) where the size
of the processing space is reduced (dimensionality reduction step), temporar-
ily or not. This necessarily loses information and hinders the reconstruction of
a feature back in the entry space. Approaches have been developed to bypass
this problem (e.g., saving some intermediate space that is then used for the
reconstruction), yet the issue remains.
Our contribution here consists in using another branch of ML, evolutionary
algorithms (EA), to study a CNN’s features without the limitations aforemen-
tioned: An EA can work in the image space directly and evolve images that at
each generation increase a feature’s activation. By working in the image space,
the reconstruction issue is simply non-existent. By using an evolutionary process,
we are not constrained by the size of an image-set (even if using an image-set’s
pictures that maximise the activation for the first generation can give the EA a
head-start).
This paper combines ideas from different fields, notably neural networks and
evolutionary algorithms. In Sect. 2, we present briefly how a convolutional neural
network is organised, the challenge to understand these networks, some existing
approaches and our proposal. This last item leads us to explain what evolutionary
algorithms are and how they work. We also insist in Sect. 3 on how they differ
from neural networks, and what are the strengths and weaknesses of each. Then,
we describe our strategy and implementation in Sect. 4 before discussing some of
the results obtained in Sect. 5. Future working directions are sketched in Sect. 6.

2 Convolutional Neural Networks


Neural networks, are programs made of combinations (interconnections) of “neu-
rons”. Most of the time, these neurons are organised in layers, the group of neu-
rons forming a layer i being usually connected only to neurons in the layers i − 1
Another random document with
no related content on Scribd:
tavalla.

Sitten hän kutsui Syvähengen syrjään erään hongan alle ja varotti


häntä vielä hiljaa seuraavin sanoin:

— Arvoisa veljeni, teidän ei pidä odottaa, että teitä täällä tullaan


pitämään yhtä suuressa maallisessa arvossa kuin mihin olette
tottuneet. Teidän pitää olla kaikissa suhteissa hyvin huolellinen ja
hillitä itsenne. Etenkin, älkää olko kiivas eikä ylimielinen. Jos te
tämän suhteen erehtyisitte, täytyisi minun hävetä teidän tähtenne.
Säilyttäkää oma arvonne. Kyllä minä lähetän tuontuostakin miehen
tuomaan teille vaatteita.

Ehkä tarkotti herra Tshau paitsi vaatteita vielä muutakin, mutta


nähtävästi ei hänen sopinut ilmaista ajatuksiaan selvemmin.

— Minun vanha ystäväni, — virkkoi Lo Ta jotakuinkin


harmistuneena, — jollette olisi tuhlannut tähän ainoatakaan sanaa,
olisin minä kaikessa itsestäni huolta pitänyt.

Senjälkeen sanoi sihteeri Tshau hyvästi luostarinjohtajalle ja veljille


ja lähti kantotuolissaan kulkemaan mäkeä alas kotiinsa. Palvelijat
kantoivat hänen perässään toista tyhjää kantotuolia ja laatikoita.

Kun Syvähenki oli nähnyt kotiin palaavan ystävänsä katoavan


kaukaisuuteen, hän palasi luostariin, meni suoraa päätä
makuusuojaan, jota pidettiin kaikkein pyhimpänä paikkana, jossa
munkit saattoivat vaipua itseään tutkiskelemaan ja jossa toimitettiin
uhreja Buddhalle, heittyi vuoteelleen ja nukahti. Hänen vieressään oli
kaksi munkkia vaipunut rukoukseen ja nämä koettivat herättää häntä
sanoen:
— Tuo ei käy päinsä! Jos todella tahdotte ruveta munkiksi, niin
miksette opettele vaipumaan mietiskelyihin?

— Kun minä tahdon nukkua, — murahti Lo Ta, niin mitä se teille


kuuluu?

Mutta kun munkit olivat vaihtaneet muutaman sanan unen


horroksissa makaavan Lo Tan kanssa, he näkivät turhaksi saada
hänet hereille ja jättivät rauhaan. Kuitenkin he seuraavana aamuna
tahtoivat mennä luostarinjohtajan luo valittamaan tälle hänen
sopimatonta käytöstään, mutta apulainen esteli heitä sanoen:

— Selittihän johtaja meille, kuten muistatte, että hän tulee vielä


suorittamaan suuria tekoja eikä ole yksikään meistä tuleva hänen
vertaisekseen. Johtaja suojelee häntä, siitä saatte olla varmat.
Paraiten teette, kun ette välitä hänestä.

Ja molemmat munkit saivat tyytyä siihen.

Kun Syvähenki huomasi, ettei kukaan enää hänen käytöstään


moittinut, heittyi hän joka ilta vuoteelleen poikittain tai pitkinpäin,
aivan miten sattui ja millaisella tuulella osui olemaan, ja vaipui heti
sikeään uneen. Nukkuessaan hän kuorsasi kuin olisi mylly käynyt, ja
kun hän herättyään nousi levolta, niin toimitti tehtävänsä sellaisella
melulla, että sai kaikki huoneen asukkaat kiihdyksiin.

Makuusuojan vartiat menivät nyt johtajalle valittamaan, että


Syvähenki käyttäytyy mitä sopimattomimmalla tavalla ja että mille
luostarille hyvänsä olisi mitä suurimmaksi häpeäksi antaa tavoiltaan
ja tottumukseltaan niin kehnon miehen asua muuriensa suojassa.
— Mieletöntä, — huudahti luostarinjohtaja, — ajatelkaa vain sitä,
joka hänet tänne toi. Kyllä Syvähenki ajan kuluessa parantaa
tapojaan.

Eikä uskaltanut kukaan vasta muistuttaa johtajalle hänestä. Ja niin


eleli Lo Ta omalla tavallaan edelleen antamatta luostarin neljän tai
viiden kuukauden kuluessa yhtäkään päivää aivan rauhassa viettää.

Lo Ta rikkoo munkkivalansa.

Syksy oli vähitellen lähennyt loppuaan.

Kun Lo Tan oli pitkän aikaa täytynyt pysyä verrattain rauhallisena


paikallaan, niin valtasi hänet nyt sitä suurempi halu päästä liikkeelle.

Eräänä ihanana aamuna, kun luostaria ympäröivät korkeat puut


ojentelivat komeita, kirjavia lehtikruunujaan nousevaa aurinkoa
tervehtien, Lo Ta heitti pitkän mustan kauhtanan ylleen, sitoi sen
ympäri vyötäisilleen tummanvihreän vyön, vaihtoi jalkineensa toisiin,
tavallisiin ja läksi portista ulos alas kesämajaan. Tänne saavuttuaan
hän istuutui lepotuoliin. Hetken aikaa mietittyään hän huudahti:

— Mikä aasi minä olenkaan! Ryyppy ja palanen lihaa ovat aina


olleet minun mieleeni enkä voinut minä ennen ilman niitä päivääkään
elää. Mutta siitä saakka, kun minusta munkki tehtiin, ovat he
antaneet minun melkein kuivettua. Tahtoisinpa tietää, miksei sihteeri
Tshau ole lähettänyt minulle mitään koko tänä aikana. Minun
kurkkuni on kuiva kuin urkupiippu ja mieleni on jännityksessä siitä,
voinko tätä pitkää kieltäymystä läpäistä ilman pientä tuikkua.
Juuri samalla hetkellä, kun Lo Ta virkistävää tuikkua ajatteli, hän
näki miehen jonkun matkan päässä nousevan mäkeä ylös, olallaan
seipääseen kiinnitettynä kaksi lekkeriä ja kupponen kädessään. Hän
lauloi kulkiessaan:

Miss' vuoren alla tanner on, siin' punas hurme hiekan; mut
sitä paikkaa myllertäin löys' härkä maasta miekan. Ja virran
tumman partaalta puhalsi tuores tuuli — oh, miehensä on
jättänyt Ju kaunis, hymyhuuli, j.n.e.

Kun Lo Syvähenki näki miehen lekkereineen lähestyvän mäen


rinnettä pitkin, hän jäi kesämajaan istumaan ja odottamaan tulijaa.
Ja tämä tulikin aivan kesämajaa kohti, laski kantamuksensa sen
viereen ja huoahti. Nyt kääntyi Lo Ta häneen puoleensa kysyen:

— Kuuleppas sinä mies, mitä on sinulla lekkereissä?

— Hyvää viinaa niissä on, — vastasi kysytty.

— Mitä lekkerillinen maksaa? — kysyi Syvähenki.

— Herra munkki, — vastasi toinen, — tahdotteko sillä sanoa, että


joisitte sitä?

— Mitä?… joisinko?…

— Niin, tätä minun viinaani, — selitti mies. — Minä tuon sitä tänne
vuorelle myydäkseni luostarin palvelusväelle. Se on minun toimeni.
Mutta luostarinjohtaja on antanut ankaran määräyksen, että jos
myymme munkeille pisaraakaan viinaa, niin meitä rangaistaan, me
menetämme kaikki oikeutemme ja karkotetaanpa meidät luostarin
läheisyydestäkin. Me olemme kauppamme tähden riippuvaisia
luostarista ja asumme siksi sen läheisyydessä. Tästä syystä en
uskalla millään ehdolla myydä teille viinaa.

— Onko se totta? — kysyi Lo Ta. — Etkö sinä todellakaan aio


antaa sitä minulle maksusta?

— Vaikka tähän paikkaan minut tappaisitte, — sanoi mies, — niin


en voi sitä sittenkään tehdä.

— Minä en puhu tappamisesta, — väitti Lo Ta vastaan, — vaan


kysyn, myytkö minulle vai etkö?

Kun mies huomasi, että keskustelusta saattoi tulla täysi tosi, hän
sieppasi lekkerinsä ja läksi pakoon. Mutta Lo Syvähenki ryntäsi
hänen jälkeensä, tarttui lekkereihin ja potkaisi kaupustelijan
menemään kuin kerän maata pitkin. Sitten hän vei lekkerit
kesämajaan, otti kupin, avasi tulpan ja alkoi lipoa viinaa. Pian hän oli
tyhjentänyt toisen lekkerin, minkä tehtyään hän huusi miehelle:

— Kyllä minä tämän maksan, jos tulet huomenna luostariin!

Sillä välin oli viinakaupustelija toipunut tuimasta potkaisusta. Mutta


koska hän pelkäsi, että luostarinjohtaja voisi saada kuulla hänen
teostaan ja rangaista, niin hän ei piitannut juodun viinan maksusta,
vaan kaadettuaan puolet jälelle jääneestä viinasta tyhjään lekkeriin
nosti molemmat olkapäälleen, otti kuppinsa ja läksi astumaan mäkeä
alas.

Mitä Lo Syvähenkeen tulee, hän istui jonkun aikaa aivan


rauhallisena kesämajassa. Mutta sitten alkoi viinan voima osottaa
olemassaoloaan. Hän hyppäsi pystyyn ja harppasi vähän matkaa
jääden kuitenkin erään hongan alle istumaan. Mutta kauaa hän ei
siinä istunut, sillä viina sai vähitellen hänet valtaansa.

Ensin hän huitoi käsiään, veti ne sitten mustan kauhtanansa


hihoista ulos, nousi, sitoi kauhtanan rintansa ympäri, niin että
ommeltu selkämys näkyi, ja läksi tällaisena astumaan mäkeä ylös.
Tuijottaen tuimasti luostaria kohti hän reuhtoi kulkiessaan
ruumistaan.

Portinvartiat, joita oli kaksi, huomasivat jo kaukaa Lo Syvähengen


tilan, noutivat bambuseipäänsä ja asettuivat porttiaukkoon
sulkeakseen Lo Taita tien.

— Mies hoi, — huusi toinen heistä, — sinä tahdot olla Buddhan


oppilas ja tulet humalassa kotiin! Oletko sinä ollut aina noin pyörällä
päästäsi, kun et ole huomannut, mitä ruokahuoneen seinällä seisoo:
»Munkki, joka on nauttinut väkeviä juomia ja rikkonut pyhän
kieltäytymislupauksensa, rangaistaan neljälläkymmenellä
raipaniskulla ja karkotetaan luostarista». Ja: »Pottinvartia, joka
päästää humalaisen luostariin, rangaistaan kymmenellä
raipaniskulla.» Pidä siis varasi ja pötki kiireimmän kautta tuosta
mäkeä alas, niin me puolestamme annamme asian raueta siihen!

Lo Syvähenki, joka oli vielä liian vähän aikaa ollut munkkina, jotta
olisi voinut sotaisen luonteensa hillitä, suuntasi sanomattoman
ylenkatseellisen silmäyksensä portinvartioihin ja alkoi sättiä heitä:

— Te varkaat ja sekasikiöt, jos te vain seipäillänne minua lyötte,


niin kyllä minä teitä kohta opetan!

Kun portinvartiat huomasivat, että asia alkoi kääntyä


arveluttavaksi, juoksi toinen heistä ilmottamaan tästä lukkarille toisen
jäädessä porttiin ja koettaessa seipäällä estää Lo Taa pääsemästä
sisään. Mutta tämä viskasi seipään vartian kädestä, haristi sormensa
ja livahutti vastustajalleen sellaisen korvatillikan, että tämä tupsahti
suin maahan eikä ehtinyt vielä ensi huumauksestakaan toipua, kun
jo toinen isku lennätti hänet poikkiteloin porttiaukkoon. Voitettu huusi
apua täyttä kitaa.

— Riittäköön tämä täksi kerraksi, — arveli Lo Ta ja lähti huojuen ja


hoippuen astumaan pihan yli.

Sillä välin ilmaantui lukkari, joka oli toiselta vartialta saanut


hädästä tiedon ja huutanut palvelusväen puolelta parikymmentä
miestä avukseen, ja hyökkäsi seipäillä ja nuijilla varustetun
joukkonsa etunenässä Lo Syvähenkeä vastaan.

Kun Lo Ta äkkäsi tämän, hän huusi, tai oikeammin ärjäisi niin


julmasti, että tuntui jokaisesta kuin olisi ukkonen jyrähtänyt, ja
lähestyi vaahdoten kuin korskea sotaratsu vastustajia.

Lukkari ja hänen väkensä eivät tienneet, että Lo Ta oli soturiksi


kasvatettu, ja kun he nyt ensi kerta näkivät miehen hirvittävän
muodon, he pakenivat takaisin luostariin, sulkivat ovet lujasti
jälkeensä ja rakensivat vielä barrikadin ulko-oven taa.

Lo Ta seurasi heitä portaita ylös, ja kun hän huomasi ulko-oven


olevan lukitun, niin koetteli ensin nyrkkejään, mutta potkaisi sen
sitten polvellaan auki. Näin joutuivat nuo parikymmentä pakolaista
vangiksi eivätkä tienneet miten nahkansa pelastaa. Lo Ta sieppasi
nyt seipään erään vangiksi joutuneen kädestä ja ajoi kaikki ovesta
ulos.
Sillä välin oli lukkari pujahtanut johtajan luo, ja kun tämä sai kuulla
tapahtumasta, hän riensi neljän palvelijansa kanssa käytävään ja
huusi:

— Syvähenki, tuollainen ruokoton käytös on täällä kielletty!

Vaikka Lo Syvähenki oli jotakuinkin sekaisin päästään, hän tunsi


kuitenkin johtajansa, heitti seipään kädestään ja sanoi osottaen
portille päin:

— Minä tulin maistaneeksi vähäsen viinaa, mutta en häirinnyt


heitä lainkaan, mutta nämä alkoivat ensin minua ahdistaa ja lyödä.

— Nyt täytyy teidän heti, — vastasi johtaja, — ainakin


kunnioituksesta minua kohtaan, mennä nukkumaan ja huomenna
puhumme asiasta enemmän.

— Jollen minä kunnioittaisi teitä, herra johtaja, niin kyllä minä


nujertaisin nuo kaljupäiset aasit viimeiseen mieheen, — mökötti Lo
Syvähenki unohtaen päihtymyksissään, että hänenkin oma päänsä
oli putipuhtaaksi ajeltu.

Johtaja käski palvelijansa viedä hänet paikalleen, johon hän


romahti pitkälleen ja alkoi heti kuorsata.

Nyt kokoontuivat luostarin ylimmät virkamiehet ja munkit johtajan


ympärille ja ilmaisivat olevansa Syvähengen enempää luostarissa-
pitämistä vastaan.

— Me vastustimme turhaan hänen ottamistaan luostariin, —


sanoivat he. — Ja mitä siitä nyt seurasi? Kuinka saattaa luostari
sietää tuota villipetoa ja hänen tähtensä kääntää lait ja säädökset
ylösalaisin?
— Minä myönnän, — sanoi johtaja siihen, — että häntä nyt vielä
on vaikea ohjata ja että hän useasti saattaa tuottaa mielipahaa,
mutta myöhemmin on hänen elämänsä varmaan kantava hyviä
hedelmiä. Meidän täytyy ottaa huomioon hänen sukulaisensa ja
meidän suojelijamme, herra sihteeri Tshau ja olla Syvähengelle
hyvänsuopia. Kyllä minä puhun huomenna hänen itsensä kanssa
tästä ja koetan saada hänet järkiinsä.

Munkit nauroivat salaa tällaiselle puheelle ja kuiskailivat


keskenään:

— Millaisen narrin olemmekin valinneet johtajaksemme!

Sitten he painuivat yölevolle.

Seuraavana aamuna lähetti johtaja palvelijansa luostarin


makuusuojaan kutsumaan Syvähenkeä luokseen. Lo Ta ei ollut vielä
noussut levolta ja palvelija hämmästyi suuresti nukkuvan tilaa.
Tuskin voisi sitä edes kaikkia yksityiskohtia myöten kuvatakaan.
Vähitellen laittautui hän kuitenkin puoleksi hyväksyttävään kuntoon
ja seurasi palvelijaa johtajan huoneeseen.

— Syvähenki, — lausui tämä, — vaikka olettekin soturiksi


kasvatettu, ei teidän silti pidä unohtaa, että herra sihteeri Tshau,
meidän suojelijamme, on saanut teidät rupeamaan munkiksi ja että
te olette minulle vannonut olevanne tappamatta, varastamatta,
alhaisia tekoja tekemättä, väkeviä juomia nauttimatta ja
valehtelematta. Nämä ovat ne säädökset, joita koko veljeskuntamme
noudattaa, ja etenkin se on tärkeä, joka kieltää nauttimasta
väkijuomia! Kuinka te saatoitte eilen kuitenkin niin kovin päihtyneenä
palata luostariin, ahdistaa portinvartioita, särkeä oven ja ärjyä niin
kamalasti, että munkit ja palvelijat kauhistuneina juoksivat mikä
minnekin pitkin luostaria? Kuinka te saatoitte tehdä itsenne
syypääksi sellaiseen?

Syvähenki lankesi povilleen ja sanoi nöyrästi:

— En minä sellaista vastedes tee.

— Kuinka te munkiksi ruvettuanne, — jatkoi johtaja, — uskallatte


ensiksikin rikkoa kieltäytymiskäskyn ja sitten vielä saattaa luostarin
sellaiseen epäjärjestykseen? Jollei juuri herra sihteeri Tshau olisi
toimittanut teitä tänne ja maksanut ylläpitonne, niin minä ajaisin
teidät täältä matkoihinne. Pitäkää varanne, ettette vasta osottau
syypääksi sellaiseen epäjärjestykseen.

Syvähenki nousi ja painaen kömpelösti kämmentensä pohjat


yhteen, lupasi:

— En minä vastedes sellaista tee, en tee!

Johtaja pidätti hänet vielä luonaan, tarjosi hänelle aamiaista ja


puheli ystävällisesti hänen kanssaan antaen hyviä neuvoja. Sitten
hän otti esiin uuden munkkipuvun ja parin uusia jalkineita, antoi ne
Syvähengelle ja lähetti hänet palvelijansa mukana takaisin.

Tämän ensimäisen hurjan humalansa ja raivonsa jälkeen pysyi Lo


Syvähenki kolme ehkäpä neljäkin kuukautta luostarissa kaipaamatta
muuhun maailmaan. Mutta eräänä päivänä maaliskuussa, kun
ilmakin oli jo yhä lämpimämmäksi muuttunut, hän meni luostarin
ulkopuolelle. Hänen siinä Viidentauluvuorta katsellessaan hän
yhtäkkiä hytkähti ja käänsi päänsä. Tuuli oli tuonut muutamia
eksyneitä ääniä hänen korvaansa alhaalta kylästä.
Hän meni sisälle makuusuojaansa, otti rahaa, pisti sen
liivintaskuunsa ja riensi hetken kuluttua mäkeä alas kylää kohti.

Kun hän oli astunut taiteellisen porttikaaren alitse, joka erotti


luostarin alueen kylästä, tai oikeammin kauppalasta, avautui hänen
eteensä palanen tuota hyörivää maailmaa, jonka hän niin kauan
sitten oli hyljännyt. Siinä oli ahtaasti toinen toisensa vieressä liha-,
vihannes-, väkijuoma-, piirakka- y.m. kauppoja.

— Tosiaankin, — huudahti Lo Syvähenki itsekseen, — minä olen


suuri narri. Olisinpa aikaisemmin tiennyt tämän paikan, ei minun olisi
tarvinnut siltä kaupustelijalta silloin viinaa vorota. Tännehän minä
voin tulla melkein milloin hyvänsä sitä ostamaan. Kuinka tavattoman
helteiseksi onkaan sää näinä viimeisinä päivinä muuttunut! Enköhän
löytäisi täältä jotakin syötävää?

Tässä keskeytti eräästä pajasta kuuluva taonta hänen ajatustensa


juoksun; hän seisoi näet juuri erään pajan kohdalla, jonka
ylikerroksesta riippui ilmotus vuokrattavista huoneista. Lo Syvähenki
astui pajaan ja huomattuaan siellä kolme seppää työssä kysyi:

— Tahtoisin tietää, hyvä herra seppämestari, onko teillä hyvää,


kovaa terästä varastossa?

Kun sepät näkivät Lo Tan, joka näytti vaaralliselta mieheltä,


etenkin mitä tulee poskipäihin, vaikka olikin partansa ajeltu, niin he
pelkäsivät häntä jonkun verran. Mestari antoi vasaransa levätä ja
vastasi:

— Hyvä isä, olkaa hyvä ja istukaa. Mitä pitäisi minun teille


valmistaa?
— Valmistakaa minulle, — vastasi Lo Syvähenki, — matkasauva
ja miekka.
Onko teillä sitten terästä, parasta lajia?

— On kyllä, minulla on oikein hyvää terästä: Siis matkasauva ja


miekka. Kuinka painavia saavat olla? Minä valmistan ne aivan teidän
määräystenne mukaan, hyvä isä.

— Tahtoisin sata naulaa painavan matkasauvan, — arveli Lo Ta.

— Se tulisi hiton painava, — virkkoi seppä hymähtäen. — Jos


minä sellaisen teen, niin pelkäänpä, että ette sitä käyttää jaksaisi.
Eipä painanut kuningas Kuan'inkaan sauva kuin
kahdeksankymmentä yksi naulaa.

— Enkö minä muka vedä vertoja kuningas Kuan'ille sitten? —


kysyi Lo Ta hiukan suuttuneena. — Ihminen hänkin vain oli,
luullakseni.

— Eiköhän se tule tarpeeksi painava, jos laitan viidenkymmenen


naulan painoisen, — arveli seppä.

— No tehkää se sitten kuningas Kuan'in sauvan painoiseksi —


kahdeksankymmentäyksi naulaa.

— Hyvä isä, kyllä se siinä tapauksessa tulee olemaan ruman


näköinen eikä suinkaan käteväkään. Antakaa minun tehdä se
kuudenkymmenenkahden naulan painoiseksi. Sellainenkin olisi vielä
kuin myllytukki. Mutta jollette jaksaisi sitä heilutella, niin älkää sitten
minua syyttäkö. Ja mitä miekkaan tulee, niin kyllä minä ne tunnen.
Teräs on oleva mitä parasta ja työhön ryhdyn heti.
— Paljonko ne tulevat maksamaan?

— Minä en pyydä liikoja. Alin hinta olkoon viisi taelia.

— Hyvä on! Minä maksan niistä pyytämänne viisi taelia. Mutta


tehkäähän se hyvin, niin lisään runsaan juomarahan.

Ja hän antoi viisi taelia sepälle, joka vielä vakuutti:

— Kyllä minä ryhdyn heti työhön.

— Ettekö huolisi viinaryypystä minun seurassani? — kysäisi Lo Ta.

Mutta seppä kielteli:

— Isä hyvä, luvallanne en minä nyt tahtoisi tehdä teille seuraa.


Minulla on paljon työtä.

Lo Syvähenki läksi pajasta, mutta tuskin hän lienee ollut siitä


puolen sadan askeleen päässä, kun hän huomasi erään
väkijuomakaupan ilmotuksen riippuvan vesikourussa. Hän huiskasi
oviverhon syrjään, astui sisään ja istuutui. Sitten hän koputti pöytään
ja huusi lujasti:

— Tuokaa ryyppy!

— Hyvä isä, pyydän anteeksi, — selitti kaupan isäntä, — mutta


tämä talo kuuluu luostarille, minun liikepääomani on myöskin sen, ja
luostarinjohtaja on ilmottanut ottavansa lainatun pääoman heti
takaisin, jos minä myyn väkijuomia yhdellekään munkille. Älkää siis
panko pahaksenne, että minun täytyy kieltäytyä.

— Poiketkaahan toki kerran hänen ehdoistaan, — virkkoi


Syvähenki, — ja myykää minulle yksi ryyppy vain! Minä en hiisku
kenellekään, että olette minulle mitään myynyt, niin siihenhän koko
asia jää.

— Minä en voi mitenkään menetellä vastoin hänen määräystään,


— vastasi isäntä. — Menkää mieluummin johonkin toiseen puotiin ja
juokaa siellä, ja pyydän vielä kerta, suokaa tämä minulle anteeksi.

Lo Syvähenki nousi ja virkkoi:

— Jos lähdenkin tästä jonnekin muualle, tuota ryyppyä etsimään,


niin kyllä minä palatessani vielä tänne poikkean sanoakseni silloin
viimeisen sanani.

Ja hän poistui puodista. Muutaman askelen päässä hän huomasi


taas ilmotuslipun erään toisen samanlaisen kaupan edessä, ja kun ei
siinä minkäänlaista oviverhoa ollut, hän astui suoraa päätä sisään,
istuutui ja tiuskaisi:

— Isäntä! Pian! Tuokaa minulle ryyppy!

— Hyvä isä, — sanoi isäntä, — te ette näy tuntevan meidän


olosuhteitamme. Luostarinjohtaja on antanut määräyksen, joka
teidän pitäisi tuntea ja kuitenkin, tulette nyt tänne saattamaan
kauppamme vaaranalaiseksi.

Lo Syvähenki ei ollut lainkaan halukas lähtemään toista kertaa


tyhjin toimin ja ahdisteli pyynnöillään aika lailla kaupan isäntää.
Mutta kun tämä pysyi järkähtämättömänä, niin hänen täytyi vihdoin
nousta ja lähteä.

Pari kolme kertaa koetti hän vielä onneaan muissakin puodeissa,


mutta yhtä huonolla menestyksellä. Ja hän tuumi:
— Täytyypä keksiä keino millä pettää nuo lurjukset, muuten en
saa pisaraakaan maistaa.

Pitkänpuoleisen matkan päässä näistä puodeista kylän toisessa


päässä oli mantelipuiden suojassa pieni talo, jonka katolla näkyi
väkijuomakaupan merkki. Lo Syvähenki läksi sinne, ja kun hän pääsi
selville siitä, että sielläkin myydään viinaa, hän astui sisään, istuutui
ja nojaten väsyneesti ikkunalautaa vasten sanoi:

— Isäntä, olkaa hyvä ja myykää matkustavalle munkille vähäsen


viinaa.

Isäntä katsoi häneen tutkivasti ja kysyi:

— Mistä te tulette, herra munkki?

— Minä olen pitkällä matkalla ja jouduin sattumalta tähän kylään.

— Mutta jos te olette Viidentaulunvuoren luostarista, niin en minä


siinä tapauksessa uskalla teille mitään väkevää myydä.

— Ei, en minä sieltä ole! Tuokaa nyt pian.

Isäntä päätti Lo Tan muodosta ja puheesta, ettei hän ole


paikkakunnan asukkaita, ja kysyi:

— Paljonko haluatte sitten?

— Älkää nyt siinä enää noin kovin tarkasti kysykö, vaan tuokaa iso
pullo, niin sittenhän riittää.

Lo Syvähenki joi siitä kymmenkunnan lasillista. Sitten hän kysyi:

— Jos teillä on lihaa, niin tuokaa sitäkin.


— Olisittepa tullut aikaisemmin, — vastasi isäntä, — niin olisi kyllä
ollut naudanlihaa, mutta nyt on kaikki lopussa.

Samassa tunsi Syvähenki lihan hajua jostakin kauempaa, juoksi


ulos ja näki talon muurin luona suuressa kattilassa keitettävän koiran
lihaa.

— Mitä tämä on, — huusi Lo Ta puodin omistajalle, — täällä


keitetään koiranlihaa, eikä minulle puhuta siitä mitään?

— Minä arvelin, että koska olette munkki, niin ette saa syödä
koiranlihaa ja sentähden en minä sitä ilmottanut.

— Tässä on rahaa, — sanoi Lo Ta antaen isännälle hopeata. —


Minä ostan teiltä puolet näistä koiranlihoista.

Isäntä riensi jakamaan lihoja ja vei ne sisään asettaen Lo Tan


eteen; hän toi myöskin kynsilaukkaa kastikkeeksi.

Nyt vasta tunsi Lo Syvähenki voivansa hyvin. Hän repi sormillaan


lihaa irti luista, kastoi kynsilaukkaan ja pisti poskeensa.
Kymmenkunta lasia tyhjensi hän vielä aterian aikana. Näyttipä siltä,
kuin hän ei lainkaan aikoisi lakata, niin suuri oli kauan ikävöity
nautinto; rasva oikein vuoti hänen suupielistään ulos. Kaupan
omistaja töllisti nälkäistä vierastaan pitkän aikaa ja huudahti vihdoin
ihmeissään:

— Eikö ala jo riittää, hyvä isä? Ettekö ole vieläkään saanut


tarpeeksenne?

Syvähenki katsahti häneen suurin silmin ja murahti:


— En minä teidän rahoillanne syö eikä teillä ole siis oikeutta
puhutella minua tuohon tapaan.

— Paljonko sitten tahtoisitte vielä?

— Tuokaa vielä pullollinen, — komensi Syvähenki ja toisen oli kuin


olikin tuotava.

Lo Syvähenki tyhjensi senkin tuossa tuokiossa jättämättä


tilkkaakaan jälelle. Otti sitten kalutun koirankoiven, pisti sen
poveensa ja lähti matkoihinsa sanoen:

— Kun satun toiste saamaan rahoja, niin pistäynpä tänne taasen.


Mutta isäntä pelästyi aika lailla nähdessään Syvähengen kääntyvän
suoraa päätä kohti Viidentaulunvuorta, jolla luostari oli.

Luostarin kesämajan luo saavuttuaan Lo Syvähenki poikkesi


siihen istumaan. Mutta kun viina taasen oli tehnyt tehtävänsä, hän
hypähti pystyyn ja höpisi itsekseen:

— Onneksi en ole keneltäkään vielä kättä tai jalkaa taittanut. Mutta


siitä huolimatta tuntuu kuin olisin masennuksissa. Pitääpä vähäsen
ajaa voimia liikkeelle.

Ja seisoessaan kesämajan ovessa hän kääri kauhtanansa


hihansuut kokoon ja alkoi työntää nyrkkejään ylös ja alas, oikeaan ja
vasempaan, ikäänkuin voimia kootakseen. Sattuipa hänen raskas
ruumiinsa tätä tehdessään joten kuten horjahtamaan ja hän keikahti
puista kattopylvästä vasten, joka riuskahtaen katkesi. Lo Ta säpsähti
ja ennätti kaikeksi onneksi hypähtää syrjään, ennenkuin koko toinen
puolisko kesämajan kattoa luhistui romahtaen maahan.
Kun luostarin portinvartiat kuulivat tämän hirvittävän ryskeen, he
juoksivat lähellä olevalle kummulle katsomaan, mitä oli tulossa.
Sieltä asteli Lo Syvähenki hoipertaen mäkeä ylös.

— Taivasten tekijä! — huusivat vartiat kuin yhdestä suusta, —


sieltä marssii tuo voimaihminen taas jättiläispöhnässä luostariin!

Sukkelasti he sulkivat portin, telkesivät sen visusti ja jäivät


henkeään pidättäen seisomaan sen taa kuullakseen ja nähdäkseen,
mitä tapahtuman piti.

Kun Lo Ta oli saapunut portin eteen ja nähnyt sen suljetuksi, hän


alkoi nyrkeillään sitä rummuttaa, jotta hänelle avattaisiin. Mutta eipä
haluttanut vartioita vähääkään täyttää tulijan toivomusta. Kun Lo Ta
siis oli jonkun aikaa jyskyttänyt porttia, hän kääntyi raivostuneena
etupihaan, jossa katseensa osui erääseen kivestä ja savesta tehtyyn
patsaaseen. Tällaisia patsaita on buddhalaisissa rakennuksissa
asetettu sisäänkäynnin vartioiksi sen kahden puolin. Lo Ta alkoi heti
haukkua patsasta:

— Te pönäkät jättiläispatsaat, miksette tule auttamaan minua, kun


minä porttia jyskytän? Vai nostatteko ilettävät turpanne korkeutta
kohti pelottaaksenne minua? Se ei tule onnistumaan!

Ja hän syöksyi kuvapatsasta kohti, nykäisi muutamia patsasta


ympäröiviä paaluja irti aivankuin olisi kitkenyt sipuleja maasta ja
hypättyään kuvapatsaan jalustalle alkoi paalulla hakata kuvan
jalkoja, että savea ja soraa lensi alas.

Kun portin takana vaanivat vartiat tämän näkivät, he huusivat


kauhistuneina ja riensivät johtajan luo ilmottamaan asiasta.
Sillä välin oli Lo Ta kääntänyt katseensa kuvasta vähän
hengähtääkseen ja äkkäsi nyt ympäri kääntyessään toisen
kuvapatsaan toisella puolella etupihaa. Hän raivostui taas ja ärjäsi:

— Sinä lurjus seisot siellä ja naurat minulle!

Ja Lo Syvähenki ryntäsi suojusaidan yli toisen patsaan päälle ja


iski sitä jalkoihin niin vimmatusti, että kuului ensin ritinää ja rätinää ja
sitten hirvittävä jyrähdys: Hänen ylhäisyytensä herra Porttivahti
suistui valtapaikaltaan ja makasi nyt häväistynä tomussa. Mutta Lo
Syvähenki huitoi yhä aseillaan ja nauraa räkätti kuin mielipuoli.

Kun luostarinjohtaja sai kuulla, mitä ulkona oli tapahtunut, hän


sanoi käskevästi:

— Älkää haastako riitaa hänen kanssaan, vaan täyttäkää


velvollisuutenne.

Johtajanapulainen, kyökkimestari, lukkari ja muut luostarin


ylemmät virkamiehet kokoontuivat johtajan huoneeseen kertomaan,
että se villipeto on tänään taas hurjassa humalassa, koska on
hajottanut koko toisen puolen kesämajaa ja kaatanut kuvapatsaan
portin luota. Ja he tiedustelivat, mitä nyt pitäisi tehdä.

— Minä luulen, — vastasi johtaja, — että itsepä maan keisarin


täytyisi väistyä sellaisessa tilassa olevan ja niin väkevän soturin
tieltä. Sitä suuremmalla syyllä meidän! Jos hän on kuvapatsaan
särkenyt, niin hänen suosijansa korvaa sen uudella, ja jos hän on
kesämajan hävittänyt, niin tuo suosija rakennuttaa sen uudelleen.
Jättäkää hänet vain tänään rauhaan.
— Mutta se kuvapatsas on portin suojelushenki, — sanoivat
munkit. —
Kuinka me voisimme suvaita, että se särjetään?

— Jos te viskaatte minulle tuollaisen kysymyksen, — intti johtaja,


— niin vastaan siihen, että vaikka hän särkisi luostarin kallisarvoiset
Buddha-kuvat, saatikka sitten portti patsaita, niin me emme voisi
häntä estää. Kaikki, mitä nyt voimme tehdä, on antaa hänen olla
rauhassa. Ettekö nähneet, kuinka hän viime kerralla raivostui aivan
vähäisen vastustuksen tähden?

Munkit poistuivat ja arvelivat mennessään, että heidän johtajansa


on suuri raukka. Mutta portinvartioille he huusivat:

— Vartiat, älkää millään muotoa avatko porttia, vaan pitäkää häntä


tarkasti silmällä!

Mutta kun Lo Ta kuuli heidän huutonsa, hän ärjäsi portin takaa:

— Jollette te kaljupäät heti avaa minulle, niin sytytän portin tuleen


ja poltan koko luostarin poroksi!

Munkit pitivät viisaampana avata portin salvat, sillä muussa


tapauksessa olisi Lo Ta varmaankin pannut uhkauksensa täytäntöön.
Portinvartiat avasivat siis teljet ja irrottivat tynkipuomit aivan
kuulumattomasti ja pakenivat sitten munkkien perään piiloutuakseen
luostariin.

Lo Syvähenki ryntäsi nyt hurjaa vauhtia nyrkit pystyssä päin


porttia, joka avautui heti niin helposti, että hän kaatui pitkälleen
maahan. Mutta hän nousi jaloilleen, löi kevyesti kädellä päähänsä ja
läksi suoraa päätä makuusuojaansa.

You might also like