Answers.Body: <p>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.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-11-11T06:05:02.073Z
Answers.LastActivityDate: 2018-11-11T21:33:16.473Z
Answers.LastEditDate: 2018-11-11T21:33:16.473Z
Answers.UserDisplayName: Bil
Answers.Body: <p>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).</p>
  
  <p>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.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-11-12T06:02:21.603Z
Answers.Text: Please also add the difference to a "traditional"program (like a calculator app)
Answers.UserDisplayName: Martin Thoma
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-11-11T22:34:12.687Z
Answers.LastActivityDate: 2018-11-11T22:34:12.687Z
Answers.UserDisplayName: Andrew
Answers.Body: <p><strong>Personal Computers</strong> are hardware, whereas artificial neural networks are software. (There are also neuromorphic chips, but that is a different story.)</p>
  
  <p>A <strong>traditional computer program</strong> 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?</p>
  
  <p>An <strong>artificial neural network</strong> is just one machine learning model.</p>
  
  <p><strong>Machine learning</strong> 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?</p>
  
  <p>To be more precise, here is Tom Mitchells definition of machine learning:</p>
  
  <blockquote>
    <p>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.</p>
  </blockquote>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-11-12T06:33:05.087Z
Answers.Text: A ml programs are a subset of all programs.
Answers.UserDisplayName: Martin Thoma
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-11-12T06:50:10.917Z
Answers.Text: 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.
Answers.UserDisplayName: Martin Thoma
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-11-12T07:29:07.600Z
Answers.Text: Ah, I see. No, Tom Mitchells definition is at the very bottom. Yes, I agree that most machine learning algorithms don't infer rules in the strict "A => B" sense. However, for all classification tasks you can draw decision boundaries. If you dumb it down to that level, then you can see it as a super complicated set of rules. -- The question shows, that the OP has no experience with ML. Please see it as an ELI5 answer.
Answers.UserDisplayName: Martin Thoma
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-11-12T06:14:39.780Z
Answers.LastActivityDate: 2018-11-12T06:14:39.780Z
Answers.UserDisplayName: Martin Thoma
Body: <p>How are artificial neural networks different from normal computer programs (or software)?</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2019-05-01T20:07:29.613Z
Comments.Text: Worth looking at the concept of a [Turing machine](https://en.wikipedia.org/wiki/Turing_machine), and the [Turing-Church Thesis](https://en.wikipedia.org/wiki/Church%E2%80%93Turing_thesis), which is the basis of all modern computing.
Comments.UserDisplayName: DukeZhou
Tags: <neural-networks><machine-learning><comparison>
Title: How are artificial neural networks different from normal computer programs?
UserDisplayName: ME.
ThreadText: # How are artificial neural networks different from normal computer programs?
  
  (Asked by: username_0 on 2018-11-11)
  
  How are artificial neural networks different from normal computer programs (or software)?
  
  **Tags:** neural-networks, machine-learning, comparison
  > **Comments:**
  > **username_1**: Worth looking at the concept of a [Turing machine](https://en.wikipedia.org/wiki/Turing_machine), and the [Turing-Church Thesis](https://en.wikipedia.org/wiki/Church%E2%80%93Turing_thesis), which is the basis of all modern computing.  
  
  ---
  
  ## 3 answers
  
  ### Answer by username_2 on 2018-11-11. Score: 1 | Accepted answer
  
  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.
  
  
  ---
  
  ### Answer by username_3 on 2018-11-11. Score: 2
  
  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.
  
  > **Comments:**
  > **username_4**: Please also add the difference to a "traditional"program (like a calculator app)  
  
  ---
  
  ### Answer by username_4 on 2018-11-12. Score: 2
  
  **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.
  
  > **Comments:**
  > **username_4**: A ml programs are a subset of all programs.  
  > **username_4**: 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.  
  > **username_4**: Ah, I see. No, Tom Mitchells definition is at the very bottom. Yes, I agree that most machine learning algorithms don't infer rules in the strict "A => B" sense. However, for all classification tasks you can draw decision boundaries. If you dumb it down to that level, then you can see it as a super complicated set of rules. -- The question shows, that the OP has no experience with ML. Please see it as an ELI5 answer.  
  
  ---
  
  