"100% Fully Software 2.0 computer. Just a single neural net and no classical software at all. Device inputs (audio video, touch etc) directly feed into a neural net, the outputs of it directly display as audio/video on speaker/screen, that’s it."
Sounds like a magical fantasy computer.
How would the input and output devices work without drivers? Does "no classical software at all" mean that the drivers are somehow within the neural net?
How would such a magical neural net computer be trained? Wouldn't it require observing countless inputs and outputs for a normal computer? How would the neural net being trained distinguish between good, wanted input/output combinations versus bad, error input/output combinations?
How would you program such a computer or load new software onto it? If the whole thing is a single neural net, wouldn't the neural net need to be replaced in order to add new functionality or correct errors/bugs? How would user data be persisted while upgrading the applications?
I think it’s very much a magical fantasy computer :-) A thought experiment, rather than a claim to something that’s been built or exists.
The questions you pose are interesting ones, for the sake of the experiment I think at least:
- Programming
- Loading new software
- Adding new functionality
- Persisting user data
Could all at least in principle be achieved without changing the network architecture, but rather just providing the relevant data at the inputs (eg the full bit stream of the install file of the new software being installed) and having that lead to adjustments in activations (not weights or architecture) across the network which lead to any future inputs to the network resulting in the outputs that would be expected in the presence of the new software. Same deal for the other examples.
As to whether this is practical or achievable at present - not even remotely close in my view. But it’s still an interesting idea, even if just to think about why it wouldnt work and what that implies for future development direction of multimodal networks etc.
> How would the input and output devices work without drivers? Does "no classical software at all" mean that the drivers are somehow within the neural net?
Why do you single out drivers? If the whole I/O behaviour of the computer would be performed by the NN, why not drivers?
> Wouldn't it require observing countless inputs and outputs for a normal computer?
Yes and that bit sounds to be relatively easy to automate.
> How would the neural net being trained distinguish between good, wanted input/output combinations versus bad, error input/output combinations?
I guess you would put that information into the dataset. In supervised learning it's called labels.
Theoretically the network could be trained on the raw input and output voltages of the camera and display serial interface and so on. But yes, it's a magical fantasy computer.
> How would the input and output devices work without drivers? Does "no classical software at all" mean that the drivers are somehow within the neural net?
That's my impression, yeah: the neural net would learn to associate input signals with output signals. If this could ever be made to work then it'd have some pretty neat implications for human prosthetics.
> How would such a magical neural net computer be trained?
You'd need some way to praise or scold the thing. Probably a debug line or something to encode pass v. fail.
> How would you program such a computer or load new software onto it? If the whole thing is a single neural net, wouldn't the neural net need to be replaced in order to add new functionality or correct errors/bugs?
I think you answered your own question: swap out the entire neural net (which would probably entail a hardware swap unless you're able to train a neural net to replace itself).
> How would user data be persisted while upgrading the applications?
Train the neural net to interface with a hard drive?
We spent good 60 years to get OKish text rendering. I mean, some of us can tell the difference between Arial and Helvetica. Now imagine adding a new font to an OS like that: “Sure, boss! We only need to generate 5b examples for training and just 20 years of GPU time.”
This reminds me of people in the past comparing computers as another brain because circuit network is similar to brain. I guess it is not impossible to construct one neural net. But how to train them, modify them (to add more programs), maintain them (security purpose), and make sure they are correct will be impossible in the near future (in my view). It would be crazy to see a madlad tunes every neuron to make a proof of concept though.
If we are talking about a single neural network that can do everything in real-time, then the only viable path I am aware of is spiking neural networks.
When you are working with I/O, you need to be very sensitive to time domain considerations. Training a periodic timer (i.e. polling for a response) into the current crop of transformer models does not seem feasible outside of clunky agentic approaches that invoke some external tool.
In implementation neural nets end up being a variety of different chunks of code like we already have. They’re never just one file with one magical pattern doing all the magic
Software industry is again re-inventing the marketing to justify sitting and doing largely the same job
Sounds like a magical fantasy computer.
How would the input and output devices work without drivers? Does "no classical software at all" mean that the drivers are somehow within the neural net?
How would such a magical neural net computer be trained? Wouldn't it require observing countless inputs and outputs for a normal computer? How would the neural net being trained distinguish between good, wanted input/output combinations versus bad, error input/output combinations?
How would you program such a computer or load new software onto it? If the whole thing is a single neural net, wouldn't the neural net need to be replaced in order to add new functionality or correct errors/bugs? How would user data be persisted while upgrading the applications?
The questions you pose are interesting ones, for the sake of the experiment I think at least:
- Programming
- Loading new software
- Adding new functionality
- Persisting user data
Could all at least in principle be achieved without changing the network architecture, but rather just providing the relevant data at the inputs (eg the full bit stream of the install file of the new software being installed) and having that lead to adjustments in activations (not weights or architecture) across the network which lead to any future inputs to the network resulting in the outputs that would be expected in the presence of the new software. Same deal for the other examples.
As to whether this is practical or achievable at present - not even remotely close in my view. But it’s still an interesting idea, even if just to think about why it wouldnt work and what that implies for future development direction of multimodal networks etc.
I think this kind of computer exists and is called ”brain”.
Why do you single out drivers? If the whole I/O behaviour of the computer would be performed by the NN, why not drivers?
> Wouldn't it require observing countless inputs and outputs for a normal computer?
Yes and that bit sounds to be relatively easy to automate.
> How would the neural net being trained distinguish between good, wanted input/output combinations versus bad, error input/output combinations?
I guess you would put that information into the dataset. In supervised learning it's called labels.
I was assuming that the "general purpose computing" training dataset would be so unfathomably large that unsupervised learning would be a necessity.
Who is going to label the "general purpose computing" training dataset and how would it be persisted?
That's my impression, yeah: the neural net would learn to associate input signals with output signals. If this could ever be made to work then it'd have some pretty neat implications for human prosthetics.
> How would such a magical neural net computer be trained?
You'd need some way to praise or scold the thing. Probably a debug line or something to encode pass v. fail.
> How would you program such a computer or load new software onto it? If the whole thing is a single neural net, wouldn't the neural net need to be replaced in order to add new functionality or correct errors/bugs?
I think you answered your own question: swap out the entire neural net (which would probably entail a hardware swap unless you're able to train a neural net to replace itself).
> How would user data be persisted while upgrading the applications?
Train the neural net to interface with a hard drive?
When you are working with I/O, you need to be very sensitive to time domain considerations. Training a periodic timer (i.e. polling for a response) into the current crop of transformer models does not seem feasible outside of clunky agentic approaches that invoke some external tool.
Deleted Comment
I wouldn't want the automatic braking system in my car using this... 8-/
Software industry is again re-inventing the marketing to justify sitting and doing largely the same job