Simple RNN

Prerequisites for understanding RNN at a more mathematical level

Writing the A gentle introduction to the tiresome part of understanding RNN Article Series on recurrent neural network (RNN) is nothing like a creative or ingenious idea. It is quite an ordinary topic. But still I am going to write my own new article on this ordinary topic because I have been frustrated by lack of sufficient explanations on RNN for slow learners like me.

I think many of readers of articles on this website at least know that RNN is a type of neural network used for AI tasks, such as time series prediction, machine translation, and voice recognition. But if you do not understand how RNNs work, especially during its back propagation, this blog series is for you.

After reading this articles series, I think you will be able to understand RNN in more mathematical and abstract ways. But in case some of the readers are allergic or intolerant to mathematics, I tried to use as little mathematics as possible.

Ideal prerequisite knowledge:

  • Some understanding on densely connected layers (or fully connected layers, multilayer perception) and how their forward/back propagation work.
  •  Some understanding on structure of Convolutional Neural Network.

*In this article “Densely Connected Layers” is written as “DCL,” and “Convolutional Neural Network” as “CNN.”

1, Difficulty of Understanding RNN

I bet a part of difficulty of understanding RNN comes from the variety of its structures. If you search “recurrent neural network” on Google Image or something, you will see what I mean. But that cannot be helped because RNN enables a variety of tasks.

Another major difficulty of understanding RNN is understanding its back propagation algorithm. I think some of you found it hard to understand chain rules in calculating back propagation of densely connected layers, where you have to make the most of linear algebra. And I have to say backprop of RNN, especially LSTM, is a monster of chain rules. I am planing to upload not only a blog post on RNN backprop, but also a presentation slides with animations to make it more understandable, in some external links.

In order to avoid such confusions, I am going to introduce a very simplified type of RNN, which I call a “simple RNN.” The RNN displayed as the head image of this article is a simple RNN.

2, How Neurons are Connected

How to connect neurons and how to activate them is what neural networks are all about. Structures of those neurons are easy to grasp as long as that is about DCL or CNN. But when it comes to the structure of RNN, many study materials try to avoid showing that RNNs are also connections of neurons, as well as DCL or CNN(*If you are not sure how neurons are connected in CNN, this link should be helpful. Draw a random digit in the square at the corner.). In fact the structure of RNN is also the same, and as long as it is a simple RNN, and it is not hard to visualize its structure.

Even though RNN is also connections of neurons, usually most RNN charts are simplified, using blackboxes. In case of simple RNN, most study material would display it as the chart below.

But that also cannot be helped because fancier RNN have more complicated connections of neurons, and there are no longer advantages of displaying RNN as connections of neurons, and you would need to understand RNN in more abstract way, I mean, as you see in most of textbooks.

I am going to explain details of simple RNN in the next article of this series.

3, Neural Networks as Mappings

If you still think that neural networks are something like magical spider webs or models of brain tissues, forget that. They are just ordinary mappings.

If you have been allergic to mathematics in your life, you might have never heard of the word “mapping.” If so, at least please keep it in mind that the equation y=f(x), which most people would have seen in compulsory education, is a part of mapping. If you get a value x, you get a value y corresponding to the x.

But in case of deep learning, x is a vector or a tensor, and it is denoted in bold like \boldsymbol{x} . If you have never studied linear algebra , imagine that a vector is a column of Excel data (only one column), a matrix is a sheet of Excel data (with some rows and columns), and a tensor is some sheets of Excel data (each sheet does not necessarily contain only one column.)

CNNs are mainly used for image processing, so their inputs are usually image data. Image data are in many cases (3, hight, width) tensors because usually an image has red, blue, green channels, and the image in each channel can be expressed as a height*width matrix (the “height” and the “width” are number of pixels, so they are discrete numbers).

The convolutional part of CNN (which I call “feature extraction part”) maps the tensors to a vector, and the last part is usually DCL, which works as classifier/regressor. At the end of the feature extraction part, you get a vector. I call it a “semantic vector” because the vector has information of “meaning” of the input image. In this link you can see maps of pictures plotted depending on the semantic vector. You can see that even if the pictures are not necessarily close pixelwise, they are close in terms of the “meanings” of the images.

In the example of a dog/cat classifier introduced by François Chollet, the developer of Keras, the CNN maps (3, 150, 150) tensors to 2-dimensional vectors, (1, 0) or (0, 1) for (dog, cat).

Wrapping up the points above, at least you should keep two points in mind: first, DCL is a classifier or a regressor, and CNN is a feature extractor used for image processing. And another important thing is, feature extraction parts of CNNs map images to vectors which are more related to the “meaning” of the image.

Importantly, I would like you to understand RNN this way. An RNN is also just a mapping.

*I recommend you to at least take a look at the beautiful pictures in this link. These pictures give you some insight into how CNN perceive images.

4, Problems of DCL and CNN, and needs for RNN

Taking an example of RNN task should be helpful for this topic. Probably machine translation is the most famous application of RNN, and it is also a good example of showing why DCL and CNN are not proper for some tasks. Its algorithms is out of the scope of this article series, but it would give you a good insight of some features of RNN. I prepared three sentences in German, English, and Japanese, which have the same meaning. Assume that each sentence is divided into some parts as shown below and that each vector corresponds to each part. In machine translation we want to convert a set of the vectors into another set of vectors.

Then let’s see why DCL and CNN are not proper for such task.

  • The input size is fixed: In case of the dog/cat classifier I have mentioned, even though the sizes of the input images varies, they were first molded into (3, 150, 150) tensors. But in machine translation, usually the length of the input is supposed to be flexible.
  • The order of inputs does not mater: In case of the dog/cat classifier the last section, even if the input is “cat,” “cat,” “dog” or “dog,” “cat,” “cat” there’s no difference. And in case of DCL, the network is symmetric, so even if you shuffle inputs, as long as you shuffle all of the input data in the same way, the DCL give out the same outcome . And if you have learned at least one foreign language, it is easy to imagine that the orders of vectors in sequence data matter in machine translation.

*It is said English language has phrase structure grammar, on the other hand Japanese language has dependency grammar. In English, the orders of words are important, but in Japanese as long as the particles and conjugations are correct, the orders of words are very flexible. In my impression, German grammar is between them. As long as you put the verb at the second position and the cases of the words are correct, the orders are also relatively flexible.

5, Sequence Data

We can say DCL and CNN are not useful when you want to process sequence data. Sequence data are a type of data which are lists of vectors. And importantly, the orders of the vectors matter. The number of vectors in sequence data is usually called time steps. A simple example of sequence data is meteorological data measured at a spot every ten minutes, for instance temperature, air pressure, wind velocity, humidity. In this case the data is recorded as 4-dimensional vector every ten minutes.

But this “time step” does not necessarily mean “time.” In case of natural language processing (including machine translation), which you I mentioned in the last section, the numberings of each vector denoting each part of sentences are “time steps.”

And RNNs are mappings from a sequence data to another sequence data.

In case of the machine translation above, the each sentence in German, English, and German is expressed as sequence data \boldsymbol{G}=(\boldsymbol{g}_1,\dots ,\boldsymbol{g}_{12}), \boldsymbol{E}=(\boldsymbol{e}_1,\dots ,\boldsymbol{e}_{11}), \boldsymbol{J}=(\boldsymbol{j}_1,\dots ,\boldsymbol{j}_{14}), and machine translation is nothing but mappings between these sequence data.

 

*At least I found a paper on the RNN’s capability of universal approximation on many-to-one RNN task. But I have not found any papers on universal approximation of many-to-many RNN tasks. Please let me know if you find any clue on whether such approximation is possible. I am desperate to know that. 

6, Types of RNN Tasks

RNN tasks can be classified into some types depending on the lengths of input/output sequences (the “length” means the times steps of input/output sequence data).

If you want to predict the temperature in 24 hours, based on several time series data points in the last 96 hours, the task is many-to-one. If you sample data every ten minutes, the input size is 96*6=574 (the input data is a list of 574 vectors), and the output size is 1 (which is a value of temperature). Another example of many-to-one task is sentiment classification. If you want to judge whether a post on SNS is positive or negative, the input size is very flexible (the length of the post varies.) But the output size is one, which is (1, 0) or (0, 1), which denotes (positive, negative).

*The charts in this section are simplified model of RNN used for each task. Please keep it in mind that they are not 100% correct, but I tried to make them as exact as possible compared to those in other study materials.

Music/text generation can be one-to-many tasks. If you give the first sound/word you can generate a phrase.

Next, let’s look at many-to-many tasks. Machine translation and voice recognition are likely to be major examples of many-to-many tasks, but here name entity recognition seems to be a proper choice. Name entity recognition is task of finding proper noun in a sentence . For example if you got two sentences “He said, ‘Teddy bears on sale!’ ” and ‘He said, “Teddy Roosevelt was a great president!” ‘ judging whether the “Teddy” is a proper noun or a normal noun is name entity recognition.

Machine translation and voice recognition, which are more popular, are also many-to-many tasks, but they use more sophisticated models. In case of machine translation, the inputs are sentences in the original language, and the outputs are sentences in another language. When it comes to voice recognition, the input is data of air pressure at several time steps, and the output is the recognized word or sentence. Again, these are out of the scope of this article but I would like to introduce the models briefly.

Machine translation uses a type of RNN named sequence-to-sequence model (which is often called seq2seq model). This model is also very important for other natural language processes tasks in general, such as text summarization. A seq2seq model is divided into the encoder part and the decoder part. The encoder gives out a hidden state vector and it used as the input of the decoder part. And decoder part generates texts, using the output of the last time step as the input of next time step.

Voice recognition is also a famous application of RNN, but it also needs a special type of RNN.

*To be honest, I don’t know what is the state-of-the-art voice recognition algorithm. The example in this article is a combination of RNN and a collapsing function made using Connectionist Temporal Classification (CTC). In this model, the output of RNN is much longer than the recorded words or sentences, so a collapsing function reduces the output into next output with normal length.

You might have noticed that RNNs in the charts above are connected in both directions. Depending on the RNN tasks you need such bidirectional RNNs.  I think it is also easy to imagine that such networks are necessary. Again, machine translation is a good example.

And interestingly, image captioning, which enables a computer to describe a picture, is one-to-many-task. As the output is a sentence, it is easy to imagine that the output is “many.” If it is a one-to-many task, the input is supposed to be a vector.

Where does the input come from? I mentioned that the last some layers in of CNN are closely connected to how CNNs extract meanings of pictures. Surprisingly such vectors, which I call a “semantic vectors” is the inputs of image captioning task (after some transformations, depending on the network models).

I think this articles includes major things you need to know as prerequisites when you want to understand RNN at more mathematical level. In the next article, I would like to explain the structure of a simple RNN, and how it forward propagate.

* I make study materials on machine learning, sponsored by DATANOMIQ. I do my best to make my content as straightforward but as precise as possible. I include all of my reference sources. If you notice any mistakes in my materials, please let me know (email: yasuto.tamura@datanomiq.de). And if you have any advice for making my materials more understandable to learners, I would appreciate hearing it.

Interview: Operationalisierung von Data Science

Interview mit Herrn Dr. Frank Block von Roche Diagnostics über Operationalisierung von Data Science

Herr Dr. Frank Block ist Head of IT Data Science bei Roche Diagnostics mit Sitz in der Schweiz. Zuvor war er Chief Data Scientist bei der Ricardo AG nachdem er für andere Unternehmen die Datenanalytik verantwortet hatte und auch 20 Jahre mit mehreren eigenen Data Science Consulting Startups am Markt war. Heute tragen ca. 50 Mitarbeiter bei Roche Diagnostics zu Data Science Projekten bei, die in sein Aktivitätsportfolio fallen: 

Data Science Blog: Herr Dr. Block, Sie sind Leiter der IT Data Science bei Roche Diagnostics? Warum das „IT“ im Namen dieser Abteilung?

Roche ist ein großes Unternehmen mit einer großen Anzahl von Data Scientists in ganz verschiedenen Bereichen mit jeweils sehr verschiedenen Zielsetzungen und Themen, die sie bearbeiten. Ich selber befinde mich mit meinem Team im Bereich „Diagnostics“, d.h. der Teil von Roche, in dem Produkte auf den Markt gebracht werden, die die korrekte Diagnose von Krankheiten und Krankheitsrisiken ermöglichen. Innerhalb von Roche Diagnostics gibt es wiederum verschiedene Bereiche, die Data Science für ihre Zwecke nutzen. Mit meinem Team sind wir in der globalen IT-Organisation angesiedelt und kümmern uns dort insbesondere um Anwendungen von Data Science für die Optimierung der internen Wertschöpfungskette.

Data Science Blog: Sie sind längst über die ersten Data Science Experimente hinaus. Die Operationalisierung von Analysen bzw. analytischen Applikationen ist für Sie besonders wichtig. Welche Rolle spielt das Datenmanagement dabei? Und wo liegen die Knackpunkte?

Ja, richtig. Die Zeiten, in denen sich Data Science erlauben konnte „auf Vorrat“ an interessanten Themen zu arbeiten, weil sie eben super interessant sind, aber ohne jemals konkrete Wertschöpfung zu liefern, sind definitiv und ganz allgemein vorbei. Wir sind seit einigen Jahren dabei, den Übergang von Data Science Experimenten (wir nennen es auch gerne „proof-of-value“) in die Produktion voranzutreiben und zu optimieren. Ein ganz essentielles Element dabei stellen die Daten dar; diese werden oft auch als der „Treibstoff“ für Data Science basierte Prozesse bezeichnet. Der große Unterschied kommt jedoch daher, dass oft statt „Benzin“ nur „Rohöl“ zur Verfügung steht, das zunächst einmal aufwändig behandelt und vorprozessiert werden muss, bevor es derart veredelt ist, dass es für Data Science Anwendungen geeignet ist. In diesem Veredelungsprozess wird heute noch sehr viel Zeit aufgewendet. Je besser die Datenplattformen des Unternehmens, umso größer die Produktivität von Data Science (und vielen anderen Abnehmern dieser Daten im Unternehmen). Ein anderes zentrales Thema stellt der Übergang von Data Science Experiment zu Operationalisierung dar. Hier muss dafür gesorgt werden, dass eine reibungslose Übergabe von Data Science an das IT-Entwicklungsteam erfolgt. Die Teamzusammensetzung verändert sich an dieser Stelle und bei uns tritt der Data Scientist von einer anfänglich führenden Rolle in eine Beraterrolle ein, wenn das System in die produktive Entwicklung geht. Auch die Unterstützung der Operationalisierung durch eine durchgehende Data Science Plattform kann an dieser Stelle helfen.

Data Science Blog: Es heißt häufig, dass Data Scientists kaum zu finden sind. Ist Recruiting für Sie tatsächlich noch ein Thema?

Generell schon, obwohl mir scheint, dass dies nicht unser größtes Problem ist. Glücklicherweise übt Roche eine große Anziehung auf Talente aus, weil im Zentrum unseres Denkens und Handelns der Patient steht und wir somit durch unsere Arbeit einen sehr erstrebenswerten Zweck verfolgen. Ein zweiter Aspekt beim Aufbau eines Data Science Teams ist übrigens das Halten der Talente im Team oder Unternehmen. Data Scientists suchen vor allem spannenden und abwechselnden Herausforderungen. Und hier sind wir gut bedient, da die Palette an Data Science Anwendungen derart breit ist, dass es den Kollegen im Team niemals langweilig wird.

Data Science Blog: Sie haben bereits einige Analysen erfolgreich produktiv gebracht. Welche Herausforderungen mussten dabei überwunden werden? Und welche haben Sie heute noch vor sich?

Wir konnten bereits eine wachsende Zahl an Data Science Experimenten in die Produktion überführen und sind sehr stolz darauf, da dies der beste Weg ist, nachhaltig Geschäftsmehrwert zu generieren. Die gleichzeitige Einbettung von Data Science in IT und Business ist uns bislang gut gelungen, wir werden aber noch weiter daran arbeiten, denn je näher wir mit unseren Kollegen in den Geschäftsabteilungen arbeiten, umso besser wird sichergestellt, das Data Science sich auf die wirklich relevanten Themen fokussiert. Wir sehen auch guten Fortschritt aus der Datenperspektive, wo zunehmend Daten über „Silos“ hinweg integriert werden und so einfacher nutzbar sind.

