KI Programmieren: 3 Projekte für Einsteiger

Von Maxmustermann

Eine eigene KI Programmieren. Dafür reichen schon ein paar Zeilen Code!

KI ist nicht so komplex, wie es auf den ersten Blick scheint. Viele grundlegende Prinzipien sind schon seit Jahren bekannt. Peter Norvig (aktuell wissenschaftlicher Leiter bei Google) definiert KI in seinem Buch sogar so, dass selbst eine „Wenn-Dann“-Logik schon als intelligent gilt.

D.h. ein Bewegungsmelder, der das Licht einschaltet, wenn man den Raum betritt, ist so gesehen auch schon eine KI.

Der große Hype kam dann aber erst in den letzten Jahren. Das wurde vor allem durch die moderne Hardware und die neuronalen Netze ermöglicht.

Inzwischen werden diese neuen Technologien auch im großen Stil eingesetzt. Viele haben schon von ChatGPT und Midjourney gehört (oder diese sogar schon genutzt).

Viele Gründe also, warum du als Freelancer oder generell Programmierer mit dem Thema KI loslegen solltest.

Was dich erwartet:

  • Warum KI-Freelancing eine attraktive Option ist
  • Einsteiger Projekte für angehende KI-Freelancer
  • Projekt 1: Bildklassifikation mit Machine Learning
  • Projekt 2: Empfehlungssysteme mit kollaborativer Filterung
  • Projekt 3: Zeitreihen Vorhersage
  • Fazit: KI-Projekte als Chance für angehende Freelancer

KI Programmieren als attraktive Option

Für angehende Freelancer im KI-Bereich bieten sich viele Möglichkeiten. Es gibt eine steigende Nachfrage nach KI-Experten. Unternehmen suchen nach Talenten, die ihnen helfen können, ihre Geschäftsprozesse zu automatisieren und ihre Produkte und Dienstleistungen zu verbessern.

Du bist schon Freelancer/Programmierer? Dann bietet sich KI wunderbar an, um dein Portfolio zu erweitern. 

Einsteiger Projekte für angehende KI-Freelancer

Für angehende KI-Freelancer gibt es viele Einsteigerprojekte, mit denen man erste Erfahrungen sammeln kann.

Wichtig ist vor allem, dass man einfach loslegt. Wie immer sieht von außen erst mal alles kompliziert aus. Doch, wenn man dann praktische Erfahrung sammelt, erkennt man die Zusammenhänge und Prinzipien.

Mein erstes Projekt war damals ein Empfehlungssystem mit Filmen. Also ein Algorithmus, der passende Filme vorschlägt, je nachdem, was der Nutzer für Vorlieben angegeben hat.

Die 3 Projekte, die ich in diesem Post zeigen will, sind:

  • Bildklassifikation: Das wohl bekannteste Einsteigerprojekt ist MNIST Classification. Das sind Bilder von handschriftlichen Ziffern (0-9), die mit Bilderkennung zugeordnet werden sollen.
  • Empfehlungssystem: Wie bei meinem ersten Projekt von oben soll es hier darum gehen, dem Nutzer Empfehlungen zu zeigen. Diese basieren auf dem Verhalten des Nutzers.
  • Zeitreihen Vorhersage: Zeitreihen sind z.B. die Wettervorhersage. Also wie entwickelt sich die Temperatur in den nächsten 24 Stunden.

Alle drei sind unabhängig voneinander und bauen nicht aufeinander auf. D.h. du kannst dir das aussuchen, was dich am meisten interessiert.

Hinweis: Als Voraussetzung brauchst du solides Basiswissen im Programmieren mit Python. Dieser Beitrag soll kein Tutorial für all diese Projekte sein. Ich möchte dir einen Überblick verschaffen, womit du am besten anfangen kannst.

Eine entsprechende Anleitung ist bei allen Projekten verlinkt.

Projekt 1: Bildklassifikation mit Machine Learning

Bildklassifikation ist ein häufiges Anwendungsgebiet von KI, bei dem es darum geht, Bilder automatisch in verschiedene Kategorien zu klassifizieren. Hierfür kann ein Machine-Learning-Algorithmus trainiert werden, der die verschiedenen Merkmale der Bilder erkennt und darauf basierend Entscheidungen trifft.

Ein guter Start bietet hier MNIST. Das ist ein Datensatz von handgeschriebenen Ziffern, die in die Klassen 0 bis 9 klassifiziert werden können.

Die Ziffern im MNIST Datensatz sind 8×8 Pixel groß und können daher einfach und schnell verarbeitet werden.

Um eine KI zu programmieren, die das kann, bietet sich scikit learn an. Hier wird Schritt für Schritt beschrieben, was für eine solche Klassifizierung programmiert werden muss:

  1. Datensatz laden (und ggf. in ein sinnvolles Format bringen)
  2. Datensatz in Training und Testing aufteilen: Das ist ein Schritt, der sehr oft gemacht wird. Man teilt den gesamten Datensatz auf und trainiert den Algorithmus nur mit z.B. 80 % der Daten. Danach kann mit den restlichen 20 % getestet werden, ob es auch bei ungesehenen Daten funktioniert (im Fachjargon: Generalisierung)
  3. KI Algorithmus (in diesem Tutorial wurde eine Support Vector Machine, SVM, benutzt) auf den Testdaten trainieren
  4. Ergebnisse auf den Testdaten evaluieren

Wo wird das genutzt? Nun fragst du dich vielleicht für was man so eine Bild Klassifizierung überhaupt braucht. Zwei Beispiele, die schon jetzt erfolgreich im Einsatz sind:

  • Medizin: In der Radiologie werden Unmengen von Bildern produziert, die dann klassifiziert werden müssen. Ganz grundlegend in „gesund“ oder „krank“ oder spezieller in die einzelnen Krankheiten wie Lungenentzündung, Krebs, etc.,
  • Autonomes Fahren: Jedes moderne Auto hat inzwischen Kameras an Board, die Verkehrszeichen, Ampeln, Fußgänger, Kreuzungen und vieles mehr erkennen können

