Skip to main content
Coding ≠Data Science = Computational Science ~ AI
Picture

Member for

5 months 2 weeks
Real name
Keith Lee
Bio
Head of GIAI Korea
Professor of AI/Data Science @ SIAI

As a founder of an AI business school, I come to see a load of unsophisticated 'dreamers' asking how much coding skills they need to be an 'AI Expert', or a job title that is known as 'Data Scientist'.

My answer to that 'silly' question has been unchanged for the last 10 years. You almost do not need prior knowledge in coding, as long as you understand (basic) English and know (high school) Mathematics. If you cannot speak Latin-based languages, it might be a bit challenging to match 'function' a tool to process a set of computer commands, but the concept of 'function' comes from high school textbook.

But to be an 'AI Expert', unfortunately high school mathematics is not enough, unless you misunderstand that AI is no more than coding. There still are billions of people out there with such misunderstanding, unfortunately. Since my institution is full of academic researchers, we have had hard time convincing the market that we are experts in computational science, which is named as AI as a means of marketing.

AI = Computational Science, not coding

In science, there have been two ways to solve a problem. For the sake of generality, let me name them as 'Math' and 'Stat'. To be a bit more concrete, 'Math' approach is based on logic like 'Syllogism'. 'Stat' approach is based on data. In dialectics, the approaches are called deduction and induction.

For the deduction, all key rules have been already set by Greek philosophers called 'sophistes'. The induction, although key rules are also already set by them, it has been in continuous evolution. It still is evolving. Academic researchers, unless they are purely experimental, most of them are to learn key tools from both lines, but the depth varies significantly, depending on your disciplines. Some science branches have been lucky to have found ways to the better use of math/stat tools than others. Computer science, along with related disciplines, have been lucky to be directly benefited by computing power in 'stat', which is the very beginning of AI, or computational science.

Deep Learning, or an extended version of Neural Network, probably the most known computational model to public, goes back to 1942 (by McCulloch). This was a departure from regression models from traditional statistics. Unfortunately, back then, though the concept could be rewarding for some data sets, human kinds did not have enough computational power to run his idea. As I teach in my Machine Learning class (Lecture Note), Neural Network is a combination of (non-)linear regression, factor analysis, and ensemble models. The first two are from traditional statistics department from 19th century, and the last one comes from 'computational statistics' department in late 1980s and early 1990s. The ensemble models gained popularity as computing has become less and less costly.

Statistics requiring some computational power

As the tools evolve, researchers also have adopted the tools. Back in my days in PhD program, I had to wait for weeks to access my school's supercomputer, and it was only by my Professor's project name that was funded by a Fortune 500 corporation. These days, you just need to buy a graphics card to run the 'heavy' calculation, and it takes less than 10% of time. If I set my model simple enough, it takes even less time. And, there are cloud services that you can borrow for a few hours, and cost me only a few bucks, or a nice meal at a fancy restaurant at most.

What was the problem that I was solving? I had to build a simulation model of N banks where one bank's huge loss during financial crisis propagates to all other banks, which is coined as 'Systemic Risk'. Banks usually do not disclose their portfolios, thus I had to build simulations covering more than billion different scenarios (like Dr. Strange for 14 million and 1 simulations). I had to strategically compromise extensions to minimize computational costs, but was also pressured to extend the model to cover more 'reasonable' scenarios. Back then, Wall Street claimed that 1 event in two universe's histories happened twice in a week, and I was ready to prove the Street's model (or underlying assumptions) was wrong. It's been over 15 years now, and no one uses the basic Normal distribution model anymore, which might be a tiny bit of my contribution. And, this contribution came from the school's supercomputer.

Had I have more computing power, it would have been way more easier to do the research. Any research that heavily uses computational power are now hugely benefited by cloud-based computing enviornment, scientific tools to use them, and ready made 'code'. We no longer have to wait for the supercomputer, and we no longer have to create thousands of lines of code to run that simulation. There are ready made 'function's in the coding community.

Coding ≠Data Science = Computational Science ~ AI

As I run an IT company in parallel with the AI business school, I have to do some coding. I also hire dev, both in-house and remote ones. But, I don't expect them to be able to solve even the first problem set of my AI program's easiest entry math course. I actually have tried a few times. They suffered from headache, and asked me to give them code lines to run. They were just happy to see code compiling, creating graphes, and generate data tables. They have no basic tools to explain what it does, thus they cannot change the model, if it has to be used in other scenarios.

If a code 'library', a set of functions, does not work for a particular problem, these dev people just for another 'library', and they just compare the result to see which one works better. It's like you compare image file compression options between JPG and PNG. They just find a conclusion that one works better in certain conditions. These days, 'sophisticated' users test between WebP and AVIF, the thought process is identical. Dev people are not to create their own file compression optimizer, but just end users. The difference between you and the Dev people are that they put them in the computer program so that you can use them.

However, for data science, the data problems that you have to solve for your own situation in your company at the very specific time are not standardized like images. Each one is unique. In other words, you have to create your own file compressor.

For that, you unfortunately have to be equipped with very tools that image compressor developers have.

In the early days of computer science, basic data compression techniques from statistics, such as PCA, have been used, but since file's data structure is unique (boolean data is in 0/1), it has been under its own evolution for the last 5 decades. For Data Science, it has its own evolution. In Digital marketing, for example, data scientists in this sub-dicipline have all kinds of advanced models like recommendation engines, attribution modeling, and cohort grouping, just to name a few. In computational Finance, where my origin comes from, I can see a number of continuous time models that I have not been able to solve have become the sub-discipline's basic knowledge.

How come? Is human knowledge evolved that rapidly? Well, it is because the exact tools that I have been using in PhD have been computationally supported. Now, people just call it 'AI'.

Then, how much coding skills needed to be an 'AI Expert'?

Then, what are the necessary skill sets to be 'AI Expert'?

Do you still think coding knowledge and experience is hugely important?

Coding is just a language, like English. You should be good at grammar, if you want to make a flawless sentence. But if you want to become a lawyer, you have be an expert in Law. Language is just a mandatory tool. If you are eloquent, you can be successful as a type of lawyer, as we often see in movies. If you are not that eloquent but highly analytic, you can be more successful by being a prosecutor, a judge, or any other job requiring deep analytic minds in law.

I learned GW-Basic and Q-Basic for a year when I was 10. I didn't know what For-Loop, Array, If-Then, and Function really meant. In high school after learning all those math, I had to make a graph generating program by Visual Basic, and yet, I still was not ready to match math concepts with my program. That was all the coding experience before my PhD that started when I was 30. My program's coordinator asked me if I was 'uncomfortable' with coding, only once. After the first assignment for a computational problem set, no one asked me the same question. I had been unable to sleep for days, weeks, if not months, just for debugging, but again, I never felt it alienating experience. Because my thought process between writing a memoir like this and writing a code is the exactly same. I just have to come back and fix my mistakes, again and again, until it does what I meant.

Picture

Member for

5 months 2 weeks
Real name
Keith Lee
Bio
Head of GIAI Korea
Professor of AI/Data Science @ SIAI