So far the only way a robot actually 'learns' is by doing an action and seeing if the outcome is good or bad. I feel like robots wouldn't ever gain REAL self learning because 'good' and 'bad' in a real world mean completely different things to people and aren't clear at all to programmed robots.
That is, unless there is some serious robotic breakthrough that I wouldn't have possibly imagined as I type this post.