Data Science Blog: Data Driven Thinking wird heute sowohl von Mitarbeitern in den Fachbereichen als auch vom Management verlangt. Sind wir schon so weit? Wie könnten wir diese Denkweise im Unternehmen fördern?

Ich glaube wir stecken mitten im Wandel, Data-Driven Decisions sind im Kommen, aber das braucht auch seine Zeit. Indem wir zeigen, welches Potenzial ganz konkrete Daten und Advanced Analytics basierte Entscheidungsprozesse innehaben, helfen wir, diesen Wandel voranzutreiben. Spezifische Weiterbildungsangebote stellen eine andere Komponente dar, die diesen Transformationszrozess unterstützt. Ich bin überzeugt, dass wenn wir in 10-20 Jahren zurückblicken, wir uns fragen, wie wir überhaupt ohne Data-Driven Thinking leben konnten…

Six properties of modern Business Intelligence

Regardless of the industry in which you operate, you need information systems that evaluate your business data in order to provide you with a basis for decision-making. These systems are commonly referred to as so-called business intelligence (BI). In fact, most BI systems suffer from deficiencies that can be eliminated. In addition, modern BI can partially automate decisions and enable comprehensive analyzes with a high degree of flexibility in use.


Read this article in German:
“Sechs Eigenschaften einer modernen Business Intelligence“


Let us discuss the six characteristics that distinguish modern business intelligence, which mean taking technical tricks into account in detail, but always in the context of a great vision for your own company BI:

1. Uniform database of high quality

Every managing director certainly knows the situation that his managers do not agree on how many costs and revenues actually arise in detail and what the margins per category look like. And if they do, this information is often only available months too late.

Every company has to make hundreds or even thousands of decisions at the operational level every day, which can be made much more well-founded if there is good information and thus increase sales and save costs. However, there are many source systems from the company’s internal IT system landscape as well as other external data sources. The gathering and consolidation of information often takes up entire groups of employees and offers plenty of room for human error.

A system that provides at least the most relevant data for business management at the right time and in good quality in a trusted data zone as a single source of truth (SPOT). SPOT is the core of modern business intelligence.

In addition, other data on BI may also be made available which can be useful for qualified analysts and data scientists. For all decision-makers, the particularly trustworthy zone is the one through which all decision-makers across the company can synchronize.

2. Flexible use by different stakeholders

Even if all employees across the company should be able to access central, trustworthy data, with a clever architecture this does not exclude that each department receives its own views of this data. Many BI systems fail due to company-wide inacceptance because certain departments or technically defined employee groups are largely excluded from BI.

Modern BI systems enable views and the necessary data integration for all stakeholders in the company who rely on information and benefit equally from the SPOT approach.

3. Efficient ways to expand (time to market)

The core users of a BI system are particularly dissatisfied when the expansion or partial redesign of the information system requires too much of patience. Historically grown, incorrectly designed and not particularly adaptable BI systems often employ a whole team of IT staff and tickets with requests for change requests.

Good BI is a service for stakeholders with a short time to market. The correct design, selection of software and the implementation of data flows / models ensures significantly shorter development and implementation times for improvements and new features.

Furthermore, it is not only the technology that is decisive, but also the choice of organizational form, including the design of roles and responsibilities – from the technical system connection to data preparation, pre-analysis and support for the end users.

4. Integrated skills for Data Science and AI

Business intelligence and data science are often viewed and managed separately from each other. Firstly, because data scientists are often unmotivated to work with – from their point of view – boring data models and prepared data. On the other hand, because BI is usually already established as a traditional system in the company, despite the many problems that BI still has today.

Data science, often referred to as advanced analytics, deals with deep immersion in data using exploratory statistics and methods of data mining (unsupervised machine learning) as well as predictive analytics (supervised machine learning). Deep learning is a sub-area of ​​machine learning and is used for data mining or predictive analytics. Machine learning is a sub-area of ​​artificial intelligence (AI).

In the future, BI and data science or AI will continue to grow together, because at the latest after going live, the prediction models flow back into business intelligence. BI will probably develop into ABI (Artificial Business Intelligence). However, many companies are already using data mining and predictive analytics in the company, using uniform or different platforms with or without BI integration.

Modern BI systems also offer data scientists a platform to access high-quality and more granular raw data.

5. Sufficiently high performance

Most readers of these six points will probably have had experience with slow BI before. It takes several minutes to load a daily report to be used in many classic BI systems. If loading a dashboard can be combined with a little coffee break, it may still be acceptable for certain reports from time to time. At the latest, however, with frequent use, long loading times and unreliable reports are no longer acceptable.

One reason for poor performance is the hardware, which can be almost linearly scaled to higher data volumes and more analysis complexity using cloud systems. The use of cloud also enables the modular separation of storage and computing power from data and applications and is therefore generally recommended, but not necessarily the right choice for all companies.

In fact, performance is not only dependent on the hardware, the right choice of software and the right choice of design for data models and data flows also play a crucial role. Because while hardware can be changed or upgraded relatively easily, changing the architecture is associated with much more effort and BI competence. Unsuitable data models or data flows will certainly bring the latest hardware to its knees in its maximum configuration.

6. Cost-effective use and conclusion

Professional cloud systems that can be used for BI systems offer total cost calculators, such as Microsoft Azure, Amazon Web Services and Google Cloud. With these computers – with instruction from an experienced BI expert – not only can costs for the use of hardware be estimated, but ideas for cost optimization can also be calculated. Nevertheless, the cloud is still not the right solution for every company and classic calculations for on-premise solutions are necessary.

Incidentally, cost efficiency can also be increased with a good selection of the right software. Because proprietary solutions are tied to different license models and can only be compared using application scenarios. Apart from that, there are also good open source solutions that can be used largely free of charge and can be used for many applications without compromises.

However, it is wrong to assess the cost of a BI only according to its hardware and software costs. A significant part of cost efficiency is complementary to the aspects for the performance of the BI system, because suboptimal architectures work wastefully and require more expensive hardware than neatly coordinated architectures. The production of the central data supply in adequate quality can save many unnecessary processes of data preparation and many flexible analysis options also make redundant systems unnecessary and lead to indirect savings.

In any case, a BI for companies with many operational processes is always cheaper than no BI. However, if you take a closer look with BI expertise, cost efficiency is often possible.

Interview – Predictive Maintenance and how it can unleash cost savings

Interview with Dr. Kai Goebel, Principal Scientist at PARC, a Xerox Company, about Predictive Maintenance and how it can unleash cost savings.

Dr. Kai Goebel is principal scientist as PARC with more than two decades experience in corporate and government research organizations. He is responsible for leading applied research on state awareness, prognostics and decision-making using data analytics, AI, hybrid methods and physics-base methods. He has also fielded numerous applications for Predictive Maintenance at General Electric, NASA, and PARC for uses as diverse as rocket launchpads, jet engines, and chemical plants.

Data Science Blog: Mr. Goebel, predictive maintenance is not just a hype since industrial companies are already trying to establish this use case of predictive analytics. What benefits do they really expect from it?

Predictive Maintenance is a good example for how value can be realized from analytics. The result of the analytics drives decisions about when to schedule maintenance in advance of an event that might cause unexpected shutdown of the process line. This is in contrast to an uninformed process where the decision is mostly reactive, that is, maintenance is scheduled because equipment has already failed. It is also in contrast to a time-based maintenance schedule. The benefits of Predictive Maintenance are immediately clear: one can avoid unexpected downtime, which can lead to substantial production loss. One can manage inventory better since lead times for equipment replacement can be managed well. One can also manage safety better since equipment health is understood and safety averse situations can potentially be avoided. Finally, maintenance operations will be inherently more efficient as they shift significant time from inspection to mitigation of.

Data Science Blog: What are the most critical success factors for implementing predictive maintenance?

Critical for success is to get the trust of the operator. To that end, it is imperative to understand the limitations of the analytics approach and to not make false performance promises. Often, success factors for implementation hinge on understanding the underlying process and the fault modes reasonably well. It is important to be able to recognize the difference between operational changes and abnormal conditions. It is equally important to recognize rare events reliably while keeping false positives in check.

Data Science Blog: What kind of algorithm does predictive maintenance work with? Do you differentiate between approaches based on classical machine learning and those based on deep learning?

