Ich versuche, eine Sci-Fi-Einstellung in einer nicht allzu fernen Zukunft zu schreiben, in der die Verarbeitung analoger Signale (in diesem Fall Gehirnwellen) einer der Hauptpunkte der Handlung ist und ziemlich erforderlich ist, um einige der Mechanismen zu erklären, die darin ablaufen das Weltall.
Die Analog-Digital-Konvertierung ist teuer und kann Daten in eine einfacher zu handhabende endliche Menge von Werten komprimieren, die im Gegenzug dazu führen würden, dass einige Informationen im Prozess verloren gehen. Das ist etwas, was ich nicht möchte, da einige der Mechanismen, die zur Entwicklung der Handlung erforderlich sind, subtile Unterschiede in den Gehirnwellen einer Person erfordern (in diesem Fall als eine Art biometrischer Schlüssel verwendet). Dieser letzte Teil kann vermieden werden, indem man einfach mehr Ressourcen auf einen normalen digitalen Computer wirft, aber das ist faul und etwas, das ich nicht will, da ein analoger Computer interessantere Details und Implikationen ermöglichen könnte.
Wie realisierbar wäre es für die Welt, wieder analog zu werden? In der Vergangenheit hatten wir analoge Computer, aber wir wechselten zu digitalen, weil sie anscheinend nicht auf Programmierbarkeit ausgelegt waren (sie waren wie ASICs) und bald wurde digital besser als analog, sodass es keinen Grund gab, zu versuchen, sich zu verbessern eine veraltete Technologie. Ebenso arbeiten die meisten unserer Telekommunikationsgeräte mit Wellen und analogen Signalen, aber sie werden an einem bestimmten Punkt des Prozesses (dh dem Modem) in digitale umgewandelt und verlieren alle Eigenschaften, die ein analoges Signal hat.
DARPA hat bereits 2012 versucht, eine analoge „Cellular Neuronal Network“-CPU (Projekt UPSIDE) für Computer Vision zu bauen, aber es gibt nicht viele Informationen darüber. Anscheinend ermöglicht es viel schnellere Geschwindigkeiten bei niedrigeren Energiekosten, auf Kosten einiger Fehler von Zeit zu Zeit und was als eine ganz andere Art der Problemlösung beschrieben wurde. Das Problem ist, dass es nichts darüber aussagt, wie programmierbar es ist (was es anscheinend ist, aber es erwähnt nicht, ob es Turing vollständig ist oder nicht). Außerdem scheint es sich um einen Hybrid-Analog-Digital-Computer zu handeln, was das Konzept war, über das ich ursprünglich nachgedacht hatte, es in meine Geschichte aufzunehmen.
Könnten wir in der Zukunft die folgenden Dinge sehen? Wie überlegen wären sie ihren digitalen Pendants? Hätten sie irgendwelche Einschränkungen?
Denken Sie daran, dass dieses Setting zwar überhaupt kein hartes Sci-Fi sein soll, aber es ist auch keine Fantasy-Wissenschaft. Was auch immer die Antworten sind, sie sollten in der Realität zumindest entfernt realisierbar sein, und insbesondere in den folgenden 70 Jahren oder weniger machbar sein, obwohl die Informatik immer einige Durchbrüche erzielen könnte. Es sollte kein Aufheben des Unglaubens erforderlich sein, um die Umgebung zu genießen, selbst wenn Sie sich auf diesem Gebiet etwas auskennen.
Hinweis: Ich schätze, Sie könnten einige Parallelen vom analogen Rechnen zum Quantencomputing ziehen, da beide am besten (oder nur) mit probabilistischen Algorithmen statt mit deterministischen Algorithmen zu funktionieren scheinen, aber hier geht es nicht um Quanten. Quantentechnologie existiert in dieser Umgebung, aber sie ist äußerst selten und wird nur in bestimmten Kontexten verwendet, ganz zu schweigen davon, dass das meiste davon äußerst experimentell ist und die breite Öffentlichkeit die Existenz einigermaßen brauchbarer Prototypen nicht wahrnimmt.
Bearbeiten:Genauer gesagt bestehen der Kontext und die Anwendungsfälle dieser Technologie darin, dass Benutzereingaben jetzt über eine Art Matrix von Elektroden verarbeitet werden, die in das Gehirn implantiert werden und in der Lage sind, die Gehirnaktivität/Gedanken des Benutzers zu lesen. Die Software, die die Ausgabe dieser Matrix verarbeitet, versucht bereits, die Gehirnaktivität in eine Art "universelle Gehirnsprache" umzuwandeln, die die Unterschiede zwischen menschlichen Gehirnen überdeckt, aber immer noch ein analoges/reelles Zahlen-/Wellensignal für die Feinpräzision benötigt (nicht wie in fehlerfrei, aber wie beschrieben) und hoher Durchsatz. Analoge Signale wurden gewählt, weil sich das Gehirn leicht von kleinen Fehlern und Diskrepanzen erholen kann und weil es der Funktionsweise des menschlichen Gehirns ähnlicher ist, aber aufgrund von Einschränkungen des Feedback-Systems "verzögert"
Dies ist auch der Grund, warum Computer gleichzeitig Operationen an ihrem kontinuierlichen analogen Ausgangsstrom ausführen, um die Zeit zu verkürzen, die der Benutzer auf eine Antwort wartet. Dies ist auch der Grund, warum alle Algorithmen, die direkt aus der Benutzerwelle lesen, auch gleichzeitig laufen: Es ist besser, die Welle spät zu aktualisieren, als sie anzuhalten, bis die Antwort verarbeitet ist. Darüber hinaus kann aufgrund der Natur des Gehirns ein Gedanke oder eine Gedankenfolge gelesen und vorhergesagt werden, während er gebildet wird, aber nicht bestätigt werden, bis er vollständig gebildet ist. Dieses Detail ist äußerst wichtig, da das Plotgerät auf dieser Tatsache basiert.
Stellen Sie sich den Informationsaustausch zwischen einem Computer und einem Menschen als ein normales Gespräch zwischen zwei Menschen vor (es wäre eher wie Telepathie, aber nehmen wir der Einfachheit halber an, dass sie nur miteinander sprechen).
Was hier wirklich passiert ist, ist, dass der Benutzer die Löschung einer bestimmten Datei angefordert hat. Während der Benutzer seinen Satz formulierte, begann der Computer bereits mit allen notwendigen Vorbereitungen für seine Ausführung, ähnlich wie wir Menschen uns unterhalten: Wir können ein Wort anhand seines Lexems identifizieren, bevor das Wort vollständig gebildet ist, also können wir es mehr oder weniger erraten was als nächstes kommen wird, aber wir können die vollständigen Auswirkungen dieses Wortes nicht vollständig verstehen, bis wir alle Morpheme (falls vorhanden) hören. Ebenso können wir versuchen, wild zu raten, welches Wort als nächstes kommen könnte, und versuchen zu verstehen, was die andere Person uns zu sagen versucht, aber wir werden uns über die Einzelheiten nicht sicher sein, bis der gesamte Satz vollständig ist. Ebenso kann ein einzelner Satz etwas Licht in den Kontext des vorliegenden Themas werfen usw. Nachdem die Anfrage des Benutzers abgeschlossen wurde,
Dieser Punkt ist äußerst wichtig, da die Hacker der Zukunft versuchen werden, die Maschine dazu zu bringen, etwas anderes zu tun (oder sie einfach zum Stillstand zu bringen), indem sie sie mit einer Art "Punchline" überraschen, die sie überraschen kann. Da Sicherheitsprogramme gleichzeitig laufen, können sie den vollen Umfang der Benutzeraktionen erst dann wirklich verstehen, wenn es bereits zu spät ist. Stellen Sie sich das so vor, als würden Sie dem gegnerischen König über mehrere Runden hinweg eine Falle stellen: Die meisten der zuvor gemachten "unlogischen" Bewegungen beginnen in dem Moment Sinn zu machen, in dem Ihr König getötet wird. Der Absatz, in dem es um Kraniche ging, sprach eigentlich von Vögeln und nicht von Kästen, aber der Computer hätte das nie kommen sehen können, da er hauptsächlich mit Sätzen arbeitet und nicht mit Kontexten, die so groß wie ein Absatz oder kleiner Text sind; allgemein,
Um zu identifizieren, was der Benutzer zu sagen versucht, enthält eine moderne CPU ein neuronales Netzwerk, das es dem Betriebssystem ermöglicht, Wörter rückwirkend zu verstehen, nachdem es eine Reihe von Buchstaben gehört hat. Meistens wird dies durch die Verwendung von Bibliotheken und APIs von Userland-Programmen abstrahiert, obwohl sie je nach ihren Berechtigungen möglicherweise Zugriff auf den Wavestream erhalten.
Das zuvor erwähnte „biometrische Authentifizierungssystem“ arbeitet tatsächlich auf großen Segmenten des Streams. Da die automatische Konvertierung in die "universelle Gehirnsprache" die Varianz zwischen den Gehirnen der Benutzer reduziert (nicht entfernt!), ist es unmöglich, einen Benutzer allein anhand dieser Unterschiede zu identifizieren (ganz zu schweigen von dem, obwohl kleinen, aber zufälligen Rauschen der Leitung). , wäre ein solcher Detaillierungsgrad unmöglich). Aus diesem Grund arbeitet die Benutzerauthentifizierungssoftware mit einem größeren Satz von Gedanken: Sie erkennt den ungefähren Geisteszustand des Benutzers (aufgeregt, wütend, entspannt usw.) und „Manierismen“, die er möglicherweise hat. Dies entspricht mehr oder weniger dem Akzent, den eine Person haben kann, oder der stilometrischen Analyse ihrer Texte: Sie identifiziert sie mit einem hohen Maß an Genauigkeit, ist aber nicht unfehlbar.
Diese "universelle Gehirnsprache", von der ich spreche, wäre mehr oder weniger wie jede menschliche Sprache (wie Englisch). Es verschlüsselt Informationen, damit jeder sie verstehen kann, aber es ist nicht digital, weil die Art und Weise, wie Sie sprechen, möglicherweise etwas mehr über Ihre Botschaft aussagt, als die Sprache ausdrücken kann. Das bedeutet, dass der Benutzer im Konversationsbeispiel möglicherweise daran denkt, als Symbol A mit dem Änderungsfaktor B zu löschen, während die Software es in das Symbol X mit dem Änderungsfaktor Y übersetzt (was gleich B sein kann, obwohl ich nicht daran gedacht habe das noch. Ich glaube nicht, dass es wirklich wichtig ist). Der Änderungsfaktor sagt dem Computer, dass Sie nicht nur ans Löschen gedacht haben, sondern dass es sich auch so anhört, als wäre der Benutzer etwas verzweifelt oder wütend: Es sind analoge Metadaten, die schwer ins Digitale zu übersetzen wären, ohne ihre Bedeutung abzuschlachten. Hier versuchen die neuronalen Netzwerke der CPU zu erraten, was diese Metadaten bedeuten, ähnlich wie ein Mensch versuchen würde zu erraten, was dieser Tonfall bedeutet; es kann leichter zu erraten sein, wann der modifizierende Faktor stärker ist.
Was ich ursprünglich mit dieser Frage gemeint habe, ist: Wie könnte die CPU diese Gehirnwelle verarbeiten? Könnte eine Technologie direkt auf dieser Welle durch die Verwendung von analogen Betriebsprogrammen arbeiten oder wäre eine Umstellung auf digitale für alle Fälle erforderlich? Beachten Sie, dass die CPU über einen digitalen Coprozessor verfügt, der die Probleme verarbeiten kann, bei denen der analoge Computer nicht so gut verarbeiten kann, obwohl die Kommunikation zwischen diesen beiden etwas langsamer sein kann, ebenso wie die Übertragungen vom Speicher zum On-Die-Cache langsam sind. Könnte die analoge CPU eine universelle Turing-Maschine sein, unabhängig davon, wie praktisch das sein könnte? Alternativ, falls dies nicht der Fall ist,Wäre eine analoge Emulation auf einer digitalen CPU (emulierte neuronale Netzwerksimulationen, wie eine partielle Gehirnsimulation) die einzige Möglichkeit, dieses Problem anzugehen? Könnten außerdem Informationen über eine Welle irgendwo persistent gespeichert werden? Könnte die gespeicherte Welle tatsächlich als Welle und nicht als "Parametrisierung" einer Welle gespeichert werden?
Ich spiele sehr gerne mit diesem Thema, also werde ich die Frage auf den Kopf stellen. Jeder Computer, der heute hergestellt wird, ist ein Hybrid-Analog/Digital-Computer, den Sie vielleicht nicht kennen!Moderne Taktraten sind so unglaublich schnell, dass wir mitten in unseren vermeintlich digitalen Geräten analoge Signalkonditionierung durchführen. Moderne Speichersubsysteme verwenden analoge Techniken, um so viele digitale Bits wie möglich durch die Leitung zu kurbeln. Physische Leiterbahnen entlang der Platinen werden so verlegt, dass sie die gleiche Länge wie andere Drähte auf dem Bus haben, und sind Strukturen, die analoge Übertragungsleitungen auf dem CB leiten. CPUs müssen sich regelmäßig mit dem Anstieg der parasitären Kapazität zwischen ihren Logikelementen befassen, wodurch das "Fanout" eines Ausgangs auf mehrere Eingänge begrenzt wird. Gigabit-Ethernet ist tatsächlich auf die analoge Überlagerung von Spannungen angewiesen, um seine extremen Geschwindigkeiten zu erreichen. Analog taucht überall in der Computertechnik auf, also ist es eindeutig nicht die Hardware, über die wir sprechen, wenn wir über analog vs. digital sprechen.
Ich denke, die wichtigere Unterscheidung zwischen der analogen und der digitalen Welt findet sich in unseren Modellen dieser Computer-Subsysteme. Es ist nicht so, dass eine CPU nicht analog/digital gemischt ist, sondern die Tatsache, dass wir unsere CPUs so modellieren , als wären sie rein digital, was wirklich wichtig ist. Wir tun gerne so, als wären unsere CPUs perfekte digitale Strukturen, wenn wir Tausende von Codezeilen schreiben, die darauf ausgeführt werden sollen. Die Kluft zwischen analog und digital ist eher in den Köpfen der Entwickler als in der eigentlichen Hardware. Die Hardwarehersteller haben den analogen Teil ihrer Arbeit längst angenommen.
Dementsprechend würde die Realisierbarkeit von "analogem" Rechnen stark auf dem Wunsch von Programmierern beruhen, Fragen zu beantworten, die am besten analog gehandhabt werden. Ist der Wunsch erst einmal da, werden ihnen die Hardware-Hersteller gerne analoges Verhalten aussetzen. Dann würde das langsame Schleifen in Richtung nützlicher analoger Verhaltensweisen beginnen (hier passt die DARPA-Bemühungen hinein).
Wann ist also ein analoges Modell sinnvoll? Die wichtigste Antwort, die mir einfällt, ist Metastabilität. Digitale Schaltungen lösen wirklich gerne für jedes Bit an Informationen entweder einen wahren oder einen falschen Zustand auf. Wenn Sie vielen digitalen Logikschaltungen eine Spannung auf halbem Weg zuführen, können Sie tatsächlich in trippige metastabile Zustände eintreten, in denen die Schaltung tatsächlich für eine beliebige Zeit aufhören kann, sich wie beabsichtigt zu verhalten, nachdem die Spannung auf halbem Weg aufgelöst wurde. Auf der Hardwareebene verbringen wir viel Zeit damit, unsere Logikschaltungen daran zu hindern, jemals die metastabilen Punkte zu "sehen", wenn die Spannungen von niedrig nach hoch schwingen, wobei wir normalerweise "Taktung" verwenden, um dies zu tun.
Wo wäre das sinnvoll? Eine Sache, die Sie erwähnt haben, war Energie. Analoges Rechnen kannenergieeffizienter sein als digital, weil es sein Signal-Rausch-Verhältnis an den Moment anpassen kann. Stellen Sie sich eine digitale Zahl vor, in Binärform, 100001. Dies ist die Zahl 33 in Dezimalzahl. Wenn das ganz linke Bit durch Rauschen beschädigt wird, wird es zu 000001, was dezimal 1 ist. Wenn das Bit ganz rechts durch Rauschen beschädigt wird, wird es 100000, was 32 dezimal ist. In manchen Situationen ist der Unterschied in der semantischen Bedeutung von 33 und 32 ziemlich gering, und Sie sind möglicherweise bereit, einen Fehler im Bit ganz rechts zu akzeptieren, um dafür effizienter zu sein. Möglicherweise sind Sie weniger bereit, einen Fehler im Bit ganz links zu akzeptieren, das 33 in 1 ändert. Wenn diese 33 jedoch in einer Gleichung enthalten ist, sagen wir vielleicht 33 - 32, macht diese Subtraktion plötzlich alle Bits wichtig. Der Unterschied zwischen einer 1 oder einer 0 aus dieser Subtraktion könnte eine sehr große Sache sein! Digitale Modelle können eine solche Entscheidungsfindung nicht umsetzen, weil sie dafür ein analoges Modell darunter zulassen müssten. In der Zwischenzeit hat Ihr Verstand kein Problem damit, einen Zentimeter daneben zu sein, wenn Sie mit der Hand von links nach rechts winken, um sich von jemandem zu verabschieden, und dann die Präzision erhöhen, um etwas leserlich zu schreiben.
Dies wäre sehr leistungsfähig, wenn Sie mit sehr komplizierten parallelen Operationen zu tun haben. Wenn derzeit zwei Prozesse versuchen, unterschiedliche Werte an dieselbe Stelle zu schreiben, müssen sie „entkonfliktet“ werden. Einer muss gewinnen, der andere muss verlieren. Der Vorgang geschieht im Handumdrehen, viel schneller, als es beiden Prozessen bewusst war. Was wäre jedoch, wenn Ihre beiden Prozesse intelligenter sein und ihre Unterschiede tatsächlich durchsprechen wollten, um zu bestimmen, wie das Endergebnis aussehen könnte? Dies wäre eine natürliche Operation in einem analogen Computer. In einem digitalen Computer müssen wir viele Hürden durchlaufen, um dies zu erreichen (und normalerweise entscheiden wir uns einfach dafür, den „Rennfall“ in seiner Gesamtheit zu beheben und weiterzumachen).
Ein letzter Punkt der Metastabilität ist seine Fähigkeit, still zu sein. Ein Schaltkreis, der sich in seinem metastabilen Zustand befindet, kann bereit sein, bei der geringsten Empfindung zum Leben zu erwachen. Dies ist in digitaler Form schwierig, da die Lücken zwischen niedrigen und hohen Signalen so groß sind. Normalerweise müssen wir digitale Schaltkreise kundenspezifisch anpassen, um diese schnellen Feuersignale weiterzuleiten, während ein analoger Computer sie möglicherweise bei allen Signalen intrinsisch handhabt. Wenn ein Computer anhält, muss er in einem festen Zustand anhalten. Die Berechnung wird beendet. Ein analoger Computer kann stattdessen den Energieverbrauch immer weiter senken und in Richtung eines ausgeglichenen Zustands fahren, ohne wirklich zu stoppen. Wenn der Computer dann fortgesetzt wird, hat er möglicherweise tatsächlich etwas erreicht, während er gestoppt wurde!
In der Zukunft könnten Sie einen Durchbruch bei der Entwicklung analoger Computer erzielen, die die Funktionen und die Effizienz eines menschlichen Gehirns emulieren . Ähnlich wie heute ein digitaler Computer mit einer spezialisierten GPU für Grafiken gekoppelt ist, hätte das analoge Gehirn einen digitalen CPU-Co-Prozessor, um die Dinge zu bewältigen, in denen digitale Computer gut sind. Im Wesentlichen hätten Sie eine Sache, die die Dinge tun könnte, in denen Menschen gut sind (Mustervergleich, Schätzung), die auf eine Sache verweisen können, in der Computer gut sind (sehr schnelle, sehr präzise Mathematik).
Stellen Sie sich einen Roboter vor, der nicht nur über Politik debattieren, sondern dabei auch die Recherchen und Statistiken durchführen könnte, die zum Abwägen ihrer Entscheidungen erforderlich sind.
Sie können zwei Merkmale von analogem vs. digitalem Computing in Ihrer Welt nutzen: Hitze und Präzision vs. Genauigkeit. Und bauen Sie auf unserem jahrzehntelangen Versagen auf, KI mithilfe digitaler Computer zu erreichen, etwas, von dem wir seit den 60er Jahren das Gefühl haben, an der Schwelle dazu zu stehen. Ich stelle mir eine Welt vor, in der, da Computer immer mehr in den Alltag integriert werden, Maschinen mit menschenähnlichem Denken immer wichtiger werden und analoge Computer darin besser sind.
Menschliche Gehirne unterscheiden sich in einigen wichtigen Punkten von digitalen Computern. Digitale Computer müssen von Menschen entworfen, verstanden und gebaut werden, und Menschen mögen einfache, ordentliche Dinge. Das menschliche Gehirn hat sich über Hunderte von Millionen Jahren von Versuch und Irrtum entwickelt und hat keine solche Zurückhaltung. Infolgedessen kann das menschliche Gehirn Dinge auf überraschende Weise tun. Digitale Computer werden von Menschen gebaut, um einfach zu sein , sie kombinieren viele, viele von wenigen grundlegenden Teilen auf neuartige Weise. Das menschliche Gehirn ist sehr, sehr, sehr komplexTausende von spezialisierten Neuronen werden verwendet, die jeweils mehrere spezialisierte Aufgaben erledigen und auf überraschende Weise wiederverwendet und neu kombiniert werden. Das Ergebnis ist ein digitales Gehirn, das vorhersehbar und präzise ist, aber auf Kosten von Flexibilität und Effizienz, während ein menschliches Gehirn unberechenbar und schlampig, aber sehr flexibel und sehr effizient ist.
Ihre zukünftige Gesellschaft wird einen Grund brauchen, um von Präzision und Vorhersagbarkeit zu Flexibilität und Effizienz überzugehen.
Digital Computing macht eines wirklich gut: Es berechnet sehr präzise, sehr vorhersagbar und sehr schnell eine bestimmte Teilmenge von Problemen . Bei anderen Problemen wird es erschreckend langsam sein. Es wird genau das tun, was Sie ihm sagen, und das ist alles, was es tun wird . Und wie wir alle wissen, fällt es digitalen Computern sehr schwer, etwas Neues zu lernen oder damit umzugehen. Wie wir alle wissen, ist es selbst für eine gute KI sehr einfach, ein überzeugendes Gespräch zu führen.
Das menschliche Gehirn, ein analoger Computer, ist manchmal sehr präzise ( einen Baseball schlagen ), manchmal sehr schlampig (Mathematik und Statistik), manchmal sehr schnell (Baseball und Schätzung), manchmal sehr langsam (präzise Mathematik), aber es wird Ihnen etwas geben eine Antwort. Und es kann einige Probleme viel, viel schneller und zuverlässiger lösen als ein Computer, zum Beispiel Computer Vision, Pfadfindungsprobleme und Mustererkennung. Es macht alles sehr, sehr, sehr effizient und kann sie alle bewältigen . Es ist ein wirklich universeller Computer. Dasselbe Gehirn, das einen Fastball schlagen kann, kann rechnen, ein Gespräch führen, über Hindernisse rennen und eine Mahlzeit kochen.
Das menschliche Gehirn ist extrem effizient und wir können es bei weitem nicht nachahmen, wozu es fähig ist. Nehmen wir zum Beispiel das Human Brain Project . Professor Steve Furber von der University of Manchester hat dies zu seinem Versuch SpinNNaker zu sagen .
Mit 1.000.000 [ARM]-Kernen erreichen wir nur etwa 1 % der Größenordnung des menschlichen Gehirns.
Der ARM968, den sie verwenden, ist nicht gerade erstklassig, der Nintendo DSi verwendet einen mit 133 MHz, aber er zeigt, wie wichtig Parallelität und Wärmemanagement in modernen Computern sind und wie schlecht wir darin sind.
Hier sind ein paar Computerphile- Videos zu diesem Thema.
Tatsächlich habe ich in meinem "Gap Year" um 1968 bei Redifon (dem industriellen Arm von Rediffusion, einem avant-le-lettre-Kabelunternehmen) an analogen Computern gearbeitet.
Ich schätze, diese waren (damals) ziemlich hochmodern, aber sie waren nicht das, woraus eine Seidengeldbörse gemacht ist.
Ich kann keine Bilder finden, aber zum Programmieren mussten Kabel in ein Patchboard von etwa 100 cm x 80 cm mit vielleicht 50 x 40 Steckdosen gesteckt werden. Ein vollständiges Problem kann 100-400 Kabel umfassen (denken Sie daran ), ganz zu schweigen von mehreren Dutzend Seiten mit Notizen.
Sobald ein Programm funktionierte, gab es in Echtzeit Antworten auf Variationen von Eingaben oder Parametern, mit einer Geschwindigkeit und Genauigkeit, die die digitale Welt erst um das Jahr 2000 (30 Jahre später!)
Das Debuggen war ein Problem (es gab keine Möglichkeit, Variablen zu verfolgen); und Stabilität war eine andere: Wenn einer der Operationsverstärker (JFET-Eingänge, bipolare Ausgänge) instabil wurde, wurde der gesamte Computer zu dem, was wir einen "Weihnachtsbaum" nannten, bei dem alle Überlastungslampen blinkten.
Also deine Fragen: analog CPU
: vergiss es.
hybrid CPU
: keine Ahnung.
analog/RAM storage
: theoretisch möglich mit [Super]-Kondensatoren, aber nicht sehr praktisch.
Analog-oriented programming languages
: Ich kann wirklich keine Brücke zwischen den Drähten auf einem Patchpanel und dem modernen Konzept der Programmierung erkennen.
Wenn Sie in Ihrer Geschichte das echte Leben parallelisieren möchten, sollten Sie besser Analog-Digital-Wandler verwenden und so viele Bits haben, wie Sie brauchen, um die feinsten Emotionen einzufangen.
Sie wurden schon einmal ausprobiert und sind schlechter als digital.
MOSFET VS BJT Die Kernkomponente von CPU und Speicher sind also elektrische Schalter, die als Transistoren bezeichnet werden. Es gibt zwei Haupttypen, digitale MOSFET-Transistoren und analoge Bipolartransistoren. Der Grund, warum Computer digital sind, liegt darin, dass MOSFETS viel besser sind. Analoge Schaltungen werden nur verwendet, wenn die Schaltung analog sein muss.
MOSFETS haben einen stärkeren Leistungseffekt, da sie nur dann Strom verbrauchen, wenn sie BJTs schalten, verbrauchen sie Strom, wenn die Maschine eingeschaltet ist. MOSFETs können viel kleiner gemacht werden, ohne Fehler einzuführen, da sie kleinere Leckströme haben. Das bedeutet, dass Sie 100 oder 1000 MOSFETs für den gleichen Leistungsraum und die gleiche Wärme eines BJT erhalten können.
Analoge CPU- und RAM-Versuche wurden mit mehrstufiger Logik durchgeführt, sie waren weniger effektiv als nur digitaler
Es gibt hybride analoge digitale Prozessoren, die normalerweise analoge Eingaben in digitale Prozesse umwandeln und dann wieder in analoge Ausgaben umwandeln. Schauen Sie sich Mikrocontroller wie den Arduino an.
Aktuelle Computer simulieren analoge Zahlen mit Gleitkommazahlen und haben spezielle digitale Prozessoren zum Simulieren von Gleitkommaoperationen. Wenn analoge Prozessoren besser würden, könnten sie Fließkommaeinheiten in aktuellen CPUs ersetzen.
Theoretisch enthält ein analoger Datenpunkt unendlich viele Informationen, wenn er mit unendlicher Genauigkeit gemessen werden kann, seine 1,23245 ... Volt, die Dezimalstellen gehen theoretisch ewig weiter. Aber wir können diese Punkte niemals verwenden, weil es zufälliges, unvorhersehbares Rauschen gibt. Ein großer Teil der Elektrotechnik versucht, mit Rauschen fertig zu werden. Da das Rauschen einige der Informationen nutzbar macht, warum nicht einfach mit einem kleineren, weniger verrauschten Datensatz beginnen. Die Informationstheorie zeigt, dass das Entfernen von zufälligem Rauschen aus einem Signal ein wirklich schwieriges Problem ist, es sei denn, Sie kennen das ursprüngliche Signal bereits.
Optisch ist cool, aber immer noch 1000x zu groß und 1000x zu langsam, um mit Standard-CPUs mithalten zu können. Ich sollte dies nur ins rechte Licht rücken. Eine aktuelle CPU hat etwa 3 Milliarden Transistoren, die eine Milliarde Mal pro Sekunde umschalten. Ein Hauptanliegen beim Design ist, dass Elektronen genug Zeit haben müssen, um den Chip zwischen den Schaltern zu überqueren, und weil sie sich nur mit der Geschwindigkeit bewegen von Licht legen sie in dieser Zeit nur ein oder zwei Zoll zurück. Das Ganze kann unter dreißig Dollar kosten. Es ist schwer, damit zu konkurrieren.
Es könnte sich lohnen, darüber nachzudenken, was die Natur getan hat. „Es gibt nichts Neues unter der Sonne“ stimmt nicht, ist aber auch nicht sehr weit hergeholt.
Die digitale Datenverarbeitung scheint also an erster Stelle gestanden zu haben. DNA, RNA, Stoppcodons, ein Escape-Codon, epigenetische Markierung, Fehlererkennung und Korrekturmechanismen in jeder Zelle. Es scheint alle Eigenschaften eines digitalen Systems zu haben. Ein Fehler um eine Basis (Bit) kann keine Auswirkungen haben oder den Organismus (Ergebnis) vollständig verändern.
Und dann entwickelten sich hybride Systeme. Nerven und neuronale Netze. Gehirne. Wir verstehen sie nicht ganz. Ein einzelnes Neuron akzeptiert viele analoge Eingaben von anderen Neuronen und scheint so etwas wie eine gewichtete Summe seiner Eingaben zu erzeugen. Wenn diese Summe einen Schwellenwert überschreitet, "feuert" das Neuron. Die Zelle ist bistabil, binär, feuernd oder nicht. Die Gewichte werden durch das Feuern verbundener Neuronen modifiziert. Und in einem Gehirn sind Neuronen Elemente eines absolut riesigen Netzwerks.
Synapsen, die Verbindungen zwischen dem Ausgang eines Neurons und dem Eingang eines anderen Neurons, sind komplexe molekulare Systeme. Nicht einfach analog. Thermisch laut. Möglicherweise eher quantenmagisch als nur laut. Hüten Sie sich vor jedem, der sagt, dass einzelne Synapsen einfach und gut verständlich sind.
Was fehlt, sind reine Analogsysteme ohne Hysterese. Die Systeme der Natur scheinen, wenn sie auf analoge Eingaben reagieren, immer mit Triggerschwellen ausgelegt zu sein, die größer sind, um sie zum Einschalten als zum Ausschalten zu veranlassen. Nicht anders als ein gewöhnlicher elektrischer Schalter. Nein auf halbem Weg.
Rein analoge Rechner? Bauchgefühl, außer für sehr eingeschränkte Problembereiche nicht sinnvoll. Hybride, Gehirne, die digitalen CPUs an sich überlegen sind? Offene Frage.
Ich erinnere mich an dieses Beispiel aus einem vor langer Zeit erschienenen Artikel in Scientific American, weil es so völlig kontraintuitiv war (On the Spaghetti Computer and other Analog Gadgets for Problem Solving," in der Computer Recreations Column (1984) http://www.scientificamerican.com /article/computer-recreations-1984-06/ ).Analoges Rechnen kann in vielen Fällen schneller sein als digitales Rechnen,aber anscheinend nur in der eigentlichen Verarbeitung.Eingabe und Ausgabe erforderten viel Arbeit und konnten zeitaufwändigsein.
Das angegebene Beispiel war ein "Spaghetti-Computer". Wenn jeder Strang ungekochter Spaghetti entsprechend den Eingaben auf eine andere Länge geschnitten würde, könnten Sie theoretisch einen Computer bauen, indem Sie die Spaghettilängen in Ihrer Hand entsprechend den Eingaben zusammensetzen und das Bündel "Ende auf" auf die Theke schlagen. Die Antwort würde sich aus dem Muster von hohen und niedrigen Spaghetti-Enden ableiten, die am anderen Ende Ihrer Hand von der Theke abstehen.
Sie haben also Minuten oder Stunden damit verbracht, die Längen Ihres Spaghetti-Computers zu schneiden und zusammenzusetzen, und müssen möglicherweise einige Zeit damit verbringen, sich die "Ausgabe" anzusehen, um die Antwort zu verstehen, aber der eigentliche Akt der "Berechnung" dauert den Bruchteil einer Sekunde das Spaghettibündel auf den Boden knallen.
Während dies ein bisschen sinnlos erscheint (und die Skalierung zur Lösung wirklich großer Probleme mit einem „Super Spaghetti Analogue Gadget“ auch schwierig und chaotisch sein wird, bis Sie es für die Post-Computational-Dinner-Party einkochen), sind analoge Computer potenziell brauchbar für die Lösung NP lösen Probleme, die digitale Computer für Äonen blockieren würden.
Der eigentliche Knackpunkt ist also, welche Art von Problemen gelöst werden, die die besonderen Eigenschaften eines analogen Computers erfordern. Sofern Sie nicht versuchen, ein NP-vollständiges Problem zu lösen oder das "Halteproblem" einer Turing-Maschine zu vermeiden, wurden digitale Computer auf ein sehr hohes Maß an Leistung und Genauigkeit verfeinert. Der einzige andere große Vorteil einer analogen Maschine ergibt sich aus der Tatsache, dass die meisten Beispiele, von denen ich je gehört habe, im Wesentlichen mechanischer oder elektrochemischer Natur sind, sodass sie nicht durch Stromspitzen, EMP und andere Umweltfaktoren beeinträchtigt werden, die digitale Computer stören können.
Ich beantworte nicht alle Ihre Punkte, aber ...
Analoge CPU, auf der die Programme ausgeführt werden, die wir heute ausführen , nein (wie bereits beantwortet). Analoge Computer wurden nicht für schrittweise sequentielle Operationen entwickelt; Sie wurden entwickelt, um bestimmte Klassen von weitgehend mathematischen Problemen zu lösen.
Hybrid , sicher ... kein Grund, warum ein digitaler Computer nicht an einen analogen Computer angeschlossen werden könnte, obwohl dies möglicherweise nicht viele Vorteile bietet.
Analoges RAM ... vielleicht keine so tolle Idee. Beispielsweise kann das Speichern einer Menge als Ladung funktionieren, bis sie ausläuft und der ausgelesene Wert nicht mit dem gespeicherten Wert übereinstimmt. So ziemlich jedes andere Konzept, das Sie sich für die analoge Speicherung vorstellen könnten, wäre anfällig für Verzerrungen oder den Verlust der gespeicherten Informationen. Analog ROM hingegen ist total praktisch - der gute alte Phonographenmaster.
Ganz analog kommunizieren – ganz praktisch. So haben wir die Dinge bis in die 1970er für Sprache gemacht und bis mindestens in die 1990er für Video. Sogar digitale Daten gingen ursprünglich als analoge Töne über die Leitung.
Ich möchte einen anderen Weg gehen:
In einem analogen Allzweckcomputer ... wie stellt man ein NAND-Gatter her?
Der Grund, warum Allzweckcomputer so flexibel sind, ist die Tatsache, dass jedes einzelne Stück der Logik im Inneren aus einem einzigen Element erstellt werden kann: dem NAND-Gatter. Umgekehrtes Und. Dies bietet funktionale Vollständigkeit ... alle anderen Logikfunktionen können nur mit NAND-Gattern aufgebaut werden.
Jetzt können Sie ganz einfach platz- und energieeffizientere Gatter für diese anderen Logikfunktionen erstellen ... aber der Schlüssel ist, dass alles aus einem Konzept herausgekocht werden kann und aus diesem Konzept alles andere aufgebaut werden kann.
Was ist also das analoge Äquivalent eines NAND-Gatters?
Ich könnte mir eine Verschmelzung von analogen und digitalen Schaltungen vorstellen; wir machen solche Sachen die ganze Zeit. Sie haben eine Soundkarte ... das ist es, was sie tut. Alte, zeitgemäße Grafikkarten, die zur Ausgabe analoger Signale für Video verwendet werden. Wifi muss zwischen elektromagnetischen Wellen und digitalen Signalen übersetzen.
Eine Schicht analoger Schaltungen würde Daten filtern, die dann blitzschnell auf einem digitalen Allzweckcomputer verarbeitet werden könnten. Die Macht der Zukunft scheint die Verschmelzung von Analog und Digital zu sein, die Stärken beider zu nutzen und die Probleme des anderen aufzuheben.
Wir lösen Probleme auf unterschiedliche Weise ... aber Googles Spracherkennungsassistent ist heutzutage erstaunlich genau. Sicher, es verwendet eine riesige Datenbank mit Aufzeichnungen, um Sprache zu identifizieren, anstatt ein fingergroßes Stück Fleisch zu verwenden ... aber das spielt die Stärken der digitalen Computer aus. Verarbeitung von Milliarden von Daten im Handumdrehen.
Ja, es ist möglich, eine CPU zu entwerfen, die 100 % analog ist. 3D-Bildgebung ist nicht so schwer. Es ist schwierig, die Leute davon zu überzeugen, dass die Tatsache, dass sie alles glauben, was ihnen über analoge Computer erzählt wurde, genau der Grund dafür ist, dass es niemandem gelungen ist, eine vollwertige analoge CPU im kommerziellen Bereich zu entwickeln. Es ist Faulheit und Inkompetenz.
3D-Bildgebung kann grundsätzlich bereits durchgeführt werden. Wenn Sie sich nur einige der alten analogen Videoplatinen ansehen, die in den alten Tagen von Fernsehnachrichtensendern übertragene Bilder "verzerren" und "strecken" konnten, ist das im Grunde alles. Ein einfaches Polygon würde nur ein paar zusätzliche Eingaben und Optionen benötigen, um es richtig zu neigen, und dann dem Bildschirm weitere Polygone hinzufügen. So einfach ist das. Außer, dass Sie ein hochauflösendes Bild haben können und sich keine Sorgen um Pixel machen würden, und es wäre wirklich billig.
Auf YouTube gibt es ein altes Beispiel für einen analogen Computer, auf dem eine Physikauto- / Geländesimulation ausgeführt wird. Es ist 2D, aber andererseits ist es im Grunde nur eine analoge Standard-CPU. Hier ist es, aber es zeigt nicht das tatsächliche Auto, die Räder oder die Straße in diesem. https://www.youtube.com/watch?v=AEJtajaRj_s
Analoge Computer sind wesentlich energieeffizienter und gewinnen mit zunehmender Reife des maschinellen Lernens langsam mehr Aufmerksamkeit.
https://ieeexplore.ieee.org/document/8490883 https://phys.org/news/2018-06-future-ai-hardware-based-analog.html
„Analoge Techniken, die kontinuierlich variable Signale anstelle von binären Nullen und Einsen verwenden, haben inhärente Grenzen in ihrer Genauigkeit – weshalb moderne Computer im Allgemeinen digitale Computer sind. KI-Forscher haben jedoch begonnen zu erkennen, dass ihre DNN-Modelle auch im digitalen Zustand immer noch gut funktionieren Die Genauigkeit wird auf ein Niveau reduziert, das für fast jede andere Computeranwendung viel zu niedrig wäre.Daher ist es möglich, dass für DNNs vielleicht auch analoge Berechnungen funktionieren könnten.
Bisher hatte jedoch niemand schlüssig bewiesen, dass solche analogen Ansätze die gleiche Aufgabe erfüllen können wie die heutige Software, die auf herkömmlicher digitaler Hardware läuft. Das heißt, können DNNs mit diesen Techniken wirklich auf äquivalent hohe Genauigkeiten trainiert werden? Es macht wenig Sinn, beim Training eines DNN schneller oder energieeffizienter zu sein, wenn die resultierenden Klassifizierungsgenauigkeiten immer unannehmbar niedrig sein werden.
In unserem Artikel beschreiben wir, wie analoge nichtflüchtige Speicher (NVM) den „Backpropagation“-Algorithmus, der das Herzstück vieler neuer KI-Fortschritte bildet, effizient beschleunigen können. Diese Speicher ermöglichen die Parallelisierung der "Multiply-Accumulate"-Operationen, die in diesen Algorithmen verwendet werden, in der analogen Domäne am Ort der Gewichtsdaten unter Verwendung der zugrunde liegenden Physik. Anstatt große Schaltungen zum Multiplizieren und Addieren digitaler Zahlen zu verwenden, leiten wir einfach einen kleinen Strom durch einen Widerstand in einen Draht und verbinden dann viele solcher Drähte miteinander, damit sich die Ströme aufbauen können. Dadurch können wir viele Berechnungen gleichzeitig und nicht nacheinander durchführen. Und anstatt digitale Daten auf langen Reisen zwischen digitalen Speicherchips und Verarbeitungschips zu transportieren, können wir die gesamte Berechnung innerhalb des analogen Speicherchips durchführen."
Mit analogen Computern könnten Sie Informationen nicht zuverlässig speichern, da Sie das analoge Signal bei der Messung immer ändern würden oder nur weil es ein wenig Rauschen gab, ganz zu schweigen davon, dass Sie einen Weg finden müssten, es zu speichern den ersten Platz.
Der Grund, warum wir digitale Signale verwenden, ist, dass Sie beispielsweise entweder 0 V oder 1 V haben können und wenn die Spannung ein wenig abweicht, erkennt das System immer noch als die richtige. In Ihrer Frage fragen Sie jedoch nach einem analogen System, das subtile Unterschiede in den Gehirnwellen einer Person feststellen kann.
Was Sie suchen, ist eine Erweiterungskarte , die sich um die analogen Informationen kümmert und einen Weg findet, sie perfekt in digitaler Form zu speichern (zum Beispiel könnte sie jede einfache Welle erkennen, die eine komplizierte Welle zusammensetzt, und diejenigen speichern, die leicht zu speichern wären). .
Sie könnten diese Erweiterungskarte sogar mit einem coolen Namen wie Brain Card einführen und nie wirklich erklären, wie sie funktioniert (oder eine einfache Erklärung geben, wie ich es gerade getan habe), nur dass die Leute sie kaufen und sie verwenden, um ihre Gehirnwellen mit 100% Genauigkeit zu speichern.
sdrawkcabdear
a1901514
Schwern
Mermacher
Innovativ
Dschöni
Schlafmann
Wald
JanKanis