Skip to content

Instantly share code, notes, and snippets.

@dhcgn
Created January 30, 2024 22:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dhcgn/5deedd85a11b21ccff631c117379b90f to your computer and use it in GitHub Desktop.
Save dhcgn/5deedd85a11b21ccff631c117379b90f to your computer and use it in GitHub Desktop.

Einführung

Hallo Welt, mein Name ist David J. Malan und ich bin Professor für Informatik an der Harvard University. Heute wurde ich gebeten, Algorithmen in 5 Schwierigkeitsstufen zu erklären. Algorithmen sind wichtig, weil sie wirklich überall sind, nicht nur in der physischen Welt, sondern sicherlich auch in der virtuellen Welt. Und tatsächlich, was mich an Algorithmen begeistert, ist, dass sie wirklich eine Möglichkeit darstellen, Probleme zu lösen, und ich wage zu behaupten, egal, was Sie im Leben tun, wir alle haben Probleme zu lösen. Also bin ich Informatikprofessor, also verbringe ich viel Zeit mit Computern.

Was ist ein Computer?

Ein Computer ist elektronisch, wie ein Telefon, aber er ist rechteckig und man kann tippen, wie tick tick tick, und man arbeitet daran. Schön. Kennen Sie irgendwelche Teile, die in einem Computer enthalten sind? Ähm, nein. Kann ich Ihnen ein paar davon erklären? Ja. Also, in jedem Computer ist eine Art Gehirn enthalten, und der technische Begriff dafür ist CPU, oder Zentrale Verarbeitungseinheit, und das sind die Hardwareteile, die wissen, wie sie auf diese Anweisungen reagieren sollen, wie nach oben oder unten oder links oder rechts bewegen. Es weiß, wie man rechnet, wie Addition und Subtraktion. Und dann gibt es mindestens einen anderen Hardwaretyp in einem Computer, der Speicher oder RAM genannt wird, falls Sie davon gehört haben. Ich kenne Speicher, weil man sich Sachen merken muss. Ja, genau, und Computer haben sogar verschiedene Arten von Speicher. Sie haben das, was man RAM nennt, Random Access Memory, das ist, wo Ihre Spiele, wo Ihre Programme gespeichert sind, während sie benutzt werden, aber dann hat es auch eine Festplatte oder ein Solid-State-Laufwerk, das ist, wo Ihre Daten, Ihre Highscores, Ihre Dokumente, sobald Sie anfangen, Aufsätze und Geschichten in der Zukunft zu schreiben, dauerhaft bleiben. Also selbst wenn der Strom ausfällt, kann sich der Computer immer noch an diese Informationen erinnern. Sie sind immer noch da, weil der Computer nicht einfach alle Wörter selbst löschen kann, weil das nur Ihre Finger tun können, wie Sie müssen Ihren Finger benutzen, um all das Zeug links, rechts zu löschen. Genau.

Einfache Algorithmen und Präzision

