Answers.Body: <p>This is a good question. I tend to think the answer is <strong>yes</strong> it is necessary to know the details, because a person without mathematical understanding of these algorithms cannot <em>consistently</em> make a model as good as someone who does have that understanding.</p>
  
  <p>The reason is right at the core of computer science: abstractions are useful, but usually obscure details. When those details matter, someone who only knows the abstraction and not the details that lie beneath can't understand what's going on.</p>
  
  <p>As an example, if you don't understand the math behind optimizing the weights of a neural network, it might not be apparent how parameters like the learning rate are impacted by properties like network depth when some of the inputs have not been properly normalized. If you understand the optimization process mathematically, you can reason through the effects even if you are trying to work on an unfamiliar problem. This ability to reason through the probable effects of parameter decisions in <em>new</em> domains is the main thing that you miss by working from intuition.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-09-06T02:20:22.910Z
Answers.LastActivityDate: 2020-04-02T00:44:56.647Z
Answers.LastEditDate: 2020-04-02T00:44:56.647Z
Answers.UserDisplayName: John Doucette
Body: <p>I am interested in the field of artificial intelligence. I began by learning the various machine learning algorithms. The maths behind some were quite hard. For example, back-propagation in convolutional neural networks. </p>
  
  <p>Then when getting to the implementation part, I learnt about TensorFlow, Keras, PyTorch, etc. If these provide much faster and more robust results,  will there be a necessity to code a neural network (say) from scratch using the knowledge of the maths behind back-prop, activation functions, dimensions of layers, etc., or is the role of a data scientist only to tune the hyper-parameters?</p>
  
  <p>Further, as of now the field of AI does not seem to have any way to solve for these hyperparameters, and they are arrived at through trial and error. Which begs the question, can a person with just basic intuition about what the algorithms do be able to make a model just as good as a person who knows the detailed mathematics of these algorithms?</p>
  
Tags: <machine-learning><data-science><academia><education>
Title: Is it necessary to know the details behind the AI algorithms and models?
UserDisplayName: pranav
ThreadText: # Is it necessary to know the details behind the AI algorithms and models?
  
  (Asked by: username_0 on 2018-09-05)
  
  I am interested in the field of artificial intelligence. I began by learning the various machine learning algorithms. The maths behind some were quite hard. For example, back-propagation in convolutional neural networks.
  
  Then when getting to the implementation part, I learnt about TensorFlow, Keras, PyTorch, etc. If these provide much faster and more robust results, will there be a necessity to code a neural network (say) from scratch using the knowledge of the maths behind back-prop, activation functions, dimensions of layers, etc., or is the role of a data scientist only to tune the hyper-parameters?
  
  Further, as of now the field of AI does not seem to have any way to solve for these hyperparameters, and they are arrived at through trial and error. Which begs the question, can a person with just basic intuition about what the algorithms do be able to make a model just as good as a person who knows the detailed mathematics of these algorithms?
  
  **Tags:** machine-learning, data-science, academia, education
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2018-09-06. Score: 6
  
  This is a good question. I tend to think the answer is **yes** it is necessary to know the details, because a person without mathematical understanding of these algorithms cannot *consistently* make a model as good as someone who does have that understanding.
  
  The reason is right at the core of computer science: abstractions are useful, but usually obscure details. When those details matter, someone who only knows the abstraction and not the details that lie beneath can't understand what's going on.
  
  As an example, if you don't understand the math behind optimizing the weights of a neural network, it might not be apparent how parameters like the learning rate are impacted by properties like network depth when some of the inputs have not been properly normalized. If you understand the optimization process mathematically, you can reason through the effects even if you are trying to work on an unfamiliar problem. This ability to reason through the probable effects of parameter decisions in *new* domains is the main thing that you miss by working from intuition.
  
  
  ---
  
  