Comments (3)
Thanks for your interests.
Q1. I want to ask about the way you calculate Q(s,a). After obtained the node embedding, and the graph embedding, do you throw them into some NN models to calculate Q(s, a)? By concating node embedding and graph embedding and then throw them into MLP?
A1. Before we feed action embedding and state embedding into MLP, we use cross product to model their finer dependencies, see the supplementary information for more details.
Q2. The representation of action. May I ask that how you define the action space? I mean, if the DRL ouptuts a scalar as the action, and if the graph's labels are permuted, how does the policy network output the same action? Sorry if I missed to see them in your supplemententary information. It seems that there is no clear definition. Did I miss to notice them?
A2. The action space is defined as the whole nodes, which we label them in a random order initially, and it has no effects to the final results. Each step, we just set the Q values of those nodes that have been removed to be negative infinity, as as to avoid choosing those invalid actions, on the basis of Q greedy strategy.
Q3. The node embedding, especially for a larger graph( 50 or 100 nodes), after passing the GNN model, would be similar to some node. For example, node A and nobe B may has the same embedding, so the policy network cannot determine which node to remove. Do you also notice this problem?
A3. For this case, we just randomly choose these nodes with the same Q values, and we find it not matter.
Q4. If the action space is fixed in the training process, how does it scale to larger graphs when testing? I thinks it is restricted by both GNN module and DRL action space.
A4. GNN models' parameters are independent of the graph scale, once trained well, the input graph can be larger than what it was trained on. For DRL, or especially Q function, the input is the node embedding and state embedding, once we feed Q with these two embeddings, it can output the Q value, which is still independent of the graph scale. Both of them contribute to the inductivity of FINDER, i.e., train on small scale graphs, and test on larger instances.
from finder.
Thanks for your interests.
Q1. I want to ask about the way you calculate Q(s,a). After obtained the node embedding, and the graph embedding, do you throw them into some NN models to calculate Q(s, a)? By concating node embedding and graph embedding and then throw them into MLP?
A1. Before we feed action embedding and state embedding into MLP, we use cross product to model their finer dependencies, see the supplementary information for more details.
Q2. The representation of action. May I ask that how you define the action space? I mean, if the DRL ouptuts a scalar as the action, and if the graph's labels are permuted, how does the policy network output the same action? Sorry if I missed to see them in your supplemententary information. It seems that there is no clear definition. Did I miss to notice them?
A2. The action space is defined as the whole nodes, which we label them in a random order initially, and it has no effects to the final results. Each step, we just set the Q values of those nodes that have been removed to be negative infinity, as as to avoid choosing those invalid actions, on the basis of Q greedy strategy.
Q3. The node embedding, especially for a larger graph( 50 or 100 nodes), after passing the GNN model, would be similar to some node. For example, node A and nobe B may has the same embedding, so the policy network cannot determine which node to remove. Do you also notice this problem?
A3. For this case, we just randomly choose these nodes with the same Q values, and we find it not matter.
Q4. If the action space is fixed in the training process, how does it scale to larger graphs when testing? I thinks it is restricted by both GNN module and DRL action space.
A4. GNN models' parameters are independent of the graph scale, once trained well, the input graph can be larger than what it was trained on. For DRL, or especially Q function, the input is the node embedding and state embedding, once we feed Q with these two embeddings, it can output the Q value, which is still independent of the graph scale. Both of them contribute to the inductivity of FINDER, i.e., train on small scale graphs, and test on larger instances.
from finder.
Thanks for your reply. It's very helpful.
from finder.
Related Issues (20)
- Working with nx.graph objects when there are disconnected nodes in the graph
- 有关cython HOT 4
- GPU's temperature is pretty high, but the GPU memory isn't seem to be occupied (around 200M) HOT 3
- About the reward settings and playing game HOT 4
- Unable to train the algorithm with erdos_renyi generator HOT 1
- Model Improvements
- Make all the file when python setup.py build_ext -i
- I have found some problems when I run finder on other dataset. HOT 3
- train the model
- from cython.operator cimport dereference as deref HOT 2
- Implementing FINDER on a new dataset
- Please help how to solve this question? HOT 1
- Invalid argument: Cannot multiply A and B because inner dimension does not match: 59899 vs. 59783. HOT 1
- about result of critical node
- Additions to ReadME for Windows Users HOT 1
- Failure with no error message HOT 3
- Key error with Critical Node Cost problem HOT 4
- Node Importance HOT 4
- Modifying Connectivity Measures 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 finder.