Haben Sie schon einmal von einem Algorithmus gehört? Ähm, ja. Ein Algorithmus ist eine Liste von Anweisungen, um Menschen zu sagen, was sie tun sollen, oder wie ein Roboter, was zu tun ist. Ja, genau. Es sind quasi Schritt-für-Schritt-Anweisungen, um etwas zu tun, um ein Problem zu lösen, zum Beispiel. Ja, also wenn Sie eine Schlafenszeit-Routine haben, dann sagen Sie zuerst, ich ziehe mich an, ich putze meine Zähne, ich lese eine kleine Geschichte, und dann gehe ich ins Bett. In Ordnung. Wie wäre es mit einem anderen Algorithmus? Also, was essen Sie normalerweise zum Mittagessen? Irgendwelche Arten von Sandwiches, die Sie mögen? Äh, ich esse Pita-Butter. Ich hole mal ein paar Sachen aus dem Schrank hier. Sollen wir zusammen einen Algorithmus machen, warum machen wir es nicht so? Warum tun wir nicht so, als ob ich ein Computer bin, oder vielleicht bin ich ein Roboter, also verstehe ich nur Ihre Anweisungen, und deshalb möchte ich, dass Sie mir, ohne Wortspiel, einen Algorithmus füttern. Also Schritt-für-Schritt-Anweisungen, um dieses Problem zu lösen. Okay. Aber denken Sie daran, bei Algorithmen müssen Sie präzise sein. Sie müssen... Die richtigen Anweisungen geben. Die richtigen Anweisungen. Machen Sie es einfach für mich. Also Schritt eins war was? Die Tüte öffnen. Okay, die Tüte mit Brot öffnen. Stopp. Jetzt was? Nehmen Sie das Brot und legen Sie es auf den Teller. Nehmen Sie das Brot und legen Sie es auf den Teller. Nehmen Sie das ganze Brot zurück und legen Sie es wieder hinein. Das ist wie ein Rückgängig-Befehl. Ja. Ein kleines Strg-Z? Okay. Nehmen Sie ein Brot und legen Sie es auf den Teller. Okay. Nehmen Sie den Deckel vom Erdnussbutter ab. Okay. Nehmen Sie den Deckel vom Erdnussbutter ab. Legen Sie den Deckel ab. Okay. Nehmen Sie das Messer. Nehmen Sie das Messer. Stecken Sie die Klinge in die Erdnussbutter und verteilen Sie die Erdnussbutter auf dem Brot. Ich werde etwas Erdnussbutter herausnehmen und werde die Erdnussbutter auf dem Brot verteilen. Ich lege viel Erdnussbutter drauf, weil ich Erdnussbutter liebe. Oh, anscheinend dachte ich, ich würde Sie hier ärgern, aber ich denke, Sie sind offensichtlich zufrieden damit. Nein, nein, es ist in Ordnung. Es ist in Ordnung. Nehmen Sie ein Brot und legen Sie es quer auf das zweite Brot. Quer. Wie, legen Sie es flach auf das- Oh, flach. Okay. Und jetzt, fertig. Ihr Sandwich ist fertig. Sollen wir einen köstlichen Bissen nehmen? Ja, lass uns beißen. Okay, hier gehen wir. Was wäre hier der nächste Schritt? Räumen Sie dieses ganze Chaos auf. Räumen Sie dieses ganze Chaos auf, richtig. Wir haben einen Algorithmus gemacht, Schritt-für-Schritt-Anweisungen, um irgendein Problem zu lösen, und wenn Sie jetzt darüber nachdenken, wie wir Erdnussbutter- und Gelee-Sandwiches gemacht haben, manchmal waren wir unpräzise, und Sie haben mir nicht ganz genug Informationen gegeben, um den Algorithmus korrekt auszuführen, und deshalb habe ich so viel Brot herausgenommen. Präzision, sehr, sehr korrekt mit Ihren Anweisungen zu sein, ist so wichtig in der realen Welt, weil zum Beispiel, wenn Sie das World Wide Web benutzen und Sie suchen nach etwas auf Google oder Bing- Sie wollen das Richtige tun. Genau. Also, wenn Sie nur Google eingeben, dann finden Sie nicht die Antwort auf Ihre Frage. Praktisch alles, was wir im Leben tun, ist ein Algorithmus, auch wenn wir dieses schicke Wort nicht benutzen, um es zu beschreiben, weil Sie und ich quasi Anweisungen folgen, entweder die wir selbst ausgedacht haben, oder vielleicht haben unsere Eltern uns gesagt, wie man diese Dinge macht, und das sind einfach Algorithmen. Aber wenn Sie anfangen, Algorithmen in Computern zu verwenden, das ist, wenn Sie anfangen, Code zu schreiben. Was wissen Sie über Algorithmen? Eigentlich gar nichts, ehrlich gesagt. Ich denke, es ist wahrscheinlich nur eine Art, Informationen in Computern zu speichern. Und ich wage zu behaupten, auch wenn Sie dieses Wort vielleicht nicht darauf gesetzt haben, stehen die Chancen gut, dass Sie, als Mensch, heute, sogar bevor Sie hierher gekommen sind, mehrere Algorithmen ausgeführt haben. Wie, was waren ein paar Dinge, die Sie getan haben? Ich habe mich fertig gemacht. Okay, und sich fertig machen. Was bedeutet das? Zähne putzen. Okay. Haare bürsten. Okay. Anziehen. Okay, also all das, ehrlich gesagt, wenn wir wirklich tiefer eintauchen würden, könnte in Schritt-für-Schritt-Anweisungen zerlegt werden. Und vermutlich hat Ihre Mutter, Ihr Vater, jemand in der Vergangenheit Sie quasi programmiert, als Mensch, zu wissen, was zu tun ist. Und danach, als ein schlauer Mensch, können Sie es von dort aus nehmen, und Sie brauchen ihre Hilfe nicht mehr. Aber das ist quasi, was wir tun, wenn wir Computer programmieren.

Suche in Telefonbüchern

