SDS 341: Talking Robotics with Brandon Rohrer

Podcast Guest: Brandon Rohrer

February 19, 2020

Brandon has a huge impact on the world of data science and education. We went over his time at MIT, his work at Facebook and Microsoft, and went into iRobot and combining data science and robotics.

About Brandon Rohrer
Brandon loves solving puzzles and building things, and applied machine learning gives him the opportunity to do both. He started by studying robotics and human rehabilitation at MIT (MS ’99, Ph.D. ’02), moved on to machine vision and complex system modeling at Sandia National Laboratories, then to predictive modeling of agriculture DuPont Pioneer, and cloud data science at Microsoft. At Facebook, he worked to get internet and electrical power to those in the world who don’t have it, using deep learning and satellite imagery, and to do a better job identifying topics reliably in unstructured text. Now at iRobot, he visualizes fleet data to help 30 million cleaning robots do their job better. In his spare time, he likes to rock climb, write robot learning algorithms, and go on walks with his wife and their dog, Reign of Terror.
Overview
Brandon lives and works in Boston where his alma mater, MIT, is located. He studied mechanical engineering straight through college, into his Ph.D. He had a love of robot and mechanisms since he was a child and made bionic limbs his professional goal after seeing Empire Strikes Back for the first time. Brandon made the shift from hardware projects to data and software in his Ph.D., working with stroke patients. Today, he works at iRobot, a company that makes robot appliances—specifically vacuum cleaners. They have 30 million appliances out there in use across the world. You may know them from several videos on the Internet of cats riding them. 
Why did Brandon move from Facebook to something so different in iRobot? It wasn’t an easy decision. Facebook has pockets of data scientists working on different projects. Brandon worked on bringing Facebook, data, and electricity to people who do not have it. He loved it, but as he said, the only thing that could pull him away from that was working full time with robots. He made the jump and has not looked back. Now, at iRobot, he works in machine learning on physical hardware. His job is to do quality control and make products better through data and machine learning. The fun in it is that thee physical world the robot interacts with changes every time (debris, carpets, dust, etc.), so the job is a huge challenge but turns around and goes out to millions of people to make their lives easier if it works. iRobot is also conscious of privacy and making sure that while the Roomba collects and stores data. As for his work, Brandon was able to share that the data delivered by the Roomba is spacial and exists in time. They take the data and turn it almost into a video to find patterns. It’s the power of visualization, which we’ve gone over many times before in previous episodes. His tool of choice for this is Python.
Outside of his work, Brandon has become one of the top data science influencers, something he fell into a bit by accident. During a project, Brandon started writing up a guide and rules for algorithm cheat sheets, how to get oriented in machine learning, and other topics. He shared these topics and watched other people learn and gain understanding. Brandon’s goal is to make deep learning and neural networks to feel real and no longer like something mysterious or magical. Brandon realized the game he didn’t want to play was trying to get views or clicks, instead, he focused on what interested him or what was confusing him from week to week to create blog posts or YouTube videos. After he reached a critical mass of content, he put together an online school.
As before, I posted a call for questions on LinkedIn. It received over 29,000 interactions and we’ve got several questions: 
  • What are Brandon’s thoughts on automation and machine learning?
    – There is a movement to take data to model automatic. Brandon thinks it’s very cool and highlights the fact that choosing a model is far from the hardest part of data science and making that automatic is useful. However, he doesn’t think the custom work will ever go away because of how variable data is. 
  • Given the divided opinion of automated machine learning, how do you make it acceptable to business users?
    – Brandon thinks building trust will be important, just like selling an algorithm to a decision-maker. Track records and other proof can help decision-makers back your system or algorithm.
  • What’s the biggest challenge faced in making an ETL pipeline?
    – ETL pipelines take data from one format to another and one common issue Brandon encounters is small variations in data code can cause problems and force the user to roll it from scratch. It, again, goes back to how nuanced and variable data can be. 
  • What are the best practices to create a feedback loop in production after the model is deployed?
    – Brandon has noticed some mistakes people make are shipping a model out too early. However, assuming failure can help you respond better and faster. The way to think about it is that this item you built will continually decay and requires care and feeding to keep it alive.
  • How do you fine-tune CNN or mask RCNN, especially for design problems?
    – Brandon has never actually implemented a convulsion neural network, but he is planning on making one for a forthcoming video. But, how do you fine-tune your neural network? A neural network has so many knobs to adjust, a box of Legos, how do you do it the best way? One answer is to try every single optional and compare. Which is impossible. So the next best option is to try just a few and go with the best one, knowing it may not be the ultimate best.
  • What are Brandon’s thoughts on looking into interpretability in deep learning models?
    – Brandon feels strongly about interpretability. If all data scientists do is publish a model without a mental picture of what it’s actually doing, that’s a problem. But interpretability can also mean a justification for a decision an algorithm makes. 
  • Is there a way to design a legitimate cheat sheet that defines use cases for stitching together various neural network architectures?
    – We have a handle full of well and often used data sets to benchmark algorithms, which only solves a particular problem in a particular data set. A focus on that alone leads to specializations in algorithms that we did not intend. If you’ve got a problem that no one has solved before, that’s the type of cheat sheet Brandon first created while at MIT. Having something larger, focused on neural networks, would be incredibly beneficial. 
  • What is the future in the next 3-5 years in robotics?
    – There’s a lot to look at. Brandon is looking at coordination between robots and intelligence in the home to better schedule work. Homes will become a caretaking system itself, like a giant robot. 
What does Brandon want to share to close this out? Brandon hopes that in this new year everyone finds a project that sparks curiosity and grabs their interest without letting go. 
In this episode you will learn:
  • Brandon at MIT [7:41]
  • iRobot [15:14]
  • Moving from Facebook to iRobot [17:14]
  • Brandon’s work in iRobot [20:18]
  • Brandon as a data science influencer [30:08]
  • Q&A [40:40]
Items mentioned in this podcast:
Follow Brandon
Episode Transcript

Podcast Transcript

Kirill Eremenko: This is episode number 341 with Principal Data Scientist at iRobot, Brandon Rohrer.

