You are listening to the HumAIn Podcast. HumAIn is your first look at the startups and industry titans that are leading and disrupting artificial intelligence, data science, future of work and developer education. I am your host, David Yakobovitch, and you are listening to HumAIn. If you like this episode, remember to subscribe and leave a review. Now onto the show.
Welcome back listeners to the HumAIn Podcast. Today I have a special guest speaker who is not only involved in the world of technology when it comes to building cloud systems, understanding how data works together and understanding the moving patterns of AI with algorithms.
But he’s also a publisher today’s guest speaker is Rishal Hurbans¹, who is the author of Grokking AI Algorithms², a new book out from Manning Publications on human AI systems and where algorithms are moving in the fourth industrial revolution. He’s also a solution architect at Intellect. Rishal. Thanks for being with us.
Thanks for having me.
I love that we’re having in this conversation here today because I’m a big fan of books, especially when they’re technical books. I’m always learning to get better at code. And I love reading books from Manning and there’s always so many releases coming out, but I know this now what Manning’s has been doing is they also have these soft releases or this MEAP where the books are coming out. Chapter by chapter or over time. So I’d love to hear about what is the book that you’ve created and why you’re releasing it on a chapter by chapter basis.
So the book is Grokking Artificial Intelligence Algorithms. It consists of 10 chapters that explore different AI approaches. The reason that it’s being released chapter by chapter is that it’s part of Manning Publications, MEAP, which means Manning Early Access Program. And the benefit of that is we kind of get feedback from readers as we release chapters, which allows us to refine and create a better book at the end of the day.
So once all the chapters have been released and we get some feedback, the book would be then printed and finalized. So from my perspective, the major benefit is getting feedback. You never get things right the first time. And even after revisions, there’s probably still areas of improvement, but I just find as the author of it, it’s kind of helped me get some meaningful feedback from the intended audience.
And that makes sense because in the world of software engineering, there’s always revisions and feedback. If you’re coding, you might be using version control, like gets you’ll have pull and push requests all the time.
And so similar to what you’re doing now in Grokking AI or artificial intelligence, I know there’s been a lot in the industry around grokking software engineering and grokking data science. But if you’re a citizen data scientist, In the industry now you might not be familiar with what is Grokking. So can you explain that term or demystify that for the listeners?
The term Grock or Grokking is to kind of gain a deep understanding about something, but through intuition and through kind of some sort of feeling about it.
And it’s really difficult to describe because. I see it as when you just get something and you have that light bulb moment and something just clicks. Sometimes it happens through a metaphor when a complex. Topic or concept is explained through a metaphor and it clicks and you’re like I really get that.
That’s what Grokking is intended to mean in this kind of book in the series. And that’s what I intend to do with Grokking AI algorithms to kind of demystify these algorithms that are sometimes under appreciated. Including the modern kind of hyped concepts, like machine learning and neural networks, but to actually help the reader understand why it works and how it’s useful to the day to day.
You hit the nail on the head. If we think about AI, the last few years has been so much hype in this hype versus reality cycle for 2020 Gartner came out with a recent report, looking at the industry of machine learning AI and machine learning AI is now in the mature sense of the cycle.
So it’s early moved past the peak, and it’s now where every company is saying, we’ve hired data scientists,we’ve built out AI specialists, but now what, how do we deploy these systems? How do we demystify them? How do we better understand this? So do you think that we’re now hitting an inflection point in an industry where people have realized this morning’s hype, we need to grok it, we need to get an in-depth understanding.
I definitely think so. A lot of Funding has gone into creating this kind of skills and capabilities in different organizations. Some of the bigger tech giants have had a lot of success. And I feel like they’re a lot more mature than your average enterprise organization or even smaller company, whether you’re a tech technology company or not.
And we’re seeing a pattern. There’s a lot of solutions and proof of concepts that have been bolts that work in theory or work in a ring fenced. Kind of environment, but perform poorly in production or, don’t provide the value that was originally kind of envisioned.
So a lot of kind of effort is going into understanding now, what are the critical aspects to what we’re doing with this technology. How do we understand it better? And how do we kind of target it or direct it in a better way as opposed to, run a bunch of experiments and see what works.
It’s so interesting because I was at the Strata O’Reilly conference in 2019, where all these new platforms are coming out with solutions from end-to-end solutions to hitting at any of the different levels of the machine learning life cycle, which I generally think as data aggregation doing a data understanding like feature engineering, then even doing feature enrichment than the machine learning modeling, and then deployment and anywhere in these stages, some companies say, they have all five stages or just parts of them.
But the truth is a lot of the solutions are performing poorly in production, as you just mentioned results. So in your experience or opinion, why do you think these solutions are performing poorly in production today?
So my view on it is that it’s not a lack of engineering or the lack of kind of know-how in actual execution. It’s more from a strategic and kind of gold perspective in any technology that we’ve built, especially software. At the end of the day, it came down to solving a real world problem, whether that’s a business problem or, whatever the case might be. Usually it comes down to a business problem that you’re solving.
And what’s happened is the net has cost wide. What problems can we solve and let’s throw everything at it. And after kind of reevaluating, the technology and what problems it’s addressing, we’re finding that it’s not actually addressing the problems in a meaningful way because we just tried everything. Also, partly it’s because people have been trying the kind of hype buzzwords, because they sound like they’re a good idea.
And you feel like if you’re not doing it, you’re doing something wrong. A lot of the projects we’ve worked on, we’ve found that classical machine learning approaches actually solve the problem better. And when I say better, it is more accurate and produces better results in production than a deep learning approach.
So that’s definitely an aspect to it, but my opinion is that from a kind of global decision-making perspective, the stakeholders involved there, the different people involved, they need to have a better understanding of what problems the technology is solving, as opposed to just simply using it, to implementing it for the sake of it.
And that is what we are definitely seeing in 2020, because every team now has data scientists and AI specialists and data analytics professionals, and solution engineers. And they’re saying, we can’t just implement it whether we are trying to solve. So it seems that there is a need for this now and in the industry there have been many terms coming up from explainable AI to responsible AI, to ethical AI, everyone is really thinking, how do we create a better system that we productionize results?.
And my question that goes back to you is looking at these five stages of the data science workflow from collecting data to cleaning, to enriching, to doing the machine learning and then deploying, why are you taking a focus or interest in the algorithms particularly today?
So the focus on the different algorithms is driven by a theme or concept I mentioned just a bit earlier. So instead of trying any new technique that you come across, I wanted to highlight the advantages of some of the under-appreciated algorithms. So if we look at the book, the early chapters look at a general intuition of what AI is and there’s no complete definition that everyone agrees upon.
So that first start off the book tries to build this intuition of what it might be and the concept involved in it. And then it goes to really primitive kinds of concepts that we sometimes don’t even consider AI anymore. So things like search algorithms, back when they were invented, they were seen as AI.
And now that they’ve solved the problem and we know how they work. We don’t consider it AI anymore. But the goal of this was to explore these fundamental building blocks that have brought us to where we are today with a focus on some of these lesser known or lesser leveraged algorithms, including, kind of biologically inspired algorithms like genetic algorithms and colony optimization.
These things that are inspired by nature that are really effective in certain scenarios, just not favored because deep learning neural networks are the in thing at the moment. And with that said, the book does contain modern AI approaches as well. But the goal was basically to expand a technologist or a developer’s mind in terms of what the possibilities are when being faced with a problem. There’s no silver bullet and here are the advantages and disadvantages of the different approaches.
Just as you mentioned, Rishal, there’s seemingly an endless number of algorithms coming up every single day. And there’s a refinement of them. Whether we look now at the dozens of conferences, whether they’re ones like , which was in Vancouver last year, whether they’re focus04ed on texts or computer vision.
It’s just seeming endless amount of algorithms coming out, but it may not be just the new algorithms. It’s like you’re saying, looking at the under appreciated algorithms, like these search algorithms that have been around for decades and have very robust performance. My follow on to that is what is the reason that search algorithms may not have performed well in the past?
Do you think it might have something to do with memory, with compute, with optimization, with chip architecture. These are just some suggestions, but wanted to hear your thoughts on those under appreciated algorithms.
So I’d say specifically with search, it’s mainly kind of exhaustive, you had to kind of try every possibility to find a good solution, whereas, more modern approaches try to estimate a good solution. So the other thing with search or kind of traditional search is that a person would have to know what questions to ask. So if you’re building a decision tree about, should you wear a raincoat, you might ask, is it raining outside right now? If no, while does the weather forecast say it’s going to rain later.
And then, you work down that decision tree, but you have to know what questions to us, what modern approaches and machine learning and deep learning try to do is learn from examples and learn from previously made decisions to figure out the questions.
And this is where it becomes quite interesting because it figures out the questions, but not in the way that we understand the questions. It figures out some sort of weighting that means it is raining outside, but it cannot explain to us. That it’s encoded, is it raining outside? And that’s the thing where this kind of understandable AI concept comes into play as well. The other factors I’ll, I’m not necessarily performance. So these more traditional algorithms were more suited to the problems we we’re trying to solve at the time.
And modern algorithms are geared towards different problems that we’re trying to solve now, but computing has definitely made it possible for things like artificial neural networks to become more prominent. They’re not a new thing either. They were invented decades and decades ago. The reason it’s become more popular is because of the easy and cheap access to computing the advancements in that computing.
Our GPU or neural nets focus processes are way more efficient than they ever were. And the other two factors that people in organizations have understood that they can leverage data to gain some value out of it, whether it is to make better decisions, create more targeted products, whatever the case might be. And the heart of that lies with the boom off the internet. The only reason we have all this data’s because we’re completely connected.
So those three factors, this large amount of data that’s been collected through connecting the world, the actual value that’s hidden within that data and the kind of advancements in computing have allowed us to leverage these algorithms. And as I said, old algorithms that can now do some really powerful and useful things.
Thinking of the old algorithms. Again, the phrase we’re using here today are these underappreciated algorithms, like the search space. One of the core chapters in your book is intelligent search for game playing. And this is so interesting because we’ve seen in the news the last couple of years, whether traditional game playing like chess and go, or even video game playing like Dota 2 and League of Legends. Traditional search powered by this massive compute now is able to reach performance at human level or greater.
And it’s so fascinating to me that as someone who grew up in his childhood competing in chess tournaments, it was so much fun and enlightening. And now to say what a machine can beat me at this, it’s amazing. What are some of the insights or stories that you’ve uncovered working on that chapter about intelligent search?
So the implant search is also sometimes referred to as adversarial search. It’s essentially used for two player games like chess, and the whole concept is centered around an agent predicting the future. So if I’m an agent. And I see a certain state of a chess board. I would make a move and then simulate every move that my opponent could make and score that.
And then I would do it again for my next move. And again, until I run out of memory and that’s essentially how traditional adversarial search worked. And it worked pretty efficiently for its time. A lot of the classic game-playing algorithms used adversarial search and it is still useful today to some extent, but when it comes to games like Dota and, we see StarCraft, they’re using something completely different. So they’re leveraging reinforcement learning and deep learning.
So. As you can tell in a 2 play a game using classic adversarial search, you would need to know the rules of that game and every possible outcome or every possible legal move and every possible score for that move. And in chess, it’s fairly simple, it’s fairly contained. We know that the pieces can move in specific directions. We know winning scenarios, we know losing scenarios. But in games like Dota and StarCraft, those become very difficult to document in detail.
You’re not working on a two dimensional space where you’re moving pieces a few blocks at a time you’re working in a very fluid environment. It’s almost simulating reality. Things can move in different directions at different speeds. They have different weapons that they potentially use. There’s a lot of strategy involved in resource management in these games.
So kind of detailing every single piece of information and representing that as a state and then trying to predict every possible future for that state becomes very difficult to do with traditional adversarial search approaches. So, these newer techniques don’t try to encode the game and the rules of the game, but they try to let an agent learn from experiencing the game. So, and these examples, what a deep mind, open AI and similar organizations have done is basically allowed an agent to play itself many times and figure out what short-term actions and mid-term actions may result in long-term rewards. It’s a very different approach to the classical adversarial search. However, that still has a place, depending on the scenario you’re trying to solve.
So in short, if someone in 2020 is faced with solving a really intricate puzzle game in a two dimensional landscape, I would say adversarial search, it would be more than enough, but a lot of people would try and use something more advanced because that’s what they know and that’s, what’s advertised to work.
And that’s why that concept features in the book, basically to lay out the options. And hopefully people think more critically about what approaches they use because sometimes less than one or an older one might be more effective. I guess, if I had to sum it up, I’d like people to be more pragmatic because the more pragmatic you are, the more effective you are at solving, what’s important.
Everything you’re sharing is extremely fascinating because when I work with students day in, day out, and they’re going through coding schools and bootcamps, the hot rage in 2020 is what’s the new algorithm. What can I do in PyTorch? What can I do in TensorFlow? What’s the next big thing? But, when I’m hearing the consistent theme in our conversation today, we need to be pragmatic, we need to be practical, when they get back to the basics and be thinking more about the data, thinking more about the techniques to solve problems.
Just the other day, I also had the conversation with one of my colleagues who works in a fortune 500 finance company. And they mentioned to me that they have this team of software engineers, solution engineers, data scientists, and they worked on this big project to make data, speak to a problem and to present it into an application.
And the whole team got a working and it was beautiful and on time and on target and on budget. But at the end of the day, when the project owner spoke to the team and they asked, is the data good? Is the data clean? They said, it’s not in my scope or I’m not sure if this was fully optimized, they didn’t really think about that. So it seems that there’s not a mindset yet there yet people are not thinking first about, is this the best path? Is this the best data? Is this the most responsible method? Why do you think it is? We’re not thinking like that yet.
It spans more than just the data science and AI space. Any technology or engineering minded kind of individual is going to be interested in those sorts of things. And our organization we see that a lot of times with technical people who are brilliant at what they do technically are going to focus in that area. So let’s talk about something a bit different, maybe just general software engineering. You might have someone that cares specifically about how an if statement or a four loop is designed.
And as long as that’s designed perfectly, they’re happy with I’m looking at the bigger picture of what is that statement actually trying to solve. From a kind of bird’s-eye view, problem solving perspective. What value is a business or an organization or a project getting from you writing that piece of code? So, It’s with a lot of the work I do. I see technology, including data science, including software engineering or mobile development or whatever facet of technology we’re working in. I see it as a tool or a vehicle to deliver value or solve a problem.
That’s more meaningful, whether that’s to completely digitize a bank and make it way easier for their customers to interact with that bank and way easier for their customers to transact and get what’s important to them then, or if it’s on the other side of things where it’s not necessarily financial, but if we’re trying to detect tumors from a different radiology, pictures that we’re getting, are we meeting that? Because on time there’s a difference between a successful project and a successful solution.
Like you just mentioned a successful project is on time and within budget, but a successful solution is measured by does it actually do what it’s meant to do?
And I feel like that’s where your thinking is sometimes less appreciated in our kind of tech community, because there’s this deep focus on what tools and libraries and technologies and programming languages, and what are you using as opposed to, why are you using it? What are you trying to achieve with it? And that’s not just a problem in, in data science. It’s a, it’s a general theme, but we’re getting better as we go.
And to get better as we go. A lot of it is demystifying algorithms, demystifying AI, and problems, whether they are business cases or solution engineering. Oftentimes we have to cut through the hype around AI and see what creates a solution, what can be implemented to be effective. And so sticking on that topic of demystifying algorithms and AI. Where are you seeing a lot of the noise or confusion that we can demystify for listeners today on the show?
I’d say around that topic, a big kind of misunderstanding is the glamour in bolding, something with machine learning or AI algorithms about 60, 70% fried, depending on the surveys, you look at 60 to 70% of a data scientists work is usually understanding, cleaning, preparing, enriching, augmenting that data before it becomes useful. And even after you do all that work, you don’t actually know if that data is going to solve your problem or not. So one of the big misunderstandings is that it’s a very glamorous or lucrative kind of field to be in at the moment.
And sometimes it can be, but that’s more, the things we see in the media than the norm in most of the cases, your job could potentially be completely not what you expected. And a lot of hard work to achieve a really good result from that.
So that’s one of the kind of myths or misunderstandings. The other is that every solution should contain some sort of data science or AI element to it. And that’s not really the case. So unless there is a clear use case. No that fits the use of some sort of either classification or reinforcement learning or optimization algorithms. Unless there’s a real use case for that, it shouldn’t just be taken into consideration. You should think critically about how you can build a minimum solution that solves the problem in the best way, cause technology gets stale. And I’m not talking about the hyper on technology. I’m talking about actual code that’s in production.
After five years, 10 years in production, you feel like, why did I put all that effort? If we’re going to rewrite this, we evolve this. And if it’s not solving a problem, it’s not going to last that five, 10 years. So you need to think critically about the problems you’re solving and how you’re solving them and not just use AI or even other things like blockchain or inventing cryptocurrencies or whatever the next buzzword is, I feel like focus on first principles and you’re probably going to be more successful.
We’ve spent a lot of time today talking about these first principles, talking about design thinking, seeing about how to build better systems from the ground up. And one of the areas that a lot of students I work with and people in the industry have been talking about in 2020 is about the fear of AI.
Even though we’re talking about design thinking here today. There’s always concerns about job losses and where’s the industry growing and how can people be part of the next wave? if you were a student again today, Rishal, which we’re always lifelong learners, so we’re all students, but if you were just starting out again today, what’s some advice or recommendations you provide to others about this fear of AI and what they can do to make sure they’re being part of the future of work.
I’d say if I had to go back in time and I’ve said this a few times among friends and colleagues, I would have spent from a technical perspective and a growth perspective specifically in the area of AI and machine learning, I would have made a bigger effort to figure out why math is useful in these concepts. I wasn’t great at math and I struggled quite a bit and specifically with calculus and I just thought, I can’t do this. And I can’t really grasp it, but I don’t see the point in it.
And only later off to getting more into these algorithms, I realized the beauty and power of those theorems and those theories that we’re learning in math and a big problem is that the way they’re taught, doesn’t show you the application. It teaches the theory and it teaches the proofs, but you don’t know why it’s useful. And after you learn a little bit more about things like artificial neural networks or statistics, you really get a sense of appreciation for the math behind it.
So one piece of advice would be not give up on that and perhaps try and seek material or people or mentors or someone that can explain to you in a more human way, how these mathematical principles work, but more importantly, why they’re important. So that’s a big thing I would change. And that’s partly why I’m trying to share this kind of intuition in a grokking way like we described earlier in a very visual way, in a very kind of empathetic way where people can understand these very complex topics or complex concepts more naturally because I struggled with looking at it from a more theoretical angle.
Rishal, I am looking forward to reading all the remaining chapters of Grokking Artificial Intelligence Algorithms as they are released in the early release and official release programs. Appreciate you sharing with our listeners today on HumAIn, about design thinking, about AI and the next wave that’s coming. Thanks for being with us.
Thanks a lot.
Thank you for listening to this episode of the HumAIn Podcast. What do you think? Did the show measure up to your thoughts on artificial intelligence, data science, future of work and developer education.
Listeners. I want to hear from you so that I can offer you the most relevant trend setting and educational content on the market.
You can reach me directly at humainpodcast.com/contact. Remember to share this episode with your friend. Subscribe and leave a review on your preferred podcasting app and tune into more episodes of HumAIn.