0
$\begingroup$

How are artificial neural networks different from normal computer programs (or software)?

$\endgroup$
1
$\begingroup$

ANNs learn and adapt to the patterns inside inputs, however, general PCs don't. PCs take the process as input and provide results based on user preferences, but never adapt i.e., always depends on users what to do with the data, meanwhile, ANNs are customized for specific tasks like forecasting, function approximations etc.

$\endgroup$
2
$\begingroup$

Well, a computer consists of the hardware (CPU, GPU, memory, etc.), the operational system (OS) and software/programs (OS is also a software, but it is a very special software).

A neural network is simply a program that runs on a computer. Like a calculator app. In fact, the most simple NNs are indeed just some sort of a calculator that performs matrix multiplications.

$\endgroup$
  • 1
    $\begingroup$ Please also add the difference to a "traditional"program (like a calculator app) $\endgroup$ – Martin Thoma Nov 12 '18 at 6:02
2
$\begingroup$

Personal Computers are hardware, whereas artificial neural networks are software. (There are also neuromorphic chips, but that is a different story.)

A traditional computer program receives some input, calculates stuff based on predefined rules / flow diagrams and generates the output and side effects (such as changed files). The complexity often lies in the number of rules: What is the most reasonable part to adjust, given a change of requirements / a bug? How can I be sure I didn't forget an important edge case? Do I have off-by-one errors? Null-Pointer references? Overflows?

An artificial neural network is just one machine learning model.

Machine learning programs are also software, but they take data and an optimization criterion to infer the desired rules. There is no machine learning without data. The side effect of a machine learning programs training algorithm is the trained model, which usually is a big binary file. The complexity often lies in the data/the model: Is the training data representative for my real task? Did the model learn something reasonable? When / how often do I have to retrain? How can we maintain this?

To be more precise, here is Tom Mitchells definition of machine learning:

A computer program is said to learn from experience E with respect to some task T and some performance measure P if its performance on T, as measured by P, improves with experience E.

$\endgroup$
  • $\begingroup$ Machine Learning is also a computer program that follows rules..The only difference is we don't know/care about the numbers involved, so I don't think you made a valid difference between program and ML program. $\endgroup$ – DuttaA Nov 12 '18 at 6:21
  • $\begingroup$ A ml programs are a subset of all programs. $\endgroup$ – Martin Thoma Nov 12 '18 at 6:33
  • $\begingroup$ Yes but they don't infer any rule, they just like other programs follow rules​. $\endgroup$ – DuttaA Nov 12 '18 at 6:40
  • $\begingroup$ I gave an accurate and well-known definition of ML by Tom Mitchell. If you have a clear question, please ask it directly. Otherwise, I don't know how to help you. $\endgroup$ – Martin Thoma Nov 12 '18 at 6:50
  • 1
    $\begingroup$ I don't know any better definition but under this definition I think many algorithms which are not ML algo can be brought under the pruview of this defn...Since as far as I know there are many analytical methods to say approximate a curve which also infer some rules (your definition) based on some calculations. $\endgroup$ – DuttaA Nov 12 '18 at 7:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.