Live data from Hacker News

Multi-Task Learning in Atari Video Games with Emergent Tangled Program Graphs

dl.acm.org

11–20 of 58 posts

Re: Multi-Task Learning in Atari Video Games with Emergent Tangled Program Graphs

#11
post #7

Earlier quoted context omitted.

They are comparing their genetic programming results with a deep learning paper published in 2015. [1] [1] https://www.nature.com/nature/journal/v518/n7540/abs/nature1...

What a time to live in, when papers from 2015 are "really old" in 2017.

It highly depends on the field you're in though.

Re: Multi-Task Learning in Atari Video Games with Emergent Tangled Program Graphs

#12
post #9

One of the huge benefits of GPs over NNs is the ease of reverse engineering a GP tree compared to NN models. Its not effortless however. Its just not mathematically complex like NNs i.e. a programmer who isn't a mathematician can analyze GPs with a lot of patience EDIT: I have found GPs to be relatively slow-to-very-slow. But very likely that is because of the lack of interest and development compared to NNs

Partly, I think they're also fundamentally slower than NN because you're manipulating and executing programs (ASTs[1]) while for NNs you just adjust some values.

I've dabbled in GP and I really like it but those ASTs can get huge if they're not carefully pruned and might not add to the solution at all.

[1] https://en.wikipedia.org/wiki/Abstract_syntax_tree

Re: Multi-Task Learning in Atari Video Games with Emergent Tangled Program Graphs

#13
post #12
post #9

One of the huge benefits of GPs over NNs is the ease of reverse engineering a GP tree compared to NN models. Its not effortless however. Its just not mathematically complex like NNs i.e. a programmer who isn't a mathematician can analyze GPs with a lot of patience EDIT: I have found GPs to be relatively slow-to-very-slow. But very likely that is because of the lack of interest and development compared to NNs

Partly, I think they're also fundamentally slower than NN because you're manipulating and executing programs (ASTs[1]) while for NNs you just adjust some values. I've dabbled in GP and I really like it but those ASTs can get huge if they're not carefully pruned and might not add to the solution at all. [1] https://en.wikipedia.org/wiki/Abstract_syntax_tree

I don't think you can generalize it this way, ASTs could be compiled to fast machine code, also it really depends on the solutions the algorithms come up with. The NN is bound to its number of parameters, while the Genetic's program varies in length and can become quite small if length is part of the fitness function.

Re: Multi-Task Learning in Atari Video Games with Emergent Tangled Program Graphs

#14
post #7

Earlier quoted context omitted.

They are comparing their genetic programming results with a deep learning paper published in 2015. [1] [1] https://www.nature.com/nature/journal/v518/n7540/abs/nature1...

What a time to live in, when papers from 2015 are "really old" in 2017.

1 deep learning year is about 49 dog years.

Re: Multi-Task Learning in Atari Video Games with Emergent Tangled Program Graphs

#15
post #12

Earlier quoted context omitted.

Partly, I think they're also fundamentally slower than NN because you're manipulating and executing programs (ASTs[1]) while for NNs you just adjust some values. I've dabbled in GP and I really like it but those ASTs can get huge if they're not carefully pruned and might not add to the solution at all. [1] https://en.wikipedia.org/wiki/Abstract_syntax_tree

I don't think you can generalize it this way, ASTs could be compiled to fast machine code, also it really depends on the solutions the algorithms come up with. The NN is bound to its number of parameters, while the Genetic's program varies in length and can become quite small if length is part of the fitness function.

