SE4COG '18- Proceedings of the 1st International Workshop on Software Engineering for Cognitive Services

Full Citation in the ACM Digital Library

SESSION: Autonomic workloads and multicloud engineering

The beginning of a cognitive software engineering era with self-managing applications

The recent explosion of data and the resurgence of AI, Machine Learning and Deep Learning, and the emergence of unbounded cloud computing resources are stretching current software engineering practices to meet business application development, deployment and management requirements. As consumers demand communication, collaboration and commerce almost at the speed of light without interruption, businesses are looking for information technologies that keep up the pace in delivering faster time to market and real-time data processing to meet rapid fluctuations in both workload demands and available computing resources. While the performance of server, network and storage resources have dramatically improved by orders of magnitude in the past decade, software engineering practices and IT operations are evolving at a slow pace. This paper explores a new approach that will provide a path to self-managing software systems with fluctuation tolerance to both workload demands and available resource pools. The infusion of a cognitive control overlay enables an advanced management of application workloads in a distributed multi-cloud computing infrastructure. Resulting architecture provides a uniform framework for managing workload non-functional requirements such as availability, performance, security, data compliance and cost independent of the execution venue for functional requirement workflows.

SESSION: Data science, AI, ML, and DL engineering

Self-organizing infrastructure for machine (deep) learning at scale

Building machine (deep) learning1 systems is hard. Computation requirements grow non-linearly with the complexity of the task at hand creating acute challenges relating to data dimensionality, complex model development, slow experiments, and scalability of production deployments. The bulk of the ML/DL effort is consumed in infrastructure and data management. Automating such workflows has become the focus of recent research activity, so as to make ML/DL systems universally accessible. We extend these paradigms by infusing domain knowledge for infrastructure self-management. Key elements include understanding application design intent, fingerprinting the neural network for its computational, data and convergence properties, optimizing the implementation to achieving workload intent, and accelerating the neural network implementation in real-time hardware implementation. Keys to success require offline behavioural modelling coupled with online dynamic adaptation, made possible by the use of cognitive algorithms that accumulate knowledge in a dynamic and continuously evolving knowledgebase. In this way, we use machine learning to automate AI infrastructure management to minimize human engineering, and significantly accelerating application performance.

Intra-thalamic and thalamocortical connectivity: potential implication for deep learning

Contrary to the traditional view that the thalamus acts as a passive relay station of sensory information to the cortex, a number of experimental studies have demonstrated the effects of peri-geniculate and cortico-thalamic projections on the transmission of visual input. In the present study, we implemented a mechanistic model to facilitate the understanding of peri-geniculate and cortico-thalamic effects on the transfer function of geniculate cells and their firing patterns. As a result, the model successfully captures some fundamental properties of early-stage visual processing in mammalian brain. We conclude, therefore, that the thalamus is not a passive relay center and the intra-thalamic circuitry is of great importance to biological vision. In summary, intra-thalamic and thalamocortical circuitries have implications in early-stage visual processing, and could constitute a valid tool for refining information relay and compression in artificial neural networks (ANN), leading to deep learning models of higher performance.

SESSION: Nature-inspired cognitive systems

Safety from ethical hazards: prospects for a contribution from software engineering

In this paper, I argue that while normative ethical concerns such as fairness and accountability must be addressed in the design of intelligent software, these concerns are far removed from traditional software engineering practice. After reviewing representative illustrations of such ethical hazards arising from the use of intelligent applications, I discuss current practices that might contribute to software engineering practices to assure that intelligent software is safe to use, i.e., free of ethical hazard.

Learning network flow based on rough set flow graphs and ACO clustering in distributed cognitive environments

This paper presents the use of a modified collective behavior strategy of ant colonies to find approximate sets in the multi-objective optimization problem. The currently used methods search for non-dominated solutions, which takes place directly on the basis of definitions in the previously generated finite set of admissible ratings, searching in the space of goals by analyzing active constraints, solving optimization tasks in terms of all subsequent individual optimization criteria and adopting optimization criteria in order to form a substitute criterion of optimization in the form of a combination of linear criteria with appropriately selected weighting factors. However, these methods are ineffective in many cases. Therefore, the authors of the article propose a new approach based on the use of rough sets flow graphs to control the strategy of communicating artificial ants in distributed cognitive environments. The use of this approach allows to maximize the number of generated solutions and finding non-dominated solutions for the multiple objectives.

Natural engineering: applying a genetic computing model to engineering self-aware software

Current approaches to software engineering use a Turing machine implementation to intelligently monitor and adjust the internal environment of an algorithm in real-time. These same approaches however, fail to account for fluctuations in the external environment of the computation, leading to a gross underutilization of system resources or requiring a full restart with costly supervision and manual intervention. In this paper, we describe how we can provide the same intelligence for non-functional requirements as there exist for functional requirements in software applications by using the Distributed Intelligence Computing Element (DIME) computing model. By discussing this model in comparison to similar systems in nature, namely in the context of genetics, we develop the concept of services engineering with self-managed software. As a particularly salient example of this model in practice, we explore the potential for such an approach to improve the performance of machine and deep learning algorithms as a function of intelligent computing environments.

