Answers.Body: <p>The word &quot;Artificial intelligence&quot; refers to machines being able to have intelligence that of humans/animals. The meaning of the word was even discussed on <a href="https://ai.stackexchange.com/questions/7838/what-is-artificial-intelligence">this site</a>. So it's up to your interpretation what is human/animal like performance - you could even argue the examples you provide are human like performance.</p>
  <p>There is this well known Venn diagram showing the difference.</p>
  <p><a href="https://i.sstatic.net/t8nTd.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/t8nTd.png" alt=" source " /></a></p>
  <p>But personally I wouldn't call these example you mention artificially-intelligent. The algorithms you mention are just a set of complex instructions.</p>
  <blockquote>
  <p>All the intelligence of these methods is embedded within the steps of the program, and not in its parameters.</p>
  </blockquote>
  <p>While intelligent authors made the algorithms, that's not what the word &quot;artificially-intelligent&quot; refers to.</p>
  <blockquote>
  <p>It's not because they aren't trained that they aren't artificially intelligent.</p>
  </blockquote>
  <p>Again it's up to you what you perceive as intelligence that of humans/animals. But if an algorithm has trainable weights, then it's classified as Machine Learning. A Machine learning agent can still be so useless such that no one would classify it as &quot;Artificial intelligence&quot;.</p>
  <p><strong>I would just call the algorithms you refer to a &quot;complex algorithm&quot; or  a &quot;non-ML method&quot;.</strong></p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-03-22T15:10:49.933Z
Answers.Text: Some problems cannot be machine learned to get the accuracy of a handcrafted solution. For example, classifying numbers into negative and non-negative classes. The machine learning "intelligent" threshold would get smaller accuracy than the handcrafted 0 boundary.
Answers.UserDisplayName: Jaume Oliver Lafont
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-03-22T20:35:03.500Z
Answers.Text: Constructions like "_non-AI method_" seem like the right way to go -- this is, focusing on specifically what's meant.  For example, if a speaker means that a particular technique _wasn't_ used, then "_`"non-"+[technique]`_".
Answers.UserDisplayName: Nat
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-03-22T14:32:57.680Z
Answers.LastActivityDate: 2023-04-04T10:09:56.883Z
Answers.LastEditDate: 2023-04-04T10:09:56.883Z
Answers.UserDisplayName: nammerkage
Answers.Body: <p>How about <strong>handcrafted</strong> -as you mentioned-? In the following question it is opposed to learned.</p>
  <p><a href="https://datascience.stackexchange.com/questions/54390/what-is-the-difference-between-handcrafted-and-learned-features">https://datascience.stackexchange.com/questions/54390/what-is-the-difference-between-handcrafted-and-learned-features</a></p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-03-22T13:35:10.713Z
Answers.Text: I agree with the term. Handcrafted, hand-designed features, etc. are used for processing steps that require human expertise, as mentioned in the [Deep Learning book](https://www.deeplearningbook.org/contents/intro.html).
Answers.UserDisplayName: Minh-Long Luu
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-03-22T20:36:49.263Z
Answers.Text: I'd be concerned about using "_handcrafted_" vs. "_learned_" as though they were mutually-exclusive alternatives.  Terminology like that seems reasonable enough in simpler cases, but it may not work well in more complex scenarios.
Answers.UserDisplayName: Nat
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-03-22T20:43:48.730Z
Answers.Text: The questions asks for a "standard terminology". Handcrafted vs Learned are only used when speaking of features. It's debatable wherever it's a good idea to also use that terminology on distinguishing algorithms, but it's not standard terminology
Answers.UserDisplayName: nammerkage
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-03-22T21:36:14.067Z
Answers.Text: "engineered" also comes to mind
Answers.UserDisplayName: Criticize SE actions means ban
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-03-22T13:24:22.250Z
Answers.LastActivityDate: 2023-03-22T13:24:22.250Z
Answers.UserDisplayName: Jaume Oliver Lafont
Body: <p>Before the advent of neural architectures, many AI domains (e.g. speech recognition and computer vision) used algorithms that consisted of a series of hand-crafted transformations for feature extraction.</p>
  <ul>
  <li>In speech recognition everything to do with spectrograms or cepstra is done based on the mathematical theory of (discrete) Fourier transforms.</li>
  <li>In computer vision, edge detectors like Sobel/Canny or feature descriptors like SIFT are all convolution-based.</li>
  </ul>
  <p>You can implement all of these with everyday procedural programs. All the intelligence of these methods is embedded within the steps of the program, and not in its parameters.</p>
  <p>One thing I have been wondering about is what you would call such algorithms that work &quot;out of the box&quot;. My inclination is to call them <em>deterministic</em>, but this is clearly wrong considering most neural networks (not including e.g. VAEs) are deterministic functions of their input too.</p>
  <p>Perhaps some might call them <em>dumb</em>, but that's also not right, because these algorithms are very sophisticated and purposefully made. They're not <em>naive</em> like naive Bayes is naive. It's not because they aren't trained that they aren't <em>artificially intelligent</em>.</p>
  <p><em>Traditional</em> or <em>classical</em> is too vague, because neural nets have existed for more than half a century and could be considered that too. The same goes for <em>algorithmic</em> and <em>procedural</em>.</p>
  <p>Is there standard terminology to delimit the set of such artificially-intelligent-but-not-data-driven algorithms?</p>
  
Tags: <computer-vision><terminology><algorithm><speech-recognition>
Title: Is there a term to denote AI algorithms that are not trained?
UserDisplayName: Mew
ThreadText: # Is there a term to denote AI algorithms that are not trained?
  
  (Asked by: username_0 on 2023-03-22)
  
  Before the advent of neural architectures, many AI domains (e.g. speech recognition and computer vision) used algorithms that consisted of a series of hand-crafted transformations for feature extraction.
  
  * In speech recognition everything to do with spectrograms or cepstra is done based on the mathematical theory of (discrete) Fourier transforms.
  * In computer vision, edge detectors like Sobel/Canny or feature descriptors like SIFT are all convolution-based.
  
  You can implement all of these with everyday procedural programs. All the intelligence of these methods is embedded within the steps of the program, and not in its parameters.
  
  One thing I have been wondering about is what you would call such algorithms that work "out of the box". My inclination is to call them *deterministic*, but this is clearly wrong considering most neural networks (not including e.g. VAEs) are deterministic functions of their input too.
  
  Perhaps some might call them *dumb*, but that's also not right, because these algorithms are very sophisticated and purposefully made. They're not *naive* like naive Bayes is naive. It's not because they aren't trained that they aren't *artificially intelligent*.
  
  *Traditional* or *classical* is too vague, because neural nets have existed for more than half a century and could be considered that too. The same goes for *algorithmic* and *procedural*.
  
  Is there standard terminology to delimit the set of such artificially-intelligent-but-not-data-driven algorithms?
  
  **Tags:** computer-vision, terminology, algorithm, speech-recognition
  
  ---
  
  ## 2 answers
  
  ### Answer by username_1 on 2023-03-22. Score: 4
  
  The word "Artificial intelligence" refers to machines being able to have intelligence that of humans/animals. The meaning of the word was even discussed on [this site](https://ai.stackexchange.com/questions/7838/what-is-artificial-intelligence). So it's up to your interpretation what is human/animal like performance - you could even argue the examples you provide are human like performance.
  
  There is this well known Venn diagram showing the difference.
  
  [![ source ](https://i.sstatic.net/t8nTd.png)](https://i.sstatic.net/t8nTd.png)
  
  But personally I wouldn't call these example you mention artificially-intelligent. The algorithms you mention are just a set of complex instructions.
  
  > All the intelligence of these methods is embedded within the steps of the program, and not in its parameters.
  
  While intelligent authors made the algorithms, that's not what the word "artificially-intelligent" refers to.
  
  > It's not because they aren't trained that they aren't artificially intelligent.
  
  Again it's up to you what you perceive as intelligence that of humans/animals. But if an algorithm has trainable weights, then it's classified as Machine Learning. A Machine learning agent can still be so useless such that no one would classify it as "Artificial intelligence".
  
  **I would just call the algorithms you refer to a "complex algorithm" or a "non-ML method".**
  
  > **Comments:**
  > **username_2**: Some problems cannot be machine learned to get the accuracy of a handcrafted solution. For example, classifying numbers into negative and non-negative classes. The machine learning "intelligent" threshold would get smaller accuracy than the handcrafted 0 boundary.  
  > **username_3**: Constructions like "_non-AI method_" seem like the right way to go -- this is, focusing on specifically what's meant.  For example, if a speaker means that a particular technique _wasn't_ used, then "_`"non-"+[technique]`_".  
  
  ---
  
  ### Answer by username_2 on 2023-03-22. Score: 2
  
  How about **handcrafted** -as you mentioned-? In the following question it is opposed to learned.
  
  <https://datascience.stackexchange.com/questions/54390/what-is-the-difference-between-handcrafted-and-learned-features>
  
  > **Comments:**
  > **username_4**: I agree with the term. Handcrafted, hand-designed features, etc. are used for processing steps that require human expertise, as mentioned in the [Deep Learning book](https://www.deeplearningbook.org/contents/intro.html).  
  > **username_3**: I'd be concerned about using "_handcrafted_" vs. "_learned_" as though they were mutually-exclusive alternatives.  Terminology like that seems reasonable enough in simpler cases, but it may not work well in more complex scenarios.  
  > **username_1**: The questions asks for a "standard terminology". Handcrafted vs Learned are only used when speaking of features. It's debatable wherever it's a good idea to also use that terminology on distinguishing algorithms, but it's not standard terminology  
  > **username_5**: "engineered" also comes to mind  
  
  ---
  
  