Die erste Hälfte des Softwerkers Vol. 16 wartet mit einem Themen-Special zu künstlicher Intelligenz auf, genauer: Machine Learning und Deep Learning. Die weiteren Beiträge dieser Ausgabe behandeln ein Kaleidoskop an Wissenswertem und Aktuellem aus der IT –
von unbekannten Ecken und Winkeln der altehrwürdigen Programmiersprache Java über ReScript im Vergleich mit TypeScript und Elm bis hin zum Thema APIOps. Den krönenden Abschluss bildet ein unterhaltsam-informativer IT-Security-Krimi.
woran denkt ihr, wenn ihr „künstliche Intelligenz” (KI) hört? Hierzulande verbinden nicht wenige damit den Verlust von Arbeitsplätzen, totale Überwachung oder die Cyborgisierung des Menschen (mit der die Silicon-Valley-Elite vermeintlich die Weltbevölkerung verknechten will). Visionen wie Transhumanismus oder technologische Singularität erscheinen in diesem Licht geradezu dystopisch.
Dabei bewegt KI nicht erst seit dem 21. Jahrhundert die Gemüter: Bereits 1958 entstand das Rosenblatt-Perzeptron, wie im Artikel ab S. 6 zu lesen ist. Der Psychologe Frank Rosenblatt hatte in den fünfziger Jahren die Grundlagen für das erste Konzept zur Modellierung neuronaler Netze geschaffen. „I started thinking about thinking around 1960”, schreibt auch der KI-Vordenker Ray Kurzweil in How To Create A Mind (2012).Der wahre KI-Hype begann allerdings erst 50 Jahre später.
Heute sind die Potentiale nicht mehr von der Hand zu weisen, und der praktische Nutzen von KI sowie den Teildisziplinen Machine Learning und Deep Learning ist weitaus weniger abgehoben, als mancher Skeptiker vermutet. Bestes Beispiel: das Projekt DISH-O-TRON, das hier ab S. 32 von den beiden Machern vorgestellt wird. Unser kleiner Roboter führt euch durch alle Artikel unseres Themenschwerpunkts Machine Learning und Deep Learning. Und falls KI überhaupt nicht eure Domäne sein sollte, findet ihr in der zweiten Hälfte des Hefts weitere spannende Themen zu Java, ReScript, APIOps und mehr – und sogar als kleines Extra einen InfoSec-Krimi am Ende der Ausgabe.
Viel Spaß bei der Lektüre!
Denis Stalz-John, Mark Keinhörster
Geschichte und Einführung in das Thema
Seit 2013 sind Begriffe wie Deep Learning oder künstliche Intelligenz in aller Munde. Sie haben sich in Wirtschaft und Industrie etabliert und ersetzen Schritt für Schritt statische Regelwerke und starre Algorithmen. Der Artikel erklärt, was Deep Learning genau ist, wie es sich von dem Oberbegriff „künstliche Intelligenz“ abhebt und wo Vor-, aber auch Nachteile der Technologie liegen.
Shirin Elsinghorst
Trainieren eines eigenen Bildklassifikationsmodells mit Keras und TensorFlow
Bildklassifikationsmodelle sind dafür gedacht, Bilder in Klassen einzuteilen. Meistens wollen wir sie in Gruppen einteilen, die widerspiegeln, welches Objekt sich auf einem Bild befindet. Zum Beispiel können wir ein Bildklassifikationsmodell trainieren, das „Hund“ von „Katze“ unterscheiden kann; aber natürlich können auch viel komplexere Einteilungen in deutlich mehr Klassen vorgenommen werden.
Mark Keinhörster
Die zwei Seiten eines Daten-Projekts
Vom Feature-Engineering über das Training bis hin zur Visualisierung – Tools und Frameworks für Data Scientists gibt es zuhauf. Aber was kommt nach einem Proof of Concept? Da Data-Science-Projekte eher experimenteller Natur sind, stellen sie klassische IT-Projekte vor Herausforderungen. Neben der Anwendung selbst müssen nun auch die trainierten Modelle sowie deren Code für Training und Evaluation den Ansprüchen der modernen Softwareentwicklung gerecht werden.
Marcel Mikl, Oliver Moser
Das etwas andere KI-Tutorial
Dieser Artikel ist eine Einladung zu unserer Blogserie, mit deren Hilfe alle engagierten Problemlöser*innen einen eigenen DISH-O-TRON nachbauen und sich dabei dem Thema künstliche Intelligenz (KI) anhand eines konkreten Problems mit etwas Spaß nähern können.
Marcel Mikl
Machine-Learning-Systeme schnell Ende-zu-Ende verproben und umsetzen
Heutzutage steht fast alles, was mit den Labels „künstliche Intelligenz (KI)“ oder „Machine Learning (ML)“ versehen ist, für Fortschritt. Seltsamerweise schließt diese Assoziation jedoch häufig die Themen Daten und Dateninfrastruktur nicht ausreichend mit ein, und das, obwohl ML-Systeme typischerweise in hohem Maße von einer geeigneten Dateninfrastruktur abhängig sind.
Elisabeth Schulz
Die Marotten einer alten Dame
In diesem Artikel beleuchten wir einige der weniger bekannten Features und Eigenheiten von Java. Anhand einer Reihe von „unmöglichen“ Codebeispielen wagen wir einen Blick unter die Motorhaube, der sonst oft erst nach nächtelangem Debuggen gelingt.
Jonas Hecht
Langsam war gestern!
Schon seit einiger Zeit macht GraalVM von sich reden. Frameworks wie Quarkus oder Micronaut stellen Rekorde auf, was die Start-up-Zeit oder den Arbeitsspeicherverbrauch von Enterprise-Java-Anwendungen angeht. Doch was wäre, wenn man den Platzhirsch Spring Boot ebenfalls als native GraalVM-App laufen lassen könnte?
Rüdiger zu Dohna
Das neue REST?
Überraschenderweise kann man auch mit Java leicht einen GraphQL-Service schreiben, der sich nach echtem Java anfühlt (also mit typsicheren Plain Old Java Objects arbeitet) und trotzdem die Anforderungen an die Dynamik von GraphQL erfüllt. Mit MicroProfile GraphQL haben wir jetzt einen Standard an der Hand, mit dem man das bequem und zukunftssicher machen kann. Aber wozu sollten wir überhaupt etwas anderes als REST machen?
Marco Emrich
ReScript, TypeScript und Elm im Vergleich
Im schwer zu durchblickenden Dschungel der JavaScript-Transpilersprachen sind Schätze zu finden. TypeScript ist Mainstream, ReScript (ehemals ReasonML) beginnt sich zu etablieren und Elm ist nach wie vor ein Geheimtipp. Dieser Artikel wirft einen detaillierten Blick auf ReScript – beleuchtet aber auch die Grenzen der noch jungen Sprache. In welchen Projekten ist der Einsatz sinnvoll? Welche Projekte sollten eher TypeScript auf der einen oder Elm auf der anderen Seite verwenden?
Daniel Kocot
Automatisierte Prozesse für noch bessere APIs
In meinem letzten Softwerker-Artikel (Vol. 14, S. 90) habe ich mich bereits mit dem kontinuierlichen Design- und Entwicklungszyklus von APIs beschäftigt. Hierbei ging es hauptsächlich um Grundannahmen und Tooling, u. a. die Einführung von API-Gateways bzw. Plattformen in bestehende Entwicklungszyklen. In diesem Artikel möchte ich nun den Weg weiter beschreiten und automatisierte Prozesse für das Design und die Entwicklung von APIs und Services vorstellen.
Marcel Kassuhn
Ein IT-Security-Thriller
Der Titel wird den meisten Leser*innen erstmal nicht viel sagen. Im deutschsprachigen Raum ist der Filmtitel besser unter dem Namen Edge of Tomorrow bekannt. Nun fragen sich die Leser*innen wohl, was ein US-amerikanischer Spielfilm aus dem Jahr 2014 mit IT zu tun hat. Bis vielleicht auf einen fernen Post-Corona-Vorgeschmack auf das Jahr 2021 …
Deep Learning ist längst nicht mehr nur in der Forschung vertreten, sondern mittlerweile auch ein fester Bestandteil in Industrie und Wirtschaft. Gerade in den Bereichen der Sprachverarbeitung und des maschinellen Sehens haben ML- und insbesondere DL-Modelle die klassischen Verfahren und Algorithmen abgehängt. Trotzdem gilt auch hier die Redewendung „There is no free lunch“. Machine-Learning-Methoden bringen einmal mehr neue Komplexität in die Softwareentwicklung, die beherrscht werden muss.
Denis Stalz-John, Mark Keinhörster