Well, there is no one kind of algorithm that works for Predictive Mantenance everywhere. Instead, one should look at the plurality of all algorithms as tools in a toolbox. Then analyze the problem – how many examples for run-to-failure trajectories are there; what is the desired lead time to report on a problem; what is the acceptable false positive/false negative rate; what are the different fault modes; etc – and use the right kind of tool to do the job. Just because a particular approach (like the one you mentioned in your question) is all the hype right now does not mean it is the right tool for the problem. Sometimes, approaches from what you call “classical machine learning” actually work better. In fact, one should consider approaches even outside the machine learning domain, either as stand-alone approach as in a hybrid configuration. One may also have to invent new methods, for example to perform online learning of the dynamic changes that a system undergoes through its (long) life. In the end, a customer does not care about what approach one is using, only if it solves the problem.

Data Science Blog: There are several providers for predictive analytics software. Is it all about software tools? What makes the difference for having success?

Frequently, industrial partners lament that they have to spend a lot of effort in teaching a new software provider about the underlying industrial processes as well as the equipment and their fault modes. Others are tired of false promises that any kind of data (as long as you have massive amounts of it) can produce any kind of performance. If one does not physically sense a certain modality, no algorithmic magic can take place. In other words, it is not just all about the software. The difference for having success is understanding that there is no cookie cutter approach. And that realization means that one may have to role up the sleeves and to install new instrumentation.

Data Science Blog: What are coming trends? What do you think will be the main topic 2020 and 2021?

Predictive Maintenance is slowly evolving towards Prescriptive Maintenance. Here, one does not only seek to inform about an impending problem, but also what to do about it. Such an approach needs to integrate with the logistics element of an organization to find an optimal decision that trades off several objectives with regards to equipment uptime, process quality, repair shop loading, procurement lead time, maintainer availability, safety constraints, contractual obligations, etc.

Simple RNN

A gentle introduction to the tiresome part of understanding RNN

Just as a normal conversation in a random pub or bar in Berlin, people often ask me “Which language do you use?” I always answer “LaTeX and PowerPoint.”

I have been doing an internship at DATANOMIQ and trying to make straightforward but precise study materials on deep learning. I myself started learning machine learning in April of 2019, and I have been self-studying during this one-year-vacation of mine in Berlin.

Many study materials give good explanations on densely connected layers or convolutional neural networks (CNNs). But when it comes to back propagation of CNN and recurrent neural networks (RNNs), I think there’s much room for improvement to make the topic understandable to learners.

Many study materials avoid the points I want to understand, and that was as frustrating to me as listening to answers to questions in the Japanese Diet, or listening to speeches from the current Japanese minister of the environment. With the slightest common sense, you would always get the feeling “How?” after reading an RNN chapter in any book.

This blog series focuses on the introductory level of recurrent neural networks. By “introductory”, I mean prerequisites for a better and more mathematical understanding of RNN algorithms.

I am going to keep these posts as visual as possible, avoiding equations, but I am also going to attach some links to check more precise mathematical explanations.

This blog series is composed of five contents.:

  1. Prerequisites for understanding RNN at a more mathematical level
  2. Simple RNN: the first foothold for understanding LSTM
  3. A brief history of neural nets: everything you should know before learning LSTM
  4. LSTM and its forward propagation (to be published soon)
  5. LSTM and Its back propagation (to be published soon)

 

Interview – IT-Netzwerk Werke überwachen und optimieren mit Data Analytics

Interview mit Gregory Blepp von NetDescribe über Data Analytics zur Überwachung und Optimierung von IT-Netzwerken

Gregory Blepp ist Managing Director der NetDescribe GmbH mit Sitz in Oberhaching im Süden von München. Er befasst sich mit seinem Team aus Consultants, Data Scientists und IT-Netzwerk-Experten mit der technischen Analyse von IT-Netzwerken und der Automatisierung der Analyse über Applikationen.

Data Science Blog: Herr Blepp, der Name Ihres Unternehmens NetDescribe beschreibt tatsächlich selbstsprechend wofür Sie stehen: die Analyse von technischen Netzwerken. Wo entsteht hier der Bedarf für diesen Service und welche Lösung haben Sie dafür parat?

Unsere Kunden müssen nahezu in Echtzeit eine Visibilität über die Leistungsfähigkeit ihrer Unternehmens-IT haben. Dazu gehört der aktuelle Status der Netzwerke genauso wie andere Bereiche, also Server, Applikationen, Storage und natürlich die Web-Infrastruktur sowie Security.

Im Bankenumfeld sind zum Beispiel die uneingeschränkten WAN Verbindungen für den Handel zwischen den internationalen Börsenplätzen absolut kritisch. Hierfür bieten wir mit StableNetⓇ von InfosimⓇ eine Netzwerk Management Plattform, die in Echtzeit den Zustand der Verbindungen überwacht. Für die unterlagerte Netzwerkplattform (Router, Switch, etc.) konsolidieren wir mit GigamonⓇ das Monitoring.

Für Handelsunternehmen ist die Performance der Plattformen für den Online Shop essentiell. Dazu kommen die hohen Anforderungen an die Sicherheit bei der Übertragung von persönlichen Informationen sowie Kreditkarten. Hierfür nutzen wir SplunkⓇ. Diese Lösung kombiniert in idealer Form die generelle Performance Überwachung mit einem hohen Automatisierungsgrad und bietet dabei wesentliche Unterstützung für die Sicherheitsabteilungen.

Data Science Blog: Geht es den Unternehmen dabei eher um die Sicherheitsaspekte eines Firmennetzwerkes oder um die Performance-Analyse zum Zwecke der Optimierung?

Das hängt von den aktuellen Ansprüchen des Unternehmens ab.
Für viele unserer Kunden standen und stehen zunächst Sicherheitsaspekte im Vordergrund. Im Laufe der Kooperation können wir durch die Etablierung einer konsequenten Performance Analyse aufzeigen, wie eng die Verzahnung der einzelnen Abteilungen ist. Die höhere Visibilität erleichtert Performance Analysen und sie liefert den Sicherheitsabteilung gleichzeitig wichtige Informationen über aktuelle Zustände der Infrastruktur.

Data Science Blog: Haben Sie es dabei mit Big Data – im wörtlichen Sinne – zu tun?

Wir unterscheiden bei Big Data zwischen

  • dem organischen Wachstum von Unternehmensdaten aufgrund etablierter Prozesse, inklusive dem Angebot von neuen Services und
  • wirklichem Big Data, z. B. die Anbindung von Produktionsprozessen an die Unternehmens IT, also durch die Digitalisierung initiierte zusätzliche Prozesse in den Unternehmen.

Beide Themen sind für die Kunden eine große Herausforderung. Auf der einen Seite muss die Leistungsfähigkeit der Systeme erweitert und ausgebaut werden, um die zusätzlichen Datenmengen zu verkraften. Auf der anderen Seite haben diese neuen Daten nur dann einen wirklichen Wert, wenn sie richtig interpretiert werden und die Ergebnisse konsequent in die Planung und Steuerung der Unternehmen einfließen.

Wir bei NetDescribe kümmern uns mehrheitlich darum, das Wachstum und die damit notwendigen Anpassungen zu managen und – wenn Sie so wollen – Ordnung in das Datenchaos zu bringen. Konkret verfolgen wir das Ziel den Verantwortlichen der IT, aber auch der gesamten Organisation eine verlässliche Indikation zu geben, wie es der Infrastruktur als Ganzes geht. Dazu gehört es, über die einzelnen Bereiche hinweg, gerne auch Silos genannt, die Daten zu korrelieren und im Zusammenhang darzustellen.

Data Science Blog: Log-Datenanalyse gibt es seit es Log-Dateien gibt. Was hält ein BI-Team davon ab, einen Data Lake zu eröffnen und einfach loszulegen?

Das stimmt absolut, Log-Datenanalyse gibt es seit jeher. Es geht hier schlichtweg um die Relevanz. In der Vergangenheit wurde mit Wireshark bei Bedarf ein Datensatz analysiert um ein Problem zu erkennen und nachzuvollziehen. Heute werden riesige Datenmengen (Logs) im IoT Umfeld permanent aufgenommen um Analysen zu erstellen.

