[HN Gopher] Deep Learning for Procedural Content Generation - a ... ___________________________________________________________________ Deep Learning for Procedural Content Generation - a survey Author : homarp Score : 67 points Date : 2020-10-12 19:09 UTC (3 hours ago) (HTM) web link (arxiv.org) (TXT) w3m dump (arxiv.org) | aaron-santos wrote: | There have been a few attempts at communicating deep learning | methodology for procedural generation specifically within the | roguelike community to use a specific example. While there is | typically some high-level interest, the interest quickly fades | and developers go back to using traditional procgen methods. | | One of the hangups that I've observed is that many of the | introductions for procgen deep learning (and deep learning in | general) use SL, USL, and AL which require datasets containing | many examples. The (time) cost associated with gathering or | creating these examples is not appealing to procgen devs. Procgen | devs continue using the procgen equivalent of symbolic AI. RL in | procgen is largely avoided for the same reasons that RL is rare | in other domains. | | Despite this, I believe there is a connection between the fields | through the lens of optimization problems. Typically procgen | practitioners have a handful of parameters which they hand-tune | to arrive at their desired results. The number of parameters is | kept low so as not to exceed the cognitive capabilities of the | practitioner. I'm a believer that by turning many of the current | discrete procgen algorithms into continuous-valued generators, | the number of generator parameters can be increased a thousand or | million-fold so long as an appropriate loss function can be | crafted (in practice this isn't very hard and proxies can even be | used in tricky cases). In a lot of ways this becomes a | reparameterization in a way that makes for more salient generator | parameters. | | For me one path forward is crafting continuous versions of | existing discrete generators and using autodiff tools like JAX to | optimize procgen parameters. This whole rant is pretty specific | to the roguelike domain and probably doesn't carry over well to | other spaces. Huge YMMV disclaimer. | munificent wrote: | I'm skeptical that machine learning has much to offer the | typical roguelike developer. | | Most roguelikes approach a player/developer ratio of zero. For | every successful shipped roguelike with actual players, there | are probably a thousand hobby roguelikes with no users but a | happy developer or two wiling their time away. This is not a | particularly lucrative corner of the gamedev world, so most are | in it for the intrinsic motivation. | | Handcrafting a level generator is a _lot_ of fun. Training an | ML model might be fun too, but it seems like a very different | sort of activity, and not necessarily one that appeals to | roguelike devs. | | _> so long as an appropriate loss function can be crafted (in | practice this isn 't very hard and proxies can even be used in | tricky cases)._ | | I'm skeptical that this is as easy as you suggest. Everyone | thinks making something "fun" is easy until they sit down to | try. Fun is the knife-edge between familiarity and surprise. | Optimizing for it is probably in the same order of difficulty | as predicting the stock market: If you train your generator to | be _particularly_ fun in a certain way, players will quickly | grow tired of it, which isn 't fun. | mam2 wrote: | Yes I think the whole problem for procgen is that it's hard to | find an optimisation problem to optimise related to it. if | everything goes well with a "symbolic programming" there no | reason to change. | | Its almost | aaron-santos wrote: | > if everything goes well with a "symbolic programming" there | no reason to change. | | Yes and no. The elephant in the procgen room is the "1000 | bowls of oatmean" problem[1] ie: perceptual uniqueness. Many | procgen practitioners want to maximize serendipity but don't | see a path toward that. I expect that methods explored in | academia will filter down to practitioners, but the speed at | which this occurs is largely modulated by the number of | people with a foot in each world and willing to communicate | with both sides. The same kind of gap exists within | programming language theory and design, though because it is | a bigger field, it benefits from network effects to a greater | extent. | | [1] https://galaxykate0.tumblr.com/post/139774965871/so-you- | want... | minimaxir wrote: | Interestingly, there's very little discussion of the Transformer | architecture aside from the known text implementations like AI | Dungeon 2 (using GPT-2/GPT-3). | | There's no mechanical restriction from using it on text only | (with OpenAI's ImageGPT being an extreme example), and it will be | interesting to see how/if it competes with LSTMs for nontext | domains. | Der_Einzige wrote: | It seems to not support going in the reverse though, e.g. | giving a vector in a low dimensional space and inverse | transforming to a hypothetical generated document. Closest to | this is the context starting text but it's not the same. | | To be clear, I'm describing using transformers as autoencoders ___________________________________________________________________ (page generated 2020-10-12 23:00 UTC)