Einführung in die künstliche Intelligenz

Posted on Posted in Blog

Künstliche Intelligenz: Wie lernt eigentlich ein Computer?

Vor ungefähr 50 Jahren wurde das erste intelligente Computerprogramm vorgestellt. Es war ein einfacher Chatbot der hauptsächlich mit Gegenfragen antwortete um den Benutzer zum weitermachen zu bewegen. Wirkliche Intelligenz war natürlich nicht vorhanden. Es zeigte aber bereits, wie die Kommunikation zwischen Computer und Mensch aussehen kann

Das Programm ist übrigens so einfach das es sich in den Browser einbinden kann. Testen Sie es doch mal (zum neustarten einfach die Seite neu laden):


chat: 

Seitdem hat sich natürlich vieles verändert. Der heute wohl bekannteste Chatbot heißt Siri und befindet sich auf einem Apple iPhone. Auch abseits von Chatbots hat sich einiges getan. Intelligente Computersystem sind aus unserer heutigen Gesellschaft kaum noch wegzudenken und werden immer wichtiger. Täglich interagiert jeder von uns mehrmals mit solchen Systemen, bewußt oder unbewußt. Wann haben Sie sich zum Beispiel die letzte Wettervorhersage angesehen? Haben Sie dazu sogar nach “Wetter” gegoogelt?

Der Entwicklung von immer mehr intelligenten Computersystemen steht aber auch eine immer größere Angst vor künstlicher Intelligenz gegenüber. Diese wird oft von Horrorszenarien oder Science-Fiction-Filmen befeuert. Das beste Bespiel sind wohl die Terminator Filme mit Arnold Schwarzenegger. Dort übernimmt zum Beispiel ein umfassendes Roboternetz die Weltherrschaft und versucht die Menschheit auszulöschen.

Die eigentliche Ursache dieser Ängste entsteht aber meistens durch Unwissenheit. Kaum jemand weiß was eine künstliche Intelligenz eigentlich ist oder wie man eine künstliche Intelligenz entwickelt. Diesem Unwissen möchte ich mit diesem Artikel ein bisschen entgegen wirken. Die Beispiele sind alle sehr einfach gehalten und sollten jedem zugänglich sein. Sehen Sie es einfach als eine kleine Schulstunde der Künstlichen Intelligenz.

Wie definiert man eigentlich künstliche Intelligenz?

Bevor es richtig losgeht, möchte ich gerne noch ein paar Anmerkungen zur Definition von künstlicher Intelligenz machen. Diese Frage wird schon seit dem Beginn der künstlichen Intelligenz immer wieder kontrovers diskutiert. Die bis heute am meisten akzeptierte Aussage wurde während der Dartmouth Konferenz 1956 definiert:

Every aspect of learning or any other feature of intelligence can be so precisely described that a machine can be made to simulate it1

Ein wichtiger Aspekt dieser Aussage ist das man zunächst einmal eine Form von Intelligenz beschreiben muss. Wenn man das geschafft hat, muss man im zweiten Schritt zeigen, dass diese beschriebene Intelligenz auch simulieren lässt. Doch meistens scheitert man schon am der ersten Fragestellung: Was ist überhaupt Intelligenz?

Die Frage nach einer künstlichen Intelligenz hat uns also zunächst zu der Frage nach der Definition von Intelligenz geführt. Für Intelligenz existieren heutzutage aber eine Vielzahl von Ansichten2. Zudem hängt eine Definition von Intelligenz sehr stark von der Kultur in der wir leben ab. Die Definition von künstlicher Intelligenz hängt also auch sehr stark von unser Lebensweise und unserem Umfeld ab. In 1000 Jahren wird der Begriff (künstliche) Intelligenz sicher ganz anders definiert sein.

Über die philosophische Fragestellen nach der Definition von Intelligenz lässt sich sicherlich noch viel diskutieren. Ein Ende der Diskussion wird es aber wohl nie geben. Deshalb überlasse ich es Ihnen sich in dieses Thema weiter einzuarbeiten. Im Folgenden möchte ich lieber darauf eingehen, wie heutzutage intelligente Computerprogramme entwickelt werden.

Wie entwickelt man ein intelligentes Computerprogramm?

Ok. Los geht’s. Wie entwickelt man eine künstliche Intelligenz? Ich kann es gleich vorwegsagen: Es gibt kein wirklich großes Geheimnis. Das einzige was wir machen müssen ist: Daten in eine mathematische Funktion zu konvertieren. Das ist alles! Wirklich!

Am besten lässt sich das an einem Beispiel anschauen. Für einen Hersteller von Ballwurfmaschinen sollen wir die Flughöhe eines Balles zu einem bestimmten Zeitpunkt bestimmen. Dafür hat uns der Hersteller ein paar Messwerte gegeben, die uns zeigen welche Ballhöhe der Ball zu einem bestimmten Zeitpunkt hat. Allerdings sind die Messewerte des Herstellers nicht so genau und wir müssen diese Fehler berücksichtigen. Die Werte sehen wir in folgender Grafik.