Etwas vielleicht noch vertrauter heutzutage, wie wahrscheinlich haben Sie ein Mobiltelefon, Ihre Kontakte sind Ihr Adressbuch. Aber lassen Sie mich fragen, warum das so ist. Warum machen Apple oder Google oder jemand anderes sich die Mühe, Ihre Kontakte zu alphabetisieren? Ich habe einfach angenommen, es wäre einfacher zu navigieren. Was wäre, wenn Ihr Freund ganz unten in dieser zufällig organisierten Liste wäre? Warum ist das ein Problem? Wie, er oder sie ist immer noch da. Ich denke, es würde eine Weile dauern, bis man beim Scrollen dorthin gelangt. Das an sich ist irgendwie ein Problem, oder es ist eine ineffiziente Lösung für das Problem. Es stellt sich heraus, dass zu meiner Zeit, bevor es Handys gab, die Nummern von allen aus der High School buchstäblich in einem Buch gedruckt waren, und jeder in meiner Stadt, in meiner Stadt, meinem Staat, war in einem tatsächlichen Telefonbuch gedruckt. Auch wenn Sie diese Technologie noch nie zuvor gesehen haben, wie würden Sie vorschlagen, verbal John in diesem Telefonbuch zu finden? Ich würde einfach durchblättern und nach den Js suchen, denke ich. Ja, also lassen Sie mich vorschlagen, dass wir so anfangen. Ich könnte einfach am Anfang anfangen. Und Schritt für Schritt könnte ich jede Seite anschauen, nach John suchen, nach John suchen. Jetzt, auch wenn Sie diese hier Technologie noch nie zuvor gesehen haben, stellt sich heraus, das ist genau das, was Ihr Telefon in Software tun könnte. Wie jemand von Google oder Apple oder dergleichen könnte Software schreiben, die eine Technik im Programmieren verwendet, die als Schleife bekannt ist. Und eine Schleife, wie das Wort andeutet, ist einfach irgendwas immer wieder tun. Anstatt vom Anfang zu starten und eine Seite nach der anderen zu gehen, was wäre, wenn ich, oder was wäre, wenn Ihr Telefon, wie zwei Seiten oder zwei Namen auf einmal geht? Wäre das korrekt, denken Sie? Nun, Sie könnten John überspringen, denke ich. In welchem Sinne? Wenn er auf einer der mittleren Seiten ist, die Sie übersprungen haben. Ja, also irgendwie aus Versehen, und ehrlich gesagt, mit etwa 50-50 Wahrscheinlichkeit, könnte John zwischen zwei Seiten eingeklemmt werden. Aber bedeutet das, dass ich diesen Algorithmus ganz verwerfen muss? Vielleicht könnten Sie diese Strategie verwenden, bis Sie sich dem Abschnitt nähern, und dann zu einem nach dem anderen wechseln. OK, das ist schön. Also könnten Sie sozusagen doppelt so schnell gehen, aber dann sozusagen auf die Bremse treten, wenn Sie sich Ihrer Ausfahrt auf der Autobahn nähern, oder in diesem Fall, dem J-Abschnitt des Buches. Genau. Und vielleicht alternativ, wenn ich zu wie A, B, C, D, E, F, G, H, I, J, K komme, wenn ich zum K-Abschnitt komme, dann könnte ich einfach eine Seite zurückblättern, nur um sicherzustellen, dass John nicht zwischen diesen Seiten eingeklemmt wurde. Das Schöne an diesem zweiten Algorithmus ist, dass ich durch das Telefonbuch fliege, zwei Seiten auf einmal. Also 2, 4, 6, 8, 10, 12. Es ist nicht perfekt, es ist nicht unbedingt korrekt, aber es ist, wenn ich nur wie einen zusätzlichen Schritt mache. Also ich denke, es ist reparierbar. Aber was Ihr Telefon wahrscheinlich macht, und ehrlich gesagt, was ich und meine Eltern und Großeltern früher gemacht haben, ist, wir würden wahrscheinlich grob in die Mitte des Telefonbuchs hier gehen. Und nur intuitiv, wenn dies ein alphabetisiertes Telefonbuch auf Englisch ist, in welchem Abschnitt finde ich mich wahrscheinlich ungefähr? K. OK, also bin ich im K-Abschnitt. Wird John links oder rechts sein? Links. Ja, also John wird links oder rechts sein. Und was wir hier tun können, obwohl Ihr Telefon etwas Schlaueres macht, ist das Problem halbieren. Die Hälfte des Problems wegwerfen, nur noch 500 Seiten übrig haben. Aber was könnte ich als Nächstes tun? Ich könnte irgendwie naiv einfach wieder am Anfang anfangen, aber wir haben gelernt, es besser zu machen. Ich kann ungefähr in die Mitte hier gehen. Und es wieder tun. Ja, genau. Also jetzt bin ich vielleicht im E-Abschnitt, der ein wenig links ist. Also John ist eindeutig rechts. Also kann ich wieder das Problem schlecht in der Hälfte teilen, diese Hälfte des Problems wegwerfen. Und ich behaupte jetzt, dass, wenn wir mit 1.000 Seiten angefangen haben, jetzt sind wir auf 500, 250, jetzt bewegen wir uns wirklich schnell. Und so hoffentlich bin ich dramatisch am Ende nur mit einer einzigen Seite übrig, auf der John entweder auf dieser Seite ist oder nicht auf dieser Seite ist. Und ich kann ihn anrufen. Ungefähr, wie viele Schritte könnte dieser dritte Algorithmus nehmen? Wenn ich mit 1.000 Seiten angefangen habe, dann zu 500, 250, 125 gegangen bin, wie oft können Sie 1.000 halbieren? Vielleicht. 10. Das sind ungefähr 10. Denn im ersten Algorithmus, wieder nach jemandem wie Zoe im schlimmsten Fall zu suchen, müsste man vielleicht durch alle 1.000 Seiten gehen. Aber der zweite Algorithmus, den Sie gesagt haben, war 500, vielleicht 501, im Wesentlichen dasselbe, also doppelt so schnell. Aber dieser dritte und letzte Algorithmus ist irgendwie grundsätzlich schneller, weil Sie ihn halbieren und halbieren und halbieren, nicht nur ein oder zwei Bissen auf einmal nehmen. Also das ist natürlich nicht, wie wir früher Telefonbücher benutzt haben, da sie sonst nur einmal verwendet werden könnten. Aber so sucht Ihr Telefon tatsächlich nach Zoe, nach John, nach irgendjemand anderem. Aber es macht das in Software. Oh, das ist cool. Also hier haben wir uns auf Suchalgorithmen konzentriert, nach John im Telefonbuch suchen. Aber die Technik, die wir gerade verwendet haben, kann tatsächlich als Teile-und-herrsche bezeichnet werden, wo Sie ein großes Problem nehmen und es teilen und herrschen. Das heißt, Sie versuchen, es in kleinere, kleinere, kleinere Stücke zu hacken. Ein ausgefeilterer Typ von Algorithmus, zumindest je nachdem, wie Sie ihn implementieren, etwas, das als rekursiver Algorithmus bekannt ist. Ein rekursiver Algorithmus ist im Wesentlichen ein Algorithmus, der sich selbst verwendet, um genau dasselbe Problem immer wieder zu lösen, aber es in kleinere und kleinere und kleinere Stücke hackt, letztendlich.

Fortgeschrittene Algorithmen und deren Anwendung