Kirill Eremenko: Welcome to the SuperDataScience podcast. My name is Kirill Eremenko, Data Science Coach, and Lifestyle Entrepreneur. Each week we bring you inspiring people and ideas to help you build your successful career in data science. Thanks for being here today and now let’s make the complex simple.
Kirill Eremenko: This episode is brought to you by my very own book, Confident Data Skills. This is not your average data science book. This is a holistic view of data science with lots of practical applications.
Kirill Eremenko: The whole five steps of the data science process are covered from asking the question to data preparation, to analysis, to visualization, and presentation. Plus, you get career tips ranging from how to approach interviews, get mentors and master soft skills in the workplace.
Kirill Eremenko: This book contains over 18 case studies of real world applications of data science. It comes off with algorithms such as Random Forest, K Nearest Neighbors, Naive Bayes, Logistic Regression, K-means Clustering, Thompson sampling, and more. 
Kirill Eremenko: However, the best part is yet to come. The best part is that this book has absolutely zero code. So, how can a data science book have zero code? Well, easy. We focus on the intuition behind the data science algorithms, so you actually understand them, so you feel them through, and the practical applications. You get plenty of case studies, plenty of examples of them being applied.
Kirill Eremenko: And the code is something that you can pick up very easily once you understand how these things work. And the benefit of that is that you don’t have to sit in front of a computer to read this book. You can read this book on a train, on a plane, on a park bench, in your bed before going to sleep. It’s that simple even though it covers very interesting and sometimes advanced topics at the same time.
Kirill Eremenko: And check this out. I’m very proud to announce that we have dozens of five star reviews on Amazon and Goodreads. This book is even used at UCSD, University of California San Diego to teach one of their data science courses. So, if you pick up Confident Data Skills, you’ll be in good company.
Kirill Eremenko: So, to sum up, if you’re looking for an exciting and thought provoking book on data science, you can get your copy of Confident Data Skills today on Amazon. It’s a purple book. It’s hard to miss. And once you get your copy on Amazon, make sure to head on over to www.confidentdataskills.com where you can redeem some additional bonuses and goodies just for buying the book.
Kirill Eremenko: Make sure not to forget that step is absolutely free. It’s included with your purchase of the book, but you do need to let us know that you bought it. So, once again, the book is called Confident Data Skills and the website is confidentdataskills.com. Thanks for checking it out, and I’m sure you’ll enjoy.
Kirill Eremenko: Welcome back to the SuperDataScience podcast, everybody. Super pumped to have you on this show. Today is going to be a blast. I just got off the phone a couple of hours ago with Brandon Rohrer, a person who I’ve been following for multiple years, someone who has had a massive, a massive impact on the space of data science and machine learning. Brandon is an educator, presenter. He’s got a huge YouTube channel with over 50,000 followers where he teaches people about deep learning, machine learning.
Kirill Eremenko: He’s got his own web school with a lot of courses, including free courses on machine learning called End-to-End Machine Learning. He’s had an influence on thousands of people, worldwide. So, this was a huge honour to talk with Brandon and we had a fantastic conversation. And what did we discuss? So, the question is what will you learn about in today’s episode? Well, we discussed a lot of things. We started with Brandon’s journey at MIT, and how he did his master’s and PhD there.
Kirill Eremenko: And how he’s always been passionate for mechanical engineering and how that passion came together with a passion for data science and data analytics. Then we talked about his work at Facebook where he was a data scientist as well as Microsoft, where he was also a principal data scientist. So, you’ll find out about his roles at both of those two tech companies. And then we’ll talk about iRobot, and what made him move to iRobot, and how he’s pursuing his passion, working on data science combined with robotics, and what that means to him.
Kirill Eremenko: And also then we moved on to some of your questions. So, what I did with this episode is I asked on LinkedIn 24 hours before the episode, I asked to post any questions for Brandon, and we got a huge response to that. And so, we went through a lot of your questions, such as auto ML and deep learning, neural network architectures, explainable artificial intelligence, interpretable deep learning, ETL pipelines, production feedback loops, future of robots and many, many more.
Kirill Eremenko: So, this is going to be a podcast packed with value. Lots of interesting things including technical insights, career advice, predictions for the future. Pretty much you name it, everything’s in here. So, without further ado, let’s welcome onto the show principal data scientist at iRobot, Brandon Rohrer.
Kirill Eremenko: Welcome back to the SuperDataScience podcast ladies and gentlemen, super pumped to have you back on the show because today’s guest is Brandon Rohrer. Brandon, how are you going today? 
Brandon Rohrer: I am doing well. Thanks very much. It is great to be on the podcast, really I appreciate the invitation.
Kirill Eremenko: Oh, I’m so glad. Like, I’ve been looking forward to … Like I told you before the episode, I actually had a dream about you on the podcast, that doesn’t happen often. Oh man. Crazy. First time I met you was way back in, I think it was May, 2017 you’re doing a presentation at ODSC, and your room was packed. Your room was designed I think like four 50 people, there’s like 150 people are sitting on the floor, in the walkways, and standing behind the walls. You couldn’t even get into the room like that. That’s how packed it was. People standing outside. That was so good. I was so impressed like, “I got to get Brandon on the podcast.” Finally, here we are. It’s so exciting. It’s crazy.
Brandon Rohrer: I’m so happy that’s it’s finally worked out, with us moving in separate circles and pursuing so many projects and interests. It’s nice to have us be able to coordinate and bring it together.
Kirill Eremenko: Yeah, man. And you live in Boston, right?
Brandon Rohrer: That’s correct.
Kirill Eremenko: How long have you been there?
Brandon Rohrer: Going on seven years now.
Kirill Eremenko: Seven years.
Brandon Rohrer: And then there was another a five year stint when I was in grad school here. So, it really feels like home.
Kirill Eremenko: Cool. That’s cool. So, you went to MIT, is that correct?
Brandon Rohrer: That’s correct.
Kirill Eremenko: Oh man, I went to MIT but only for two hours. I just went for this tour.
Brandon Rohrer: Well, it takes a lot longer than others.
Kirill Eremenko: I wouldn’t say I studied there anything, learned a lot. But how was it? It’s such a mysterious place, like MIT is in … Some of the smartest people in the world come out of there. Tell us like how was it to study at MIT?
Brandon Rohrer: It was pretty amazing. I came from Brigham Young University was my undergraduate institution in mechanical engineering, and the jump to MIT for grad school, I was prepared for like goodwill hunting be blown away by everyone. I would say though that when I arrived, the average level of intensity and intelligence was maybe 25, 40% higher, not double, triple what I was used to. So, a lot of quite smart people but still people.
Brandon Rohrer: And the professors very busy, very smart, very engaged, but still professors, regular people, and that there are similarly excellent, and engaged, and brilliant people at every institution. Perhaps a slightly higher concentration at MIT, but they definitely don’t have a corner on that market. The mystique is probably due more to marketing and social influences than other things. But I’m very grateful to have been there, and I learned a ton of things that might not have been as easy to learn someplace else.
Kirill Eremenko: What’s that corridor you guys have? Like it’s the infinite corridor or something like that?
Brandon Rohrer: Yes. There’s a whole bunch of buildings, kind of the central complex that runs right under the two big domes that you’ve seen if you’ve seen pictures of the campus. The infinite corridor is, I don’t know exactly how long, probably short of a kilometer, but more than half a kilometer. And there’s a fun event called MIT Stonehenge. So, there are two times in the year where right at sunset, the sun will shine from across the street through those big columns in the front door, and shine down the length of the entire corridor.
Kirill Eremenko: Wow. That’s really cool. Oh wow. Okay. So, wow interesting. So, it’s like the same effect as they have in Stonehenge where like the sun shines through those arches, right? Or whatever they’re called, the stones.
Brandon Rohrer: I think so. I don’t actually know anything about Stonehenge, but it’s some alignment of architecture and astronomical phenomenon.
Kirill Eremenko: Wow. Very cool. Do you think it was designed … It probably was designed like that knowing about it in MIT.
Brandon Rohrer: I wouldn’t put it past that one, but it is parallel to the river, so, it may just be a happy accident.
Kirill Eremenko: Okay. Got you. So, what did you study for your … So, you’re still in mechanical engineering all the way, right? Even in your PhD.
Brandon Rohrer: Straight through. So, my background, my origin was as a child, I loved robots. I loved mechanisms. Empire strikes back Star Wars, episode five, the very end, Luke gets his bionic arm, and I’m like 10 years old when I see that for the first time. And that’s the coolest thing to me. And so, that becomes my professional goal. I want to make bionic arms for people. And so, I did auto mechanics in high school, and it came time to go to college, I sought out a robotics course, and a way to study robotics and prosthetics.
Brandon Rohrer: And then I got very lucky to work with Professor Neville Hogan at MIT. It was a joint appointment with mechanical engineering and brain and cognitive sciences and had several projects around upper limb prostheses. So, you were going to build Luke’s arm in academia, that would have been the place to do it. Well, I got to work on that. And then later for my PhD, moved to the analysis of data generated by patients using robots for stroke rehabilitation.
Kirill Eremenko: Okay. Wow. Very interesting. And how did you enjoy that?
Brandon Rohrer: I loved it. After doing a hardware project for my master’s degree, I realized that if I to do my PhD in less than 10 years, I needed to move to data and software. And so, that was my first big data project. It was 44 stroke patients using this robot, several days a week for several weeks in a row. Stacks and stacks of little zip drives, maybe somewhere in the 10 gigabytes of data. So, it all fit on one hard drive.
Kirill Eremenko: What years were these?
Brandon Rohrer: This would have been like 2000.
Kirill Eremenko: Yeah. Back then that would have been like big data.
Brandon Rohrer: Yeah. So, and I was working in MATLAB writing my own little custom database and file manipulation, and going through and crawling through this tree of files, and doing the same analysis on it, and compiling them. And at one point I literally had the lab wallpapered ceiling to floor with these eight and a half by 11 sheets of paper, each with a different plot on it. My advisor just encouraged me to just look at the data, and the visualization. He said that he doesn’t know any substitute or any shortcut for that. And that experience has influenced a lot of my data analysis work since.
Kirill Eremenko: Interesting. Is that a pivotal point in your life when you moved from robotics to data or like have you always kept the passion for the two at the same time?
Brandon Rohrer: For me, they’ve become inseparable. So, that’s definitely when they merged for the first time. I learned through that, that we had lots of cool robotic hardware in the world. At the time Professor Kazerooni out of Berkeley, had some really cool hardware projects going on. Other people had similarly fantastic like robots articulated arms and walking, the leg lab was doing some really cool things, which is now morphed into Boston dynamics. I realized that the short pole in the tent was the software, the ability to control it.
Brandon Rohrer: So, I started to focus more on algorithms, more on controls, more on if you have a system that you don’t have a good model of and where things might fail and things are sloppy, how do you control that well? Like the human brain does with our bodies. And so, that’s kind of been the central theme of both my professional research and then my hobby research as I moved on and my day job became more data centric. So, my move to iRobot most recently in this last April was motivated by that underlying, undying, just excitement about robots.
Kirill Eremenko: Yeah, first of all, congratulations.
Brandon Rohrer: Thank you.
Kirill Eremenko: And it makes a lot of sense now. And so, very interesting, interesting career path. Like, so you worked as a data scientist at multiple organizations, including principal data scientist at Microsoft, data scientist at Facebook, and now you’ve moved to iRobot. First of all, for those who don’t know, because I don’t live in the US and iRobot is not that popular in Australia. I need to freshen up on that. Could you for our listeners who are not maybe familiar what with what iRobot does, could you give us a quick overview what is the company all about? 
Brandon Rohrer: Yeah, iRobot makes robot vacuum cleaners, and mops, and lawnmowers. Mostly known for our vacuum cleaners. There’s about 8 [actual number is 30] million of these out in the world, in Europe, in Asia, and the US. And most of the vacuum cleaners are circular and somewhere around 12 or 14 inches across, and about three or four inches high. And they move around and suck up dirt. And it’s not too hard to find videos on the YouTube of them doing their job and getting into humorous situations and often being ridden by cats.
Kirill Eremenko: Yeah. Is that the one that’s called the Roomba? Is that an iRobot creation?
Brandon Rohrer: That’s the Roomba.
Kirill Eremenko: Okay. Got you. I’ve definitely seen that one and heard, actually some of my friends had that one. Okay, so very interesting, and a question that Ben Taylor … By the way, how do you know Ben Taylor?
Brandon Rohrer: Ben and I … I don’t remember how we originally got in touch, but it’s a friend, data scientist of a friend, and he was passing through Boston, and we had lunch together, and we’ve just kind of kept loosely in touch ever since. Of course, he leaves a big footprint online, so it’s easy to see what he’s up to. And we exchange messages every once in a while.
Kirill Eremenko: Yeah, it feels like he knows everyone. So, everywhere he goes-
Brandon Rohrer: [crosstalk 00:16:46] super powers I think.
Kirill Eremenko: Yeah. That and skiing crazy mountains in Utah, and staying alive. Okay. So, Ben rightly asks the why the move from Facebook to iRobot? Like such a different feel and from Microsoft to Facebook, interesting. Similar industry, I would say, similar big tech companies, moving from Facebook to iRobot, very different space. At least from my perspective, could you give some information that, like how did you make the decision to move from Facebook to iRobot? 
Brandon Rohrer: Yeah, so, it was not an easy decision. I have to say at Facebook, there are several large groups of data scientists within Facebook. Some lean more heavily toward analytics, some are building models, predictive models, time series models, anomaly detection models. Some are deep into machine learning stacks, machine learning engineering. There’s one particular group that I was associated with called infrastructure data science.
Brandon Rohrer: We had the responsibility to try to help Facebook do what Facebook does while running out of available compute in the world. The scale of what they do is so big. There’s literally a struggle to find not only processors, but ram and even electrical power in some areas to do this. And so, any insight, if a data scientist can run an analysis and say, “Hey, if we were to cache this type of file on these locations, we could cut costs here by two percent.” That two percent might be many millions of dollars. So, it’s worthwhile to have a team focused on things like that.
Brandon Rohrer: Within that group there was a chunk of us focused on connectivity, which is how do we help get the internet to people who don’t have it yet? And then a small part of that, that I got to work on is how do you actually help get electrical power to people who don’t have it yet? So, I got to work with satellite imagery, making models of medium voltage, electrical power lines in Africa, a model that has since extended to the rest of the world. And super satisfying, technically very proud about the impact that it had, and my teammates were spectacular. I really enjoyed working with the team there. The only thing probably that could have drawn me away from all that was the opportunity to work full time with robots.
Brandon Rohrer: Angela Bassa who is a phenomenal data scientist, and an unbelievably skilled and empathetic manager, she talked to me a few times and said, “Hey, I think that you would really enjoy it here.” And she was able to not only counter all of my, I don’t know, uncertainty, but also just convinced me that the vision of the team that she was building, and the quality of the work they were getting to do there was compelling. And I interviewed, I loved all the people that I got to meet, the work that I saw being done. And so, I made the jump. It wasn’t easy, but I made the jump, and I haven’t looked back.
Kirill Eremenko: Nice. Wow. What a cool story. Following your passion. That is so cool. So, what do you do now at iRobot?
Brandon Rohrer: So, at iRobot, there are about 8 [actual number is 30] million robots out in the world in [crosstalk 00:20:32].
Kirill Eremenko: It’s crazy. It feels like when you said that the first time … Sorry, it sounds like 8 million robots, it’s like they could just take over the world. Like if they are pre-programmed in a way like that movie iRobot, right? There’s a movie iRobot.
Brandon Rohrer: There is a movie iRobot, both of which are references to some classic science fiction. But yes, there is definitely a large number of these rumors out there. I think if they band together to try to take over the world, the most they could do is really make it cleaner. It could only be a good thing. But yeah, there are about 8 [actual number is 30] million of them, which coming from robotics research, if you have one robot in the lab, and you can get it to do the same thing three or four times in a row, like does good, you write it up, you get your PhD, you’re done. Like that’s an exaggeration, but not by much.
Brandon Rohrer: Having, if you really want to do machine learning on physical hardware, you either need to have a very reliable piece of hardware or lots and lots of instances of that working in different locations to kind of like understand how varied the world is. I don’t know of any other realm, whereas there’s this rich of a set of data of identical or nearly identical platforms out in the world, bumping around, making mistakes, getting stuck, figuring things out. So, what I get to do then is with this information our goal is to help these robots do their job better. So, I get to look for, “Hey, where’s something where it’s not working quite as well as we would like?”
Brandon Rohrer: And do that by writing SQL queries, and Python scripts, and making visualizations, and trying to figure out like in aggregate, what are these robots doing? Where do they have a tough time and how can we help them do it better? There are other teams within iRobot that focus on the hard core navigation algorithms. Like, “Hey, here’s my mental picture of the layout of this room. Where exactly do I need to go, and how often do I need to turn, and what’s my path to clean it?” But what’s so cool about the physical world is, it’s different every time. There’s someone left a sock in the floor, there’s a [crosstalk 00:22:58] that gets stuck in the roller. There’s a rug that’s just a little too fluffy, that’s the robot doesn’t know quite what to do with it.
Brandon Rohrer: It gets stuck under the edge of the counter. And so, a real robot in the real world has to figure out how to handle all this stuff. And, it’s very, very frustrating if your job is to make it perfect, but it’s really exciting if you’re a data scientist looking to make something better, because there’s lots of opportunities to look for these and then to be able to find ways to improve it. And then knowing that this turns around, and goes out to literally millions of people’s homes around the world, and makes their owner’s lives just incrementally a little bit easier, gives them one all thing not to worry about. I really like that.
Kirill Eremenko: Man, love it. Love it. If anybody listening has a Roomba, next time you look at it, think of Brandon. So, how do you get the data? Is it like Tesla? Do they sync up overnight or something like that?
Brandon Rohrer: When you get a Roomba, you open it up, and you have the option to connect it to Wi-Fi. If you do like a Tesla, it can get software updates on a regular basis. So, as we understand how to make them work even better, they download the software and are able to incorporate those new strategies. And then summaries of their activity get uploaded as well through the cloud. And so, like for instance, if it gets stuck, information about, “Hey, I got stuck here, and this is what was happening just before I got stuck.” That gets uploaded as well. So, that data then becomes the pool of information that we get to draw from to try to make them better.
Kirill Eremenko: And it’d be very interesting because you’re very limited to … It’s like I can imagine that Roomba getting stuck, but you don’t see that. Like it doesn’t have a camera on it. Like, you get the sensory data of the movement and things like that. So, you have to recreate somehow that environment that it was in without any visuals. Is that about right? My imagination on how your work plays out.
Brandon Rohrer: So, actually on current Roombas there is a camera, it faces upward, and it uses the corners of the room, the ceiling to navigate, like you can imagine navigating by stars. And so, it does that, but that data is not data that it’s reported or that I use. Our philosophy, another thing that really excited me about iRobot is, we have a strong commitment, to privacy and security of data. And part of that philosophy is we don’t collect it unless we absolutely have to. We don’t keep it unless we have to. And the ‘have to’ is all driven by what will make the person who owns the Roomba, what will make their experience better? So, the default is don’t collect it. If you collect it, don’t keep it. If you keep it, don’t analyze it.
Brandon Rohrer: Always doing the minimum to get there. So, to your point, you’re right. We don’t have imagery. We’re not able to do like … For the work that I’m doing, I’m not doing any deep learning, anything like that. It’s very much more simplistic, and really taking advantage of the fact that there are so many of these so that the patterns that we look for they might be a little more subtle, but we’ve got the numbers to pull them out where we might not be able to if we just had a few dozen.
Kirill Eremenko: Very interesting comment about privacy. I love when companies do that. I really respect it. That’s the way to go. And the implementation of GDPR in Europe, fantastic example of that. But as companies in the US don’t really have to follow that, I guess because it’s European legislation, but the companies that choose to have similar norms, amazing. Wanted to ask you, you said you don’t really do deep learning. What kind of methods do you use or approaches do you use in your work right now at iRobot?
Brandon Rohrer: Let’s see. I am afraid that I can’t go into fine detail, but I can give you generally. I do a lot of visualization. So, the robot’s data is spatial, they move around, and different things happen at different positions, and it also happens in time. So, going from, like a big table representation where every event is a row, and every piece of information is in a column, it can be hard to see what’s going on. If you turn around and put that into a picture or even take it one step further and turn it into a video, a picture that changes over time, then patterns pop out, that you wouldn’t be able to see otherwise.
Brandon Rohrer: And so, so far my biggest contribution at iRobot has been taking data and gathering the two or three pieces that answer the question I’m trying to answer right now, and turning it into pictures. Yeah, and it’s been pretty satisfying to do something that … When someone who’s been working with the data for a while, they see that they go, “Oh, you know what? I always suspected that was going on. And now I know for sure.”
Kirill Eremenko: Yeah, the power of visualization isn’t it?
Brandon Rohrer: Yeah.
Kirill Eremenko: Crazy.
Brandon Rohrer: It’s pretty shocking. I don’t think that it’s always fully appreciated, but it’s something that when you are trying to answer a specific question using data, it usually it does the job, not always. It’s definitely my first stop.
Kirill Eremenko: Okay. And what’s your tool of choice, Python or do you use some BI platform for that?
Brandon Rohrer: Yeah, Python, Matplotlib. I like fine-grained control, and that gives me fine-grain control.
Kirill Eremenko: Seaborn?
Brandon Rohrer: No, it just raw Matplotlib.
Kirill Eremenko: Got you. Okay. All right. So, tell me this like shifting gears a little bit. What I’m curious about is you sound like a very dedicated, hardworking, passionate MIT PhD with experience, and interest in robotics, and data, and you’re doing everything right. You’re building a career, everything’s going great. At the same time, if we look at your life online, and just in the data science community, you’re like one of the top influencers. Like people pile into rooms when you’re presenting, people follow you online. People always asking you question. Whenever like I mentioned your name on LinkedIn, so, many people were like, “Yes. Brandon, Brandon, Brandon.” How did you become a data science influencer?
Brandon Rohrer: Totally by accident. It was not a goal. When I worked at Microsoft, I was on a team of really great data scientists. Incidentally, one of whom Danielle Dean I work with now at iRobot. And in this team, our main job was to build prototype systems for companies who are considering using Microsoft technologies. And this included taking their data and doing a proof of concept solution often with a machine learning model. It was a challenge and it still is a challenge to communicate with people who are new to it.
Brandon Rohrer: What is machine learning, what can it do? What can’t it do? What’s not a good candidate for a machine learning problem? If you are new to some of these tools, what algorithm might you use to solve a particular type of problem? And not because I was any kind of an expert. I’ve never taken a machine learning course. I just started writing up these rules of thumb, and these guides that I knew were incomplete and I knew were not entirely accurate all the time, but that were a useful starting point for people who are completely new to it to help them get oriented.
Brandon Rohrer: There was a “what algorithm should I choose” cheat sheet that went out and got a lot of views. There was like what type of algorithm answers what question? Really basic stuff like that. But if you’re trying to get oriented, useful signposts. I found that I really enjoyed being able to take something that previously had been mysterious to me through the process of writing it, get it clear in my mind, and then seeing other people who I could tell from their reaction, it had seemed mysterious and scary and out of reach.
Brandon Rohrer: And to have them be like, “Oh, so that’s what that means?” And, some of them, like the reactions can be quite emotional even like, “I was afraid I would not be able to understand this, but now I do. I’m so grateful for that.” And I’ve found that I have enjoyed doing that. And so, a lot of the things that I write or create for instance, there are some videos on YouTube describing how different types of neural networks work that get a lot of view and a lot of comments because they break it down with the very intuitive example, and give people a chance to see one nut and one bolt of this system at a time and see how it fits together.
Brandon Rohrer: And yes, it glosses over a lot of the fine details, and a lot of the bells and whistles, but it’s like walking into your high school classroom and you see the cutaway of the internal combustion engine in auto shop. It’s like, “Oh, that’s what’s going on in there.” And yeah, you don’t know everything about computer control of ignition timing and things like that, but you have a sense like it’s not magic anymore. And, I love being able to make it not magic for people so that more and more, anyone who wants to could get into it.
Kirill Eremenko: Yeah. I watched some of your YouTube videos myself about you explain deep learning, like a while ago I was watching your video about I think convolutional neural nets. That was really cool. How you explain the convolution operation itself and some other stuff. Yesterday I checked out your, how back propagation works, that new video you have about the shower head. That was really fun how you explained the derivatives through shower valves-
Brandon Rohrer: Thank you.
Kirill Eremenko: It’s very innovative approaches. Really cool. And yeah, like how do you keep contributing to people? So, now you do YouTube videos. Do you still do those write-ups? 
Brandon Rohrer: So, as more and more people viewed videos and followed me on LinkedIn, and to a lesser extent on Twitter, I thought, “Oh yeah, this is great. I can do stuff to get more views. People will really want to see this or want to know about this.” And usually whenever I have done something thinking that it will get a lot of attention, I put it out there and it doesn’t get so much. And I realized that’s not the game I want to play. Like I just find it so much less satisfying, and I’ve realized that the North Star, and the guiding principle is, what am I excited about this week? What am I interested in, and what am I curious about? Most importantly, what do I not understand yet that’s like a burr in my saddle, and I need to figure out what that is?
Brandon Rohrer: And depending on the topic, I either put it into a static webpage, like a blog post or I’ll make a video of it, and put it on YouTube or there’s a critical mass of this material now I put together an online school called End-to-End Machine Learning that goes through a few case studies using different machine learning algorithms to solve a problem. Starting with raw data, going through all of the work of cleaning it, doing feature extraction, understanding what problem we’re trying to solve, deciding what algorithm to use, getting a result.
Brandon Rohrer: And then making sure that the final thing is in a form that we can use. And so, depending on what it is I want to do, I choose a different form for it. I’m trying to unify it and make it all accessible through this end-to-end machine learning school though. So, that someone who wants to say, “Hey, what’s Brandon up to this week?” Can go there and see what’s new.
Kirill Eremenko: Love it. And I’ve read some really high recommendations from students who’ve taken your courses there, and have become successful and learned new stuff, and what a great way to contribute to the community. It’s super exciting. Like we create courses at SuperDataScience as well. And I think that’s just for me personally, it’s the Apogee of putting my knowledge … That’s the right word. But basically it’s a combination of learning something is when I can teach it is when I can like put it together, and share it, and that’s the best way, right? Like why not a document and hey, sometimes I can just go and take my own courses that I recorded two years ago because I forgot some.
Brandon Rohrer: That’s one of the major functions of the posts that I put up there. So, I can remember what it was that I figured out how to do eight months ago. It’s so true though. I will think that I understand something and when I go to write it up and explain it or when I go to code it up and explain the code, I realized that I was wrong. So, it’s not until I can get the full explanation out in a way that I’m satisfied with that I then feel comfortable. It’s like, “Okay, I get this. At least for now I get this well enough.”
Kirill Eremenko: Yeah. And it’s really tests your integrity because when I’m recreating a course, I like I’m recording this video, and then like let’s say like a section of three or four or five videos, and then I get to video number three, everything’s prepared. And then I find this one thing that is like, “Oh wait, hold on. That’s not right. I thought it was going to be this way, but it’s this way.” And then you’re like, on one hand you could gloss over it, and just like be like, “Okay, forget about it, don’t need to mention it, we’ll do it another way.”
Kirill Eremenko: But then it really sticks with me and like burrows in my head, and I just can’t, I know I won’t be able to let it go. So, I spend like another day or two days like sorting it out, and those five videos turn into 15 videos because I have to get to the bottom of this thing for myself. It’s interesting.
Brandon Rohrer: It is true. And the other part of that is even when you’re not exactly wrong, there’s like, “Ah, I could have done it better.” And it’s a real struggle for me to release things. But the best advice I have like for past me and future me is get it to the like A minus, the 90% level, and then just get it out there, and move on, move on to the next thing. And without that, if you want to get it to the 99 plus percent level, it’s like I would never release anything.
Kirill Eremenko: Yeah. There’s a saying done is better than perfect, right?
Brandon Rohrer: Yeah.
Kirill Eremenko: Better done than perfect but not done.
Brandon Rohrer: That takes a thick skin on the internet because there are non-trivial mistakes in everything that I’ve posted and YouTube viewers are not shy. And so, my mental like getting psyched up is like everything that I say is wrong or at least at the very least it’s incomplete. And if someone points out how, then that’s great. That’s just fine. But I already know that I’m making a lot of mistakes, and then I’ll kind of, after taking that deep breath, I can go through, and let it go into the world. 
Kirill Eremenko: That’s true. That’s very true. All right, so what I wanted to do next is, as you saw, and our listeners don’t know about this, not many don’t know, that’s why I’m going to describe it a bit now. I started this thing where I posted a message on LinkedIn for everybody who wants to ask you questions. I said, “You got questions for Brandon Rohrer? Post them below.” And this was 24 hours ago. In 24 hours, this is crazy. In 24 hours this post has gotten, let me get the exact number, 29,887 views, 145 reactions, and 25 comments. So, there’s a lot of material for us to go through. How are you feeling about this? You’re ready to answer some questions?
Brandon Rohrer: Yeah. Bring it on.
Kirill Eremenko: All right. Okay. So, we’ve got some questions. We’ll start off the technical ones. Your favorite type. Kate Strachnyi asks, “I’d love to hear Brandon’s thoughts on automation in machine learning.” What are your thoughts on like auto ML and in general, will machine learning be able to do itself?
Brandon Rohrer: Yeah. So, for those not familiar, auto ML is a movement to take the process of going from data to model, and making that automatic. So, what model is selected, how it’s trained, everything just kind of happens. I think that it’s really cool. It highlights the ability to choose a model is actually not the hardest part of data science. So, it does take the one portion of the process, and makes it pretty automatic. That is useful. That is good for getting an 80% solution to 80% of the problems, and will probably be something that someday is like the …
Brandon Rohrer: If our custom machine learning model is a super tuned race car, then the Toyota Corolla that gets you to the grocery store and back, like that’s an auto ML model for a lot of things, it’ll be good enough. I don’t think that custom ML work will ever go away though because data is so variable. Its quality is variable. Every data set I’ve looked at has weird things I didn’t expect, multiple missing value indicators, is supposed to be a numerical value, but some of them are strings. If they are free entry, like text free entry, then forget about any kind of uniformity. Like you’re going to have every weird thing you can imagine, and then some.
Brandon Rohrer: Interpreting data is also challenging even with good column names. It’s hard to know exactly what data in a table means unless you measured it or talk to the people who measured it, and know exactly what it means, and knowing how to interpret it requires knowing something about the world, and how all the pieces fit together. Right now that’s outside the scope of AI. That’s something that we need humans for. So, for custom machine learning models, automation is not going to do away with that.
Brandon Rohrer: I expect that it will have a small and slowly growing role going forward. Research on auto ML though is really instructive because it helps us see these places where, “Oh, here’s the easy part and here are the parts that are really hard.” Maybe we should invest time in making tools that do feature creation and feature selection because that’s something that humans spend a lot of time on.
Kirill Eremenko: Very interesting. Yeah. So, the domain knowledge component is something that’s missing. Because I was going to ask you like what if humans just do the boring data preparations and then machines do the fun machine learning models selection? But I see your point that you do need to understand more about … Like you can add more value if you understand the underlying business principles.
Brandon Rohrer: Yeah. In theory, like any type of relationship is learnable. Given the tools that we have right now though, there are only certain types of relationships that tend to be learned well. For instance, neural networks, they tend to learn which linear combination of things tend to occur together or tend to be predictive. That’s just one of very many types of interactions or features that you can build from them. The ability to craft good features, especially, when you have less than unlimited data relies on intuition, and good world models, and I don’t see humans getting out of that loop anytime soon.
Kirill Eremenko: Okay. There’s a follow-up question on auto ML from Lakshmi Narasimha, “Given the divided opinion of usefulness of machine learning in real life business scenarios, particularly early in regulated businesses, how do we make it acceptable to business users?” Like if you want to basically, your proponent of auto ML, how do you make it acceptable?
Brandon Rohrer: Yeah. So, my thoughts on this are only my thoughts and opinions. I don’t have a lot of experience in this directly. I expect that it will be the same as with selling any type of algorithm to business deciders. Humans being what we are, we have to build trust in a thing, whether that’s a person making a decision or a process or a machine making a decision. And so, if it’s an important decision that the business decision makers care about, then they’re probably going to need to see a track record of good decisions being made by this system over time. Things that they feel like they can understand. And then after a while, the trust will be automatic. Then it’ll be just kind of like a, “Don’t talk to me about why this is good, just get it out there. Of course, we trust it. Like this algorithm has been doing good for us for 18 months now.”
Brandon Rohrer: And the data scientist will say like, “Yeah, but we’ve only tested like 0.1% of the corner cases.” And the business decision maker will say like, “Who cares? It’s been great. It’s going to keep being great.” And so, humans being what we are that’ll switch from, “I don’t trust it.” To like, “It’s a no brainer. I trust it with my life really quick.” But I think that, no amount of analysis will buy that trust. It can only be done through a track record.
Kirill Eremenko: Interesting. Very interesting point of view. Moving on to, we talked a bit about data preparation, Samim Ekram asks, “What’s the biggest challenge you face in making an ETL pipeline?” For those who don’t know. ETL is extract, transform, load. That’s basically the data prep component.
Brandon Rohrer: Having made a handful but not hundreds, take my observations with a grain of salt. ETL pipelines take data from one place in one format and change it into another format and join it with other data sources. The challenges that I see that occur are that every time that data format is a little bit different, the representation, even of like a floating point number might be different. Definitely, the code to get it from one representation or one storage location into another so you can join it with things will tend to be custom code.
Brandon Rohrer: Unless you’re doing the exact same thing that you’ve done before, you’ll have to roll it from scratch and because there are so many subtle ways in which data can be different than what we expect, it leaves you doing a lot of inspection of the data, trying to make sure that it’s … If you assume that the data is malicious, is adversarial, and is out to trick you into doing something silly, that probably will set you up well because that’s how it behaves.
Brandon Rohrer: And so, ETL is the process of checking behind all the bushes to make sure tricks aren’t hiding or waiting to spring out, and grab you, and then testing it again and again and making sure it runs pretty smoothly. And then even then, there are the things that show up later. So, putting some kind of observability, the ability to monitor it. The ability to know when it breaks, because it will break at some point. The ability to see what went wrong and to figure out quickly how to fix it. So, it tends to be fragile, and building something that’s robust takes a lot of effort. So, unless you’re doing the exact same thing over and over again, it takes a lot of careful thought.
Kirill Eremenko: A great way of presenting it as data is out there to get you, you got to be scareful. To your point when I was working at Deloitte, we were building data pipelines through SSIS. And one of the things I was ingrained in the procedures that we were doing was Q&A checks. Like you have to be doing Q&A checks. Like how many rows did you have before the load at the very start? How many rows do you have at the end of the load? What’s the distribution of your variable? What is the average value? Have you checked any shift in the final bottom row? Have the columns shifted in the final column? Like integrating those Q&A checks along the way, and at the very end can save you from so much headache.
Brandon Rohrer: Oh yes. That’s a good example from the trenches, excellent practice. I agree.
Kirill Eremenko: I love the variety of the questions. Check this one out. So, Prakash Oraon asks from the opposite side of the whole data science, project life cycles. So, we just talked about the beginning, the ETL. Now, Prakash asks about the end. “What are the best practices, design principles to create feedback loop in production after the model is deployed?”
Brandon Rohrer: I can’t say that I have a sharp set of best practices in mind. There are some things that I have seen work well and not well. So, the not well is the, “Hey, the model runs and ship it, and cross your fingers and wait, just wait until you get five reports.” That’s a rec … It will fail. And it’s not a matter of if. Let’s see. I think with that assumption, if you assume that it will fail, and knowing how important it is, like when it does fail, how soon you need to have it back online, that will help you know how quickly you need to be able to respond. And so, how finally you need to monitor what’s going on.
Brandon Rohrer: The thing that is trickiest to communicate, when building a data product like that, like a model and deploying it is that it’s not a, I built a birdhouse and you put it out in your backyard. It’s, I built this thing but it’s going to continually decay. It’s going to fall apart because the data is always changing and the platform that it’s on is always changing, and the traffic’s always changing. And so, it will require care and feeding. It’ll require at the very least checking in on it once in a while.
Brandon Rohrer: And whenever starting and planning a project like that, it’s helpful to have a plan in place to be able to keep an eye on it and keep it up after it’s out there. There are other sources that are better than me about how exactly best to do that, but as long as you’re thinking about that, that’s a step in the right direction.
Kirill Eremenko: Love it. Totally, totally love it. Questions about deep learning coming up. Your favorite topic, you’ve got so many videos on deep learning. Okay. I really like this question. I even put a heart next to it. “How to fine tune CNN or Mask RCNN specially for specific problem? Do we add/less more pooling, dilation, padding, layers? How can I know which path to take? And the question is by Syed Danyal Khaliq.
Brandon Rohrer: So, I have a confession. I’ve never actually implemented a convolutional neural network. I have a video that describes how it works, that it has a lot of views, but I haven’t coded one up from scratch. That’s actually going to be the next course in End-to-End Machine Learning. The next thing on my list. So, we’re going to do it together with the students.
Kirill Eremenko: Fantastic. Sounds exciting.
Brandon Rohrer: That said, the bigger question of how do you tune your neural network to fit your problem? How do you get the best performance you can out of it is it’s related to hyper parameter tuning, and neural architecture search is this larger problem of a neural network has so many knobs that you can dial. So, many things that you can adjust. It’s a big box of Legos, and there’s so many different ways that you can put it together. How can you know that you’ve done it the best way?
Brandon Rohrer: The extreme answer to that for any really hard optimization problem like this is to try every single possible way and compare them. That’s not practical, that’s never going to happen. And so, the falling back from that then, the next best answer is to, “Well, let’s try a few different ways and compare them and go with the best one.” That’s where we’re at in neural networks as a community. A lot of the practices that we have, and the tools that we use come from, a grad student had this idea, they tried it out, it worked pretty well. They wrote a paper, some other people adopted it, and it became common practice.
Brandon Rohrer: So, if you imagine the space of all possible neural network designs as like this jungle, we have a few thin tracks that we’ve hacked through the jungle with machetes. Most of it is unexplored. And you can spend as much time as you want. It’s the easy rabbit hole to fall down into, to sit there and change this, and try this, and tweak that and see what makes things a little bit better. In the course actually that I am two thirds of the way through creating right now for the End-to-End Machine Learning school, we’re doing that with an auto encoder.
Brandon Rohrer: So, we start by using back propagation to train the weights of the individual layers, but then we start to take a step back and say, “Well, how can we be sure that we’re using the best activation function, the best optimizer, the best learning rate, the right number of layers, and the right number of nodes in each to get the very best performance?” And that again, I actually think it’s pretty cool because we can’t try every possible way. We have to use some intuition. We have to do some trial and error.
Brandon Rohrer: And we rely on a model that we have that we build in our brains of how all this stuff fits together and how it works. So, the human element is still necessary. That said, as part of this course, we did some optimization. So, once you have some things that you want to adjust but you don’t have nice derivatives for, you can’t do back propagation anymore. So, you have to use other methods. So, there are hyper parameter tuning optimization methods.
Brandon Rohrer: And so, we develop a new one from scratch just to show that they’re not actually all that scary. It’s basically just some semi-intelligent way to keep trying new things until you get tired of trying things, then keep the best one. So, that’s the short summary of the answer to this is there’s no way to know for sure if you’ve got the best one, but try a bunch of things. And go with the one that works best.
Kirill Eremenko: Speaking of your school at Ehsan asks, I’ll just read it out: “Could you please ask, Brandon’s idea about possible approaches to look into interpretability in deep learning models?” And I’ll just add to that. Are you planning actually on releasing a course maybe into machine learning about interpretability of machine learning, deep learning models?
Brandon Rohrer: Yeah, interpretability is something that I feel strongly about. If what we do is we take a black box model off the shelf, we say use a framework, call a function, and do some training, do some testing, and publish the model. But we don’t have a mental picture of what it’s doing, that’s really unsatisfying to me, aesthetically. And it also is hard to know how to make it better. We’re stuck in this place where we’re just blind, we’re in this jungle, but we’re wandering around, and we don’t know which direction to go. So, for instance, in the course that I’m working on right now with an auto encoder, I took the time before we even started.
Brandon Rohrer: There’s a whole separate course where we build a visualization of the auto encoder showing for every node in every layer, what effect it has on the output. So, this is one type of interpretability. You can say when this node is active, it will tend to generate this pattern in the output. There are other things we might want to know about the network, but this at least gives us an intuition of, “Hey, when these three nodes are active, I can almost picture what the output should be. And if I want an output that looks like this image I have in my mind, here are the nodes that I would expect to be active to make that happen.”
Brandon Rohrer: And you can see things like, “Hey, these three nodes, they all have identical impacts on the output.” Like there’s redundancy there. That immediately helps you understand what’s going on in the neural network a little bit better. And you can start thinking about, “Oh, well, if I wanted to make it more efficient, how might I reduce that redundancy? What type of regularization should I look into?” So, the very first thing I do, the pattern in all of the algorithms that I implement, and talk through in videos, and in courses is to do some kind of a visualization of what’s going on.
Brandon Rohrer: That’s also because I tend to think about things visually as pictures or objects. And so, doing that just gives me an intuition of what’s happening there. A separate take on that question, interpretability, can also be taken to mean, when an algorithm makes a decision, it also spits out a justification for that decision. For instance, if there’s an algorithm that says, “Hey, your loan is either accepted or denied based on this algorithm.”
Brandon Rohrer: Instead of just giving the answer, also giving, and here’s why, here were the factors that fed into that. That’s a little bit different than understanding how the algorithm functions, but it’s very important if you’re a decision maker then trying to implement the outcome of that model. And that’s something that I really feel strongly about too, especially, as we are concerned about models that may have hidden or indirect sources of bias. We want to be able to avoid that. It’s nice to be able to get a little bit more of a window into what’s going on inside. And it raises the bar for what it means to be a machine learning engineer.
Kirill Eremenko: Wow. In that sense of the best I’ve seen is from convolutional neural nets when they take different layers, and visualize what it would look like at that part of the convolutional neural net, like what the image is broken down into there. And you can tell yeah, that’s looking at the ear of the dog, that’s looking at the nose or the whiskers of the cat. Like what areas are lighting up. But it’s much harder to do for like in a non-visual use case.
Brandon Rohrer: Yeah, it is. It really is. And it requires quite a bit of creativity. That’s something that I enjoy is trying to come up with ways to make pictures of what’s going on when the original data may not be in a pictorial form.
Kirill Eremenko: Interesting. Here’s another good question. So, the auto encoder you’re speaking about, as I understand is like the number of nodes, and your layers slowly decreases. You have a bottleneck, and then slowly increases back out. So, through that bottleneck you have to compress your inputs, and then decompress them. That way you have like thinking about it, a zip file of your [crosstalk 01:02:31].
Brandon Rohrer: Yeah, that’s exactly right.
Kirill Eremenko: Yeah. So, Joe asks, “Is there a way to design a legitimate cheat sheet that defines use cases for stitching together various neural network architectures?” Because that’s just like one of the ways to create a neural network. There’s like plenty, like hundreds of other ones that … There’s even this visualization, the neural network zoo or something. Have you seen that one?
Brandon Rohrer: Yeah. The neural networks zoo is fun because it has a graphical representation so that it can take this really diverse set of neural networks and turn them all into the same kind of graphical representations. You can compare and contrast between them. It’s pretty abstract. I actually have a hard time getting from how they work. But Joe’s question is important because there is a danger, we have a handful of well-used, of often used datasets. They’re useful for benchmarking machine learning algorithms because we can compare like, “Well, my algorithm got this score on it and yours got that score.”
Brandon Rohrer: So, we know which one is the better performer. That’s solving one particular problem on one particular dataset, and too much emphasis on that leads to an overspecialization, and leads us to start doing things that work really well for that data set but may not work for another dataset. Say images of a different resolution, or with a different number of categories, or architectures with a different number of layers. We can overfit to very narrow problems and very narrow data sets. So, if someone is coming to a new problem fresh for the first time, the question of, “Well, what architecture do I use? No one has all of this before. I don’t have a baseline to start from and make incremental changes to, where do I start?”
Brandon Rohrer: That’s the type of cheat sheet that when I was at Microsoft, I drew up the first version of that for some common regression and classification algorithms. And on that chart, neural networks just represented one bubble among many decision trees, and linear regression and logistic progression. But it would be helpful to have something like that focused on neural networks since they’ve been getting so much attention over the last 10 years. My vision is that machine learning tools are very much like tools in a toolbox. Like a hammer and a screwdriver and a pair of pliers, they solve different problems.
Brandon Rohrer: And, yes, if you’re creative, you can use a wrench as a hammer, and a screwdriver and any number of things. You can use convolutional neural networks to solve any problem you want if you’re willing to bend them hard enough. But different tools are suitable for different problems, and I anticipate that rather than having general solutions to entire classes of problems, we’ll have more specific solutions that might say, “Hey, here’s something like an app. If you feed it a few dozen images and half of them are of some thing … ”
Brandon Rohrer: They get like that hot dog, not a hot dog app, half of them are of something you want to identify and half of them or some other thing. Then it can learn that really quick, and it can solve that particular problem pretty well. It won’t be able to do pixel level identification of pedestrians. It won’t be able to do compression. It won’t be able to do anything that other neural networks can do, but it can solve one narrow problem. That’s your hammer for that problem.
Brandon Rohrer: Being able to have a handful of tools like that for common problems. And then being able to have a flowchart that you’d say, “Hey, what is it you’re actually trying to do?” And be able to get people to the tools they need to use, I think will be a good practical place for neural networks to get to. It’ll get us past the … If you’re a company, and you want to do machine learning with neural networks, you need to hire someone who’s an expert in them because whatever you’re going to use is going to be built from scratch.
Kirill Eremenko: Well, it sounds like a cheat sheet you need to write up now about-
Brandon Rohrer: [crosstalk 01:07:10].
Kirill Eremenko: Yeah. Okay. So, we’re running out of time. Unfortunately, I don’t have time to ask all the questions, so apologies if we didn’t get to your question. I’ll just ask one more, which is about the future. Ryan says, “I know Brandon loves robots, ask what Brandon sees for the … ” Basically, the question is “What do you see for the next three to five years in terms of the future of robots? How will they affect our everyday lives?
Brandon Rohrer: Thanks Ryan. That is my perfect question. And I can’t claim total credit for this answer. Colin Angle, the CEO of iRobot has said the same thing, and I think it’s saying something similar at CES this week. The home will become more of a robot itself. Right now, if you think of a robot is just something that has sensors, information comes in, and makes decisions, has actuators, things that can do things that goes out. Right now, in the home, that’s a single vacuum cleaner, a vacuum cleaner, and a mop can coordinate, can take turns, the baby step in that direction.
Brandon Rohrer: But there are so many sensors available in a home. There’s thermostats and the potential to add new sensors is huge. And with all that information, then like if I was a vacuum, and I knew what time of day it was, and I knew what rooms were dark, and I knew when … I don’t know, when things tend to stop moving around in a certain room, I can schedule what I’m doing a lot better. And so, the whole home becomes like this caretaking system that’s a bit like a robot, and that I think is the natural step.
Brandon Rohrer: Robots for entertainment are, my best guess is that, we’ve seen some companies come and go in that area recently. The robots for, the rumors for vacuuming are going strong, and that application seems to really resonate with folks. Things that make life easier in some small but meaningful way, I think will be the direction that we continue to move. But again, the best guide I have there are the comments that Colin has made and my own wild guess since I don’t have any inside tracks on that.
Kirill Eremenko: Okay. Very cool. Thank you. Thank you very much. Sounds like I’m going to go get myself a Roomba. Sounds epic.
Brandon Rohrer: Let me know how you like it.
Kirill Eremenko: Yeah, for sure. I’ll put your photo on top of it. So, like every time it comes up, Oh, I’ll call it Brandon. Brandon’s up. I’m joking. It’s just going to be definitely a reminder of this conversation. Yeah, well, amazing. Amazing chat. Totally loved it. Any comments? What’s something you want to wish to the thousands of people that are listening to this, that have taken your courses or have followed you somewhere else on YouTube, on LinkedIn, on Twitter, anything you’d like to share with them?
Brandon Rohrer: So, I was thinking actually about this, over the new year I published a post, wishing everyone for the new year to be able to find a project not that’s going to like, get them a million dollars or get them a bonus, but something that sparks your curiosity, that like grabs your interest and just doesn’t let go. And it’s not about like what’s hot, what will look good on your resume, but just something that you just can’t stop thinking about. Like when you’re lying in bed trying to go to sleep, you’re like, “I wonder how that works.” A project like that brings me so much satisfaction that that’s my wish for other people working in this area, that they find some interest like that, that just grabs their attention and won’t let go.
Kirill Eremenko: Wow. Love it. Totally, totally love it. Do you have a project like that yourself?
Brandon Rohrer: I do. My long-term professional hobby is general robot learning algorithms. There’s some stuff on GitHub that some of it’s as much as 15 years old, but it’s something that I continue to work on in the background.
Kirill Eremenko: Fantastic. Well on that note, Brandon, I just want to thank you for coming on the show. It’s been a pleasure. How can our listeners get in touch, contact you, follow you, your career? Of course, where can they find your End-to-End Machine Learning courses? Which sound fantastic. Please share some links where it’s best to find you.
Brandon Rohrer: Yeah, please look me up on LinkedIn and on Twitter, if you’re interested in my day to day information and musings on machine learning, you can always go to e2eml.school. That’s the number two, e2eml for all of the course offerings there. A large number of which are free. And then, I’m actually going to be giving … Hasn’t been announced yet. I’m going to be giving a full day workshop introduction to deep learning at ODSC East this year, and a similar workshop at the Southern Data Science Conference in April. And if you’re at Southern Data Science Conference, I’ll see you down there because I’m speaking as well.
Kirill Eremenko: Fantastic. So, those are May, April?
Brandon Rohrer: All those are in April this year.
Kirill Eremenko: Oh, this year. All those April. Got you. Fantastic. And I’m looking at e2e, so it’s e2e, the number two, then the letter eml.school. Yeah, it’s amazing that you have so many free courses, man. That’s such a great way to contribute. Highly recommend for people to check it out. Very exciting. Well Brandon, once again, thank you so much for coming on the show. Really appreciate your time and insights. Had a fantastic chat with you. Learned a lot.
Brandon Rohrer: Thanks for having me Kirill. I really enjoyed it.
Kirill Eremenko: So, there you have it everybody. Hope you enjoyed this episode as much as I did. The sheer volume, and variety of topics that we covered is incredible. I really enjoyed talking about all of these things with Brandon. And thank you so much for your questions if you posted your questions on LinkedIn at the time. And my personal favorite part was how Brandon follows his passion, and how he made a move to a company which allows him to combine his passion for data, and his passion for robotics, and at the same time make an impact in people’s lives.
Kirill Eremenko: That notion of making your everyday, day-to-day life a little bit better, a little bit easier. One less thing for you to worry about. That is such a noble cause for somebody to putting their time, and effort, and energy, and creativity into helping making our lives better. So, very exciting. As I mentioned, I’m really considering getting a Roomba after this conversation. And if you’d like to follow Brandon, make sure to connect with him on LinkedIn and Twitter. And as he mentioned, he’s got the machine learning course, End-to-End Machine Learning, which you can find at e2eml.school, or you can head on over to the show notes which are at www.superdatascience.com/341. That’s www.superdatascience.com/341.
Kirill Eremenko: There you can find the show notes, transcript for this episode, any materials we mentioned on the podcast, and links to places where you can find Brandon, LinkedIn, Twitter, YouTube, and the End-to-End Machine Learning school, highly recommend checking out. There’s lots of free courses there which you can take and learn from Brandon directly. And finally, if you know anybody who’s interested in the space of machine learning who could benefit from this conversation, who maybe knows Brandon, has attended his talks, or following him on YouTube, send them this episode, make their day. Help spread the knowledge and help other people learn as well. Very easy to share. Just send them the link, www.superdatascience.com/341.
Kirill Eremenko: On that note, thank you so much for being here today. Really appreciate your time, and I hope we delivered on the promise of amazing podcasts with machine learning, and data science experts, and people driving this space forward. And I look forward to seeing you back here next time. Until then, happy analyzing.
Show All

Share on

Related Podcasts