SESSION: Software engineering for cognitive services

Enterprise crowd computing for human aided chatbots

A chatbot is an example of cognitive computing system that emulates human conversations to provide informational, transactional, and conversational services. Despite their widespread adoption, chatbots still suffer from a number of performance issue due to limitations with their programming and training. In this paper we discuss Human Aided Chatbots, i.e. chatbots that rely on humans in the loop to operate. Human Aided Chatbots exploit human intelligence, brought for instance by crowd workers or full-time employees, to fill the gaps caused by limitations of fully automated solutions. A recent example of Human Aided Chatbots is Facebook M. To achieve broader adoption, Human Aided Chatbots must overcome a number of issues, including scalability, low-latency, and privacy. In this short paper, we discuss how Crowd Computing performed in the enterprise could help overcoming such issues. We present some recent findings in the field of Enterprise Crowd Computing, and introduce ECrowd, a platform for enterprise crowd computing designed for gathering training data for cognitive systems.

Toward truly personal chatbots: on the development of custom conversational assistants

Chatbots, i.e., conversational software agents able to interact with users via instant messaging channels like Messenger, WhatsApp or SMS, have the power to substantively simplify human-computer interaction thanks to their natural language paradigm. While this certainly helps to lower barriers, state-of-the-art chatbots prevalently provide access to generic, non-personalized features with relatively little usefulness. This may hinder adoption. To provide users with real value, we envision a kind of chatbot that is personal and helpful by providing services that are chosen and configured by the users themselves, for themselves. As the development of a one-size-fits-all, yet flexible and customizable bot is hard, if not impossible, we discuss requirements and design options that directly put the user into control of their own personal bot.

SESSION: The future of intelligent systems

Keeping intelligence under control

Modern software systems, such as smart systems, are based on a continuous interaction with the dynamic and partially unknown environment in which they are deployed. Classical development techniques, based on a complete description of how the system must behave in different environmental conditions, are no longer effective. On the contrary, modern techniques should be able to produce systems that autonomously learn how to behave in different environmental conditions.

Machine learning techniques allow creating systems that learn how to execute a set of actions to achieve a desired goal. When a change occurs, the system can autonomously learn new policies and strategies for actions execution. This flexibility comes at a cost: the developer has no longer full control on the system behaviour. Thus, there is no way to guarantee that the system will not violate important properties, such as safety-critical properties.

To overcome this issue, we believe that machine learning techniques should be combined with suitable reasoning mechanisms aimed at assuring that the decisions taken by the machine learning algorithm do not violate safety-critical requirements. This paper proposes an approach that combines machine learning with runtime monitoring to detect violations of system invariants in the actions execution policies.

Towards a practical process model for anomaly detection systems

Process models are an important tool for software engineers to produce reliable software within schedule and budget. Especially technically challenging domains like machine learning need a supportive process model to guide the developers and stakeholders during the development process. One major problem type of machine learning is anomaly detection. Its goal is to identify anomalous data points (outlier) between the normal data instances. Anomaly detection has a wide scope of applications in industrial and scientific areas. Detecting intruders in computer networks, distinguishing between cancerous and healthy tissue in medical images, cleaning data from disturbing outliers for further evaluation and many more. The cross-industry standard process for data mining (CRISP-DM) has been developed to support developers with all kinds of data mining applications. It describes a generic model of six phases that covers the whole development cycle. The generality of the CRISP-DM model is as much a strength as it is a weakness, since the particularities of different problem types like anomaly detection can not be addressed without making the model overly complex. There is a need for a more practical, specialised process model for anomaly detection applications. We demonstrate this issue and outline an approach towards a practical process model tailored to the development of anomaly detection systems.

Adaptive rule monitoring system

Rule-based techniques are gaining importance with their ability to augment large scale data processing systems. However, there still remain key challenges amongst current rule-based techniques, including rule monitoring, adapting and evaluation. Among these challenges, monitoring the precision of rules is highly important as it enables analysts to maintain the accuracy of a rule-based system. In this paper, we propose an Adaptive Rule Monitoring System (ARMS) for monitoring the precision of rules. The approach employs a combination of machine learning and crowdsourcing techniques. ARMS identifies rules deteriorating the performance of a rule based system, using the feedback receives from the crowd. To enable analysts identifying the imprecise rules, ARMS leverage machine learning algorithms to analyze the crowd's feedback. The evaluation results show that ARMS can identify the imprecise rules more successfully compared to the default practice of the system, which rely exclusively on analysts.

SESSION: Cognitive and conversational systems era

Smart conversational agents for reminiscence

In this paper we describe the requirements and early system design for a smart conversational agent that can assist older adults in the reminiscence process. The practice of reminiscence has well documented benefits for the mental, social and emotional well-being of older adults. However, the technology support, valuable in many different ways, is still limited in terms of need of co-located human presence, data collection capabilities, and ability to support sustained engagement, thus missing key opportunities to improve care practices, facilitate social interactions, and bring the reminiscence practice closer to those with less opportunities to engage in co-located sessions with a (trained) companion. We discuss conversational agents and cognitive services as the platform for building the next generation of reminiscence applications, and introduce the concept application of a smart reminiscence agent.