Well, the accrual of "useless code" (there's a name for this that I forgot") is a known problem, but it is also something that stabilizes the learning process

I don't think it's as simple as putting the length of the AST in the goal function (but it's something interesting to try).

Depending on compile speed vs running speed you might be better off interpreting your ASTs

Re: Multi-Task Learning in Atari Video Games with Emergent Tangled Program Graphs

#16
post #8
post #2

This sounds interesting. I will like someone from the field of genetic programming on how this works and how it differs from current DL approaches.

Kelly's approach involves evolving teams of programs. His basic strategy is to have a scalable problem decomposition strategy. So programs that process pixels and the teaming of those programs are grouped together. The groupings (teams) themselves are co-evolved with the programs, simultaneously. This enables niching and specialization behavior. This builds on earlier work on 'symbiotic bid-based genetic programming'…

> That matters for things like running on mobile/embedded devices.

Ding ding ding. This is where the money is at, good yet cheap sensors that sense human level actions are needed for IoT to be impactful.

Re: Multi-Task Learning in Atari Video Games with Emergent Tangled Program Graphs

#17
I was a little surprised at the headline, since I expected 'outperforms' to mean that it had better end-results, which is of course not the case. GP is just much faster due to it's relative simplicity and the results are close enough to those achieved with NN and deep learning.

> Finally, while generally matching the skill level of controllers from neuro-evolution/deep learning, the genetic programming solutions evolved here are several orders of magnitude simpler, resulting in real-time operation at a fraction of the cost.

> Moreover, TPG solutions are particularly elegant, thus supporting real-time operation without specialized hardware

This is the key takeaway and yet another reminder to not make deep learning the hammer for all your fuzzy problems.

Re: Multi-Task Learning in Atari Video Games with Emergent Tangled Program Graphs

#18
post #9

One of the huge benefits of GPs over NNs is the ease of reverse engineering a GP tree compared to NN models. Its not effortless however. Its just not mathematically complex like NNs i.e. a programmer who isn't a mathematician can analyze GPs with a lot of patience EDIT: I have found GPs to be relatively slow-to-very-slow. But very likely that is because of the lack of interest and development compared to NNs

Would some form of computer-aided tool be able to help the programmer analyze GPs? It sounds like there's some repetitive process when you say 'GPs with a lot of patience'. I was thinking along the line that if such a tool is possible, then it might be possible to let the development and evolution of GPs iterate faster than deep learning. I found this thread really interesting, because of the small size, such implementations can be easily done locally without expensive and huge hardware setup. I'm definitely amazed at what DL has achieved so far. But it looks to me like a brute force way to solve a problem by gathering huge amounts of data, crunching on huge amounts of hardware, to solve a very specific classification problem. Not saying that is not good, just saying it is hard for mass participation at a high production quality level due to lack of hardware and stuffs.

Re: Multi-Task Learning in Atari Video Games with Emergent Tangled Program Graphs

#19
post #8
post #2

This sounds interesting. I will like someone from the field of genetic programming on how this works and how it differs from current DL approaches.

Kelly's approach involves evolving teams of programs. His basic strategy is to have a scalable problem decomposition strategy. So programs that process pixels and the teaming of those programs are grouped together. The groupings (teams) themselves are co-evolved with the programs, simultaneously. This enables niching and specialization behavior. This builds on earlier work on 'symbiotic bid-based genetic programming'…

This sounds like a divide & conquer approach (Sorry if this generalization is too lame). If it can work on less capable device than it will create a new wave of innovations in mobile devices.

I am wondering, whether a similar approach is possible with current DL models and will it have any performance improvements over what is existing or whether it will be computationally even more expensive.

Re: Multi-Task Learning in Atari Video Games with Emergent Tangled Program Graphs

#20

Earlier quoted context omitted.

I don't think you can generalize it this way, ASTs could be compiled to fast machine code, also it really depends on the solutions the algorithms come up with. The NN is bound to its number of parameters, while the Genetic's program varies in length and can become quite small if length is part of the fitness function.

Well, the accrual of "useless code" (there's a name for this that I forgot") is a known problem, but it is also something that stabilizes the learning process I don't think it's as simple as putting the length of the AST in the goal function (but it's something interesting to try). Depending on compile speed vs running speed you might be better off interpreting your ASTs

It's bloat due to 'introns' (useless statements that don't effect the output, like x = x * 1). And yes, just adding a fitness function to shorten program length isn't optimal. I've found it easier to evolve successful programs (letting the bloat happen) and then keep removing statements from correctly generated programs whilst checking if the output is the same. Probably not optimal either but I feel like it gives better results.
Post reply on HN