012301234

In der Grafik lässt sich schon gut erkennen, dass der Verlauf des Balles fast immer dem selben Muster folgt. Doch es gibt immer wieder Abweichungen und es ist nicht für jeden Punkt genau bestimmt welche Höhe er hat. Die Höhe zum Zeitpunkt 1,2453454 oder zum Zeitpunkt 2,56743 lässt sich beispielsweise nur ungefähr Abschätzen, indem wir Punkte in der Nähe betrachten. Was uns fehlt ist so etwas wie eine Berechnungsvorschrift, die uns für einen bestimmten Zeitpunkt die Höhe des Balles berechnet. Und genau das ist was eine künstliche Intelligenz macht. Sie nimmt eine mehr oder weniger große Anzahl von Daten und erstellt uns daraus eine Berechnungsvorschrift, die die Daten besonders gut abbildet. In unserem Fall könnte eine solche Berechnungsvorschrift mit einer einfachen mathematischen Funktion abgebildet werden:

(Für Mathefans: Die Funktion ist in diesem Fall höhe=(zeitpunkt2)2+4höhe=−(zeitpunkt−2)2+4):

012301234

Doch warum nehmen wir genau diese Funktion und nicht zum Bespiel eine einfache Gerade oder eine Funktion die viel komplizierter ist und möglichst alle Punkte miteinander verbindet? Nun, das ist genau die Frage die wir uns bei der Entwicklung einer künstlichen Intelligenz immer fragen müssen.

In diesem Fall haben wir ja bereits festgestellt, dass das Messverfahren ein paar Fehler hat und die Werte nicht genau sind. Deshalb macht es durchaus Sinn eine nicht so komplizierte Funktion zu nehmen. Des Weiteren versuchen wir eine Funktion zu finden, bei der die Fehler zu den gegeben Daten minimiert werden und möglichst wenige Abweichungen haben. Im Allgemeinen versucht man in der künstlichen Intelligenz immer eine möglichst einfache Funktion zu finden, die die Daten am besten abbildet.

Von den Daten zur Funktion

Das oben beschriebene Beispiel ist natürlich stark vereinfacht gewesen. Eine Funktion ließe sich dort durch einfaches Anschauen der Daten leicht erkennen. Das ist aber bei fast allen Anwendungen der künstlichen Intelligenz nicht der Fall. Bei den meisten Anwendungen gibt es eine sehr große Menge von Daten, deren Zusammenhänge sich meistens nicht erkennen lassen. Deshalb brauchen wir gute Verfahren um unsere Daten in eine Funktion zu transformieren. Die Wissenschaft hat dazu in den vergangenen Jahren eine Vielzahl von Verfahren entwickelt. Die meisten dieser Verfahren verwenden dazu heute oft komplizierte statistische Methoden. Um diese Verfahren benutzen zu können, müssen die gegebenen Daten aber vorverarbeitet werden und in das richtige Format gebracht werden. Mithilfe des statistischen Verfahrens und den transformierten Daten kann man dann ein sogenanntes Modell der Daten erstellen. Dieses Modell beschreibt unsere benötigte mathematische Funktion.

In komplexen Anwendungen wie Siri werden oft mehrere statistische Modelle benutzt. Das erste Model konvertiert zum Beispiel die Stimme des Handybesitzers in einen Text. Ein zweites Model transformiert den Text in einen Antworttext und das dritte Model verwandelt den Antworttext in die typische Siri Stimme.

Zusammenfassung

Künstliche Intelligenzen werden heute oft zu mehr gemacht als sie wirklich sind. Letztendlich ist es nur ein Verfahren, das eine Menge von Daten in eine mathematische Funktion transformiert. Mit wirklicher Intelligenz, wie wir sie von Menschen kennen, hat das also nichts zu tun. Dennoch können diese künstlichen Intelligenzen im Alltag sehr hilfreich sein und unsere Lebensweise verbessern.

Sie möchten mehr über die Möglichkeiten von Machine Learning erfahren? Mit unseren Workshops geben wir Ihnen einen Überblick und zeigen Ihnen welche Besonderheiten bei der Durchführung von Machine Learning-Projekten zu beachten sind. Mehr Informationen

  1. McCarthy et al. 1955. Diese Aussage wurde erstmals im Programm der Dartmouth Konferenz von 1956 gedruckt. Diese Konferenz wird oft als die Geburtsstunde der Künstlichen Intelligenz angesehen.

  2. Definitionen von Intelligenz

Hi, ich bin Jens Haase, Data Scientist und Mitgründer von Consetto.
Ich bin fasziniert von intelligenten Computersystemen, künstlicher Intelligenz und Deep Learning.