made in Hessen with 💙.

Ei, gude! Als Digitalagentur aus Frankfurt helfen wir Unternehmen mit der Konzeption und Entwicklung von digitalen Produkten wie Apps und Webseiten. Unsere SpezialitÀt ist die technische Umsetzung basierend auf dem aktuellen State of Art.

KFC
Pizza Hut
TeleDoctor24
Coveroo
WeatherBets
Vielseitigkeit gepaart mit Kompetenz

Unsere Leistungen

Unser Ursprung liegt in der professionellen, aber zugleich liebevollen Softwareentwicklung basierend auf dem aktuellen State of Art. Neben der technischen Umsetzung unterstĂŒtzen wir Sie jedoch auch mit einem Full-Service Paket vom Konzept und Design bis hin zum Launch und Debriefing.

Mobile Apps

Unsere Kernkompetenz ist die Entwicklung hochperformanter Cross-Platform Hybrid Apps. Mittels Frameworks wie React Native entwickeln wir nur eine Codebase, können die App aber trotzdem sowohl fĂŒr iOS als auch Android nativ kompilieren.

Webseiten

Egal, ob per universellem Ansatz mittels Content Management System wie WordPress oder technisch ausgereifter Custom Lösung mit Headless CMS und Static Site Generator: Wir verpassen Ihrem Unternehmen einen neuen, digitalen Anschliff.

SEO & Web Vitals

Was bringt eine Webseite, wenn sie nicht auffindbar ist? Nicht viel. Deshalb kĂŒmmern wir uns mit jeder neu erstellten Webseite um eine hervorragende On-Page SEO sowie exzellente Google Web Vital Scores. Damit Google Ihre neu Webseite genauso klasse findet wie Sie.

Web Apps

Vor allem fĂŒr professionelle Anwendungen ist eine Mobile App oft nicht das Richtige, oder soll durch eine Web App ergĂ€nzt werden. Durch moderne Technologien wie React und NextJS können wir Ihnen moderne Web Apps nach Maß schneidern – bei dazugehöriger Mobile App hĂ€ufig auch mit der selben Codebase.

Wie wir tun, was wir tun.

Prozess

Beratung/Konzeption-Symbolbild

Beratung & Konzeption

Jedes gute Produkt beginnt auf der Blaupause. Bei der Konzeption beziehen wir Sie daher so gut ein, wie nur möglich.

Design-Symbolbild

Design

Unsere Designer schaffen in enger Zusammenarbeit mit Ihnen etwas, was Sie und Ihre Kunden den ganzen Tag ansehen könnten.

Architektur-Symbolbild

Architektur

Sobald die Voraussetzungen fĂŒr die technische Implementation geschaffen sind, konzeptionieren wir die optimale Systemarchitektur.

Entwicklung-Symbolbild

Entwicklung

Das Herz unserer Arbeit liegt in der professionellen und liebevollen technischen Umsetzung der Software, basierend auf dem aktuellen State of Art.

Einblicke und Life Hacks

Neueste Blog-EintrÀge

possessed-photography-U3sOwViXhkY-unsplash.jpg
26. AUG.

KI in der Praxis: Wie sie Ihr Unternehmen unterstĂŒtzen kann

