Live data from Hacker News

A World Run with Code

blog.stephenwolfram.com

111–116 of 116 posts

Re: A World Run with Code

#111

The idea of small rules leading to large patterns is not something Wolfram invented, but he seems to think he did. I think Conway's game of life predates it, as does Mandelbrot, then there is the Durer pentagon. Maybe there is a something I am missing though?

From what I have heard, what you're missing is Wolfram's ego. That's why he magnifies the importance of what he has done.

On that note... Is he really claiming to have invented the Church-Turing Thesis years after their deaths?

Re: A World Run with Code

#112
post #34

To be honest I haven’t understood much of this. Am I also the only one who’s very skeptical of AI? I see no correlation between what we call “biological thinking” and computation. Even though I don’t know much of the theory behind AI, to me it’s similar to saying that since we have lots of simple calculators, we can arrange them together in some specific way and emergent intelligence will arise. Sure yes I mean but y…

A little late on this, but...

> Am I also the only one who’s very skeptical of AI? I see no correlation between what we call “biological thinking” and computation.

I think you're confusing several things together here, possibly (partly?) because:

> Even though I don’t know much of the theory behind AI,

I'll try to give you (to the best of my understanding, which may be faulty, so be aware of that) a "10000 foot understanding" - and hopefully (not likely) I won't drone on and bore you to death.

So we have here three things: Something we call "AI", something called "biological thinking" (I'm not exactly sure what you mean by this - but I'll assume for now you mean the process of "though" humans do with their brains), and "computation".

Of the three, computation is probably the simplest to define: It's what happens when a program - a set of rules - is run and followed. Usually there is some "input" or data that flows into these sets of rules, and at the end of the running of the program or process, there is an output. It is possible that the program may not "halt" (ie, stop); it may loop forever, and output something forever. Or it might hit a condition that does cause it to stop. Regardless, that set of rules being run (whether those rules are those of law, those of mathematics, a recipe to bake a cake, etc) is what causes computation.

I won't go into it deeply, but what Wolfram believes (whether he is right or not is for others to decide) is that there are simple programs - or sets of rules - throughout nature, and that these programs are executed due to natural processes, and that from these programs running, and thus performing computation, their output is what we see in our world. Furthermore, according to Wolfram, the computation being done is equivalent throughout nature; whether it is done on the substrate of silicon (ie, a computer), or the substrate of physics in a stream computing eddies and whirlpools...

Ok - enough of that; let's move on. Biological Thinking...

As I noted, I think you are simply referring to the process that humans (and perhaps other creatures) using their brains to take in information via their senses, do some "processing" on it, and then output something (perhaps speech, or moving around, etc). Or maybe output nothing at all; just "thinking" or "ruminating" about something.

Do we understand how this works? No. We are studying it, and making fits and starts of progress, but it's been very slow going. We don't know how to define certain things, or even if they are definable, or if they are simply fictions of the brain; some things are - for instance, there have been studies that show that you make a decision to do something before you are consciously aware of making the decision to do something, and your brain makes up a story after the fact to explain it. There are many, many other weird things like this that our brains do. We don't know why. We also don't know how they play into or alter our perception of "free will" - of if that is even a real thing.