Hallo, mein Name ist Patricia. Patricia, nett, Sie kennenzulernen. Wo sind Sie Studentin? Ich beginne jetzt mein letztes Jahr an der NYU. Oh, schön. Und was haben Sie in den letzten Jahren studiert? Ich habe Informatik und Datenwissenschaft studiert. Wenn Sie mit einem Freund sprechen würden, der kein Informatiker oder Datenwissenschaftler ist, wie würden Sie ihm erklären, was ein Algorithmus ist? Irgendeine Art systematischer Weg, ein Problem zu lösen, oder ein Satz von Schritten, um ein bestimmtes Problem zu lösen, das Sie haben. Sie erinnern sich wahrscheinlich daran, Themen wie binäre Suche im Vergleich zur linearen Suche und dergleichen gelernt zu haben. Also bin ich hierhergekommen, komplett mit einer tatsächlichen Tafel mit einigen magnetischen Zahlen darauf. Wie würden Sie einem Freund sagen, diese zu sortieren? Ich denke, eine der ersten Dinge, die wir gelernt haben, war etwas, das als Bubble-Sort bezeichnet wird. Es konzentrierte sich irgendwie auf kleinere Blasen, würde ich sagen, des Problems, kleinere Segmente anzuschauen anstatt das Ganze auf einmal. Was, denke ich, sehr wahr ist an dem, was Sie andeuten, ist, dass Bubble-Sort wirklich den Fokus auf lokale, kleine Probleme legt. Anstatt einen Schritt zurückzutreten, um das Ganze zu reparieren, lassen Sie uns einfach die offensichtlichen Probleme vor uns beheben. Also zum Beispiel, wenn wir versuchen, von kleinsten zu größten zu gelangen, und die ersten beiden Dinge, die wir sehen, sind 8 gefolgt von 1, sieht das wie ein Problem aus, weil es in der falschen Reihenfolge ist. Was wäre die einfachste Lösung, die geringste Arbeit, die wir tun könnten, um zumindest ein Problem zu beheben? Einfach diese beiden Zahlen tauschen, weil 1 offensichtlich kleiner als 8 ist. Perfekt. Also tauschen wir diese beiden dann einfach. Sie würden diese wieder tauschen. Ja. Das verbessert die Situation weiter. Und man kann es sehen, dass die 1 und die 2 jetzt an ihrem Platz sind. Wie steht es mit 8 und 6? Tauschen Sie es wieder. Tauschen Sie diese wieder. 8 und 3? Tauschen Sie es wieder. Und umgekehrt, jetzt sind die 1 und die 2 näher dran, und zufälligerweise genau dort, wo wir sie haben wollen. Sind wir fertig? Nein. OK, also offensichtlich nicht. Aber was könnten wir jetzt tun, um die Situation weiter zu verbessern? Gehen Sie es noch einmal durch, aber Sie müssen das letzte nicht mehr überprüfen, weil wir wissen, dass diese Zahl nach oben gestiegen ist. Ja, weil 8 tatsächlich ganz nach oben gestiegen ist. Also 1 und 2? Ja, so lassen. OK, 2 und 6? So lassen. OK, 6 und 3? Dann tauschen Sie es. OK, wir werden diese tauschen oder austauschen. 6 und 4? Tauschen Sie es wieder. OK, also 4 und 6 und 7? So lassen. OK, 7 und 5? Tauschen Sie es. OK. Und dann denke ich, nach Ihrem Punkt, sind wir ziemlich nah dran. Lassen Sie uns noch einmal durchgehen. 1 und 2? So lassen. 2, 3? So lassen. 3, 4? So lassen. 4, 6? So lassen. 6, 5? Und dann tauschen Sie es. In Ordnung, wir werden das tauschen. Und jetzt, zu Ihrem Punkt, müssen wir uns nicht mehr mit denen befassen, die bereits ihren Weg nach oben gefunden haben. Jetzt sind wir 100% sicher, dass es sortiert ist. Ja. Und sicherlich halten die Suchmaschinen der Welt, Google und Bing und so weiter, Webseiten wahrscheinlich nicht in sortierter Reihenfolge, weil das eine verrückt lange Liste wäre, wenn Sie gerade versuchen, die Daten zu durchsuchen. Aber es gibt wahrscheinlich einen Algorithmus, der dem zugrunde liegt, was sie tun. Und sie tun wahrscheinlich ähnlich wie wir, ein bisschen Arbeit im Voraus, um Dinge zu organisieren, auch wenn es nicht streng in derselben Weise sortiert ist, damit Leute wie Sie und ich und andere diese gleichen Informationen finden können.

Algorithmen in der sozialen Medien und KI

Wie sieht es mit sozialen Medien aus? Können Sie sich vorstellen, wo die Algorithmen in dieser Welt sind? Wie zum Beispiel bei TikTok, wie die Für-Dich-Seite, das ist irgendwie, weil das Empfehlungen sind, richtig? Es ist so ähnlich wie Netflix-Empfehlungen, nur konstanter, weil es einfach wie jedes Video, das Sie scrollen, das ist wie eine neue Empfehlung, im Grunde. Und es basiert darauf, was Sie zuvor geliked haben, was Sie zuvor gespeichert haben, wonach Sie gesucht haben. Also würde ich annehmen, dass da irgendeine Art von Algorithmus ist, der herausfindet, was auf Ihrer Für-Dich-Seite erscheinen soll. Absolut. Nur um Sie vermutlich mehr zu engagieren. Also je besser der Algorithmus ist, desto besser ist Ihr Engagement. Vielleicht verdient das Unternehmen dann mehr Geld auf der Plattform und so weiter. Also es füttert sich alles zusammen. Aber was Sie beschreiben, ist wirklich mehr künstlich intelligent, wenn ich so sagen darf, weil vermutlich gibt es niemanden bei TikTok oder bei einem dieser sozialen Medienunternehmen, der sagt, wenn Patricia diesen Beitrag mag, dann zeige ihr diesen Beitrag. Wenn sie diesen Beitrag mag, dann zeige ihr diesen anderen Beitrag. Denn der Code würde quasi unendlich lang wachsen. Und es gibt einfach viel zu viel Inhalt, als dass ein Programmierer diese Art von Bedingungen, diese Entscheidungen hinter den Kulissen treffen könnte. Also ist es wahrscheinlich ein wenig künstlicher intelligent. Und in diesem Sinne haben Sie Themen wie neuronale Netze und maschinelles Lernen, die wirklich beschreiben, wie als Eingabe Dinge wie das, was Sie anschauen, worauf Sie klicken, was Ihre Freunde anschauen, worauf sie klicken, und versuchen, daraus abzuleiten, was wir Patricia oder ihren Freunden als Nächstes zeigen sollten. OK. Ja. Die Unterscheidung macht jetzt mehr Sinn. Schön.

