KI und Purebasic Programmierung

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
TroaX
Beiträge: 661
Registriert: 08.03.2013 14:27
Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Pop_OS! | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Pop_OS!
Wohnort: NRW
Kontaktdaten:

Re: KI und Purebasic Programmierung

Beitrag von TroaX »

Es bringt auch keinen weiter, KI selbst zu definieren oder über die allgemein gültige Definition zu philosophieren/diskutieren. Ein Computer und Netzwerk basierendes neuronales Netzt ist vereinfacht gesagt dem neuronalem Netz in unserem Gehirn nachempfunden. ChatGPT basiert auf ein solch neuronalen Netz. Ist also die eigene Definition von KI die, das sie ähnlich funktioniert wie unser Gehirn, ist ChatGPT eine KI. Dieses neuronale Netz wurde durch das anlernen (Maschine learning) in die Lage versetzt, unsere Eingaben umfangreich, aber trotzdem begrenzt zu verstehen und zu deuten. Wenn diese Fähigkeit für jemanden eine KI definiert, so ist ChatGPT auch hier eine KI. Trifft etwas mit Hilfe dieses Netzes dann auch eigene Entscheidungen, mit welchem Wortlaut oder mit welchen Informationen der Text generiert wird, dann muss ChatGPT eine KI sein, wenn dies für jemanden ein Attribut für eine KI ist.

Meiner Meinung nach ist der Unterschied zwischen künstlicher und menschlicher Intelligenz der, das eine KI ihre Entscheidungen ausschließlich nach dem "Kopf" und einer mathematischen Logik trifft. Entscheidungen, die davon abweichen sind dann eher als Simulation von Gefühlen oder des freien Willens zu verstehen oder lassen eine unzureichende Datenbasis vermuten. Aber das fehlen von Daten, handeln nach Gefühl oder aus freiem Willen sind meiner Meinung nach kein Indiz dafür, das eine künstliche Intelligenz keine Intelligenz ist. Sondern nur, das sie künstlich ist.

Aber das ist jetzt nur meine Meinung. Offiziell werden die Defizite bestimmt anders definiert/beschrieben. Aber ich denke so fällt es mir persönlich leichter, mit dem Thema umzugehen. Denn mit ChatGPT zu interagieren fühlt sich teils etwas seltsam an und man benötigt ein gewisses Mindset, um die Antworten für sich zu bewerten. Aber es ist auch gleichzeitig sehr beeindruckend und das Thema spannend.
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Pop_OS!
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Pop_OS!
NAS: Fritz.Box :lol:
Coding: Purebasic 6.04 | PHP | HTML | CSS | Javascript
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 6999
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: KI und Purebasic Programmierung

Beitrag von STARGÅTE »