One thing we do know - to a certain level - is how brains actually "work". I won't go into details - but yes, neurons, action potentials, spiking, etc. We think that certain other chemical things may be at play, among other theories and ideas - we not completely sure it's all "electrical" (and actually at the synapse level, it's chemical - well, ion exchange and such - which is kinda electrical, but kinda not, too). But we know electricity plays a large role in how our brains work, how neurons work, and how they communicate with each other.

We also know they work together in networks, seemingly jumbled and disorganized at the cellular level, but not completely, and less so at higher levels.

So in short, we believe that "biological thinking" occurs due to networks of neurons communicating using mostly electrical activity, coupled with various chemical and other activity.

It would be akin to looking at a factory and only being able to understand how the individual parts of each machine work together, and maybe certain subsystems of those machines, but still have no understanding of how the factory produces what it does, but believing it had to be in a large part because of those individual parts working together.

Forests and trees, as you can certainly tell...

...part 2 follows...

Re: A World Run with Code

#113
post #112
post #34

To be honest I haven’t understood much of this. Am I also the only one who’s very skeptical of AI? I see no correlation between what we call “biological thinking” and computation. Even though I don’t know much of the theory behind AI, to me it’s similar to saying that since we have lots of simple calculators, we can arrange them together in some specific way and emergent intelligence will arise. Sure yes I mean but y…

A little late on this, but... > Am I also the only one who’s very skeptical of AI? I see no correlation between what we call “biological thinking” and computation. I think you're confusing several things together here, possibly (partly?) because: > Even though I don’t know much of the theory behind AI, I'll try to give you (to the best of my understanding, which may be faulty, so be aware of that) a "10000 foot under…

Part 2:

So lastly, AI. Something to know off hand is that AI encompasses many things historically, but if we are talking about today, then AI is basically focused on two areas:

* Machine Learning

* Neural Networks (Deep Learning)

Machine Learning can be thought of more as "applied statistics" - although that is a gross simplification. But, it is somewhat accurate, in that in statistics there are various known methods and algorithms that can be "trained" using a set of data, and that training, once completed, can allow these algorithms to decide on an output based on completely new data fed into them. Most of these algorithms and other methods can only be easily fed a few data points, and can only output either a "continuous function" (if you will); that is, a usually floating point number that represents some needed output (ie, if the method were trained on two data points of current temperature and current humidity, it might output a value representing the speed of a fan) - or they can output 2 or more (but usually only a few) "categories" to indicate that the input means particular things (taking our earlier example, maybe instead of fan speed, it would output whether to turn a fan on or off, or whether to open or close a window).

Neural networks, on the other hand, work closer to how "biological thinking" (well, more like the neurons and the networks they form) actually works. Basically, you have a bunch of different nodes, arranged in layers; think of a simple three-layer network...

The first layer would be considered the "input layer" - it could consist of a few nodes, to hundreds of thousands or more, depending on what is being input into the network. The middle layer is usually much, much bigger than the input layer. It is also termed "hidden", in that it isn't directly interacted with. Each individual "input node" in the first layer is connected to every individual neuron in the hidden layer. So, input node 0 is connected to hidden layer neurons 0...n, and input node 1 is connected to hidden layer neurons 0...n and input node i is connected to hidden layer neurons 0...n.

As you can see, it's a very tangled, but organized web that forms between those first two layers.

The third layer is similar, except it is formed of a scant few neurons; it's known as the output layer (a brief note here - it is possible to have more than one hidden layer of neurons, but mathematically, from what I understand, multiple layers are no different than one large single middle layer - that's just my understanding).

The output layer could have only a single neuron; it's value could again be that "continuous function" I mentioned earlier. Or it could be multiple neurons, each representing a "classification" of some sort; thus, the layer could have anything from one neuron to potentially hundreds, depending on what you are training the neural network for.

Let's say your training a network to take a simplified image of a road, and transform that into an output to be fed into the steering system of a vehicle. Your input node layer might consist of say 10000 nodes (for a 100 x 100 b/w pixel image). Your middle layer might consist of 10x that number of neurons, and your output layer could consist of a single neuron (outputting a continuous function representing the steering wheel angle) or a set of discrete neurons representing a class of various steering wheel positions (hard left, soft left, left, straight ahead, right, soft right, hard right).

You'd train this network on a variety of images, and it would output (hopefully) the correct answer for driving the vehicle around based on images and what was done in response. Essentially, the images it is given to train on would consist of individual black and white images of a roadway, and what should happen at that point (keep going straight, or turn in some manner). If, during training, it does the wrong thing, an error amount is calculated, and that is used to update numbers within the neurons that make up each layer (output and hidden - there are no neurons in the first layer), to make their calculation the next time more accurate. This process is called "back-propagation".

Interestingly, at a very base level, the computations being performed by a neural network, aren't much different than those from "classical machine learning" algorithms, but because their inner workings, which for the most part are fairly opaque to study, are extremely complex, they allow for things which the classical algorithms couldn't touch, namely the ability to feed in very large numbers of inputs, and get back out very large numbers of outputs.