Projekt 2: Empfehlungssytem

Wenn man eine KI programmieren möchte, die Empfehlungen zeigen, kommt es wieder auf die Daten an, mit denen man trainiert.

Das ist übrigens immer der Fall. Die Performance fällt oder steigt mit der Qualität der Daten! Und bei vielen KI Algorithmen zählt nicht nur Qualität, sondern auch Quantität. D.h. du brauchst gute Daten und davon viel. Ein guter Datensatz für Empfehlungen ist MovieLens 100k. Hier sind 100.000 Filmbewertungen von 1000 Usern verzeichnet.

User IDItem IDItemActionAdventureAnimationRating

268231Batman Returns (1992)0114

186302L.A. Confidential (1997)0003

…………………

Ein Auszug aus dem MovieLens Datensatz. Die Spalten hinter “Animation” enthalten alle weiteren Genres, die den Filmen zugeordnet sind.

Das Ziel ist nun eine KI so zu programmieren, dass ein Nutzer aufgrund seiner Ratings neue Empfehlungen bekommt.

Eine gute Anleitung bietet hier Tensorflow. Die Schritte sind wieder ähnlich zu Projekt 1:

  1. Datensatz laden und ggf. in ein sinnvolles Format bringen
  2. Filme und Nutzer indexieren (Jedem Element wird eine Ganzzahl zugeordnet)
  3. Empfehlungs-Modell erstellen
  4. Modell trainieren
  5. Ergebnisse evaluieren

Wo wird das genutzt? Empfehlungssysteme gibt es überall. Am bekanntesten ist das wahrscheinlich in Onlineshops. Eine Funktion, die einem ggf. auch zum Verhängnis werden kann: Die „Kunden kauften auch“ Sektion. Es werden Produkte empfohlen, die andere Kunden auch schon gekauft haben.

Aber auch auf News-Seiten ist es das gleiche Prinzip. Unter einem Artikel werden weitere Artikel angezeigt, die den Leser wahrscheinlich auch interessieren könnten.

Projekt 3: Zeitreihen Vorhersage

Zeitreihen Vorhersage ist eine sehr großes Anwendungsfeld. Also z.B. Wetter, Kundenaufkommen oder sogar Aktienkurse.

Und bevor du jetzt zu euphorisch wirst. Das Vorhersagen von Aktienkursen können auch KIs nicht wirklich gut. Sonst wäre ich und viele andere Programmierer schon längst Millionär.

Am einfachsten kommt man an Wetterdaten, also Temperatur, Wind, etc. Ein gutes und vor allem umfangreiches Tutorial findest du wieder bei Tensorflow.

Die verwendeten Daten stammen vom Max-Planck-Institut für Biogeochemie in Jena. Ein Beispiel für eine Zeitreihe sieht so aus:

Wetterdaten vom Januar 2009. Es werden Temperatur, Druck und Dichte gezeigt.

Als nächsten Schritt wird ein „Data Windowing“ angewendet. D.h. es werden z.B. 10 Datenpunkte (=10h) genutzt, um den jeweils nächsten Datenpunkt (in einer Stunde) vorherzusagen.

Dieser Ansatz wird „Single Step“ genannt, da nur ein Datenpunkt in die Zukunft vorhergesagt wird. Es gibt auch Multi-Step Methoden, die dann mehrere Punkte (=mehrere Stunden) vorhersagen.

Das Tutorial geht noch auf viele weitere Details ein. Z.B. auch das Pre-Processing. Also das Bearbeiten der Daten, bevor ein Model darauf trainiert wird.

In Projekt 2 wurde das schon erwähnt: Die Qualität der Daten bestimmt, wie gut ein Model werden kann. Deshalb sollte man immer zuvor alles analysieren und Ausreißer entfernen. In dem Wetterdatensatz gibt es Ausreißer bei der Windgeschwindigkeit von -9999 m/s. Sowas macht natürlich keinen Sinn, kann das Ergebnis aber deutlich verschlechtern.

Diese dritte Projekte ist das umfangreichste von allen drei und man muss sich als Anfänger schon einige Stunden damit beschäftigen. Das schöne ist aber, dass man hier gleich viele Konzepte von KI auf einmal erlernen kann.

Wo wird das genutzt? Zeitreihen Vorhersagen beantworten immer eine Frage: „Was passiert als Nächstes?“. Sehr relevant ist das natürlich in der Meteorologie, Geophysik, aber auch in Fragestellungen wie „Wie entwickeln sich die Verkaufszahlen“ oder „Wie wird sich die Tierpopulation entwickeln“.

Fazit: KI-Projekte als Chance für angehende Freelancer

Insgesamt bieten sich für angehende KI-Freelancer viele Möglichkeiten, um erste Erfahrungen zu sammeln und ihre Fähigkeiten zu verbessern. Die vorgestellten Einsteigerprojekte können dir dabei helfen, die grundlegenden Prinzipien der KI zu verstehen und praktisch anzuwenden.

Wie oben schon beschrieben: Praktische Erfahrung zählt. Alles, was hier beschrieben worden ist, versteht man am einfachsten wenn es angewendet wird.

Durch die Arbeit an solchen Projekten können (angehende) KI-Freelancer auch ihre Portfolio-Website mit interessanten Projekten füllen und sich so auf dem Markt etablieren. Solche Projekte sind eine Chance für dich, um in einen wachsenden Markt einzusteigen und dich als Experten auf diesem Gebiet zu positionieren.