Da hier scheinbar keiner direkt auf Heinzs Kommentar eingegangen ist und auch niemand diesen Code-Müll korrigiert hat möchte ich das kurz machen.
Heinz Mendax hat geschrieben: 09.03.2023 00:53 Abgesehen davon,daß die Syntax sicher durch die KI nachempfunden und richtig erstellt werden kann,
ist wahrscheinlich auch die Befehlfolge richtig. Woher kennt die KI aber die mpo.pbi . Der Code gibt ganz
klar die Verwendung von CreateMpo,AddMpoImage,SaveMpoFile und CloseMpo an als Inhalt der mpo.pbi.
Wer hat die mpo.pbi erstellt und wo kann sie heruntergeladen werden. Ich wäre an dieser Bibliothek
sehr interessiert.
Hallo Heinz,
der ganze Code ist einfach nur ein großer Müll und hat nichts mit PureBasic zu tun. :evil:
  1. Befehle wie CreateImage erwarten als ersten Parameter einen statischen Index oder #PB_Any. Im Falle von #PB_Any wird dann die Image-Nummer zurückgegeben. Da im Code LeftImage und RightImage beide nicht initialisiert sind, also 0 sind, wird zwei mal das Image 0 erstellt, wodurch natürlich das erste Image vom zweiten Image überschrieben wird. Richtig wäre hier:

    Code: Alles auswählen

    LeftImage = CreateImage(#PB_Any, ...)
  2. CreateImage() erwartet als vierten Parameter die Bildtiefe in Bits (und nicht Bytes). Somit müsste es lauten:

    Code: Alles auswählen

    CreateImage(... , BytesPerPixel*8)
  3. Wenn schon Variablen oben definiert werden, dann sollte das auch für x und y geschehen, welche in den Schleifen verwendet werden. Ansonsten gibt es einen Fehler wenn EnableExplicit aktiviert wird.
  4. WritePixel() auf ein Image gibt es nicht. Hier muss mit StartDrawing(ImageOutput(Image)) eine Zeichenausgabe gestartet werden und dann Plot(X, Y, Color) verwendet werden.
  5. Auch den Befehl Rnd() gibt es nicht. Es soll vermutlich Random(Max) sein.
  6. Selbst wenn es diese mpo.pbi gäbe, wäre auch hier der Syntax unten falsch. CreateMpo(MpoData) würde auch hier einfach 0 übergeben bekommen und da in PureBasic die Argumente nicht überschrieben werden (ByRef) bleibt MpoData auch die ganze Zeit 0 was dann sicher zu Speicherzugriffsfehlern führen wird.
  7. Zum Schluss wird nur LeftImage freigegeben. PureBasic gibt beim Programmende alleine alle Ressourcen wieder frei. Wenn man es sauber machen möchte, dann müsste natürlich auch RightImage wieder freigegeben werden.
    Aber die "KI" wusste hier sicher, dass sie oben durch ihren eigenen Codefehler LeftImage überschrieben hatte und da RightImage = LeftImage = 0 ist, ist FreeImage(LeftImage) ausreichend um das rechte Bild zu löschen. :freak:
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
DarkDragon
Beiträge: 6267
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: KI und Purebasic Programmierung

Beitrag von DarkDragon »

Hab schonmal drüber nachgedacht PyTorch in PureBasic nutzbar zu machen. Zumindest für einfache Inferenz. Dazu müsste man einen kleinen C wrapper um libtorch (cpu, c++ Variante von PyTorch) schreiben, damit man zwei Dinge tun kann:

1. Tensoren verwalten
2. Mittels torch.jit.load ein PyTorch Modell laden und dann auf Tensoren anwenden.

PyTorch Modelle lassen sich einfach serialisieren mit torch.jit.script. Es gibt auch ettliche vortrainierte Modelle:

https://pytorch.org/vision/stable/models.html

ChatGPT (GPT3.5) ist ein transformer network, welches in tensorflow implementiert ist. D.h. es nimmt einen Text und übersetzt es in eine Antwort. Ein Vorgänger (gpt-2) ist open source https://github.com/openai/gpt-2 (/src/model.py ist die interessante Datei). PyTorch und Tensorflow sind Alternativen, aber es gibt ein gemeinsames Format zum Austausch: ONNX. Es existieren auch PyTorch alternativen zu ChatGPT.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
jacdelad
Beiträge: 348
Registriert: 03.02.2021 13:39
Computerausstattung: Ryzen 5800X, 108TB Festplatte, 32GB RAM, Radeon 7770OC
Wohnort: Riesa
Kontaktdaten:

Re: KI und Purebasic Programmierung

Beitrag von jacdelad »

@Nic: Da haste Recht. Wahrscheinlich bin ich bei einer künstlichen Intelligenz zu sehr von Mr. Data ausgegangen. Das Problem sehe ich darin, dass eine Software mit Daten gefüttert wird und dann "machen soll". Ich zeige ihr tausende Bilder von Hunden und dann soll sie Hunde erkennen. Das kann sie vermutlich auch. In meinen Augen ist das keine Intelligenz, sondern ein Programm, das eine bestimmte Aufgabe erledigt. ChatGPT geht da weiter, das ist absolut fakt. In meinen Augen (und ich kann mich da durchaus irren) ist es aber nur eine erweiterte Hundeerkennung, die auch andere Dinge erkennt. Eine Art Bewertung und Zitat vorgegebener Daten. Natürlich kann keine KI ihre Daten aus Luft erzeugen, sie "lernt" wie wir auch, aus vorhandenen Daten.

An der Stelle möchte ich mal anmerken, dass ich von vornherein sehr skeptisch gegenüber solchen technologischen Neuerungen bin. Alle neuen Dinge werden sinnlos gehypt (Bitcoins, Teslas...) und stellen sich am Ende als größtenteils Geldmacherei raus. Die großen Firmen springen auf den Zug auf und gewinnen dadurch wieder Nutzer, die sich einwickeln lassen.

Zuguterletzt: Überbewertet oder nicht, es ist ein weiterer Schritt in die Zukunft, in der der Mensch weiter irrelevant wird und Computer sich mit uns unterhalten werden und Entscheidungen treffen. Gut oder schlecht...auch das ist noch nicht absehbar.
PureBasic 6.04/XProfan X4a/Embarcadero RAD Studio 11/Perl 5.2/Python 3.10
Windows 11/Ryzen 5800X/32GB RAM/Radeon 7770 OC/3TB SSD/11TB HDD
Synology DS1821+/36GB RAM/130TB
Synology DS920+/20GB RAM/54TB
Synology DS916+ii/8GB RAM/12TB
DarkDragon
Beiträge: 6267
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: KI und Purebasic Programmierung

Beitrag von DarkDragon »

jacdelad hat geschrieben: 11.03.2023 06:56 @Nic: Da haste Recht. Wahrscheinlich bin ich bei einer künstlichen Intelligenz zu sehr von Mr. Data ausgegangen. Das Problem sehe ich darin, dass eine Software mit Daten gefüttert wird und dann "machen soll". Ich zeige ihr tausende Bilder von Hunden und dann soll sie Hunde erkennen. Das kann sie vermutlich auch. In meinen Augen ist das keine Intelligenz, sondern ein Programm, das eine bestimmte Aufgabe erledigt. ChatGPT geht da weiter, das ist absolut fakt. In meinen Augen (und ich kann mich da durchaus irren) ist es aber nur eine erweiterte Hundeerkennung, die auch andere Dinge erkennt. Eine Art Bewertung und Zitat vorgegebener Daten. Natürlich kann keine KI ihre Daten aus Luft erzeugen, sie "lernt" wie wir auch, aus vorhandenen Daten.
Oha, dass du ausgerechnet auf Hunde kommen musstest. Hunde und Katzen auseinanderhalten ist ein Maßstab an den Wissenschaftler verzweifelten. GPT3.5 kann mit Bildern nichts anfangen, das nimmt deinen Text, einen Systemtext und wandelt den Text um in eine Antwort. Hast du die API gekauft? Da kannst du den Systemtext dazupacken.
Für Object Recognition gibts ganz andere Probleme, da ist aktuell die Generative Adversarial Network (GAN) Lösung ziemlich weit vorne. Man lässt einen Generator und einen Diskriminator gegeneinander trainieren. Der Generator versucht Samples zu generieren um den Diskriminator zu täuschen. So trainiert man sich näher an das Pareto-Optimum dran, weil man nicht nur die initialen "echten" Trainingsbeispiele trainiert, sondern alles dazwischen. Man tastet die Pareto Grenzregion ab.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
jacdelad
Beiträge: 348
Registriert: 03.02.2021 13:39
Computerausstattung: Ryzen 5800X, 108TB Festplatte, 32GB RAM, Radeon 7770OC
Wohnort: Riesa
Kontaktdaten:

Re: KI und Purebasic Programmierung

Beitrag von jacdelad »

Die Hunde sollten nur als Beispiel dienen, es könnten auch andere Dinge (nicht Bilder) sein.
PureBasic 6.04/XProfan X4a/Embarcadero RAD Studio 11/Perl 5.2/Python 3.10
Windows 11/Ryzen 5800X/32GB RAM/Radeon 7770 OC/3TB SSD/11TB HDD
Synology DS1821+/36GB RAM/130TB
Synology DS920+/20GB RAM/54TB
Synology DS916+ii/8GB RAM/12TB
funkheld
Beiträge: 636
Registriert: 31.12.2009 11:58

Re: KI und Purebasic Programmierung

Beitrag von funkheld »

------------------------------
Hunde und Katzen auseinanderhalten ist ein Maßstab an den Wissenschaftler verzweifelten.
-----------------------------
Das glaube ich auch.

Wenn die ein Katzenklo hätten da würden sie herausfinden das Katzenscheiße anders riecht wie Hundescheiße.
SMaag
Beiträge: 152
Registriert: 08.05.2022 12:58

MPO-Datei Einbindung

Beitrag von SMaag »

IncludeFile "mpo.pbi" ; Laden der MPO-Bibliothek

ChatGPT fantasiert hier einfach was zusammen! Wahrscheinlich gelernt aus irgendwelchen Java Applets.
Hab was ähnliches sowohl für PureBasic als auch für FreePascal probiert.
Immer das gleiche: ChatGPT bindet immer eine Datei ein, die die ganze Funktionalität haben soll.
Das war's aber auch schon! Mehr kann es nicht!

Ich hatte versucht mir den Download-Link ausgeben zu lassen. Phantasie-URL, die es nicht gibt.

Dann hab ich versucht, mir die einzubindende Datei von ChatGPT erstellen zu lassen.
Da kommt nix dabei raus. Da dreht man sich im Kreis, es wird wieder was eingebunden, was nicht existiert!
Das sind alles sog. "kluger Hans" Methoden. (kann man googlen KI + kluger Hans).

Für Webanwendungen, wenn es genau, das was man braucht schon 1000x gibt, dann funktioniert das.
Sobald man was neues braucht funktioniert es nicht und wird es wahrscheinlich weiterhin nicht!

Intelligenz kann selbständig was neues erfinden, verbessern und zur Funktion bringen!
Chat GPT kann Im Prinzip nur intelligentes Copy & Paste und dampfplaudern.
KI hat bisher nix mit echter Intelligenz zu tun (Gott sei dank!)

Am ehesten kann man damit Politikergeschwafel ersetzen. (nichtssagende ellenlange Aussagen, und keine Ahnung von irgendwas!)
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8679
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

Re: KI und Purebasic Programmierung

Beitrag von NicTheQuick »

Ich hatte zuletzt für die Arbeit ein TamperMonkey-Skript geschrieben, was eine Kleinigkeit in unserem Ticketsystem ändert, die uns seit dem letzten Update nervt. Ich hab dafür 1-2 Stunden gebraucht bis es komplett lief und "durchdebugged" war.

In einem späteren Gespräch hatte ein Kollege die Idee mal ChatGPT zu fragen, ob es ein Skript mit der selben Funktionalität schreiben kann für Tampermonkey. Und siehe da. Zwei, drei Zeilen Beschreibung dazu, was das Skript tun soll und heraus fiel ein lauffähiges Javascript, was genau das richtige tat. Lediglich mit dem dynamischen Nachladen von Inhalten kam es nicht zurecht. Aber dann haben wir nachgefragt und auch das Problem wurde gelöst. Es hat also keine 10 Minuten gedauert und das Skript lief einfach.

In dem Moment denkt man sich schon: Okay, das ist "nur" GPT-3.5. Was wird wohl GPT-4 dann können. :doh:

Und naja, Purebasic. Ihr wisst ja selbst, dass das eine Nischensprache ist und es deswegen kaum viel darüber gelernt haben kann. Dazu müsste man dann genaueres zu den Quellen wissen, die benutzt wurden um das Netz zu trainieren.
Bild
SMaag
Beiträge: 152
Registriert: 08.05.2022 12:58

Re: KI und Purebasic Programmierung

Beitrag von SMaag »

Ich hatte zuletzt für die Arbeit ein TamperMonkey-Skript geschrieben
Als Werkzeug ist ChatGPT schon ne geile Sache! Statt lange in Dokus oder Beispielcodes zu suchen, haut dir das Ding was raus, wofür man selbst eine lange Recherche gebraucht hätte! Wenn es das ganze schon irgendwie gibt, ist es recht nah an einem lauffähigem Code.

Aber z.B. beim Einlesen und Anzeigen von STL, STEP, IGES Dateien scheitert das ganze in allen von mir probierten Sprachen!
Hier ist das Problem, dass es das so einfach nicht schon mehrfach öffentlich zugänglich gibt!
Antworten