Comments (8)
I had the same question.
I don't think that this is weight decay, because it's not being applied to the gradients, and it's not decaying the rollout network's weights towards zero. Rather, it's updating them in a way that maintains an exponential moving average of the generator network weights.
I recently found a reinforcement learning paper which did the same thing, in a different context.
They said it improved the stability of the learning process.
In their case, they weren't using a rollout network, but the motivation here may be similar.
References:
[1] https://www.tensorflow.org/api_docs/python/tf/train/ExponentialMovingAverage
[2] https://arxiv.org/pdf/1509.02971.pdf
from seqgan.
@eduOS To make it the same as that in the paper, why set the update_rate to 1? Shouldn't it set to be 0?
self.Wi = self.update_rate * self.Wi + (1 - self.update_rate) * tf.identity(self.lstm.Wi)
After one-step training of the generator, the lstm.Wi is changed, but self.Wi is not changed. If the rate is set to 1, self.Wi = self.Wi, it won't be changed. It makes me confused.
from seqgan.
This is a trick for stabilizing the training process, and setting the parameters of rollout to same with generator will degrade performance of seqgan.
from seqgan.
I am also wondering why there should be a delay. But to make it the same as that in the paper you can just set the update_rate to 1.
from seqgan.
I also noticed this; the update for the rollout seems to take the form of a convex combination of the parameters from the rollout and the generator. Wonder what's the justification for such an update.
from seqgan.
@gcbanana You are right. @vanpersie32 I learned that this trick is a regularization method which is the so-called weight decay. I'd like you to see this: #21
from seqgan.
@lucaslingle You are right. Close the issue
from seqgan.
In face it is the same as L2 regularization. It keeps the weights small and hence stable as stated in other comments.
from seqgan.
Related Issues (20)
- About the sequences to process
- 模型问题
- the input data?
- Training on custom dataset HOT 1
- 关于采样的问题
- What is the difference between SeqGAN and LM for text generation? HOT 1
- Nothing. Ignore it.
- About dataset. HOT 1
- About oracle model
- If the positive sample and negative sample of each training are corresponding, will it affect the training result
- gradient decent implementation
- About generator in adversarial training HOT 2
- How should I understand the RL loss function
- data format
- About the accuracy of discriminator during training?
- NLG
- dataset HOT 1
- How can i use my own training data ? HOT 2
- How to resume training in Colab?
- Questions about the recurring results of the code HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from seqgan.