views:

67

answers:

4

I've witnessed a debate on this topic, I wanted to know your opinion ? From a programmers perspective, can a we consider a neural network a more advanced "data structure" ?

Is a neural network actually more than a data-structure ?

+2  A: 

Yes! A neural network is an entire program, or at least a "system" or a "mechanism". A neural network uses data structures (e.g. arrays, hashmaps, linked lists...) to store its weights and connections, but most developers would draw a line between

  • data structures as the underlying "plumbing" and
  • advanced constructs like neural networks which sit on a higher abstraction layer.

I'm trying to think of a good analogy for your question. At the moment, the best I can come up with is asking "can we consider an automobile a more advanced internal combustion engine?"

Carl Smotricz
A: 

No. Neurons are not data, the brain is not data. It's all spatial/quantum/?? stuff, possibly infinitely complex depending on how deep you want to go. This cannot be represented as data, and can only be processed in its own context.

From Wikipedia:

In computer science, a data structure is a particular way of storing and organizing data in a computer so that it can be used efficiently.

If you represent a neural network in a computer, then yes. It's a very poor abstraction. Can you even call it a proper neural network? If you have a queue of people, you wouldn't call it a queue of data items, or even a data structure.

Chris Dennett
I think you're not familiar with neural networks as used in Artificial Intelligence. A neural network is essentially just a collection of floating point values representing the "weights" of input signals to "neurons" plus some algorithms for processing signals based on these weights. While the model may not be perfect, data is certainly being used to model neural connectivity and actions, and to good effect.
Carl Smotricz
No, I know what a neural network is. That's why I said that the artificial computer-based version is a data structure. It's also a poor abstraction of the real, biological neural-network. Artificial neural network would be a better term to avoid confusion.
Chris Dennett
@Chris The OP was asking if a neural network can be considered to be a "data structure" and I would say that it's not. It doesn't seem like the OP was asking if a neural network is a good representation of a biological neural-network...
Lirik
It wouldn't have the subjective tag if it wasn't subjective. Anything in a computer is practically a data structure of some sort. So if you think like that, it's an open-and-shut case. It sounds to me like you've already made your mind up and considered this question worthless.
Chris Dennett
+2  A: 

A neural network is definitely not an "advanced 'data structure'"... a neural network is an algorithm for function/statistical estimation, optimization and dynamic behavior. It's also referred to as a machine learning algorithm.

"Is a neural network actually more than a data-structure ?"

It does a lot more than a data structure... so from that stand point, yes, but in general it's an invalid comparison. It actually allows your computer to "learn" how to correlate certain patterns of input with certain patterns of output.

Lirik
+1  A: 

A neural network is a statistical model, not a data structure. Data structures are meant to store and recall information. A statistical model is meant to record events and provide useful information regarding the event's statistical properties.

Thus, a NN uses data structures but is itself not a data structure.

This question is like asking if Mr. Coffee is a computer simply because it may contain one to accomplish its task. Mr. Coffee is not a computer, but yes you could tear it apart and find interesting ways to mangle the control electronics inside to do some computing.

San Jacinto