Forschung und die Zukunft der Algorithmen

Ich bin derzeit Doktorand im vierten Jahr an der NYU. Ich beschäftige mich mit Robotiklernen. Das ist also halb Robotik und halb maschinelles Lernen. Es klingt, als hätten Sie schon mit ziemlich vielen Algorithmen experimentiert. Wie erforscht man eigentlich Algorithmen oder erfindet neue Algorithmen? Das Wichtigste war, einfach über Ineffizienzen nachzudenken und auch Verbindungslinien zu ziehen. Die Art und Weise, wie ich darüber nachdenke, ist, dass ein Algorithmus für mich nicht nur eine Art des Tuns ist, sondern es geht darum, etwas effizient zu tun. Lernalgorithmen sind praktisch überall jetzt. Google, würde ich sagen, lernt zum Beispiel jeden Tag, welche Artikel, welche Links besser sein könnten als andere, und ordnet sie neu. Es gibt Empfehlungssysteme überall um uns herum, wie Inhaltsfeeds in sozialen Medien oder YouTube oder Netflix. Was wir sehen, wird zu einem großen Teil durch diese Art von Lernalgorithmen bestimmt. Heutzutage gibt es viele Bedenken bezüglich einiger Anwendungen von maschinellem Lernen und Deepfakes, wo es lernen kann, wie ich spreche und wie Sie sprechen und sogar, wie wir aussehen, und Videos von uns generieren kann. Wir machen das hier echt, aber man könnte sich vorstellen, dass ein Computer diese Konversation schließlich synthetisiert. Aber wie weiß es überhaupt, wie ich klinge und wie ich aussehe und wie man das repliziert? All das sind Lernalgorithmen, über die wir sprechen, da geht einfach jede Menge Daten rein. Also Daten gehen rein, etwas anderes kommt raus. Was herauskommt, ist, was auch immer die Zielfunktion ist, die Sie optimieren. Wo liegt die Grenze zwischen Algorithmen, die Spiele spielen, mit und ohne KI? Ich denke, als ich mein Studium begann, war die aktuelle KI, maschinelles Lernen, nicht sehr synonym. Und sogar in meinem Grundstudium, im KI-Kurs, lernten sie viele klassische Algorithmen für Spielzüge. Wie zum Beispiel die A*-Suche. Das ist ein sehr einfaches Beispiel dafür, wie man ein Spiel spielen kann, ohne dass etwas gelernt wird. Das ist sehr viel, oh, Sie sind in einem Spielzustand, Sie suchen einfach nach unten, sehen, welche Möglichkeiten es gibt, und dann wählen Sie die beste Möglichkeit, die es sehen kann. Im Gegensatz dazu, wenn Sie an KI als Spielzüge denken, wie das AlphaZero zum Beispiel, oder AlphaStar, oder es gibt viele schicke neue maschinelle Lernagenten, die sogar sehr schwierige Spiele wie Go lernen. Und das sind gelernte Agenten, als ob sie besser werden, je mehr und mehr Spiele sie spielen. Und je mehr Spiele sie bekommen, verfeinern sie ihre Strategie basierend auf den Daten, die sie gesehen haben. Und wiederum ist diese hohe Abstraktionsebene immer noch dieselbe. Sie sehen viele Daten und lernen daraus. Aber die Frage ist, was ist die Zielfunktion, die Sie optimieren? Ist es, dieses Spiel zu gewinnen? Ist es, ein Unentschieden zu erzwingen? Oder ist es wie das Öffnen einer Tür in einer Küche? Also wenn die Welt jetzt sehr auf überwachtes, unüberwachtes Verstärkungslernen fokussiert ist, was kommt als Nächstes? Fünf, zehn Jahre, wohin geht die Welt? Ich denke, das wird einfach immer mehr und mehr sein. Ich möchte das Wort Eindringen nicht verwenden, aber so fühlt es sich an, von Algorithmen in unser tägliches Leben. Wie auch immer, als ich hierher mit dem Zug kam, wurden die Züge mit Algorithmen geroutet. Aber das hat es schon seit 50 Jahren gegeben, wahrscheinlich. Aber als ich hierherkam, als ich auf mein Telefon schaute, waren das unterschiedliche Algorithmen. Und sie sind irgendwie die ganze Zeit um uns herum, machen unser Leben an den meisten Stellen, in den meisten Fällen besser. Und ich denke, das wird einfach eine Fortsetzung von all dem sein. Und es fühlt sich an, als wären sie sogar an Orten, die man nicht erwarten würde. Und es gibt einfach so viele Daten über Sie und mich und jeden anderen online. Und diese Daten werden abgebaut und analysiert und beeinflussen Dinge, die wir sehen und hören, scheint es. Also gibt es irgendwie einen Gegenpunkt, der vielleicht gut für die Vermarkter ist, aber nicht unbedingt gut für Sie und mich als Individuen. Weißt du, wir sind menschliche Wesen, aber für jemanden könnten wir nur ein Paar Augen sein, die ein Portemonnaie tragen und da sind, um Dinge zu kaufen. Aber es gibt so viel mehr Potenzial für diese Algorithmen, unser Leben besser zu machen, ohne viel an unserem Leben zu ändern.

