Optimizing Social Network Interventions via Hypergradient-Based Recommender System Design

Authors: Marino Kühne, Panagiotis D. Grontas, Giulia De Pasquale, Giuseppe Belgioioso, Florian Dorfler, John Lygeros

ICML 2025 | Venue PDF | Archive PDF | Plain Text | LLM Run Details

Reproducibility Variable Result LLM Response
Research Type Experimental We demonstrate its merit by: (i) rapidly solving complex social network intervention problems with 4.8 million variables based on the Reddit, Live Journal, and DBLP datasets; (ii) outperforming competing approaches in terms of both computation time and disagreement reduction. ... 4. Numerical Simulations & Comparisons In this section, we demonstrate the effectiveness of our algorithm by deploying it on real-world and artificiallygenerated datasets. In Section 4.1, we study the scalability of Bee RS on both a CPU and a GPU and the evolution of φ across iterations. In Section 4.2, we compare Bee RS to IPOPT, a state-of-the-art nonlinear programming solver that can directly solve the non-convex program (3), while in Section 4.3 we compare against the algorithm proposed in (Chitra & Musco, 2020).
Researcher Affiliation Academia 1ETH Z urich, Switzerland 2Eindhoven University of Technology, The Netherlands 3KTH Royal Institute of Technology, Sweden. Correspondence to: Marino K uhne <EMAIL>.
Pseudocode Yes Algorithm 1 Bee RS ... Algorithm 2 NAD (Network Administrator Dynamics)
Open Source Code Yes Our code is available online at https://github.com/m-kuehne/Bee RS
Open Datasets Yes We demonstrate its merit by: (i) rapidly solving complex social network intervention problems with 4.8 million variables based on the Reddit, Live Journal, and DBLP datasets... We solve problem (10) on two datasets: the DBLP dataset (Tang et al., 2008) and the Live Journal social network dataset (Backstrom et al., 2006; Leskovec et al., 2008; Leskovec & Krevl, 2014)... Next, we deploy both algorithms on real-world data. We use the undirected Reddit dataset (De et al., 2014)...
Dataset Splits No The paper does not provide specific train/test/validation dataset splits. It mentions using
Hardware Specification Yes Experiments were conducted on a Windows 11 machine using Windows Subsystem for Linux (WSL) version 2, either on an Intel Core i7-11700F CPU at 2.50 GHz with 8 cores and 16 logical processors and 32 GB of RAM or on a NVIDIA Ge Force RTX 3060 Ti GPU, with 8 GB of GDDR6 video memory, running CUDA 12.6 and cu DNN 9.5.1.
Software Dependencies Yes We implement the algorithm in Python 3.12. We provide both a GPUand a CPU-compatible implementation. The GPU version performs most computations with JAX (Bradbury et al., 2018) and has some Num Py (Harris et al., 2020) dependencies. We solve the linear systems (2) and (9) with a jax.scipy implementation of the GMRES algorithm (Saad & Schultz, 1986). For the projection, we use the jaxopt (Blondel et al., 2022) Box OSQP solver. JAX functions are just-in-time compiled if applicable. We represent the adjacency matrix of the network and the Jacobians as sparse csr array, which allows efficient handling of large datasets. The upper-level gradients 1,2φ are computed with the automatic differentiation (autodiff) functionalities of JAX. ... The CPU version is based on Num Py. Unlike the GPU implementation, we allow both sparse and dense representations of the network s adjacency matrix and the Jacobians. For dense matrices, we rely on Num Py to solve the linear systems (2) and (9), for sparse matrices, we use a Sci Py (Virtanen et al., 2020) implementation of the GMRES algorithm. In both cases, we use CVXpy (Diamond & Boyd, 2016; Agrawal et al., 2018) to perform the projections with the following solvers: Clarabel (Goulart & Chen, 2024) for quadratic programs, and SCS (O Donoghue et al., 2016) for second-order cone programs. The upper-level gradients 1,2φ are computed with the automatic differentiation (autodiff) functionalities of Py Torch (Paszke et al., 2019). ... running CUDA 12.6 and cu DNN 9.5.1.
Experiment Setup Yes We set b = n/10, α = 0.05, and γ = 0.6. ... We solve (10) ten times with b = n/10, α = 0.05, γ = 0.6, and ε = 1e-2 on the GPU. ... We set α = 20, γ = 0.6 for the Reddit dataset and α = 0.05, γ = 0.6 for DBLP and Live Journal. For all datasets we set b = n/10. ... For IPOPT, we use a tolerance of 1e-3 and constraint-violation tolerance of 1e-4. For Bee RS, we use ε = 1e-3, γ = 0.6, and α = 0.05. ... We deploy Bee RS on a CPU with ε = 1e-2, γ = 0.6, and α = 1000... We initialize all variables, i.e., all connections to the news agency, with the value 0. We use a tolerance of ε = 1e-3.