I sincerely believe that the move towards deep learning is every bit as radical as the development of the microprocessor. We're starting to find incredibly elegant solutions to problems that have stymied computer scientists for decades. We're finding orders-of-magnitude improvements to difficult problems at an astonishing rate, often with remarkably modest resources.
There's clearly a huge amount of hype happening at the moment, but genuine technological revolutions are usually preceded by a ludicrous hype bubble.
The DL hype is driven more by the singularitians than by actual usefulness of DL. The personal computer revolution was driven by the fact personal computers are very useful.
I think by "incredibly elegant solutions" you mean the typical black-box statistical machine learning algorithm that takes in some data as input and outputs an approximated function that "solves" whatever problem your data was representing.
If that is indeed what you mean (apologies otherwise) I really struggle to see that as "elegant" -or even a solution. We start with some problem too complex to understand and build a complex system we don't quite understand, that solves the problem in a way we don't quite understand. What did we gain? A system that solves the problem - maybe, when it feels like it, depending on the problem, provided enough data etc etc. Our understanding of the problem hasn't changed and therefore our ability to solve it, hasn't.
To give an analogy- it's like a kid at school who can't solve some arithmetic problem they have for homework asking their big sister to solve it for them. The kid now knows the answer to the problem but still doesn't know how to solve it, on their own. They didn't "find a solution"- they found someone who knows the solution.
I think, if you look at the progress we've made as a civilisation in producing knowledge, you'll find that this was always driven by people who solved problems, themselves. And if you think of the kind of people who invoke some higher authority that has all the solutions, you're probably looking at religion.
Computers that can interact with the real world are computers that can make quick, reasonably accurate guesses based on incomplete information. Hugely important tasks like speech recognition and autonomous driving are practically impossible without using approximate statistical methods. Machine learning is the key framework that allows us to attack those real-world problems.
In all seriousness, rapid adaptation to New environments (including video games and math homework) is within small children's neutral capabilities. But they can't discover properties they aren't designed to discover.
They're left with scientific method for everything else. Which is just generalizing to unseen data.
The fact that computers now can learn they way they do, is a very big deal it simply cannot be emphasized enough. We are only a few years in and haven't seen the limits of where it can be applied yet.
It's Moores Law + Metcalfe's law.
With space there are all sorts of hard limits because of physics and the goal is very specific. With deep learning there isn't some hard limit because there isn't very specific goals in the same way and not the same kind of laws hindering it.
On the subject of space I am much more convinced that AI will be traveling the universe than humans.
If it's general intelligence then I definitely think the hype is real. I don't think machine intelligence gets us any close to general intelligence than say a calculator has.
I think we're looking at a massive increase in an already large class gap. The fallout is going to be huge and in not immediately obvious ways. I don't think we have the maturity to deal with it.
It's a pretty depressing topic TBH. I'm not advocating for anything either. I believe technological advances are inevitable in a global competitive economy.
The way I look at it is that it's not even because of the global competition it's simply that technology gives you such a big advantage compared to those that don't use it and thus we are basically improving our own short-term situation for long-term rendering ourselves insignificant.
Instead of looking at the last 200 years of industrial history I find it much more telling to look at 200.000 million years of evolution.
To take it even further out there. To me it seems like evolution favors the best information carriers which might mean that "silicon" will replace carbon based lifeforms simply because it's a better information carrier than us.
Great news, we can hack oursleves, augment ourselves, you name it. However, meaning eludes us. No one cares, carbon or silicon based. The end.
Heads: If all we are is math, then eventually, through smarter and smarter computers, we have a chance of solving it... and it'll probably happen fast once (if) we invent AIG. This will inevitably resolve that free will is an illusion. It's kind of the ultimate atom bomb in a way I suppose, but without maliciousness (and wouldn't you want to know anyways??).
Tails: If we're something more than math, a soul or what have you, then we probably can't create pure AIG, at least not without magic. We might create an approximation that uses sufficient inputs to make it almost impossible to tell the difference though. That could be a really useful tool (or weapon...).
If we are entirely math, it seems unlikely the mind can understand itself. I.e. there is minimal program that represents the mind, and if the mind understood itself, then it'd contain a compression of itself, which is this minimal program. However, now the minimal program representing the mind containing the mind (MCtM) is bigger, so the MCtM does not contain itself. A rebuttal is that perhaps there is a fixed point where the size does not keep increasing.
If there is something non-mathy about the mind, then of course it cannot be captured (entirely) as a mathematical equation. This would imply religious concepts such as the soul are true, but if we can detect the non-mathy aspect then it is still scientific. We'd have a scientific religion.
Think of the potential: we could create games just by giving the AI some example game play animations and it would learn the logic of the game (game engine).
No, it isn't - just like the subject in the Chinese room experiment cannot understand Chinese yet is able to reply with perfect language to given input.
Oh, come on. This is silly semantics. Human written engine doesn't "understand" the game state any more than an AI does!
Game engine here _merely_ means the algorithm that takes user input, calculates the next state of the game and outputs it to the screen. No-one has claimed that this engine would be a generic engine capable of running a variety of games. No. Only this game.
Whether the engine is written manually by a human or is a trained AI is irrelevant. It's still a game engine. The AI trained may have a different internal representation of the game state, but it still must have something like that.
The whole POINT of this exercise is to find an automatic way of generating this algorithm without manually writing code.
You don't seem to understand the difference between predicting what could be next compared to actually producing things from scratch.
Think of this in terms of a movie where there is no user input and the state is linear (state is frame number and increments at a constant rate). Predicting next frame and saying that AI can recreate a movie is false and very misleading.
Add in user input and non-linear state and your AI isn't very useful anymore, even with predicting next frames (you'll never reach perfect reproduction given the vast game state that is possible).
There specifically IS user input involved here. There is no "building from scratch".
I can look at (simple) video footage of a game I've never seen before and start to model in my head various ways how certain mechanisms can be implemented in code. I quickly learn to predict how different game elements move based on how they look and similarly looking things have moved before. Even if I didn't know anything about programming, I could learn to predict how that monster moves. In fact, playing the game trains my brain to predict these things.
_Obviously_ I might not know what's behind that next monster. I don't know what the game designers have come up with: some things are _impossible_ to predict, but the basic mechanics can be learned and the more I play, the better my prediction accuracy gets.
The mechanics of me learning these things is not too far away from e.g. neural network learning the same things. Again, obviously, the neural network cannot create the parts of the game world it hasn't seen. But no-one is claiming that. Nor that just by showing a little bit of game play, we could re-create the whole game. Only that it can probably learn to render the mechanics (game engine) based on user input. The authors showed some interesting results based on this.
> Oh, come on. This is silly semantics.
That is the exact point of the thought experiment, semantics vs syntax. A computer can work well with syntax but semantics are not so easy.
> You keep bringing up these useless analogues about movies and chinese boxes. Be more specific.
They're useless to you because you don't seem to understand how neural network or current AI tech works. In the current fashion, generalist AI like a game engine is very much impossible.
> I can look at (simple) video footage of a game I've never seen before and start to model in my head various ways how certain mechanisms can be implemented in code. I quickly learn to predict how different game elements move based on how they look and similarly looking things have moved before. Even if I didn't know anything about programming, I could learn to predict how that monster moves. In fact, playing the game trains my brain to predict these things.
Sadly our computers don't have a human brain, which is entirely the point of AI.
> The mechanics of me learning these things is not too far away from e.g. neural network learning the same things. Again, obviously, the neural network cannot create the parts of the game world it hasn't seen. But no-one is claiming that. Nor that just by showing a little bit of game play, we could re-create the whole game. Only that it can probably learn to render the mechanics (game engine) based on user input. The authors showed some interesting results based on this.
Game states are too large to be entirely seen even by a computer. We need pruning and MCTS for simple adversarial searches in games like chess, Go; What makes you think some magical AI can imitate a game engine?
I have some understanding how that works. You seem to read me incorrectly and extend what I say to something different.
Again, and I repeat myself, I don't claim "generalist AI". I don't claim that we can have a machine learning algorithm that learns ANY game mechanics perfectly just by looking at limited amount game play. Obviously that's not true for any neural network including human brain.
What I do claim is that we can have a machine learning algorithm that can learn some interesting game mechanics just by looking at game play. That is what the researchers intended and got some interesting results.
> Game states are too large to be entirely seen even by a computer. We need pruning and MCTS for simple adversarial searches in games like chess, Go; What makes you think some magical AI can imitate a game engine?
Ok, you may have a different definition of "game state" than I do.
My definition (which I think is the correct one): The state of the variables in a game program that define the state of the game. The game state may include variables that contain the position of monsters, player's score etc. The game state can be used
Game state is NOT all the possible game states of a particular game. That's called game state space. I'm sure you know that, I'm just being pedantic of course.
Now let us consider the game of Chess, which is not the best example, but let's do it anyway. The game state in chess is basically the position of the chess pieces on a board. That is about 64 variables. It is conceivable that we could use a machine learning algorithm to learn the _rules_ of the game and how to render the current state of the chess game ("game engine") just by showing the algorithm valid input (player move, image of the game board before move) and output (image of the game board after move) of the game.
Can we learn the rules of chess perfectly? Well, that might be hard, I fully understand that. We should carefully select all the interesting chess game positions to make sure the machine learns everything correctly and we would never be sure.
But that is not what we're trying to do here! We're trying to use machine learning to get some useful and possibly creative game engines without manually defining the rules (programming). The idea is not to replicate something existing perfectly. That was never my claim.
BTW, although this is not exactly what we're discussing here, Matthew Lai has done some interesting research on this topic. [1]
"Instead of the conventional method of teaching computers how to play chess by giving them hardcoded rules, this project is an attempt to use machine learning to figure out how to play chess through self-play, and have them derive their own rules from the games."
> What makes you think some magical AI can imitate a game engine?
Your rhetorical question seems to assume that I've said something I haven't said. If you have an argument, state that in sentences.
Let me repeat. A neural network (or some other machine learning model) can learn to do similar things than a game engine does, namely take user input, maintain game state and render game state. Therefore this model can be considered as a game engine for a given game being modeled. That's the extent of my argument. Nothing more. I don't think we need any magic with this.
From the paper I think the "game engine" they learn is not even capable of playing the same level in a different way than in the examples. If Mario jumps in frame X, the "game engine" will always show Mario jumping in frame X, and not know there's any other possible state at that time than frame X with Mario jumping in it.
I mean, I see the value in this, totally- they've learned an automaton that can faithfully reproduce its examples and that's no mean feat. But like I say above it would make a lot more sense to define a "game engine" as an automaton that can reproduce the entire range of behaviours of its original- not just a set of its output frames and only that set of frames, in perpetuity.
Of course a "game engine" in the sense I give it above is (in the case of games) a Turing complete automaton- so it would be impossible to learn to simulate it just from examples of its output (there's a lot of maths on that). So the paper settles for the easiest task. OK. But the way they present it is misleading.