Datenwissenschaft bei der New York Times

Ich bin Chris Wiggins, außerordentlicher Professor für angewandte Mathematik an der Columbia University. Ich bin auch der leitende Datenwissenschaftler bei der New York Times. Das Team für Datenwissenschaft bei der New York Times entwickelt und implementiert maschinelles Lernen für Probleme in der Redaktion und im Geschäftsbereich. Aber ich würde sagen, die Dinge, die wir tun, sehen Sie meistens nicht. Aber es könnten Dinge sein wie Personalisierungsalgorithmen oder das Empfehlen verschiedener Inhalte. Und denken Datenwissenschaftler, was sich ziemlich von dem Begriff Informatiker unterscheidet, immer noch in Begriffen von Algorithmen als etwas, das vieles antreibt? Oh, absolut, ja. Tatsächlich ist die Rolle des Algorithmus in der Datenwissenschaft in der Akademie oft der Optimierungsalgorithmus, der Ihnen hilft, das beste Modell oder die beste Beschreibung eines Datensatzes zu finden. In der Datenwissenschaft in der Industrie ist das Ziel oft um einen Algorithmus zentriert, der zu einem Datenprodukt wird. Also könnte ein Datenwissenschaftler in der Industrie die Entwicklung und Implementierung des Algorithmus vorantreiben, was bedeutet, nicht nur den Algorithmus und seine statistische Leistung zu verstehen, sondern auch die gesamte Softwaretechnik rund um die Systemintegration, um sicherzustellen, dass dieser Algorithmus zuverlässige Eingaben erhält und nützliche Ausgaben hat, sowie würde ich sagen, die organisatorische Integration, also, wie integriert eine Gemeinschaft von Menschen, wie das Team der New York Times, diesen Algorithmus in ihren Prozess? Interessant.

KI, Datenwissenschaft und die Rolle von Algorithmen

