01/08/2020

Interview: Inductive programming

Learning data minimization

Prof. Ute Schmid holds a degree computer science and psychology. She has been teaching applied computer sciences at the University of Bamberg since 2004. Her research activities focus on artificial intelligence, in particular machine learning and cognitive modeling. At fortiss she will be involved in the lead project “Robust AI” and will bring her expertise in the field of inductive programming to the institute. In the following interview, she explains why this area is so important.

What made you decide to go into computer science after studying psychology?
Because of programming. When I was a psychology student, I wanted to write a program to analyze log file data; in other words sequence inputs on the computer. That’s why I attended the lecture “Programming Techniques for Engineers”. And I was excited. Questions surrounding the basic principles of human thought and learning, which is what brought me to the field of psychology, is still my primary motivation however. Having worked on this subject in the area of cognitive psychology, I’m now observing it from the perspective of AI.

How did the scientific collaboration with fortiss come to fruition?
Harald Reuß (Scientific Managing Director) and I share an interest in automatic program synthesis. After I was invited to give a lecture at the institute in Munich in 2018, we decided to work closer together.

What do you expect from the collaboration?
fortiss is carrying out a lot of dynamic research with respect to innovative and methods-based topics in the area of artificial intelligence. I’m really looking forward to exciting impulses and productive collaboration.

What projects are you interested in kicking-off in the area of artificial intelligence?
I’d like to develop inductive programming methods for various basic and applied research projects in the area of machine learning.

What projects are you interested in kicking-off in the area of artificial intelligence?
I’d like to develop inductive programming methods for various basic and applied research projects in the area of machine learning.

How would you describe inductive programming to a lay person?
Inductive programming involves the investigation of how computer programs learn from input/output examples or observed input sequences in a system. It’s part of machine learning, declarative programming and software development. The goal is to learn complex rules from very few examples or small amounts of data.

Why is inductive programming so important?
It complements current data-heavy blackbox approaches from the field of “deep learning”, which belongs to the area of machine learning, and allows you to induce models from a small amount of data. In many fields of application, such as medical diagnostics and industrial production, there is only small amount of data available that can be used to train a model. With inductive programming methods, background and expert knowledge can be taken into account when learning, thus allowing a system to learn data minimization.

Which applications does this technology impact?
The traditional field of application for inductive programming is so-called end-user programming, which lets users take advantage of the full functionality of application programs, such as a spreadsheet program, without prior programming knowledge by simply providing examples of the desired system behavior. The underlying macro or program is then automatically generated. Another area is so-called data wrangling. This involves support in cleaning and transforming complex datasets. I use inductive programming primarily to create explanations for machine-learned classifications.

What kind of challenges have to be overcome here?
The challenge involves the combination of inductive programming with end-to-end approaches – in other words deep learning approaches in which learning occurs directly via the raw data, such as images. This assumes that semantically interpretable information is extracted from the neural networks, which is in part possible only through interaction with human experts. For many real applications, I believe it will be absolutely necessary to use or develop interactive approaches from machine learning, since correctly identifying training data without human assistance is not possible, or it’s much too expensive.

What would like to achieve with fortiss?
I would really be happy if at least one of my young researchers would pursue a doctorate in the area of inductive programming. We want to focus our research activities on the generation of explanations that make it possible to comprehend decisions from AI algorithms. We will also carry out application projects in various areas such as medical diagnostics, danger recognition in autonomous driving systems, quality assurance in industrial production and predictive maintenance. Most of all however, I hope that the methods I developed in my basis research will pass the “practical check”.