7 ms·
One way in which the brain differs from conventional computers is that neurons appear to serve as both CPU and memory storage. Rather than having a few fast CPU
by bshanks 7y ago
One way in which the brain differs from conventional computers is that neurons appear to serve as both CPU and memory storage. Rather than having a few fast CPUs and a large bank of dedicated memory with a few busses (leading to "the von Neumann bottleneck" of data transfer between memory and CPU), the brain has many slow neurons each of which has many connections with other neurons.
So, in-memory computing may be more brain-like.
The brain appears to be very good at massive concurrency with low energy consumption, at the expense of slow serial computation and a high error rate.
- varjag 7y agoThere is no CPU in brain, some analogies don't go very far.
- mikorym 7y agoFrom a mathematical view on complexity, I don't see exactly the difference between memory and computation. I wonder what would be suitable definitions for the two concepts.
- shele 7y agoYou can make sense of the differences abstractly considering the band, the state register and the instruction table of a Turing machine.
- jacquesm 7y agoA Turing machine is just one of many ways in which you could make a computing device. It is one of the easiest to mechanize and program for, which is why we use them but there is absolutely no reason to believe it is the only way of doing things. GP was getting at a more basic form of computation than the specific one performed by Turing machines. From a mathematical perspective the tape, the registers and instruction tables are all implementation details.
- shele 7y ago> absolutely no reason to believe it is the only way of doing things Well, I did not suggests that. > From a mathematical perspective the tape, the registers and instruction tables are all implementation details. No, they are used to define concepts such as space complexity for Turing machines and there is something to learn from Turing machines, that's why people are studying them.
- pdpi 7y agoYou can think of the Church Turing thesis as providing a formalism for how the tape, registers and instruction tables are all implementation details.
- mikorym 7y agoSo the band and state register is memory? And the instruction table is computation?
- gpm 7y agoThe instruction table is a function. Computation is the act of applying that function to the state. Edit: Grammatically "computation" is "The act of computing" where computing is a verb. "Memory" is a noun, and not one about an act. It's more like saying "clothing".
- mikorym 7y agoThis kind of touches on my original point. A function can be seen both as the set of all pairs of the function, or as an oracle that you feed input to and receive output. The first is to me the full memory space, the second is maybe computation.
- wongarsu 7y agoMemory is the current state, computation is the permutation of state (your step function that takes you from one state to the next).
- mikorym 7y agoThis is assuming you have an automaton, I would guess? But what if you approach it via something like entropy? Edit: Doesn't that step function encode all of memory implicitly?
- gpm 7y agoI have no clue what you mean by approaching computation from the point of view of entropy, entropy is a measure of the degree of disorder in a system, how is that a method of performing computation? The step function does not encode memory. The step function is a function that takes memory state 1 as input, and outputs memory state 2 as output. The step function itself doesn't change, it stores no information. In physical terms, the step function is the CPU, minus the caches, registers and other modifiable state. Memory is the disk and ram and all the CPUs caches and registers. You can't tell me anything about what the input to the CPU is, or what it is actually doing (other than that it is capable of running arbitrary x64 assembly), without looking at the state.
- mikorym 7y agoA function does store information. The common definition of a function is the set (R,(X,Y)) where R is the graph of the function (consisting of the pairs) and X and Y are domain and codomain, respectively. Computation can be seen as some act of carrying out logic. And in turn, logic can be approached via entropy. There are a lot of people working in QM, computation and entropy. But the simpler definition is just via partitions (and you especially don't have to insist on it being in the world of QM either). [1] [1] http://www.ellerman.org/intro-logical-entropy/ http://www.ellerman.org/intro-logical-entropy/
- gpm 7y ago
- tel 7y agoIf computation is the process of spending effort to receive information, then memory is partially paid-down computation. There are lots of ways to blur these lines.
- arcticbull 7y agoThis is actually reflected in modern FPGA devices. To your point, there's no material difference between "computation" and "retrieval" (they're just two different ways of mapping a set of inputs onto a set of outputs). FPGAs [1] are basically giant arrays of truth tables. These are implemented as look-up tables -- RAM -- paired with some dedicated, optimized, high-complexity logic elements like multipliers. Could you implement a 16x16 bit multiplier (yielding a 32-bit result) as a RAM or ROM, I mean, totally. It would be a 32 bit address space where each entry is also 32 bits. That would take 16GB. You'd have the fastest multiplier in the West, though, net of propagation delay. [1] From a combinational logic perspective.
- eggie 7y ago> neurons appear to serve as both CPU and memory storage I'm not sure this is really certain. But that uncertainty is more because it's hard to prove that there isn't another means of recording memory than something we know. There has been speculation that there might be some genetic or biopolymer based system in the hippocampus, but I'm not familiar with anything more than speculation on that topic.
- eggie 7y agoIt seems unlikely to me that biological systems wouldn't exploit digital (e.g. genomic/DNA/RNA) kinds of memory storage, given that the materials are there and the energy costs of maintaining and accessing that kind of storage can be fantastically low. Keeping memory alive in neural circuits would seem much more difficult. Surely that's happening to a large degree though. I'm just highlighting the possibility of an alternative basis for certain kinds of memory in the brain.
- HPsquared 7y agoThat method of storage doesn't even need to be in the brain - could be anywhere!
- polyterative 7y agoCan it be that the neural structure itself is the memory? The weak/strong relationships maybe form the memories themselves, reconsructing a vivid image like seeds for procedural algorithms.
- polyterative 7y agoThis still doesn't explain our sense of time in memories. We always remember when other than what, even if some knowledge has no time positioning
- MayeulC 7y agoWhile there might be other mechanisms at play, plasticity is a form of memory: If each synapse can store weights, read them, and change them, it could be seen as a memory. For me, an analogy that is quite adequate in computer science would be LUTs in an FPGA: they are memory+compute units, and can be used as both. To go a bit further, any memory could indeed be considered a computation unit, or vice-versa: consider a results cache, for instance. The difference I see between memory and computation is that memory accesses are, if not instantaneous, at least constant-time. If you want more precision, this can be computed: the necessary memory footprint is extended trough time as well as space (if you only use a results LUT, you'd have to make it bigger to gain precision).
- amelius 7y agoYes but in a computer every processing unit can be used for widely different tasks. In contrast, the neurons in a brain are used for the same task over and over again.
- didericis 7y ago> the neurons in a brain are used for the same task over and over again How does this square with the fact that people can get large portions of their brain scooped out and still retain many of their previous abilities? This is a naive assumption, but if there were purely a 1 to 1 correspondence between a neuron and any given task, I’d assume you wouldn’t be able to recover from massive brain damage. But it seems like people can retrain the functional parts of their brain after damage to other parts to pick up the slack somehow.
- mojuba 7y agoBut you could as well say, the same part of computer's memory where the execution binary is stored is used for the same thing again and again. I don't think these parallels between the computer and the brain are valid though. The brain is a highly parallel but slow machine, we have very fast and not-so-parallel computers (just a few cores). I think a lot of what the brain does can be expressed on computers without changing the architecture much, i.e. you don't need to compare the architectures, just the outcomes of computation.
- TheFiend7 7y agoBut surely we can improve modern computing devices architecture by taking a look at the computing advantages the brain takes in order to achieve its desired tasks. Don't forget humans are one of the most expensive resources and nothing can really replace them for even a vast majority of non-physical jobs. So if we could build computing devices that potentially solve some of these problems, needless to say, the productivity boosts would be plentiful. Secondly, we aren't even close to being able to model anything relatively close to the computational capabilities of the human brain because we don't even understand the human brain. So your comments on highly parallel but slow and fast but no so parallel don't make a lot of sense. For example take MapBox's new vision SDK. It's able to perform semi-decent feature extraction on the road while people drive via a camera. Well guess what I would absolute stomp the vision SDK on accuracy for every feature it thinks it identified, not only that, I am capable of identifying an order of magnitude more features than it can, not only that, but I'm able to identify new features on the fly and even guess with greater accuracy what they are. So yeah, there are a plethora of functional yields that we have yet to achieve with some of the most powerful computers in the world that are achieved by the human brain every day. Which could be indicative of maybe both a resource, but also an architecture problem.
- KoftaBob 7y agoSuper fascinating, any recommendations on where I can do further reading on this?
- Richard_East 7y agoLow energy consumption checks out - a brain uses only 12 watts.
- lm28469 7y agoYou have to feed and train it for the first 15+ years before it's any good though.
- anticensor 7y agoYour brain uses 12 watts at rest and 120 watts under stress.
- tehjoker 7y agoHigh error rate?! I said precisely moving several complex muscles to vocalize a concept that requires simulating not only how I perceive it but how both the directed receiver and other listeners will as well while focusing my eyes rapidly on an area the size of a quarter.
- LeifCarrotson 7y agoTry doing that a couple times in a row, recording the audio and video. Can you do it the same way twice, with a measure of "same-ness" that can be trivially computed? No, humans cannot do that. Error rate in the context of computing does not need to mean invalid, just different. Our astonishingly high abilities to compensate for variations in input data do not result from an ability to produce output data repeatably.
- tehjoker 7y agoI don't think directly comparing humans and computers are that useful as they are "designed" for different tasks.
- SilasX 7y agoCould it be feasible to use the "brainlike" model for practical hardware and reap benefits from avoiding the vN bottleneck? My intuition is that such a system would be much harder to reason about -- and therefore harder for compilers to emit efficient machine code for -- but I'm assuming someone here knows the topic pretty well? (Before you give me "the lecture", yes, I'm aware that in general it's not a good idea to simply mimic the kludges that evolution came up with.)
- lm28469 7y agoUnless we made some big advances I'm not aware of, as far as I know we really don't know much about how the brain works. I doubt anyone can answer your question.
- SilasX 7y agoMy question doesn't depend on knowing exactly how the brain works; it's a question about mixing memory and CPU, which happens to be similar to (how we believe) the brain works.
- lm28469 7y ago> which happens to be similar to (how we believe) the brain works. Can you link sources supporting that ?
- derefr 7y agoThe claim you quoted is actually a null hypothesis—the negation (that the brain separates memory and processing) would require us to posit new types of as-yet-undiscovered neurochemical interactions (which may certainly exist, but we can't say!), and thus the burden of evidence would fall on proving that claim. Or, un-negated, for this claim, the burden of evidence is on disproving it.
- lm28469 7y ago
- ggreer 7y agoThe reason brains work the way they do is because evolution hill climbed to a solution, not because that solution is globally optimal. Compared to silicon, neurons are absurdly slow. Axons transmit information at 100 meters per second. Electronics transmit information 3,000,000 times faster. When your switching speed is 100Hz, the only way to get anything done in a reasonable amount of time is to be massively parallel. That's why brains are the way they are. Other points of comparison: Animal wings (birds, insects, bats) combine both lift and thrust, but we don't fly around in ornithopters. And while animal legs combine support and power for locomotion, we don't drive around in vehicles with legs. Wheels are far more efficient, but they're not something that evolution can discover easily.
- __s 7y agoThere's a few animals that have evolved wheels. Much harder to evolve an axle
- kbenson 7y ago> Wheels are far more efficient Wheels are far more efficient if you have a very specific type of terrain to deal with. It's not immediately obvious to me that a wheel is more efficient overall on naturally occurring terrain. For example, wheels don't work well on steep and rough terrain, or in water (as opposed to under water). The trade-off might be better stated as wheels are very efficient for very select terrain types, and that efficiency tapers off fairly sharply for some terrains, reaching 0% in some cases, while legs are less efficient overall, but achieve some level of usefulness on almost all terrains (making them a better choice for organisms that have disparate terrain types to deal with). Similarly, a computer may be much faster in some types of operations, but we can't even get it to do some stuff that's fairly trivial for many animal brains, so that may also be a trade-off in efficiency somewhere (possibly in an area we don't sufficiently understand yet).
- perl4ever 7y agoPossibly walking recaptures energy that a simple wheel mechanism wouldn't? I vaguely think I read something about how humans are fairly efficient at recycling the energy produced as you stride and gravity pulls you down.