KI-basierte Start-ups sind derzeit sehr beliebt, und sicherlich auch innerhalb der Akademie. Gibt es Verbindungen zwischen KI und der Welt der Datenwissenschaft und den Algorithmen darin? Können Sie diese Punkte verbinden? Sie haben recht, dass KI als Feld wirklich explodiert ist. Ich würde sagen, insbesondere viele Menschen haben einen Chatbot erlebt, der wirklich gut war. Heute, wenn Menschen über KI sprechen, denken sie oft an große Sprachmodelle oder sie denken an generative KI oder sie denken vielleicht an einen Chatbot. Etwas zu bedenken ist, dass ein Chatbot ein Spezialfall von generativer KI ist, was ein Spezialfall der Verwendung großer Sprachmodelle ist, was ein Spezialfall der Verwendung von maschinellem Lernen im Allgemeinen ist, was die meisten Menschen unter KI verstehen. Sie könnten Momente haben, die John McCarthy als „Schau-mal-Mama-ohne-Hände“-Ergebnisse bezeichnete, wo Sie irgendeinen fantastischen Trick machen und nicht ganz sicher sind, wie es funktioniert hat. Ich denke, es ist immer noch sehr früh. Große Sprachmodelle befinden sich noch in dem, was man als Alchemiephase bezeichnen könnte, in der Menschen große Sprachmodelle ohne eine wirkliche klare a priori Vorstellung davon bauen, was das richtige Design für ein richtiges Problem ist. Viele Menschen probieren verschiedene Dinge aus, oft in großen Unternehmen, wo sie es sich leisten können, viele Menschen Dinge ausprobieren zu lassen, zu sehen, was funktioniert, das zu veröffentlichen und es als Produkt zu etablieren. Und das ist selbst ein Teil des wissenschaftlichen Prozesses, würde ich denken. Ja, sehr. Nun, Wissenschaft und Technik, denn oft baut man eine Sache, und die Sache macht etwas Erstaunliches. In hohem Maße suchen wir immer noch nach grundlegenden theoretischen Ergebnissen darüber, warum tiefe neuronale Netzwerke im Allgemeinen so gut lernen können. Es handelt sich um riesige Modelle mit Milliarden von Parametern, und es ist schwierig für uns zu interpretieren, wie sie in der Lage sind, das zu tun, was sie tun. Und ist dies eine gute Sache, denken Sie, oder eine unvermeidliche Sache, dass wir, die Programmierer, wir, die Informatiker, die Datenwissenschaftler, die diese Dinge erfinden, tatsächlich nicht erklären können, wie sie funktionieren? Denn ich habe das Gefühl, dass Freunde von mir in der Industrie, selbst wenn es etwas Einfaches und relativ Vertrautes wie Autocomplete ist, mir nicht tatsächlich sagen können, warum dieser Name oben auf der Liste erscheint. Während man vor Jahren, als diese Algorithmen deterministischer und prozeduraler waren, sogar auf die Zeile zeigen konnte, die diesen Namen nach oben gebracht hat. Ist es also eine gute Sache, eine schlechte Sache, dass wir in gewissem Sinne die Kontrolle über den Algorithmus verlieren? Es birgt Risiken. Ich weiß nicht, ob ich sagen würde, dass es gut oder schlecht ist, aber ich würde sagen, es gibt viele wissenschaftliche Präzedenzfälle. Es gibt Zeiten, in denen ein Algorithmus wirklich gut funktioniert und wir ein endliches Verständnis davon haben, warum er funktioniert, oder ein Modell funktioniert wirklich gut, und manchmal haben wir sehr wenig Verständnis dafür, warum es so funktioniert, wie es funktioniert. In den Kursen, die ich unterrichte, verbringe ich sicherlich viel Zeit mit den Grundlagen, Algorithmen, die seit Jahrzehnten in Kursen gelehrt werden, ob es sich um binäre Suche, lineare Suche, Bubble-Sort, Auswahl-Sortierung oder dergleichen handelt. Aber wenn wir bereits an dem Punkt sind, wo ich ChatGPT aufrufen kann, eine ganze Menge Zahlen oder Wörter kopieren und einfügen und sagen kann, sortiere diese für mich, spielt es wirklich eine Rolle, wie ChatGPT sie sortiert? Spielt es wirklich eine Rolle für mich, als Benutzer, wie die Software sie sortiert? Werden diese Grundlagen mit der Zeit veraltet und weniger wichtig, denken Sie? Jetzt sprechen Sie über die Art und Weise, wie Code und Berechnung ein Spezialfall von Technologie ist, richtig? Also, um ein Auto zu fahren, müssen Sie nicht unbedingt viel über organische Chemie wissen, auch wenn die organische Chemie ist, wie das Auto funktioniert, richtig? Also können Sie das Auto auf verschiedene Weise fahren und verwenden, ohne viel über die Grundlagen zu verstehen. Also ähnlich mit der Berechnung, wir sind an einem Punkt, wo die Berechnung so hochstufig ist, richtig, wie Sie können scikit-learn importieren und Sie können von Null auf maschinelles Lernen in 30 Sekunden gehen. Es hängt davon ab, auf welcher Ebene Sie die Technologie verstehen möchten, wo im Stapel, sozusagen, es möglich ist, sie zu verstehen und wunderbare Dinge zu machen und die Welt voranzubringen, ohne sie auf der besonderen Ebene eines Menschen zu verstehen, der möglicherweise ursprünglich den eigentlichen Optimierungsalgorithmus entworfen hat. Ich sollte jedoch sagen, dass bei vielen der Optimierungsalgorithmen Fälle auftreten, in denen ein Algorithmus wirklich gut funktioniert und wir ein Papier veröffentlichen und es gibt einen Beweis im Papier und dann Jahre später stellen die Leute fest, dass dieser Beweis tatsächlich falsch war und wir sind wirklich immer noch nicht sicher, warum diese Optimierung funktioniert, aber sie funktioniert wirklich gut. Oder es inspiriert Menschen, neue Optimierungsalgorithmen zu erstellen. Also denke ich, dass das Ziel, Algorithmen zu verstehen, lose gekoppelt ist an unseren Fortschritt bei der Entwicklung großartiger Algorithmen, aber sie müssen nicht unbedingt voneinander abhängen. Und für die Studenten insbesondere, oder sogar Erwachsene, die jetzt darüber nachdenken, sich in Richtung Informatik, Programmierung zu bewegen, die wirklich begeistert waren, in diese Richtung zu gehen, bis zum Beispiel November 2022, als für viele Menschen plötzlich aussah, als würde sich die Welt jetzt ändern und vielleicht ist dies nicht mehr so ein vielversprechender Weg. Sind LLMs, sind Werkzeuge wie ChatGPT ein Grund, vielleicht nicht in das Feld zu steuern? Große Sprachmodelle sind eine spezielle Architektur für die Vorhersage, sagen wir, des nächsten Wortes oder einer Reihe von Token im Allgemeinen. Der Algorithmus kommt ins Spiel, wenn Sie darüber nachdenken, wie soll dieses LLM trainiert oder auch feinabgestimmt werden. Also das P von GPT ist ein vortrainierter Algorithmus. Die Idee ist, dass Sie ein großes Sprachmodell auf irgendeinem Korpus von Text trainieren. Könnte Enzyklopädien oder Lehrbücher oder was auch immer sein. Und dann möchten Sie vielleicht dieses Modell feinabstimmen um eine bestimmte Aufgabe oder eine bestimmte Teilmenge von Texten. Also beide sind Beispiele für Trainingsalgorithmen. Also ich würde sagen, die Wahrnehmung der künstlichen Intelligenz hat sich in den letzten sechs Monaten wirklich stark verändert, insbesondere um November 2022 herum, als die Menschen einen wirklich guten Chatbot erlebten. Die Technologie war jedoch bereits davor vorhanden. Akademiker hatten bereits mit ChatGPT 3 gearbeitet, bevor das passierte, und ChatGPT 2 und ChatGPT 1. Und für viele Menschen hat es diese Konversation über das, was künstliche Intelligenz ist und was wir damit machen könnten und was die möglichen guten und schlechten Seiten sind, wirklich eröffnet. Wie bei jeder anderen Technologie, es ist Franz Bergs erstes Gesetz der Technologie. Technologie ist weder gut noch schlecht, noch ist sie neutral. Jedes Mal, wenn wir eine neue Technologie haben, sollten wir über ihre Fähigkeiten und das Gute und das Mögliche Schlechte nachdenken. Wie bei jedem Studienbereich bieten Algorithmen ein Spektrum von den grundlegendsten bis zu den fortgeschrittensten. Und auch wenn gerade jetzt die fortgeschrittensten dieser Algorithmen unerreichbar erscheinen, weil Sie einfach nicht diesen Hintergrund haben, mit jeder Lektion, die Sie lernen, mit jedem Algorithmus, den Sie studieren, wird dieses Endspiel näher und näher kommen, so dass es bald für Sie zugänglich sein wird und Sie am Ende dieses fortgeschrittensten Spektrums stehen werden.