Given enough "labeled" training examples, this process works extremely well, but for there to be usefulness for a variety of tasks, such networks need to be composed of hundreds of thousands to millions of neurons, each connected to each layer above and below, and it take immense amount of computational hardware (in the form of GPUs, usually) and power to do so. It also needs a boatload of training examples. All of these needs is why neural networks, despite being played with in various ways for well over 60 years, didn't really take off with promising and useful results until very recently, when the amount of data to be had, and the computational ability to process that vast amount of data became available (again, GPUs). Basically a perfect storm. This is all known as "deep learning".

Now, I'm going to leave you with something to ponder about:

We are doing something wrong. For one thing, as far as anyone has been able to determine, the idea and workings of "back-propagation" has no biological analog. Back-propagation is something that only happens in the realm of these artificial neural networks, and does not occur (as far as we know) in a natural neural network.

It is also very, very computationally intense - ie, it sucks a lot of power. We haven't even scratched the surface of building a very large scale artificial neural network, and already what we currently have takes a ton of power, well beyond the very meager power consumption of a single human brain.

It should be noted, if it wasn't apparent earlier, that the model of the neurons used in an ANN (artificial neural network), is grossly simplified to the actual workings of real neurons. There are studies and systems out there that seek to implement and study ANNs using models which more closely represent how actual neurons work (ie - spike trains, things that happen at the synapse level, etc) - but they take even greater amounts of power to run, and can't be used for much more than research.

You can take this and still be "skeptical of AI", but that would also dismiss the vast strides we have made in the last decade or two in the AI/ML field. I also hope I've been able to show or allude as to where/how there is correlation between AI (well, the ANN part of it) and "biological thinking".

I hope this helps in some manner to explain things and to lessen the confusion as to what everything is and what it means...

Re: A World Run with Code

#114
post #34

To be honest I haven’t understood much of this. Am I also the only one who’s very skeptical of AI? I see no correlation between what we call “biological thinking” and computation. Even though I don’t know much of the theory behind AI, to me it’s similar to saying that since we have lots of simple calculators, we can arrange them together in some specific way and emergent intelligence will arise. Sure yes I mean but y…

Look at it this way: programs are a list of procedural rules, combined with input to yield output. Computers are physical objects that take that input, follow the rules (the program), and produce the output.

Humans (via intelligence) can also follow these rules, and produce the same output for a given input. So if some arrangement of forks gave rise to intelligence, then they would necessarily be a computer.

The central question is whether intelligence is something over and above computation. Coming down on this would be require either: (a) an example of something intelligence can do that a computer (with the right program) cannot, or (b) some proof as to why no such example can exist.

I'm not confident we have the right philosophical tools to even approach this question right now. What does it mean for human intelligence to do a thing that a computer cannot? Say you do X -- I might just ask you to write down how you did it. If you are precise enough in how you did it, you've just given me a program.

Alternatively, even if you can't write it down, it seems plausible we could (in theory) write down the rules of physics. Then, given as input the state of your brain, we might iterate those rules forward and produce the output.

Going a bit off track here, but it seems to me that the only way intelligence could not be computed would be if intelligence was in some way non-physical -- and more, causal (so, not just epiphenomenal), it would actually have to be useful.

Re: A World Run with Code

#115
post #78

Earlier quoted context omitted.

That this ad hominem attack is the top voted really illustrates the deterioration of the community here. You've added nothing of value.

I mean, did you either?

All the bad people need is for the good people to do nothing.

Re: A World Run with Code

#116
post #58

Earlier quoted context omitted.

The biggest problem with “human intelligence” is that our memory is so short and influenced by emotion. Though judging by the amount of data created and lost over the last decade, that’s probably true of computers too.

But is emotion bad? Emotions can be thought of as programmed biases, and we might have evolved them because they are collectively good for the species. Emotion is what caused many of the examples stated in this thread where a human made a better decision than a computer.

I don't think emotion on its own is bad or good; but it's not something that a computer can emulate. You may get better decisions in some scenarios with certain stakeholders, and worse decisions in other scenarios.

When we talk about "programmed bias", we need to be careful because different subsets of the population hold different bias -- so the bias programmed in is reflective of the experiences of the team that developed the software rather than the population of users it affects.

Post reply on HN