Who am I and what am I talking about?
Thinking is the hardest work there is, which is the probable reason why so few engage in it.
Henry Ford, 1928
Do you ever have a hard time explaining stuff to people? I write code for a living. Having a hard time explaining stuff is a daily occurrence in my line of work. Figuring out how to make computers do what I want them to do isn’t always easy. Why is it hard? People tell me I’m a pretty intelligent guy (to my face, at least). I work with lots of other very intelligent developers at Vergent LMS. We do a lot of good work here. However, we still struggle as all developers everywhere do to write good code that works the first time and every time. What’s up with that?
Like I said above, I’m a software developer at Vergent. We create and maintain web-based systems for businesses that give out short-term and consumer loans. The software we make here affects real money and lots of it. Getting it right is important for us, and we do a great job. However, it takes a lot of hard work to get it right. Why is that? We already know how to do this stuff by hand – the clients know it, Vergent’s subject matter experts know it, and even the developers can be taught the business with a little patience. Why is telling the computer what we already know how to do so much work?
It turns out people may not really know what they think they do; rather, they may know it without being able to explain it in words (or code). There’s a lot of stuff we know about that we don’t have a good way of describing. Babies learn how to recognize faces before they know any words to describe faces. We can detect about a trillion distinct scents, but for almost all of them the best description we can give is to name other things that have a similar smell. If you think about it, there are probably a lot of things you do every day that you don’t really think through: How do you untie a knot? How do you put on a shirt? You might object, Doing all that’s easy, you just do it. However, how many assumptions are you making? How did you find the ends of the string? What if it was one continuous string with no ends? What’s the difference between a shirt and a jacket? How do you find the buttons on a shirt? Explaining these things in words so that somebody who’d never seen a string or a shirt before could do them would take a lot of thinking. It’s like Henry Ford says: few of us would even attempt it.
It gets even worse. We live in the information age. Computers have fundamentally transformed the way people deal with information. Computers allow us to deal with a lot more information, a lot more quickly, than we ever could have before. Even in cases where we do know how to interpret the data and make decisions about it, there’s usually too much data for us to look at. Is the data useful? Can we learn anything from it? These kinds of questions have traditionally been answered by researchers going through data, making hypotheses and testing them with statistics. For instance, we might want to know whether smoking causes lung cancer, so researchers may go look at the data and see whether there is a statistically significant correlation between smoking and incidents of lung cancer. The problem is that researchers aren’t cheap. They take a long time to train and there are a lot more problems than they can look at. Computers are comparatively cheap, and they can process lots of data quickly. Can we use cheap computers instead of expensive researchers?
In 2016, Lee Sedol played five games of the game Go against Google’s AlphaGo deep learning system. If you haven’t heard of it before, Go is a game where two players take turns trying to enclose as much area as possible by placing black and white tokens on a board. Like chess, Go is a game that is easy to learn but very difficult to master. Remarkably, AlphaGo beat Lee Sedol in four of the five matches played. How did AlphaGo do it? Did the software developers who wrote the code for AlphaGo know how to play Go better than Lee Sedol? They did not – Lee Sedol was the 18-time Go world champion when he played against AlphaGo. Nobody could play Go as well as Lee Sedol. Did the developers just use a fast computer to look at all the moves and pick the best one? Games between Go experts usually last about 150 moves, with around 250 choices on average per move, for a total game-tree complexity around 10360 paths. For comparison, there exist roughly 1086 elementary particles (the ones that make up electrons, protons and neutrons, among others) in the known universe. No computer could ever look at the whole game tree, or even most of it, to beat Lee Sedol.
AlphaGo beat Lee Sedol by using artificial intelligence (AI). AI is a broad term that describes approaches to solving problems on computers that don’t rely on the programmer knowing how to solve the problem, per se. Instead, by using AI, the programmer arranges the code in a way such that the solution emerges, or evolves, over time, in response to stimuli. At a high level, this is how people (the intelligent agents most of us are most familiar with) figure out how to do stuff too: we go to school and are shown enough examples, enough times, that we learn and internalize the patterns. We learn how to tie our shoes by looking at the laces and trying different things until we find what works. We learn how to read by memorizing the shapes of letters and the arrangement of letters and the sounds both make together. In a similar process, AI systems are shown examples – recorded games of Go, for instance, or whatever data you’re interested in learning about – and the computer can figure it out.
Now, I like board games as much as the next guy, but what does this mean for us? Playing board games isn’t an inherently valuable or useful skill. What makes this accomplishment notable is that it showed, more clearly than ever before, that AI has the potential to help us solve big problems in ways we weren’t able to solve them before. With AI, it doesn’t matter that we can’t explain the steps to get the answer, as long as we can tell the computer what the answer looks like. The opportunities created by AI are not limited to playing board games. In the early days of Google, their business plan was Don’t be evil. It turns out that not being evil, by itself, is not a great business plan. Google needed to make some money to stay in business. What Google had was lots of data about what its users were searching for and clicking on. By taking that data and figuring out how to predict people’s behavior based on that, and selling those predictions to advertisers, Google was able to increase its revenue by over 3,000% between 2000 and 2009. Some of the largest tech companies in the world today Facebook, Baidu, et al. have followed suit and have the same business model: give people a free service, process their data with AI, and use the results for marketing.
That’s where I come in. My goal is to figure out how to give our clients the best quality and most useful product I can. Vergent processes tens of thousands of accounts every day: we track information about when borrowers take out loans and when they pay them off, when users of the LMS call borrowers, and a thousand other things. We’re sitting on a lot of customer data – the same kind of data Google and others have used so successfully to improve their products and services (and their bottom lines). A lot of big successful companies have used AI to turn their data into money. Why not Vergent?
This blog will be a few things. I’ll write about AI in general: What is it? Where did it come from? Where’s it going? I can write about problems and opportunities I see at Vergent and how we might be able to apply techniques from AI to create business value for our clients. Some posts might look at recent development or noteworthy news stories about how AI is being used. Other posts could look at turning these cool ideas into working code. Maybe I’ll even learn something along the way. Computers can learn. Why not me?
Patrick T. Carpenter has been a valuable member of the Vergent team for 3 years. Born in Los Angeles CA, Patrick’s family moved to Mobile AL where he would spend most of his childhood. From there, his family lived in Bologna, Italy for 3 years before he left for college to attend Auburn University. It was there he became a Bachelor of Science in Computer Science and a Master of Science in Computer Science and software engineering. After graduation, Patrick worked several years with a variety of renowned companies including Amazon, Microsoft, and Raytheon. His research focused on high-performance computing architecture, computer networks, and security. Then in 2018, Patrick joined Vergent as a Senior Software Engineer. Combined with his passion for Artificial intelligence, Patrick is now studying and developing ways in which artificial intelligence may revolutionize the lending industry.
Keep an eye out for Patrick’s monthly Smart Money blog!