Grundlagen und die Bedeutung des Verständnisses

In den Klassen, die ich unterrichte, verbringe ich sicherlich viel Zeit mit den Grundlagen, Algorithmen, die seit Jahrzehnten in Kursen gelehrt werden, ob es sich um binäre Suche, lineare Suche, Bubble-Sort, Auswahl-Sortierung oder dergleichen handelt. Aber wenn wir bereits an dem Punkt sind, wo ich ChatGPT aufrufen kann, eine ganze Menge Zahlen oder Wörter kopieren und einfügen und sagen kann, sortiere diese für mich, spielt es wirklich eine Rolle, wie ChatGPT sie sortiert? Spielt es wirklich eine Rolle für mich, als Benutzer, wie die Software sie sortiert? Werden diese Grundlagen mit der Zeit veraltet und weniger wichtig, denken Sie? Jetzt sprechen Sie über die Art und Weise, wie Code und Berechnung ein Spezialfall von Technologie ist, richtig? Also, um ein Auto zu fahren, müssen Sie nicht unbedingt viel über organische Chemie wissen, auch wenn die organische Chemie ist, wie das Auto funktioniert, richtig? Also können Sie das Auto auf verschiedene Weise fahren und verwenden, ohne viel über die Grundlagen zu verstehen. Also ähnlich mit der Berechnung, wir sind an einem Punkt, wo die Berechnung so hochstufig ist, richtig, wie Sie können scikit-learn importieren und Sie können von Null auf maschinelles Lernen in 30 Sekunden gehen. Es hängt davon ab, auf welcher Ebene Sie die Technologie verstehen möchten, wo im Stapel, sozusagen, es möglich ist, sie zu verstehen und wunderbare Dinge zu machen und die Welt voranzubringen, ohne sie auf der besonderen Ebene eines Menschen zu verstehen, der möglicherweise ursprünglich den eigentlichen Optimierungsalgorithmus entworfen hat. Ich sollte jedoch sagen, dass bei vielen der Optimierungsalgorithmen Fälle auftreten, in denen ein Algorithmus wirklich gut funktioniert und wir ein Papier veröffentlichen und es gibt einen Beweis im Papier und dann Jahre später stellen die Leute fest, dass dieser Beweis tatsächlich falsch war und wir sind wirklich immer noch nicht sicher, warum diese Optimierung funktioniert, aber sie funktioniert wirklich gut. Oder es inspiriert Menschen, neue Optimierungsalgorithmen zu erstellen. Also denke ich, dass das Ziel, Algorithmen zu verstehen, lose gekoppelt ist an unseren Fortschritt bei der Entwicklung großartiger Algorithmen, aber sie müssen nicht unbedingt voneinander abhängen.

Die Auswirkungen von Großen Sprachmodellen auf die Informatik

Und für die Studenten insbesondere, oder sogar Erwachsene, die jetzt darüber nachdenken, sich in Richtung Informatik, Programmierung zu bewegen, die wirklich begeistert waren, in diese Richtung zu gehen, bis zum Beispiel November 2022, als für viele Menschen plötzlich aussah, als würde sich die Welt jetzt ändern und vielleicht ist dies nicht mehr so ein vielversprechender Weg. Sind LLMs, sind Werkzeuge wie ChatGPT ein Grund, vielleicht nicht in das Feld zu steuern? Große Sprachmodelle sind eine spezielle Architektur für die Vorhersage, sagen wir, des nächsten Wortes oder einer Reihe von Token im Allgemeinen. Der Algorithmus kommt ins Spiel, wenn Sie darüber nachdenken, wie soll dieses LLM trainiert oder auch feinabgestimmt werden. Also das P von GPT ist ein vortrainierter Algorithmus. Die Idee ist, dass Sie ein großes Sprachmodell auf irgendeinem Korpus von Text trainieren. Könnte Enzyklopädien oder Lehrbücher oder was auch immer sein. Und dann möchten Sie vielleicht dieses Modell feinabstimmen um eine bestimmte Aufgabe oder eine bestimmte Teilmenge von Texten. Also beide sind Beispiele für Trainingsalgorithmen. Also ich würde sagen, die Wahrnehmung der künstlichen Intelligenz hat sich in den letzten sechs Monaten wirklich stark verändert, insbesondere um November 2022 herum, als die Menschen einen wirklich guten Chatbot erlebten. Die Technologie war jedoch bereits davor vorhanden. Akademiker hatten bereits mit ChatGPT 3 gearbeitet, bevor das passierte, und ChatGPT 2 und ChatGPT 1. Und für viele Menschen hat es diese Konversation über das, was künstliche Intelligenz ist und was wir damit machen könnten und was die möglichen guten und schlechten Seiten sind, wirklich eröffnet. Wie bei jeder anderen Technologie, es ist Franz Bergs erstes Gesetz der Technologie. Technologie ist weder gut noch schlecht, noch ist sie neutral. Jedes Mal, wenn wir eine neue Technologie haben, sollten wir über ihre Fähigkeiten und das Gute und das Mögliche Schlechte nachdenken. Wie bei jedem Studienbereich bieten Algorithmen ein Spektrum von den grundlegendsten bis zu den fortgeschrittensten. Und auch wenn gerade jetzt die fortgeschrittensten dieser Algorithmen unerreichbar erscheinen, weil Sie einfach nicht diesen Hintergrund haben, mit jeder Lektion, die Sie lernen, mit jedem Algorithmus, den Sie studieren, wird dieses Endspiel näher und näher kommen, so dass es bald für Sie zugänglich sein wird und Sie am Ende dieses fortgeschrittensten Spektrums stehen werden.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment