# Coding Won’t Cut It: How to increase your deep learning skills

One question always pops up during every Artificial Intelligence (AI) related discussion: How do I become Deep Learning Expert? What do I need to learn?

AI related positions are in high demand and extremely well paid. Everyone wants to become an AI expert and every tech company wants AI experts on their team.

The need is so great that large tech companies are running classes that teach Deep Learning  and related techniques to existing employees.

The basic concepts of Deep Learning are not hard to grasp, requiring little more than high-school-level math. However, real expertise requires more significant math and specific knowledge of the target field, such as self-driving cars, robotics, and health care.

In order to keep pace, smaller companies are looking for talent in unusual places. Some are even hiring physicists and astronomers, who have the necessary math skills, and pairing them with experts in the target field.

Many people wonder if Deep Learning is like coding, something you can learn on your own? Knowing that, we asked Boris Pyakillya, a Data Scientist in the R&D Department at NTRLab, about which disciplines are needed to become a sought-after Deep Learning expert.

Deep Learning (DL) is a hot topic with connections to many math and non-math disciplines such as:

• Statistics and Probability Theory
• Calculus
• Linear Algebra
• Computer Science (especially Algorithms)
• Artificial Intelligence basics
• Psychology
• Biology

Each one of the above list heavily influences the Deep Learning field. Without Statistics and Probability Theory you cannot understand probabilistic frameworks, which are broadly used in DL today – mostly in the Bayesian approach.

For the most part, calculus is the core element of optimization algorithms in DL – Gradient Descent, and its derivations, such as Adam, RMSprop, etc., are deeply based on derivatives’ calculations, chain rule and notions about limits.

Linear Algebra is absolutely necessary due to high dimensional matrices that contain features and describe vision properties of objects. Many of the results for optimization methods in DL are derived for high dimensional cases. That’s why it’s critical that you understand it, not only for the sake of the math, but also for future implementation purposes in Python/C/C++/Lua, etc.

Computer science in general, and algorithms in particular, are essential for every DL/ML person. You must know all the important data structures and how to deal with them in order to design fast, scalable and efficient DL algorithms.

Keep computational complexity ideas, such as O-notation, in your mind if you want to compare DL methods, especially for real-time tasks! Of course, you should remember that all key DL frameworks (TensorFlow, PyTorch etc.) require strong knowledge of CS and programming skills.

AI basics give you broad perspective about what’s going on in related fields (Fuzzy logic, Expert Systems, Rule-based methods etc.) and can provide insight about DL methods design.

Psychology and biology are currently having a strong impact on developments in DL. For example, Reinforcement Learning has roots in behaviorism ideas. Convolutional Neural Nets have connections to biological ideas about the visual cortex (V1, V2 etc.).

Ideas from these non-CS disciplines don’t dictate to DL, but they are good starting points. AI is till in its infancy, but who knows, maybe someday a new idea, powerful enough to create General Artificial Intelligence, will result from these, or related, disciplines.

Everything above has a strong impact on your skills – just take it, read it, understand it and go on — to seek new AI breakthroughs!

Have you considered becoming a Deep Learning expert? Have you started learning any of the above disciplines? Let us know in the comments below.