Nach meiner Überzeugung sind drei wesentliche Veränderungen der Treiber für den flächendeckenden Einsatz von modernen Analysewerkzeugen.

  • Die Inhalte und Korrelationen von Log Dateien aus fast allen Systemen der IT Infrastruktur sind durch die neuen Technologien nahezu in Echtzeit und für größte Datenmengen überhaupt erst möglich. Das hilft in Zeiten der Digitalisierung, wo aktuelle Informationen einen ganz neuen Stellenwert bekommen und damit zu einer hohen Gewichtung der IT führen.
  • Ein wichtiger Aspekt bei der Aufnahme und Speicherung von Logfiles ist heute, dass ich die Suchkriterien nicht mehr im Vorfeld formulieren muss, um dann die Antworten aus den Datensätzen zu bekommen. Die neuen Technologien erlauben eine völlig freie Abfrage von Informationen über alle Daten hinweg.
  • Logfiles waren in der Vergangenheit ein Hilfswerkzeug für Spezialisten. Die Information in technischer Form dargestellt, half bei einer Problemlösung – wenn man genau wusste was man sucht. Die aktuellen Lösungen sind darüber hinaus mit einer GUI ausgestattet, die nicht nur modern, sondern auch individuell anpassbar und für Nicht-Techniker verständlich ist. Somit erweitert sich der Anwenderkreis des “Logfile Managers” heute vom Spezialisten im Security und Infrastrukturbereich über Abteilungsverantwortliche und Mitarbeiter bis zur Geschäftsleitung.

Der Data Lake war und ist ein wesentlicher Bestandteil. Wenn wir heute Technologien wie Apache/KafkaⓇ und, als gemanagte Lösung, Confluent für Apache/KafkaⓇ betrachten, wird eine zentrale Datendrehscheibe etabliert, von der alle IT Abteilungen profitieren. Alle Analysten greifen mit Ihren Werkzeugen auf die gleiche Datenbasis zu. Somit werden die Rohdaten nur einmal erhoben und allen Tools gleichermaßen zur Verfügung gestellt.

Data Science Blog: Damit sind Sie ein Unternehmen das Datenanalyse, Visualisierung und Monitoring verbindet, dies jedoch auch mit der IT-Security. Was ist Unternehmen hierbei eigentlich besonders wichtig?

Sicherheit ist natürlich ganz oben auf die Liste zu setzen. Organisation sind naturgemäß sehr sensibel und aktuelle Medienberichte zu Themen wie Cyber Attacks, Hacking etc. zeigen große Wirkung und lösen Aktionen aus. Dazu kommen Compliance Vorgaben, die je nach Branche schneller und kompromissloser umgesetzt werden.

Die NetDescribe ist spezialisiert darauf den Bogen etwas weiter zu spannen.

Natürlich ist die sogenannte Nord-Süd-Bedrohung, also der Angriff von außen auf die Struktur erheblich und die IT-Security muss bestmöglich schützen. Dazu dienen die Firewalls, der klassische Virenschutz etc. und Technologien wie Extrahop, die durch konsequente Überwachung und Aktualisierung der Signaturen zum Schutz der Unternehmen beitragen.