Als moderne Digitalagentur versuchen wir stets, uns weiter fortzubilden und mit unserer Umwelt zu wachsen. Eine Technologie, die in den letzten Jahren rasant an Fahrt aufgenommen hat und inzwischen jedem ein Begriff sein dĂŒrfte, ist die **KĂŒnstliche Intelligenz** (KI / AI), bzw. um genau zu sein, Machine Learning. UnlĂ€ngst ist diese Technologie in zahlreiche Branchen eingedrungen und macht ArbeitsablĂ€ufe einfacher, effizienter und kostengĂŒnstiger. Vor kurzem hatten wir die Möglichkeit, ein ML-Projekt fĂŒr einen Kunden von Grund auf zu entwickeln und in der Praxis zu testen. Ein Erfahrungsbericht. ## Was ist Machine Learning ĂŒberhaupt? Machine Learning ist eine Disziplin im breiteren Feld der "kĂŒnstlichen Intelligenz". Bisher war es in der Softwareentwicklung so, dass ein Entwickler Regeln geschrieben hat, mit welcher ein Computer Eingaben verwerten und Ergebnisse ausgeben konnte. Im Vorfeld bekannt waren auf dem "klassischen Weg" daher stets die Eingaben und die Regeln. Die Ausgaben waren Unbekannte in der Gleichung. Machine Learning stellt dieses Konzept etwas auf den Kopf: Anstatt dem Computer Eingaben und Regeln zu geben, belassen wir die Regeln als Unbekannte und geben dem Computer somit nur noch die Eingaben - mitsamt dazugehörigen Ausgaben. Das hört sich vielleicht zunĂ€chst etwas komisch an, ist aber, zumindest oberflĂ€chlich, leicht erklĂ€rt. Wir fĂŒttern ein Machine Learning Modell mit tausenden von Eingabe-Ausgabe-Kombinationen (Trainingsdaten), woraufhin der Computer die Regeln, wie er von einer Eingabe auf eine dazugehörige Ausgabe kommt, selbst "erlernt". Dazu betrachtet er die Trainingsdaten in zahlreichen DurchlĂ€ufen (auch "Epochen" genannt) und verĂ€ndert dabei immer ein wenig die Gewichtung der Verbindungen zwischen den einzelnen Neuronen, die im KI-Modell definiert wurden. Damit funktioniert ein Machine Learning Modell Ă€hnlich zum menschlichen Gehirn, nur sehr viel kleiner und weniger komplex. Ein KI-Modell kann daher nicht eigenstĂ€ndig denken oder gar empathisch werden. Statt dessen kann es nur innerhalb der vordefinierten Grenzen, also der gegebenen Trainingsdaten, lernen und handeln. Wenn im Training alles richtig lĂ€uft, kann ein optimales KI-Modell dann **aus den gegebenen Trainingsdaten generalisieren**, also die gelernten Regeln auf neue, noch nicht gesehene Eingaben, anwenden und zu schlĂŒssigen Ergebnissen kommen. Damit das funktioniert, sind zahlreiche Komponenten essentiell, unter anderem die QualitĂ€t als auch QuantitĂ€t der Trainingsdaten, die Aufbereitung dieser, die Anzahl der Epochen, die Hyperparameter (hierzu kommen wir spĂ€ter noch) und vieles mehr. ## Fußball ist reiner Zufall! Oder? Vor einiger Zeit kam ein Interessent mit einer klaren Aufgabenstellung zu uns in die Agentur: "Entwickelt eine Fußball-Formel!". Okay, zugegeben: Vielleicht nicht ganz so im Wortlaut, aber Ziel des Projektes war es, Gewinnwahrscheinlichkeiten im Fußball fĂŒr eine internationale Sportplattform zu berechnen. Das Prinzip dĂŒrfte einigen bereits aus dem Bereich der Sportwetten bekannt vorkommen. Sportwettenanbieter (Buchmacher) berechnen fĂŒr jedes Spiel, auf welches auf ihrer Plattform gewettet werden kann, Wahrscheinlichkeiten fĂŒr unterschiedlichste Spielereignisse, beispielsweise den Gewinner des Spiels oder die Anzahl der Tore. Buchmacher setzen hierfĂŒr auf eine Vielzahl an Algorithmen. Das Prinzip des Machine Learnings hingegen ist noch recht neu. Die Frage, die der Kunde mit diesem Projekt erörtern und beantworten wollte, war daher: "Kann ein Machine Learning Modell den Buchmacher schlagen?". Nach agilem Verfeinern der Projektanforderungen sowie dem Sammeln von tausenden DatensĂ€tzen aus vergangenen Spielen unterschiedlichster Fußballligen, u.a. der Bundesliga, legten wir also mit der Umsetzung los. ## Das erste Test-Modell Um uns mit den Daten vertraut und erste Gehversuche zu machen, haben wir uns direkt an ein erstes Test-Modell gesetzt. Bevor es aber an die eigentliche Entwicklung des Machine Learning Modells gehen kann, ist es zunĂ€chst wichtig, die Trainingsdaten so aufzubereiten, dass ein neuronales Netzwerk mit diesen ĂŒberhaupt arbeiten kann. FĂŒr das erste Modell haben wir die folgenden Datenpunkte als Eingabeparameter verwendet: - Heim-Team-ID - AuswĂ€rts-Team-ID - Arena-ID - Saison (Jahr) - Spielrunde - Wochentag - Abendspiel - Heim-Team Ligapunkte - AuswĂ€rts-Team Ligapunkte Dies stellt unserer Ansicht nach eine solide Basis dar, um erste, sehr einfache Vorhersagen ĂŒber den Spielausgang treffen zu können. Die IDs (Identifier) wie fĂŒr die Teams und die Arena wurden "one-hot encoded". WĂŒrden wir diese nicht entsprechend enkodieren, könnte ein ML-Modell diese gegebenenfalls als einfache, numerische Werte betrachten und so falsche Schlussfolgerungen ziehen. Daher ist es wichtig, diese klar voneinander zu trennen, was in der Praxis oft durch eine One-Hot-Encoding geschieht, womit die Datenwerte in ein eindimensionales Array aus Nullen und Einsen ĂŒberfĂŒhrt werden, in welchen jeweils genau ein Wert eine Eins ist, und alle anderen Werte eine Null. Andere Werte wie die Spielrunde oder die Ligapunkte haben wir hingegen als numerische Werte belassen. Auch haben wir fĂŒr dieses Modell der Einfachheit halber alle DatensĂ€tze, in welchen einer oder mehrere dieser Datenpunkte gefehlt haben, entfernt. So ist garantiert, dass das ML-Modell mit möglichst "puren" und einfachen Daten lernt. ### Entwerfen des Modells Im nĂ€chsten Schritt ging es um die Konzeption des eigentlichen ML-Modells. Auch hier haben wir uns fĂŒr den ersten Prototypen auf ein möglichst einfaches Modell beschrĂ€nkt, um dieses im Nachhinein bestmöglich optimieren und feinjustieren zu können. FĂŒr die Entwicklung des Modells wurde das bekannte Framework **Tensorflow** von Google verwendet sowie das darauf aufbauende bzw. abstrahierende Framework Keras. Mit Keras ist es sehr einfach, simple Modelle mit "vorgefertigten" Netzwerkschichten zu entwerfen. Um nicht zu sehr ins Technische auszuschweifen, sei an dieser Stelle gesagt, dass wir nach einigen Versuchen bei einem Modell mit einem eingehenden Flatten-Layer (welcher die Kombination aus one-hot-encoded und numerischen Werten in ein simples, eindimensionales Array konvertiert), zwei unsichtbaren Dense-Layern mit dazugehörigen Dropouts sowie einem Ausgangs-Layer gelandet sind. ### Ergebnisse und Auswertung Zu unserem GlĂŒck begann mit Fertigstellung des ersten Prototypen gerade die neue Saison der Fußball-Bundesliga. Ein perfekter Moment, um die KI direkt live auszuprobieren. Nachdem jeder in der Agentur persönliche Wetten getroffen hat, durfte die KI an die Reihe. ZunĂ€chst war ein zugegebenermaßen eher einfaches Spiel an der Reihe: Eintracht Frankfurt gegen den FC Bayern MĂŒnchen. Die KI prognostizierte einen Gewinn der MĂŒnchner zu 66%. HĂ€tten die MĂŒnchner stattdessen den Heimvorteil gehabt, progonostizierte die KI eine Gewinnchance von ĂŒber 75%. SchlĂŒssig - und am Ende tatsĂ€chlich richtig. Die Bayern gewannen das Spiel 1:6. Interessant war, dass die prognostizierte Gewinnchance der MĂŒnchner mit voranschreitenden Spieltagen immer weiter stieg. Ein Zeichen dafĂŒr, dass der KI zu Beginn der Saison noch wichtige Daten fehlen, um wirklich ĂŒberzeugende Vorhersagen zu treffen. Die grafische Auswertung anhand der Testdaten (also DatensĂ€tze, welche die KI im Trainingsprozess nicht gesehen hat, sondern welche nur fĂŒr die Auswertung des Modells verwendet werden) war hingegen eher ernĂŒchternd, wenn auch absolut den Erwartungen entsprechend: ![Grafische Auswertung des ersten KI-Modells. Zu erkennen ist, dass die VorhersagenprĂ€zision bei den Testdaten bei rund 50% konvergiert.](https://res.cloudinary.com/kuatsu/image/upload/v1661526177/val_accuracy_311fe6b635.png) Zu erkennen ist hier, dass die PrĂ€zision der Vorhersagen der KI bei rund 50% konvergiert. Somit liegt die PrĂ€zision definitiv weit höher als die reine Zufallswahrscheinlichkeit von 33% bei drei möglichen SpielausgĂ€ngen (Heimsieg, Unentschieden, AuswĂ€rtssieg). Mit 50% kann jedoch noch kein Krieg gegen die Wettquoten der Buchmacher gewonnen werden. ## Das zweite Modell "Jarvis" Also zurĂŒck an die Blaupausen. Basierend auf unseren Erfahrungen mit dem ersten Modell wurde dieses feinjustiert, auch wurden die verwendeten Datenpunkte angepasst und die Aufbereitung der Daten etwas modifiziert. Da es sich bei diesem Modell um das beim Kunden produktiv eingesetzte Modell handelt, können wir an dieser Stelle natĂŒrlich nicht allzuviele Details verraten. Jedoch haben wir die Datenpunkte beispielsweise um die Startaufstellungen sowie zahlreiche Details zu den jeweiligen Spielern ergĂ€nzt. Das Modell hat somit Gelegenheit, auch die einzelnen Aufstellungen zu betrachten und gegeneinander zu vergleichen. Das Alter der DatensĂ€tze wurde zusĂ€tzlich begrenzt, sodass keine DatensĂ€tze aus sehr alten Saisons, beispielsweise 2011, mehr ins Training einfließen. Abschließend haben wir die Hyperparameter des Modells feinjustiert. Die optimalen Hyperparameter, also beispielsweise der verwendete Optimizer, die Anzahl der versteckten Layer im Modell, oder auch die verwendete Loss-Funktion, sind Gegenstand zahlreicher Diskussionen in Entwickler-Communities und der Wissenschaft und fĂŒr jedes Modell individuell. Eine beliebte und einfache Möglichkeit, diese zu optimieren, ist ĂŒber einen automatischen Tuner wie "KerasTuner". Bei der Verwendung von KerasTuner wird das Modell mit immer verschiedenen Hyperparametern trainiert, welche wiederum ĂŒber bestimmte Algorithmen stets angepasst werden. So werden die optimalen Rahmenbedingungen fĂŒr die FunktionalitĂ€t des Modells geschaffen. Nach erfolgreicher Erweiterung der verwendeten Datenpunkte sowie Feinjustierung der Hyperparameter konnte das Modell vollends ĂŒberzeugen. Unser bestes Modell konnte eine PrĂ€zision (Accuracy) auf den Validierungsdaten von ĂŒber 71% erreichen. Somit ist dieses Modell rund 42% besser als unser erstes Modell - ein voller Erfolg. Mit 71% wurde darĂŒberhinaus etwas anderes geschafft: Die Gewinnwahrscheinlichkeit des Favoriten einiger, ausgewĂ€hlter Buchmacher lag durchgehend bei knapp unter 71%. Somit konnte unser Modell bessere Werte als die von Buchmachern verwendeten Algorithmen erreichen. NatĂŒrlich mussten wir der kĂŒnstlichen Intelligenz daraufhin auch einen Namen geben: Sie wurde liebevoll **Jarvis** getauft, angelehnt an die kĂŒnstliche Intelligenz von Tony Stark in den "Iron Man" Filmen. ## Takeaways und Fazit An diesem praktischen Projekt kann gesehen werden, welche Erfolge bereits mit einfachen KI-Modellen in komplizierten MĂ€rkten erreicht werden können, und welche Dimensionen mittels der Optimierung der verwendeten Trainingsdaten und Hyperparameter erreicht werden können. Die Entwicklung von Machine Learning Modellen wird unser Agenturleben in den nĂ€chsten Jahren immer stĂ€rker begleiten - wir sind darauf vorbereitet. _Möchten auch Sie Bereiche in Ihrem Unternehmen digitalisieren oder sogar unter der Verwendung einer KI effizienter und kostengĂŒnstiger machen? [Sprechen Sie uns an.](/kontakt)_

Bereit fĂŒr Ihren nĂ€chsten Schachzug?

Egal ob es bei Ihnen gerade digital brennt, oder Sie einfach mal hören möchten, was wir Ihnen bieten können. Wir freuen uns auf Sie.

Grafikdesigner in einer Digitalagentur