What would a 100 billion dollar "AI" company look like?November 1, 2015
As the world changes, companies spring up to take advantage of those changes. When I think of software, I think of Microsoft. When I think of the Internet, I think of Google. When I think of social media, I think of Facebook. When I think of electric vehicles, I think of Tesla.
What about AI? Folks are increasingly suspicious that the next 30 years will see big gains in the areas of intelligent systems and automation. But if you ask me what company comes to mind in terms of being an "AI giant", none come to mind. Google is perhaps the closest match, but not a great fit for what I'm think of here...
So I'm curious. Will a company spring up (or several) that are able to commercialize intelligent software in a way that produces huge sales and a huge market cap? Will those companies grow to dominate producers of "mere operating systems" or "mere search engines"? Or will one of the big software companies evolve to becomes that AI company?
It's hard to know. Maybe intelligent software will be too pervasive to be marketed by individual companies at grand scale.
But if such a company springs up in the next 30 years, I wouldn't be surprised.
Autopilot: Oh The HumanityOctober 26, 2015
I really had a good chuckle at this video of Howie Mandel trying out Autopilot for the first time:
https://www.youtube.com/watch?v=Nxn7KT_OakAI think this highlights technology at its best: When it bends people's minds and makes them giddy. Just listen to how goofy he gets.
Fun also to listen to his wife express that she wants him to turn it off because she doesn't like it.
Turning Unsupervised Machine Learning Problems into Supervised Learning ProblemsOctober 23, 2015
The learning that I've done in the area of machine learning is on the side of supervised machine learning. Unsupervised learning struck me as harder, etc, so until now I haven't really looked into it.
The other day it struck me how one can take "unsupervised" data and turn it into a kind of pseudo-supervised learning problem.
The basic idea is to take some video. The pixels in a frame of the video are inputs into your neural network, and the outputs of the neural network are a prediction about what the pixel values will be in the next frame of video. Thus, the number of inputs and the number of outputs are actually the same.
The beauty of this setup is that you do actually know what the pixel values are in the next frame, so you essentially have a supervised learning problem. You can use the true pixel values of the next frame to adjust the weights of your neural network.
Now, imagine you don't just feed the algorithm frames of flat video, but of stereo video, and you also feed it sensory data about how quickly the camera is rotating in terms of pitch/roll/yaw, and you give it information about how quickly the camera is accelerating in x/y/z space. You probably see where I'm going with this: The neural network will learn how camera rotation, for example, affects the relationship between the color of a pixel in one image and the color of the pixel in the next image.
Of course, you could also feed sound in, and if you were teaching a robot, you could feed in touch sensory information, etc, etc.
So what would result? Presumably, if your learning framework were set up well, and if it were powerful enough, it would start to implicitly build up models of the world so that it could better and better predict what comes next. For example, image occlusion... to be able to predict what it will look like when one person walks behind another, you need to be able to do "image segmentation" to know what pixels belong to one person and what pixels belong to another person, and you need to be able to sense their rough depth, etc, etc.
Perhaps I'm just re-hashing things that I've read in the past that are hinting at this same idea, but I found this realization somewhat breath-taking... to realize that the universe comes with a relatively infinite amount of supervised training data "for free", so long as your learning architecture is powerful enough to be able to connect the dots, so to speak.
One final sub-thought in this area is to connect this to my previous blog post: It would be possible to "help" the learning algorithm a bit by generating this video using a ray tracer, and to make some of the neural net's outputs things such as the Z depth of each pixel, which the ray tracer could provide precise supervised values for. This would encourage the learning algorithm in the right direction by forcing it to learn the importance of creating a distance-map of what it's seeing. Likewise, you could force it to learn how to do image segmentation by making some of the neural nets outputs pertain to image segmentation, and again, you could use the ray tracer to get a precisely labeled supervised data set for that.
Who knows, perhaps a recurrent neural net to predict the next frame, paired with perfect supervised data for z-depth and image segmentation, and given the computation power we'll have within 10 years in the cloud, could train a neural net like thing to do very impressive visual perception.
older >>