18. AI 101 with Greg Edwards
Audio duration: 54:55 | Website plays & downloads: 383 Click to download
At Decoded, Greg demonstrates the value of cutting-edge machine learning technologies to business leaders. Lifting the veil on data science, machine learning and artificial intelligence, he seeks to help others question their data and identify opportunities for intelligent solutions.
After working in AdTech, Greg returned to academia to investigate the state of machine learning and artificial intelligence. He completed his Master's Degree in Machine Learning at the University of London, which he holds in complement to his Bachelor's Degree in Economics from Harvard University. His work focused on developing artificially intelligent programs capable of learning and solving a range of different problems and games.
Ben:[00:00:08] Hi and welcome to The Machine ethics podcast. This month we're working on the theme of AI 101 what is machine learning. What is A.I. When people talk about deep learning, neural networks and such what do they actually mean. What what is the technology they're talking about. This month I'm talking with Greg Edwards from Decoded on just this and get to the bottom of how these technologies actually work. We discuss them the history of A.I. development, some of the math involved with machine learning and deep learning actually are rather strange and interesting A.I. subjects like automata genetic algorithms and gans. We also talk about what the frontier of AI looks like currently and what this year might hold for a development. We also discussed how easy it is to get involved with technology. So stay tuned. Also if you have any questions contact us via the website machine-ethics.net, support us on patreon.com/machineethics. And thanks very much for your time and hope you enjoy.
Ben:[00:01:06] So thanks Greg. Welcome to the podcast. If you could give us a quick introduction to who you are and what you do they'll be great.
Greg:[00:01:14] Sure. Thanks for having me. So I'm Greg Edwards I'm a data scientist at Decoded we're it's tech education. So you mystify a lot of the emerging tech trends for large companies and help people understand the value of new technologies. My specific area of expertise and interest is Data Science, machine learning, artificial intelligence. My title is data scientist.
Greg:[00:01:40] It's a title that is becoming increasingly popular. I think I saw last year was I think a growing job title on Linkedin. And the reason for that is the role of a data scientist is essentially to take all this data that companies are collecting and the amount of data that companies collecting is always growing. And actually turn that into something that's useful. So taking that into an insight, a product or a decision and then usually looks like a prediction or a graph, something like that. I spent a lot of my time actually up in front of people talking about how data science works, what they actually do and use data science to actually create value and create some sense of interesting insights. I got into data science machine learning and all that good stuff. A few years ago I actually was an EC major in college and I went to college in the states EC being economics and then went and worked in advertising technology or ad tech. And like oh yeah. So and I kind of got into machine learning and data science almost through frustration. And so I was working with Excel every day. So you know that lovely spreadsheet software.
Ben:[00:03:00] Yeah I'm pretty sure that our listeners will be aware this area.
Greg:[00:03:05] I'm used to assuming no knowledge. So I feel like I'm kind of always explain everything, but yeah. So I was really frustrated with that and I was using on a daily basis. I would spend like a day kind of like manually filling out spreadsheets. And I figured that there has to be a better way of doing things.
[00:03:21] So I went online I kind of taught myself how to code in a language called Python. I found some incredible online resources, talking about machine learning and why that's useful and how that turns data into something more compelling. And I really sort of started pursuing that. I then ended up doing a Masters at Royal Holloway University of London my master's was in machine learning and artificial intelligence. I did some work on building game playing algorithms so having a programmer play many games and hopefully try and get some sort of artificial intelligence program as a result. And then since then I've been working with Decoded kind of sharing that experience with people and trying to get other people super excited about machine learning and artificial intelligence in the same way I am.
Ben:[00:04:14] Great. So this this episode that I invited you on Greg was specifically aimed at the audience who may be interested in A.I. and machine learning. They've heard a lot about it a lot in the media at the moment about it. They might even hear about it in respect to their jobs or to new products coming into their workplace. So the whole aim of this particular episode is kind of a one to one what is this A.I. that people were talking about this machine learning all these sort of terms, can we get to grips with these terms and really kind of have a base level that the listeners can take away and and use and have that in their discussions of other people when they start seeing these things in the media or they go and chat to people in the pub.
[00:05:04] So super thank you for coming on, the first question actually is the same question I ask everyone and that is the extremely hard question of what is A.I. Greg.
Greg:[00:05:17] It's funny isn't it. It's a really interesting question. I think the reason is a hard one is because artificial intelligence, A.I. is very exciting but it's also quite a slippery term. So if you look actually where and when A.I. is used I think it's probably more often used by marketers and move news articles than it is maybe used in science. The best description I've heard is and the definition I kind of ascribe to is that artificial intelligence isn't one technology. It's really a goal. It's an objective. It's the idea of creating a machine that exhibits some form of intelligence and actually you know to the mind that you've got to ask do you mean by intelligence and intelligence is a really really tricky terms to pin down.
Ben:[00:06:06] For Sure.
Greg:[00:06:07] If you can't define intelligence you can't redefine A.I.
Ben:[00:06:09] But you could define like you were kind of mentioning a goal which might be that my I think is intelligent to do X and then therefore they say as intelligent in that way maybe. Could you say that.
Greg:[00:06:25] Right absolutely. So it's kind of it's like beauty is in the eye of the beholder. It's kind of to what your definition of intelligence is. S o you know I think the definition of artificial intelligence changes the gentleman who actually coined the term John McCarthy he coined that back in the 50s he's actually quoted as saying that as soon as it works no one calls it A.I. anymore.
[00:06:49] As in the goal post kind of shifts with the technology, really true because I think if you ask someone what A.I. was back in the 50s you know really what they thought about guy you know our smartphones could now probably the power of a handheld calculator it can execute some sort of logic in a way that seems right. It will seem intelligent back then but now our expectations for intelligence in computers is a lot higher.
Ben:[00:07:16] That's really interesting. And actually I was wondering if we could carry that through and kind of discuss briefly where this term grew up from and kind of like some of those points in history, interesting from from then to now. We've got kind of a bucket list of the really interesting things have happened in those 68 years.
Greg:[00:07:39] Yeah. Yeah. So at Decoded when we kind of break this technology down we got to tell the story of machine learning. For me I think like a lot of the technologies we use in the 21st century it really starts at the end of World War 2. So you have alot of ... like von Neumann who was a mathematician working on the Manhattan Project and Alan Turing who was working on the Enigma code. These great minds these were the kind of the foundation to a lot of the concepts that grew into the pursuit of artificial intelligence. So they were the first ones to realize that computers as they were then which was these massive machines that would take up entire rooms these things were actually capable of thinking.
Greg:[00:08:25] That was that's an idea that we can kind of take for granted now that computers are able to execute logic reason with some information and create some sort of new information out of some outcome back then it wasn't clear, it was just there was not a binary coding. It wasn't obvious logic executed in a complex way. And so they really championed the idea of the imitation game in that movie. Yeah you know that's an imitation game. He basically states can a computer, actually have a conversation with a human in a way the fools the human thinking that they're that they're talking to a human and not a computer. If it was able to do that then it would have exhibit some form of intelligence. It would pass the Turing test. So really he really kind of fired the starting gun on this idea that these computers at some point in the future are going to become intelligent enough that you can have a convincing conversation with them and then you know all a lot of computer scientists picked up the baton and decided to run with it. One of the first people to run with it was McCarthy actually a student of John von Neumann in Caltech and he along with a few other computer scientists got together in the summer of 1956 at Dartmouth and they decided to basically brainstorm all summer about where this field was going where this idea of intelligent computers was headed and how they could help a long. At the time there was a number of different terms for what we now call artificial intelligence. I think the terms like thinking machines and Automator were floating around. And so he decided to try and find a neutral catchall term, came up with artificial intelligence. It stuck.
[00:10:19] This time we've kind of been using since to describe that pursuit right. So you know then it wasn't a specific technology it was just an idea a goal that they were kind of fighting for. And so Joe McCarthy was one of these early believers in the power of thinking machines of artificial intelligence. And he really wants to show how clever computers could be. So he decided to try and program a computer to play chess, right. So chess is a really hard game. It's hard for even intelligent humans. So if a computer can play it then it will be intelligent. So his approach to that was that he was a chess player and he actually knew some very clever chess players as well. And he decided if he could program their expert knowledge of the game into a computer and then have the computer play it back in the computer we'll be showing some sort of intelligence. So to do that you'd have to actually write all the rules for every square on the chess board, every piece, every location. And so he kind of basically ran out of steam because he didn't have the computational power for one thing. It's also really dependent on the ability of the expert and I just don't think he had the patience. So it was practice and it didn't really get anywhere. You fast forward a few years and someone else has it has it has another go and this guy's name is Arthur Samuel and he said essentially we're wasting our time trying to hand programmable these rules. What if we let the computer what if we actually have the computer write these rules automatically. How are we going to do that. Well we'll have the computer collect some data. We'll have it play thousands of games. And he decided to start with Checker's or draughts as opposed to chess because it's a little bit more simple. And you essentially had the game play itself over and over again, collect data and then learn from this data to write its own rules write its own algorithm. And this was the first case of machine learning machine learning, which is a really hot term today because the technology is now being applied at scale with all of the data that we've collected from the rise of the Internet. We're actually seeing some really incredible solutions. So that was how basically A.I. Got started. And then the paradigm shift that took us into machine learning which is now really accelerating the growth in the area.
Ben:[00:12:48] Great. Well machine learning. So what has changed in that time. This has been this huge explosion of interest in the last five or six years about kind of the new epoch of machine learning and its use is so from then what is the technology kind of evolved into, to rekindle so much interest?
Greg:[00:13:10] Yeah I think, one key realisation is that actually that concept and the technology has been around for a while. What's making it really relevant now is a couple of things. First thing is the amount of data we're collecting right. So in order to actually build these programs, build these algorithms machine learning needs data so it relies on data not humans to write its rules. And so the data is the fuel for the fire. We're now collecting incredible amounts of data version of data stuff. So thats the First thing.
Ben:[00:13:47] I guess we can thank the internet for that.
Greg:[00:13:50] Yes we can. Yeah. Thanks Tim. Yeah. And without that data a lot of this wouldn't be possible. So for every application, sitting behind that Machine Learning Application is a huge dataset ... Second part. I would say is the computational power. So the the processing power of computers is continuing to rise exponentially. So I four years ago I think people were getting kind of worried about Moore's Law. But in the mid 2000s computer scientists and computer engineers started to realize that there's a type of processing chip in all of our computers that you really good at handling data problems. It's really good for machine learning. So rather than using CPU which computers used to process... They actually did you use the graphic processing units, it appears to start handling large data sets...
Ben:[00:14:52] Stop me if I'm wrong I think the way I understand it is the graphics the GPU is much more asynchronous than the CPU is right right.
Greg:[00:15:03] Yeah. It's essentially that it executes very simple tasks at the same time as opposed to see CPU which is capable of handling complex operations but in a sequence. Yeah. And that's the kind of problem that you want when your rendering an image on a screen, when you're handling shaking on a videogame wanted it handled very simple computations, but many of them at the same time to render one picture. Samething with data. If you can handle lots and lots of simple additions, modification tasks but do all at the same time then you're going to actually get through your data quicker.
Ben:[00:15:38] Great. So I fear that this question might be a long one. So I'm going to ask you. If you'd be so kind as to succinctly say how neural networks work. So the most common here is machine learning method at the moment is using these kind of node, nodal frameworks and I was wondering if you could explain how that worked.
Greg:[00:16:06] Easy peasy. It's hard for sure. So neural networks are the one tool when it's in the toolkit that is machine learning. So machine learning the concept of learning from data to build an algorithm. And there's many different frameworks you can use to do that. You can use something called decision trees which is like asking yes no questions about data. Another option is neural nets. Now neural networks are, have been around actually concepticially since about the 40s and they're basically the idea of building a model using the blueprints of brains that we see in nature animal brains and human brains, and the power of neuronets is the ability to create very complex models from very simple building blocks and those building blocks are neurons. So our brains are made up of millions and billions and trillions of neurons that are all connected, kind of like how society is made up of just humans where humans are easy to understand society is a bit more complex and a neuron essentially takes a signal in. And depending on how much how big that signal is how small that signal is it then sends another signal out to another network of neurons.
So it's a very simple operation if you scale that up you can actually start create very complex chains of logic and to complex rules. Now I think one of the first things to say about neural networks is that they are blackbox algorithms, so what that means is it's really hard to look inside how the algorithm is working and understanding how it's understanding the data that it's given. So we know how to build it, we know how to code in a neuron or a node and we know how to connect those notes together. We also know how to give that network of nodes data in a way that it can actually start making predictions that are meaningful. So we give it what we call supervised training data. Let's look at an example of how we might actually use a neural network to do something useful, so say we want.. we had a prediction question a common one is we might want to predict a house's value. So what we would do is we would take some information about the house maybe we would have I don't know the number of windows on a house or looking for area or the location of the house and then we want to take that input information and predict an output and then output is the price. Now to build the model to have the make machine learning happens. We've actually got to give the neural network a lot of historical data where we actually know the input data for a house. So the number of windows for area and price of that house and then what we do is we give it to the neural network and what the neural network does it takes that input data and it just tries lots and lots of random numbers random combinations of that information to create a prediction. Now the start that prediction is really crappy is really rubbish. The models actually starts dumb. And then what it does is it actually looks at how good its prediction was versus the real price of that house and it looks...an Error. So it has some sort of measure of of the error of its prediction, it then looks inside itself it looks all those numbers the ways it tried to connect the inputs and it adjusts them it tweaks them in small ways that reduces that error and it does that for thousands and thousands of training examples are thousands of thousands of examples of houses. And then what you have at the end is you have a neural network that has tweaked its internal parameters. These sort of internal adjustments and levers and pulleys to reduce the error of all of these predictions to the smallest amount possible. And what you have at the end is you have a neural network that'll take the input data from a new house. We don't know the price and it will give you a very accurate prediction of that price. That's obviously extremely useful because you're predicting the future. The issue is you look into that neural network, which is now just a bunch of numbers essentially a matrix of weights that have all been adjusted over thousands of data points to try and create its prediction. Those numbers don't really make any sense to a human. They're kind of just a jumble. And picking apart why that algorithm that neural network is actually generating that prediction based on it's input. It's very difficult.
[00:20:45] So that's what we mean when we talk about it being a black box. So the predictions it creates are very accurate and that's really useful. It's really powerful. Well there are limitations with the black box approach and this is rising raising some concerns particularly for governments. So at the end of last year the city of New York actually commissioned a task force to look into the way algorithms are used in the city. And basically they're making an assault on black box algorithms because if these algorithms are used to predict something that affects people so maybe where policemen go in the city to patrol the streets predicting crime that sort of stuff, they need to be able to understand why the models are making the decisions they are, in order to hold them accountable.
Ben:[00:21:35] So if we do if we step back slightly and what we've got here is essentially a computer program that you feed lots and lots of data. And if you're if you're using training data you label all that data so you have your input and you know what you output should be. And you do that millions of times possibly and through that process of basically kind of a mathematical equation in per neuron per whatever the topology of that network is. You are creating an algorithm which slowly gets better over those iterations at whatever the job is.
Ben:[00:22:19] And that job might be to send policemen into an area like he said but would possibly better be represented with the House scenario where you're basically kind of looking at historical data and making a prediction on what the future thing will be and what I like about that example is it's it's not really directly affecting anyone per say. To say that your house might be worth a certain amount of money, whereas the police example is obviously one of those kind of buyer situations where it's almost dogmatic if you start sending lots of police in the same place. Then you create an environment in that place because of that action. So what, what kind of other, I mean we could talk about that like for ages, but what other kind of examples of uses do you have for this technology that we can then kind of talk about and get to the nitty gritty of.
Greg:[00:23:14] Oh, my goodness how long are we running this session for? The reason. The reason neural networks are super exciting is because they are so generalisable they're so flexible to the type of data that we give them. So if you collect housing data you collect data on the square footage and the price that's something you can just stick in a spreadsheet. And you know that's the type of data called structured data. So computers have been handling structured data for as long as they have been around the really cool things about neural nets are they don't care whether the data you're putting in is neatly structured in a spreadsheet or whether it's image data. So you can actually use them to take images and use those image input data and then take those images and create a prediction.
Greg:[00:24:04] So it can look at an image and say I think that's an image of a cat because I've seen thousands of images of cats before and I know that this one this mixture of pixels lines up in a way that I think this is a cat as opposed to a dog. And actually you can really easily these days build a very accurate neural network that will take an input image and then we'll be able to tell a cat from a dog using a around about 20 30 examples. And so that's really that's really really powerful because then you can start applying that technology to things like driverless cars. So identifying whether there's a car in front of you or not. And really the excitement around deep learning which is the general term we apply, we say, we to the practice of applying things to neuronets being applied to things like text and it's being applied to things like images and videos. And that is actually most the data we collect and it's a lot of the most compelling problems we have.
Ben:[00:25:06] Yep and a lot of those data sets are, have training data available as well which is why it's kind of almost the lowest hanging fruit if you like because we have the internet with a wealth of information or a well structured image data which has been tagged or the like. So you can kind of use all that and leverage that in producing these algorithms.
Greg:[00:25:31] Exactly. Yeah. The reason why we're seeing a lot of applications with a face data for instance and cats and dogs are using an example is because we have so many you know so much training data that we have loads of pictures of cats.
Greg:[00:25:46] There was there was there was a research paper done it took all the videos from YouTube and it created composite images of similar frames and YouTube video. So it's basically trying to see what images turn up most frequently in YouTube videos and then it would create an average of these images. I think the most popular image was a human face and they created a composite image of the human face. And in the second most popular image was a cat was a cat's face. So like natural inclination I just don't know. Take cat videos and stick them on the internet...
Ben:[00:26:27] Yeah exactly. I think that's a really important point because I think you've stepped over something which is if we have lots of data in a certain, of a certain kind then the algorithm is going to reproduce that it's not. It's not like clever in a sense that it's doing something novel. It's doing exactly what we want it to do which is work out what all this stuff is and all that stuff just happens to be mostly cats. So it's found cats right. So it's there's a lot of like throwing around terminology about intelligence and stuff that, but essentially is doing this black box thing on whatever data we give it and that data represents, you know is represented in the output of the algorithm.
Greg:[00:27:12] Yeah I think you kind of touched on an interesting point earlier where you know the housing example doesn't affect anyone's life and it doesn't actually ingrain bias in no one's actually biased towards house prices, they are like a product of the market. And maybe if you have something that predicting where police should go and then when police go they actually find more crime.
v[00:27:34] And so it kind of ingrained that bias. Those are the kind of applications you need to think about because the prediction of the algorithm actually is affecting the environment that it's trying to predict about. And the best kind of measure against that is ensuring that it's constantly retraining. So I think machine learning is creating this paradigm shift in the world of model building where before you created a model you could maybe make a model spreadsheet and excel or some mathematical model. And then you build it, create some prediction which you can pass over to the client or whatever, you deploy it, it'll be good. Now the paradigm shift machine learning is that these models are making predictions with the next one from those predictions they can actually see how good that prediction was. So a really important step is ensuring that it's constantly learning from it's predictions in order to try and smooth out any bias in the data...
Ben:[00:28:35] Yes. So so you could have an algorithm which is constantly learning and having that feedback loop incorporated and you could have an algorithm which is somewhat necessary to do that. So you cap it when it's good enough. So let's say that the dog and cat example you might find that it's so good at recognising dogs and cats and the difference between them and images that actually we can stop learning now with that particular algorithm and we can, to a certain percentage agree that this is good enough for whatever application at identifying cats and dogs. So you got those two ways of working with these algorithms if you like.
Greg:[00:29:14] Yeah exactly. But again it's not just, I think it was a classic trope that machine learning is great for recognising images of cats and that's as far as it goes. But of course it is much further reaching than that. That's a common example but the exciting thing is that this technology has really arrived. It's and it's incredibly accessible. So it's really championing the open source movement. So a lot of the code a lot of the ways that people build these algorithms to perform things like image recognition or speech recognition or text recognition, sentiment analysis which is understanding meaning of written words a lot of that is accessible for all to see. So even cutting edge research. And so the real question now is like how do we apply this stuff like how do we actually match it together to create cool products or solutions for the the problems that we have. And I think actually you know we're talking the start of 2018 I think 2018 is going to be a year that really starts to piece those pieces together because the foundation the accessible foundation is there. Like in 2017, I saw an incredible amount of online resources just like popping up all over the place. And now it's like so easy to actually get into the stuff that people are starting to piece together in more interesting ways to create some cool things.
Ben:[00:30:39] And the thing is it's become really open like he said. But also it's become so sassed - so software service or platform as a service.
[00:30:52] So lots of those big companies like Google and Facebook not, actually I'm not sure Facebook got platform, Google Microsoft IBM these sorts of companies have kind of offering which is off the shelf computing power plus the algorithm you see you want to use because there's somewhat a set of algorithms which are commonly used with this technology. So I think I saw the other day you could using python you could import a library and within maybe five or six lines of code using TensorFlow does have an algorithm running using Google's platform for doing that and get a result. And that's you know is fundamentally different from where we were not that many years ago where you'd have to do a lot of learning. You know you'd have to be Phd level to kind of get into this. So like you said I think that's a fantastic kind of way it's moving as well. The whole history.
Greg:[00:31:53] And That's really happened in the last last couple of years. Like the amount of accessibility of libraries and as you're saying platforms like Google Amazon they're tying in a lot of this the capabilities in with their cloud platform. So with AWS, google cloud ML they package in with cloud services and yeah it's it's incredibly easy to use. So I've used cloud services. It's like I think the minimum is three to four lines of code. You need one lines import libraries one line for your data one line model and train it and then another want to spit out some output. It's really cool. And I think it's actually lowering the barrier to code. And I have friends that are picking this up as a full time job with almost no code background.
Greg:[00:32:49] So it's it's a really advanced application of coding and maths and statistics but it's gone to a point now where anyone can kind of pick it up and stop playing around with it and really at the end of the day with deep learning particularly there's not a lot of maths explaining it. It's a heuristic it's something that works in practice but we haven't got all the theory yet. If you're playing around with it and tweaking it and trying to see how it works and getting some results you're as far as long as a lot of the leading researchers really.
Ben:[00:33:25] So it's actually the maths inherent in how a neuron works maybe and then by a combination of lots of neurons. That's the magic basically which you say?
Greg:[00:33:37] Yeah the magic is kind of well.
Ben:[00:33:39] Let's let's not say magic because we're trying to explain everything that's it's not magic it's it's statistics and it's computation.
Greg:[00:33:47] Everything is explainable magic doesn't exist. Yeah it's emergence I would say it depends. You can get kind of philosphical with it.
Ben:[00:33:56] Yeah well this leads me nicely on to my next question which is other strange and interesting A.I. ish things like emergent behavior such as can be found in automata, genetic algorithms which could be different ways of learning from experience or genetic topology of neural networks. What interesting things are we seeing other than this the new hotness which is the deep learning.
Greg:[00:34:29] So do you want me to kind of intro each one of those things or we're going to kind of assume that you kind of understand automata and things are?
Ben:[00:34:37] Let's not assume, let's dig into it.
Greg:[00:34:40] Okay. So Automata we're actually my entry point to machine learning A.I. in a lot of ways because I did economics university and, economics is this field that loves to do what's called top down analysis of really big complex problems. So they love to build models about aggregate demand and aggregate supply and basically create some sort of equation that's going to describe how the economy works, now you find out somewhere along the line I think for me it was like my third year – that's rubbish. And it doesn't work. It's not a very effective way of modeling the economy because it's really complex. So these models are useful because they help you gain some intuition but they have no predictive power. It's really difficult to distill all the movements of economic markets into one equation and have it work and predict something. So an alternative approach was this was called bottom up. And I took a class from a professor is championing an automata approach to modelling economics. So automata are very simple artificial agents, so an artificial robot simulated in a world in a virtual world an environment and these automata can be really really simple. They can just be a cell on a on a pixel grid that can either be on or off and these or Automata can interact with their environment and you can make lots of them, so you can stick thousands of automata in one environment have them abide by some simple rules so maybe have them simulate some kind of game of life which is the classic example of automata and then run the environment see what they do, sit back and then kind of, just see what happens. And this this is thought of as a as a less mathematically rigorous but more maybe realistic simulation of what's happening the real world.
[00:36:38] So if you could write the simple rules for each automata, maybe the automata is like a simulation of a company or even a consumer an individual. And then you stick all of them together. You let it run and see what happens. You actually see what's called emergent behavior which is the emergence of some large scale behaviors that unexplained by the simple rules that you wrote automata. So an example would be in the game of life. I'd encourage anyone to look it up because right now YouTube is by creating very simple automata and with some very simple rules and depending on the way you set them up they can exhibit some really funky behavior that can move together. They can hunt each other. They can cooperate.
Ben:[00:37:22] And it almost looks organic in its form as it's running, doesn't it?
Greg:[00:37:26] Yeah it's it's really interesting. It's really interesting it's very visually alluring and visually interesting. I don't know what it tells us. I think it's an increasing amount of work. But I think it's a very intuitive and appealing approach to complex systems. And what we mean by a complex system is the something this really complex and too hard to describe with a single equation like society like economics like things like that. So that's an interesting idea. And now the idea of simulating a population, simulating an almost an organism is being transferred into artificial intelligence in interesting ways. So you mentioned genetic algorithms. That's the approach of essentially creating an algorithm and have it improve itself through an evolutionary process.
[00:38:23] So you might have an algorithm very simple algorithm for tackling some sort of job. And you would create thousands of copies of the algorithm and you would change each copy of that in a slightly, in a slightly different way you'd simulate a mutation. These that runs on the problem you see which ones do it well you kill off the ones that didn't. Or you integrate them or you do in a number of different things and then you do basically simulate evolution you simulate natural selection. And this has a really interesting it has really interesting results. You can get really efficient algorithms doing this now simulating evolution is like really computationally intensive... is a huge problem. So it's still got limited applications and there are some limitations in the way it's applied. People run into a lot of local minima which is like you know the idea that the algorithm ends up on a non optimal solution. But it is, it is a very useful approach for things like optimization problems where you have five different levers you can pull maybe you're operating a supply chain. You want to know which products to buy went to transfer them when to move them. So those are different decisions you can make. What's the best way to do it all to maximize profit. So an optimization problem like that is usually well suited to genetic algorithms but these are now being applied to neural networks and people are saying well can we optimise the shape and the structure of a new network using algorithms using an evolutionary process. And research in other areas really hotting up because I think largely because the computational power we and researchers have at their disposal is very computationally intensive.
[00:40:06] And now we're point where we can start actually almost evolving these neural nets which sounds super sci-fi stuff but I think it's an interesting research. It intuitively makes sense to me. You know the best example of intelligence we have is biological, and that was formed from an evolutionary process. So it stands to reason that you can kind of simulate that in a computer.
Ben:[00:40:28] I concur. I think that's like you said it's the obvious next step if you like. I have here a question about the frontier of A.I. but I guess somewhat already answered that. Is there anything else which is kind of sticking out at the moment which might affect us this year or on the next coming years?
Greg:[00:40:47] Affects us this year. I think in general GANs pretty hot right now. So if you've heard of the term I'm using deep fakes?
Ben:[00:40:56] I Don't think I have. Actually no.
Greg:[00:40:59] Okay so a few years ago a guy called Ian Goodfellow invented a sort of a format for neural network called generative adversarial networks. It basically pitted two networks against each other and had one network trying to fool the other and applied this to images and so what this, what this ended up doing is it ended up generating images. So if you ... facial images you have a network that's generating fake faces trying to fool the other network. And this means that you can kind of generate entirely new but very convincing pieces of data and entirely new but very convincing faces. So in GANs are really interesting. They capture the essence of a piece of data.
[00:41:45] So with an artwork that might be the style of the artwork, with recordings of someone's speech, someone's speaking it's their voice. So it allows you to start replicating humans both visually and vocally and so some kind of some developers with nefarious intent, intentions have applied this to copying celebrities faces and put in place, on bodies that they shouldn't be on. And lots to sort of controversy as a result that. And so there was an article a few days ago in the New York Times that was here come the fake videos too. So this is kind of I don't know riding on the trails of the coattails of the fake news movement. So I'm I'm interested to see if that gains, captures the imagination of the public that might be something we hear a lot about. But the potential of GAN's of this of this type of network that can generate its own data and extend way beyond like you know deception, you can use to actually speed up the training process because you can generate your own simulated data to learn from how things like medical imaging. And it's going to be used in some pretty interesting visual applications. I saw the other day an application where you can basically do a rough sketch of a landscape and it will create almost picture perfect version of that landscape automatically from the rough sketch but it will it will have a tree where you draw a tree and I have a mountain where you draw a mountain you look up which is kind of cool. So that's that's another interesting interesting area and then I think the area of reinforcement learning could be interesting to see where that goes.
[00:43:29] So reinforcement learning is the idea of placing a machine learner in an environment so where the predictions that it's making are actually actions and those actions affect some kind of reward. So this is applied to chess as applied to famously with Deepmind AlphaGo a game of Go and this is where a lot of people expect us to start developing algorithms that get closer to this idea of general intelligence, of this problem solving ability. So if you if you give a learning agent a problem and allow us to learn from getting reward will it learn how to abstract problem solving powers on one problem maybe it's the Attari going to Breakout we'll be able to transfer that problem solving skills onto another problem and then can you keep transferring that problem solving skills and keep kind of zooming out and extrapolating the problem and build something that's capable of solving a range of different problems. That's very much an open area of research but it's quite an interesting.
Ben:[00:44:32] I think that's almost the holy grail of the effort isn't it the kind of general intelligence idea.
Greg:[00:44:38] Yeah I mean I think it's interesting because one of the things, that not to get too philosophical but, I think one of the outcomes of all of this research in all of this development is that it's kind of challenging our notion of intelligence in that I think when John McCarthy in the 50s came up with the idea of artificial intelligence. I think people were much more comfortable defining intelligence. No humans are intelligent animals are not.
[00:45:05] But now we have computers and computers are really good at doing things that we're not really good at handling lots and lots of structured data. For one thing, really good at you know even getting better and better than humans at recognizing images. And so the idea that there's not really one intelligence name that general intelligence will that happen for us or will there just be lots of very tailored specific powerful but narrow intelligence is that kind of stitched together. Yeah I mean I think this the idea of general intelligence is an interesting one. There are those thoughts on that. You know whether you're a singularist or your you know you're an Elon Musk of the world and you think there's going to be a singularity and everything is going go crazy and the robots are going to take over. I don't know but...
Ben:[00:45:54] Could you stick your stake in the ground and say what you would think those different arguments.
Greg:[00:46:03] Sure. I mean it's very it seems logical to me that algorithm that is capable of self improving will be able to improve itself to a point where it continues to improve itself. An interesting question around that is how does it define improvement. So what is your value function. What is it optimizing for. That is a problem that is realized by the community deep mind has set up an ethics community where, and I think the leading the leading solution to that is basically Haghave it always check with a human. So it will always try and optimize some value function and maximise it's reward. Now... And it will try and reverse engineer that value function to try and get as much reward as possible and humans are really hard to reverse engineer. Human's are inherently unpredictable.
[00:46:54] So unless that means it kind of it kind of starts torturing humans to say...
Ben:[00:46:59] Yes I think if you want to learn more about that you can check out the paperclip argument or think the paperclip machine if you look up that that you'll find things about paperclips, this algorihm taking over the world because of its job is to make paperclips.
Greg:[00:47:19] Also a very addictive game like wasted a few hours on.
Ben:[00:47:23] Yes. I haven't actually played that yet. Someone's made it into a web game.
Greg:[00:47:27] Yeah. It's like it's really mindless and you and you end up wasting hours you realize. Why. Why do I do that. It's one of those. I didn't really give you a proper answer. I would say that I think the singularity thing. I think it's very possible. I think the main constraint is computational power. I don't think that's taking place given I think some people think it's our understanding that it's our understanding of these models. I think if you have enough computational power you can simulate really anything. So it's really it's kind of, I guess the scary thing is it's kind of creepy, a computational arms race. So whoever's got processing power, whether that processing power will be implemented in a centralized fashion. So whether it's going to be one really clever computer or whether it's going to be distributed and decentralized remains to be seen but I certainly think it's possible.
Ben:[00:48:24] Wow. You heard it here first folks. If I was going to lean in on that myself I would probably side with the idea that our brains are kind of stitched a stitch together of lots of these componentized areas. So we have that the visual cortex for example and things like that. So I feel like for me the way to go would be a big string of different algorithms with different simple individual jobs to create a larger structure and that larger structure might have an algorithm to make sense of the larger structure and so on and so forth. I think for me that's what makes sense but it hasn't happened yet. So we'll see, we can maybe bet on it. How's that Greg?
Greg:[00:49:08] Yeah I mean that's kind of the way things are going. Right. So earlier I was talking about rules based systems versus machine learning. Really a lot of what we see is A.I. So if you see a smart inverted commas Chatbot it's probably got a bit of machine learning which is making some predictions about the best thing to say but then they get stitched together with some rules based thing. So yeah, I mean I'm kind of with you I think where we're heading at the moment is that we got a specialized M.L. Machine learning applications and they're kind of getting pieced together in increasingly complex ways. Yeah I'm happy to put a bet on it, we'll see. Is speeding up for sure.
Ben:[00:49:47] Great. So lastly we're on kind of 55 minutes ish here, so what I'm going to do before we say thank you is how can people kind of get involved? They're interested in maybe the implementation side of these sorts of technologies how can people who are interested start learning about it or start making stuff.
Greg:[00:50:12] So many different ways. And that's the exciting thing. I think this is really accessible now. The first thing I would do is just get on a high level comfortable with python. Python is probably one of the most accessible coding languages for this. There are some really good Python introductions on the Internet ... There's one Google has a python class there's one called Learn Python The Hard Way That I see recommended very often, Python is the language you want to have some some high level familiarity with. If you actually want to start playing around with these models then you want to get some kind of understanding of how machine learning works generally Udacity have a pretty good course for that. So again there's this kind of courses for everything which is really exciting and then to almost take you the whole way to the bleeding edge of research. There is a really great class that I've taken that I recommend call fast A.I. that they pursue a top down approach to two deep learning. So this is top down and is implement the the model habit to do something cool do in deep learning and then work out from that. So you don't spend months or years you know you do a master's bogged down in doing maths and then at the end of it you finally get to be hands on the machine learning with them you actually start there and then you try to understand it backwards for your applcation. So they offer two courses one is like an introduction to it for coders to deep learning and then the second part actually starts implementing some of the cutting edge stuff, so transfer learning, some NLP stuff I think and time series analysis.
[00:51:55] So like really with only taking a few classes and probably in the space of half a year to a year depending on your appetite for it you can take yourself from knowing nothing about about it or about Python to being really a practitioner that's capable of contributing to the discussion.
Ben:[00:52:14] That's that's amazing. Thank you so much Greg. Is there anything else you'd like to leave our listeners with before we end?
Greg:[00:52:22] I just say if you are thinking about getting into it give it a go because it's really exciting stuff. As I said I have friends that are just getting into it now and they, a friend of mine the other day said you know I've I've had probably eight jobs in the last eight years as many years and I'm now having a go at this machine learning stuff. And I actually finish the work day, and I'm really excited about it. So it's a it's a growing area. It's an engaging area. I think it's highly relevant and highly practical skill set. And the job now for everyone is to try and start piecing this stuff together in a way that starts to solve problems. And that's the problem. And I think we need as many hands on deck as possible. So if you're considering getting hands on with that giving a go I highly recommend it. And it's it's really really accessible.
Ben:[00:53:11] Brilliant. Well thank you so much Greg. And like you pointed out we're the machine ethics podcast. So if you have any questions for us for next time or people you'd like us to cover than do get in contact because you know we're trying to add to the conversation and and help people understand what's going on which is why we have wonderful Greg with amazing explanation today. So thank you again. Thank you for your time. And if people want to follow you or message you how can they do that?
Greg:[00:53:45] Well great question. I haven't been putting myself out on social media much yet. I need I need to come out of stealth mode my Twitter. But you can e-mail me. So Greg at decoded dot com, I would also say that aside from the open... resources for any individual who wants to learn machine learning if you are a company if you're responsible for learning in a company decoded offer a fantastic data fellowship course where they take employees that have no familiarity or very little familiarity data all the way to being a practicing data scientist. That's really cool course as well that we are offer but you can contact me at Greg decoded dot com, I'm happy to sort of field any questions you have.
Ben:[00:54:31] Awesome, I think they do, Decoded do some sessions as well on data, and chatbots and all sorts of things so check them out as well. Thank you Greg so much and I will speak to you soon. Good bye.