Genauso wichtig ist aber die Einbindung der unterlagerten Strukturen wie das Netzwerk. Ein Angriff auf eine Organisation, egal von wo aus initiiert, wird immer über einen Router transportiert, der den Datensatz weiterleitet. Egal ob aus einer Cloud- oder traditionellen Umgebung und egal ob virtuell oder nicht. Hier setzen wir an, indem wir etablierte Technologien wie zum Beispiel ´flow` mit speziell von uns entwickelten Software Modulen – sogenannten NetDescibe Apps – nutzen, um diese Datensätze an SplunkⓇ, StableNetⓇ  weiterzuleiten. Dadurch entsteht eine wesentlich erweiterte Analysemöglichkeit von Bedrohungsszenarien, verbunden mit der Möglichkeit eine unternehmensweite Optimierung zu etablieren.

Data Science Blog: Sie analysieren nicht nur ad-hoc, sondern befassen sich mit der Formulierung von Lösungen als Applikation (App).

Das stimmt. Alle von uns eingesetzten Technologien haben ihre Schwerpunkte und sind nach unserer Auffassung führend in ihren Bereichen. InfosimⓇ im Netzwerk, speziell bei den Verbindungen, VIAVI in der Paketanalyse und bei flows, SplunkⓇ im Securitybereich und Confluent für Apache/KafkaⓇ als zentrale Datendrehscheibe. Also jede Lösung hat für sich alleine schon ihre Daseinsberechtigung in den Organisationen. Die NetDescribe hat es sich seit über einem Jahr zur Aufgabe gemacht, diese Technologien zu verbinden um einen “Stack” zu bilden.

Konkret: Gigaflow von VIAVI ist die wohl höchst skalierbare Softwarelösung um Netzwerkdaten in größten Mengen schnell und und verlustfrei zu speichern und zu analysieren. SplunkⓇ hat sich mittlerweile zu einem Standardwerkzeug entwickelt, um Datenanalyse zu betreiben und die Darstellung für ein großes Auditorium zu liefern.

NetDescribe hat jetzt eine App vorgestellt, welche die NetFlow-Daten in korrelierter Form aus Gigaflow, an SplunkⓇ liefert. Ebenso können aus SplunkⓇ Abfragen zu bestimmten Datensätzen direkt an die Gigaflow Lösung gestellt werden. Das Ergebnis ist eine wesentlich erweiterte SplunkⓇ-Plattform, nämlich um das komplette Netzwerk mit nur einem Knopfdruck (!!!).
Dazu schont diese Anbindung in erheblichem Umfang SplunkⓇ Ressourcen.

Dazu kommt jetzt eine NetDescribe StableNetⓇ App. Weitere Anbindungen sind in der Planung.

Das Ziel ist hier ganz pragmatisch – wenn sich SplunkⓇ als die Plattform für Sicherheitsanalysen und für das Data Framework allgemein in den Unternehmen etabliert, dann unterstützen wir das als NetDescribe dahingehend, dass wir die anderen unternehmenskritischen Lösungen der Abteilungen an diese Plattform anbinden, bzw. Datenintegration gewährleisten. Das erwarten auch unsere Kunden.

Data Science Blog: Auf welche Technologien setzen Sie dabei softwareseitig?

Wie gerade erwähnt, ist SplunkⓇ eine Plattform, die sich in den meisten Unternehmen etabliert hat. Wir machen SplunkⓇ jetzt seit über 10 Jahren und etablieren die Lösung bei unseren Kunden.

SplunkⓇ hat den großen Vorteil dass unsere Kunden mit einem dedizierten und überschaubaren Anwendung beginnen können, die Technologie selbst aber nahezu unbegrenzt skaliert. Das gilt für Security genauso wie Infrastruktur, Applikationsmonitoring und Entwicklungsumgebungen. Aus den ständig wachsenden Anforderungen unserer Kunden ergeben sich dann sehr schnell weiterführende Gespräche, um zusätzliche Einsatzszenarien zu entwickeln.

Neben SplunkⓇ setzen wir für das Netzwerkmanagement auf StableNetⓇ von InfosimⓇ, ebenfalls seit über 10 Jahren schon. Auch hier, die Erfahrungen des Herstellers im Provider Umfeld erlauben uns bei unseren Kunden eine hochskalierbare Lösung zu etablieren.

Confluent für Apache/KafkaⓇ ist eine vergleichbar jüngere Lösung, die aber in den Unternehmen gerade eine extrem große Aufmerksamkeit bekommt. Die Etablierung einer zentralen Datendrehscheibe für Analyse, Auswertungen, usw., auf der alle Daten zur Performance zentral zur Verfügung gestellt werden, wird es den Administratoren, aber auch Planern und Analysten künftig erleichtern, aussagekräftige Daten zu liefern. Die Verbindung aus OpenSource und gemanagter Lösung trifft hier genau die Zielvorstellung der Kunden und scheinbar auch den Zahn der Zeit. Vergleichbar mit den Linux Derivaten von Red Hat Linux und SUSE.

VIAVI Gigaflow hatte ich für Netzwerkanalyse schon erwähnt. Hier wird in den kommenden Wochen mit der neuen Version der VIAVI Apex Software ein Scoring für Netzwerke etabliert. Stellen sie sich den MOS score von VoIP für Unternehmensnetze vor. Das trifft es sehr gut. Damit erhalten auch wenig spezialisierte Administratoren die Möglichkeit mit nur 3 (!!!) Mausklicks konkrete Aussagen über den Zustand der Netzwerkinfrastruktur, bzw. auftretende Probleme zu machen. Ist es das Netz? Ist es die Applikation? Ist es der Server? – der das Problem verursacht. Das ist eine wesentliche Eindämmung des derzeitigen Ping-Pong zwischen den Abteilungen, von denen oft nur die Aussage kommt, “bei uns ist alles ok”.

Abgerundet wird unser Software Portfolio durch die Lösung SentinelOne für Endpoint Protection.

Data Science Blog: Inwieweit spielt Künstliche Intelligenz (KI) bzw. Machine Learning eine Rolle?

Machine Learning spielt heute schon ein ganz wesentliche Rolle. Durch konsequentes Einspeisen der Rohdaten und durch gezielte Algorithmen können mit der Zeit bessere Analysen der Historie und komplexe Zusammenhänge aufbereitet werden. Hinzu kommt, dass so auch die Genauigkeit der Prognosen für die Zukunft immens verbessert werden können.

Als konkretes Beispiel bietet sich die eben erwähnte Endpoint Protection von SentinelOne an. Durch die Verwendung von KI zur Überwachung und Steuerung des Zugriffs auf jedes IoT-Gerät, befähigt  SentinelOne Maschinen, Probleme zu lösen, die bisher nicht in größerem Maßstab gelöst werden konnten.

Hier kommt auch unser ganzheitlicher Ansatz zum Tragen, nicht nur einzelne Bereiche der IT, sondern die unternehmensweite IT ins Visier zu nehmen.

Data Science Blog: Mit was für Menschen arbeiten Sie in Ihrem Team? Sind das eher die introvertierten Nerds und Hacker oder extrovertierte Consultants? Was zeichnet Sie als Team fachlich aus?

Nerds und Hacker würde ich unsere Mitarbeiter im technischen Consulting definitiv nicht nennen.

Unser Consulting Team besteht derzeit aus neun Leuten. Jeder ist ausgewiesener Experte für bestimmte Produkte. Natürlich ist es auch bei uns so, dass wir introvertierte Kollegen haben, die zunächst lieber in Abgeschiedenheit oder Ruhe ein Problem analysieren, um dann eine Lösung zu generieren. Mehrheitlich sind unsere technischen Kollegen aber stets in enger Abstimmung mit dem Kunden.

Für den Einsatz beim Kunden ist es sehr wichtig, dass man nicht nur fachlich die Nase vorn hat, sondern dass man auch  kommunikationsstark und extrem teamfähig ist. Eine schnelle Anpassung an die verschiedenen Arbeitsumgebungen und “Kollegen” bei den Kunden zeichnet unsere Leute aus.

Als ständig verfügbares Kommunikationstool nutzen wir einen internen Chat der allen jederzeit zur Verfügung steht, so dass unser Consulting Team auch beim Kunden immer Kontakt zu den Kollegen hat. Das hat den großen Vorteil, dass das gesamte Know-how sozusagen “im Pool” verfügbar ist.

Neben den Consultants gibt es unser Sales Team mit derzeit vier Mitarbeitern*innen. Diese Kollegen*innen sind natürlich immer unter Strom, so wie sich das für den Vertrieb gehört.
Dedizierte PreSales Consultants sind bei uns die technische Speerspitze für die Aufnahme und das Verständnis der Anforderungen. Eine enge Zusammenarbeit mit dem eigentlichen Consulting Team ist dann die  Voraussetzung für die vorausschauende Planung aller Projekte.

Wir suchen übrigens laufend qualifizierte Kollegen*innen. Details zu unseren Stellenangeboten finden Ihre Leser*innen auf unserer Website unter dem Menüpunkt “Karriere”.  Wir freuen uns über jede/n Interessenten*in.

Über NetDescribe:

NetDescribe steht mit dem Claim Trusted Performance für ausfallsichere Geschäftsprozesse und Cloud-Anwendungen. Die Stärke von NetDescribe sind maßgeschneiderte Technologie Stacks bestehend aus Lösungen mehrerer Hersteller. Diese werden durch selbst entwickelte Apps ergänzt und verschmolzen.

Das ganzheitliche Portfolio bietet Datenanalyse und -visualisierung, Lösungskonzepte, Entwicklung, Implementierung und Support. Als Trusted Advisor für Großunternehmen und öffentliche Institutionen realisiert NetDescribe hochskalierbare Lösungen mit State-of-the-Art-Technologien für dynamisches und transparentes Monitoring in Echtzeit. Damit erhalten Kunden jederzeit Einblicke in die Bereiche Security, Cloud, IoT und Industrie 4.0. Sie können agile Entscheidungen treffen, interne und externe Compliance sichern und effizientes Risikomanagement betreiben. Das ist Trusted Performance by NetDescribe.

Krisenerkennung und -bewältigung mit Daten und KI

Wie COVID-19 unser Verständnis für Daten und KI verändert

Personenbezogene Daten und darauf angewendete KI galten hierzulande als ein ganz großes Pfui. Die Virus-Krise ändert das – Zurecht und mit großem Potenzial auch für die Wirtschaft.

Aber vorab, wie hängen Daten und Künstliche Intelligenz (KI) eigentlich zusammen? Dies lässt sich einfach und bildlich erläutern, denn Daten sind sowas wie der Rohstoff für die KI als Motor. Und dieser Motor ist nicht nur als Metapher zu verstehen, denn KI bewegt tatsächlich etwas, z. B. automatisierte Prozesse in Marketing, Vertrieb, Fertigung, Logistik und Qualitätssicherung. KI schützt vor Betrugsszenarien im Finanzwesen oder Ausfallszenarien in der produzierenden Industrie.

KI schützt jeden Einzelnen aber auch vor fehlenden oder falschen Diagnosen in der Medizin und unsere Gesellschaft vor ganzen Pandemien. Das mag gerade im Falle des SARS-COV-2 in 2019 in der VR China und 2020 in der ganzen Welt noch nicht wirklich geklappt zu haben, aber es ist der Auslöser und die Probe für die nun vermehrten und vor allem den verstärkten Einsatz von KI als Spezial- und Allgemein-Mediziner.

KI stellt spezielle Diagnosen bereits besser als menschliche Gehirne es tun

Menschliche Gehirne sind wahre Allrounder, sie können nicht nur Mathematik verstehen und Sprachen entwickeln und anwenden, sondern auch Emotionen lesen und vielfältige kreative Leistungen vollbringen. Künstliche Gehirne bestehen aus programmierbaren Schaltkreisen, die wir über mehrere Abstraktionen mit Software steuern und unter Einsatz von mathematischen Methoden aus dem maschinellen Lernen gewissermaßen auf die Mustererkennung abrichten können. Diese gerichteten Intelligenzen können sehr viel komplexere Muster in sehr viel mehr und heterogenen Daten erkennen, die für den Menschen nicht zugänglich wären. Diesen Vorteil der gerichteten künstlichen Intelligenz werden wir Menschen nutzen – und tun es teilweise schon heute – um COVID-19 automatisiert und sehr viel genauer anhand von Röntgen-Bildern zu erkennen.

Dies funktioniert in speziellen Einsätzen auch für die Erkennung von verschiedenen anderen Lungen-Erkrankungen sowie von Knochenbrüchen und anderen Verletzungen sowie natürlich von Krebs und Geschwüren.

Die Voraussetzung dafür, dass dieser Motor der automatisierten und akkuraten Erkennung funktioniert, ist die Freigabe von vielen Daten, damit die KI das Muster zur Diagnose erlernen kann.

KI wird Pandemien vorhersagen

Die Politik in Europa steht viel in der Kritik, möglicherweise nicht richtig und rechtzeitig auf die Pandemie reagiert zu haben. Ein Grund dafür mögen politische Grundprinzipien sein, ein anderer ist sicherlich das verlässliche Vorhersage- und Empfehlungssystem für drohende Pandemien. Big Data ist der Treibstoff, der diese Vorhersage-Systeme mit Mustern versorgt, die durch Verfahren des Deep Learnings erkannt und systematisch zur Generalisierung erlernt werden können.

Um viele Menschenleben und darüber hinaus auch berufliche Existenzen zu retten, darf der Datenschutz schon mal Abstriche machen. So werden beispielsweise anonymisierte Standort-Daten von persönlichen Mobilgeräten an das Robert-Koch-Institut übermittelt, um die Corona-Pandemie besser eindämmen zu können. Hier haben wir es tatsächlich mit Big Data zutun und die KI-Systeme werden besser, kämen auch noch weitere Daten zur medizinischen Versorgung, Diagnosen oder Verkehrsdaten hinzu. Die Pandemie wäre transparenter als je zuvor und Virologen wie Alexander Kekulé von der Martin-Luther-Universität in Halle-Wittenberg haben die mathematische Vorhersagbarkeit schon häufig thematisiert. Es fehlten Daten und die Musterkennung durch die maschinellen Lernverfahren, die heute dank aktiver Forschung in Software und Hardware (Speicher- und Rechenkapazität) produktiv eingesetzt werden können.

Übrigens darf auch hier nicht zu kurz gedacht werden: Auch ganz andere Krisen werden früher oder später Realität werden, beispielsweise Energiekrisen. Was früher die Öl-Krise war, könnten zukünftig Zusammenbrüche der Stromnetze sein. Es braucht nicht viel Fantasie, dass KI auch hier helfen wird, Krisen frühzeitig zu erkennen, zu verhindern oder zumindest abzumildern.

KI macht unseren privaten und beruflichen Alltag komfortabler und sicherer

Auch an anderer Front kämpfen wir mit künstlicher Intelligenz gegen Pandemien sozusagen als Nebeneffekt: Die Automatisierung von Prozessen ist eine Kombination der Digitalisierung und der Nutzung der durch die digitalen Produkte genierten Daten. So werden autonome Drohnen oder autonome Fahrzeuge vor allem im Krisenfall wichtige Lieferungen übernehmen und auch Bezahlsysteme bedingen keinen nahen menschlichen Kontakt mehr. Und auch Unternehmen werden weniger Personal physisch vor Ort am Arbeitsplatz benötigen, nicht nur dank besserer Telekommunikationssysteme, sondern auch, weil Dokumente nur noch digital vorliegen und operative Prozesse datenbasiert entschieden und dadurch automatisiert ablaufen.

So blüht uns also eine schöne neue Welt ohne Menschen? Nein, denn diese werden ihre Zeit für andere Dinge und Berufe einsetzen. Menschen werden weniger zur roboter-haften Arbeitskraft am Fließband, an der Kasse oder vor dem Steuer eines Fahrzeuges, sondern sie werden menschlicher, denn sie werden sich entweder mehr mit Technologie befassen oder sich noch sozialere Tätigkeiten erlauben können. Im Krisenfall jedoch, werden wir die dann unangenehmeren Tätigkeiten vor allem der KI überlassen.

Einführung in die Welt der Autoencoder

An wen ist der Artikel gerichtet?

In diesem Artikel wollen wir uns näher mit dem neuronalen Netz namens Autoencoder beschäftigen und wollen einen Einblick in die Grundprinzipien bekommen, die wir dann mit einem vereinfachten Programmierbeispiel festigen. Kenntnisse in Python, Tensorflow und neuronalen Netzen sind dabei sehr hilfreich.

Funktionsweise des Autoencoders

Ein Autoencoder ist ein neuronales Netz, welches versucht die Eingangsinformationen zu komprimieren und mit den reduzierten Informationen im Ausgang wieder korrekt nachzubilden.

Die Komprimierung und die Rekonstruktion der Eingangsinformationen laufen im Autoencoder nacheinander ab, weshalb wir das neuronale Netz auch in zwei Abschnitten betrachten können.

 

 

 

Der Encoder

Der Encoder oder auch Kodierer hat die Aufgabe, die Dimensionen der Eingangsinformationen zu reduzieren, man spricht auch von Dimensionsreduktion. Durch diese Reduktion werden die Informationen komprimiert und es werden nur die wichtigsten bzw. der Durchschnitt der Informationen weitergeleitet. Diese Methode hat wie viele andere Arten der Komprimierung auch einen Verlust.

In einem neuronalen Netz wird dies durch versteckte Schichten realisiert. Durch die Reduzierung von Knotenpunkten in den kommenden versteckten Schichten werden die Kodierung bewerkstelligt.

Der Decoder

Nachdem das Eingangssignal kodiert ist, kommt der Decoder bzw. Dekodierer zum Einsatz. Er hat die Aufgabe mit den komprimierten Informationen die ursprünglichen Daten zu rekonstruieren. Durch Fehlerrückführung werden die Gewichte des Netzes angepasst.

Ein bisschen Mathematik

Das Hauptziel des Autoencoders ist, dass das Ausgangssignal dem Eingangssignal gleicht, was bedeutet, dass wir eine Loss Funktion haben, die L(x , y) entspricht.

L(x, \hat{x})

Unser Eingang soll mit x gekennzeichnet werden. Unsere versteckte Schicht soll h sein. Damit hat unser Encoder folgenden Zusammenhang h = f(x).

Die Rekonstruktion im Decoder kann mit r = g(h) beschrieben werden. Bei unserem einfachen Autoencoder handelt es sich um ein Feed-Forward Netz ohne rückkoppelten Anteil und wird durch Backpropagation oder zu deutsch Fehlerrückführung optimiert.

Formelzeichen Bedeutung
\mathbf{x}, \hat{\mathbf{x}} Eingangs-, Ausgangssignal
\mathbf{W}, \hat{\mathbf{W}} Gewichte für En- und Decoder
\mathbf{B}, \hat{\mathbf{B}} Bias für En- und Decoder
\sigma, \hat{\sigma} Aktivierungsfunktion für En- und Decoder
L Verlustfunktion

Unsere versteckte Schicht soll mit \latex h gekennzeichnet werden. Damit besteht der Zusammenhang:

(1)   \begin{align*} \mathbf{h} &= f(\mathbf{x}) = \sigma(\mathbf{W}\mathbf{x} + \mathbf{B}) \\ \hat{\mathbf{x}} &= g(\mathbf{h}) = \hat{\sigma}(\hat{\mathbf{W}} \mathbf{h} + \hat{\mathbf{B}}) \\ \hat{\mathbf{x}} &= \hat{\sigma} \{ \hat{\mathbf{W}} \left[\sigma ( \mathbf{W}\mathbf{x} + \mathbf{B} )\right]  + \hat{\mathbf{B}} \}\\ \end{align*}

Für eine Optimierung mit der mittleren quadratischen Abweichung (MSE) könnte die Verlustfunktion wie folgt aussehen:

(2)   \begin{align*} L(\mathbf{x}, \hat{\mathbf{x}}) &= \mathbf{MSE}(\mathbf{x}, \hat{\mathbf{x}}) = \|  \mathbf{x} - \hat{\mathbf{x}} \| ^2 &=  \| \mathbf{x} - \hat{\sigma} \{ \hat{\mathbf{W}} \left[\sigma ( \mathbf{W}\mathbf{x} + \mathbf{B} )\right]  + \hat{\mathbf{B}} \} \| ^2 \end{align*}

 

Wir haben die Theorie und Mathematik eines Autoencoder in seiner Ursprungsform kennengelernt und wollen jetzt diese in einem (sehr) einfachen Beispiel anwenden, um zu schauen, ob der Autoencoder so funktioniert wie die Theorie es besagt.

Dazu nehmen wir einen One Hot (1 aus n) kodierten Datensatz, welcher die Zahlen von 0 bis 3 entspricht.

    \begin{align*} [1, 0, 0, 0] \ \widehat{=}  \ 0 \\ [0, 1, 0, 0] \ \widehat{=}  \ 1 \\ [0, 0, 1, 0] \ \widehat{=}  \ 2 \\ [0, 0, 0, 1] \ \widehat{=} \  3\\ \end{align*}

Diesen Datensatz könnte wie folgt kodiert werden:

    \begin{align*} [1, 0, 0, 0] \ \widehat{=}  \ 0 \ \widehat{=}  \ [0, 0] \\ [0, 1, 0, 0] \ \widehat{=}  \ 1 \ \widehat{=}  \  [0, 1] \\ [0, 0, 1, 0] \ \widehat{=}  \ 2 \ \widehat{=}  \ [1, 0] \\ [0, 0, 0, 1] \ \widehat{=} \  3 \ \widehat{=}  \ [1, 1] \\ \end{align*}

Damit hätten wir eine Dimensionsreduktion von vier auf zwei Merkmalen vorgenommen und genau diesen Vorgang wollen wir bei unserem Beispiel erreichen.

Programmierung eines einfachen Autoencoders

 

Typische Einsatzgebiete des Autoencoders sind neben der Dimensionsreduktion auch Bildaufarbeitung (z.B. Komprimierung, Entrauschen), Anomalie-Erkennung, Sequenz-to-Sequenz Analysen, etc.

Ausblick

Wir haben mit einem einfachen Beispiel die Funktionsweise des Autoencoders festigen können. Im nächsten Schritt wollen wir anhand realer Datensätze tiefer in gehen. Auch soll in kommenden Artikeln Variationen vom Autoencoder in verschiedenen Einsatzgebieten gezeigt werden.

How Important is Customer Lifetime Value?

This is the third article of article series Getting started with the top eCommerce use cases.

Customer Lifetime Value

Many researches have shown that cost for acquiring a new customer is higher than the cost of retention of an existing customer which makes Customer Lifetime Value (CLV or LTV) one of the most important KPI’s. Marketing is about building a relationship with your customer and quality service matters a lot when it comes to customer retention. CLV is a metric which determines the total amount of money a customer is expected to spend in your business.

CLV allows marketing department of the company to understand how much money a customer is going  to spend over their  life cycle which helps them to determine on how much the company should spend to acquire each customer. Using CLV a company can better understand their customer and come up with different strategies either to retain their existing customers by sending them personalized email, discount voucher, provide them with better customer service etc. This will help a company to narrow their focus on acquiring similar customers by applying customer segmentation or look alike modeling.

One of the main focus of every company is Growth in this competitive eCommerce market today and price is not the only factor when a customer makes a decision. CLV is a metric which revolves around a customer and helps to retain valuable customers, increase revenue from less valuable customers and improve overall customer experience. Don’t look at CLV as just one metric but the journey to calculate this metric involves answering some really important questions which can be crucial for the business. Metrics and questions like:

  1. Number of sales
  2. Average number of times a customer buys
  3. Full Customer journey
  4. How many marketing channels were involved in one purchase?
  5. When the purchase was made?
  6. Customer retention rate
  7. Marketing cost
  8. Cost of acquiring a new customer

and so on are somehow associated with the calculation of CLV and exploring these questions can be quite insightful. Lately, a lot of companies have started to use this metric and shift their focuses in order to make more profit. Amazon is the perfect example for this, in 2013, a study by Consumers Intelligence Research Partners found out that prime members spends more than a non-prime member. So Amazon started focusing on Prime members to increase their profit over the past few years. The whole article can be found here.

How to calculate CLV?

There are several methods to calculate CLV and few of them are listed below.

Method 1: By calculating average revenue per customer

 

Figure 1: Using average revenue per customer

 

Let’s suppose three customers brought 745€ as profit to a company over a period of 2 months then:

CLV (2 months) = Total Profit over a period of time / Number of Customers over a period of time

CLV (2 months) = 745 / 3 = 248 €

Now the company can use this to calculate CLV for an year however, this is a naive approach and works only if the preferences of the customer are same for the same period of time. So let’s explore other approaches.

Method 2

This method requires to first calculate KPI’s like retention rate and discount rate.

 

CLV = Gross margin per lifespan ( Retention rate per month / 1 + Discount rate – Retention rate per month)

Where

Retention rate = Customer at the end of the month – Customer during the month / Customer at the beginning of the month ) * 100

Method 3

This method will allow us to look at other metrics also and can be calculated in following steps:

  1. Calculate average number of transactions per month (T)
  2. Calculate average order value (OV)
  3. Calculate average gross margin (GM)
  4. Calculate customer lifespan in months (ALS)

After calculating these metrics CLV can be calculated as:

 

CLV = T*OV*GM*ALS / No. of Clients for the period

where

Transactions (T) = Total transactions / Period

Average order value (OV) = Total revenue / Total orders

Gross margin (GM) = (Total revenue – Cost of sales/ Total revenue) * 100 [but how you calculate cost of sales is debatable]

Customer lifespan in months (ALS) = 1 / Churn Rate %

 

CLV can be calculated using any of the above mentioned methods depending upon how robust your company wants the analysis to be. Some companies are also using Machine learning models to predict CLV, maybe not directly but they use ML models to predict customer churn rate, retention rate and other marketing KPI’s. Some companies take advantage of all the methods by taking an average at the end.

5 Applications for Location-Based Data in 2020

Location-based data enables giving people relevant information based on where they are at any given moment. Here are five location data applications to look for in 2020 and beyond. 

1. Increasing Sales and Reducing Frustration

One 2019 report indicated that 89% of the marketers who used geo data saw increased sales within their customer bases. Sometimes, the ideal way to boost sales is to convert what would be a frustration into something positive. 

A French campaign associated with the Actimel yogurt brand achieved this by sending targeted, encouraging messages to drivers who used the Waze navigation app and appeared to have made a wrong turn or got caught in traffic. 

For example, a driver might get a message that said, “Instead of getting mad and honking your horn, pump up the jams! #StayStrong.” The three-month campaign saw a 140% increase in ad recall. 

More recently, home furnishing brand IKEA launched a campaign in Dubai where people can get free stuff for making a long trip to a store. The freebies get more valuable as a person’s commute time increases. The catch is that participants have to activate location settings on their phones and enable Google Maps. Driving five minutes to a store got a person a free veggie hot dog, and they’d get a complimentary table for traveling 49 minutes. 

2. Offering Tailored Ad Targeting in Medical Offices

Pharmaceutical companies are starting to rely on companies that send targeted ads to patients connected to the Wi-Fi in doctors’ offices. One such provider is Semcasting. A recent effort involved sending ads to cardiology offices for a type of drug that lowers cholesterol levels in the blood. 

The company has taken a similar approach for an over-the-counter pediatric drug and a medication to relieve migraine headaches, among others. Such initiatives cause a 10% boost in the halo effect, plus a 1.5% uptick in sales. The first perk relates to the favoritism that people feel towards other products a company makes once they like one of them.

However, location data applications related to health care arguably require special attention regarding privacy. Patients may feel uneasy if they believe that companies are watching them and know they need a particular kind of medical treatment. 

3. Facilitating the Deployment of the 5G Network

The 5G network is coming soon, and network operators are working hard to roll it out. Statistics indicate that the 5G infrastructure investment will total $275 billion over seven years. Geodata can help network brands decide where to deploy 5G connectivity first.

Moreover, once a company offers 5G in an area, marketing teams can use location data to determine which neighborhoods to target when contacting potential customers. Most companies that currently have 5G within their product lineups have carefully chosen which areas are at the top of the list to receive 5G, and that practice will continue throughout 2020. 

It’s easy to envision a scenario whereby people can send error reports to 5G providers by using location data. For example, a company could say that having location data collection enabled on a 5G-powered smartphone allows a technician to determine if there’s a persistent problem with coverage.

Since the 5G network is still, it’s impossible to predict all the ways that a telecommunications operator might use location data to make their installations maximally profitable. However, the potential is there for forward-thinking brands to seize. 

4. Helping People Know About the Events in Their Areas

SoundHound, Inc. and Wcities recently announced a partnership that will rely on location-based data to keep people in the loop about upcoming local events. People can use a conversational intelligence platform that has information about more than 20,000 cities around the world. 

Users also don’t need to mention their locations in voice queries. They could say, for example, “Which bands are playing downtown tonight?” or “Can you give me some events happening on the east side tomorrow?” They can also ask something associated with a longer timespan, such as “Are there any wine festivals happening this month?”

People can say follow-up commands, too. They might ask what the weather forecast is after hearing about an outdoor event they want to attend. The system also supports booking an Uber, letting people get to the happening without hassles. 

5. Using Location-Based Data for Matchmaking

In honor of Valentine’s Day 2020, students from more than two dozen U.S colleges signed up for a matchmaking opportunity. It, at least in part, uses their location data to work. 

Participants answer school-specific questions, and their responses help them find a friend or something more. The platform uses algorithms to connect people with like-minded individuals. 

However, the company that provides the service can also give a breakdown of which residence halls have the most people taking part, or whether people generally live off-campus. This example is not the first time a university used location data by any means, but it’s different from the usual approach. 

Location Data Applications Abound

These five examples show there are no limits to how a company might use location data. However, they must do so with care, protecting user privacy while maintaining a high level of data quality.