Skip to content

Conversation

@SagarSharma250
Copy link

@SagarSharma250 SagarSharma250 commented Aug 23, 2025

📋 Summary

This PR introduces significant enhancements to the GNNFingers defense framework, implementing discrete adjacency matrix optimization and clipped node feature integration while establishing a foundation for multi-graph type support. Key improvements include:

Discrete Adjacency Optimization: Top-k gradient-based edge selection with straight-through estimator

Clipped Node Feature Integration: Feature value constraints based on original data distribution

Alternating Joint Learning: Improved optimization strategy for fingerprint and univerifier co-training

Architecture Foundation: Flexible structure supporting future extension to multiple graph types

🧪 Related Issues

Implements discrete optimization strategies from GNNFingers paper

Addresses feature value stability through clipping mechanisms

Enhances training stability with alternating optimization

✅ Checklist

My code follows the project's coding style
The PR is made from a feature branch, not main


🧠 Additional Context (Optional)

Discrete Adjacency Updates (_update_adjacency_discrete):
- Top-k gradient-based edge selection (configurable via top_k_ratio)
- Straight-through estimator for differentiable discrete operations
- Bidirectional edge flipping based on gradient signs

Clipped Feature Integration:
-Dynamic value clamping based on original feature distribution
-Configurable bounds for synthetic feature generation
-Gradient-aware feature updates

Alternating Optimization (_joint_learning_alternating):
-Separate update cycles for fingerprints and univerifier
-Configurable epoch ratios for each component
-Loss-based convergence monitoring

Sparshkhare1306 pushed a commit to Sparshkhare1306/PyGIP-backup that referenced this pull request Oct 1, 2025
Add RQ2_defenses.sh for defense sweeps
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant