diff --git a/.gitignore b/.gitignore index 3473d49..1b19ea7 100755 --- a/.gitignore +++ b/.gitignore @@ -1,32 +1,32 @@ -research_agent/workplace_*/ -research_agent/workspace_*/ -research_agent/*.log -research_agent/code_db/* -research_agent/results/* -research_agent/paper_db/* - -__pycache__/ -tmp/* -logs/* -*.tar.gz - -*.egg-info - -.DS_Store -*.csv - -research_agent/eval_data/* -research_agent/evaluation_results/* - -research_agent/evaluation/*/data/ -research_agent/evaluation/*/data/* -research_agent/evaluation/**/data/ - -research_agent/cache/* -research_agent/cache_*/* - -research_agent/.env - -research_agent/*_tmp/* - +research_agent/workplace_*/ +research_agent/workspace_*/ +research_agent/*.log +research_agent/code_db/* +research_agent/results/* +research_agent/paper_db/* + +__pycache__/ +tmp/* +logs/* +*.tar.gz + +*.egg-info + +.DS_Store +*.csv + +research_agent/eval_data/* +research_agent/evaluation_results/* + +research_agent/evaluation/*/data/ +research_agent/evaluation/*/data/* +research_agent/evaluation/**/data/ + +research_agent/cache/* +research_agent/cache_*/* + +research_agent/.env + +research_agent/*_tmp/* + .env \ No newline at end of file diff --git a/DOCKER_README.md b/DOCKER_README.md new file mode 100644 index 0000000..b68591c --- /dev/null +++ b/DOCKER_README.md @@ -0,0 +1,208 @@ +# AI-Researcher Docker Setup + +This document explains how to run AI-Researcher using Docker Compose. + +## Prerequisites + +1. **Docker**: Install Docker Desktop or Docker Engine + - [Docker Desktop](https://docs.docker.com/desktop/) (recommended for Windows/Mac) + - [Docker Engine](https://docs.docker.com/engine/install/) (for Linux) + +2. **Docker Compose**: Usually included with Docker Desktop, or install separately + - [Docker Compose Installation](https://docs.docker.com/compose/install/) + +3. **API Keys**: You'll need the following API keys: + - **GitHub AI Token**: For GitHub Copilot or GitHub AI features + - **OpenRouter API Key**: For accessing various LLM models + +## Quick Start + +### Option 1: Using the Startup Script (Recommended) + +#### Windows +```bash +start_docker.bat +``` + +#### Linux/Mac +```bash +chmod +x start_docker.sh +./start_docker.sh +``` + +The startup script will: +1. Check if Docker and Docker Compose are installed +2. Create necessary directories +3. Create a `.env` file template if it doesn't exist +4. Pull the required Docker image +5. Start the services + +### Option 2: Manual Setup + +1. **Create the `.env` file**: + ```bash + # Copy the template and edit with your API keys + cp .env.template .env + ``` + +2. **Edit the `.env` file** with your API keys: + ```env + GITHUB_AI_TOKEN=your_github_ai_token + OPENROUTER_API_KEY=your_openrouter_api_key + ``` + +3. **Start the services**: + ```bash + docker-compose up -d + ``` + +## Services + +The Docker Compose setup includes two services: + +### 1. AI-Researcher API (`ai-researcher`) +- **Port**: 8000 +- **Purpose**: Main research agent API +- **Image**: `tjbtech1/airesearcher:v1` + +### 2. Web GUI (`web-gui`) +- **Port**: 7860 +- **Purpose**: Gradio-based web interface +- **Image**: Built from `Dockerfile.web` + +## Accessing the Services + +Once the services are running: + +- **Web GUI**: http://localhost:7860 +- **API**: http://localhost:8000 + +## Configuration + +### Environment Variables + +The main configuration is done through the `.env` file: + +```env +# Container Configuration +DOCKER_WORKPLACE_NAME=workplace_paper +BASE_IMAGES=tjbtech1/airesearcher:v1 +COMPLETION_MODEL=openrouter/google/gemini-2.5-pro-preview-05-20 +CHEEP_MODEL=openrouter/google/gemini-2.5-pro-preview-05-20 +GPUS='"device=0"' +CONTAINER_NAME=paper_eval +WORKPLACE_NAME=workplace +CACHE_PATH=cache +PORT=7020 +PLATFORM=linux/amd64 + +# LLM Configuration +GITHUB_AI_TOKEN=your_github_ai_token +OPENROUTER_API_KEY=your_openrouter_api_key +OPENROUTER_API_BASE=https://openrouter.ai/api/v1 + +# Task Configuration +CATEGORY=vq +INSTANCE_ID=one_layer_vq +TASK_LEVEL=task1 +MAX_ITER_TIMES=0 +``` + +### GPU Configuration + +To use GPU acceleration, modify the `GPUS` variable: + +- **Single GPU**: `GPUS='"device=0"'` +- **Multiple GPUs**: `GPUS='"device=0,1"'` +- **All GPUs**: `GPUS='"all"'` +- **No GPU**: `GPUS=None` + +## Useful Commands + +### View Logs +```bash +# All services +docker-compose logs -f + +# Specific service +docker-compose logs -f ai-researcher +docker-compose logs -f web-gui +``` + +### Stop Services +```bash +docker-compose down +``` + +### Restart Services +```bash +docker-compose restart +``` + +### Rebuild Services +```bash +docker-compose up -d --build +``` + +### Access Container Shell +```bash +# AI-Researcher container +docker-compose exec ai-researcher bash + +# Web GUI container +docker-compose exec web-gui bash +``` + +## Troubleshooting + +### Common Issues + +1. **Port Already in Use** + - Check if ports 8000 or 7860 are already in use + - Modify the port mappings in `docker-compose.yml` + +2. **API Key Issues** + - Ensure your API keys are correctly set in the `.env` file + - Check if the API keys have sufficient credits/permissions + +3. **GPU Issues** + - Ensure Docker has GPU access (nvidia-docker for NVIDIA GPUs) + - Check if the GPU configuration in `.env` matches your setup + +4. **Permission Issues** + - Ensure the `workplace`, `cache`, and `logs` directories have proper permissions + +### Getting Help + +- Check the logs: `docker-compose logs -f` +- Restart services: `docker-compose restart` +- Rebuild containers: `docker-compose up -d --build` + +## Development + +### Building Custom Images + +To build the AI-Researcher image locally: + +```bash +cd docker +docker build -t tjbtech1/airesearcher:v1 . +``` + +To build the web GUI image: + +```bash +docker build -f Dockerfile.web -t ai-researcher-web . +``` + +### Modifying the Setup + +- Edit `docker-compose.yml` to modify service configuration +- Edit `Dockerfile.web` to modify the web GUI container +- Edit `docker/Dockerfile` to modify the AI-Researcher container + +## Security Notes + +- Never commit your `.env` file with real API keys +- The `.env` file is already in `.gitignore` +- Use environment-specific API keys for different deployments diff --git a/Dockerfile.web b/Dockerfile.web new file mode 100644 index 0000000..1b7e6a9 --- /dev/null +++ b/Dockerfile.web @@ -0,0 +1,41 @@ +FROM python:3.11-slim + +# Install system dependencies +RUN apt-get update && apt-get install -y \ + build-essential \ + git \ + curl \ + wget \ + && rm -rf /var/lib/apt/lists/* + +# Set working directory +WORKDIR /app + +# Copy pyproject.toml and install Python dependencies +COPY pyproject.toml . +RUN pip install --no-cache-dir -e . + +# Install additional dependencies for web GUI +RUN pip install --no-cache-dir gradio python-dotenv + +# Install Playwright browsers +RUN playwright install chromium +RUN playwright install-deps chromium + +# Copy the application code +COPY . . + +# Create necessary directories +RUN mkdir -p /app/workplace /app/cache /app/logs + +# Expose port +EXPOSE 7860 + +# Set environment variables +ENV PYTHONUNBUFFERED=1 +ENV GRADIO_SERVER_PORT=7860 +ENV GRADIO_SERVER_NAME=0.0.0.0 +ENV GRADIO_SERVER_ROOT_PATH="" + +# Start the web GUI +CMD ["python", "web_ai_researcher.py"] diff --git a/benchmark/final/diffu_flow/con_flowmatching.json b/benchmark/final/diffu_flow/con_flowmatching.json index fdffc57..7980441 100755 --- a/benchmark/final/diffu_flow/con_flowmatching.json +++ b/benchmark/final/diffu_flow/con_flowmatching.json @@ -1,91 +1,91 @@ -{ - "authors": [ - "Ling Yang", - "Zixiang Zhang", - "Zhilong Zhang", - "Xingchao Liu", - "Minkai Xu", - "Wentao Zhang", - "Chenlin Meng", - "Stefano Ermon", - "Bin Cui" - ], - "year": 2024, - "instance_id": "con_flowmatching", - "url": "http://arxiv.org/abs/2407.02398v1", - "abstract": "Flow matching (FM) is a general framework for defining probability paths via\nOrdinary Differential Equations (ODEs) to transform between noise and data\nsamples. Recent approaches attempt to straighten these flow trajectories to\ngenerate high-quality samples with fewer function evaluations, typically\nthrough iterative rectification methods or optimal transport solutions. In this\npaper, we introduce Consistency Flow Matching (Consistency-FM), a novel FM\nmethod that explicitly enforces self-consistency in the velocity field.\nConsistency-FM directly defines straight flows starting from different times to\nthe same endpoint, imposing constraints on their velocity values. Additionally,\nwe propose a multi-segment training approach for Consistency-FM to enhance\nexpressiveness, achieving a better trade-off between sampling quality and\nspeed. Preliminary experiments demonstrate that our Consistency-FM\nsignificantly improves training efficiency by converging 4.4x faster than\nconsistency models and 1.7x faster than rectified flow models while achieving\nbetter generation quality. Our code is available at:\nhttps://github.com/YangLing0818/consistency_flow_matching", - "venue": "arXiv.org", - "venue_source": "Semantic Scholar", - "venue_lookup_time": "2025-01-10T19:29:08.983822", - "citations": 5, - "topic": "selected", - "field": "selected", - "target": "Consistency Flow Matching: Defining Straight Flows with Velocity Consistency", - "source_papers": [ - { - "reference": "Flow matching for generative modeling", - "rank": 1, - "type": [ - "methodological" - ], - "justification": "This study provides the foundational methodology for flow matching, which is crucial to the development of the proposed approach. It introduces the key concept of training generative models based on implicit learning of vector fields via explicit conditional probability paths, which is the core of the proposed model.", - "usage": "The concept of flow matching was employed as the primary framework guiding the methodology in the development of the proposed model." - }, - { - "reference": "Consistency models", - "rank": 2, - "type": [ - "conceptual" - ], - "justification": "This work offers insights into consistency functions within generative models and introduces a one-step generation approach. It shapes the research direction by highlighting the need for balancing sampling quality and training efficiency, which is integrated into the proposed model framework.", - "usage": "Derived techniques from consistency models were adapted, focusing on velocity consistency rather than just noise-to-data mapping." - }, - { - "reference": "Rectified Flow", - "rank": 3, - "type": [ - "critical components" - ], - "justification": "Rectified Flow introduces a specific trajectory definition and method for straightening flows, which directly informs the components of the proposed model. Its ideas around rewiring trajectories were crucial for enhancing the expressiveness of the new method.", - "usage": "The paper\u2019s techniques were instrumental in shaping the multi-segment training approach used in the proposed model." - }, - { - "reference": "Denoising diffusion probabilistic models", - "rank": 4, - "type": [ - "conceptual" - ], - "justification": "This paper discusses the applications of diffusion models in generating high-quality samples, providing necessary context and background for understanding the role of generative models in image generation tasks addressed by the proposed model.", - "usage": "Contextual principles from diffusion processes inspired the enhancing algorithms for stability and fidelity in the proposed approach." - }, - { - "reference": "Optimal flow matching: Learning straight trajectories in just one step", - "rank": 5, - "type": [ - "methodological" - ], - "justification": "It presents an intuitive approach to learning optimal transport maps, which resonates well with the objectives of the proposed model in defining straight flows efficiently. Its contribution towards simplifying the training process is adapted in this paper.", - "usage": "The insights into one-step learning were pivotal in refining the time complexity associated with generating samples in the proposed approach." - }, - { - "reference": "Maximum likelihood training of score-based diffusion models", - "rank": 6, - "type": [ - "methodological" - ], - "justification": "This work focuses on training methods for score-based models which align with the mathematical underpinnings necessary for the velocity consistency approach taken in the proposed model. It serves as a methodological basis that parallels the improvements in model efficiency.", - "usage": "The training principles were integrated to establish the theoretical performance enhancements seen with the proposed model." - }, - { - "reference": "Flow Straight and Fast: Learning to Generate and Transfer Data with Rectified Flow", - "rank": 7, - "type": [ - "component" - ], - "justification": "Rectified Flow introduces a specific trajectory definition and method for straightening flows, which directly informs the components of the proposed model. Its ideas around rewiring trajectories were crucial for enhancing the expressiveness of the new method.", - "usage": "The proposed model is introduced as a generative modeling framework that connects data distribution and noise using straight paths." - } - ], - "task1": "The proposed model presented in this paper focuses on the task of generative modeling through the framework of Continuous Normalizing Flows (CNFs) to define straight flows between noise and data samples. To implement the core methodology, follow these steps:\n\n1. **Architecture**: Implement a neural network to parameterize the velocity field \\( v_{\\theta}(t, x) \\) that maps from noise to data distributions. Use architectures suitable for continuous functions, such as feedforward or convolutional networks. Each layer should have non-linear activation functions (e.g., ReLU, Tanh).\n\n2. **Loss Functions**: Utilize two main loss components:\n - **Velocity Consistency Loss**: This should be structured as:\n \\[\n L_{\\theta} = E_{t \\sim U} E_{x_t, x_{t+\\Delta t}} \\| f_{\\theta}(t, x_t) - f_{\\theta}(t+\\Delta t, x_{t+\\Delta t}) \\|^2_2 + \\alpha \\| v_{\\theta}(t, x_t) - v_{\\theta}(t+\\Delta t, x_{t+\\Delta t}) \\|^2_2\n \\]\n where \\( f_{\\theta}(t, x_t) = x_t + (1 - t) v_{\\theta}(t, x_t) \\). Choose \\( \\alpha \\) based on cross-validation performance.\n \n3. **Training Procedure**:\n - Sample \\( x_0 \\) from the noise distribution \\( p_0 \\).\n - For multiple time segments, define intervals and compute velocity fields iteratively.\n - Use the weights of the proposed approach in an exponential moving average to stabilize training.\n\n4. **Sampling Process**:\n - For single-step or multi-step generation, heuristically sample from the noise distribution and use the learned velocity field as follows: \n \\[\n x_{i/k} = x_{(i-1)/k} + \\frac{1}{k} v_{i\\theta}((i-1)/k, x_{(i-1)/k})\n \\]\n - Apply the Euler method for iterative updates:\n \\[\n x_{t + \\Delta t} = x_t + \\Delta t v_i(t, x_t)\n \\]\n where \\( t \\in [i/k, (i + 1)/k - \\Delta t] \\).\n\n5. **Key Implementation Details**:\n - Ensure the network is equipped with a suitable optimizer such as Adam with a learning rate around \\( 2 \\times 10^{-4} \\).\n - The batch size should be appropriately set (e.g., 512 for CIFAR-10).\n - Employ an ODE solver, suggested as Euler's method, during the training and sampling processes.\n - Maintain a uniform distribution for sampling time intervals \\( U \\).\n\n6. **Performance Considerations**: \n - Monitor convergence rates and empirically validate parameter configurations through experiments. Start with fewer segments and gradually increase to capture complex distributions better.\n - Adjust the decay rate for the EMA based on the stability of convergence (commonly around 0.999).\n - Analyze the trade-offs between sampling efficiency and sample quality, ensuring a balance during proposed model development.\n\nBy following these implementation instructions and maintaining attentiveness to hyperparameter tuning, researchers could replicate the core methodologies of this study effectively.", - "task2": "1. The primary task or problem domain the research tackles:\nThe research focuses on improving the process of generating high-quality samples from noise distributions through a framework known as Flow Matching (FM). Specifically, it addresses the challenge of defining straight flows in the context of continuous normalizing flows, which are used to model generative processes effectively.\n\n2. Current limitations in existing approaches that motivated this work:\nPrevious methods, while achieving impressive sample quality, often struggle with an effective trade-off between the quality of generated samples and computational efficiency. This is due to issues such as accumulated errors in iterative rectification methods and high computational costs associated with optimizing complex transport plans in each training batch.\n\n3. Core challenges the researchers aim to overcome:\nThe researchers aim to eliminate the reliance on iterative processes that can introduce errors, and reduce the complexity and computation associated with optimizing transport plans. They also seek to ensure that the generated flows in the sampling process remain straight and consistent over time, thus avoiding common pitfalls found in existing approaches.\n\n4. Key objectives and intended contributions:\nThe main objectives are to propose a new method, the proposed model, which enforces self-consistency in the velocity field of the flows, thereby allowing for the definition of straight flows more effectively. Additionally, the work aims to enhance model expressiveness through a multi-segment training approach. The intended contributions include theoretical foundations for the proposed method, along with practical improvements that result in faster training convergence and better sample quality compared to existing flow matching and consistency models. This study aims to provide significant advancements in the effectiveness of generative processes." +{ + "authors": [ + "Ling Yang", + "Zixiang Zhang", + "Zhilong Zhang", + "Xingchao Liu", + "Minkai Xu", + "Wentao Zhang", + "Chenlin Meng", + "Stefano Ermon", + "Bin Cui" + ], + "year": 2024, + "instance_id": "con_flowmatching", + "url": "http://arxiv.org/abs/2407.02398v1", + "abstract": "Flow matching (FM) is a general framework for defining probability paths via\nOrdinary Differential Equations (ODEs) to transform between noise and data\nsamples. Recent approaches attempt to straighten these flow trajectories to\ngenerate high-quality samples with fewer function evaluations, typically\nthrough iterative rectification methods or optimal transport solutions. In this\npaper, we introduce Consistency Flow Matching (Consistency-FM), a novel FM\nmethod that explicitly enforces self-consistency in the velocity field.\nConsistency-FM directly defines straight flows starting from different times to\nthe same endpoint, imposing constraints on their velocity values. Additionally,\nwe propose a multi-segment training approach for Consistency-FM to enhance\nexpressiveness, achieving a better trade-off between sampling quality and\nspeed. Preliminary experiments demonstrate that our Consistency-FM\nsignificantly improves training efficiency by converging 4.4x faster than\nconsistency models and 1.7x faster than rectified flow models while achieving\nbetter generation quality. Our code is available at:\nhttps://github.com/YangLing0818/consistency_flow_matching", + "venue": "arXiv.org", + "venue_source": "Semantic Scholar", + "venue_lookup_time": "2025-01-10T19:29:08.983822", + "citations": 5, + "topic": "selected", + "field": "selected", + "target": "Consistency Flow Matching: Defining Straight Flows with Velocity Consistency", + "source_papers": [ + { + "reference": "Flow matching for generative modeling", + "rank": 1, + "type": [ + "methodological" + ], + "justification": "This study provides the foundational methodology for flow matching, which is crucial to the development of the proposed approach. It introduces the key concept of training generative models based on implicit learning of vector fields via explicit conditional probability paths, which is the core of the proposed model.", + "usage": "The concept of flow matching was employed as the primary framework guiding the methodology in the development of the proposed model." + }, + { + "reference": "Consistency models", + "rank": 2, + "type": [ + "conceptual" + ], + "justification": "This work offers insights into consistency functions within generative models and introduces a one-step generation approach. It shapes the research direction by highlighting the need for balancing sampling quality and training efficiency, which is integrated into the proposed model framework.", + "usage": "Derived techniques from consistency models were adapted, focusing on velocity consistency rather than just noise-to-data mapping." + }, + { + "reference": "Rectified Flow", + "rank": 3, + "type": [ + "critical components" + ], + "justification": "Rectified Flow introduces a specific trajectory definition and method for straightening flows, which directly informs the components of the proposed model. Its ideas around rewiring trajectories were crucial for enhancing the expressiveness of the new method.", + "usage": "The paper\u2019s techniques were instrumental in shaping the multi-segment training approach used in the proposed model." + }, + { + "reference": "Denoising diffusion probabilistic models", + "rank": 4, + "type": [ + "conceptual" + ], + "justification": "This paper discusses the applications of diffusion models in generating high-quality samples, providing necessary context and background for understanding the role of generative models in image generation tasks addressed by the proposed model.", + "usage": "Contextual principles from diffusion processes inspired the enhancing algorithms for stability and fidelity in the proposed approach." + }, + { + "reference": "Optimal flow matching: Learning straight trajectories in just one step", + "rank": 5, + "type": [ + "methodological" + ], + "justification": "It presents an intuitive approach to learning optimal transport maps, which resonates well with the objectives of the proposed model in defining straight flows efficiently. Its contribution towards simplifying the training process is adapted in this paper.", + "usage": "The insights into one-step learning were pivotal in refining the time complexity associated with generating samples in the proposed approach." + }, + { + "reference": "Maximum likelihood training of score-based diffusion models", + "rank": 6, + "type": [ + "methodological" + ], + "justification": "This work focuses on training methods for score-based models which align with the mathematical underpinnings necessary for the velocity consistency approach taken in the proposed model. It serves as a methodological basis that parallels the improvements in model efficiency.", + "usage": "The training principles were integrated to establish the theoretical performance enhancements seen with the proposed model." + }, + { + "reference": "Flow Straight and Fast: Learning to Generate and Transfer Data with Rectified Flow", + "rank": 7, + "type": [ + "component" + ], + "justification": "Rectified Flow introduces a specific trajectory definition and method for straightening flows, which directly informs the components of the proposed model. Its ideas around rewiring trajectories were crucial for enhancing the expressiveness of the new method.", + "usage": "The proposed model is introduced as a generative modeling framework that connects data distribution and noise using straight paths." + } + ], + "task1": "The proposed model presented in this paper focuses on the task of generative modeling through the framework of Continuous Normalizing Flows (CNFs) to define straight flows between noise and data samples. To implement the core methodology, follow these steps:\n\n1. **Architecture**: Implement a neural network to parameterize the velocity field \\( v_{\\theta}(t, x) \\) that maps from noise to data distributions. Use architectures suitable for continuous functions, such as feedforward or convolutional networks. Each layer should have non-linear activation functions (e.g., ReLU, Tanh).\n\n2. **Loss Functions**: Utilize two main loss components:\n - **Velocity Consistency Loss**: This should be structured as:\n \\[\n L_{\\theta} = E_{t \\sim U} E_{x_t, x_{t+\\Delta t}} \\| f_{\\theta}(t, x_t) - f_{\\theta}(t+\\Delta t, x_{t+\\Delta t}) \\|^2_2 + \\alpha \\| v_{\\theta}(t, x_t) - v_{\\theta}(t+\\Delta t, x_{t+\\Delta t}) \\|^2_2\n \\]\n where \\( f_{\\theta}(t, x_t) = x_t + (1 - t) v_{\\theta}(t, x_t) \\). Choose \\( \\alpha \\) based on cross-validation performance.\n \n3. **Training Procedure**:\n - Sample \\( x_0 \\) from the noise distribution \\( p_0 \\).\n - For multiple time segments, define intervals and compute velocity fields iteratively.\n - Use the weights of the proposed approach in an exponential moving average to stabilize training.\n\n4. **Sampling Process**:\n - For single-step or multi-step generation, heuristically sample from the noise distribution and use the learned velocity field as follows: \n \\[\n x_{i/k} = x_{(i-1)/k} + \\frac{1}{k} v_{i\\theta}((i-1)/k, x_{(i-1)/k})\n \\]\n - Apply the Euler method for iterative updates:\n \\[\n x_{t + \\Delta t} = x_t + \\Delta t v_i(t, x_t)\n \\]\n where \\( t \\in [i/k, (i + 1)/k - \\Delta t] \\).\n\n5. **Key Implementation Details**:\n - Ensure the network is equipped with a suitable optimizer such as Adam with a learning rate around \\( 2 \\times 10^{-4} \\).\n - The batch size should be appropriately set (e.g., 512 for CIFAR-10).\n - Employ an ODE solver, suggested as Euler's method, during the training and sampling processes.\n - Maintain a uniform distribution for sampling time intervals \\( U \\).\n\n6. **Performance Considerations**: \n - Monitor convergence rates and empirically validate parameter configurations through experiments. Start with fewer segments and gradually increase to capture complex distributions better.\n - Adjust the decay rate for the EMA based on the stability of convergence (commonly around 0.999).\n - Analyze the trade-offs between sampling efficiency and sample quality, ensuring a balance during proposed model development.\n\nBy following these implementation instructions and maintaining attentiveness to hyperparameter tuning, researchers could replicate the core methodologies of this study effectively.", + "task2": "1. The primary task or problem domain the research tackles:\nThe research focuses on improving the process of generating high-quality samples from noise distributions through a framework known as Flow Matching (FM). Specifically, it addresses the challenge of defining straight flows in the context of continuous normalizing flows, which are used to model generative processes effectively.\n\n2. Current limitations in existing approaches that motivated this work:\nPrevious methods, while achieving impressive sample quality, often struggle with an effective trade-off between the quality of generated samples and computational efficiency. This is due to issues such as accumulated errors in iterative rectification methods and high computational costs associated with optimizing complex transport plans in each training batch.\n\n3. Core challenges the researchers aim to overcome:\nThe researchers aim to eliminate the reliance on iterative processes that can introduce errors, and reduce the complexity and computation associated with optimizing transport plans. They also seek to ensure that the generated flows in the sampling process remain straight and consistent over time, thus avoiding common pitfalls found in existing approaches.\n\n4. Key objectives and intended contributions:\nThe main objectives are to propose a new method, the proposed model, which enforces self-consistency in the velocity field of the flows, thereby allowing for the definition of straight flows more effectively. Additionally, the work aims to enhance model expressiveness through a multi-segment training approach. The intended contributions include theoretical foundations for the proposed method, along with practical improvements that result in faster training convergence and better sample quality compared to existing flow matching and consistency models. This study aims to provide significant advancements in the effectiveness of generative processes." } \ No newline at end of file diff --git a/benchmark/final/diffu_flow/i_rect_flow.json b/benchmark/final/diffu_flow/i_rect_flow.json index fa9d5f9..ca8e799 100755 --- a/benchmark/final/diffu_flow/i_rect_flow.json +++ b/benchmark/final/diffu_flow/i_rect_flow.json @@ -1,103 +1,103 @@ -{ - "authors": [ - "Sangyun Lee", - "Zinan Lin", - "Giulia Fanti" - ], - "year": 2024, - "instance_id": "i_rect_flow", - "url": "http://arxiv.org/abs/2405.20320v2", - "abstract": "Diffusion models have shown great promise for image and video generation, but\nsampling from state-of-the-art models requires expensive numerical integration\nof a generative ODE. One approach for tackling this problem is rectified flows,\nwhich iteratively learn smooth ODE paths that are less susceptible to\ntruncation error. However, rectified flows still require a relatively large\nnumber of function evaluations (NFEs). In this work, we propose improved\ntechniques for training rectified flows, allowing them to compete with\n\\emph{knowledge distillation} methods even in the low NFE setting. Our main\ninsight is that under realistic settings, a single iteration of the Reflow\nalgorithm for training rectified flows is sufficient to learn nearly straight\ntrajectories; hence, the current practice of using multiple Reflow iterations\nis unnecessary. We thus propose techniques to improve one-round training of\nrectified flows, including a U-shaped timestep distribution and LPIPS-Huber\npremetric. With these techniques, we improve the FID of the previous\n2-rectified flow by up to 75\\% in the 1 NFE setting on CIFAR-10. On ImageNet\n64$\\times$64, our improved rectified flow outperforms the state-of-the-art\ndistillation methods such as consistency distillation and progressive\ndistillation in both one-step and two-step settings and rivals the performance\nof improved consistency training (iCT) in FID. Code is available at\nhttps://github.com/sangyun884/rfpp.", - "venue": "arXiv.org", - "venue_source": "Semantic Scholar", - "venue_lookup_time": "2025-01-10T19:29:47.497922", - "citations": 7, - "topic": "selected", - "field": "selected", - "target": "Improving the Training of Rectified Flows", - "source_papers": [ - { - "reference": "Denoising diffusion probabilistic models", - "rank": 1, - "type": [ - "conceptual" - ], - "justification": "This study provided foundational insights into the application of diffusion models for generative tasks, asserting their effectiveness and setting benchmarks for low NFE (Number of Function Evaluations). The concepts established therein were crucial for the work on the proposed model as they leverage principles of diffusion for improved sampling.", - "usage": "The proposed methods and efficiencies in diffusion sampling directly informed the evolution of techniques in the proposed model, particularly regarding low NFE performance." - }, - { - "reference": "Rectified flow: A marginal preserving approach to optimal transport", - "rank": 2, - "type": [ - "methodological" - ], - "justification": "This work forms the methodological foundation for rectified flows, serving as the core reference and underpinning the proposed enhancements in this paper. It directly influenced the algorithmic structure used to attain smooth ODE paths with minimized truncation errors.", - "usage": "Utilized as the primary framework in developing improved training methods for the proposed model." - }, - { - "reference": "Improved techniques for training consistency models", - "rank": 3, - "type": [ - "conceptual" - ], - "justification": "This study presented pivotal critiques on existing methods, specifically regarding the efficiency of training and the necessity of iterations. Its insights shaped the current study\u2019s assertion that fewer training rounds are needed for competitive performance.", - "usage": "Informed the argument against multiple Reflow iterations, aligning the current research with streamlining training efforts." - }, - { - "reference": "Fast sampling of diffusion models with exponential integrator", - "rank": 4, - "type": [ - "component" - ], - "justification": "This work introduced methods for efficient sampling in diffusion models, which set constraints and standards that the current enhancements for the proposed model aimed to meet or exceed.", - "usage": "Served as a comparative study to validate the efficiency of the proposed model against established methods in sampling tasks." - }, - { - "reference": "Neural ordinary differential equations", - "rank": 5, - "type": [ - "methodological" - ], - "justification": "This foundational study on neural ODEs provided insights applicable to the smoothing effects and learning capabilities of the proposed model, integrating ODE principles within a neural framework.", - "usage": "Guided the understanding of how rectified flows can leverage ODE characteristics to enhance generative capabilities." - }, - { - "reference": "Progressive distillation for fast sampling of diffusion models", - "rank": 6, - "type": [ - "component" - ], - "justification": "This study explained distillation approaches that informed the training efficiency discussions, providing context for the competitive analysis of the proposed model in low NFE settings.", - "usage": "Informed the juxtaposition of rectified flows against distillation techniques in assessing performance improvements." - }, - { - "reference": "Score-based generative modeling through stochastic differential equations", - "rank": 7, - "type": [ - "conceptual" - ], - "justification": "Conceptually advanced the field of generative modeling, highlighting the capabilities of SDEs in this context. Its insights into gradient estimation were crucial for contextualizing improvements made in the proposed model.", - "usage": "Helped ground the theoretical and practical advancements introduced in this paper." - }, - { - "reference": "Flow Straight and Fast: Learning to Generate and Transfer Data with Rectified Flow", - "rank": 8, - "type": [ - "component" - ], - "justification": "Rectified Flow introduces a specific trajectory definition and method for straightening flows, which directly informs the components of the proposed model. Its ideas around rewiring trajectories were crucial for enhancing the expressiveness of the new method.", - "usage": "The proposed model is introduced as a generative modeling framework that connects data distribution and noise using straight paths." - }, - { - "reference": "Consistency models", - "rank": 9, - "type": [ - "conceptual" - ], - "justification": "The framework discussed here critically influences knowledge distillation methodologies. Its focus on model consistency provided a necessary backdrop for the competitive performance discussions around the proposed model.", - "usage": "Set the stage for comparative effectiveness claims in the realm of generative models." - } - ], - "task1": "1. **Task**: The primary task addressed by the methodology is generating high-quality images using a generative model optimized for low function evaluation settings.\n\n2. **Core Techniques/Algorithms**:\n - The method employs a generative model based on rectified flows trained using the Reflow algorithm.\n - Key innovations include a U-shaped timestep distribution to focus training on challenging intervals, and the use of the LPIPS-Huber metric as a loss function to improve image quality.\n\n3. **Purpose and Function of Major Components**:\n - **Rectified Flows**: These are used to smoothly transition between data distributions through learned ODEs, helping to reduce truncation errors.\n - **Reflow Algorithm**: This recursive approach improves the quality of generated output by iteratively refining the trajectory of the generative model based on pre-trained flows.\n - **U-shaped Timestep Distribution**: This distribution emphasizes training on timesteps where the proposed model performance is expected to be lower, thus improving robustness.\n - **LPIPS-Huber Loss**: This loss function focuses on perceptual similarity, enhancing the perceptual quality of generated images compared to traditional loss metrics.\n\n4. **Implementation Details**:\n - **Rectified Flow Training**:\n - **Key Parameters**: Set the learning rate to 0.0002 for CIFAR-10; use a batch size of 512.\n - **Input/Output Specifications**: The proposed model expects pairs of images (from the target distribution) and their associated noise, outputting new image samples.\n - **Reflow Procedure**:\n - **Iterations**: Instead of performing multiple refinement iterations, use a single Reflow application based on the proposed techniques.\n - Generate synthetic (x, z) data pairs from pre-trained models before training the rectified flow. \n - **Timestep Distribution**: The U-shaped distribution can be implemented as:\n - \\( p_t(u) \\propto \\exp(au) + \\exp(-au) \\) for \\( u \\in [0, 1] \\), with \\( a = 4 \\).\n - **Loss Functions**: Implement new loss metrics, such as the Pseudo-Huber loss and LPIPS loss, according to the given forms in this paper.\n\n5. **Step-by-Step Interaction**:\n - Begin by initializing the proposed model using a pre-trained diffusion model.\n - Generate an initial set of (x, z) pairs using the pre-trained model.\n - Train the rectified flow using these pairs with the U-shaped timestep distribution.\n - Optimize the proposed model using the LPIPS-Huber loss to enhance perceptual quality.\n - Use the Reflow procedure to refine the model based on its output quality after the first round of training.\n\n6. **Critical Implementation Details**:\n - Ensure that the learning rate is appropriately set, and consider adjusting the batch size for optimal convergence rates.\n - Pay close attention to the initialization step with the pre-trained diffusion models, as this can significantly affect downstream model performance.\n - Be prepared for potential computational overhead due to the preprocessing steps of generating synthetic pairs, but this cost is often offset by gains in output quality.\n - Use the state-of-the-art Adam optimizer with an EMA (exponential moving average) strategy with a decay rate of \\(0.9999\\) to stabilize training.", - "task2": "1. The primary task or problem domain the research tackles is the efficient sampling from diffusion models, specifically through the enhancement of rectified flow techniques to facilitate high-quality image and video generation while minimizing computational costs.\n\n2. Current limitations in existing approaches, such as knowledge distillation methods and previous rectified flow implementations, include the necessity of multiple iterations to achieve satisfactory performance in generating samples, leading to increased computational expense and potential degradation of sample quality.\n\n3. Core challenges the researchers aim to overcome involve reducing the number of function evaluations (NFEs) required for effective sampling and addressing the inefficiencies that arise from traditional training techniques in rectified flow models, which often necessitate extensive computational resources and time.\n\n4. Key objectives and intended contributions include introducing improved training techniques for rectified flows that allow them to effectively compete with state-of-the-art distillation methods, particularly in scenarios with low NFEs. The researchers aim to demonstrate that the proposed model can achieve significant performance improvements without the need for excessive iterations, thereby streamlining the training and sampling processes. This study also highlights the advantages of the proposed approach in overcoming existing limitations in the field." +{ + "authors": [ + "Sangyun Lee", + "Zinan Lin", + "Giulia Fanti" + ], + "year": 2024, + "instance_id": "i_rect_flow", + "url": "http://arxiv.org/abs/2405.20320v2", + "abstract": "Diffusion models have shown great promise for image and video generation, but\nsampling from state-of-the-art models requires expensive numerical integration\nof a generative ODE. One approach for tackling this problem is rectified flows,\nwhich iteratively learn smooth ODE paths that are less susceptible to\ntruncation error. However, rectified flows still require a relatively large\nnumber of function evaluations (NFEs). In this work, we propose improved\ntechniques for training rectified flows, allowing them to compete with\n\\emph{knowledge distillation} methods even in the low NFE setting. Our main\ninsight is that under realistic settings, a single iteration of the Reflow\nalgorithm for training rectified flows is sufficient to learn nearly straight\ntrajectories; hence, the current practice of using multiple Reflow iterations\nis unnecessary. We thus propose techniques to improve one-round training of\nrectified flows, including a U-shaped timestep distribution and LPIPS-Huber\npremetric. With these techniques, we improve the FID of the previous\n2-rectified flow by up to 75\\% in the 1 NFE setting on CIFAR-10. On ImageNet\n64$\\times$64, our improved rectified flow outperforms the state-of-the-art\ndistillation methods such as consistency distillation and progressive\ndistillation in both one-step and two-step settings and rivals the performance\nof improved consistency training (iCT) in FID. Code is available at\nhttps://github.com/sangyun884/rfpp.", + "venue": "arXiv.org", + "venue_source": "Semantic Scholar", + "venue_lookup_time": "2025-01-10T19:29:47.497922", + "citations": 7, + "topic": "selected", + "field": "selected", + "target": "Improving the Training of Rectified Flows", + "source_papers": [ + { + "reference": "Denoising diffusion probabilistic models", + "rank": 1, + "type": [ + "conceptual" + ], + "justification": "This study provided foundational insights into the application of diffusion models for generative tasks, asserting their effectiveness and setting benchmarks for low NFE (Number of Function Evaluations). The concepts established therein were crucial for the work on the proposed model as they leverage principles of diffusion for improved sampling.", + "usage": "The proposed methods and efficiencies in diffusion sampling directly informed the evolution of techniques in the proposed model, particularly regarding low NFE performance." + }, + { + "reference": "Rectified flow: A marginal preserving approach to optimal transport", + "rank": 2, + "type": [ + "methodological" + ], + "justification": "This work forms the methodological foundation for rectified flows, serving as the core reference and underpinning the proposed enhancements in this paper. It directly influenced the algorithmic structure used to attain smooth ODE paths with minimized truncation errors.", + "usage": "Utilized as the primary framework in developing improved training methods for the proposed model." + }, + { + "reference": "Improved techniques for training consistency models", + "rank": 3, + "type": [ + "conceptual" + ], + "justification": "This study presented pivotal critiques on existing methods, specifically regarding the efficiency of training and the necessity of iterations. Its insights shaped the current study\u2019s assertion that fewer training rounds are needed for competitive performance.", + "usage": "Informed the argument against multiple Reflow iterations, aligning the current research with streamlining training efforts." + }, + { + "reference": "Fast sampling of diffusion models with exponential integrator", + "rank": 4, + "type": [ + "component" + ], + "justification": "This work introduced methods for efficient sampling in diffusion models, which set constraints and standards that the current enhancements for the proposed model aimed to meet or exceed.", + "usage": "Served as a comparative study to validate the efficiency of the proposed model against established methods in sampling tasks." + }, + { + "reference": "Neural ordinary differential equations", + "rank": 5, + "type": [ + "methodological" + ], + "justification": "This foundational study on neural ODEs provided insights applicable to the smoothing effects and learning capabilities of the proposed model, integrating ODE principles within a neural framework.", + "usage": "Guided the understanding of how rectified flows can leverage ODE characteristics to enhance generative capabilities." + }, + { + "reference": "Progressive distillation for fast sampling of diffusion models", + "rank": 6, + "type": [ + "component" + ], + "justification": "This study explained distillation approaches that informed the training efficiency discussions, providing context for the competitive analysis of the proposed model in low NFE settings.", + "usage": "Informed the juxtaposition of rectified flows against distillation techniques in assessing performance improvements." + }, + { + "reference": "Score-based generative modeling through stochastic differential equations", + "rank": 7, + "type": [ + "conceptual" + ], + "justification": "Conceptually advanced the field of generative modeling, highlighting the capabilities of SDEs in this context. Its insights into gradient estimation were crucial for contextualizing improvements made in the proposed model.", + "usage": "Helped ground the theoretical and practical advancements introduced in this paper." + }, + { + "reference": "Flow Straight and Fast: Learning to Generate and Transfer Data with Rectified Flow", + "rank": 8, + "type": [ + "component" + ], + "justification": "Rectified Flow introduces a specific trajectory definition and method for straightening flows, which directly informs the components of the proposed model. Its ideas around rewiring trajectories were crucial for enhancing the expressiveness of the new method.", + "usage": "The proposed model is introduced as a generative modeling framework that connects data distribution and noise using straight paths." + }, + { + "reference": "Consistency models", + "rank": 9, + "type": [ + "conceptual" + ], + "justification": "The framework discussed here critically influences knowledge distillation methodologies. Its focus on model consistency provided a necessary backdrop for the competitive performance discussions around the proposed model.", + "usage": "Set the stage for comparative effectiveness claims in the realm of generative models." + } + ], + "task1": "1. **Task**: The primary task addressed by the methodology is generating high-quality images using a generative model optimized for low function evaluation settings.\n\n2. **Core Techniques/Algorithms**:\n - The method employs a generative model based on rectified flows trained using the Reflow algorithm.\n - Key innovations include a U-shaped timestep distribution to focus training on challenging intervals, and the use of the LPIPS-Huber metric as a loss function to improve image quality.\n\n3. **Purpose and Function of Major Components**:\n - **Rectified Flows**: These are used to smoothly transition between data distributions through learned ODEs, helping to reduce truncation errors.\n - **Reflow Algorithm**: This recursive approach improves the quality of generated output by iteratively refining the trajectory of the generative model based on pre-trained flows.\n - **U-shaped Timestep Distribution**: This distribution emphasizes training on timesteps where the proposed model performance is expected to be lower, thus improving robustness.\n - **LPIPS-Huber Loss**: This loss function focuses on perceptual similarity, enhancing the perceptual quality of generated images compared to traditional loss metrics.\n\n4. **Implementation Details**:\n - **Rectified Flow Training**:\n - **Key Parameters**: Set the learning rate to 0.0002 for CIFAR-10; use a batch size of 512.\n - **Input/Output Specifications**: The proposed model expects pairs of images (from the target distribution) and their associated noise, outputting new image samples.\n - **Reflow Procedure**:\n - **Iterations**: Instead of performing multiple refinement iterations, use a single Reflow application based on the proposed techniques.\n - Generate synthetic (x, z) data pairs from pre-trained models before training the rectified flow. \n - **Timestep Distribution**: The U-shaped distribution can be implemented as:\n - \\( p_t(u) \\propto \\exp(au) + \\exp(-au) \\) for \\( u \\in [0, 1] \\), with \\( a = 4 \\).\n - **Loss Functions**: Implement new loss metrics, such as the Pseudo-Huber loss and LPIPS loss, according to the given forms in this paper.\n\n5. **Step-by-Step Interaction**:\n - Begin by initializing the proposed model using a pre-trained diffusion model.\n - Generate an initial set of (x, z) pairs using the pre-trained model.\n - Train the rectified flow using these pairs with the U-shaped timestep distribution.\n - Optimize the proposed model using the LPIPS-Huber loss to enhance perceptual quality.\n - Use the Reflow procedure to refine the model based on its output quality after the first round of training.\n\n6. **Critical Implementation Details**:\n - Ensure that the learning rate is appropriately set, and consider adjusting the batch size for optimal convergence rates.\n - Pay close attention to the initialization step with the pre-trained diffusion models, as this can significantly affect downstream model performance.\n - Be prepared for potential computational overhead due to the preprocessing steps of generating synthetic pairs, but this cost is often offset by gains in output quality.\n - Use the state-of-the-art Adam optimizer with an EMA (exponential moving average) strategy with a decay rate of \\(0.9999\\) to stabilize training.", + "task2": "1. The primary task or problem domain the research tackles is the efficient sampling from diffusion models, specifically through the enhancement of rectified flow techniques to facilitate high-quality image and video generation while minimizing computational costs.\n\n2. Current limitations in existing approaches, such as knowledge distillation methods and previous rectified flow implementations, include the necessity of multiple iterations to achieve satisfactory performance in generating samples, leading to increased computational expense and potential degradation of sample quality.\n\n3. Core challenges the researchers aim to overcome involve reducing the number of function evaluations (NFEs) required for effective sampling and addressing the inefficiencies that arise from traditional training techniques in rectified flow models, which often necessitate extensive computational resources and time.\n\n4. Key objectives and intended contributions include introducing improved training techniques for rectified flows that allow them to effectively compete with state-of-the-art distillation methods, particularly in scenarios with low NFEs. The researchers aim to demonstrate that the proposed model can achieve significant performance improvements without the need for excessive iterations, thereby streamlining the training and sampling processes. This study also highlights the advantages of the proposed approach in overcoming existing limitations in the field." } \ No newline at end of file diff --git a/benchmark/final/diffu_flow/immiscible_diffusion.json b/benchmark/final/diffu_flow/immiscible_diffusion.json index 0186a74..f6b65f4 100755 --- a/benchmark/final/diffu_flow/immiscible_diffusion.json +++ b/benchmark/final/diffu_flow/immiscible_diffusion.json @@ -1,79 +1,79 @@ -{ - "authors": [ - "Yiheng Li", - "Heyang Jiang", - "Akio Kodaira", - "Masayoshi Tomizuka", - "Kurt Keutzer", - "Chenfeng Xu" - ], - "instance_id": "immiscible_diffusion", - "year": 2024, - "url": "http://arxiv.org/abs/2406.12303v2", - "abstract": "In this paper, we point out that suboptimal noise-data mapping leads to slow\ntraining of diffusion models. During diffusion training, current methods\ndiffuse each image across the entire noise space, resulting in a mixture of all\nimages at every point in the noise layer. We emphasize that this random mixture\nof noise-data mapping complicates the optimization of the denoising function in\ndiffusion models. Drawing inspiration from the immiscibility phenomenon in\nphysics, we propose Immiscible Diffusion, a simple and effective method to\nimprove the random mixture of noise-data mapping. In physics, miscibility can\nvary according to various intermolecular forces. Thus, immiscibility means that\nthe mixing of molecular sources is distinguishable. Inspired by this concept,\nwe propose an assignment-then-diffusion training strategy to achieve Immiscible\nDiffusion. As one example, prior to diffusing the image data into noise, we\nassign diffusion target noise for the image data by minimizing the total\nimage-noise pair distance in a mini-batch. The assignment functions analogously\nto external forces to expel the diffuse-able areas of images, thus mitigating\nthe inherent difficulties in diffusion training. Our approach is remarkably\nsimple, requiring only one line of code to restrict the diffuse-able area for\neach image while preserving the Gaussian distribution of noise. In this way,\neach image is preferably projected to nearby noise. Experiments demonstrate\nthat our method can achieve up to 3x faster training for unconditional\nConsistency Models on the CIFAR dataset, as well as for DDIM and Stable\nDiffusion on CelebA and ImageNet dataset, and in class-conditional training and\nfine-tuning. In addition, we conducted a thorough analysis that sheds light on\nhow it improves diffusion training speed while improving fidelity. The code is\navailable at https://yhli123.github.io/immiscible-diffusion", - "venue": "arXiv.org", - "venue_source": "Semantic Scholar", - "venue_lookup_time": "2025-01-10T19:29:31.614634", - "citations": 2, - "topic": "selected", - "field": "selected", - "target": "Immiscible Diffusion: Accelerating Diffusion Training with Noise Assignment", - "source_papers": [ - { - "reference": "Denoising diffusion probabilistic models", - "rank": 1, - "type": [ - "methodological" - ], - "justification": "This study provided the foundational understanding of denoising processes, which is crucial for developing strategies to improve diffusion training efficiency. Its methodology shaped the core techniques used in our research.", - "usage": "Used as a foundational reference for the denoising processes and model architecture." - }, - { - "reference": "Generative adversarial nets", - "rank": 2, - "type": [ - "methodological" - ], - "justification": "As an influential work in generative modeling, this study's concepts inspired the architecture and generative capabilities of the proposed model, particularly in creating a robust enhancement for diffusion models.", - "usage": "Referenced for underlying generative capabilities which influenced our proposed model design." - }, - { - "reference": "Image-noise Optimal Transport in Generative Models", - "rank": 3, - "type": [ - "methodological" - ], - "justification": "This study introduced the concept of optimal transport in generative modeling, which was integral in positing immiscibility as a core component of the proposed approach for improving training efficiency.", - "usage": "Served as a framework for understanding and applying transport concepts to the proposed model." - }, - { - "reference": "Improving consistency models with generator-induced coupling", - "rank": 4, - "type": [ - "component" - ], - "justification": "This work provided insights into generator behaviors that were crucial for enhancing the proposed model's efficacy, particularly in the integration of adjustments to generators during training.", - "usage": "Detailed analysis of generator behaviors informed our component enhancements." - }, - { - "reference": "Conditional wasser- stein distances with applications in bayesian ot flow matching", - "rank": 5, - "type": [ - "component" - ], - "justification": "This study's principles regarding distance evaluations were adapted in our methods for improving how image-noise mapping was assessed, directly impacting our training methodology.", - "usage": "Informed the adjustments made in our distance evaluation framework." - }, - { - "reference": "Imagenet: A large-scale hierarchical image database", - "rank": 6, - "type": [ - "conceptual" - ], - "justification": "As a leading benchmark in image classification and generation, this study's dataset was utilized to compare our results effectively, cementing our findings within established standards.", - "usage": "Utilized CIFAR-10 as a benchmark derived from this foundational work." - } - ], - "task1": "To implement the core methodology of this paper, follow these detailed technical instructions:\n\n1. **Task**: The proposed approach targets accelerating the training of diffusion models by improving the assignment of noise to images to enhance the image quality during both unconditional and conditional generation tasks.\n\n2. **Core Techniques/Algorithms**: The methodology employs a batch-wise linear assignment algorithm, specifically the Hungarian method, to optimize noise-image pairing based on L2 distance. Additionally, it incorporates quantization to reduce the computational overhead associated with high-dimensional data during the assignment step.\n\n3. **Major Technical Components**:\n - **Batch-wise Linear Assignment**: Matches noise and image batches to minimize the total distance, facilitating efficient training by keeping image-noise mappings distinguishable.\n - **Quantization**: Reduces the precision of input representations to lower 32-bit floating point formats (to 16-bit), without compromising the overall Gaussian distribution of noise.\n\n4. **Implementation Details**:\n - **Batch-wise Linear Assignment**:\n - **Key Parameters**: Use L2 distance as the metric for assignment.\n - **Input Specifications**: \n - `x_b`: Batch of images.\n - `n_rand_b`: Batch of random noise.\n - `t_b`: Sampled diffusion steps.\n - `\u03b1`: Diffusion schedule.\n - **Output Specification**: The output is the batch of diffused images, `x_t,b`.\n - **Constraints/Requirements**: Requires compatible dimensions between image and noise batches for proper assignment.\n\n - **Quantization**:\n - Apply quantization to reduce data size before performing assignments to ensure efficiency in memory usage.\n - Ensure that the quantization does not interfere with the network's ability to learn from the assigned noise.\n\n5. **Step-by-Step Description**:\n 1. Prepare a batch of images and a corresponding batch of random Gaussian noise.\n 2. Convert the image and noise data to a lower precision (fp16).\n 3. Compute the pairwise L2 distances between the image and noise batches.\n 4. Execute the linear assignment using an optimization function (e.g., from SciPy) to obtain the optimal pairing of images to noise.\n 5. Using the assignment matrix, modify the input noise according to the matches derived in the assignment step.\n 6. Pass the reassigned noise to the diffusion process to generate the output images.\n 7. Optionally, repeat the process for multiple training iterations or modify the input data accordingly.\n\n6. **Critical Implementation Details**: \n - Ensure that the image and noise assignment can run efficiently with large batch sizes; this study benchmarks a high batch size (e.g., 1024) and notes that the assignment operation takes about 22.8 ms. Utilizing quantization significantly impacts training speed by reducing memory and computational requirements.\n - Monitor the performance of the proposed model during training to validate that the mapping retains a Gaussian distribution while improving the quality of generated images through the assignment of nearby noise points.\n\nFollowing these steps will allow researchers to implement the core methodology of the proposed approach effectively.", - "task2": "1. The primary task or problem domain this research tackles is enhancing the training efficiency of diffusion models for image generation. This paper emphasizes improving the speed and effectiveness of the training process, which currently remains a significant bottleneck in the iterative development of diffusion-based generative AI.\n\n2. Current limitations in existing approaches include the suboptimal noise-data mapping during training, where each image is diffused across the entire noise space. This results in a mixture of images at every point in the noise layer, complicating the optimization of the denoising function and leading to slow convergence rates that require extensive computational resources.\n\n3. The core challenges the researchers aim to overcome are the inefficiencies associated with the training of diffusion models due to the miscibility issue in noisy diffusion steps. This study seeks to address how to make the mixing of image data and noise more distinguishable to facilitate better optimization during the denoising process.\n\n4. Key objectives and intended contributions involve proposing a novel training strategy inspired by the proposed model from physics. This method aims to minimize the image-noise pair distance within mini-batches, thereby enhancing the distinctiveness of data mappings. By doing so, the researchers intend to significantly progress the speed of training for various diffusion models across datasets and tasks while improving overall image quality, all while maintaining a simple implementation that only necessitates minimal adjustments in the training code." +{ + "authors": [ + "Yiheng Li", + "Heyang Jiang", + "Akio Kodaira", + "Masayoshi Tomizuka", + "Kurt Keutzer", + "Chenfeng Xu" + ], + "instance_id": "immiscible_diffusion", + "year": 2024, + "url": "http://arxiv.org/abs/2406.12303v2", + "abstract": "In this paper, we point out that suboptimal noise-data mapping leads to slow\ntraining of diffusion models. During diffusion training, current methods\ndiffuse each image across the entire noise space, resulting in a mixture of all\nimages at every point in the noise layer. We emphasize that this random mixture\nof noise-data mapping complicates the optimization of the denoising function in\ndiffusion models. Drawing inspiration from the immiscibility phenomenon in\nphysics, we propose Immiscible Diffusion, a simple and effective method to\nimprove the random mixture of noise-data mapping. In physics, miscibility can\nvary according to various intermolecular forces. Thus, immiscibility means that\nthe mixing of molecular sources is distinguishable. Inspired by this concept,\nwe propose an assignment-then-diffusion training strategy to achieve Immiscible\nDiffusion. As one example, prior to diffusing the image data into noise, we\nassign diffusion target noise for the image data by minimizing the total\nimage-noise pair distance in a mini-batch. The assignment functions analogously\nto external forces to expel the diffuse-able areas of images, thus mitigating\nthe inherent difficulties in diffusion training. Our approach is remarkably\nsimple, requiring only one line of code to restrict the diffuse-able area for\neach image while preserving the Gaussian distribution of noise. In this way,\neach image is preferably projected to nearby noise. Experiments demonstrate\nthat our method can achieve up to 3x faster training for unconditional\nConsistency Models on the CIFAR dataset, as well as for DDIM and Stable\nDiffusion on CelebA and ImageNet dataset, and in class-conditional training and\nfine-tuning. In addition, we conducted a thorough analysis that sheds light on\nhow it improves diffusion training speed while improving fidelity. The code is\navailable at https://yhli123.github.io/immiscible-diffusion", + "venue": "arXiv.org", + "venue_source": "Semantic Scholar", + "venue_lookup_time": "2025-01-10T19:29:31.614634", + "citations": 2, + "topic": "selected", + "field": "selected", + "target": "Immiscible Diffusion: Accelerating Diffusion Training with Noise Assignment", + "source_papers": [ + { + "reference": "Denoising diffusion probabilistic models", + "rank": 1, + "type": [ + "methodological" + ], + "justification": "This study provided the foundational understanding of denoising processes, which is crucial for developing strategies to improve diffusion training efficiency. Its methodology shaped the core techniques used in our research.", + "usage": "Used as a foundational reference for the denoising processes and model architecture." + }, + { + "reference": "Generative adversarial nets", + "rank": 2, + "type": [ + "methodological" + ], + "justification": "As an influential work in generative modeling, this study's concepts inspired the architecture and generative capabilities of the proposed model, particularly in creating a robust enhancement for diffusion models.", + "usage": "Referenced for underlying generative capabilities which influenced our proposed model design." + }, + { + "reference": "Image-noise Optimal Transport in Generative Models", + "rank": 3, + "type": [ + "methodological" + ], + "justification": "This study introduced the concept of optimal transport in generative modeling, which was integral in positing immiscibility as a core component of the proposed approach for improving training efficiency.", + "usage": "Served as a framework for understanding and applying transport concepts to the proposed model." + }, + { + "reference": "Improving consistency models with generator-induced coupling", + "rank": 4, + "type": [ + "component" + ], + "justification": "This work provided insights into generator behaviors that were crucial for enhancing the proposed model's efficacy, particularly in the integration of adjustments to generators during training.", + "usage": "Detailed analysis of generator behaviors informed our component enhancements." + }, + { + "reference": "Conditional wasser- stein distances with applications in bayesian ot flow matching", + "rank": 5, + "type": [ + "component" + ], + "justification": "This study's principles regarding distance evaluations were adapted in our methods for improving how image-noise mapping was assessed, directly impacting our training methodology.", + "usage": "Informed the adjustments made in our distance evaluation framework." + }, + { + "reference": "Imagenet: A large-scale hierarchical image database", + "rank": 6, + "type": [ + "conceptual" + ], + "justification": "As a leading benchmark in image classification and generation, this study's dataset was utilized to compare our results effectively, cementing our findings within established standards.", + "usage": "Utilized CIFAR-10 as a benchmark derived from this foundational work." + } + ], + "task1": "To implement the core methodology of this paper, follow these detailed technical instructions:\n\n1. **Task**: The proposed approach targets accelerating the training of diffusion models by improving the assignment of noise to images to enhance the image quality during both unconditional and conditional generation tasks.\n\n2. **Core Techniques/Algorithms**: The methodology employs a batch-wise linear assignment algorithm, specifically the Hungarian method, to optimize noise-image pairing based on L2 distance. Additionally, it incorporates quantization to reduce the computational overhead associated with high-dimensional data during the assignment step.\n\n3. **Major Technical Components**:\n - **Batch-wise Linear Assignment**: Matches noise and image batches to minimize the total distance, facilitating efficient training by keeping image-noise mappings distinguishable.\n - **Quantization**: Reduces the precision of input representations to lower 32-bit floating point formats (to 16-bit), without compromising the overall Gaussian distribution of noise.\n\n4. **Implementation Details**:\n - **Batch-wise Linear Assignment**:\n - **Key Parameters**: Use L2 distance as the metric for assignment.\n - **Input Specifications**: \n - `x_b`: Batch of images.\n - `n_rand_b`: Batch of random noise.\n - `t_b`: Sampled diffusion steps.\n - `\u03b1`: Diffusion schedule.\n - **Output Specification**: The output is the batch of diffused images, `x_t,b`.\n - **Constraints/Requirements**: Requires compatible dimensions between image and noise batches for proper assignment.\n\n - **Quantization**:\n - Apply quantization to reduce data size before performing assignments to ensure efficiency in memory usage.\n - Ensure that the quantization does not interfere with the network's ability to learn from the assigned noise.\n\n5. **Step-by-Step Description**:\n 1. Prepare a batch of images and a corresponding batch of random Gaussian noise.\n 2. Convert the image and noise data to a lower precision (fp16).\n 3. Compute the pairwise L2 distances between the image and noise batches.\n 4. Execute the linear assignment using an optimization function (e.g., from SciPy) to obtain the optimal pairing of images to noise.\n 5. Using the assignment matrix, modify the input noise according to the matches derived in the assignment step.\n 6. Pass the reassigned noise to the diffusion process to generate the output images.\n 7. Optionally, repeat the process for multiple training iterations or modify the input data accordingly.\n\n6. **Critical Implementation Details**: \n - Ensure that the image and noise assignment can run efficiently with large batch sizes; this study benchmarks a high batch size (e.g., 1024) and notes that the assignment operation takes about 22.8 ms. Utilizing quantization significantly impacts training speed by reducing memory and computational requirements.\n - Monitor the performance of the proposed model during training to validate that the mapping retains a Gaussian distribution while improving the quality of generated images through the assignment of nearby noise points.\n\nFollowing these steps will allow researchers to implement the core methodology of the proposed approach effectively.", + "task2": "1. The primary task or problem domain this research tackles is enhancing the training efficiency of diffusion models for image generation. This paper emphasizes improving the speed and effectiveness of the training process, which currently remains a significant bottleneck in the iterative development of diffusion-based generative AI.\n\n2. Current limitations in existing approaches include the suboptimal noise-data mapping during training, where each image is diffused across the entire noise space. This results in a mixture of images at every point in the noise layer, complicating the optimization of the denoising function and leading to slow convergence rates that require extensive computational resources.\n\n3. The core challenges the researchers aim to overcome are the inefficiencies associated with the training of diffusion models due to the miscibility issue in noisy diffusion steps. This study seeks to address how to make the mixing of image data and noise more distinguishable to facilitate better optimization during the denoising process.\n\n4. Key objectives and intended contributions involve proposing a novel training strategy inspired by the proposed model from physics. This method aims to minimize the image-noise pair distance within mini-batches, thereby enhancing the distinctiveness of data mappings. By doing so, the researchers intend to significantly progress the speed of training for various diffusion models across datasets and tasks while improving overall image quality, all while maintaining a simple implementation that only necessitates minimal adjustments in the training code." } \ No newline at end of file diff --git a/benchmark/final/diffu_flow/mmdit.json b/benchmark/final/diffu_flow/mmdit.json index b13cbb3..b98ba93 100755 --- a/benchmark/final/diffu_flow/mmdit.json +++ b/benchmark/final/diffu_flow/mmdit.json @@ -1,117 +1,117 @@ -{ - "authors": [ - "Patrick Esser", - "Sumith Kulal", - "Andreas Blattmann", - "Rahim Entezari", - "Jonas M\u00fcller", - "Harry Saini", - "Yam Levi", - "Dominik Lorenz", - "Axel Sauer", - "Frederic Boesel", - "Dustin Podell", - "Tim Dockhorn", - "Zion English", - "Kyle Lacey", - "Alex Goodwin", - "Yannik Marek", - "Robin Rombach" - ], - "year": 2024, - "url": "http://arxiv.org/abs/2403.03206v1", - "instance_id": "mmdit", - "abstract": "Diffusion models create data from noise by inverting the forward paths of\ndata towards noise and have emerged as a powerful generative modeling technique\nfor high-dimensional, perceptual data such as images and videos. Rectified flow\nis a recent generative model formulation that connects data and noise in a\nstraight line. Despite its better theoretical properties and conceptual\nsimplicity, it is not yet decisively established as standard practice. In this\nwork, we improve existing noise sampling techniques for training rectified flow\nmodels by biasing them towards perceptually relevant scales. Through a\nlarge-scale study, we demonstrate the superior performance of this approach\ncompared to established diffusion formulations for high-resolution\ntext-to-image synthesis. Additionally, we present a novel transformer-based\narchitecture for text-to-image generation that uses separate weights for the\ntwo modalities and enables a bidirectional flow of information between image\nand text tokens, improving text comprehension, typography, and human preference\nratings. We demonstrate that this architecture follows predictable scaling\ntrends and correlates lower validation loss to improved text-to-image synthesis\nas measured by various metrics and human evaluations. Our largest models\noutperform state-of-the-art models, and we will make our experimental data,\ncode, and model weights publicly available.", - "venue": "International Conference on Machine Learning", - "venue_source": "Semantic Scholar", - "venue_lookup_time": "2025-01-10T19:29:24.231487", - "citations": 450, - "topic": "selected", - "field": "selected", - "target": "Scaling Rectified Flow Transformers for High-Resolution Image Synthesis", - "source_papers": [ - { - "reference": "Denoising diffusion probabilistic models", - "rank": 1, - "type": [ - "methodological" - ], - "justification": "This foundational paper introduced diffusion models which serve as a core methodological basis for the entire research on the proposed model used in high-resolution image synthesis. Its innovative approach of generating data from noise is fundamentally important for the development of the generative modeling techniques explored in this study.", - "usage": "The methods were adapted for generating data in a high-dimensional space, establishing a necessary framework for the proposed improvements in the proposed model." - }, - { - "reference": "Improved denoising diffusion probabilistic models", - "rank": 2, - "type": [ - "methodological" - ], - "justification": "By demonstrating the effectiveness of diffusion models in high-dimensional generative tasks, this study heavily influenced the methodology used in the current research. It underscored the importance of effective noise reduction techniques pivotal to the proposed model accuracy.", - "usage": "The results and insights from this paper were leveraged to enhance the performance metrics of the proposed model developed in the research." - }, - { - "reference": "High-resolution image synthesis with latent diffusion models", - "rank": 3, - "type": [ - "component" - ], - "justification": "This study is crucial as it merges the concepts of latent diffusion and transformer architectures, guiding the design of the proposed approach in the current research. It forms the technical basis for many architectural decisions made.", - "usage": "The insights into architecture expansion and latent representation were directly applied to improve the text-to-image synthesis process in this paper." - }, - { - "reference": "Align your latents: High-resolution video synthesis with latent diffusion models", - "rank": 4, - "type": [ - "component" - ], - "justification": "The enhanced noise sampling techniques demonstrated in this study significantly contributed to the improvements levied on the proposed model in the current research. The adaptation of these methods directly impacted the quality of image generation.", - "usage": "The techniques were adapted to create more effective noise samplers for the proposed model framework." - }, - { - "reference": "Improving image generation with better captions", - "rank": 5, - "type": [ - "component" - ], - "justification": "This work introduced methods for utilizing synthetic captions to enhance image generation, which directly informed this study's approach to text conditioning. Its focus on improving the proposed model outputs through better captioning strategies was critical.", - "usage": "The innovative techniques for caption improvement were integrated to refine the proposed model's understanding and generation of images from text prompts." - }, - { - "reference": "Flow Matching for Generative Modeling", - "rank": 6, - "type": [ - "component" - ], - "justification": "This study's advancement in flow matching objectives provided vital techniques that were integrated into the new proposed approach formulations presented in the current research, allowing for superior performance in generative tasks.", - "usage": "The study's methodologies were utilized to refine the objectives in training the proposed model, optimizing the generation process." - }, - { - "reference": "Scaling laws for neural language models", - "rank": 7, - "type": [ - "conceptual" - ], - "justification": "This influential work introduced scaling laws that relate model size and performance. Its insights shaped the research direction toward understanding and implementing the proposed approach, crucial for developing the new architecture.", - "usage": "The scaling insights were applied to enhance the evaluation of the proposed model performance as parameters were increased, informing the design of experiments." - }, - { - "reference": "Flow Straight and Fast: Learning to Generate and Transfer Data with Rectified Flow", - "rank": 8, - "type": [ - "component" - ], - "justification": "Rectified Flow introduces a specific trajectory definition and method for straightening flows, which directly informs the components of the proposed model. Its ideas around rewiring trajectories were crucial for enhancing the expressiveness of the new method.", - "usage": "The proposed model is introduced as a generative modeling framework that connects data distribution and noise using straight paths." - }, - { - "reference": "Direct Preference Optimization: Your Language Model is Secretly a Reward Model", - "rank": 9, - "type": [ - "component" - ], - "justification": "DPO introduced effective techniques for optimizing model outputs based on user preferences, significantly influencing how evaluation and adjustments were made for the proposed model's performance in generating images.", - "usage": "The DPO techniques were employed for fine-tuning the outputs of the models based on human feedback, improving user satisfaction with image quality." - } - ], - "task1": "The described system is designed for high-resolution text-to-image synthesis using advanced generative modeling techniques. The core of the approach centers around a hybrid architecture that integrates the proposed model and transformers, which allow for bi-directional information flow between text and image data.\n\n1. **Task:** The proposed model primarily focuses on generating high-resolution images from text prompts.\n\n2. **Core Techniques/Algorithms:** The key algorithms include:\n - **The proposed model** as a generative modeling framework that connects data distribution and noise using straight paths.\n - **Transformer Architecture** using separate weights for text and image modalities, utilizing modulated attention mechanisms.\n - **Noise Samplers** tailored for improved performance on the proposed model, including logit-normal and mode sampling strategies.\n\n3. **Purpose/Function of Major Components:**\n - **The proposed model:** Facilitates efficient training and inference through direct mapping between data and noise.\n - **Transformer Module:** Enables the integration of multi-modal data (text and images) and manages the parameterized interdependency between them.\n - **Noise Samplers:** Enhance the training process by weighting the noise scales to maximize learning efficacy.\n\n4. **Implementation Details:**\n - **The proposed model:** Train this model using continuous time representations with model parameters optimized via a chosen loss function, specifically designed for the proposed model. Key parameters include batch size and learning rate, which are typically set at 1024 and 0.0001, respectively.\n - **Transformer Architecture:** Use a hidden size of 64 * depth (d), with multiple attention heads set equal to d. Train using masked attention and feed-forward blocks structured for both image and text modalities.\n - **Noise Samplers:** For logit-normal sampling, set efficient marker parameters like mean (m) and scale (s) during training to enhance the sampling density, prioritizing intermediate timesteps.\n\n5. **Step-by-step Interaction:**\n - Begin with **data pre-processing**, including cleaning and encoding images and text using a pretrained autoencoder and text encoders.\n - Next, implement **noise samplers** to assist in generating intermediate training data dictated by the proposed model for mapping noise during the training process.\n - Proceed to train the **the proposed model** to learn the mapping efficiently, followed by a joint training procedure with the **transformer model** to refine joint representations of text and image data.\n - For inference, first sample the noise and then apply the trained transformer model, yielding high-resolution images from given text prompts.\n\n6. **Critical Implementation Details:**\n - Maintain a strict evaluation procedure using metrics such as FID and CLIP scores alongside validation loss during training to determine model effectiveness and refine the training loop.\n - Employ **mixed-precision training** for efficiency while applying augmentation strategies supported by clustered sample precomputation, thereby minimizing unnecessary computational overhead.\n - Adjust **batch sizes** and learning rates dynamically based on the depth of the transformer to maximize training integrity across large-scale settings. \n\nFollowing this condensed methodology should enable researchers to replicate the reported results effectively without reading the entirety of this paper.", - "task2": "1. The primary task the research tackles is enhancing the capabilities of generative models, specifically focusing on high-resolution image synthesis from textual descriptions using the proposed model.\n\n2. Existing approaches face limitations such as computational inefficiency during inference, particularly related to slow sampling processes, and they often produce artifacts due to suboptimal choices of forward processes that connect data to noise in generative modeling.\n\n3. Core challenges include determining the most efficient path for data generation that minimizes error accumulation and improves sampling speed, as well as effectively integrating multimodal information from text and images to enhance overall synthesis performance.\n\n4. Key objectives and intended contributions involve introducing improved noise sampling techniques tailored for the proposed model, developing a novel transformer architecture that facilitates a bidirectional flow of information between text and image modalities, and demonstrating predictable scaling trends that correlate lower validation loss with enhanced text-to-image generation quality." +{ + "authors": [ + "Patrick Esser", + "Sumith Kulal", + "Andreas Blattmann", + "Rahim Entezari", + "Jonas M\u00fcller", + "Harry Saini", + "Yam Levi", + "Dominik Lorenz", + "Axel Sauer", + "Frederic Boesel", + "Dustin Podell", + "Tim Dockhorn", + "Zion English", + "Kyle Lacey", + "Alex Goodwin", + "Yannik Marek", + "Robin Rombach" + ], + "year": 2024, + "url": "http://arxiv.org/abs/2403.03206v1", + "instance_id": "mmdit", + "abstract": "Diffusion models create data from noise by inverting the forward paths of\ndata towards noise and have emerged as a powerful generative modeling technique\nfor high-dimensional, perceptual data such as images and videos. Rectified flow\nis a recent generative model formulation that connects data and noise in a\nstraight line. Despite its better theoretical properties and conceptual\nsimplicity, it is not yet decisively established as standard practice. In this\nwork, we improve existing noise sampling techniques for training rectified flow\nmodels by biasing them towards perceptually relevant scales. Through a\nlarge-scale study, we demonstrate the superior performance of this approach\ncompared to established diffusion formulations for high-resolution\ntext-to-image synthesis. Additionally, we present a novel transformer-based\narchitecture for text-to-image generation that uses separate weights for the\ntwo modalities and enables a bidirectional flow of information between image\nand text tokens, improving text comprehension, typography, and human preference\nratings. We demonstrate that this architecture follows predictable scaling\ntrends and correlates lower validation loss to improved text-to-image synthesis\nas measured by various metrics and human evaluations. Our largest models\noutperform state-of-the-art models, and we will make our experimental data,\ncode, and model weights publicly available.", + "venue": "International Conference on Machine Learning", + "venue_source": "Semantic Scholar", + "venue_lookup_time": "2025-01-10T19:29:24.231487", + "citations": 450, + "topic": "selected", + "field": "selected", + "target": "Scaling Rectified Flow Transformers for High-Resolution Image Synthesis", + "source_papers": [ + { + "reference": "Denoising diffusion probabilistic models", + "rank": 1, + "type": [ + "methodological" + ], + "justification": "This foundational paper introduced diffusion models which serve as a core methodological basis for the entire research on the proposed model used in high-resolution image synthesis. Its innovative approach of generating data from noise is fundamentally important for the development of the generative modeling techniques explored in this study.", + "usage": "The methods were adapted for generating data in a high-dimensional space, establishing a necessary framework for the proposed improvements in the proposed model." + }, + { + "reference": "Improved denoising diffusion probabilistic models", + "rank": 2, + "type": [ + "methodological" + ], + "justification": "By demonstrating the effectiveness of diffusion models in high-dimensional generative tasks, this study heavily influenced the methodology used in the current research. It underscored the importance of effective noise reduction techniques pivotal to the proposed model accuracy.", + "usage": "The results and insights from this paper were leveraged to enhance the performance metrics of the proposed model developed in the research." + }, + { + "reference": "High-resolution image synthesis with latent diffusion models", + "rank": 3, + "type": [ + "component" + ], + "justification": "This study is crucial as it merges the concepts of latent diffusion and transformer architectures, guiding the design of the proposed approach in the current research. It forms the technical basis for many architectural decisions made.", + "usage": "The insights into architecture expansion and latent representation were directly applied to improve the text-to-image synthesis process in this paper." + }, + { + "reference": "Align your latents: High-resolution video synthesis with latent diffusion models", + "rank": 4, + "type": [ + "component" + ], + "justification": "The enhanced noise sampling techniques demonstrated in this study significantly contributed to the improvements levied on the proposed model in the current research. The adaptation of these methods directly impacted the quality of image generation.", + "usage": "The techniques were adapted to create more effective noise samplers for the proposed model framework." + }, + { + "reference": "Improving image generation with better captions", + "rank": 5, + "type": [ + "component" + ], + "justification": "This work introduced methods for utilizing synthetic captions to enhance image generation, which directly informed this study's approach to text conditioning. Its focus on improving the proposed model outputs through better captioning strategies was critical.", + "usage": "The innovative techniques for caption improvement were integrated to refine the proposed model's understanding and generation of images from text prompts." + }, + { + "reference": "Flow Matching for Generative Modeling", + "rank": 6, + "type": [ + "component" + ], + "justification": "This study's advancement in flow matching objectives provided vital techniques that were integrated into the new proposed approach formulations presented in the current research, allowing for superior performance in generative tasks.", + "usage": "The study's methodologies were utilized to refine the objectives in training the proposed model, optimizing the generation process." + }, + { + "reference": "Scaling laws for neural language models", + "rank": 7, + "type": [ + "conceptual" + ], + "justification": "This influential work introduced scaling laws that relate model size and performance. Its insights shaped the research direction toward understanding and implementing the proposed approach, crucial for developing the new architecture.", + "usage": "The scaling insights were applied to enhance the evaluation of the proposed model performance as parameters were increased, informing the design of experiments." + }, + { + "reference": "Flow Straight and Fast: Learning to Generate and Transfer Data with Rectified Flow", + "rank": 8, + "type": [ + "component" + ], + "justification": "Rectified Flow introduces a specific trajectory definition and method for straightening flows, which directly informs the components of the proposed model. Its ideas around rewiring trajectories were crucial for enhancing the expressiveness of the new method.", + "usage": "The proposed model is introduced as a generative modeling framework that connects data distribution and noise using straight paths." + }, + { + "reference": "Direct Preference Optimization: Your Language Model is Secretly a Reward Model", + "rank": 9, + "type": [ + "component" + ], + "justification": "DPO introduced effective techniques for optimizing model outputs based on user preferences, significantly influencing how evaluation and adjustments were made for the proposed model's performance in generating images.", + "usage": "The DPO techniques were employed for fine-tuning the outputs of the models based on human feedback, improving user satisfaction with image quality." + } + ], + "task1": "The described system is designed for high-resolution text-to-image synthesis using advanced generative modeling techniques. The core of the approach centers around a hybrid architecture that integrates the proposed model and transformers, which allow for bi-directional information flow between text and image data.\n\n1. **Task:** The proposed model primarily focuses on generating high-resolution images from text prompts.\n\n2. **Core Techniques/Algorithms:** The key algorithms include:\n - **The proposed model** as a generative modeling framework that connects data distribution and noise using straight paths.\n - **Transformer Architecture** using separate weights for text and image modalities, utilizing modulated attention mechanisms.\n - **Noise Samplers** tailored for improved performance on the proposed model, including logit-normal and mode sampling strategies.\n\n3. **Purpose/Function of Major Components:**\n - **The proposed model:** Facilitates efficient training and inference through direct mapping between data and noise.\n - **Transformer Module:** Enables the integration of multi-modal data (text and images) and manages the parameterized interdependency between them.\n - **Noise Samplers:** Enhance the training process by weighting the noise scales to maximize learning efficacy.\n\n4. **Implementation Details:**\n - **The proposed model:** Train this model using continuous time representations with model parameters optimized via a chosen loss function, specifically designed for the proposed model. Key parameters include batch size and learning rate, which are typically set at 1024 and 0.0001, respectively.\n - **Transformer Architecture:** Use a hidden size of 64 * depth (d), with multiple attention heads set equal to d. Train using masked attention and feed-forward blocks structured for both image and text modalities.\n - **Noise Samplers:** For logit-normal sampling, set efficient marker parameters like mean (m) and scale (s) during training to enhance the sampling density, prioritizing intermediate timesteps.\n\n5. **Step-by-step Interaction:**\n - Begin with **data pre-processing**, including cleaning and encoding images and text using a pretrained autoencoder and text encoders.\n - Next, implement **noise samplers** to assist in generating intermediate training data dictated by the proposed model for mapping noise during the training process.\n - Proceed to train the **the proposed model** to learn the mapping efficiently, followed by a joint training procedure with the **transformer model** to refine joint representations of text and image data.\n - For inference, first sample the noise and then apply the trained transformer model, yielding high-resolution images from given text prompts.\n\n6. **Critical Implementation Details:**\n - Maintain a strict evaluation procedure using metrics such as FID and CLIP scores alongside validation loss during training to determine model effectiveness and refine the training loop.\n - Employ **mixed-precision training** for efficiency while applying augmentation strategies supported by clustered sample precomputation, thereby minimizing unnecessary computational overhead.\n - Adjust **batch sizes** and learning rates dynamically based on the depth of the transformer to maximize training integrity across large-scale settings. \n\nFollowing this condensed methodology should enable researchers to replicate the reported results effectively without reading the entirety of this paper.", + "task2": "1. The primary task the research tackles is enhancing the capabilities of generative models, specifically focusing on high-resolution image synthesis from textual descriptions using the proposed model.\n\n2. Existing approaches face limitations such as computational inefficiency during inference, particularly related to slow sampling processes, and they often produce artifacts due to suboptimal choices of forward processes that connect data to noise in generative modeling.\n\n3. Core challenges include determining the most efficient path for data generation that minimizes error accumulation and improves sampling speed, as well as effectively integrating multimodal information from text and images to enhance overall synthesis performance.\n\n4. Key objectives and intended contributions involve introducing improved noise sampling techniques tailored for the proposed model, developing a novel transformer architecture that facilitates a bidirectional flow of information between text and image modalities, and demonstrating predictable scaling trends that correlate lower validation loss with enhanced text-to-image generation quality." } \ No newline at end of file diff --git a/benchmark/final/gnn/allinone.json b/benchmark/final/gnn/allinone.json index 5436be9..2e4a73f 100755 --- a/benchmark/final/gnn/allinone.json +++ b/benchmark/final/gnn/allinone.json @@ -1,96 +1,96 @@ -{ - "target": "All in One: Multi-task Prompting for Graph Neural Networks", - "instance_id": "allinone", - "source_papers": [ - { - "reference": "Prompt Tuning for Graph Neural Networks", - "rank": 1, - "type": [ - "methodological" - ], - "justification": "This paper provides foundational methods for prompt tuning specifically tailored to graph neural networks, directly influencing the methodological framework of the current study.", - "usage": "It was used as a key reference for establishing the principles of prompt tuning in the context of GNNs." - }, - { - "reference": "Language models are few-shot learners", - "rank": 2, - "type": [ - "conceptual" - ], - "justification": "This work inspired the adaptation of few-shot learning techniques from NLP to graph tasks, shaping the conceptual direction of the research.", - "usage": "The techniques from this paper were adapted to enhance the few-shot learning capabilities in graph domains." - }, - { - "reference": "Strategies For Pre-training Graph Neural Networks", - "rank": 3, - "type": [ - "methodological" - ], - "justification": "This paper explores various pre-training strategies that are crucial to understanding how to improve GNN performance, forming a methodological basis for the current study.", - "usage": "It was referenced to integrate pre-training strategies with prompting techniques." - }, - { - "reference": "Graph Attention Networks", - "rank": 4, - "type": [ - "methodological" - ], - "justification": "This foundational work on GAT provides essential insights into effective graph-based learning mechanisms that underpin the proposed methods in the paper.", - "usage": "The effectiveness of the GAT model informed the design choices made in the current study." - }, - { - "reference": "Semi-supervised classification with graph convolutional networks", - "rank": 5, - "type": [ - "methodological" - ], - "justification": "This paper serves as a cornerstone for many GNN architectures, providing a methodological foundation that supports the techniques used in the research.", - "usage": "Referenced for its foundational concepts in semi-supervised learning applied to GNNs." - }, - { - "reference": "Graph contrastive learning with augmentations", - "rank": 6, - "type": [ - "methodological" - ], - "justification": "This work provides a strong methodological foundation for contrastive learning approaches applied to graphs, which informs the multi-task prompting framework.", - "usage": "It supported the integration of contrastive learning methods into the proposed framework." - }, - { - "reference": "Making Pre-trained Language Models Better Few-shot Learners", - "rank": 7, - "type": [ - "conceptual" - ], - "justification": "This paper introduces concepts of few-shot learning that were pivotal in developing the current research's prompting approach for graph tasks.", - "usage": "Concepts from this work were adapted to enhance few-shot prompting strategies in graph neural networks." - }, - { - "reference": "Graph pre-training and prompt tuning to generalize graph neural networks", - "rank": 8, - "type": [ - "component" - ], - "justification": "This paper aligns closely with the current study's framework, providing strategies that integrate pre-training with prompt tuning.", - "usage": "It was used to establish a clear link between pre-training strategies and the proposed prompt tuning techniques." - } - ], - "authors": [ - "Xiangguo Sun", - "Hong Cheng", - "Jia Li", - "Bo Liu", - "Jihong Guan" - ], - "year": 2023, - "url": "http://arxiv.org/abs/2307.01504v2", - "abstract": "Recently, ''pre-training and fine-tuning'' has been adopted as a standard\nworkflow for many graph tasks since it can take general graph knowledge to\nrelieve the lack of graph annotations from each application. However, graph\ntasks with node level, edge level, and graph level are far diversified, making\nthe pre-training pretext often incompatible with these multiple tasks. This gap\nmay even cause a ''negative transfer'' to the specific application, leading to\npoor results. Inspired by the prompt learning in natural language processing\n(NLP), which has presented significant effectiveness in leveraging prior\nknowledge for various NLP tasks, we study the prompting topic for graphs with\nthe motivation of filling the gap between pre-trained models and various graph\ntasks. In this paper, we propose a novel multi-task prompting method for graph\nmodels. Specifically, we first unify the format of graph prompts and language\nprompts with the prompt token, token structure, and inserting pattern. In this\nway, the prompting idea from NLP can be seamlessly introduced to the graph\narea. Then, to further narrow the gap between various graph tasks and\nstate-of-the-art pre-training strategies, we further study the task space of\nvarious graph applications and reformulate downstream problems to the\ngraph-level task. Afterward, we introduce meta-learning to efficiently learn a\nbetter initialization for the multi-task prompt of graphs so that our prompting\nframework can be more reliable and general for different tasks. We conduct\nextensive experiments, results from which demonstrate the superiority of our\nmethod.", - "venue": "Knowledge Discovery and Data Mining", - "venue_source": "Semantic Scholar", - "venue_lookup_time": "2024-11-18T08:14:48.483546", - "citations": 86, - "topic": "Graph Neural Networks for NLP", - "field": "graph_neural_networks", - "task1": "The model proposed in the paper focuses on enhancing the performance of Graph Neural Networks (GNNs) across multiple graph-related tasks, including node-level, edge-level, and graph-level tasks, by leveraging a multi-task prompting approach. To implement the core methodology, follow these steps:\n\n1. **Task Definition**: The model facilitates the reformulation of various graph tasks into a unified graph-level format, which helps in bridging the gap between pre-training and downstream tasks.\n\n2. **Core Techniques**:\n - **Prompt Graph Design**: Create a prompt graph that includes learnable prompt tokens, token structures, and inserting patterns for seamless integration into the original graph.\n - **Meta-Learning**: Utilize a meta-learning strategy to adaptively learn better prompt initializations across multiple tasks.\n - **Task Reformulation**: Transform node-level and edge-level tasks into graph-level tasks by creating induced graphs based on a defined neighborhood (e.g., \u03c4-hop neighbors).\n\n3. **Implementation Components**:\n - **Prompt Tokens**: Initialize a set of learnable prompt tokens, each represented as a vector of the same size as node features. The number of prompt tokens should be significantly less than the number of nodes (|P| \u226a N).\n - **Token Structure**: Define connections among prompt tokens. You can use tunable parameters or a binary connection based on the dot product between tokens, applying a threshold to prune connections.\n - **Inserting Patterns**: Implement an inserting function that determines how prompt tokens will be incorporated into the graph. This can be done by adding the prompt tokens to existing node features.\n\n4. **Key Parameters & Configurations**:\n - **Token Count**: Set the number of prompt tokens (|P|) to a small value (e.g., 10).\n - **Distance Metric**: For induced graphs, use \u03c4 to define the neighborhood size, where \u03c4 can be set based on task requirements (e.g., \u03c4 = 1 for immediate neighbors).\n - **Learning Rate**: Use a learning rate (e.g., 0.001) with an Adam optimizer for training.\n\n5. **Input/Output Specifications**:\n - **Input**: The input will be the original graph G with node features. The prompt graph G_p will be merged with G based on the defined inserting patterns.\n - **Output**: The output will be the model's predictions for the downstream tasks, which could be node classifications, edge predictions, or graph classifications.\n\n6. **Step-by-Step Interaction**:\n - **Step 1**: Define the original graph G and extract node features.\n - **Step 2**: Construct the prompt graph G_p by initializing prompt tokens and defining token structures.\n - **Step 3**: Apply the inserting pattern to merge G_p into G, modifying the node features as per the defined prompt.\n - **Step 4**: Feed the modified graph into the pre-trained GNN model for processing.\n - **Step 5**: Utilize meta-learning to adaptively improve prompt tokens based on task-specific data and loss.\n\n7. **Critical Implementation Details**:\n - Ensure that the initializations of prompt tokens are effective, as poor initialization can hinder performance.\n - The design of token structures and inserting patterns is crucial; they should be tested and refined to ensure they provide meaningful enhancements to the original graph representation.\n - Monitor the computational efficiency, as the model should maintain a balance between performance and resource utilization, especially when scaling to larger graphs.\n\nBy following these instructions, researchers can effectively implement the methodology outlined in the paper, improving the adaptability and performance of GNNs across varying graph-related tasks.", - "task2": "1. The primary task or problem domain the research tackles:\n This research addresses the challenge of effectively applying graph neural networks (GNNs) across diverse graph-based tasks, particularly in a multi-task learning context. It focuses on the integration of prompting techniques inspired by natural language processing (NLP) to enhance the adaptability of GNNs for various tasks, including node-level, edge-level, and graph-level tasks.\n\n2. Current limitations in existing approaches that motivated this work:\n Existing approaches in graph learning often rely on a \"pre-training and fine-tuning\" paradigm, which can lead to a significant gap between pre-training tasks and the diverse downstream tasks. Traditional pre-training methods frequently focus on specific task types, such as binary edge prediction, which are not always compatible with the wide range of tasks encountered in practice. This disconnection can result in negative transfer, where the model performs poorly on the target tasks due to misalignment with the pre-training objectives.\n\n3. Core challenges the researchers aim to overcome:\n The researchers aim to overcome several challenges: \n - Bridging the gap between various graph tasks and pre-training strategies to ensure better compatibility and transferability across tasks.\n - Designing an effective and versatile prompting mechanism that can adapt to the unique structures and demands of graph data, unlike the simpler prompting methods used in NLP.\n - Developing a robust approach for initializing and learning prompts that can handle the complexities and variabilities inherent in multi-task graph settings.\n\n4. Key objectives and intended contributions:\n The key objectives of the research are to:\n - Propose a unified prompting framework for graph tasks that can effectively integrate insights from NLP prompting techniques.\n - Reformulate node-level and edge-level tasks as graph-level tasks to enhance the generalization and transferability of pre-training knowledge.\n - Introduce a meta-learning mechanism to learn optimal prompts that can improve performance across multiple tasks.\n The intended contributions include advancing the understanding of prompt learning in graph contexts, providing a novel framework that enhances the adaptability of GNNs, and demonstrating the efficacy of this approach through extensive evaluations on various graph tasks." +{ + "target": "All in One: Multi-task Prompting for Graph Neural Networks", + "instance_id": "allinone", + "source_papers": [ + { + "reference": "Prompt Tuning for Graph Neural Networks", + "rank": 1, + "type": [ + "methodological" + ], + "justification": "This paper provides foundational methods for prompt tuning specifically tailored to graph neural networks, directly influencing the methodological framework of the current study.", + "usage": "It was used as a key reference for establishing the principles of prompt tuning in the context of GNNs." + }, + { + "reference": "Language models are few-shot learners", + "rank": 2, + "type": [ + "conceptual" + ], + "justification": "This work inspired the adaptation of few-shot learning techniques from NLP to graph tasks, shaping the conceptual direction of the research.", + "usage": "The techniques from this paper were adapted to enhance the few-shot learning capabilities in graph domains." + }, + { + "reference": "Strategies For Pre-training Graph Neural Networks", + "rank": 3, + "type": [ + "methodological" + ], + "justification": "This paper explores various pre-training strategies that are crucial to understanding how to improve GNN performance, forming a methodological basis for the current study.", + "usage": "It was referenced to integrate pre-training strategies with prompting techniques." + }, + { + "reference": "Graph Attention Networks", + "rank": 4, + "type": [ + "methodological" + ], + "justification": "This foundational work on GAT provides essential insights into effective graph-based learning mechanisms that underpin the proposed methods in the paper.", + "usage": "The effectiveness of the GAT model informed the design choices made in the current study." + }, + { + "reference": "Semi-supervised classification with graph convolutional networks", + "rank": 5, + "type": [ + "methodological" + ], + "justification": "This paper serves as a cornerstone for many GNN architectures, providing a methodological foundation that supports the techniques used in the research.", + "usage": "Referenced for its foundational concepts in semi-supervised learning applied to GNNs." + }, + { + "reference": "Graph contrastive learning with augmentations", + "rank": 6, + "type": [ + "methodological" + ], + "justification": "This work provides a strong methodological foundation for contrastive learning approaches applied to graphs, which informs the multi-task prompting framework.", + "usage": "It supported the integration of contrastive learning methods into the proposed framework." + }, + { + "reference": "Making Pre-trained Language Models Better Few-shot Learners", + "rank": 7, + "type": [ + "conceptual" + ], + "justification": "This paper introduces concepts of few-shot learning that were pivotal in developing the current research's prompting approach for graph tasks.", + "usage": "Concepts from this work were adapted to enhance few-shot prompting strategies in graph neural networks." + }, + { + "reference": "Graph pre-training and prompt tuning to generalize graph neural networks", + "rank": 8, + "type": [ + "component" + ], + "justification": "This paper aligns closely with the current study's framework, providing strategies that integrate pre-training with prompt tuning.", + "usage": "It was used to establish a clear link between pre-training strategies and the proposed prompt tuning techniques." + } + ], + "authors": [ + "Xiangguo Sun", + "Hong Cheng", + "Jia Li", + "Bo Liu", + "Jihong Guan" + ], + "year": 2023, + "url": "http://arxiv.org/abs/2307.01504v2", + "abstract": "Recently, ''pre-training and fine-tuning'' has been adopted as a standard\nworkflow for many graph tasks since it can take general graph knowledge to\nrelieve the lack of graph annotations from each application. However, graph\ntasks with node level, edge level, and graph level are far diversified, making\nthe pre-training pretext often incompatible with these multiple tasks. This gap\nmay even cause a ''negative transfer'' to the specific application, leading to\npoor results. Inspired by the prompt learning in natural language processing\n(NLP), which has presented significant effectiveness in leveraging prior\nknowledge for various NLP tasks, we study the prompting topic for graphs with\nthe motivation of filling the gap between pre-trained models and various graph\ntasks. In this paper, we propose a novel multi-task prompting method for graph\nmodels. Specifically, we first unify the format of graph prompts and language\nprompts with the prompt token, token structure, and inserting pattern. In this\nway, the prompting idea from NLP can be seamlessly introduced to the graph\narea. Then, to further narrow the gap between various graph tasks and\nstate-of-the-art pre-training strategies, we further study the task space of\nvarious graph applications and reformulate downstream problems to the\ngraph-level task. Afterward, we introduce meta-learning to efficiently learn a\nbetter initialization for the multi-task prompt of graphs so that our prompting\nframework can be more reliable and general for different tasks. We conduct\nextensive experiments, results from which demonstrate the superiority of our\nmethod.", + "venue": "Knowledge Discovery and Data Mining", + "venue_source": "Semantic Scholar", + "venue_lookup_time": "2024-11-18T08:14:48.483546", + "citations": 86, + "topic": "Graph Neural Networks for NLP", + "field": "graph_neural_networks", + "task1": "The model proposed in the paper focuses on enhancing the performance of Graph Neural Networks (GNNs) across multiple graph-related tasks, including node-level, edge-level, and graph-level tasks, by leveraging a multi-task prompting approach. To implement the core methodology, follow these steps:\n\n1. **Task Definition**: The model facilitates the reformulation of various graph tasks into a unified graph-level format, which helps in bridging the gap between pre-training and downstream tasks.\n\n2. **Core Techniques**:\n - **Prompt Graph Design**: Create a prompt graph that includes learnable prompt tokens, token structures, and inserting patterns for seamless integration into the original graph.\n - **Meta-Learning**: Utilize a meta-learning strategy to adaptively learn better prompt initializations across multiple tasks.\n - **Task Reformulation**: Transform node-level and edge-level tasks into graph-level tasks by creating induced graphs based on a defined neighborhood (e.g., \u03c4-hop neighbors).\n\n3. **Implementation Components**:\n - **Prompt Tokens**: Initialize a set of learnable prompt tokens, each represented as a vector of the same size as node features. The number of prompt tokens should be significantly less than the number of nodes (|P| \u226a N).\n - **Token Structure**: Define connections among prompt tokens. You can use tunable parameters or a binary connection based on the dot product between tokens, applying a threshold to prune connections.\n - **Inserting Patterns**: Implement an inserting function that determines how prompt tokens will be incorporated into the graph. This can be done by adding the prompt tokens to existing node features.\n\n4. **Key Parameters & Configurations**:\n - **Token Count**: Set the number of prompt tokens (|P|) to a small value (e.g., 10).\n - **Distance Metric**: For induced graphs, use \u03c4 to define the neighborhood size, where \u03c4 can be set based on task requirements (e.g., \u03c4 = 1 for immediate neighbors).\n - **Learning Rate**: Use a learning rate (e.g., 0.001) with an Adam optimizer for training.\n\n5. **Input/Output Specifications**:\n - **Input**: The input will be the original graph G with node features. The prompt graph G_p will be merged with G based on the defined inserting patterns.\n - **Output**: The output will be the model's predictions for the downstream tasks, which could be node classifications, edge predictions, or graph classifications.\n\n6. **Step-by-Step Interaction**:\n - **Step 1**: Define the original graph G and extract node features.\n - **Step 2**: Construct the prompt graph G_p by initializing prompt tokens and defining token structures.\n - **Step 3**: Apply the inserting pattern to merge G_p into G, modifying the node features as per the defined prompt.\n - **Step 4**: Feed the modified graph into the pre-trained GNN model for processing.\n - **Step 5**: Utilize meta-learning to adaptively improve prompt tokens based on task-specific data and loss.\n\n7. **Critical Implementation Details**:\n - Ensure that the initializations of prompt tokens are effective, as poor initialization can hinder performance.\n - The design of token structures and inserting patterns is crucial; they should be tested and refined to ensure they provide meaningful enhancements to the original graph representation.\n - Monitor the computational efficiency, as the model should maintain a balance between performance and resource utilization, especially when scaling to larger graphs.\n\nBy following these instructions, researchers can effectively implement the methodology outlined in the paper, improving the adaptability and performance of GNNs across varying graph-related tasks.", + "task2": "1. The primary task or problem domain the research tackles:\n This research addresses the challenge of effectively applying graph neural networks (GNNs) across diverse graph-based tasks, particularly in a multi-task learning context. It focuses on the integration of prompting techniques inspired by natural language processing (NLP) to enhance the adaptability of GNNs for various tasks, including node-level, edge-level, and graph-level tasks.\n\n2. Current limitations in existing approaches that motivated this work:\n Existing approaches in graph learning often rely on a \"pre-training and fine-tuning\" paradigm, which can lead to a significant gap between pre-training tasks and the diverse downstream tasks. Traditional pre-training methods frequently focus on specific task types, such as binary edge prediction, which are not always compatible with the wide range of tasks encountered in practice. This disconnection can result in negative transfer, where the model performs poorly on the target tasks due to misalignment with the pre-training objectives.\n\n3. Core challenges the researchers aim to overcome:\n The researchers aim to overcome several challenges: \n - Bridging the gap between various graph tasks and pre-training strategies to ensure better compatibility and transferability across tasks.\n - Designing an effective and versatile prompting mechanism that can adapt to the unique structures and demands of graph data, unlike the simpler prompting methods used in NLP.\n - Developing a robust approach for initializing and learning prompts that can handle the complexities and variabilities inherent in multi-task graph settings.\n\n4. Key objectives and intended contributions:\n The key objectives of the research are to:\n - Propose a unified prompting framework for graph tasks that can effectively integrate insights from NLP prompting techniques.\n - Reformulate node-level and edge-level tasks as graph-level tasks to enhance the generalization and transferability of pre-training knowledge.\n - Introduce a meta-learning mechanism to learn optimal prompts that can improve performance across multiple tasks.\n The intended contributions include advancing the understanding of prompt learning in graph contexts, providing a novel framework that enhances the adaptability of GNNs, and demonstrating the efficacy of this approach through extensive evaluations on various graph tasks." } \ No newline at end of file diff --git a/benchmark/final/gnn/exphormer.json b/benchmark/final/gnn/exphormer.json index 0c82292..13afacf 100755 --- a/benchmark/final/gnn/exphormer.json +++ b/benchmark/final/gnn/exphormer.json @@ -1,87 +1,87 @@ -{ - "target": "Exphormer: Sparse Transformers for Graphs", - "instance_id": "exphormer", - "source_papers": [ - { - "reference": "Attention is all you need", - "rank": 1, - "type": [ - "methodological" - ], - "justification": "This seminal paper introduced the Transformer architecture, which serves as a foundational framework for the proposed model. The adaptation of this architecture for graph data is critical for the proposed model's design and functionality.", - "usage": "The proposed model is fundamentally built upon the concepts from this study, showcasing how the Transformer model can be effectively utilized in graph learning tasks." - }, - { - "reference": "GraphGPS: A General Framework for Scalable Graph Transformers", - "rank": 2, - "type": [ - "methodological" - ], - "justification": "GraphGPS provides a modular framework that integrates local message passing and global attention mechanisms, which are essential for the design of the proposed model. Its innovative approach to combining these methods influences the architecture of the proposed model.", - "usage": "The proposed model incorporates the GraphGPS framework to enhance its performance in graph learning tasks, demonstrating the influence of this reference in shaping the methodology." - }, - { - "reference": "Graph Attention Networks", - "rank": 3, - "type": [ - "methodological" - ], - "justification": "This study presents the GAT architecture, which utilizes attention mechanisms to aggregate neighbor information for graph nodes. The principles behind GAT are directly relevant to the attention mechanisms in the proposed model.", - "usage": "The proposed model leverages the attention strategies introduced in this paper to improve node representation and interaction within the graph." - }, - { - "reference": "Performer: Replacing Attention with Linear Complexity", - "rank": 4, - "type": [ - "methodological" - ], - "justification": "The Performer model introduces linear complexity attention mechanisms, which are crucial for improving the efficiency of the proposed model. It directly informs the design choices made to handle large graphs effectively.", - "usage": "The proposed model adopts ideas from Performer to implement sparse attention, enabling it to process larger graphs without excessive computational costs." - }, - { - "reference": "Big Bird: Transformers for longer sequences", - "rank": 5, - "type": [ - "conceptual" - ], - "justification": "Big Bird explores sparse attention patterns for sequence modeling, which conceptually inspires the attention mechanisms in the proposed model. This reference provides a broader understanding of how to adapt transformers for different data structures.", - "usage": "The design of the proposed model's sparse attention mechanisms is influenced by the ideas presented in Big Bird, particularly in tailoring attention to graph structures." - }, - { - "reference": "How powerful are graph neural networks?", - "rank": 6, - "type": [ - "conceptual" - ], - "justification": "This work outlines the expressivity limits of graph neural networks, highlighting the necessity for enhancements like those provided by the proposed model. It provides a theoretical foundation for why transformer models are advantageous in graph learning.", - "usage": "The proposed model addresses the limitations discussed in this paper by incorporating transformer-based approaches to improve graph representation and learning." - }, - { - "reference": "Long Range Graph Benchmark", - "rank": 7, - "type": [ - "conceptual" - ], - "justification": "This benchmark introduces a set of challenging datasets for evaluating graph models, establishing a rigorous testing ground for the proposed model\u2019s capabilities. It influences the experimental design and validation of the proposed approach.", - "usage": "The proposed model is evaluated against the benchmarks established in this study, showcasing its effectiveness in learning long-range dependencies in graph data." - } - ], - "authors": [ - "Hamed Shirzad", - "Ameya Velingker", - "Balaji Venkatachalam", - "Danica J. Sutherland", - "Ali Kemal Sinop" - ], - "year": 2023, - "url": "http://arxiv.org/abs/2303.06147v2", - "abstract": "Graph transformers have emerged as a promising architecture for a variety of\ngraph learning and representation tasks. Despite their successes, though, it\nremains challenging to scale graph transformers to large graphs while\nmaintaining accuracy competitive with message-passing networks. In this paper,\nwe introduce Exphormer, a framework for building powerful and scalable graph\ntransformers. Exphormer consists of a sparse attention mechanism based on two\nmechanisms: virtual global nodes and expander graphs, whose mathematical\ncharacteristics, such as spectral expansion, pseduorandomness, and sparsity,\nyield graph transformers with complexity only linear in the size of the graph,\nwhile allowing us to prove desirable theoretical properties of the resulting\ntransformer models. We show that incorporating Exphormer into the\nrecently-proposed GraphGPS framework produces models with competitive empirical\nresults on a wide variety of graph datasets, including state-of-the-art results\non three datasets. We also show that Exphormer can scale to datasets on larger\ngraphs than shown in previous graph transformer architectures. Code can be\nfound at \\url{https://github.com/hamed1375/Exphormer}.", - "venue": "International Conference on Machine Learning", - "venue_source": "Semantic Scholar", - "venue_lookup_time": "2024-11-18T06:29:49.335530", - "citations": 70, - "topic": "Graph Transformers", - "field": "graph_neural_networks", - "task1": "To implement the methodology from this paper on the sparse graph transformer architecture, follow these detailed instructions:\n\n1. **Task**: The proposed model is designed for graph learning tasks, particularly focusing on node classification, graph classification, and representation learning on large graphs.\n\n2. **Core Techniques/Algorithms**:\n - **Sparse Attention Mechanism**: Utilizes expander graphs and global nodes to achieve linear complexity in attention calculations.\n - **Graph Construction**: Generates interaction graphs based on the input graph using three types of edges: expander graph edges, global nodes edges, and local neighborhood edges.\n\n3. **Purpose and Function of Major Components**:\n - **Expander Graph Attention**: Provides a sparse connection pattern that allows information propagation between distant nodes while maintaining a linear number of edges.\n - **Global Attention**: Introduces virtual nodes that connect to all other nodes, facilitating global information flow and serving as a universal approximator.\n - **Local Neighborhood Attention**: Ensures that each node can attend to its immediate neighbors, preserving local graph structure.\n\n4. **Implementation Details**:\n - **Key Parameters**:\n - **Number of Layers**: Typically between 3 to 7 layers depending on the dataset.\n - **Hidden Dimension**: Common choices range from 32 to 128.\n - **Number of Heads**: Set to 4 or 8, depending on the complexity of the task.\n - **Dropout Rate**: Generally between 0.1 to 0.3 to prevent overfitting.\n - **Expander Degree**: Between 6 to 22, determined through linear search based on performance.\n - **Number of Virtual Nodes**: Ranges from 1 to 6 based on the dataset.\n - **Input/Output Specifications**:\n - **Input**: The proposed model accepts a graph represented as an adjacency matrix and node feature matrix.\n - **Output**: The output is typically a node classification or graph embedding.\n - **Constraints**: Ensure that the expander graph is generated correctly; it should be a d-regular graph for optimal performance.\n\n5. **Step-by-Step Interaction of Components**:\n - Step 1: Construct the input graph and generate the local neighborhood edges based on the adjacency matrix.\n - Step 2: Generate expander graphs using a random regular expander graph construction method (e.g., using permutations as described).\n - Step 3: Add a set of global nodes connected to every other node in the graph.\n - Step 4: Combine these three types of edges to form the interaction graph H, which will be used for attention calculations.\n - Step 5: Implement the attention mechanism using the interaction graph H, ensuring to compute attention scores using the defined edge types.\n - Step 6: Process the output through a feedforward layer after the attention step, and use a suitable activation function (e.g., ReLU).\n\n6. **Critical Implementation Details**:\n - The choice of parameters such as the number of heads and the hidden dimension can significantly affect performance; tuning these parameters is crucial.\n - Ensure that the proposed model manages memory efficiently, especially when scaling to larger graphs; utilize batch sizes that fit within the GPU memory constraints.\n - Implement mechanisms to handle edge features effectively, particularly for local neighborhood edges, to enhance the model's expressivity.\n - Use positional encodings to maintain the order and structure of nodes, which is vital for the proposed model to learn effectively from the graph data.\n\nBy following these steps and guidelines, researchers can effectively reproduce the core methodology of the proposed sparse graph transformer architecture.", - "task2": "The primary task or problem domain the research tackles:\nThe research addresses the scalability and effectiveness of graph transformers for various graph learning and representation tasks, particularly in scenarios with large graphs.\n\nCurrent limitations in existing approaches that motivated this work:\nExisting graph transformer models struggle with scalability due to their quadratic complexity in the number of nodes, which limits their applicability to larger datasets. Additionally, these models often do not achieve accuracy levels comparable to message-passing networks in practical settings.\n\nCore challenges the researchers aim to overcome:\nThe researchers aim to overcome the challenges of high computational costs associated with dense attention mechanisms in graph transformers, as well as the expressivity limitations that prevent these models from outperforming traditional message-passing approaches.\n\nKey objectives and intended contributions:\nThe key objectives include developing a new framework that introduces sparse attention mechanisms to enable linear computational complexity concerning the number of nodes and edges. The intended contributions involve providing a scalable architecture that maintains competitive accuracy with message-passing networks while enabling the application of graph transformers to larger graphs than previously feasible." +{ + "target": "Exphormer: Sparse Transformers for Graphs", + "instance_id": "exphormer", + "source_papers": [ + { + "reference": "Attention is all you need", + "rank": 1, + "type": [ + "methodological" + ], + "justification": "This seminal paper introduced the Transformer architecture, which serves as a foundational framework for the proposed model. The adaptation of this architecture for graph data is critical for the proposed model's design and functionality.", + "usage": "The proposed model is fundamentally built upon the concepts from this study, showcasing how the Transformer model can be effectively utilized in graph learning tasks." + }, + { + "reference": "GraphGPS: A General Framework for Scalable Graph Transformers", + "rank": 2, + "type": [ + "methodological" + ], + "justification": "GraphGPS provides a modular framework that integrates local message passing and global attention mechanisms, which are essential for the design of the proposed model. Its innovative approach to combining these methods influences the architecture of the proposed model.", + "usage": "The proposed model incorporates the GraphGPS framework to enhance its performance in graph learning tasks, demonstrating the influence of this reference in shaping the methodology." + }, + { + "reference": "Graph Attention Networks", + "rank": 3, + "type": [ + "methodological" + ], + "justification": "This study presents the GAT architecture, which utilizes attention mechanisms to aggregate neighbor information for graph nodes. The principles behind GAT are directly relevant to the attention mechanisms in the proposed model.", + "usage": "The proposed model leverages the attention strategies introduced in this paper to improve node representation and interaction within the graph." + }, + { + "reference": "Performer: Replacing Attention with Linear Complexity", + "rank": 4, + "type": [ + "methodological" + ], + "justification": "The Performer model introduces linear complexity attention mechanisms, which are crucial for improving the efficiency of the proposed model. It directly informs the design choices made to handle large graphs effectively.", + "usage": "The proposed model adopts ideas from Performer to implement sparse attention, enabling it to process larger graphs without excessive computational costs." + }, + { + "reference": "Big Bird: Transformers for longer sequences", + "rank": 5, + "type": [ + "conceptual" + ], + "justification": "Big Bird explores sparse attention patterns for sequence modeling, which conceptually inspires the attention mechanisms in the proposed model. This reference provides a broader understanding of how to adapt transformers for different data structures.", + "usage": "The design of the proposed model's sparse attention mechanisms is influenced by the ideas presented in Big Bird, particularly in tailoring attention to graph structures." + }, + { + "reference": "How powerful are graph neural networks?", + "rank": 6, + "type": [ + "conceptual" + ], + "justification": "This work outlines the expressivity limits of graph neural networks, highlighting the necessity for enhancements like those provided by the proposed model. It provides a theoretical foundation for why transformer models are advantageous in graph learning.", + "usage": "The proposed model addresses the limitations discussed in this paper by incorporating transformer-based approaches to improve graph representation and learning." + }, + { + "reference": "Long Range Graph Benchmark", + "rank": 7, + "type": [ + "conceptual" + ], + "justification": "This benchmark introduces a set of challenging datasets for evaluating graph models, establishing a rigorous testing ground for the proposed model\u2019s capabilities. It influences the experimental design and validation of the proposed approach.", + "usage": "The proposed model is evaluated against the benchmarks established in this study, showcasing its effectiveness in learning long-range dependencies in graph data." + } + ], + "authors": [ + "Hamed Shirzad", + "Ameya Velingker", + "Balaji Venkatachalam", + "Danica J. Sutherland", + "Ali Kemal Sinop" + ], + "year": 2023, + "url": "http://arxiv.org/abs/2303.06147v2", + "abstract": "Graph transformers have emerged as a promising architecture for a variety of\ngraph learning and representation tasks. Despite their successes, though, it\nremains challenging to scale graph transformers to large graphs while\nmaintaining accuracy competitive with message-passing networks. In this paper,\nwe introduce Exphormer, a framework for building powerful and scalable graph\ntransformers. Exphormer consists of a sparse attention mechanism based on two\nmechanisms: virtual global nodes and expander graphs, whose mathematical\ncharacteristics, such as spectral expansion, pseduorandomness, and sparsity,\nyield graph transformers with complexity only linear in the size of the graph,\nwhile allowing us to prove desirable theoretical properties of the resulting\ntransformer models. We show that incorporating Exphormer into the\nrecently-proposed GraphGPS framework produces models with competitive empirical\nresults on a wide variety of graph datasets, including state-of-the-art results\non three datasets. We also show that Exphormer can scale to datasets on larger\ngraphs than shown in previous graph transformer architectures. Code can be\nfound at \\url{https://github.com/hamed1375/Exphormer}.", + "venue": "International Conference on Machine Learning", + "venue_source": "Semantic Scholar", + "venue_lookup_time": "2024-11-18T06:29:49.335530", + "citations": 70, + "topic": "Graph Transformers", + "field": "graph_neural_networks", + "task1": "To implement the methodology from this paper on the sparse graph transformer architecture, follow these detailed instructions:\n\n1. **Task**: The proposed model is designed for graph learning tasks, particularly focusing on node classification, graph classification, and representation learning on large graphs.\n\n2. **Core Techniques/Algorithms**:\n - **Sparse Attention Mechanism**: Utilizes expander graphs and global nodes to achieve linear complexity in attention calculations.\n - **Graph Construction**: Generates interaction graphs based on the input graph using three types of edges: expander graph edges, global nodes edges, and local neighborhood edges.\n\n3. **Purpose and Function of Major Components**:\n - **Expander Graph Attention**: Provides a sparse connection pattern that allows information propagation between distant nodes while maintaining a linear number of edges.\n - **Global Attention**: Introduces virtual nodes that connect to all other nodes, facilitating global information flow and serving as a universal approximator.\n - **Local Neighborhood Attention**: Ensures that each node can attend to its immediate neighbors, preserving local graph structure.\n\n4. **Implementation Details**:\n - **Key Parameters**:\n - **Number of Layers**: Typically between 3 to 7 layers depending on the dataset.\n - **Hidden Dimension**: Common choices range from 32 to 128.\n - **Number of Heads**: Set to 4 or 8, depending on the complexity of the task.\n - **Dropout Rate**: Generally between 0.1 to 0.3 to prevent overfitting.\n - **Expander Degree**: Between 6 to 22, determined through linear search based on performance.\n - **Number of Virtual Nodes**: Ranges from 1 to 6 based on the dataset.\n - **Input/Output Specifications**:\n - **Input**: The proposed model accepts a graph represented as an adjacency matrix and node feature matrix.\n - **Output**: The output is typically a node classification or graph embedding.\n - **Constraints**: Ensure that the expander graph is generated correctly; it should be a d-regular graph for optimal performance.\n\n5. **Step-by-Step Interaction of Components**:\n - Step 1: Construct the input graph and generate the local neighborhood edges based on the adjacency matrix.\n - Step 2: Generate expander graphs using a random regular expander graph construction method (e.g., using permutations as described).\n - Step 3: Add a set of global nodes connected to every other node in the graph.\n - Step 4: Combine these three types of edges to form the interaction graph H, which will be used for attention calculations.\n - Step 5: Implement the attention mechanism using the interaction graph H, ensuring to compute attention scores using the defined edge types.\n - Step 6: Process the output through a feedforward layer after the attention step, and use a suitable activation function (e.g., ReLU).\n\n6. **Critical Implementation Details**:\n - The choice of parameters such as the number of heads and the hidden dimension can significantly affect performance; tuning these parameters is crucial.\n - Ensure that the proposed model manages memory efficiently, especially when scaling to larger graphs; utilize batch sizes that fit within the GPU memory constraints.\n - Implement mechanisms to handle edge features effectively, particularly for local neighborhood edges, to enhance the model's expressivity.\n - Use positional encodings to maintain the order and structure of nodes, which is vital for the proposed model to learn effectively from the graph data.\n\nBy following these steps and guidelines, researchers can effectively reproduce the core methodology of the proposed sparse graph transformer architecture.", + "task2": "The primary task or problem domain the research tackles:\nThe research addresses the scalability and effectiveness of graph transformers for various graph learning and representation tasks, particularly in scenarios with large graphs.\n\nCurrent limitations in existing approaches that motivated this work:\nExisting graph transformer models struggle with scalability due to their quadratic complexity in the number of nodes, which limits their applicability to larger datasets. Additionally, these models often do not achieve accuracy levels comparable to message-passing networks in practical settings.\n\nCore challenges the researchers aim to overcome:\nThe researchers aim to overcome the challenges of high computational costs associated with dense attention mechanisms in graph transformers, as well as the expressivity limitations that prevent these models from outperforming traditional message-passing approaches.\n\nKey objectives and intended contributions:\nThe key objectives include developing a new framework that introduces sparse attention mechanisms to enable linear computational complexity concerning the number of nodes and edges. The intended contributions involve providing a scalable architecture that maintains competitive accuracy with message-passing networks while enabling the application of graph transformers to larger graphs than previously feasible." } \ No newline at end of file diff --git a/benchmark/final/gnn/gnn_universal.json b/benchmark/final/gnn/gnn_universal.json index 2c423a3..a3b2c59 100755 --- a/benchmark/final/gnn/gnn_universal.json +++ b/benchmark/final/gnn/gnn_universal.json @@ -1,147 +1,147 @@ -{ - "target": "Towards the Universal Learning Principle for Graph Neural Networks", - "instance_id": "gnn_universal", - "source_papers": [ - { - "reference": "Semi-supervised classification with graph convolutional networks", - "rank": 1, - "type": [ - "methodological" - ], - "justification": "This study established a foundational framework for graph convolutional networks (GCNs), significantly influencing the design and methodology for subsequent GNNs. It introduced the core concepts of convolutional operations on graph data and was pivotal in showing the capabilities of the proposed model for representation learning.", - "usage": "Served as a baseline for constructing the theoretical framework of the proposed model by contextualizing the propagation mechanisms and graph filters." - }, - { - "reference": "Predict then propagate: Graph neural networks meet personalized pagerank", - "rank": 2, - "type": [ - "methodological" - ], - "justification": "This work introduced the Personalized PageRank (PPNP) model, allowing for flexible information propagation across graphs. It highlighted the trade-off in neighbor information weighting, which was crucial for the design of the graph filters within the proposed model.", - "usage": "Informed the integration of edge weighting and propagation method into the new learning principle for the proposed model." - }, - { - "reference": "Learning theory can (sometimes) explain generalization in graph neural networks", - "rank": 3, - "type": [ - "conceptual" - ], - "justification": "The exploration of generalization in GNNs provided invaluable insights into the theoretical underpinnings required to establish confidence in model performance. This work is essential to justify the scaling and stability of deep architectures like the proposed model.", - "usage": "The generalization results guided the theoretical framework behind the convergence properties of the proposed model." - }, - { - "reference": "Convolutional neural networks on graphs with fast localized spectral filtering", - "rank": 4, - "type": [ - "methodological" - ], - "justification": "Defferrard et al. presented a method for localized spectral filtering, which shaped the approach to designing filters in GNNs. The polynomial graph filter ideas presented were directly applicable in developing the proposed model.", - "usage": "Used to theoretically underpin the construction of graph filters in the proposed model, establishing expectations for their performance." - }, - { - "reference": "Adaptive universal generalized pagerank graph neural network", - "rank": 5, - "type": [ - "methodological" - ], - "justification": "This study focused on creating learnable filters using a Generalized PageRank method, which aligns with the filtering approach used in the proposed model. The analysis and architecture developed were crucial for understanding adaptive aggregation.", - "usage": "Informed the adaptive components of graph filters, emphasizing learnability in the proposed model's design." - }, - { - "reference": "How powerful are k-hop message passing graph neural networks", - "rank": 6, - "type": [ - "conceptual" - ], - "justification": "This research provided significant insights into the k-hop message propagation mechanisms and their impacts on GNN performance, underpinning the importance of understanding deeper neighbor interactions for optimal performance.", - "usage": "Shaped the conceptual understanding of how neighbor information affects aggregation strategies in the proposed model." - }, - { - "reference": "Towards deeper graph neural networks", - "rank": 7, - "type": [ - "conceptual" - ], - "justification": "The exploration of depth in GNNs brings critical evaluations of performance limitations, addressing concerns regarding convergence and stability, which are highly relevant for designing the proposed model's architecture.", - "usage": "Guided the consideration of depth and its implications in the proposed approach universal learning principle." - }, - { - "reference": "How powerful are graph neural networks?", - "rank": 8, - "type": [ - "conceptual" - ], - "justification": "This study delved into the comparative effectiveness of various GNN architectures, providing a framework for evaluating the capabilities and limitations of deep GNNs, directly influencing the proposed model\u2019s design.", - "usage": "Influenced the proposed model's design strategy by emphasizing the necessity for both depth and effective propagation." - }, - { - "reference": "Learning arbitrary graph spectral filters via bernstein approximation", - "rank": 9, - "type": [ - "methodological" - ], - "justification": "This work developed a learning framework for spectral graph filters, which was essential in expanding the theoretical background for performance expectations of graph-related models like the proposed model.", - "usage": "Informed the various functionalities of learning spectral filters utilized in the proposed model architecture." - }, - { - "reference": "Graph convolution network based recommender systems: Learning guarantee and item mixture powered strategy", - "rank": 10, - "type": [ - "conceptual" - ], - "justification": "This study examined the application of GNNs in various domains, emphasizing the versatility and significance of GNN methodologies in real-world tasks, providing additional context for the proposed application of the proposed model.", - "usage": "Conceived the broader applicability of GNN models within many domains, justifying the necessity for developing adaptable GNN frameworks." - }, - { - "reference": "Towards understanding the generalization of graph neural networks", - "rank": 11, - "type": [ - "conceptual" - ], - "justification": "This work elaborates on the generalization capabilities of various GNN architectures, providing insights into critical stability and performance issues that manifest in deeper networks.", - "usage": "Supported the generalization analysis underpinning the proposed model and highlighted the theoretical gaps that this paper attempts to address." - }, - { - "reference": "Attention based spatial-temporal graph convolutional networks for traffic flow forecasting", - "rank": 12, - "type": [ - "conceptual" - ], - "justification": "This study exhibited GNN capabilities in dynamic environments, allowing for a deeper understanding of how filter design impacts performance across temporal and spatial dimensions, of which the proposed model is a potential instance.", - "usage": "Provided examples of dynamic contexts where GNNs can flourish, allowing the proposed model to leverage more diverse data structures." - }, - { - "reference": "Inductive representation learning on large graphs", - "rank": 13, - "type": [ - "conceptual" - ], - "justification": "This foundational work on inductive learning informs best practices and expectations for representations learned through GNNs, guiding assessments of new models like the proposed model.", - "usage": "Influenced the understanding of representation learning principles applicable within the framework of the proposed model." - }, - { - "reference": "Graph neural networks meet personalized pagerank", - "rank": 14, - "type": [ - "conceptual" - ], - "justification": "This work solidifies core ideas about integrating personalized approaches into GNNs, thereby setting a precedent for considering adaptability in neighbor aggregation.", - "usage": "Provided structural insights about focusing on personalization in propagation that were key in the proposed model framework." - } - ], - "authors": [ - "Foping Chen", - "Junhong Zhang", - "Guangfei Liang", - "Richard Yi Da Xu", - "Zhihui Lai" - ], - "year": 2024, - "url": "https://openreview.net/pdf?id=Aarj9MrG8Y", - "abstract": "Graph neural networks (GNNs) are currently highly regarded in graph representation learning tasks due to their significant performance. Although various propagation mechanisms and graph filters were proposed, few works have considered the convergence and stability of graph filters under infinite-depth scenarios. To address this problem, we elucidate the criterion for the graph filter formed by power series and further establish a scalable regularized learning principle, which can guide us on how to design infinite deep GNN. Following the framework, we develop Adaptive Power GNN (APGNN), a deep GNN that employs exponentially decaying weights to aggregate graph information of different orders so as to mine the deeper neighbor information. Different from existing GNNs, APGNN can be seamlessly extended to an infinite-depth network. Moreover, we analyze the generalization of the proposed learning framework via uniform convergence and present its upper bound in theory. Experimental results show that APGNN obtains superior performance against the state-of-the-art GNNs.", - "citations": 0, - "topic": "low_rate", - "field": "low_rate", - "task1": "The proposed model described in this paper is intended for node classification tasks within graph representation learning. To implement the core methodology, researchers should follow these detailed steps:\n\n1. **Task Objective**: The main task of the proposed model is node classification on graph-structured data.\n\n2. **Core Techniques**:\n - **Type of Model**: Utilize a graph neural network (GNN) that operates on the principle of adaptive power series graph filters.\n - **Optimization Method**: Regularize the learning of coefficients that form the graph filter to ensure convergence and stability through Lipschitz continuity.\n - **Data Processing**: Construct a normalized adjacency matrix and feature representation of graph nodes to feed into the proposed model.\n\n3. **Technical Components**:\n - **Graph Filter Design**: Use a learnable graph filter specified as \\(g_{K,P}(L) = \\sum_{k=0}^{K} \\beta_k \\alpha^k \\tilde{A}^{kP}\\) where \\(|\\beta_k| \\leq 1\\) and \\(0 < \\alpha < 1\\). The decay rate \\(\\alpha\\), defined to ensure convergence, acts on the polynomial coefficients to emphasize lower-order neighbors.\n - **Feature Extraction Mechanism**: Employ a multi-layer perceptron (MLP) as a feature extractor, which processes the input node features.\n\n4. **Implementation Details**:\n - **Key Parameters**: \n - **K**: The order of the polynomial graph filter (typically set to 10 based on experimental findings).\n - **P**: The order of the P-hop filter (tune from 1 upwards to balance performance and stability).\n - **\\(\\alpha\\)**: Tune this hyperparameter to be between 0.1 and 0.9, aiming for the optimal range typically around 0.7.\n - **Input/Output Specifications**: \n - **Input**: Node features represented as a matrix \\([X]\\) where each row corresponds to a node and columns refer to features.\n - **Output**: A matrix \\(Z\\) with the node representation predicting their classes.\n - **Constraints**: Ensure the coefficients' norm satisfies \\(\\| \\beta \\|_1 \\leq M\\), enforcing convergence conditions on the graph filter.\n\n5. **Step-by-Step Interaction**:\n - Begin by constructing the normalized adjacency matrix \\(\\tilde{A}\\) using the degree matrix and adjacency matrix of the graph.\n - Implement the graph filter based on the power series expansion with the defined polynomial functions.\n - Pass the graph features through the MLP to generate node embeddings, which are then processed through the graph filter.\n - Aggregate the results using the defined decay terms to focus more on lower-order neighbors, combining outputs into the final node representations.\n - Train the proposed model end-to-end with respect to fitting the classification labels, tuning the parameters \\(K\\), \\(P\\), and \\(\\alpha\\) as necessary based on validation performance.\n\n6. **Critical Implementation Details**:\n - **Convergence and Stability**: Regularly validate convergence by ensuring \\(\\sum_{k=0}^{\\infty} |\\beta_k| \\leq M\\) is controlled during training to mitigate over-smoothing issues, particularly when using high \\(P\\) values.\n - **Performance Tuning**: Conduct a grid search or similar to ascertain optimal settings for the polynomial order \\(K\\) and decay rate \\(\\alpha\\), as small deviations can significantly impact the stability and accuracy of the proposed model.\n\nImplement these steps with attention to hyperparameter tuning and structural considerations to replicate the methodology effectively as prescribed in this study.", - "task2": "1. The primary task or problem domain the research tackles is the design of graph neural networks (GNNs) with a focus on achieving convergence and stability, particularly under scenarios involving infinite depth.\n\n2. Current limitations in existing approaches that motivated this work include the inability of various graph filters to guarantee convergence as the network depth approaches infinity and the lack of a general principle for constructing such filters in GNNs.\n\n3. Core challenges the researchers aim to overcome include ensuring that the proposed graph filters maintain stability and convergence when employed in infinitely deep GNN architectures, as well as devising a robust framework that can effectively guide the design of these filters.\n\n4. Key objectives and intended contributions consist of proposing a universal learning principle that provides theoretical guidance for constructing deep GNNs; presenting a new GNN framework capable of adaptive filtering that accounts for the varying importance of neighbor information; and conducting a generalization analysis that reinforces the theoretical foundations of the proposed model." +{ + "target": "Towards the Universal Learning Principle for Graph Neural Networks", + "instance_id": "gnn_universal", + "source_papers": [ + { + "reference": "Semi-supervised classification with graph convolutional networks", + "rank": 1, + "type": [ + "methodological" + ], + "justification": "This study established a foundational framework for graph convolutional networks (GCNs), significantly influencing the design and methodology for subsequent GNNs. It introduced the core concepts of convolutional operations on graph data and was pivotal in showing the capabilities of the proposed model for representation learning.", + "usage": "Served as a baseline for constructing the theoretical framework of the proposed model by contextualizing the propagation mechanisms and graph filters." + }, + { + "reference": "Predict then propagate: Graph neural networks meet personalized pagerank", + "rank": 2, + "type": [ + "methodological" + ], + "justification": "This work introduced the Personalized PageRank (PPNP) model, allowing for flexible information propagation across graphs. It highlighted the trade-off in neighbor information weighting, which was crucial for the design of the graph filters within the proposed model.", + "usage": "Informed the integration of edge weighting and propagation method into the new learning principle for the proposed model." + }, + { + "reference": "Learning theory can (sometimes) explain generalization in graph neural networks", + "rank": 3, + "type": [ + "conceptual" + ], + "justification": "The exploration of generalization in GNNs provided invaluable insights into the theoretical underpinnings required to establish confidence in model performance. This work is essential to justify the scaling and stability of deep architectures like the proposed model.", + "usage": "The generalization results guided the theoretical framework behind the convergence properties of the proposed model." + }, + { + "reference": "Convolutional neural networks on graphs with fast localized spectral filtering", + "rank": 4, + "type": [ + "methodological" + ], + "justification": "Defferrard et al. presented a method for localized spectral filtering, which shaped the approach to designing filters in GNNs. The polynomial graph filter ideas presented were directly applicable in developing the proposed model.", + "usage": "Used to theoretically underpin the construction of graph filters in the proposed model, establishing expectations for their performance." + }, + { + "reference": "Adaptive universal generalized pagerank graph neural network", + "rank": 5, + "type": [ + "methodological" + ], + "justification": "This study focused on creating learnable filters using a Generalized PageRank method, which aligns with the filtering approach used in the proposed model. The analysis and architecture developed were crucial for understanding adaptive aggregation.", + "usage": "Informed the adaptive components of graph filters, emphasizing learnability in the proposed model's design." + }, + { + "reference": "How powerful are k-hop message passing graph neural networks", + "rank": 6, + "type": [ + "conceptual" + ], + "justification": "This research provided significant insights into the k-hop message propagation mechanisms and their impacts on GNN performance, underpinning the importance of understanding deeper neighbor interactions for optimal performance.", + "usage": "Shaped the conceptual understanding of how neighbor information affects aggregation strategies in the proposed model." + }, + { + "reference": "Towards deeper graph neural networks", + "rank": 7, + "type": [ + "conceptual" + ], + "justification": "The exploration of depth in GNNs brings critical evaluations of performance limitations, addressing concerns regarding convergence and stability, which are highly relevant for designing the proposed model's architecture.", + "usage": "Guided the consideration of depth and its implications in the proposed approach universal learning principle." + }, + { + "reference": "How powerful are graph neural networks?", + "rank": 8, + "type": [ + "conceptual" + ], + "justification": "This study delved into the comparative effectiveness of various GNN architectures, providing a framework for evaluating the capabilities and limitations of deep GNNs, directly influencing the proposed model\u2019s design.", + "usage": "Influenced the proposed model's design strategy by emphasizing the necessity for both depth and effective propagation." + }, + { + "reference": "Learning arbitrary graph spectral filters via bernstein approximation", + "rank": 9, + "type": [ + "methodological" + ], + "justification": "This work developed a learning framework for spectral graph filters, which was essential in expanding the theoretical background for performance expectations of graph-related models like the proposed model.", + "usage": "Informed the various functionalities of learning spectral filters utilized in the proposed model architecture." + }, + { + "reference": "Graph convolution network based recommender systems: Learning guarantee and item mixture powered strategy", + "rank": 10, + "type": [ + "conceptual" + ], + "justification": "This study examined the application of GNNs in various domains, emphasizing the versatility and significance of GNN methodologies in real-world tasks, providing additional context for the proposed application of the proposed model.", + "usage": "Conceived the broader applicability of GNN models within many domains, justifying the necessity for developing adaptable GNN frameworks." + }, + { + "reference": "Towards understanding the generalization of graph neural networks", + "rank": 11, + "type": [ + "conceptual" + ], + "justification": "This work elaborates on the generalization capabilities of various GNN architectures, providing insights into critical stability and performance issues that manifest in deeper networks.", + "usage": "Supported the generalization analysis underpinning the proposed model and highlighted the theoretical gaps that this paper attempts to address." + }, + { + "reference": "Attention based spatial-temporal graph convolutional networks for traffic flow forecasting", + "rank": 12, + "type": [ + "conceptual" + ], + "justification": "This study exhibited GNN capabilities in dynamic environments, allowing for a deeper understanding of how filter design impacts performance across temporal and spatial dimensions, of which the proposed model is a potential instance.", + "usage": "Provided examples of dynamic contexts where GNNs can flourish, allowing the proposed model to leverage more diverse data structures." + }, + { + "reference": "Inductive representation learning on large graphs", + "rank": 13, + "type": [ + "conceptual" + ], + "justification": "This foundational work on inductive learning informs best practices and expectations for representations learned through GNNs, guiding assessments of new models like the proposed model.", + "usage": "Influenced the understanding of representation learning principles applicable within the framework of the proposed model." + }, + { + "reference": "Graph neural networks meet personalized pagerank", + "rank": 14, + "type": [ + "conceptual" + ], + "justification": "This work solidifies core ideas about integrating personalized approaches into GNNs, thereby setting a precedent for considering adaptability in neighbor aggregation.", + "usage": "Provided structural insights about focusing on personalization in propagation that were key in the proposed model framework." + } + ], + "authors": [ + "Foping Chen", + "Junhong Zhang", + "Guangfei Liang", + "Richard Yi Da Xu", + "Zhihui Lai" + ], + "year": 2024, + "url": "https://openreview.net/pdf?id=Aarj9MrG8Y", + "abstract": "Graph neural networks (GNNs) are currently highly regarded in graph representation learning tasks due to their significant performance. Although various propagation mechanisms and graph filters were proposed, few works have considered the convergence and stability of graph filters under infinite-depth scenarios. To address this problem, we elucidate the criterion for the graph filter formed by power series and further establish a scalable regularized learning principle, which can guide us on how to design infinite deep GNN. Following the framework, we develop Adaptive Power GNN (APGNN), a deep GNN that employs exponentially decaying weights to aggregate graph information of different orders so as to mine the deeper neighbor information. Different from existing GNNs, APGNN can be seamlessly extended to an infinite-depth network. Moreover, we analyze the generalization of the proposed learning framework via uniform convergence and present its upper bound in theory. Experimental results show that APGNN obtains superior performance against the state-of-the-art GNNs.", + "citations": 0, + "topic": "low_rate", + "field": "low_rate", + "task1": "The proposed model described in this paper is intended for node classification tasks within graph representation learning. To implement the core methodology, researchers should follow these detailed steps:\n\n1. **Task Objective**: The main task of the proposed model is node classification on graph-structured data.\n\n2. **Core Techniques**:\n - **Type of Model**: Utilize a graph neural network (GNN) that operates on the principle of adaptive power series graph filters.\n - **Optimization Method**: Regularize the learning of coefficients that form the graph filter to ensure convergence and stability through Lipschitz continuity.\n - **Data Processing**: Construct a normalized adjacency matrix and feature representation of graph nodes to feed into the proposed model.\n\n3. **Technical Components**:\n - **Graph Filter Design**: Use a learnable graph filter specified as \\(g_{K,P}(L) = \\sum_{k=0}^{K} \\beta_k \\alpha^k \\tilde{A}^{kP}\\) where \\(|\\beta_k| \\leq 1\\) and \\(0 < \\alpha < 1\\). The decay rate \\(\\alpha\\), defined to ensure convergence, acts on the polynomial coefficients to emphasize lower-order neighbors.\n - **Feature Extraction Mechanism**: Employ a multi-layer perceptron (MLP) as a feature extractor, which processes the input node features.\n\n4. **Implementation Details**:\n - **Key Parameters**: \n - **K**: The order of the polynomial graph filter (typically set to 10 based on experimental findings).\n - **P**: The order of the P-hop filter (tune from 1 upwards to balance performance and stability).\n - **\\(\\alpha\\)**: Tune this hyperparameter to be between 0.1 and 0.9, aiming for the optimal range typically around 0.7.\n - **Input/Output Specifications**: \n - **Input**: Node features represented as a matrix \\([X]\\) where each row corresponds to a node and columns refer to features.\n - **Output**: A matrix \\(Z\\) with the node representation predicting their classes.\n - **Constraints**: Ensure the coefficients' norm satisfies \\(\\| \\beta \\|_1 \\leq M\\), enforcing convergence conditions on the graph filter.\n\n5. **Step-by-Step Interaction**:\n - Begin by constructing the normalized adjacency matrix \\(\\tilde{A}\\) using the degree matrix and adjacency matrix of the graph.\n - Implement the graph filter based on the power series expansion with the defined polynomial functions.\n - Pass the graph features through the MLP to generate node embeddings, which are then processed through the graph filter.\n - Aggregate the results using the defined decay terms to focus more on lower-order neighbors, combining outputs into the final node representations.\n - Train the proposed model end-to-end with respect to fitting the classification labels, tuning the parameters \\(K\\), \\(P\\), and \\(\\alpha\\) as necessary based on validation performance.\n\n6. **Critical Implementation Details**:\n - **Convergence and Stability**: Regularly validate convergence by ensuring \\(\\sum_{k=0}^{\\infty} |\\beta_k| \\leq M\\) is controlled during training to mitigate over-smoothing issues, particularly when using high \\(P\\) values.\n - **Performance Tuning**: Conduct a grid search or similar to ascertain optimal settings for the polynomial order \\(K\\) and decay rate \\(\\alpha\\), as small deviations can significantly impact the stability and accuracy of the proposed model.\n\nImplement these steps with attention to hyperparameter tuning and structural considerations to replicate the methodology effectively as prescribed in this study.", + "task2": "1. The primary task or problem domain the research tackles is the design of graph neural networks (GNNs) with a focus on achieving convergence and stability, particularly under scenarios involving infinite depth.\n\n2. Current limitations in existing approaches that motivated this work include the inability of various graph filters to guarantee convergence as the network depth approaches infinity and the lack of a general principle for constructing such filters in GNNs.\n\n3. Core challenges the researchers aim to overcome include ensuring that the proposed graph filters maintain stability and convergence when employed in infinitely deep GNN architectures, as well as devising a robust framework that can effectively guide the design of these filters.\n\n4. Key objectives and intended contributions consist of proposing a universal learning principle that provides theoretical guidance for constructing deep GNNs; presenting a new GNN framework capable of adaptive filtering that accounts for the varying importance of neighbor information; and conducting a generalization analysis that reinforces the theoretical foundations of the proposed model." } \ No newline at end of file diff --git a/benchmark/final/gnn/graphgpt.json b/benchmark/final/gnn/graphgpt.json index 3f87dd5..9d345d9 100755 --- a/benchmark/final/gnn/graphgpt.json +++ b/benchmark/final/gnn/graphgpt.json @@ -1,99 +1,99 @@ -{ - "target": "GraphGPT: Graph Instruction Tuning for Large Language Models", - "instance_id": "graphgpt", - "source_papers": [ - { - "reference": "Graph Neural Networks: A Review of Methods and Applications", - "rank": 1, - "type": [ - "methodological" - ], - "justification": "This paper provides foundational concepts and methodologies related to Graph Neural Networks (GNNs), which are crucial for understanding graph structures and generalization capabilities in the context of the proposed model framework.", - "usage": "Core methodologies of GNNs were integrated into the proposed model framework to enhance understanding of graph data." - }, - { - "reference": "Deep Graph Infomax", - "rank": 2, - "type": [ - "component" - ], - "justification": "This study presents advancements in self-supervised learning, particularly through the Deep Graph Infomax (DGI) technique, which was essential for incorporating self-supervised signals into the proposed model's instruction tuning process.", - "usage": "The DGI approach was used to enhance self-supervision in the instruction tuning of the proposed model." - }, - { - "reference": "Semi-Supervised Classification with Graph Convolutional Networks", - "rank": 3, - "type": [ - "methodological" - ], - "justification": "This work discusses the adaptation of convolutional networks to graph data, providing critical insights into feature representation that bolstered the proposed model's generalization capabilities.", - "usage": "The concepts from GCNs were adapted for improving generalization in zero-shot learning scenarios." - }, - { - "reference": "Attention is All You Need", - "rank": 4, - "type": [ - "methodological" - ], - "justification": "This seminal paper introduces self-attention mechanisms, which are pivotal in the architecture of the proposed model for capturing complex dependencies in graph data.", - "usage": "Self-attention principles were utilized in the proposed model to effectively manage graph structural information." - }, - { - "reference": "Graph Attention Networks", - "rank": 5, - "type": [ - "component" - ], - "justification": "This paper elaborates on attention mechanisms tailored for graph data, which were instrumental in improving information aggregation within the proposed model.", - "usage": "Attention mechanisms from GATs were integrated to enhance the proposed model's performance on graph tasks." - }, - { - "reference": "BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding", - "rank": 6, - "type": [ - "methodological" - ], - "justification": "BERT's text encoding techniques provided a robust method for integrating textual information into the proposed model framework, allowing for effective text-graph alignment.", - "usage": "BERT's architecture was adapted for encoding text in relation to graph data." - }, - { - "reference": "Learning Transferable Visual Models From Natural Language Supervision", - "rank": 7, - "type": [ - "conceptual" - ], - "justification": "This study's exploration of self-supervised signals inspired the design of instruction tuning within the proposed model, emphasizing the need for robust pre-training methods.", - "usage": "The design of self-supervised instruction tuning in the proposed model was influenced by the methodologies proposed in this paper." - }, - { - "reference": "Gpt-gnn: Generative pre-training of graph neural networks", - "rank": 8, - "type": [ - "conceptual" - ], - "justification": "This study addresses generative pre-training for GNNs, providing a conceptual basis for integrating generative aspects into the proposed model framework.", - "usage": "The generative pre-training concepts informed the development of the proposed model's learning strategies." - } - ], - "authors": [ - "Jiabin Tang", - "Yuhao Yang", - "Wei Wei", - "Lei Shi", - "Lixin Su", - "Suqi Cheng", - "Dawei Yin", - "Chao Huang" - ], - "year": 2023, - "url": "http://arxiv.org/abs/2310.13023v3", - "abstract": "Graph Neural Networks (GNNs) have evolved to understand graph structures\nthrough recursive exchanges and aggregations among nodes. To enhance\nrobustness, self-supervised learning (SSL) has become a vital tool for data\naugmentation. Traditional methods often depend on fine-tuning with\ntask-specific labels, limiting their effectiveness when labeled data is scarce.\nOur research tackles this by advancing graph model generalization in zero-shot\nlearning environments. Inspired by the success of large language models (LLMs),\nwe aim to create a graph-oriented LLM capable of exceptional generalization\nacross various datasets and tasks without relying on downstream graph data. We\nintroduce the GraphGPT framework, which integrates LLMs with graph structural\nknowledge through graph instruction tuning. This framework includes a\ntext-graph grounding component to link textual and graph structures and a\ndual-stage instruction tuning approach with a lightweight graph-text alignment\nprojector. These innovations allow LLMs to comprehend complex graph structures\nand enhance adaptability across diverse datasets and tasks. Our framework\ndemonstrates superior generalization in both supervised and zero-shot graph\nlearning tasks, surpassing existing benchmarks. The open-sourced model\nimplementation of our GraphGPT is available at\nhttps://github.com/HKUDS/GraphGPT.", - "venue": "Annual International ACM SIGIR Conference on Research and Development in Information Retrieval", - "venue_source": "Semantic Scholar", - "venue_lookup_time": "2024-11-19T16:38:51.075279", - "citations": 0, - "topic": "GraphGPT Graph Instruction Tuning for Large Language Models", - "field": "preselected", - "task1": "To implement the core methodology of the research presented in this paper, follow these detailed instructions:\n\n1. **Task**: The proposed model is designed for graph instruction tuning, enhancing the adaptability and generalization of large language models (LLMs) in graph learning tasks, specifically in supervised and zero-shot learning scenarios.\n\n2. **Core Techniques/Algorithms**: \n - **Graph Neural Network (GNN) Encoder**: Use a message-passing architecture such as Graph Convolutional Network (GCN) or Graph Transformer Networks (GTNs) to encode graph structural information.\n - **Text Encoder**: Utilize a pre-trained transformer model (e.g., BERT) to encode textual representations associated with graph nodes.\n - **Dual-Stage Instruction Tuning**: This includes self-supervised instruction tuning and task-specific instruction tuning.\n - **Lightweight Graph-Text Alignment Projector**: A simple linear layer to align graph tokens with text tokens.\n - **Chain-of-Thought (CoT) Distillation**: A technique to enhance the reasoning capabilities of the LLM by integrating step-by-step reasoning.\n\n3. **Purpose and Function**:\n - **GNN Encoder**: Extracts structural features from the graph to inform the LLM about the relationships between nodes.\n - **Text Encoder**: Encodes node-related textual information to facilitate alignment with graph structure.\n - **Instruction Tuning**: Adjusts the LLM's parameters to better understand and perform graph-related tasks.\n - **Alignment Projector**: Bridges the gap between graph and text modalities, ensuring coherent integration.\n - **CoT Distillation**: Improves logical reasoning in graph-related predictions.\n\n4. **Implementation Details**:\n - **GNN Encoder**: Choose a backbone (GCN or GTN). Key parameters include the number of layers (l), learning rate (e.g., 2e-3), and activation function (e.g., ReLU). Input is the adjacency matrix (A) and feature matrix (X); output is the encoded graph representation.\n - **Text Encoder**: Use a transformer model, ensuring the input consists of the text associated with each graph node. Normalize the output representations.\n - **Alignment Projector**: Implement a linear layer to project graph representations to align with text representations. Output should match the number of graph tokens.\n - **Instruction Tuning**: \n - Self-supervised stage: Use unlabeled graph structures to create instructions for the LLM. Generate prompts that include graph tokens and human questions.\n - Task-specific stage: Fine-tune the LLM with labeled data, modifying the parameters of the alignment projector while keeping other components fixed.\n - **CoT Distillation**: Generate reasoning prompts using a powerful LLM and refine the reasoning capabilities of your model.\n\n5. **Step-by-Step Interaction**:\n - Start by encoding the graph using the GNN encoder. Pass the graph's adjacency and feature matrices.\n - Simultaneously encode the node-associated text using the text encoder.\n - Normalize and align the outputs of both encoders using the lightweight alignment projector.\n - In the self-supervised instruction tuning stage, generate graph matching tasks to inform the LLM using unlabeled data.\n - Proceed to the task-specific instruction tuning, where you provide labeled examples to adapt the LLM's reasoning for specific graph tasks.\n - Incorporate CoT techniques to enhance the proposed model's reasoning abilities by distilling knowledge from a larger pre-trained model.\n\n6. **Critical Implementation Details**:\n - Ensure that the parameters of the GNN and text encoder are properly initialized and that their representations are appropriately normalized.\n - The batch sizes during training should be managed to avoid memory overflow, especially when tuning the LLM parameters.\n - Monitor the learning rates and warmup ratios to stabilize the training process, particularly for the alignment projector.\n - During evaluation, assess both the accuracy and generalization ability of the proposed model across different graph datasets and tasks to ensure robustness.\n\nBy following these instructions, researchers can effectively reproduce the core methodology of the proposed framework in this study without requiring further reading.", - "task2": "1. The primary task of this research is to improve the generalization capabilities of graph models in zero-shot learning scenarios by integrating large language models (LLMs) with graph structural knowledge.\n\n2. Existing approaches often rely heavily on supervised learning and task-specific labels, which limits their robustness and generalization capabilities, especially in situations where labeled data is scarce or unavailable.\n\n3. The core challenges the researchers aim to overcome include achieving an effective alignment between graph structural information and language representations, guiding LLMs to understand complex graph structures, and enhancing step-by-step reasoning abilities for complex graph learning tasks.\n\n4. The key objectives and intended contributions of this study are to develop a graph-oriented LLM framework that enhances generalization across diverse datasets and tasks, to introduce a dual-stage instruction tuning paradigm that leverages self-supervised learning signals, and to establish a method for aligning graph knowledge with language understanding, thereby improving the adaptability of LLMs for various graph learning tasks." +{ + "target": "GraphGPT: Graph Instruction Tuning for Large Language Models", + "instance_id": "graphgpt", + "source_papers": [ + { + "reference": "Graph Neural Networks: A Review of Methods and Applications", + "rank": 1, + "type": [ + "methodological" + ], + "justification": "This paper provides foundational concepts and methodologies related to Graph Neural Networks (GNNs), which are crucial for understanding graph structures and generalization capabilities in the context of the proposed model framework.", + "usage": "Core methodologies of GNNs were integrated into the proposed model framework to enhance understanding of graph data." + }, + { + "reference": "Deep Graph Infomax", + "rank": 2, + "type": [ + "component" + ], + "justification": "This study presents advancements in self-supervised learning, particularly through the Deep Graph Infomax (DGI) technique, which was essential for incorporating self-supervised signals into the proposed model's instruction tuning process.", + "usage": "The DGI approach was used to enhance self-supervision in the instruction tuning of the proposed model." + }, + { + "reference": "Semi-Supervised Classification with Graph Convolutional Networks", + "rank": 3, + "type": [ + "methodological" + ], + "justification": "This work discusses the adaptation of convolutional networks to graph data, providing critical insights into feature representation that bolstered the proposed model's generalization capabilities.", + "usage": "The concepts from GCNs were adapted for improving generalization in zero-shot learning scenarios." + }, + { + "reference": "Attention is All You Need", + "rank": 4, + "type": [ + "methodological" + ], + "justification": "This seminal paper introduces self-attention mechanisms, which are pivotal in the architecture of the proposed model for capturing complex dependencies in graph data.", + "usage": "Self-attention principles were utilized in the proposed model to effectively manage graph structural information." + }, + { + "reference": "Graph Attention Networks", + "rank": 5, + "type": [ + "component" + ], + "justification": "This paper elaborates on attention mechanisms tailored for graph data, which were instrumental in improving information aggregation within the proposed model.", + "usage": "Attention mechanisms from GATs were integrated to enhance the proposed model's performance on graph tasks." + }, + { + "reference": "BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding", + "rank": 6, + "type": [ + "methodological" + ], + "justification": "BERT's text encoding techniques provided a robust method for integrating textual information into the proposed model framework, allowing for effective text-graph alignment.", + "usage": "BERT's architecture was adapted for encoding text in relation to graph data." + }, + { + "reference": "Learning Transferable Visual Models From Natural Language Supervision", + "rank": 7, + "type": [ + "conceptual" + ], + "justification": "This study's exploration of self-supervised signals inspired the design of instruction tuning within the proposed model, emphasizing the need for robust pre-training methods.", + "usage": "The design of self-supervised instruction tuning in the proposed model was influenced by the methodologies proposed in this paper." + }, + { + "reference": "Gpt-gnn: Generative pre-training of graph neural networks", + "rank": 8, + "type": [ + "conceptual" + ], + "justification": "This study addresses generative pre-training for GNNs, providing a conceptual basis for integrating generative aspects into the proposed model framework.", + "usage": "The generative pre-training concepts informed the development of the proposed model's learning strategies." + } + ], + "authors": [ + "Jiabin Tang", + "Yuhao Yang", + "Wei Wei", + "Lei Shi", + "Lixin Su", + "Suqi Cheng", + "Dawei Yin", + "Chao Huang" + ], + "year": 2023, + "url": "http://arxiv.org/abs/2310.13023v3", + "abstract": "Graph Neural Networks (GNNs) have evolved to understand graph structures\nthrough recursive exchanges and aggregations among nodes. To enhance\nrobustness, self-supervised learning (SSL) has become a vital tool for data\naugmentation. Traditional methods often depend on fine-tuning with\ntask-specific labels, limiting their effectiveness when labeled data is scarce.\nOur research tackles this by advancing graph model generalization in zero-shot\nlearning environments. Inspired by the success of large language models (LLMs),\nwe aim to create a graph-oriented LLM capable of exceptional generalization\nacross various datasets and tasks without relying on downstream graph data. We\nintroduce the GraphGPT framework, which integrates LLMs with graph structural\nknowledge through graph instruction tuning. This framework includes a\ntext-graph grounding component to link textual and graph structures and a\ndual-stage instruction tuning approach with a lightweight graph-text alignment\nprojector. These innovations allow LLMs to comprehend complex graph structures\nand enhance adaptability across diverse datasets and tasks. Our framework\ndemonstrates superior generalization in both supervised and zero-shot graph\nlearning tasks, surpassing existing benchmarks. The open-sourced model\nimplementation of our GraphGPT is available at\nhttps://github.com/HKUDS/GraphGPT.", + "venue": "Annual International ACM SIGIR Conference on Research and Development in Information Retrieval", + "venue_source": "Semantic Scholar", + "venue_lookup_time": "2024-11-19T16:38:51.075279", + "citations": 0, + "topic": "GraphGPT Graph Instruction Tuning for Large Language Models", + "field": "preselected", + "task1": "To implement the core methodology of the research presented in this paper, follow these detailed instructions:\n\n1. **Task**: The proposed model is designed for graph instruction tuning, enhancing the adaptability and generalization of large language models (LLMs) in graph learning tasks, specifically in supervised and zero-shot learning scenarios.\n\n2. **Core Techniques/Algorithms**: \n - **Graph Neural Network (GNN) Encoder**: Use a message-passing architecture such as Graph Convolutional Network (GCN) or Graph Transformer Networks (GTNs) to encode graph structural information.\n - **Text Encoder**: Utilize a pre-trained transformer model (e.g., BERT) to encode textual representations associated with graph nodes.\n - **Dual-Stage Instruction Tuning**: This includes self-supervised instruction tuning and task-specific instruction tuning.\n - **Lightweight Graph-Text Alignment Projector**: A simple linear layer to align graph tokens with text tokens.\n - **Chain-of-Thought (CoT) Distillation**: A technique to enhance the reasoning capabilities of the LLM by integrating step-by-step reasoning.\n\n3. **Purpose and Function**:\n - **GNN Encoder**: Extracts structural features from the graph to inform the LLM about the relationships between nodes.\n - **Text Encoder**: Encodes node-related textual information to facilitate alignment with graph structure.\n - **Instruction Tuning**: Adjusts the LLM's parameters to better understand and perform graph-related tasks.\n - **Alignment Projector**: Bridges the gap between graph and text modalities, ensuring coherent integration.\n - **CoT Distillation**: Improves logical reasoning in graph-related predictions.\n\n4. **Implementation Details**:\n - **GNN Encoder**: Choose a backbone (GCN or GTN). Key parameters include the number of layers (l), learning rate (e.g., 2e-3), and activation function (e.g., ReLU). Input is the adjacency matrix (A) and feature matrix (X); output is the encoded graph representation.\n - **Text Encoder**: Use a transformer model, ensuring the input consists of the text associated with each graph node. Normalize the output representations.\n - **Alignment Projector**: Implement a linear layer to project graph representations to align with text representations. Output should match the number of graph tokens.\n - **Instruction Tuning**: \n - Self-supervised stage: Use unlabeled graph structures to create instructions for the LLM. Generate prompts that include graph tokens and human questions.\n - Task-specific stage: Fine-tune the LLM with labeled data, modifying the parameters of the alignment projector while keeping other components fixed.\n - **CoT Distillation**: Generate reasoning prompts using a powerful LLM and refine the reasoning capabilities of your model.\n\n5. **Step-by-Step Interaction**:\n - Start by encoding the graph using the GNN encoder. Pass the graph's adjacency and feature matrices.\n - Simultaneously encode the node-associated text using the text encoder.\n - Normalize and align the outputs of both encoders using the lightweight alignment projector.\n - In the self-supervised instruction tuning stage, generate graph matching tasks to inform the LLM using unlabeled data.\n - Proceed to the task-specific instruction tuning, where you provide labeled examples to adapt the LLM's reasoning for specific graph tasks.\n - Incorporate CoT techniques to enhance the proposed model's reasoning abilities by distilling knowledge from a larger pre-trained model.\n\n6. **Critical Implementation Details**:\n - Ensure that the parameters of the GNN and text encoder are properly initialized and that their representations are appropriately normalized.\n - The batch sizes during training should be managed to avoid memory overflow, especially when tuning the LLM parameters.\n - Monitor the learning rates and warmup ratios to stabilize the training process, particularly for the alignment projector.\n - During evaluation, assess both the accuracy and generalization ability of the proposed model across different graph datasets and tasks to ensure robustness.\n\nBy following these instructions, researchers can effectively reproduce the core methodology of the proposed framework in this study without requiring further reading.", + "task2": "1. The primary task of this research is to improve the generalization capabilities of graph models in zero-shot learning scenarios by integrating large language models (LLMs) with graph structural knowledge.\n\n2. Existing approaches often rely heavily on supervised learning and task-specific labels, which limits their robustness and generalization capabilities, especially in situations where labeled data is scarce or unavailable.\n\n3. The core challenges the researchers aim to overcome include achieving an effective alignment between graph structural information and language representations, guiding LLMs to understand complex graph structures, and enhancing step-by-step reasoning abilities for complex graph learning tasks.\n\n4. The key objectives and intended contributions of this study are to develop a graph-oriented LLM framework that enhances generalization across diverse datasets and tasks, to introduce a dual-stage instruction tuning paradigm that leverages self-supervised learning signals, and to establish a method for aligning graph knowledge with language understanding, thereby improving the adaptability of LLMs for various graph learning tasks." } \ No newline at end of file diff --git a/benchmark/final/recommendation/categorical_rec.json b/benchmark/final/recommendation/categorical_rec.json index 4abf226..db88152 100755 --- a/benchmark/final/recommendation/categorical_rec.json +++ b/benchmark/final/recommendation/categorical_rec.json @@ -1,154 +1,154 @@ -{ - "target": "Categorical Features of entities in Recommendation Systems Using Graph Neural Networks", - "instance_id": "categorical_rec", - "source_papers": [ - { - "reference": "Matrix factorization techniques for recommender systems", - "rank": 1, - "type": [ - "methodological" - ], - "justification": "This seminal work lays the foundation for collaborative filtering methods, highlighting the efficacy of matrix factorization techniques. It has had a profound influence on the development of recommender systems, serving as a core methodological basis for many subsequent studies.", - "usage": "Used to establish baseline methods for comparison with graph neural network approaches." - }, - { - "reference": "Catgcn: Graph convolutional networks with categorical node features", - "rank": 2, - "type": [ - "methodological" - ], - "justification": "This study introduces the use of categorical node features in graph convolutional networks, providing novel methodologies that align with GNN implementations in recommendations. Its conceptualization of categorical attributes as nodes has inspired the use of the proposed model in the current research.", - "usage": "Provided a competitive baseline against which the novel proposed model was tested." - }, - { - "reference": "Graph Representation Learning", - "rank": 3, - "type": [ - "methodological" - ], - "justification": "Offers detailed insights into graph representation techniques, facilitating the understanding and implementation of GNN methods. The connection to user-item interactions contributes to modeling efficacy in recommendation systems, as demonstrated by the proposed approach. This study analyzes the impacts of various strategies on performance metrics.", - "usage": "Influenced design choices related to graph-based approaches in this study." - }, - { - "reference": "Incorporating price into recommendation with graph convolutional networks", - "rank": 4, - "type": [ - "component" - ], - "justification": "Demonstrates how specific user-item attributes (like price) can be effectively integrated into GNN frameworks. The methodology used here provided a foundation for embedding price in the recommended system using the proposed approach.", - "usage": "Utilized as a basis to evaluate the impact of price information in the proposed model." - }, - { - "reference": "Neighbor interaction aware graph convolution networks for recommendation", - "rank": 5, - "type": [ - "component" - ], - "justification": "This research presented enhancements in graph-based recommendations through neighbor interaction awareness, which informed the incorporation of the proposed model aggregations in this paper.", - "usage": "Informed the design of the proposed approach by highlighting the importance of neighbor interactions." - }, - { - "reference": "Context-aware recommender systems", - "rank": 6, - "type": [ - "conceptual" - ], - "justification": "This work inspired the theoretical framework of considering contextual influences on user preferences, underscoring the necessity of categorical features based on user attributes in recommendation models.", - "usage": "Provided conceptual support for the integration of categorical attributes and methodological justification for the proposed approach usage." - }, - { - "reference": "Semi-supervised classification with graph convolutional networks", - "rank": 7, - "type": [ - "methodological" - ], - "justification": "Explores GNN methodologies that enhance classification tasks through semi-supervised frameworks. Such approaches are crucial as they underpin the proposed model's adaptive learning capabilities from sparse dataset contexts.", - "usage": "Informed the training methodologies applied to the proposed model system." - }, - { - "reference": "BPR: bayesian personalized ranking from implicit feedback", - "rank": 8, - "type": [ - "methodological" - ], - "justification": "Describes a widely adopted loss function for recommender systems, utilizing user-item interactions effectively. It establishes a scoring mechanism critical for the evaluation of GNN models in this study.", - "usage": "Employed as part of the training framework for evaluating the proposed model performance." - }, - { - "reference": "Research commentary on recommendations with side information: A survey and research directions", - "rank": 9, - "type": [ - "conceptual" - ], - "justification": "Highlights the significance of side information in enhancing recommendation accuracy, reinforcing the importance of integrating categorical features as additional information.", - "usage": "Informing the rationale for including categorical features in the experimental design." - }, - { - "reference": "A2 GCN", - "rank": 10, - "type": [ - "methodological" - ], - "justification": "This work presents a method for incorporating categorical attributes as additional nodes within graph frameworks, which closely parallels this study's focus on the proposed model, providing methodological insights for implementation.", - "usage": "Compared against existing methodologies as a baseline for model performance evaluation." - }, - { - "reference": "Dual graph enhanced embedding neural network for CTR prediction", - "rank": 11, - "type": [ - "methodological" - ], - "justification": "Enhances understanding of integrating dual graph frameworks within GNNs, offering insights on embedding user-item relationships relevant to the proposed model.", - "usage": "Provided comparative insights for the evaluation of user-item interactions throughout experimentation." - }, - { - "reference": "Wide & deep learning for recommender systems", - "rank": 12, - "type": [ - "conceptual" - ], - "justification": "Offers a comprehensive view on combining feature-based and deep learning methods in recommendations, highlighting the balance between generalization and specialization.", - "usage": "Considered for theoretical parallels in balancing categorical feature integration." - }, - { - "reference": "Price DOES matter!: Modeling price and interest preferences in session-based recommendation", - "rank": 13, - "type": [ - "conceptual" - ], - "justification": "Addresses the relationship between price modeling and user preferences, emphasizing the relevance of price as a categorical feature in the recommendation process.", - "usage": "Informed the design aspects related to categorical features in the proposed model." - }, - { - "reference": "Inductive representation learning on large graphs", - "rank": 14, - "type": [ - "methodological" - ], - "justification": "Elucidates effective techniques for inductive representation learning, critical for adapting GNN methods to dynamic datasets typical in recommendation systems.", - "usage": "Informed representation techniques crucial for the proposed approach methodologies." - }, - { - "reference": "Graph convolutional matrix completion", - "rank": 15, - "type": [ - "methodological" - ], - "justification": "Presents innovative approaches for graph data completion that can benefit from modeling improvements, complementing this study's proposed model integration in GNNs.", - "usage": "Provided methodological context in using the proposed approach for matrix completion within recommender systems." - } - ], - "authors": [ - "Tinatini Buturishvili", - "Nils Morten Kriege" - ], - "year": "2024", - "url": "https://openreview.net/forum?id=PuCno7nwgH", - "abstract": "The paper tackles the challenge of capturing entity attribute-specific preferences in recommender systems, with a particular focus on the role of categorical features within GNN-based user-item recommender engines. Despite the significant influence of categorical features such as brand, category, and price bucket on the user decision-making process, there are not many studies dedicated to understanding the GNN's capability to extract and model such preferences effectively. The study extensively compares and tests various techniques for incorporating categorical features into the GNN framework to address this gap. These techniques include one-hot encoding-based node features, category-value nodes, and hyperedges. Three real-world datasets are used to answer what is the most optimal way to incorporate such information. In addition, the paper introduces a novel hyperedge-based method designed to leverage categorical features more effectively compared to existing approaches. The advantage of the hyperedge approach is demonstrated through extensive experiments in effectively modeling categorical features and extracting user attribute-specific preferences.", - "venue": "ICLR_lowrate", - "citations": 0, - "topic": "low_rate", - "field": "low_rate", - "task1": "To implement the methodology proposed in this paper focused on utilizing categorical entity features in recommendation systems via graph neural networks, follow these steps:\n\n1. **Task**: The proposed model addresses the task of predicting user preferences in a recommender system by leveraging user-item interactions and categorical entity features, aiming to improve recommendation quality.\n\n2. **Core Techniques/Algorithms**:\n - **Graph Convolutional Networks (GCN)** for standard neighborhood aggregation.\n - **Hyperedge Aggregation** methods to exploit categorical features that connect multiple nodes.\n - **Bayesian Personalized Ranking (BPR)** for optimizing the recommendations.\n\n3. **Purpose of Technical Components**:\n - **GCN Layer**: Captures local user-item interactions by aggregating neighboring nodes.\n - **Hyperedge Aggregation**: Effectively models the relationships between items and users sharing categorical characteristics by combining connections in a hypergraph structure.\n - **BPR Loss Function**: Trains the proposed model by encouraging higher scores for positive user-item interactions than for negative ones.\n\n4. **Implementation Details**:\n - **Key Parameters**: \n - *Learning Rate*: Choose from (0.1, 0.01, 0.001, 0.0001).\n - *L2 Normalization*: Test values (1e-10, 1e-8, 1e-5, 1e-4).\n - *Embedding Size*: Fixed at 64.\n - **Input/Output Specifications**:\n - *Input Graph*: Construct a bipartite graph \\( G = (V, E) \\) where \\( V \\) includes user and item nodes, and \\( E \\) includes edges denoting interactions.\n - *Classification Outputs*: The final node embeddings from the proposed model represent user preferences towards items.\n - **Constraints**: Ensure to handle sparsity in categorical features to prevent model inefficacies and adjust the proposed model based on validation performance.\n\n5. **Step-by-Step Interaction**:\n - Initialize proposed model parameters and construct the adjacency matrix from the input user-item interactions.\n - Create hyperedges for each categorical feature (price level and category) linking users and items sharing the same categorical values.\n - For each training iteration (up to a specified maximum, e.g., 200):\n - Aggregate neighborhood features using the GCN layer to obtain user and item representations.\n - Conduct hyperedge aggregation by summing the embeddings of user and item nodes connected by hyperedges.\n - Concatenate the results from neighborhood and hyperedge aggregations to form the final embeddings.\n - Update the proposed model parameters using the BPR loss function to optimize the proposed model on the training data.\n - After training, the proposed model can predict user preferences based on the final embeddings of users and items.\n\n6. **Critical Implementation Details**: \n - Ensure effective regularization to prevent overfitting, especially when using hyperedges that can increase proposed model complexity.\n - Perform careful hyperparameter tuning, particularly for learning rate and regularization factors, as these significantly impact convergence and performance.\n - Validate the performance of aggregation methods by comparing them against different configurations, ensuring that hyperedge methods consistently outperform simpler categorical integration techniques, thereby enhancing the proposed model's capability to capture complex user preferences.", - "task2": "1. The primary task of this research is to enhance the effectiveness of recommender systems by improving the understanding and modeling of user preferences based on categorical features within user-item interactions, particularly utilizing graph neural networks.\n\n2. Current approaches to integrating categorical features into graph-based recommendation models exhibit several limitations, including insufficient clarity on the most suitable methods of incorporation, inconsistent performance across various techniques, and a lack of comprehensive guidelines for how different methods impact the extraction of user preferences.\n\n3. The core challenges the researchers aim to overcome include identifying the most effective ways to represent categorical features in graph neural network architectures, addressing the sparsity and complexity of existing feature representation methods, and improving the overall accuracy of user-item recommendations by better capturing user preferences related to various categorical attributes.\n\n4. Key objectives of this research include systematically reviewing existing methods for incorporating categorical features into recommender systems, proposing a new approach that utilizes the proposed model for representing these features, and empirically validating the superiority of this technique over traditional methods through extensive comparisons across different datasets, thereby advancing the understanding of how to effectively leverage categorical features in graph-based recommendation models." -} +{ + "target": "Categorical Features of entities in Recommendation Systems Using Graph Neural Networks", + "instance_id": "categorical_rec", + "source_papers": [ + { + "reference": "Matrix factorization techniques for recommender systems", + "rank": 1, + "type": [ + "methodological" + ], + "justification": "This seminal work lays the foundation for collaborative filtering methods, highlighting the efficacy of matrix factorization techniques. It has had a profound influence on the development of recommender systems, serving as a core methodological basis for many subsequent studies.", + "usage": "Used to establish baseline methods for comparison with graph neural network approaches." + }, + { + "reference": "Catgcn: Graph convolutional networks with categorical node features", + "rank": 2, + "type": [ + "methodological" + ], + "justification": "This study introduces the use of categorical node features in graph convolutional networks, providing novel methodologies that align with GNN implementations in recommendations. Its conceptualization of categorical attributes as nodes has inspired the use of the proposed model in the current research.", + "usage": "Provided a competitive baseline against which the novel proposed model was tested." + }, + { + "reference": "Graph Representation Learning", + "rank": 3, + "type": [ + "methodological" + ], + "justification": "Offers detailed insights into graph representation techniques, facilitating the understanding and implementation of GNN methods. The connection to user-item interactions contributes to modeling efficacy in recommendation systems, as demonstrated by the proposed approach. This study analyzes the impacts of various strategies on performance metrics.", + "usage": "Influenced design choices related to graph-based approaches in this study." + }, + { + "reference": "Incorporating price into recommendation with graph convolutional networks", + "rank": 4, + "type": [ + "component" + ], + "justification": "Demonstrates how specific user-item attributes (like price) can be effectively integrated into GNN frameworks. The methodology used here provided a foundation for embedding price in the recommended system using the proposed approach.", + "usage": "Utilized as a basis to evaluate the impact of price information in the proposed model." + }, + { + "reference": "Neighbor interaction aware graph convolution networks for recommendation", + "rank": 5, + "type": [ + "component" + ], + "justification": "This research presented enhancements in graph-based recommendations through neighbor interaction awareness, which informed the incorporation of the proposed model aggregations in this paper.", + "usage": "Informed the design of the proposed approach by highlighting the importance of neighbor interactions." + }, + { + "reference": "Context-aware recommender systems", + "rank": 6, + "type": [ + "conceptual" + ], + "justification": "This work inspired the theoretical framework of considering contextual influences on user preferences, underscoring the necessity of categorical features based on user attributes in recommendation models.", + "usage": "Provided conceptual support for the integration of categorical attributes and methodological justification for the proposed approach usage." + }, + { + "reference": "Semi-supervised classification with graph convolutional networks", + "rank": 7, + "type": [ + "methodological" + ], + "justification": "Explores GNN methodologies that enhance classification tasks through semi-supervised frameworks. Such approaches are crucial as they underpin the proposed model's adaptive learning capabilities from sparse dataset contexts.", + "usage": "Informed the training methodologies applied to the proposed model system." + }, + { + "reference": "BPR: bayesian personalized ranking from implicit feedback", + "rank": 8, + "type": [ + "methodological" + ], + "justification": "Describes a widely adopted loss function for recommender systems, utilizing user-item interactions effectively. It establishes a scoring mechanism critical for the evaluation of GNN models in this study.", + "usage": "Employed as part of the training framework for evaluating the proposed model performance." + }, + { + "reference": "Research commentary on recommendations with side information: A survey and research directions", + "rank": 9, + "type": [ + "conceptual" + ], + "justification": "Highlights the significance of side information in enhancing recommendation accuracy, reinforcing the importance of integrating categorical features as additional information.", + "usage": "Informing the rationale for including categorical features in the experimental design." + }, + { + "reference": "A2 GCN", + "rank": 10, + "type": [ + "methodological" + ], + "justification": "This work presents a method for incorporating categorical attributes as additional nodes within graph frameworks, which closely parallels this study's focus on the proposed model, providing methodological insights for implementation.", + "usage": "Compared against existing methodologies as a baseline for model performance evaluation." + }, + { + "reference": "Dual graph enhanced embedding neural network for CTR prediction", + "rank": 11, + "type": [ + "methodological" + ], + "justification": "Enhances understanding of integrating dual graph frameworks within GNNs, offering insights on embedding user-item relationships relevant to the proposed model.", + "usage": "Provided comparative insights for the evaluation of user-item interactions throughout experimentation." + }, + { + "reference": "Wide & deep learning for recommender systems", + "rank": 12, + "type": [ + "conceptual" + ], + "justification": "Offers a comprehensive view on combining feature-based and deep learning methods in recommendations, highlighting the balance between generalization and specialization.", + "usage": "Considered for theoretical parallels in balancing categorical feature integration." + }, + { + "reference": "Price DOES matter!: Modeling price and interest preferences in session-based recommendation", + "rank": 13, + "type": [ + "conceptual" + ], + "justification": "Addresses the relationship between price modeling and user preferences, emphasizing the relevance of price as a categorical feature in the recommendation process.", + "usage": "Informed the design aspects related to categorical features in the proposed model." + }, + { + "reference": "Inductive representation learning on large graphs", + "rank": 14, + "type": [ + "methodological" + ], + "justification": "Elucidates effective techniques for inductive representation learning, critical for adapting GNN methods to dynamic datasets typical in recommendation systems.", + "usage": "Informed representation techniques crucial for the proposed approach methodologies." + }, + { + "reference": "Graph convolutional matrix completion", + "rank": 15, + "type": [ + "methodological" + ], + "justification": "Presents innovative approaches for graph data completion that can benefit from modeling improvements, complementing this study's proposed model integration in GNNs.", + "usage": "Provided methodological context in using the proposed approach for matrix completion within recommender systems." + } + ], + "authors": [ + "Tinatini Buturishvili", + "Nils Morten Kriege" + ], + "year": "2024", + "url": "https://openreview.net/forum?id=PuCno7nwgH", + "abstract": "The paper tackles the challenge of capturing entity attribute-specific preferences in recommender systems, with a particular focus on the role of categorical features within GNN-based user-item recommender engines. Despite the significant influence of categorical features such as brand, category, and price bucket on the user decision-making process, there are not many studies dedicated to understanding the GNN's capability to extract and model such preferences effectively. The study extensively compares and tests various techniques for incorporating categorical features into the GNN framework to address this gap. These techniques include one-hot encoding-based node features, category-value nodes, and hyperedges. Three real-world datasets are used to answer what is the most optimal way to incorporate such information. In addition, the paper introduces a novel hyperedge-based method designed to leverage categorical features more effectively compared to existing approaches. The advantage of the hyperedge approach is demonstrated through extensive experiments in effectively modeling categorical features and extracting user attribute-specific preferences.", + "venue": "ICLR_lowrate", + "citations": 0, + "topic": "low_rate", + "field": "low_rate", + "task1": "To implement the methodology proposed in this paper focused on utilizing categorical entity features in recommendation systems via graph neural networks, follow these steps:\n\n1. **Task**: The proposed model addresses the task of predicting user preferences in a recommender system by leveraging user-item interactions and categorical entity features, aiming to improve recommendation quality.\n\n2. **Core Techniques/Algorithms**:\n - **Graph Convolutional Networks (GCN)** for standard neighborhood aggregation.\n - **Hyperedge Aggregation** methods to exploit categorical features that connect multiple nodes.\n - **Bayesian Personalized Ranking (BPR)** for optimizing the recommendations.\n\n3. **Purpose of Technical Components**:\n - **GCN Layer**: Captures local user-item interactions by aggregating neighboring nodes.\n - **Hyperedge Aggregation**: Effectively models the relationships between items and users sharing categorical characteristics by combining connections in a hypergraph structure.\n - **BPR Loss Function**: Trains the proposed model by encouraging higher scores for positive user-item interactions than for negative ones.\n\n4. **Implementation Details**:\n - **Key Parameters**: \n - *Learning Rate*: Choose from (0.1, 0.01, 0.001, 0.0001).\n - *L2 Normalization*: Test values (1e-10, 1e-8, 1e-5, 1e-4).\n - *Embedding Size*: Fixed at 64.\n - **Input/Output Specifications**:\n - *Input Graph*: Construct a bipartite graph \\( G = (V, E) \\) where \\( V \\) includes user and item nodes, and \\( E \\) includes edges denoting interactions.\n - *Classification Outputs*: The final node embeddings from the proposed model represent user preferences towards items.\n - **Constraints**: Ensure to handle sparsity in categorical features to prevent model inefficacies and adjust the proposed model based on validation performance.\n\n5. **Step-by-Step Interaction**:\n - Initialize proposed model parameters and construct the adjacency matrix from the input user-item interactions.\n - Create hyperedges for each categorical feature (price level and category) linking users and items sharing the same categorical values.\n - For each training iteration (up to a specified maximum, e.g., 200):\n - Aggregate neighborhood features using the GCN layer to obtain user and item representations.\n - Conduct hyperedge aggregation by summing the embeddings of user and item nodes connected by hyperedges.\n - Concatenate the results from neighborhood and hyperedge aggregations to form the final embeddings.\n - Update the proposed model parameters using the BPR loss function to optimize the proposed model on the training data.\n - After training, the proposed model can predict user preferences based on the final embeddings of users and items.\n\n6. **Critical Implementation Details**: \n - Ensure effective regularization to prevent overfitting, especially when using hyperedges that can increase proposed model complexity.\n - Perform careful hyperparameter tuning, particularly for learning rate and regularization factors, as these significantly impact convergence and performance.\n - Validate the performance of aggregation methods by comparing them against different configurations, ensuring that hyperedge methods consistently outperform simpler categorical integration techniques, thereby enhancing the proposed model's capability to capture complex user preferences.", + "task2": "1. The primary task of this research is to enhance the effectiveness of recommender systems by improving the understanding and modeling of user preferences based on categorical features within user-item interactions, particularly utilizing graph neural networks.\n\n2. Current approaches to integrating categorical features into graph-based recommendation models exhibit several limitations, including insufficient clarity on the most suitable methods of incorporation, inconsistent performance across various techniques, and a lack of comprehensive guidelines for how different methods impact the extraction of user preferences.\n\n3. The core challenges the researchers aim to overcome include identifying the most effective ways to represent categorical features in graph neural network architectures, addressing the sparsity and complexity of existing feature representation methods, and improving the overall accuracy of user-item recommendations by better capturing user preferences related to various categorical attributes.\n\n4. Key objectives of this research include systematically reviewing existing methods for incorporating categorical features into recommender systems, proposing a new approach that utilizes the proposed model for representing these features, and empirically validating the superiority of this technique over traditional methods through extensive comparisons across different datasets, thereby advancing the understanding of how to effectively leverage categorical features in graph-based recommendation models." +} diff --git a/benchmark/final/recommendation/dccf.json b/benchmark/final/recommendation/dccf.json index 0b5beda..b97ebef 100755 --- a/benchmark/final/recommendation/dccf.json +++ b/benchmark/final/recommendation/dccf.json @@ -1,105 +1,105 @@ -{ - "target": "Disentangled Contrastive Collaborative Filtering", - "instance_id": "dccf_final", - "source_papers": [ - { - "reference": "Lightgcn: Simplifying and powering graph convolution network for recommendation", - "rank": 1, - "type": [ - "methodological" - ], - "justification": "LightGCN serves as a foundational model for collaborative filtering within this paper, demonstrating strong performance in representation learning. It introduces a simplified message-passing framework that enhances the aggregation of user-item relationships through iterative embeddings. The proposed model demonstrates strong performance in this context, further validating the effectiveness of this study's approach.", - "usage": "The authors build upon the principles of LightGCN to enhance their proposed model, leveraging its message-passing strategies to improve the robustness and accuracy of their representation learning." - }, - { - "reference": "Neural collaborative filtering", - "rank": 2, - "type": [ - "methodological" - ], - "justification": "This study presents a paradigm shift in collaborative filtering by integrating neural networks, which significantly boosts the performance of recommendation systems. Its widespread adoption confirms the proposed model's methodological importance.", - "usage": "The proposed model utilizes concepts from neural collaborative filtering to replace traditional matrix factorization techniques, allowing for a more nuanced understanding of user-item interactions." - }, - { - "reference": "Disentangled contrastive learning on graphs", - "rank": 3, - "type": [ - "conceptual" - ], - "justification": "This work introduces a framework for learning disentangled representations using contrastive learning, which aligns well with the proposed model's goal of intent disentanglement in collaborative filtering tasks.", - "usage": "The authors adapt techniques from this framework to enhance the proposed approach, focusing on disentangling user intents from interactions." - }, - { - "reference": "Improving Graph Collaborative Filtering with Neighborhood-enriched Contrastive Learning", - "rank": 4, - "type": [ - "methodological/component" - ], - "justification": "This paper proposes methods for enhancing collaborative filtering through contrastive learning, emphasizing local and global relation capture, which resonates with the proposed model's objectives.", - "usage": "The proposed model integrates aspects of neighborhood-enriched learning to strengthen its representation of user-item interactions, especially in diverse intent scenarios." - }, - { - "reference": "Curriculum Disentangled Recommendation with Noisy Multi-feedback", - "rank": 5, - "type": [ - "component" - ], - "justification": "This study focuses on extracting user intentions from noisy feedback, a critical component when dealing with real-world recommendation challenges. It provides insights into handling sparse and noisy data.", - "usage": "The proposed model employs similar strategies to manage noisy self-supervised signals, enhancing its robustness and performance against data sparsity." - }, - { - "reference": "Disentangled heterogeneous graph attention network for recommendation", - "rank": 6, - "type": [ - "component" - ], - "justification": "This work contributes to the understanding of how graph attention mechanisms can be utilized to learn disentangled representations, which is crucial for intent-aware recommendation systems.", - "usage": "The proposed model incorporates attention mechanisms from this paper to refine its node representation learning, making it more effective in capturing intent diversity." - }, - { - "reference": "Learning intents behind interactions with knowledge graph for recommendation", - "rank": 7, - "type": [ - "conceptual" - ], - "justification": "This paper emphasizes the importance of understanding user intents derived from interactions, which aligns with the proposed model's focus on intent disentanglement.", - "usage": "The insights from this study inform the design of the proposed model's intent-aware mechanisms, aiding in the development of more nuanced user-item interaction models." - }, - { - "reference": "LightGCL: Simple Yet Effective Graph Contrastive Learning for Recommendation", - "rank": 8, - "type": [ - "methodological" - ], - "justification": "This study introduces a lightweight approach to graph contrastive learning, addressing the need for efficient representation learning in recommendation tasks.", - "usage": "The proposed model leverages the core principles of graph contrastive learning from this study to enhance its adaptive augmentation strategies." - }, - { - "reference": "Self-supervised graph learning for recommendation", - "rank": 9, - "type": [ - "methodological" - ], - "justification": "This study discusses various self-supervised learning techniques applicable to graph-based recommendations, which are essential for addressing label sparsity.", - "usage": "The proposed model utilizes self-supervised techniques from this reference to improve its learning process, specifically in generating robust self-supervised signals." - } - ], - "authors": [ - "Xubin Ren", - "Lianghao Xia", - "Jiashu Zhao", - "Dawei Yin", - "Chao Huang" - ], - "year": 2023, - "url": "http://arxiv.org/abs/2305.02759v4", - "abstract": "Recent studies show that graph neural networks (GNNs) are prevalent to model\nhigh-order relationships for collaborative filtering (CF). Towards this\nresearch line, graph contrastive learning (GCL) has exhibited powerful\nperformance in addressing the supervision label shortage issue by learning\naugmented user and item representations. While many of them show their\neffectiveness, two key questions still remain unexplored: i) Most existing\nGCL-based CF models are still limited by ignoring the fact that user-item\ninteraction behaviors are often driven by diverse latent intent factors (e.g.,\nshopping for family party, preferred color or brand of products); ii) Their\nintroduced non-adaptive augmentation techniques are vulnerable to noisy\ninformation, which raises concerns about the model's robustness and the risk of\nincorporating misleading self-supervised signals. In light of these\nlimitations, we propose a Disentangled Contrastive Collaborative Filtering\nframework (DCCF) to realize intent disentanglement with self-supervised\naugmentation in an adaptive fashion. With the learned disentangled\nrepresentations with global context, our DCCF is able to not only distill\nfiner-grained latent factors from the entangled self-supervision signals but\nalso alleviate the augmentation-induced noise. Finally, the cross-view\ncontrastive learning task is introduced to enable adaptive augmentation with\nour parameterized interaction mask generator. Experiments on various public\ndatasets demonstrate the superiority of our method compared to existing\nsolutions. Our model implementation is released at the link\nhttps://github.com/HKUDS/DCCF.", - "venue": "Annual International ACM SIGIR Conference on Research and Development in Information Retrieval", - "venue_source": "Semantic Scholar", - "venue_lookup_time": "2024-11-19T16:40:59.503240", - "citations": 41, - "topic": "Disentangled Contrastive Collaborative Filtering", - "field": "preselected", - "task1": "To implement the core methodology of the proposed approach, follow these detailed instructions:\n\n1. **Task Overview**: The proposed model focuses on collaborative filtering for recommendation systems by leveraging graph neural networks (GNNs) and contrastive learning to address the issue of sparse user-item interactions.\n\n2. **Core Techniques**: \n - **Graph Neural Networks**: Utilize GNNs for message passing to learn user and item embeddings from the interaction graph.\n - **Disentangled Representations**: Implement a mechanism to model multiple latent intent factors driving user-item interactions.\n - **Contrastive Learning**: Use contrastive learning techniques to generate adaptive self-supervised signals from augmented views of user-item interactions.\n\n3. **Purpose of Components**:\n - **GNN Layers**: Capture high-order interactions among users and items through iterative message passing.\n - **Intent Encoding**: Differentiate latent intents to improve the representation of user preferences.\n - **Adaptive Augmentation**: Generate contrastive views that account for both local and global dependencies to enhance robustness against noise.\n\n4. **Implementation Details**:\n - **Graph Construction**:\n - Input: User-item interaction matrix \\( A \\) of size \\( I \\times J \\) (where \\( I \\) is the number of users and \\( J \\) is the number of items).\n - Output: Normalized adjacency matrix \\( \\bar{A} \\).\n - **GNN Configuration**:\n - Number of layers \\( L \\): Choose based on your dataset, typically 2 or 3 layers.\n - Dimensionality \\( d \\) of embeddings: Start with \\( d = 32 \\).\n - **Intent Prototypes**:\n - Number of intents \\( K \\): Experiment with values from {32, 64, 128, 256}, starting with \\( K = 128 \\).\n - **Learning Rate**: Use Adam optimizer with a learning rate around \\( 1e-3 \\).\n - **Loss Functions**:\n - Use Bayesian Personalized Ranking (BPR) loss for the recommendation task.\n - Implement InfoNCE loss for contrastive learning, incorporating both local and global augmented views.\n\n5. **Step-by-Step Interaction**:\n - Construct the interaction graph from the user-item matrix.\n - For each GNN layer:\n - Compute the aggregated embeddings \\( Z(u) \\) and \\( Z(v) \\) using the normalized adjacency matrix.\n - Update user and item embeddings using residual connections to prevent over-smoothing.\n - Generate intent-aware representations by aggregating embeddings over the latent intents.\n - Apply the learned parameterized masks for adaptive augmentation during message passing to create multiple contrastive views.\n - Calculate contrastive learning signals using the generated augmented representations and optimize using the combined loss function.\n\n6. **Critical Implementation Details**:\n - Ensure that the augmentation matrices are learned adaptively based on the current user-item embeddings to differentiate the importance of interactions.\n - Monitor the performance with different numbers of latent intents \\( K \\) to find an optimal balance between expressiveness and noise.\n - Regularly assess the proposed model for over-smoothing by checking the Mean Average Distance (MAD) metric on the embeddings.\n - Tune hyperparameters \\( \\lambda_1, \\lambda_2, \\lambda_3 \\) for the multi-task loss to balance the contribution of the self-supervised learning signals.\n\nBy closely following these steps and guidelines, researchers can effectively reproduce the core methodology of the proposed approach without needing to refer back to this paper.", - "task2": "1. The primary task or problem domain the research tackles is the enhancement of collaborative filtering in recommender systems through the integration of disentangled contrastive learning, which aims to capture and utilize diverse latent intent factors driving user-item interactions.\n\n2. Current limitations in existing approaches that motivated this work include the inability of many GCL-based collaborative filtering models to effectively disentangle the diverse latent intents behind user-item interactions, as well as their vulnerability to noise and suboptimal self-supervised signals due to non-adaptive augmentation techniques.\n\n3. Core challenges the researchers aim to overcome involve the need to develop a method that can accurately generate disentangled contrastive signals for informative augmentation while being robust against noisy data, thereby improving the proposed model's ability to capture genuine user preferences.\n\n4. Key objectives and intended contributions include the development of a framework that enables intent disentanglement and adaptive self-supervised augmentation, leading to enhanced robustness and generalization in recommendation performance. This study also seeks to provide a comprehensive understanding of user-item interactions by distilling finer-grained latent factors and improving the overall effectiveness of collaborative filtering models." +{ + "target": "Disentangled Contrastive Collaborative Filtering", + "instance_id": "dccf_final", + "source_papers": [ + { + "reference": "Lightgcn: Simplifying and powering graph convolution network for recommendation", + "rank": 1, + "type": [ + "methodological" + ], + "justification": "LightGCN serves as a foundational model for collaborative filtering within this paper, demonstrating strong performance in representation learning. It introduces a simplified message-passing framework that enhances the aggregation of user-item relationships through iterative embeddings. The proposed model demonstrates strong performance in this context, further validating the effectiveness of this study's approach.", + "usage": "The authors build upon the principles of LightGCN to enhance their proposed model, leveraging its message-passing strategies to improve the robustness and accuracy of their representation learning." + }, + { + "reference": "Neural collaborative filtering", + "rank": 2, + "type": [ + "methodological" + ], + "justification": "This study presents a paradigm shift in collaborative filtering by integrating neural networks, which significantly boosts the performance of recommendation systems. Its widespread adoption confirms the proposed model's methodological importance.", + "usage": "The proposed model utilizes concepts from neural collaborative filtering to replace traditional matrix factorization techniques, allowing for a more nuanced understanding of user-item interactions." + }, + { + "reference": "Disentangled contrastive learning on graphs", + "rank": 3, + "type": [ + "conceptual" + ], + "justification": "This work introduces a framework for learning disentangled representations using contrastive learning, which aligns well with the proposed model's goal of intent disentanglement in collaborative filtering tasks.", + "usage": "The authors adapt techniques from this framework to enhance the proposed approach, focusing on disentangling user intents from interactions." + }, + { + "reference": "Improving Graph Collaborative Filtering with Neighborhood-enriched Contrastive Learning", + "rank": 4, + "type": [ + "methodological/component" + ], + "justification": "This paper proposes methods for enhancing collaborative filtering through contrastive learning, emphasizing local and global relation capture, which resonates with the proposed model's objectives.", + "usage": "The proposed model integrates aspects of neighborhood-enriched learning to strengthen its representation of user-item interactions, especially in diverse intent scenarios." + }, + { + "reference": "Curriculum Disentangled Recommendation with Noisy Multi-feedback", + "rank": 5, + "type": [ + "component" + ], + "justification": "This study focuses on extracting user intentions from noisy feedback, a critical component when dealing with real-world recommendation challenges. It provides insights into handling sparse and noisy data.", + "usage": "The proposed model employs similar strategies to manage noisy self-supervised signals, enhancing its robustness and performance against data sparsity." + }, + { + "reference": "Disentangled heterogeneous graph attention network for recommendation", + "rank": 6, + "type": [ + "component" + ], + "justification": "This work contributes to the understanding of how graph attention mechanisms can be utilized to learn disentangled representations, which is crucial for intent-aware recommendation systems.", + "usage": "The proposed model incorporates attention mechanisms from this paper to refine its node representation learning, making it more effective in capturing intent diversity." + }, + { + "reference": "Learning intents behind interactions with knowledge graph for recommendation", + "rank": 7, + "type": [ + "conceptual" + ], + "justification": "This paper emphasizes the importance of understanding user intents derived from interactions, which aligns with the proposed model's focus on intent disentanglement.", + "usage": "The insights from this study inform the design of the proposed model's intent-aware mechanisms, aiding in the development of more nuanced user-item interaction models." + }, + { + "reference": "LightGCL: Simple Yet Effective Graph Contrastive Learning for Recommendation", + "rank": 8, + "type": [ + "methodological" + ], + "justification": "This study introduces a lightweight approach to graph contrastive learning, addressing the need for efficient representation learning in recommendation tasks.", + "usage": "The proposed model leverages the core principles of graph contrastive learning from this study to enhance its adaptive augmentation strategies." + }, + { + "reference": "Self-supervised graph learning for recommendation", + "rank": 9, + "type": [ + "methodological" + ], + "justification": "This study discusses various self-supervised learning techniques applicable to graph-based recommendations, which are essential for addressing label sparsity.", + "usage": "The proposed model utilizes self-supervised techniques from this reference to improve its learning process, specifically in generating robust self-supervised signals." + } + ], + "authors": [ + "Xubin Ren", + "Lianghao Xia", + "Jiashu Zhao", + "Dawei Yin", + "Chao Huang" + ], + "year": 2023, + "url": "http://arxiv.org/abs/2305.02759v4", + "abstract": "Recent studies show that graph neural networks (GNNs) are prevalent to model\nhigh-order relationships for collaborative filtering (CF). Towards this\nresearch line, graph contrastive learning (GCL) has exhibited powerful\nperformance in addressing the supervision label shortage issue by learning\naugmented user and item representations. While many of them show their\neffectiveness, two key questions still remain unexplored: i) Most existing\nGCL-based CF models are still limited by ignoring the fact that user-item\ninteraction behaviors are often driven by diverse latent intent factors (e.g.,\nshopping for family party, preferred color or brand of products); ii) Their\nintroduced non-adaptive augmentation techniques are vulnerable to noisy\ninformation, which raises concerns about the model's robustness and the risk of\nincorporating misleading self-supervised signals. In light of these\nlimitations, we propose a Disentangled Contrastive Collaborative Filtering\nframework (DCCF) to realize intent disentanglement with self-supervised\naugmentation in an adaptive fashion. With the learned disentangled\nrepresentations with global context, our DCCF is able to not only distill\nfiner-grained latent factors from the entangled self-supervision signals but\nalso alleviate the augmentation-induced noise. Finally, the cross-view\ncontrastive learning task is introduced to enable adaptive augmentation with\nour parameterized interaction mask generator. Experiments on various public\ndatasets demonstrate the superiority of our method compared to existing\nsolutions. Our model implementation is released at the link\nhttps://github.com/HKUDS/DCCF.", + "venue": "Annual International ACM SIGIR Conference on Research and Development in Information Retrieval", + "venue_source": "Semantic Scholar", + "venue_lookup_time": "2024-11-19T16:40:59.503240", + "citations": 41, + "topic": "Disentangled Contrastive Collaborative Filtering", + "field": "preselected", + "task1": "To implement the core methodology of the proposed approach, follow these detailed instructions:\n\n1. **Task Overview**: The proposed model focuses on collaborative filtering for recommendation systems by leveraging graph neural networks (GNNs) and contrastive learning to address the issue of sparse user-item interactions.\n\n2. **Core Techniques**: \n - **Graph Neural Networks**: Utilize GNNs for message passing to learn user and item embeddings from the interaction graph.\n - **Disentangled Representations**: Implement a mechanism to model multiple latent intent factors driving user-item interactions.\n - **Contrastive Learning**: Use contrastive learning techniques to generate adaptive self-supervised signals from augmented views of user-item interactions.\n\n3. **Purpose of Components**:\n - **GNN Layers**: Capture high-order interactions among users and items through iterative message passing.\n - **Intent Encoding**: Differentiate latent intents to improve the representation of user preferences.\n - **Adaptive Augmentation**: Generate contrastive views that account for both local and global dependencies to enhance robustness against noise.\n\n4. **Implementation Details**:\n - **Graph Construction**:\n - Input: User-item interaction matrix \\( A \\) of size \\( I \\times J \\) (where \\( I \\) is the number of users and \\( J \\) is the number of items).\n - Output: Normalized adjacency matrix \\( \\bar{A} \\).\n - **GNN Configuration**:\n - Number of layers \\( L \\): Choose based on your dataset, typically 2 or 3 layers.\n - Dimensionality \\( d \\) of embeddings: Start with \\( d = 32 \\).\n - **Intent Prototypes**:\n - Number of intents \\( K \\): Experiment with values from {32, 64, 128, 256}, starting with \\( K = 128 \\).\n - **Learning Rate**: Use Adam optimizer with a learning rate around \\( 1e-3 \\).\n - **Loss Functions**:\n - Use Bayesian Personalized Ranking (BPR) loss for the recommendation task.\n - Implement InfoNCE loss for contrastive learning, incorporating both local and global augmented views.\n\n5. **Step-by-Step Interaction**:\n - Construct the interaction graph from the user-item matrix.\n - For each GNN layer:\n - Compute the aggregated embeddings \\( Z(u) \\) and \\( Z(v) \\) using the normalized adjacency matrix.\n - Update user and item embeddings using residual connections to prevent over-smoothing.\n - Generate intent-aware representations by aggregating embeddings over the latent intents.\n - Apply the learned parameterized masks for adaptive augmentation during message passing to create multiple contrastive views.\n - Calculate contrastive learning signals using the generated augmented representations and optimize using the combined loss function.\n\n6. **Critical Implementation Details**:\n - Ensure that the augmentation matrices are learned adaptively based on the current user-item embeddings to differentiate the importance of interactions.\n - Monitor the performance with different numbers of latent intents \\( K \\) to find an optimal balance between expressiveness and noise.\n - Regularly assess the proposed model for over-smoothing by checking the Mean Average Distance (MAD) metric on the embeddings.\n - Tune hyperparameters \\( \\lambda_1, \\lambda_2, \\lambda_3 \\) for the multi-task loss to balance the contribution of the self-supervised learning signals.\n\nBy closely following these steps and guidelines, researchers can effectively reproduce the core methodology of the proposed approach without needing to refer back to this paper.", + "task2": "1. The primary task or problem domain the research tackles is the enhancement of collaborative filtering in recommender systems through the integration of disentangled contrastive learning, which aims to capture and utilize diverse latent intent factors driving user-item interactions.\n\n2. Current limitations in existing approaches that motivated this work include the inability of many GCL-based collaborative filtering models to effectively disentangle the diverse latent intents behind user-item interactions, as well as their vulnerability to noise and suboptimal self-supervised signals due to non-adaptive augmentation techniques.\n\n3. Core challenges the researchers aim to overcome involve the need to develop a method that can accurately generate disentangled contrastive signals for informative augmentation while being robust against noisy data, thereby improving the proposed model's ability to capture genuine user preferences.\n\n4. Key objectives and intended contributions include the development of a framework that enables intent disentanglement and adaptive self-supervised augmentation, leading to enhanced robustness and generalization in recommendation performance. This study also seeks to provide a comprehensive understanding of user-item interactions by distilling finer-grained latent factors and improving the overall effectiveness of collaborative filtering models." } \ No newline at end of file diff --git a/benchmark/final/recommendation/hgcl.json b/benchmark/final/recommendation/hgcl.json index 3a6ea0c..da3bad6 100755 --- a/benchmark/final/recommendation/hgcl.json +++ b/benchmark/final/recommendation/hgcl.json @@ -1,88 +1,88 @@ -{ - "target": "Heterogeneous Graph Contrastive Learning for Recommendation", - "instance_id": "hgcl_final", - "source_papers": [ - { - "reference": "Revisiting Graph Based Collaborative Filtering: A Linear Residual Graph Convolutional Network Approach", - "rank": 1, - "type": [ - "methodological" - ], - "justification": "This study provides foundational methodologies for collaborative filtering using graph structures, influencing how user-item interactions are modeled in the proposed approach. The insights from this study are reflected in the adaptation of GNNs to heterogeneous relationships in recommendation systems.", - "usage": "The authors built upon the concepts of GNN-based collaborative filtering while expanding them to incorporate heterogeneous interactions." - }, - { - "reference": "Graph Neural Networks for Social Recommendation", - "rank": 2, - "type": [ - "methodological" - ], - "justification": "This work emphasizes the effectiveness of GNNs in capturing social influences within recommendation scenarios, which is directly relevant to this paper's incorporation of social relationships into user-item interaction models.", - "usage": "The concepts of modeling user-item interaction graphs and leveraging social influence were critical in developing the proposed model framework." - }, - { - "reference": "Improving Graph Collaborative Filtering with Neighborhood-enriched Contrastive Learning", - "rank": 3, - "type": [ - "component" - ], - "justification": "This study explores the integration of contrastive learning into graph collaborative filtering, a technique that is central to the proposed model. It highlights how auxiliary views can enhance recommendation performance.", - "usage": "The authors adapted the contrastive learning framework from this study to enhance the robustness of their heterogeneous relational learning." - }, - { - "reference": "LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation", - "rank": 4, - "type": [ - "methodological" - ], - "justification": "LightGCN simplifies graph convolutions while enhancing their effectiveness in recommendation tasks. The methodology influenced the authors' design for the proposed approach within heterogeneous graphs.", - "usage": "The proposed approach utilizes principles from LightGCN to optimize the incorporation of personalized augmentation through contrastive learning." - }, - { - "reference": "Knowledge-aware Coupled Graph Neural Network for Social Recommendation", - "rank": 5, - "type": [ - "component" - ], - "justification": "This work highlights the importance of leveraging knowledge-aware representations in recommendation systems, directly aligning with the proposed model's emphasis on heterogeneous relationships.", - "usage": "The identification of informative heterogeneous relations from this study was essential for augmenting collaborative filtering paradigms in the proposed model." - }, - { - "reference": "Heterogeneous Graph Transformer", - "rank": 6, - "type": [ - "conceptual" - ], - "justification": "This study presents concepts on the utilization of heterogeneous graphs across various applications, which inspired the broader application of heterogeneous relations in the recommendation context.", - "usage": "It inspired the authors to explore diverse node types and their importance in formulating user-item interactions." - }, - { - "reference": "Sequential Recommendation with Graph Neural Networks", - "rank": 7, - "type": [ - "conceptual" - ], - "justification": "This foundational work on GNNs in sequential recommendations provided insights into the significant potential of GNNs, motivating the integration of contrastive learning into heterogeneous contexts.", - "usage": "The insights gained from GNN capabilities informed the authors' approach to enhance representation learning through contrastive methods." - } - ], - "authors": [ - "Mengru Chen", - "Chao Huang", - "Lianghao Xia", - "Wei Wei", - "Yong Xu", - "Ronghua Luo" - ], - "year": 2023, - "url": "http://arxiv.org/abs/2303.00995v1", - "abstract": "Graph Neural Networks (GNNs) have become powerful tools in modeling\ngraph-structured data in recommender systems. However, real-life recommendation\nscenarios usually involve heterogeneous relationships (e.g., social-aware user\ninfluence, knowledge-aware item dependency) which contains fruitful information\nto enhance the user preference learning. In this paper, we study the problem of\nheterogeneous graph-enhanced relational learning for recommendation. Recently,\ncontrastive self-supervised learning has become successful in recommendation.\nIn light of this, we propose a Heterogeneous Graph Contrastive Learning (HGCL),\nwhich is able to incorporate heterogeneous relational semantics into the\nuser-item interaction modeling with contrastive learning-enhanced knowledge\ntransfer across different views. However, the influence of heterogeneous side\ninformation on interactions may vary by users and items. To move this idea\nforward, we enhance our heterogeneous graph contrastive learning with meta\nnetworks to allow the personalized knowledge transformer with adaptive\ncontrastive augmentation. The experimental results on three real-world datasets\ndemonstrate the superiority of HGCL over state-of-the-art recommendation\nmethods. Through ablation study, key components in HGCL method are validated to\nbenefit the recommendation performance improvement. The source code of the\nmodel implementation is available at the link https://github.com/HKUDS/HGCL.", - "venue": "Web Search and Data Mining", - "venue_source": "Semantic Scholar", - "venue_lookup_time": "2024-11-19T16:36:29.853116", - "citations": 110, - "topic": "Knowledge Graph Contrastive Learning for Recommendation", - "field": "preselected", - "task1": "The proposed methodology focuses on enhancing recommendation systems through heterogeneous graph contrastive learning. To implement this technique, researchers should follow these steps:\n\n1. **Task**: The proposed model aims to improve user-item interaction predictions in recommendation systems by leveraging heterogeneous relational information.\n\n2. **Core Techniques/Algorithms**:\n - **Heterogeneous Graph Neural Networks (GNNs)**: Used for embedding initialization and message propagation across different types of user-item and user-user/item-item graphs.\n - **Contrastive Learning**: Specifically, a cross-view contrastive learning framework is utilized to enhance representation learning by aligning embeddings from auxiliary views with user-item interaction embeddings.\n - **Meta Networks**: Employed to extract personalized knowledge and facilitate customized knowledge transfer between auxiliary views and the user-item interaction view.\n\n3. **Purpose and Function of Each Major Component**:\n - **Heterogeneous GNN**: Encodes user and item relationships into embeddings that capture the semantics of various interactions.\n - **Contrastive Learning**: Provides self-supervision signals to enhance the robustness of learned representations, allowing the proposed model to distinguish between relevant and irrelevant interactions.\n - **Meta Network**: Models personalized characteristics to facilitate adaptive knowledge transfer, ensuring that the influence of auxiliary information is tailored to individual users and items.\n\n4. **Implementation Details**:\n - **Heterogeneous GNN**:\n - **Key Parameters**: Use Xavier initializer for embedding initialization; set the hidden dimensionality `d`.\n - **Input/Output**: Take adjacency matrices for user-item, user-user, and item-item graphs as input; output relation-aware embeddings.\n - **Constraints**: Ensure that the GNN can handle varying types of nodes and relations.\n - **Contrastive Learning**:\n - **Key Parameters**: Use cosine similarity as the similarity function; define a temperature coefficient for handling negative samples.\n - **Input/Output**: Input embeddings from the meta network and user/item views; output contrastive loss values.\n - **Constraints**: Maintain diverse representations to avoid overfitting.\n - **Meta Network**:\n - **Key Parameters**: Set up fully connected layers with PReLU activation to generate personalized transformation matrices.\n - **Input/Output**: Input user and item embeddings; output transformed embeddings for personalized knowledge transfer.\n - **Constraints**: Ensure low-rank decomposition of transformation matrices to reduce parameter count.\n\n5. **Step-by-Step Interaction**:\n - Initialize user and item embeddings using a heterogeneous GNN.\n - Perform heterogeneous message propagation to refine embeddings iteratively across user-item, user-user, and item-item graphs.\n - Aggregate the refined embeddings from various views using a mean pooling function to retain heterogeneous semantics.\n - Extract meta knowledge from the learned embeddings to create personalized mapping functions using the meta network.\n - Apply contrastive learning to align embeddings from auxiliary views with the user-item interaction embeddings, generating a contrastive loss.\n - Combine the contrastive loss with a pairwise loss function (like Bayesian Personalized Ranking) to optimize the proposed model.\n\n6. **Critical Implementation Details**:\n - Choose appropriate hyperparameters such as embedding size, learning rate, and the number of GNN layers through systematic experimentation.\n - Monitor the proposed model for signs of overfitting, especially when increasing the number of GNN layers or embedding dimensions.\n - Ensure diverse user-item interaction patterns are captured through sufficient training data and effective augmentation techniques.\n\nBy following these structured steps and focusing on the described components, researchers can implement the heterogeneous graph contrastive learning methodology effectively, enhancing their recommendation systems' performance as outlined in this paper.", - "task2": "1. The primary task of this research is to enhance recommendation systems through the incorporation of heterogeneous relationships in user-item interactions. The proposed approach focuses on leveraging heterogeneous graph structures and contrastive learning techniques to improve the understanding of user preferences based on diverse relational information.\n\n2. Current approaches in recommendation systems often struggle to effectively utilize heterogeneous relational information, as many existing models primarily focus on homogeneous relationships. Additionally, these models typically face limitations related to data sparsity, leading to inadequate user and item embeddings that do not capture the full range of user preferences and item dependencies.\n\n3. The researchers aim to overcome significant challenges in incorporating heterogeneous side information into recommendation frameworks. These challenges include effectively transferring knowledge across diverse relational views and enabling personalized learning that adapts to individual user characteristics and interaction patterns.\n\n4. The key objectives of this research include developing a framework that employs heterogeneous graph contrastive learning to facilitate knowledge transfer between different types of relationships. The intended contributions are to provide a robust methodology for enhancing recommendation performance through personalized contrastive learning and to demonstrate the efficacy of this proposed approach in real-world recommendation scenarios. This study aspires to advance existing recommendation systems by integrating a broader spectrum of relational data while addressing the issues of data sparsity and user-specific preferences." +{ + "target": "Heterogeneous Graph Contrastive Learning for Recommendation", + "instance_id": "hgcl_final", + "source_papers": [ + { + "reference": "Revisiting Graph Based Collaborative Filtering: A Linear Residual Graph Convolutional Network Approach", + "rank": 1, + "type": [ + "methodological" + ], + "justification": "This study provides foundational methodologies for collaborative filtering using graph structures, influencing how user-item interactions are modeled in the proposed approach. The insights from this study are reflected in the adaptation of GNNs to heterogeneous relationships in recommendation systems.", + "usage": "The authors built upon the concepts of GNN-based collaborative filtering while expanding them to incorporate heterogeneous interactions." + }, + { + "reference": "Graph Neural Networks for Social Recommendation", + "rank": 2, + "type": [ + "methodological" + ], + "justification": "This work emphasizes the effectiveness of GNNs in capturing social influences within recommendation scenarios, which is directly relevant to this paper's incorporation of social relationships into user-item interaction models.", + "usage": "The concepts of modeling user-item interaction graphs and leveraging social influence were critical in developing the proposed model framework." + }, + { + "reference": "Improving Graph Collaborative Filtering with Neighborhood-enriched Contrastive Learning", + "rank": 3, + "type": [ + "component" + ], + "justification": "This study explores the integration of contrastive learning into graph collaborative filtering, a technique that is central to the proposed model. It highlights how auxiliary views can enhance recommendation performance.", + "usage": "The authors adapted the contrastive learning framework from this study to enhance the robustness of their heterogeneous relational learning." + }, + { + "reference": "LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation", + "rank": 4, + "type": [ + "methodological" + ], + "justification": "LightGCN simplifies graph convolutions while enhancing their effectiveness in recommendation tasks. The methodology influenced the authors' design for the proposed approach within heterogeneous graphs.", + "usage": "The proposed approach utilizes principles from LightGCN to optimize the incorporation of personalized augmentation through contrastive learning." + }, + { + "reference": "Knowledge-aware Coupled Graph Neural Network for Social Recommendation", + "rank": 5, + "type": [ + "component" + ], + "justification": "This work highlights the importance of leveraging knowledge-aware representations in recommendation systems, directly aligning with the proposed model's emphasis on heterogeneous relationships.", + "usage": "The identification of informative heterogeneous relations from this study was essential for augmenting collaborative filtering paradigms in the proposed model." + }, + { + "reference": "Heterogeneous Graph Transformer", + "rank": 6, + "type": [ + "conceptual" + ], + "justification": "This study presents concepts on the utilization of heterogeneous graphs across various applications, which inspired the broader application of heterogeneous relations in the recommendation context.", + "usage": "It inspired the authors to explore diverse node types and their importance in formulating user-item interactions." + }, + { + "reference": "Sequential Recommendation with Graph Neural Networks", + "rank": 7, + "type": [ + "conceptual" + ], + "justification": "This foundational work on GNNs in sequential recommendations provided insights into the significant potential of GNNs, motivating the integration of contrastive learning into heterogeneous contexts.", + "usage": "The insights gained from GNN capabilities informed the authors' approach to enhance representation learning through contrastive methods." + } + ], + "authors": [ + "Mengru Chen", + "Chao Huang", + "Lianghao Xia", + "Wei Wei", + "Yong Xu", + "Ronghua Luo" + ], + "year": 2023, + "url": "http://arxiv.org/abs/2303.00995v1", + "abstract": "Graph Neural Networks (GNNs) have become powerful tools in modeling\ngraph-structured data in recommender systems. However, real-life recommendation\nscenarios usually involve heterogeneous relationships (e.g., social-aware user\ninfluence, knowledge-aware item dependency) which contains fruitful information\nto enhance the user preference learning. In this paper, we study the problem of\nheterogeneous graph-enhanced relational learning for recommendation. Recently,\ncontrastive self-supervised learning has become successful in recommendation.\nIn light of this, we propose a Heterogeneous Graph Contrastive Learning (HGCL),\nwhich is able to incorporate heterogeneous relational semantics into the\nuser-item interaction modeling with contrastive learning-enhanced knowledge\ntransfer across different views. However, the influence of heterogeneous side\ninformation on interactions may vary by users and items. To move this idea\nforward, we enhance our heterogeneous graph contrastive learning with meta\nnetworks to allow the personalized knowledge transformer with adaptive\ncontrastive augmentation. The experimental results on three real-world datasets\ndemonstrate the superiority of HGCL over state-of-the-art recommendation\nmethods. Through ablation study, key components in HGCL method are validated to\nbenefit the recommendation performance improvement. The source code of the\nmodel implementation is available at the link https://github.com/HKUDS/HGCL.", + "venue": "Web Search and Data Mining", + "venue_source": "Semantic Scholar", + "venue_lookup_time": "2024-11-19T16:36:29.853116", + "citations": 110, + "topic": "Knowledge Graph Contrastive Learning for Recommendation", + "field": "preselected", + "task1": "The proposed methodology focuses on enhancing recommendation systems through heterogeneous graph contrastive learning. To implement this technique, researchers should follow these steps:\n\n1. **Task**: The proposed model aims to improve user-item interaction predictions in recommendation systems by leveraging heterogeneous relational information.\n\n2. **Core Techniques/Algorithms**:\n - **Heterogeneous Graph Neural Networks (GNNs)**: Used for embedding initialization and message propagation across different types of user-item and user-user/item-item graphs.\n - **Contrastive Learning**: Specifically, a cross-view contrastive learning framework is utilized to enhance representation learning by aligning embeddings from auxiliary views with user-item interaction embeddings.\n - **Meta Networks**: Employed to extract personalized knowledge and facilitate customized knowledge transfer between auxiliary views and the user-item interaction view.\n\n3. **Purpose and Function of Each Major Component**:\n - **Heterogeneous GNN**: Encodes user and item relationships into embeddings that capture the semantics of various interactions.\n - **Contrastive Learning**: Provides self-supervision signals to enhance the robustness of learned representations, allowing the proposed model to distinguish between relevant and irrelevant interactions.\n - **Meta Network**: Models personalized characteristics to facilitate adaptive knowledge transfer, ensuring that the influence of auxiliary information is tailored to individual users and items.\n\n4. **Implementation Details**:\n - **Heterogeneous GNN**:\n - **Key Parameters**: Use Xavier initializer for embedding initialization; set the hidden dimensionality `d`.\n - **Input/Output**: Take adjacency matrices for user-item, user-user, and item-item graphs as input; output relation-aware embeddings.\n - **Constraints**: Ensure that the GNN can handle varying types of nodes and relations.\n - **Contrastive Learning**:\n - **Key Parameters**: Use cosine similarity as the similarity function; define a temperature coefficient for handling negative samples.\n - **Input/Output**: Input embeddings from the meta network and user/item views; output contrastive loss values.\n - **Constraints**: Maintain diverse representations to avoid overfitting.\n - **Meta Network**:\n - **Key Parameters**: Set up fully connected layers with PReLU activation to generate personalized transformation matrices.\n - **Input/Output**: Input user and item embeddings; output transformed embeddings for personalized knowledge transfer.\n - **Constraints**: Ensure low-rank decomposition of transformation matrices to reduce parameter count.\n\n5. **Step-by-Step Interaction**:\n - Initialize user and item embeddings using a heterogeneous GNN.\n - Perform heterogeneous message propagation to refine embeddings iteratively across user-item, user-user, and item-item graphs.\n - Aggregate the refined embeddings from various views using a mean pooling function to retain heterogeneous semantics.\n - Extract meta knowledge from the learned embeddings to create personalized mapping functions using the meta network.\n - Apply contrastive learning to align embeddings from auxiliary views with the user-item interaction embeddings, generating a contrastive loss.\n - Combine the contrastive loss with a pairwise loss function (like Bayesian Personalized Ranking) to optimize the proposed model.\n\n6. **Critical Implementation Details**:\n - Choose appropriate hyperparameters such as embedding size, learning rate, and the number of GNN layers through systematic experimentation.\n - Monitor the proposed model for signs of overfitting, especially when increasing the number of GNN layers or embedding dimensions.\n - Ensure diverse user-item interaction patterns are captured through sufficient training data and effective augmentation techniques.\n\nBy following these structured steps and focusing on the described components, researchers can implement the heterogeneous graph contrastive learning methodology effectively, enhancing their recommendation systems' performance as outlined in this paper.", + "task2": "1. The primary task of this research is to enhance recommendation systems through the incorporation of heterogeneous relationships in user-item interactions. The proposed approach focuses on leveraging heterogeneous graph structures and contrastive learning techniques to improve the understanding of user preferences based on diverse relational information.\n\n2. Current approaches in recommendation systems often struggle to effectively utilize heterogeneous relational information, as many existing models primarily focus on homogeneous relationships. Additionally, these models typically face limitations related to data sparsity, leading to inadequate user and item embeddings that do not capture the full range of user preferences and item dependencies.\n\n3. The researchers aim to overcome significant challenges in incorporating heterogeneous side information into recommendation frameworks. These challenges include effectively transferring knowledge across diverse relational views and enabling personalized learning that adapts to individual user characteristics and interaction patterns.\n\n4. The key objectives of this research include developing a framework that employs heterogeneous graph contrastive learning to facilitate knowledge transfer between different types of relationships. The intended contributions are to provide a robust methodology for enhancing recommendation performance through personalized contrastive learning and to demonstrate the efficacy of this proposed approach in real-world recommendation scenarios. This study aspires to advance existing recommendation systems by integrating a broader spectrum of relational data while addressing the issues of data sparsity and user-specific preferences." } \ No newline at end of file diff --git a/benchmark/final/recommendation/kgrec.json b/benchmark/final/recommendation/kgrec.json index 641f9c9..559d381 100755 --- a/benchmark/final/recommendation/kgrec.json +++ b/benchmark/final/recommendation/kgrec.json @@ -1,77 +1,77 @@ -{ - "target": "Knowledge Graph Self-Supervised Rationalization for Recommendation", - "instance_id": "kgrec_final", - "source_papers": [ - { - "reference": "Masked Autoencoders As Spatiotemporal Learners", - "rank": 1, - "type": [ - "methodological" - ], - "justification": "This study provided a foundational method for masked autoencoders, which directly influenced the rationale-aware knowledge masking mechanism in the proposed model. The effectiveness of masked autoencoders in acquiring useful implicit semantics is critical for the proposed approach.", - "usage": "The proposed model adapted the masked autoencoder framework to integrate rationale-aware knowledge masking." - }, - { - "reference": "Noise-contrastive estimation: A new estimation principle for unnormalized statistical models", - "rank": 2, - "type": [ - "methodological" - ], - "justification": "This work introduced noise-contrastive estimation, which was adapted in the proposed model for ensuring noise-resistant contrasting of knowledge graph edges based on rational scores. It established a principle that is crucial for the proposed model's robustness.", - "usage": "The proposed model utilized noise-resistant contrasting principles to mask potential noisy edges in the knowledge graphs." - }, - { - "reference": "Learning entity and relation embeddings for knowledge graph completion", - "rank": 3, - "type": [ - "component" - ], - "justification": "This study's discussion on contrastive learning techniques served as a basis for the integration of contrastive learning in the proposed model to enhance knowledge-aware recommendation. It highlights the importance of leveraging contrastive signals.", - "usage": "The proposed model applied contrastive learning in the context of knowledge-aware recommendation to improve model performance." - }, - { - "reference": "Kgat: Knowledge graph attention network for recommendation", - "rank": 4, - "type": [ - "conceptual" - ], - "justification": "The proposed approach introduced the collaborative KG concept, which inspired the rationale-aware mechanisms and cross-view contrastive learning in the proposed model. This conceptual framework helped shape the direction of this study.", - "usage": "The proposed model extended the collaborative KG concept to include rationale-aware mechanisms and cross-view contrastive learning." - }, - { - "reference": "Unifying knowledge graph learning and recommendation: Towards a better understanding of user preferences", - "rank": 5, - "type": [ - "conceptual" - ], - "justification": "This reference emphasized the integration of knowledge graphs into recommendation systems, influencing the proposed model to enhance user preference learning with a rationale-based approach. It shaped the overall framework of the proposed model.", - "usage": "The proposed model enhanced the integration of knowledge graphs with a rationale-based approach for user preference learning." - }, - { - "reference": "Graph convolutional matrix completion", - "rank": 6, - "type": [ - "conceptual" - ], - "justification": "This paper presented collaborative filtering paradigms that informed the proposed model's approach to user-item interactions enhanced by knowledge graphs. It provided a conceptual framework for the development of the proposed approach.", - "usage": "The proposed model refined collaborative filtering paradigms to emphasize user-item interactions enhanced by knowledge graphs." - } - ], - "authors": [ - "Yuhao Yang", - "Chao Huang", - "Lianghao Xia", - "Chunzhen Huang" - ], - "year": 2023, - "url": "http://arxiv.org/abs/2307.02759v1", - "abstract": "In this paper, we introduce a new self-supervised rationalization method,\ncalled KGRec, for knowledge-aware recommender systems. To effectively identify\ninformative knowledge connections, we propose an attentive knowledge\nrationalization mechanism that generates rational scores for knowledge\ntriplets. With these scores, KGRec integrates generative and contrastive\nself-supervised tasks for recommendation through rational masking. To highlight\nrationales in the knowledge graph, we design a novel generative task in the\nform of masking-reconstructing. By masking important knowledge with high\nrational scores, KGRec is trained to rebuild and highlight useful knowledge\nconnections that serve as rationales. To further rationalize the effect of\ncollaborative interactions on knowledge graph learning, we introduce a\ncontrastive learning task that aligns signals from knowledge and user-item\ninteraction views. To ensure noise-resistant contrasting, potential noisy edges\nin both graphs judged by the rational scores are masked. Extensive experiments\non three real-world datasets demonstrate that KGRec outperforms\nstate-of-the-art methods. We also provide the implementation codes for our\napproach at https://github.com/HKUDS/KGRec.", - "venue": "Proceedings of the 29th ACM SIGKDD Conference on Knowledge Discovery and Data Mining", - "venue_source": "Crossref", - "venue_lookup_time": "2024-11-19T16:36:35.871154", - "citations": 57, - "topic": "Knowledge Graph Contrastive Learning for Recommendation", - "field": "preselected", - "task1": "The core methodology of the presented research paper focuses on enhancing recommendation systems through a self-supervised learning approach that utilizes knowledge graphs. The proposed model is designed to identify and leverage informative relationships between users, items, and their associated knowledge triplets.\n\n1. **Task**: The proposed model addresses the task of knowledge-aware recommendation systems, aiming to improve the accuracy and interpretability of recommendations based on user-item interactions and knowledge graph information.\n\n2. **Core Techniques**: \n - **Rationale Weighting Function**: This learns the importance of knowledge triplets using a graph attention mechanism.\n - **Knowledge Aggregation Layer**: This aggregates information from the knowledge graph while considering the importance of triplets based on rational scores.\n - **Masked Autoencoder**: Implements a masking and reconstruction strategy to distill essential knowledge from the graph.\n - **Contrastive Learning**: Aligns representations from the knowledge graph and user-item interactions to enhance learning.\n\n3. **Purpose of Components**:\n - **Rationale Weighting Function**: Produces rational scores indicating the significance of each knowledge triplet for user preferences.\n - **Knowledge Aggregation Layer**: Combines knowledge from relevant triplets to generate user and item embeddings.\n - **Masked Autoencoder**: Focuses on reconstructing important triplets while ignoring noisy or irrelevant information.\n - **Contrastive Learning**: Facilitates the alignment of different views (knowledge graph vs. user-item interactions) to improve representation learning.\n\n4. **Implementation Details**:\n - **Rationale Weighting Function**: Key parameters include trainable weights for attention (dimensions R_d \u00d7 d, where d is hidden dimensionality). Input consists of embeddings for head, relation, and tail entities; output is a rationale score for each triplet.\n - **Knowledge Aggregation Layer**: Input is the knowledge graph and the output is the aggregated embeddings for users/items. Use normalized rationale scores for weighting neighbors.\n - **Masked Autoencoder**: The masking mechanism randomly selects important triplets based on calculated rationale scores to create a masked graph. It requires the number of masked triplets to be defined (e.g., top k scores). The output is reconstructed embeddings for the masked connections.\n - **Contrastive Learning**: Involves creating augmented graphs by removing low-scored connections. The inputs are the augmented user-item and knowledge graphs, producing aligned representations.\n\n5. **Step-by-Step Interaction**:\n - Begin with user-item interaction and knowledge graphs. \n - Apply the rationale weighting function to generate scores for each knowledge triplet.\n - Use these scores to inform the knowledge aggregation layer, producing user and item embeddings reflective of important knowledge.\n - Implement the masked autoencoder to train on the knowledge graph, masking triplets based on scores and reconstructing them to emphasize relevant information.\n - Finally, apply contrastive learning between the user-item view and the knowledge graph view, aligning their representations to improve overall recommendation performance.\n\n6. **Critical Implementation Details**:\n - The selection of the masking size during training is crucial; it should be tuned based on the dataset characteristics. \n - The temperature used in the contrastive loss affects the proposed model's sensitivity to negative samples \u2014 it should be optimized for best performance.\n - Ensure that the knowledge graph is clean of noise by filtering out low-scored triplets before training to facilitate better representation learning.\n - Adequate configurations for the learning rates and the weight of different loss components in the joint loss function can significantly impact the convergence and performance of the proposed approach.", - "task2": "The primary task the research tackles is enhancing recommendation systems by leveraging knowledge graphs through a self-supervised learning approach to effectively identify and utilize informative knowledge connections.\n\nCurrent limitations in existing approaches include the inability to adequately address the noise and sparsity issues present in knowledge graphs, as well as a lack of focus on the latent rationales that underlie user preferences, which contributes to sub-optimal performance in recommendation tasks.\n\nThe core challenges the researchers aim to overcome involve developing a method that can explicitly model and highlight the rationales behind user preferences while minimizing the impact of noisy and irrelevant knowledge connections in the recommendation process.\n\nKey objectives and intended contributions include proposing a novel self-supervised learning framework that integrates generative and contrastive tasks to rationalize knowledge graphs, enabling the identification of task-relevant knowledge, and aligning the impacts of collaborative filtering signals with knowledge graph representations to enhance recommendation performance." +{ + "target": "Knowledge Graph Self-Supervised Rationalization for Recommendation", + "instance_id": "kgrec_final", + "source_papers": [ + { + "reference": "Masked Autoencoders As Spatiotemporal Learners", + "rank": 1, + "type": [ + "methodological" + ], + "justification": "This study provided a foundational method for masked autoencoders, which directly influenced the rationale-aware knowledge masking mechanism in the proposed model. The effectiveness of masked autoencoders in acquiring useful implicit semantics is critical for the proposed approach.", + "usage": "The proposed model adapted the masked autoencoder framework to integrate rationale-aware knowledge masking." + }, + { + "reference": "Noise-contrastive estimation: A new estimation principle for unnormalized statistical models", + "rank": 2, + "type": [ + "methodological" + ], + "justification": "This work introduced noise-contrastive estimation, which was adapted in the proposed model for ensuring noise-resistant contrasting of knowledge graph edges based on rational scores. It established a principle that is crucial for the proposed model's robustness.", + "usage": "The proposed model utilized noise-resistant contrasting principles to mask potential noisy edges in the knowledge graphs." + }, + { + "reference": "Learning entity and relation embeddings for knowledge graph completion", + "rank": 3, + "type": [ + "component" + ], + "justification": "This study's discussion on contrastive learning techniques served as a basis for the integration of contrastive learning in the proposed model to enhance knowledge-aware recommendation. It highlights the importance of leveraging contrastive signals.", + "usage": "The proposed model applied contrastive learning in the context of knowledge-aware recommendation to improve model performance." + }, + { + "reference": "Kgat: Knowledge graph attention network for recommendation", + "rank": 4, + "type": [ + "conceptual" + ], + "justification": "The proposed approach introduced the collaborative KG concept, which inspired the rationale-aware mechanisms and cross-view contrastive learning in the proposed model. This conceptual framework helped shape the direction of this study.", + "usage": "The proposed model extended the collaborative KG concept to include rationale-aware mechanisms and cross-view contrastive learning." + }, + { + "reference": "Unifying knowledge graph learning and recommendation: Towards a better understanding of user preferences", + "rank": 5, + "type": [ + "conceptual" + ], + "justification": "This reference emphasized the integration of knowledge graphs into recommendation systems, influencing the proposed model to enhance user preference learning with a rationale-based approach. It shaped the overall framework of the proposed model.", + "usage": "The proposed model enhanced the integration of knowledge graphs with a rationale-based approach for user preference learning." + }, + { + "reference": "Graph convolutional matrix completion", + "rank": 6, + "type": [ + "conceptual" + ], + "justification": "This paper presented collaborative filtering paradigms that informed the proposed model's approach to user-item interactions enhanced by knowledge graphs. It provided a conceptual framework for the development of the proposed approach.", + "usage": "The proposed model refined collaborative filtering paradigms to emphasize user-item interactions enhanced by knowledge graphs." + } + ], + "authors": [ + "Yuhao Yang", + "Chao Huang", + "Lianghao Xia", + "Chunzhen Huang" + ], + "year": 2023, + "url": "http://arxiv.org/abs/2307.02759v1", + "abstract": "In this paper, we introduce a new self-supervised rationalization method,\ncalled KGRec, for knowledge-aware recommender systems. To effectively identify\ninformative knowledge connections, we propose an attentive knowledge\nrationalization mechanism that generates rational scores for knowledge\ntriplets. With these scores, KGRec integrates generative and contrastive\nself-supervised tasks for recommendation through rational masking. To highlight\nrationales in the knowledge graph, we design a novel generative task in the\nform of masking-reconstructing. By masking important knowledge with high\nrational scores, KGRec is trained to rebuild and highlight useful knowledge\nconnections that serve as rationales. To further rationalize the effect of\ncollaborative interactions on knowledge graph learning, we introduce a\ncontrastive learning task that aligns signals from knowledge and user-item\ninteraction views. To ensure noise-resistant contrasting, potential noisy edges\nin both graphs judged by the rational scores are masked. Extensive experiments\non three real-world datasets demonstrate that KGRec outperforms\nstate-of-the-art methods. We also provide the implementation codes for our\napproach at https://github.com/HKUDS/KGRec.", + "venue": "Proceedings of the 29th ACM SIGKDD Conference on Knowledge Discovery and Data Mining", + "venue_source": "Crossref", + "venue_lookup_time": "2024-11-19T16:36:35.871154", + "citations": 57, + "topic": "Knowledge Graph Contrastive Learning for Recommendation", + "field": "preselected", + "task1": "The core methodology of the presented research paper focuses on enhancing recommendation systems through a self-supervised learning approach that utilizes knowledge graphs. The proposed model is designed to identify and leverage informative relationships between users, items, and their associated knowledge triplets.\n\n1. **Task**: The proposed model addresses the task of knowledge-aware recommendation systems, aiming to improve the accuracy and interpretability of recommendations based on user-item interactions and knowledge graph information.\n\n2. **Core Techniques**: \n - **Rationale Weighting Function**: This learns the importance of knowledge triplets using a graph attention mechanism.\n - **Knowledge Aggregation Layer**: This aggregates information from the knowledge graph while considering the importance of triplets based on rational scores.\n - **Masked Autoencoder**: Implements a masking and reconstruction strategy to distill essential knowledge from the graph.\n - **Contrastive Learning**: Aligns representations from the knowledge graph and user-item interactions to enhance learning.\n\n3. **Purpose of Components**:\n - **Rationale Weighting Function**: Produces rational scores indicating the significance of each knowledge triplet for user preferences.\n - **Knowledge Aggregation Layer**: Combines knowledge from relevant triplets to generate user and item embeddings.\n - **Masked Autoencoder**: Focuses on reconstructing important triplets while ignoring noisy or irrelevant information.\n - **Contrastive Learning**: Facilitates the alignment of different views (knowledge graph vs. user-item interactions) to improve representation learning.\n\n4. **Implementation Details**:\n - **Rationale Weighting Function**: Key parameters include trainable weights for attention (dimensions R_d \u00d7 d, where d is hidden dimensionality). Input consists of embeddings for head, relation, and tail entities; output is a rationale score for each triplet.\n - **Knowledge Aggregation Layer**: Input is the knowledge graph and the output is the aggregated embeddings for users/items. Use normalized rationale scores for weighting neighbors.\n - **Masked Autoencoder**: The masking mechanism randomly selects important triplets based on calculated rationale scores to create a masked graph. It requires the number of masked triplets to be defined (e.g., top k scores). The output is reconstructed embeddings for the masked connections.\n - **Contrastive Learning**: Involves creating augmented graphs by removing low-scored connections. The inputs are the augmented user-item and knowledge graphs, producing aligned representations.\n\n5. **Step-by-Step Interaction**:\n - Begin with user-item interaction and knowledge graphs. \n - Apply the rationale weighting function to generate scores for each knowledge triplet.\n - Use these scores to inform the knowledge aggregation layer, producing user and item embeddings reflective of important knowledge.\n - Implement the masked autoencoder to train on the knowledge graph, masking triplets based on scores and reconstructing them to emphasize relevant information.\n - Finally, apply contrastive learning between the user-item view and the knowledge graph view, aligning their representations to improve overall recommendation performance.\n\n6. **Critical Implementation Details**:\n - The selection of the masking size during training is crucial; it should be tuned based on the dataset characteristics. \n - The temperature used in the contrastive loss affects the proposed model's sensitivity to negative samples \u2014 it should be optimized for best performance.\n - Ensure that the knowledge graph is clean of noise by filtering out low-scored triplets before training to facilitate better representation learning.\n - Adequate configurations for the learning rates and the weight of different loss components in the joint loss function can significantly impact the convergence and performance of the proposed approach.", + "task2": "The primary task the research tackles is enhancing recommendation systems by leveraging knowledge graphs through a self-supervised learning approach to effectively identify and utilize informative knowledge connections.\n\nCurrent limitations in existing approaches include the inability to adequately address the noise and sparsity issues present in knowledge graphs, as well as a lack of focus on the latent rationales that underlie user preferences, which contributes to sub-optimal performance in recommendation tasks.\n\nThe core challenges the researchers aim to overcome involve developing a method that can explicitly model and highlight the rationales behind user preferences while minimizing the impact of noisy and irrelevant knowledge connections in the recommendation process.\n\nKey objectives and intended contributions include proposing a novel self-supervised learning framework that integrates generative and contrastive tasks to rationalize knowledge graphs, enabling the identification of task-relevant knowledge, and aligning the impacts of collaborative filtering signals with knowledge graph representations to enhance recommendation performance." } \ No newline at end of file diff --git a/benchmark/final/recommendation/maerec.json b/benchmark/final/recommendation/maerec.json index e707f6f..adb117a 100755 --- a/benchmark/final/recommendation/maerec.json +++ b/benchmark/final/recommendation/maerec.json @@ -1,94 +1,94 @@ -{ - "target": "Graph Masked Autoencoder for Sequential Recommendation", - "instance_id": "maerec", - "source_papers": [ - { - "reference": "GraphMAE: Self-Supervised Masked Graph Autoencoders", - "rank": 1, - "type": [ - "methodological" - ], - "justification": "This study lays the foundational work on masked graph autoencoders, which is directly adapted and enhanced in the proposed approach. The incorporation of adaptive mechanisms to enhance self-supervised learning is critical for the development of the proposed model.", - "usage": "The concepts of masked autoencoding and adaptive graph masking were integrated to improve the self-supervised learning process in the proposed model." - }, - { - "reference": "Contrastive learning for sequential recommendation", - "rank": 2, - "type": [ - "methodological" - ], - "justification": "This work introduces contrastive learning techniques specifically tailored for sequential recommendations, which inform the augmentation strategies in the proposed model. The exploration of self-supervision signals from unlabeled data is particularly relevant.", - "usage": "The methodology for applying contrastive learning in a self-supervised manner was utilized to avoid reliance on handcrafted augmentations." - }, - { - "reference": "BERT4Rec: Sequential recommendation with bidirectional encoder representations from transformer", - "rank": 3, - "type": [ - "component" - ], - "justification": "BERT4Rec's use of the Cloze objective influences the design of the proposed model, particularly in the context of item embedding strategies. The incorporation of a bidirectional approach is crucial for capturing user preferences over sequences.", - "usage": "The Cloze objective was adapted for use in the sequential recommendation context to refine item embedding processes." - }, - { - "reference": "Self-attentive sequential recommendation", - "rank": 4, - "type": [ - "component" - ], - "justification": "This work's implementation of a self-attention mechanism serves as a core component in the proposed model, enhancing the proposed approach's ability to capture item correlations within sequences.", - "usage": "The self-attention mechanism was adopted to improve the modeling of item transitions in user behavior sequences." - }, - { - "reference": "Sequential recommendation with graph neural networks", - "rank": 5, - "type": [ - "conceptual" - ], - "justification": "This study demonstrated the potential of graph neural networks in recommendation systems, inspiring the use of such networks in the proposed model to model item transitions dynamically.", - "usage": "The foundational concepts of graph neural networks were leveraged to enhance the modeling of item transitions." - }, - { - "reference": "Lightgcn: Simplifying and powering graph convolution network for recommendation", - "rank": 6, - "type": [ - "methodological" - ], - "justification": "The simplification and efficiency improvements in graph convolutional networks described in this study directly influenced the choice of architecture in the proposed model, allowing for better performance in sequential recommendation tasks.", - "usage": "The lightweight graph convolutional network architecture was adopted to improve efficiency in recommendations." - }, - { - "reference": "Intent Contrastive Learning for Sequential Recommendation", - "rank": 7, - "type": [ - "conceptual" - ], - "justification": "This work's exploration of latent variables for user intent representation contributes to the overall understanding of user behavior in recommendations, influencing the design of the proposed model.", - "usage": "Latent variables created to represent user intents were integrated into the framework to strengthen the modeling of user preferences." - }, - { - "reference": "Neural attentive session-based recommendation", - "rank": 8, - "type": [ - "component" - ], - "justification": "The integration of the attention mechanism with feed-forward networks showcased effective item transition modeling, providing insights for the proposed model's design.", - "usage": "The attention mechanism was adapted to improve how item transitions are modeled within the sequential recommendation process." - } - ], - "authors": [ - "Yaowen Ye", - "Lianghao Xia", - "Chao Huang" - ], - "year": 2023, - "url": "http://arxiv.org/abs/2305.04619v3", - "abstract": "While some powerful neural network architectures (e.g., Transformer, Graph\nNeural Networks) have achieved improved performance in sequential\nrecommendation with high-order item dependency modeling, they may suffer from\npoor representation capability in label scarcity scenarios. To address the\nissue of insufficient labels, Contrastive Learning (CL) has attracted much\nattention in recent methods to perform data augmentation through embedding\ncontrasting for self-supervision. However, due to the hand-crafted property of\ntheir contrastive view generation strategies, existing CL-enhanced models i)\ncan hardly yield consistent performance on diverse sequential recommendation\ntasks; ii) may not be immune to user behavior data noise. In light of this, we\npropose a simple yet effective Graph Masked AutoEncoder-enhanced sequential\nRecommender system (MAERec) that adaptively and dynamically distills global\nitem transitional information for self-supervised augmentation. It naturally\navoids the above issue of heavy reliance on constructing high-quality embedding\ncontrastive views. Instead, an adaptive data reconstruction paradigm is\ndesigned to be integrated with the long-range item dependency modeling, for\ninformative augmentation in sequential recommendation. Extensive experiments\ndemonstrate that our method significantly outperforms state-of-the-art baseline\nmodels and can learn more accurate representations against data noise and\nsparsity. Our implemented model code is available at\nhttps://github.com/HKUDS/MAERec.", - "venue": "Annual International ACM SIGIR Conference on Research and Development in Information Retrieval", - "venue_source": "Semantic Scholar", - "venue_lookup_time": "2024-11-19T16:40:30.660361", - "citations": 22, - "topic": "LightGCL Simple yet effective graph contrastive learning for recommendation", - "field": "preselected", - "task1": "1. The proposed model addresses the task of sequential recommendation, which involves predicting the next item a user is likely to interact with based on their previous interactions.\n\n2. The core techniques employed include:\n - **Graph Masked Autoencoder**: A generative model that reconstructs masked item transitions from a graph-based representation of user interactions.\n - **Graph Neural Networks (GNNs)**: Used to capture item dependency relationships through message passing among item nodes.\n - **Adaptive Path Masking**: A mechanism to selectively mask item transitions based on their semantic relatedness, which is learned through self-supervised learning signals.\n\n3. Functions of major technical components:\n - **Graph Construction**: Builds a global item-item transition graph to represent relationships among items based on user interaction sequences.\n - **Learning to Mask**: Identifies semantically related items to form anchor nodes for effective masking.\n - **Transition Path Masking**: Masks paths in the graph to preserve important item transition patterns, allowing for effective reconstruction during training.\n - **Graph Encoder**: Encodes the graph structure to learn item embeddings.\n - **Decoder**: Reconstructs masked item transitions using the learned embeddings.\n - **Transformer Encoder**: Processes user interaction sequences to produce final embeddings for recommendation.\n\n4. Implementation details:\n - **Graph Construction**: Use user interaction sequences to define edges in the graph, where each edge connects an item to its neighbors based on a defined hop distance (h).\n - **Learning to Mask**: Select anchor nodes based on semantic relatedness scores calculated from the embeddings of k-hop neighbors.\n - **Transition Path Masking**: Implement a random walk process to generate masked paths, controlling the drop ratio (p) to vary the length of masked transitions.\n - **Graph Encoder**: Use a lightweight Graph Convolutional Network (GCN) with a specified number of layers (L) and embedding dimension (d).\n - **Decoder**: Use a multi-layer perceptron (MLP) that takes concatenated embeddings of items to predict edges in the masked transition graph.\n - **Input/Output Specifications**: Input is a sequence of user-item interactions; output is the predicted next item or reconstructed masked transitions.\n - **Optimization**: Use the Adam optimizer with a learning rate of 1e-3, and consider weight decay for model parameters.\n\n5. Step-by-step interaction:\n - Construct the global item transition graph from user interaction sequences.\n - Use the Learning to Mask module to identify anchor nodes and their semantic relatedness.\n - Perform Transition Path Masking to create masked paths based on the identified anchor nodes.\n - Feed the masked graph into the GCN to produce item embeddings.\n - Utilize the MLP decoder to reconstruct the masked transitions from the learned embeddings.\n - Train the Transformer encoder on user sequences while incorporating self-supervised learning signals from the graph autoencoder.\n\n6. Critical implementation details for performance:\n - The choice of hyperparameters such as the number of GNN layers, embedding dimensions, and the parameters for path masking (k and p) significantly influences the proposed model performance.\n - The adaptive nature of the masking process is crucial; static or random masking approaches can harm important transition relations and lead to suboptimal performance.\n - Ensuring that the graph encoder effectively captures both short- and long-term dependencies is vital for robust representation learning in the context of sparse user interactions.\n\n", - "task2": "The primary task or problem domain the research tackles is sequential recommendation, which focuses on learning effective representations of user preferences over time and suggesting future items that may interest users based on their past interactions.\n\nCurrent limitations in existing approaches that motivated this work include the reliance on handcrafted contrastive augmentation strategies in contrastive learning methods, which often lead to inconsistent performance across different sequential recommendation tasks and make the models vulnerable to noise in user behavior data.\n\nCore challenges the researchers aim to overcome include addressing label scarcity issues that degrade the proposed model representation performance, the ineffectiveness of existing data augmentation methods that can corrupt critical transition structures, and the need for models that can adaptively and robustly handle data noise.\n\nKey objectives and intended contributions include developing a new approach for self-supervised learning through an adaptive data augmentation method, specifically a graph masked autoencoder, which enhances the robustness and adaptability of sequential recommendation systems by distilling informative signals for reconstruction while avoiding the pitfalls of traditional augmentation techniques. The researchers aim to demonstrate that their proposed approach can achieve superior performance in learning accurate representations in the presence of noise and sparsity in data." +{ + "target": "Graph Masked Autoencoder for Sequential Recommendation", + "instance_id": "maerec", + "source_papers": [ + { + "reference": "GraphMAE: Self-Supervised Masked Graph Autoencoders", + "rank": 1, + "type": [ + "methodological" + ], + "justification": "This study lays the foundational work on masked graph autoencoders, which is directly adapted and enhanced in the proposed approach. The incorporation of adaptive mechanisms to enhance self-supervised learning is critical for the development of the proposed model.", + "usage": "The concepts of masked autoencoding and adaptive graph masking were integrated to improve the self-supervised learning process in the proposed model." + }, + { + "reference": "Contrastive learning for sequential recommendation", + "rank": 2, + "type": [ + "methodological" + ], + "justification": "This work introduces contrastive learning techniques specifically tailored for sequential recommendations, which inform the augmentation strategies in the proposed model. The exploration of self-supervision signals from unlabeled data is particularly relevant.", + "usage": "The methodology for applying contrastive learning in a self-supervised manner was utilized to avoid reliance on handcrafted augmentations." + }, + { + "reference": "BERT4Rec: Sequential recommendation with bidirectional encoder representations from transformer", + "rank": 3, + "type": [ + "component" + ], + "justification": "BERT4Rec's use of the Cloze objective influences the design of the proposed model, particularly in the context of item embedding strategies. The incorporation of a bidirectional approach is crucial for capturing user preferences over sequences.", + "usage": "The Cloze objective was adapted for use in the sequential recommendation context to refine item embedding processes." + }, + { + "reference": "Self-attentive sequential recommendation", + "rank": 4, + "type": [ + "component" + ], + "justification": "This work's implementation of a self-attention mechanism serves as a core component in the proposed model, enhancing the proposed approach's ability to capture item correlations within sequences.", + "usage": "The self-attention mechanism was adopted to improve the modeling of item transitions in user behavior sequences." + }, + { + "reference": "Sequential recommendation with graph neural networks", + "rank": 5, + "type": [ + "conceptual" + ], + "justification": "This study demonstrated the potential of graph neural networks in recommendation systems, inspiring the use of such networks in the proposed model to model item transitions dynamically.", + "usage": "The foundational concepts of graph neural networks were leveraged to enhance the modeling of item transitions." + }, + { + "reference": "Lightgcn: Simplifying and powering graph convolution network for recommendation", + "rank": 6, + "type": [ + "methodological" + ], + "justification": "The simplification and efficiency improvements in graph convolutional networks described in this study directly influenced the choice of architecture in the proposed model, allowing for better performance in sequential recommendation tasks.", + "usage": "The lightweight graph convolutional network architecture was adopted to improve efficiency in recommendations." + }, + { + "reference": "Intent Contrastive Learning for Sequential Recommendation", + "rank": 7, + "type": [ + "conceptual" + ], + "justification": "This work's exploration of latent variables for user intent representation contributes to the overall understanding of user behavior in recommendations, influencing the design of the proposed model.", + "usage": "Latent variables created to represent user intents were integrated into the framework to strengthen the modeling of user preferences." + }, + { + "reference": "Neural attentive session-based recommendation", + "rank": 8, + "type": [ + "component" + ], + "justification": "The integration of the attention mechanism with feed-forward networks showcased effective item transition modeling, providing insights for the proposed model's design.", + "usage": "The attention mechanism was adapted to improve how item transitions are modeled within the sequential recommendation process." + } + ], + "authors": [ + "Yaowen Ye", + "Lianghao Xia", + "Chao Huang" + ], + "year": 2023, + "url": "http://arxiv.org/abs/2305.04619v3", + "abstract": "While some powerful neural network architectures (e.g., Transformer, Graph\nNeural Networks) have achieved improved performance in sequential\nrecommendation with high-order item dependency modeling, they may suffer from\npoor representation capability in label scarcity scenarios. To address the\nissue of insufficient labels, Contrastive Learning (CL) has attracted much\nattention in recent methods to perform data augmentation through embedding\ncontrasting for self-supervision. However, due to the hand-crafted property of\ntheir contrastive view generation strategies, existing CL-enhanced models i)\ncan hardly yield consistent performance on diverse sequential recommendation\ntasks; ii) may not be immune to user behavior data noise. In light of this, we\npropose a simple yet effective Graph Masked AutoEncoder-enhanced sequential\nRecommender system (MAERec) that adaptively and dynamically distills global\nitem transitional information for self-supervised augmentation. It naturally\navoids the above issue of heavy reliance on constructing high-quality embedding\ncontrastive views. Instead, an adaptive data reconstruction paradigm is\ndesigned to be integrated with the long-range item dependency modeling, for\ninformative augmentation in sequential recommendation. Extensive experiments\ndemonstrate that our method significantly outperforms state-of-the-art baseline\nmodels and can learn more accurate representations against data noise and\nsparsity. Our implemented model code is available at\nhttps://github.com/HKUDS/MAERec.", + "venue": "Annual International ACM SIGIR Conference on Research and Development in Information Retrieval", + "venue_source": "Semantic Scholar", + "venue_lookup_time": "2024-11-19T16:40:30.660361", + "citations": 22, + "topic": "LightGCL Simple yet effective graph contrastive learning for recommendation", + "field": "preselected", + "task1": "1. The proposed model addresses the task of sequential recommendation, which involves predicting the next item a user is likely to interact with based on their previous interactions.\n\n2. The core techniques employed include:\n - **Graph Masked Autoencoder**: A generative model that reconstructs masked item transitions from a graph-based representation of user interactions.\n - **Graph Neural Networks (GNNs)**: Used to capture item dependency relationships through message passing among item nodes.\n - **Adaptive Path Masking**: A mechanism to selectively mask item transitions based on their semantic relatedness, which is learned through self-supervised learning signals.\n\n3. Functions of major technical components:\n - **Graph Construction**: Builds a global item-item transition graph to represent relationships among items based on user interaction sequences.\n - **Learning to Mask**: Identifies semantically related items to form anchor nodes for effective masking.\n - **Transition Path Masking**: Masks paths in the graph to preserve important item transition patterns, allowing for effective reconstruction during training.\n - **Graph Encoder**: Encodes the graph structure to learn item embeddings.\n - **Decoder**: Reconstructs masked item transitions using the learned embeddings.\n - **Transformer Encoder**: Processes user interaction sequences to produce final embeddings for recommendation.\n\n4. Implementation details:\n - **Graph Construction**: Use user interaction sequences to define edges in the graph, where each edge connects an item to its neighbors based on a defined hop distance (h).\n - **Learning to Mask**: Select anchor nodes based on semantic relatedness scores calculated from the embeddings of k-hop neighbors.\n - **Transition Path Masking**: Implement a random walk process to generate masked paths, controlling the drop ratio (p) to vary the length of masked transitions.\n - **Graph Encoder**: Use a lightweight Graph Convolutional Network (GCN) with a specified number of layers (L) and embedding dimension (d).\n - **Decoder**: Use a multi-layer perceptron (MLP) that takes concatenated embeddings of items to predict edges in the masked transition graph.\n - **Input/Output Specifications**: Input is a sequence of user-item interactions; output is the predicted next item or reconstructed masked transitions.\n - **Optimization**: Use the Adam optimizer with a learning rate of 1e-3, and consider weight decay for model parameters.\n\n5. Step-by-step interaction:\n - Construct the global item transition graph from user interaction sequences.\n - Use the Learning to Mask module to identify anchor nodes and their semantic relatedness.\n - Perform Transition Path Masking to create masked paths based on the identified anchor nodes.\n - Feed the masked graph into the GCN to produce item embeddings.\n - Utilize the MLP decoder to reconstruct the masked transitions from the learned embeddings.\n - Train the Transformer encoder on user sequences while incorporating self-supervised learning signals from the graph autoencoder.\n\n6. Critical implementation details for performance:\n - The choice of hyperparameters such as the number of GNN layers, embedding dimensions, and the parameters for path masking (k and p) significantly influences the proposed model performance.\n - The adaptive nature of the masking process is crucial; static or random masking approaches can harm important transition relations and lead to suboptimal performance.\n - Ensuring that the graph encoder effectively captures both short- and long-term dependencies is vital for robust representation learning in the context of sparse user interactions.\n\n", + "task2": "The primary task or problem domain the research tackles is sequential recommendation, which focuses on learning effective representations of user preferences over time and suggesting future items that may interest users based on their past interactions.\n\nCurrent limitations in existing approaches that motivated this work include the reliance on handcrafted contrastive augmentation strategies in contrastive learning methods, which often lead to inconsistent performance across different sequential recommendation tasks and make the models vulnerable to noise in user behavior data.\n\nCore challenges the researchers aim to overcome include addressing label scarcity issues that degrade the proposed model representation performance, the ineffectiveness of existing data augmentation methods that can corrupt critical transition structures, and the need for models that can adaptively and robustly handle data noise.\n\nKey objectives and intended contributions include developing a new approach for self-supervised learning through an adaptive data augmentation method, specifically a graph masked autoencoder, which enhances the robustness and adaptability of sequential recommendation systems by distilling informative signals for reconstruction while avoiding the pitfalls of traditional augmentation techniques. The researchers aim to demonstrate that their proposed approach can achieve superior performance in learning accurate representations in the presence of noise and sparsity in data." } \ No newline at end of file diff --git a/benchmark/final/recommendation/mhcl.json b/benchmark/final/recommendation/mhcl.json index 0e37121..fbdf3e2 100755 --- a/benchmark/final/recommendation/mhcl.json +++ b/benchmark/final/recommendation/mhcl.json @@ -1,88 +1,88 @@ -{ - "target": "Multi-Channel Hypergraph Contrastive Learning for Matrix Completion", - "instance_id": "mhcl", - "source_papers": [ - { - "reference": "Graph convolutional matrix completion", - "rank": 1, - "type": [ - "methodological" - ], - "justification": "This paper provides a foundational methodology for utilizing graph neural networks for matrix completion tasks. It presents a GNN-based approach that interprets the rating matrix as a bipartite graph, which is crucial for the proposed model framework.", - "usage": "The authors built upon this foundational approach by refining the node representation process using a GNN encoder and decoder, which directly influenced the design of the proposed model." - }, - { - "reference": "Music recommendation by unified hypergraph: combining social media information and music content", - "rank": 2, - "type": [ - "conceptual" - ], - "justification": "This paper introduces the concept of hypergraphs in the context of recommendation systems, emphasizing their flexibility and potential to capture complex relationships, which inspired the hypergraph structures in the proposed model.", - "usage": "The authors adapted the concept of hypergraphs to dynamically learn structures that enhance the representation of user-item interactions in the proposed model." - }, - { - "reference": "Inductive matrix completion based on graph neural networks", - "rank": 3, - "type": [ - "methodological" - ], - "justification": "This work extends GNNs for matrix completion by introducing inductive learning, which is critical for the adaptive capabilities of the proposed model.", - "usage": "The authors leveraged inductive learning principles from this study to enhance the proposed model's performance in predicting user-item interactions." - }, - { - "reference": "Dynamic Hypergraph Neural Networks", - "rank": 4, - "type": [ - "component" - ], - "justification": "This paper discusses dynamic hypergraph structures that improve collaborative filtering, providing a mechanism that was critical for addressing over-smoothing issues in the proposed model.", - "usage": "The authors incorporated dynamic learning mechanisms for hypergraph structures to capture high-order dependencies among nodes effectively." - }, - { - "reference": "Neural network matrix factorization", - "rank": 5, - "type": [ - "methodological" - ], - "justification": "This foundational work on matrix factorization presents traditional approaches that are integral to understanding modern matrix completion techniques.", - "usage": "The authors enhanced the traditional matrix factorization approach by integrating it with GNNs, which helped improve prediction accuracy." - }, - { - "reference": "Lightgcn: Simplifying and powering graph convolution network for recommendation", - "rank": 6, - "type": [ - "component" - ], - "justification": "This paper simplifies GNN methods for recommendations, emphasizing neighborhood aggregation, which was adapted in the proposed model to improve the efficiency of node representation.", - "usage": "The authors utilized lessons from this paper to simplify the proposed model while enhancing its performance through attention mechanisms." - }, - { - "reference": "A review on matrix completion for recommender systems", - "rank": 7, - "type": [ - "conceptual" - ], - "justification": "This review outlines the key challenges in matrix completion, such as data sparsity and long-tail distributions, shaping the research direction for the proposed model.", - "usage": "The authors addressed these outlined challenges by proposing specific strategies within the proposed model framework to enhance recommendation performance." - } - ], - "authors": [ - "Xiang Li", - "Changsheng Shui", - "Yanwei Yu", - "Chao Huang", - "Zhongying Zhao", - "Junyu Dong" - ], - "year": 2024, - "url": "http://arxiv.org/abs/2411.01376v1", - "abstract": "Rating is a typical user explicit feedback that visually reflects how much a\nuser likes a related item. The (rating) matrix completion is essentially a\nrating prediction process, which is also a significant problem in recommender\nsystems. Recently, graph neural networks (GNNs) have been widely used in matrix\ncompletion, which captures users' preferences over items by formulating a\nrating matrix as a bipartite graph. However, existing methods are susceptible\ndue to data sparsity and long-tail distribution in real-world scenarios.\nMoreover, the messaging mechanism of GNNs makes it difficult to capture\nhigh-order correlations and constraints between nodes, which are essentially\nuseful in recommendation tasks. To tackle these challenges, we propose a\nMulti-Channel Hypergraph Contrastive Learning framework for matrix completion,\nnamed MHCL. Specifically, MHCL adaptively learns hypergraph structures to\ncapture high-order correlations between nodes and jointly captures local and\nglobal collaborative relationships through attention-based cross-view\naggregation. Additionally, to consider the magnitude and order information of\nratings, we treat different rating subgraphs as different channels, encourage\nalignment between adjacent ratings, and further achieve the mutual enhancement\nbetween different ratings through multi-channel cross-rating contrastive\nlearning. Extensive experiments on five public datasets demonstrate that the\nproposed method significantly outperforms the current state-of-the-art\napproaches.", - "venue": "Proceedings of the 46th International ACM SIGIR Conference on Research and Development in Information Retrieval", - "venue_source": "Crossref", - "venue_lookup_time": "2024-11-19T16:33:22.729703", - "citations": 0, - "topic": "Hypergraph contrastive collaborative filtering", - "field": "preselected", - "task1": "To implement the proposed approach methodology for matrix completion, follow these steps:\n\n1. **Task Definition**: The proposed model is designed to perform matrix completion by predicting missing entries in a user-item rating matrix, which is represented as a bipartite graph.\n\n2. **Core Techniques**:\n - **Subgraph Partition and Graph Convolution**: Partition the bipartite graph into multiple subgraphs based on different rating types and apply graph convolution to capture local collaborative signals.\n - **Multi-Channel Cross-Rating Contrastive Learning**: Treat each rating subgraph as a channel and use contrastive learning to improve the relationship between adjacent ratings.\n - **Adaptive Hypergraph Structure Learning**: Dynamically create hypergraphs for users and items to capture high-order relationships.\n - **Attention-Based Cross-View Aggregation**: Aggregate local and global node representations to produce a robust final representation.\n\n3. **Component Functions**:\n - **Graph Convolution**: Extracts local features from each rating subgraph. Key parameters include the number of layers (typically set between 1 to 5) and the embedding dimension (suggested range: 30 to 1200).\n - **Contrastive Learning**: Enhances representation by aligning embeddings from adjacent rating subgraphs, using the InfoNCE loss with a temperature parameter (typically set to around 0.1).\n - **Hypergraph Learning**: Utilizes an MLP to compute hyperedge assignments, capturing the relationships among nodes of the same type.\n - **Attention Mechanism**: Computes relevance scores for neighboring ratings to aggregate information effectively.\n\n4. **Implementation Details**:\n - **Input Specifications**: The input consists of a user-item rating matrix, partitioned into multiple subgraphs based on rating types. Each node should have embeddings initialized from a learnable matrix.\n - **Output Specifications**: The proposed model outputs a reconstructed rating matrix that predicts the missing ratings.\n - **Key Parameters**:\n - Number of hyperedges can be tuned between 8 to 128.\n - Use a bilinear decoder for reconstructions, applying Cross-Entropy loss.\n - **Constraints**: Ensure that the proposed model accommodates different rating scales (e.g., 5-point, 10-point), and consider mapping tasks to a standard scale for contrastive learning.\n\n5. **Step-by-Step Interaction**:\n - **Step 1**: Initialize node embeddings for users and items based on indices and create subgraphs for each rating type.\n - **Step 2**: Apply graph convolutions to each subgraph to capture local topological features, resulting in local embeddings.\n - **Step 3**: Implement the multi-channel contrastive learning mechanism to promote alignment between adjacent rating embeddings.\n - **Step 4**: Construct hypergraphs using the learned embeddings to incorporate high-order relationships.\n - **Step 5**: Aggregate local and global embeddings using attention mechanisms to produce final user and item representations.\n - **Step 6**: Output the predicted ratings using a bilinear decoder, trained under the specified loss functions.\n\n6. **Critical Performance Details**:\n - Monitor the balance of hyperparameters (e.g., contrastive learning weights) to avoid diminishing returns in proposed model performance.\n - Utilize early stopping to prevent overfitting during training.\n - The proposed model's total time complexity should be kept in mind, with specific attention to the propagation layers and the number of hyperedges, as these impact efficiency and scalability.\n\nBy following these instructions, researchers can implement the core methodology of this study framework for matrix completion tasks effectively.", - "task2": "1. The primary task or problem domain the research tackles:\nThis research addresses the problem of matrix completion, particularly in the context of recommender systems, where the goal is to predict missing entries in a user-item rating matrix. It emphasizes the challenge of accurately predicting user preferences based on incomplete data.\n\n2. Current limitations in existing approaches that motivated this work:\nExisting approaches, particularly those utilizing graph neural networks (GNNs), face significant limitations such as susceptibility to data sparsity and long-tail distributions. These methods often struggle to capture high-order correlations and complex relationships due to their reliance on simple bipartite graph structures, which can lead to noise and over-smoothing issues. Furthermore, many approaches overlook the ordinal nature and magnitude of ratings, which can affect the accuracy of predictions.\n\n3. Core challenges the researchers aim to overcome:\nThe researchers aim to overcome several challenges, including:\n - Enhancing the ability to capture high-order correlations between users and items.\n - Addressing data sparsity and long-tail distribution issues that hinder the effectiveness of current models.\n - Accurately representing the magnitude and order of ratings to improve prediction quality.\n\n4. Key objectives and intended contributions:\nThe key objectives of this research include:\n - Developing a framework that can dynamically learn hypergraph structures to better represent user-item relationships and high-order interactions.\n - Implementing a multi-channel learning approach that enhances the representation of different rating types and their interrelationships.\n - Introducing a mechanism for attention-based aggregation of information from diverse perspectives to improve the final representations of users and items.\n - Ultimately, the intended contributions are to provide a more robust and effective solution for matrix completion that improves recommendation performance, especially in scenarios characterized by data sparsity and unequal user-item interaction distributions." +{ + "target": "Multi-Channel Hypergraph Contrastive Learning for Matrix Completion", + "instance_id": "mhcl", + "source_papers": [ + { + "reference": "Graph convolutional matrix completion", + "rank": 1, + "type": [ + "methodological" + ], + "justification": "This paper provides a foundational methodology for utilizing graph neural networks for matrix completion tasks. It presents a GNN-based approach that interprets the rating matrix as a bipartite graph, which is crucial for the proposed model framework.", + "usage": "The authors built upon this foundational approach by refining the node representation process using a GNN encoder and decoder, which directly influenced the design of the proposed model." + }, + { + "reference": "Music recommendation by unified hypergraph: combining social media information and music content", + "rank": 2, + "type": [ + "conceptual" + ], + "justification": "This paper introduces the concept of hypergraphs in the context of recommendation systems, emphasizing their flexibility and potential to capture complex relationships, which inspired the hypergraph structures in the proposed model.", + "usage": "The authors adapted the concept of hypergraphs to dynamically learn structures that enhance the representation of user-item interactions in the proposed model." + }, + { + "reference": "Inductive matrix completion based on graph neural networks", + "rank": 3, + "type": [ + "methodological" + ], + "justification": "This work extends GNNs for matrix completion by introducing inductive learning, which is critical for the adaptive capabilities of the proposed model.", + "usage": "The authors leveraged inductive learning principles from this study to enhance the proposed model's performance in predicting user-item interactions." + }, + { + "reference": "Dynamic Hypergraph Neural Networks", + "rank": 4, + "type": [ + "component" + ], + "justification": "This paper discusses dynamic hypergraph structures that improve collaborative filtering, providing a mechanism that was critical for addressing over-smoothing issues in the proposed model.", + "usage": "The authors incorporated dynamic learning mechanisms for hypergraph structures to capture high-order dependencies among nodes effectively." + }, + { + "reference": "Neural network matrix factorization", + "rank": 5, + "type": [ + "methodological" + ], + "justification": "This foundational work on matrix factorization presents traditional approaches that are integral to understanding modern matrix completion techniques.", + "usage": "The authors enhanced the traditional matrix factorization approach by integrating it with GNNs, which helped improve prediction accuracy." + }, + { + "reference": "Lightgcn: Simplifying and powering graph convolution network for recommendation", + "rank": 6, + "type": [ + "component" + ], + "justification": "This paper simplifies GNN methods for recommendations, emphasizing neighborhood aggregation, which was adapted in the proposed model to improve the efficiency of node representation.", + "usage": "The authors utilized lessons from this paper to simplify the proposed model while enhancing its performance through attention mechanisms." + }, + { + "reference": "A review on matrix completion for recommender systems", + "rank": 7, + "type": [ + "conceptual" + ], + "justification": "This review outlines the key challenges in matrix completion, such as data sparsity and long-tail distributions, shaping the research direction for the proposed model.", + "usage": "The authors addressed these outlined challenges by proposing specific strategies within the proposed model framework to enhance recommendation performance." + } + ], + "authors": [ + "Xiang Li", + "Changsheng Shui", + "Yanwei Yu", + "Chao Huang", + "Zhongying Zhao", + "Junyu Dong" + ], + "year": 2024, + "url": "http://arxiv.org/abs/2411.01376v1", + "abstract": "Rating is a typical user explicit feedback that visually reflects how much a\nuser likes a related item. The (rating) matrix completion is essentially a\nrating prediction process, which is also a significant problem in recommender\nsystems. Recently, graph neural networks (GNNs) have been widely used in matrix\ncompletion, which captures users' preferences over items by formulating a\nrating matrix as a bipartite graph. However, existing methods are susceptible\ndue to data sparsity and long-tail distribution in real-world scenarios.\nMoreover, the messaging mechanism of GNNs makes it difficult to capture\nhigh-order correlations and constraints between nodes, which are essentially\nuseful in recommendation tasks. To tackle these challenges, we propose a\nMulti-Channel Hypergraph Contrastive Learning framework for matrix completion,\nnamed MHCL. Specifically, MHCL adaptively learns hypergraph structures to\ncapture high-order correlations between nodes and jointly captures local and\nglobal collaborative relationships through attention-based cross-view\naggregation. Additionally, to consider the magnitude and order information of\nratings, we treat different rating subgraphs as different channels, encourage\nalignment between adjacent ratings, and further achieve the mutual enhancement\nbetween different ratings through multi-channel cross-rating contrastive\nlearning. Extensive experiments on five public datasets demonstrate that the\nproposed method significantly outperforms the current state-of-the-art\napproaches.", + "venue": "Proceedings of the 46th International ACM SIGIR Conference on Research and Development in Information Retrieval", + "venue_source": "Crossref", + "venue_lookup_time": "2024-11-19T16:33:22.729703", + "citations": 0, + "topic": "Hypergraph contrastive collaborative filtering", + "field": "preselected", + "task1": "To implement the proposed approach methodology for matrix completion, follow these steps:\n\n1. **Task Definition**: The proposed model is designed to perform matrix completion by predicting missing entries in a user-item rating matrix, which is represented as a bipartite graph.\n\n2. **Core Techniques**:\n - **Subgraph Partition and Graph Convolution**: Partition the bipartite graph into multiple subgraphs based on different rating types and apply graph convolution to capture local collaborative signals.\n - **Multi-Channel Cross-Rating Contrastive Learning**: Treat each rating subgraph as a channel and use contrastive learning to improve the relationship between adjacent ratings.\n - **Adaptive Hypergraph Structure Learning**: Dynamically create hypergraphs for users and items to capture high-order relationships.\n - **Attention-Based Cross-View Aggregation**: Aggregate local and global node representations to produce a robust final representation.\n\n3. **Component Functions**:\n - **Graph Convolution**: Extracts local features from each rating subgraph. Key parameters include the number of layers (typically set between 1 to 5) and the embedding dimension (suggested range: 30 to 1200).\n - **Contrastive Learning**: Enhances representation by aligning embeddings from adjacent rating subgraphs, using the InfoNCE loss with a temperature parameter (typically set to around 0.1).\n - **Hypergraph Learning**: Utilizes an MLP to compute hyperedge assignments, capturing the relationships among nodes of the same type.\n - **Attention Mechanism**: Computes relevance scores for neighboring ratings to aggregate information effectively.\n\n4. **Implementation Details**:\n - **Input Specifications**: The input consists of a user-item rating matrix, partitioned into multiple subgraphs based on rating types. Each node should have embeddings initialized from a learnable matrix.\n - **Output Specifications**: The proposed model outputs a reconstructed rating matrix that predicts the missing ratings.\n - **Key Parameters**:\n - Number of hyperedges can be tuned between 8 to 128.\n - Use a bilinear decoder for reconstructions, applying Cross-Entropy loss.\n - **Constraints**: Ensure that the proposed model accommodates different rating scales (e.g., 5-point, 10-point), and consider mapping tasks to a standard scale for contrastive learning.\n\n5. **Step-by-Step Interaction**:\n - **Step 1**: Initialize node embeddings for users and items based on indices and create subgraphs for each rating type.\n - **Step 2**: Apply graph convolutions to each subgraph to capture local topological features, resulting in local embeddings.\n - **Step 3**: Implement the multi-channel contrastive learning mechanism to promote alignment between adjacent rating embeddings.\n - **Step 4**: Construct hypergraphs using the learned embeddings to incorporate high-order relationships.\n - **Step 5**: Aggregate local and global embeddings using attention mechanisms to produce final user and item representations.\n - **Step 6**: Output the predicted ratings using a bilinear decoder, trained under the specified loss functions.\n\n6. **Critical Performance Details**:\n - Monitor the balance of hyperparameters (e.g., contrastive learning weights) to avoid diminishing returns in proposed model performance.\n - Utilize early stopping to prevent overfitting during training.\n - The proposed model's total time complexity should be kept in mind, with specific attention to the propagation layers and the number of hyperedges, as these impact efficiency and scalability.\n\nBy following these instructions, researchers can implement the core methodology of this study framework for matrix completion tasks effectively.", + "task2": "1. The primary task or problem domain the research tackles:\nThis research addresses the problem of matrix completion, particularly in the context of recommender systems, where the goal is to predict missing entries in a user-item rating matrix. It emphasizes the challenge of accurately predicting user preferences based on incomplete data.\n\n2. Current limitations in existing approaches that motivated this work:\nExisting approaches, particularly those utilizing graph neural networks (GNNs), face significant limitations such as susceptibility to data sparsity and long-tail distributions. These methods often struggle to capture high-order correlations and complex relationships due to their reliance on simple bipartite graph structures, which can lead to noise and over-smoothing issues. Furthermore, many approaches overlook the ordinal nature and magnitude of ratings, which can affect the accuracy of predictions.\n\n3. Core challenges the researchers aim to overcome:\nThe researchers aim to overcome several challenges, including:\n - Enhancing the ability to capture high-order correlations between users and items.\n - Addressing data sparsity and long-tail distribution issues that hinder the effectiveness of current models.\n - Accurately representing the magnitude and order of ratings to improve prediction quality.\n\n4. Key objectives and intended contributions:\nThe key objectives of this research include:\n - Developing a framework that can dynamically learn hypergraph structures to better represent user-item relationships and high-order interactions.\n - Implementing a multi-channel learning approach that enhances the representation of different rating types and their interrelationships.\n - Introducing a mechanism for attention-based aggregation of information from diverse perspectives to improve the final representations of users and items.\n - Ultimately, the intended contributions are to provide a more robust and effective solution for matrix completion that improves recommendation performance, especially in scenarios characterized by data sparsity and unequal user-item interaction distributions." } \ No newline at end of file diff --git a/benchmark/process/dataset_candidate/diffu_flow/metaprompt.py b/benchmark/process/dataset_candidate/diffu_flow/metaprompt.py index 9cfdd64..3c70a62 100755 --- a/benchmark/process/dataset_candidate/diffu_flow/metaprompt.py +++ b/benchmark/process/dataset_candidate/diffu_flow/metaprompt.py @@ -1,120 +1,120 @@ -TASK = "Train a generative model for both unconditional image generation and class-conditional generation. Diffusion-related or flow-related models are preferred." - - -DATASET = r""" -The dataset for both unconditional image generation and class-conditional generation is CIFAR-10. The downloaded dataset is in the directory `/workplace/dataset_candidate/cifar-10-python.tar.gz`, you can refer to its README.md in `/workplace/dataset_candidate/edm/README.md` when you need to process the dataset. -""" - -BASELINE = r""" -• Diffusion models: Score SDE [11], DDPM [3], LSGM [12], EDM [4] and NCSN++-G [2]. -• Distilled diffusion models: Knowledge Distillation [7], DFNO (LPIPS) [13] TRACT [1] and PD [8]. -• Consistency models: CD (LPIPS) [10], CT (LPIPS) [10], iCT [9] , iCT-deep [9], CTM [5] and CTM [5] + GAN. -• Rectified flows: 1,2,3-rectified flow(+distill) [6]. - -References: -[1] David Berthelot, Arnaud Autef, Jierui Lin, Dian Ang Yap, Shuangfei Zhai, Siyuan Hu, Daniel Zheng, Walter Talbott, and Eric Gu. Tract: Denoising diffusion models with transitive closure time-distillation. arXiv preprint arXiv:2303.04248, 2023. -[2] Chen-Hao Chao, Wei-Fang Sun, Bo-Wun Cheng, Yi-Chen Lo, Chia-Che Chang, Yu-Lun Liu, Yu- Lin Chang, Chia-Ping Chen, and Chun-Yi Lee. Denoising likelihood score matching for conditional score-based data generation. In ICLR. OpenReview.net, 2022. -[3] Jonathan Ho, Ajay Jain, and Pieter Abbeel. Denoising diffusion probabilistic models. Advances in Neural Information Processing Systems, 33:6840–6851, 2020. -[4] Tero Karras, Miika Aittala, Timo Aila, and Samuli Laine. Elucidating the design space of diffusion- based generative models. arXiv preprint arXiv:2206.00364, 2022. -[5] Dongjun Kim, Chieh-Hsin Lai, Wei-Hsiang Liao, Naoki Murata, Yuhta Takida, Toshimitsu Ue- saka, Yutong He, Yuki Mitsufuji, and Stefano Ermon. Consistency trajectory models: Learning probability flow ode trajectory of diffusion. arXiv preprint arXiv:2310.02279, 2023. -[6] Xingchao Liu, Chengyue Gong, and Qiang Liu. Flow straight and fast: Learning to generate and transfer data with rectified flow. arXiv preprint arXiv:2209.03003, 2022. -[7] Eric Luhman and Troy Luhman. Knowledge distillation in iterative generative models for improved sampling speed. arXiv preprint arXiv:2101.02388, 2021. -[8] Tim Salimans and Jonathan Ho. Progressive distillation for fast sampling of diffusion models. arXiv preprint arXiv:2202.00512, 2022. -[9] Yang Song and Prafulla Dhariwal. Improved techniques for training consistency models. arXiv preprint arXiv:2310.14189, 2023. -[10] Yang Song, Prafulla Dhariwal, Mark Chen, and Ilya Sutskever. Consistency models. arXiv preprint arXiv:2303.01469, 2023. -[11] Yang Song, Jascha Sohl-Dickstein, Diederik P Kingma, Abhishek Kumar, Stefano Ermon, and Ben Poole. Score-based generative modeling through stochastic differential equations. arXiv preprint arXiv:2011.13456, 2020. -[12] Arash Vahdat, Karsten Kreis, and Jan Kautz. Score-based generative modeling in latent space. Advances in Neural Information Processing Systems, 34:11287–11302, 2021. -[13] Hongkai Zheng, Weili Nie, Arash Vahdat, Kamyar Azizzadenesheli, and Anima Anandkumar. Fast sampling of diffusion models via operator learning. arXiv preprint arXiv:2211.13449, 2022. -""" - -COMPARISON = r""" -\begin{table*}[h] -\small - \begin{minipage}[t]{0.49\linewidth} - \caption{Unconditional generation on CIFAR-10.} - \label{tab:cifar-10} - \centering - {\setlength{\extrarowheight}{0.4pt} - \begin{adjustbox}{max width=\linewidth} - \begin{tabular}{@{}l@{\hspace{-0.2em}}c@{\hspace{0.3em}}c@{}} - \Xhline{3\arrayrulewidth} - METHOD & NFE ($\downarrow$) & FID ($\downarrow$) \\ - \\[-2ex] - \multicolumn{3}{@{}l}{\textbf{Diffusion models}}\\\Xhline{3\arrayrulewidth} - Score SDE & 2000 & 2.38 \\ - DDPM & 1000 & 3.17 \\ - LSGM & 147 & 2.10 \\ - EDM - & 35 & 1.97 \\ - \multicolumn{3}{@{}l}{\textbf{Distilled diffusion models}}\\\Xhline{3\arrayrulewidth} - Knowledge Distillation & 1 & 9.36 \\ - DFNO (LPIPS) & 1 & 3.78 \\ - TRACT & 1 & 3.78 \\ - & 2 & \textcolor{blue}{3.32} \\ - PD & 1 & 9.12 \\ - & 2 & 4.51 \\ - \multicolumn{3}{@{}l}{\textbf{Consistency models}}\\\Xhline{3\arrayrulewidth} - CD (LPIPS) & 1 & 3.55 \\ - & 2 & \textcolor{blue}{2.93} \\ - CT (LPIPS) & 1 & 8.70 \\ - & 2 & 5.83 \\ - iCT & 1 & \textcolor{red}{2.83} \\ - & 2 & \textcolor{blue}{2.46} \\ - iCT-deep & 1 & \textcolor{red}{2.51} \\ - & 2 & \textcolor{blue}{\textbf{2.24}} \\ - CTM & 1 & 5.19 \\ - CTM + GAN & 1 & \textcolor{red}{\textbf{1.98}} \\ - \multicolumn{3}{@{}l}{\textbf{Rectified flows}}\\\Xhline{3\arrayrulewidth} - 1-rectified flow (+distill) - & 1 & 6.18 \\ - 2-rectified flow - & 1 & 12.21 \\ - & 110 & 3.36 \\ - +distill - & 1 & 4.85 \\ - 3-rectified flow - & 1 & 8.15 \\ - & 104 & 3.96 \\ - +Distill - & 1 & 5.21 \\ - - - \end{tabular} - \end{adjustbox} - } -\end{minipage} -\hfill -\begin{minipage}[t]{0.49\linewidth} - \caption{Class-conditional generation on CIFAR-10.} - \label{tab:imagenet-64} - \centering - {\setlength{\extrarowheight}{0.4pt} - \begin{adjustbox}{max width=\linewidth} - \begin{tabular}{@{}l@{\hspace{0.2em}}c@{\hspace{0.3em}}c@{}} - \Xhline{3\arrayrulewidth} - METHOD & NFE ($\downarrow$) & FID ($\downarrow$) \\ - \\[-2ex] - \multicolumn{1}{@{}l}{\textbf{Diffusion models}}\\\Xhline{3\arrayrulewidth} - NCSN++-G & 2000 & 2.25 \\ - EDM - & 35 & 1.79 \\ - - \end{tabular} - \end{adjustbox} - } -\end{minipage} -% \captionsetup{labelformat=empty, labelsep=none, font=scriptsize} -\caption{The \textcolor{red}{red} rows correspond to the top-5 baselines for the 1-NFE setting, and the \textcolor{blue}{blue} rows correspond to the top 5 baselines for the 2-NFE setting. The lowest FID scores for 1-NFE and 2-NFE are \textbf{boldfaced}.} -% \vspace{-5mm} -\end{table*} -""" - -EVALUATION = r""" -Frechet Inception Distance (FID) measure the quality of the generated images. The number of function evaluation (NFE) denotes the number of times we need to call the main neural network during inference. It coincides with the number of discretization steps N for ODE and SDE models. - -The exact reference statistics when calculating FID for CIFAR-10 is in the directory `/workplace/dataset_candidate/cifar10-32x32.npz`, you can refer to it when you need to calculate the FID. -""" - -REF = r""" -All this information is from EDM paper (Elucidating the Design Space of Diffusion-Based Generative Models), and the repository of EDM is in the directory `/workplace/dataset_candidate/edm`, you can refer to its README.md in `/workplace/dataset_candidate/edm/README.md` when you need to process the dataset or calculate the metrics. +TASK = "Train a generative model for both unconditional image generation and class-conditional generation. Diffusion-related or flow-related models are preferred." + + +DATASET = r""" +The dataset for both unconditional image generation and class-conditional generation is CIFAR-10. The downloaded dataset is in the directory `/workplace/dataset_candidate/cifar-10-python.tar.gz`, you can refer to its README.md in `/workplace/dataset_candidate/edm/README.md` when you need to process the dataset. +""" + +BASELINE = r""" +• Diffusion models: Score SDE [11], DDPM [3], LSGM [12], EDM [4] and NCSN++-G [2]. +• Distilled diffusion models: Knowledge Distillation [7], DFNO (LPIPS) [13] TRACT [1] and PD [8]. +• Consistency models: CD (LPIPS) [10], CT (LPIPS) [10], iCT [9] , iCT-deep [9], CTM [5] and CTM [5] + GAN. +• Rectified flows: 1,2,3-rectified flow(+distill) [6]. + +References: +[1] David Berthelot, Arnaud Autef, Jierui Lin, Dian Ang Yap, Shuangfei Zhai, Siyuan Hu, Daniel Zheng, Walter Talbott, and Eric Gu. Tract: Denoising diffusion models with transitive closure time-distillation. arXiv preprint arXiv:2303.04248, 2023. +[2] Chen-Hao Chao, Wei-Fang Sun, Bo-Wun Cheng, Yi-Chen Lo, Chia-Che Chang, Yu-Lun Liu, Yu- Lin Chang, Chia-Ping Chen, and Chun-Yi Lee. Denoising likelihood score matching for conditional score-based data generation. In ICLR. OpenReview.net, 2022. +[3] Jonathan Ho, Ajay Jain, and Pieter Abbeel. Denoising diffusion probabilistic models. Advances in Neural Information Processing Systems, 33:6840–6851, 2020. +[4] Tero Karras, Miika Aittala, Timo Aila, and Samuli Laine. Elucidating the design space of diffusion- based generative models. arXiv preprint arXiv:2206.00364, 2022. +[5] Dongjun Kim, Chieh-Hsin Lai, Wei-Hsiang Liao, Naoki Murata, Yuhta Takida, Toshimitsu Ue- saka, Yutong He, Yuki Mitsufuji, and Stefano Ermon. Consistency trajectory models: Learning probability flow ode trajectory of diffusion. arXiv preprint arXiv:2310.02279, 2023. +[6] Xingchao Liu, Chengyue Gong, and Qiang Liu. Flow straight and fast: Learning to generate and transfer data with rectified flow. arXiv preprint arXiv:2209.03003, 2022. +[7] Eric Luhman and Troy Luhman. Knowledge distillation in iterative generative models for improved sampling speed. arXiv preprint arXiv:2101.02388, 2021. +[8] Tim Salimans and Jonathan Ho. Progressive distillation for fast sampling of diffusion models. arXiv preprint arXiv:2202.00512, 2022. +[9] Yang Song and Prafulla Dhariwal. Improved techniques for training consistency models. arXiv preprint arXiv:2310.14189, 2023. +[10] Yang Song, Prafulla Dhariwal, Mark Chen, and Ilya Sutskever. Consistency models. arXiv preprint arXiv:2303.01469, 2023. +[11] Yang Song, Jascha Sohl-Dickstein, Diederik P Kingma, Abhishek Kumar, Stefano Ermon, and Ben Poole. Score-based generative modeling through stochastic differential equations. arXiv preprint arXiv:2011.13456, 2020. +[12] Arash Vahdat, Karsten Kreis, and Jan Kautz. Score-based generative modeling in latent space. Advances in Neural Information Processing Systems, 34:11287–11302, 2021. +[13] Hongkai Zheng, Weili Nie, Arash Vahdat, Kamyar Azizzadenesheli, and Anima Anandkumar. Fast sampling of diffusion models via operator learning. arXiv preprint arXiv:2211.13449, 2022. +""" + +COMPARISON = r""" +\begin{table*}[h] +\small + \begin{minipage}[t]{0.49\linewidth} + \caption{Unconditional generation on CIFAR-10.} + \label{tab:cifar-10} + \centering + {\setlength{\extrarowheight}{0.4pt} + \begin{adjustbox}{max width=\linewidth} + \begin{tabular}{@{}l@{\hspace{-0.2em}}c@{\hspace{0.3em}}c@{}} + \Xhline{3\arrayrulewidth} + METHOD & NFE ($\downarrow$) & FID ($\downarrow$) \\ + \\[-2ex] + \multicolumn{3}{@{}l}{\textbf{Diffusion models}}\\\Xhline{3\arrayrulewidth} + Score SDE & 2000 & 2.38 \\ + DDPM & 1000 & 3.17 \\ + LSGM & 147 & 2.10 \\ + EDM + & 35 & 1.97 \\ + \multicolumn{3}{@{}l}{\textbf{Distilled diffusion models}}\\\Xhline{3\arrayrulewidth} + Knowledge Distillation & 1 & 9.36 \\ + DFNO (LPIPS) & 1 & 3.78 \\ + TRACT & 1 & 3.78 \\ + & 2 & \textcolor{blue}{3.32} \\ + PD & 1 & 9.12 \\ + & 2 & 4.51 \\ + \multicolumn{3}{@{}l}{\textbf{Consistency models}}\\\Xhline{3\arrayrulewidth} + CD (LPIPS) & 1 & 3.55 \\ + & 2 & \textcolor{blue}{2.93} \\ + CT (LPIPS) & 1 & 8.70 \\ + & 2 & 5.83 \\ + iCT & 1 & \textcolor{red}{2.83} \\ + & 2 & \textcolor{blue}{2.46} \\ + iCT-deep & 1 & \textcolor{red}{2.51} \\ + & 2 & \textcolor{blue}{\textbf{2.24}} \\ + CTM & 1 & 5.19 \\ + CTM + GAN & 1 & \textcolor{red}{\textbf{1.98}} \\ + \multicolumn{3}{@{}l}{\textbf{Rectified flows}}\\\Xhline{3\arrayrulewidth} + 1-rectified flow (+distill) + & 1 & 6.18 \\ + 2-rectified flow + & 1 & 12.21 \\ + & 110 & 3.36 \\ + +distill + & 1 & 4.85 \\ + 3-rectified flow + & 1 & 8.15 \\ + & 104 & 3.96 \\ + +Distill + & 1 & 5.21 \\ + + + \end{tabular} + \end{adjustbox} + } +\end{minipage} +\hfill +\begin{minipage}[t]{0.49\linewidth} + \caption{Class-conditional generation on CIFAR-10.} + \label{tab:imagenet-64} + \centering + {\setlength{\extrarowheight}{0.4pt} + \begin{adjustbox}{max width=\linewidth} + \begin{tabular}{@{}l@{\hspace{0.2em}}c@{\hspace{0.3em}}c@{}} + \Xhline{3\arrayrulewidth} + METHOD & NFE ($\downarrow$) & FID ($\downarrow$) \\ + \\[-2ex] + \multicolumn{1}{@{}l}{\textbf{Diffusion models}}\\\Xhline{3\arrayrulewidth} + NCSN++-G & 2000 & 2.25 \\ + EDM + & 35 & 1.79 \\ + + \end{tabular} + \end{adjustbox} + } +\end{minipage} +% \captionsetup{labelformat=empty, labelsep=none, font=scriptsize} +\caption{The \textcolor{red}{red} rows correspond to the top-5 baselines for the 1-NFE setting, and the \textcolor{blue}{blue} rows correspond to the top 5 baselines for the 2-NFE setting. The lowest FID scores for 1-NFE and 2-NFE are \textbf{boldfaced}.} +% \vspace{-5mm} +\end{table*} +""" + +EVALUATION = r""" +Frechet Inception Distance (FID) measure the quality of the generated images. The number of function evaluation (NFE) denotes the number of times we need to call the main neural network during inference. It coincides with the number of discretization steps N for ODE and SDE models. + +The exact reference statistics when calculating FID for CIFAR-10 is in the directory `/workplace/dataset_candidate/cifar10-32x32.npz`, you can refer to it when you need to calculate the FID. +""" + +REF = r""" +All this information is from EDM paper (Elucidating the Design Space of Diffusion-Based Generative Models), and the repository of EDM is in the directory `/workplace/dataset_candidate/edm`, you can refer to its README.md in `/workplace/dataset_candidate/edm/README.md` when you need to process the dataset or calculate the metrics. """ \ No newline at end of file diff --git a/benchmark/process/dataset_candidate/gnn/metaprompt.py b/benchmark/process/dataset_candidate/gnn/metaprompt.py index 49766ec..949247d 100755 --- a/benchmark/process/dataset_candidate/gnn/metaprompt.py +++ b/benchmark/process/dataset_candidate/gnn/metaprompt.py @@ -1,139 +1,139 @@ -TASK = r""" -Train a GNN model for node classification on the given dataset. -""" - - -DATASET = r""" -The dataset for node classification is Cora, Citeseer, PubMed. - -You should the following code to load the dataset (detailed in the repository of GraphMAE in the directory `/workplace/dataset_candidate/GraphMAE`): - -\begin{verbatim} -import torch -import torch.nn.functional as F - -import torch_geometric.transforms as T -from torch_geometric.datasets import Planetoid, TUDataset -from torch_geometric.utils import add_self_loops, remove_self_loops, to_undirected, degree - -from ogb.nodeproppred import PygNodePropPredDataset - -from sklearn.preprocessing import StandardScaler -def load_dataset(dataset_name): - if dataset_name == "ogbn-arxiv": - dataset = PygNodePropPredDataset(name='ogbn-arxiv', root="./data") - graph = dataset[0] - num_nodes = graph.x.shape[0] - graph.edge_index = to_undirected(graph.edge_index) - graph.edge_index = remove_self_loops(graph.edge_index)[0] - graph.edge_index = add_self_loops(graph.edge_index)[0] - split_idx = dataset.get_idx_split() - train_idx, val_idx, test_idx = split_idx["train"], split_idx["valid"], split_idx["test"] - if not torch.is_tensor(train_idx): - train_idx = torch.as_tensor(train_idx) - val_idx = torch.as_tensor(val_idx) - test_idx = torch.as_tensor(test_idx) - train_mask = torch.full((num_nodes,), False).index_fill_(0, train_idx, True) - val_mask = torch.full((num_nodes,), False).index_fill_(0, val_idx, True) - test_mask = torch.full((num_nodes,), False).index_fill_(0, test_idx, True) - graph.train_mask, graph.val_mask, graph.test_mask = train_mask, val_mask, test_mask - graph.y = graph.y.view(-1) - graph.x = scale_feats(graph.x) - else: - dataset = Planetoid("", dataset_name, transform=T.NormalizeFeatures()) - graph = dataset[0] - graph.edge_index = remove_self_loops(graph.edge_index)[0] - graph.edge_index = add_self_loops(graph.edge_index)[0] - - num_features = dataset.num_features - num_classes = dataset.num_classes - return graph, (num_features, num_classes) -\end{verbatim} -""" - -BASELINE = r""" -SOTA contrastive self-supervised models -• Contrastive Self-supervised Models: DGI [7], MVGRL [1], GRACE [10], BGRL [6], InfoGCL [8], and CCA-SSG [9]. -• Supervised Baselines: GCN and GAT. -• Generative Self-supervised Models: GAE [4], GPT-GNN [3], GATE [5] and GraphMAE [2]. - -References -[1] Kaveh Hassani and Amir Hosein Khasahmadi. Contrastive multi-view representation learning on graphs. In ICML, 2020. -[2] Zhenyu Hou, Xiao Liu, Yukuo Cen, Yuxiao Dong, Hongxia Yang, Chunjie Wang, and Jie Tang. Graphmae: Self-supervised masked graph autoencoders. In KDD, pages 594–604. ACM, 2022. -[3] Ziniu Hu, Yuxiao Dong, Kuansan Wang, Kai-Wei Chang, and Yizhou Sun. Gpt-gnn: Generative pre-training of graph neural networks. In SIGKDD, 2020. -[4] Thomas N Kipf and Max Welling. Variational graph auto-encoders. arXiv preprint arXiv:1611.07308, 2016. -[5] Amin Salehi and Hasan Davulcu. Graph attention auto-encoders. In ICTAI. IEEE, 2020. -[6] Shantanu Thakoor, Corentin Tallec, Mohammad Gheshlaghi Azar, R ́emi Munos, Petar Veliˇckovi ́c, -and Michal Valko. Large-scale representation learning on graphs via bootstrapping. In ICLR, 2022. -[7] Petar Veliˇckovi ́c, William Fedus, William L Hamilton, Pietro Li`o, Yoshua Bengio, and R Devon Hjelm. Deep graph infomax. In ICLR, 2018. -[8] Dongkuan Xu, Wei Cheng, Dongsheng Luo, Haifeng Chen, and Xiang Zhang. Infogcl: Information-aware graph contrastive learning. 2021. -[9] Hengrui Zhang, Qitian Wu, Junchi Yan, David Wipf, and Philip S Yu. From canonical correlation analysis to self-supervised graph neural networks. In NeurIPS, 2021. -[10] Yanqiao Zhu, Yichen Xu, Feng Yu, Qiang Liu, Shu Wu, and Liang Wang. Deep graph contrastive representation learning. arXiv preprint arXiv:2006.04131, 2020. -""" - -COMPARISON = r""" -\begin{table*}[htbp] - \centering - \caption{Experiment results in unsupervised representation learning for \underline{node classification}. \textmd{We report the accuracy (\%) for all datasets. } - } - \begin{threeparttable} - \renewcommand\tabcolsep{10pt} - \renewcommand\arraystretch{1.05} - \begin{tabular}{c|c|ccc} - \toprule[1.2pt] - & Dataset & Cora & CiteSeer & PubMed \\ - % \midrule - % \multirow{3}{*}{Statistics} - - \midrule - \multirow{2}{*}{Supervised} - & GCN & 81.5 & 70.3 & 79.0 \\ - & GAT & 83.0$\pm$0.7 & 72.5$\pm$0.7 & 79.0$\pm$0.3 \\ - \midrule - \multirow{10}{*}{Self-supervised} - & GAE & 71.5$\pm$0.4 & 65.8$\pm$0.4 & 72.1$\pm$0.5 \\ - & GPT-GNN & 80.1$\pm$1.0 & 68.4$\pm$1.6 & 76.3$\pm$0.8 \\ - & GATE & 83.2$\pm$0.6 & 71.8$\pm$0.8 & 80.9$\pm$0.3 \\ - & DGI & 82.3$\pm$0.6 & 71.8$\pm$0.7 & 76.8$\pm$0.6 \\ - & MVGRL & 83.5$\pm$0.4 & 73.3$\pm$0.5 & 80.1$\pm$0.7 \\ - & GRACE$^{1}$ & 81.9$\pm$0.4 & 71.2$\pm$0.5 & 80.6$\pm$0.4 \\ - & BGRL$^{1}$ & 82.7$\pm$0.6 & 71.1$\pm$0.8 & 79.6$\pm$0.5 \\ - & InfoGCL & 83.5$\pm$0.3 & \bf 73.5$\pm$0.4 & 79.1$\pm$0.2 \\ - & CCA-SSG$^{1}$ & \underline{84.0$\pm$0.4} & 73.1$\pm$0.3 & \underline{81.0$\pm$0.4} \\ - % \cmidrule{2-4} - % & \model & \bf 84.16±0.44 & \underline{73.35±0.42} & \bf 81.10±0.41 & \bf 71.75$\pm$0.17 & \bf 74.50$\pm$0.29 & \bf 96.01$\pm$0.08 \\ - & GraphMAE & \bf 84.2±0.4 & \underline{73.4±0.4} & \bf 81.1±0.4 \\ - - \bottomrule[1.2pt] - \end{tabular} - \begin{tablenotes} - \footnotesize - \item[] The results not reported are due to unavailable code or out-of-memory. - \item[1] Results are from reproducing using authors' official code, as they did not report the results in part of datasets. The result of PPI is a bit different from what the authors' reported. This is because we train the linear classifier until convergence, rather than for a small fixed number of epochs during evaluation, using the official code. - \end{tablenotes} - - \end{threeparttable} - \label{tab:node_clf} -\end{table*} -""" - -EVALUATION = r""" -For supervised settings, you should train the model with supervision on the training set and evaluate the trained mosdel on the test set. - -For self-supervised settings, you should first train a GNN encoder by the model without supervision, and then freeze the parameters of the encoder and generate all the nodes' embeddings. -For evaluation, you should train a linear classifier and report the mean accuracy on the test nodes through 20 random initializations. - -You should use the accuracy (\%) as metrics for all datasets. -\begin{verbatim} -def accuracy(y_pred, y_true): - y_true = y_true.squeeze().long() - preds = y_pred.max(1)[1].type_as(y_true) - correct = preds.eq(y_true).double() - correct = correct.sum().item() - return correct / len(y_true) -\end{verbatim} -""" - -REF = r""" -All this information is from GraphMAE paper, and the repository of GraphMAE is in the directory `/workplace/dataset_candidate/GraphMAE`, you can refer to it when you need to process the dataset or calculate the metrics. +TASK = r""" +Train a GNN model for node classification on the given dataset. +""" + + +DATASET = r""" +The dataset for node classification is Cora, Citeseer, PubMed. + +You should the following code to load the dataset (detailed in the repository of GraphMAE in the directory `/workplace/dataset_candidate/GraphMAE`): + +\begin{verbatim} +import torch +import torch.nn.functional as F + +import torch_geometric.transforms as T +from torch_geometric.datasets import Planetoid, TUDataset +from torch_geometric.utils import add_self_loops, remove_self_loops, to_undirected, degree + +from ogb.nodeproppred import PygNodePropPredDataset + +from sklearn.preprocessing import StandardScaler +def load_dataset(dataset_name): + if dataset_name == "ogbn-arxiv": + dataset = PygNodePropPredDataset(name='ogbn-arxiv', root="./data") + graph = dataset[0] + num_nodes = graph.x.shape[0] + graph.edge_index = to_undirected(graph.edge_index) + graph.edge_index = remove_self_loops(graph.edge_index)[0] + graph.edge_index = add_self_loops(graph.edge_index)[0] + split_idx = dataset.get_idx_split() + train_idx, val_idx, test_idx = split_idx["train"], split_idx["valid"], split_idx["test"] + if not torch.is_tensor(train_idx): + train_idx = torch.as_tensor(train_idx) + val_idx = torch.as_tensor(val_idx) + test_idx = torch.as_tensor(test_idx) + train_mask = torch.full((num_nodes,), False).index_fill_(0, train_idx, True) + val_mask = torch.full((num_nodes,), False).index_fill_(0, val_idx, True) + test_mask = torch.full((num_nodes,), False).index_fill_(0, test_idx, True) + graph.train_mask, graph.val_mask, graph.test_mask = train_mask, val_mask, test_mask + graph.y = graph.y.view(-1) + graph.x = scale_feats(graph.x) + else: + dataset = Planetoid("", dataset_name, transform=T.NormalizeFeatures()) + graph = dataset[0] + graph.edge_index = remove_self_loops(graph.edge_index)[0] + graph.edge_index = add_self_loops(graph.edge_index)[0] + + num_features = dataset.num_features + num_classes = dataset.num_classes + return graph, (num_features, num_classes) +\end{verbatim} +""" + +BASELINE = r""" +SOTA contrastive self-supervised models +• Contrastive Self-supervised Models: DGI [7], MVGRL [1], GRACE [10], BGRL [6], InfoGCL [8], and CCA-SSG [9]. +• Supervised Baselines: GCN and GAT. +• Generative Self-supervised Models: GAE [4], GPT-GNN [3], GATE [5] and GraphMAE [2]. + +References +[1] Kaveh Hassani and Amir Hosein Khasahmadi. Contrastive multi-view representation learning on graphs. In ICML, 2020. +[2] Zhenyu Hou, Xiao Liu, Yukuo Cen, Yuxiao Dong, Hongxia Yang, Chunjie Wang, and Jie Tang. Graphmae: Self-supervised masked graph autoencoders. In KDD, pages 594–604. ACM, 2022. +[3] Ziniu Hu, Yuxiao Dong, Kuansan Wang, Kai-Wei Chang, and Yizhou Sun. Gpt-gnn: Generative pre-training of graph neural networks. In SIGKDD, 2020. +[4] Thomas N Kipf and Max Welling. Variational graph auto-encoders. arXiv preprint arXiv:1611.07308, 2016. +[5] Amin Salehi and Hasan Davulcu. Graph attention auto-encoders. In ICTAI. IEEE, 2020. +[6] Shantanu Thakoor, Corentin Tallec, Mohammad Gheshlaghi Azar, R ́emi Munos, Petar Veliˇckovi ́c, +and Michal Valko. Large-scale representation learning on graphs via bootstrapping. In ICLR, 2022. +[7] Petar Veliˇckovi ́c, William Fedus, William L Hamilton, Pietro Li`o, Yoshua Bengio, and R Devon Hjelm. Deep graph infomax. In ICLR, 2018. +[8] Dongkuan Xu, Wei Cheng, Dongsheng Luo, Haifeng Chen, and Xiang Zhang. Infogcl: Information-aware graph contrastive learning. 2021. +[9] Hengrui Zhang, Qitian Wu, Junchi Yan, David Wipf, and Philip S Yu. From canonical correlation analysis to self-supervised graph neural networks. In NeurIPS, 2021. +[10] Yanqiao Zhu, Yichen Xu, Feng Yu, Qiang Liu, Shu Wu, and Liang Wang. Deep graph contrastive representation learning. arXiv preprint arXiv:2006.04131, 2020. +""" + +COMPARISON = r""" +\begin{table*}[htbp] + \centering + \caption{Experiment results in unsupervised representation learning for \underline{node classification}. \textmd{We report the accuracy (\%) for all datasets. } + } + \begin{threeparttable} + \renewcommand\tabcolsep{10pt} + \renewcommand\arraystretch{1.05} + \begin{tabular}{c|c|ccc} + \toprule[1.2pt] + & Dataset & Cora & CiteSeer & PubMed \\ + % \midrule + % \multirow{3}{*}{Statistics} + + \midrule + \multirow{2}{*}{Supervised} + & GCN & 81.5 & 70.3 & 79.0 \\ + & GAT & 83.0$\pm$0.7 & 72.5$\pm$0.7 & 79.0$\pm$0.3 \\ + \midrule + \multirow{10}{*}{Self-supervised} + & GAE & 71.5$\pm$0.4 & 65.8$\pm$0.4 & 72.1$\pm$0.5 \\ + & GPT-GNN & 80.1$\pm$1.0 & 68.4$\pm$1.6 & 76.3$\pm$0.8 \\ + & GATE & 83.2$\pm$0.6 & 71.8$\pm$0.8 & 80.9$\pm$0.3 \\ + & DGI & 82.3$\pm$0.6 & 71.8$\pm$0.7 & 76.8$\pm$0.6 \\ + & MVGRL & 83.5$\pm$0.4 & 73.3$\pm$0.5 & 80.1$\pm$0.7 \\ + & GRACE$^{1}$ & 81.9$\pm$0.4 & 71.2$\pm$0.5 & 80.6$\pm$0.4 \\ + & BGRL$^{1}$ & 82.7$\pm$0.6 & 71.1$\pm$0.8 & 79.6$\pm$0.5 \\ + & InfoGCL & 83.5$\pm$0.3 & \bf 73.5$\pm$0.4 & 79.1$\pm$0.2 \\ + & CCA-SSG$^{1}$ & \underline{84.0$\pm$0.4} & 73.1$\pm$0.3 & \underline{81.0$\pm$0.4} \\ + % \cmidrule{2-4} + % & \model & \bf 84.16±0.44 & \underline{73.35±0.42} & \bf 81.10±0.41 & \bf 71.75$\pm$0.17 & \bf 74.50$\pm$0.29 & \bf 96.01$\pm$0.08 \\ + & GraphMAE & \bf 84.2±0.4 & \underline{73.4±0.4} & \bf 81.1±0.4 \\ + + \bottomrule[1.2pt] + \end{tabular} + \begin{tablenotes} + \footnotesize + \item[] The results not reported are due to unavailable code or out-of-memory. + \item[1] Results are from reproducing using authors' official code, as they did not report the results in part of datasets. The result of PPI is a bit different from what the authors' reported. This is because we train the linear classifier until convergence, rather than for a small fixed number of epochs during evaluation, using the official code. + \end{tablenotes} + + \end{threeparttable} + \label{tab:node_clf} +\end{table*} +""" + +EVALUATION = r""" +For supervised settings, you should train the model with supervision on the training set and evaluate the trained mosdel on the test set. + +For self-supervised settings, you should first train a GNN encoder by the model without supervision, and then freeze the parameters of the encoder and generate all the nodes' embeddings. +For evaluation, you should train a linear classifier and report the mean accuracy on the test nodes through 20 random initializations. + +You should use the accuracy (\%) as metrics for all datasets. +\begin{verbatim} +def accuracy(y_pred, y_true): + y_true = y_true.squeeze().long() + preds = y_pred.max(1)[1].type_as(y_true) + correct = preds.eq(y_true).double() + correct = correct.sum().item() + return correct / len(y_true) +\end{verbatim} +""" + +REF = r""" +All this information is from GraphMAE paper, and the repository of GraphMAE is in the directory `/workplace/dataset_candidate/GraphMAE`, you can refer to it when you need to process the dataset or calculate the metrics. """ \ No newline at end of file diff --git a/benchmark/process/dataset_candidate/reasoning/math_reasoning/get_score.py b/benchmark/process/dataset_candidate/reasoning/math_reasoning/get_score.py index 9655659..2d2c4a9 100755 --- a/benchmark/process/dataset_candidate/reasoning/math_reasoning/get_score.py +++ b/benchmark/process/dataset_candidate/reasoning/math_reasoning/get_score.py @@ -1,131 +1,131 @@ -from pathlib import Path -from tqdm import tqdm -import multiprocessing -from copy import deepcopy -import re -from lm_eval.tasks.minerva_math.utils import ( - last_boxed_only_string, - normalize_final_answer, - get_unnormalized_answer, - remove_boxed, - is_equiv, -) - -import yaml -import argparse - -def load_yaml(path: Path): - with open(path, "r") as f: - data = yaml.load(f, Loader=yaml.CLoader) - - return data - - -def save_yaml(path: Path, data, sort_keys=True): - with open(path, "w") as f: - yaml.dump(data, f, sort_keys=sort_keys) - - -ANS_RE_GSM8k = re.compile(r"#### (\-?[\$0-9\.\,]+)") -INVALID_ANS_GSM8k = "[invalid]" -GSM8K_IGNORE_REGEXES = [",", "\\$", "\\.$"] - - -def filter_ignores(st, regexes_to_ignore): - if regexes_to_ignore is not None: - for s in regexes_to_ignore: - st = re.sub(s, "", st) - return st - - -def extract_answer_gsm8k(completion): - match = ANS_RE_GSM8k.search(completion) - if match: - match_str = match.group(1).strip() - match_str = filter_ignores( - match_str, - GSM8K_IGNORE_REGEXES, - ) - return match_str - else: - return INVALID_ANS_GSM8k - - -def is_correct_gsm8k(model_completion, gt_example): - gt_answer = extract_answer_gsm8k(gt_example) - assert gt_answer != INVALID_ANS_GSM8k - model_answer = extract_answer_gsm8k(model_completion) - return model_answer == gt_answer or is_equiv(model_answer, gt_answer) - -def my_get_unnormalized_answer(og_pred): - og_pred = get_unnormalized_answer(og_pred) - # print(og_pred) - og_pred = re.sub(r"\\+[\(\[](.+?)\\+[\)\]]", "\\1", og_pred) - return og_pred -def clean_latex_string(text): - # 替换双斜杠为单斜杠 - text = text.replace('\\\\', '\\') - # 处理其他常见的转义字符 - text = text.replace('\\n', '\n') - return text - -def is_correct_minerva(og_pred, gt): - og_pred = clean_latex_string(og_pred) - pred = normalize_final_answer(my_get_unnormalized_answer(og_pred)) - # print(pred) - # print(gt) - # gt = normalize_final_answer(remove_boxed(last_boxed_only_string(gt))) - # string equality check needed because of https://github.com/EleutherAI/lm-evaluation-harness/issues/2212 - return pred == gt or is_equiv(pred, gt) - - - - -def is_correct(sample: str, gt_answer: str, dset: str): - if dset == "gsm8k": - return is_correct_gsm8k(sample, gt_answer) - elif dset == "math": - return is_correct_minerva(sample, gt_answer) - else: - raise ValueError(f"Dataset {dset} not supported") - - - - -def get_tasks(config): - sample_paths = Path(config.samples_dir).glob("*.yaml") - - tasks = [] - for sample_path in tqdm(sample_paths, desc="Loading generations"): - save_path = config.save_dir / sample_path.name - - task_config = deepcopy(config) - task_config.sample_path = sample_path - task_config.save_path = save_path - - tasks.append(task_config) - - return tasks - - -def main(args): - save_dir = Path(args.save_dir).absolute() - - tasks = list(save_dir.glob("*.yaml")) - corrects = [] - - for task in tqdm(tasks, desc="Evaluating"): - result = load_yaml(task) - - correct = is_correct(result["answer"], result["gt_answer"], "math") - corrects.append(correct) - # break - - print(f"Accuracy: {sum(corrects) / len(corrects)}") - - -if __name__ == "__main__": - parser = argparse.ArgumentParser() - parser.add_argument("--save_dir", type=str, default="evaluation_results/math500/math500_deepseek-chat") # 0.756 - args = parser.parse_args() - main(args) +from pathlib import Path +from tqdm import tqdm +import multiprocessing +from copy import deepcopy +import re +from lm_eval.tasks.minerva_math.utils import ( + last_boxed_only_string, + normalize_final_answer, + get_unnormalized_answer, + remove_boxed, + is_equiv, +) + +import yaml +import argparse + +def load_yaml(path: Path): + with open(path, "r") as f: + data = yaml.load(f, Loader=yaml.CLoader) + + return data + + +def save_yaml(path: Path, data, sort_keys=True): + with open(path, "w") as f: + yaml.dump(data, f, sort_keys=sort_keys) + + +ANS_RE_GSM8k = re.compile(r"#### (\-?[\$0-9\.\,]+)") +INVALID_ANS_GSM8k = "[invalid]" +GSM8K_IGNORE_REGEXES = [",", "\\$", "\\.$"] + + +def filter_ignores(st, regexes_to_ignore): + if regexes_to_ignore is not None: + for s in regexes_to_ignore: + st = re.sub(s, "", st) + return st + + +def extract_answer_gsm8k(completion): + match = ANS_RE_GSM8k.search(completion) + if match: + match_str = match.group(1).strip() + match_str = filter_ignores( + match_str, + GSM8K_IGNORE_REGEXES, + ) + return match_str + else: + return INVALID_ANS_GSM8k + + +def is_correct_gsm8k(model_completion, gt_example): + gt_answer = extract_answer_gsm8k(gt_example) + assert gt_answer != INVALID_ANS_GSM8k + model_answer = extract_answer_gsm8k(model_completion) + return model_answer == gt_answer or is_equiv(model_answer, gt_answer) + +def my_get_unnormalized_answer(og_pred): + og_pred = get_unnormalized_answer(og_pred) + # print(og_pred) + og_pred = re.sub(r"\\+[\(\[](.+?)\\+[\)\]]", "\\1", og_pred) + return og_pred +def clean_latex_string(text): + # 替换双斜杠为单斜杠 + text = text.replace('\\\\', '\\') + # 处理其他常见的转义字符 + text = text.replace('\\n', '\n') + return text + +def is_correct_minerva(og_pred, gt): + og_pred = clean_latex_string(og_pred) + pred = normalize_final_answer(my_get_unnormalized_answer(og_pred)) + # print(pred) + # print(gt) + # gt = normalize_final_answer(remove_boxed(last_boxed_only_string(gt))) + # string equality check needed because of https://github.com/EleutherAI/lm-evaluation-harness/issues/2212 + return pred == gt or is_equiv(pred, gt) + + + + +def is_correct(sample: str, gt_answer: str, dset: str): + if dset == "gsm8k": + return is_correct_gsm8k(sample, gt_answer) + elif dset == "math": + return is_correct_minerva(sample, gt_answer) + else: + raise ValueError(f"Dataset {dset} not supported") + + + + +def get_tasks(config): + sample_paths = Path(config.samples_dir).glob("*.yaml") + + tasks = [] + for sample_path in tqdm(sample_paths, desc="Loading generations"): + save_path = config.save_dir / sample_path.name + + task_config = deepcopy(config) + task_config.sample_path = sample_path + task_config.save_path = save_path + + tasks.append(task_config) + + return tasks + + +def main(args): + save_dir = Path(args.save_dir).absolute() + + tasks = list(save_dir.glob("*.yaml")) + corrects = [] + + for task in tqdm(tasks, desc="Evaluating"): + result = load_yaml(task) + + correct = is_correct(result["answer"], result["gt_answer"], "math") + corrects.append(correct) + # break + + print(f"Accuracy: {sum(corrects) / len(corrects)}") + + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument("--save_dir", type=str, default="evaluation_results/math500/math500_deepseek-chat") # 0.756 + args = parser.parse_args() + main(args) diff --git a/benchmark/process/dataset_candidate/reasoning/math_reasoning/prompts.py b/benchmark/process/dataset_candidate/reasoning/math_reasoning/prompts.py index 8793128..311f442 100755 --- a/benchmark/process/dataset_candidate/reasoning/math_reasoning/prompts.py +++ b/benchmark/process/dataset_candidate/reasoning/math_reasoning/prompts.py @@ -1,23 +1,23 @@ -MATH_COT_PROMPT = """Problem: -Find the domain of the expression $\\frac{\\sqrt{x-2}}{\\sqrt{5-x}}$.} - -Solution: -The expressions inside each square root must be non-negative. Therefore, $x-2 \\ge 0$, so $x\\ge2$, and $5 - x \\ge 0$, so $x \\le 5$. Also, the denominator cannot be equal to zero, so $5-x>0$, which gives $x<5$. Therefore, the domain of the expression is $\\boxed{[2,5)}$.\nFinal Answer: The final answer is $[2,5)$. I hope it is correct. - -Problem: -If $\\det \\mathbf{A} = 2$ and $\\det \\mathbf{B} = 12,$ then find $\\det (\\mathbf{A} \\mathbf{B}).$ - -Solution: -We have that $\\det (\\mathbf{A} \\mathbf{B}) = (\\det \\mathbf{A})(\\det \\mathbf{B}) = (2)(12) = \\boxed{24}.$\nFinal Answer: The final answer is $24$. I hope it is correct. - -Problem: -Terrell usually lifts two 20-pound weights 12 times. If he uses two 15-pound weights instead, how many times must Terrell lift them in order to lift the same total weight? - -Solution: -If Terrell lifts two 20-pound weights 12 times, he lifts a total of $2\\cdot 12\\cdot20=480$ pounds of weight. If he lifts two 15-pound weights instead for $n$ times, he will lift a total of $2\\cdot15\\cdot n=30n$ pounds of weight. Equating this to 480 pounds, we can solve for $n$:\n\\begin{align*}\n30n&=480\\\n\\Rightarrow\\qquad n&=480/30=\\boxed{16}\n\\end{align*}\nFinal Answer: The final answer is $16$. I hope it is correct. - -Problem: -If the system of equations\n\n\\begin{align*}\n6x-4y&=a,\\\n6y-9x &=b.\n\\end{align*}has a solution $(x, y)$ where $x$ and $y$ are both nonzero,\nfind $\\frac{a}{b},$ assuming $b$ is nonzero. - -Solution: -If we multiply the first equation by $-\\frac{3}{2}$, we obtain\n\n$$6y-9x=-\\frac{3}{2}a.$$Since we also know that $6y-9x=b$, we have\n\n$$-\\frac{3}{2}a=b\\Rightarrow\\frac{a}{b}=\\boxed{-\\frac{2}{3}}.$$\nFinal Answer: The final answer is $-\\frac{2}{3}$. I hope it is correct.""" +MATH_COT_PROMPT = """Problem: +Find the domain of the expression $\\frac{\\sqrt{x-2}}{\\sqrt{5-x}}$.} + +Solution: +The expressions inside each square root must be non-negative. Therefore, $x-2 \\ge 0$, so $x\\ge2$, and $5 - x \\ge 0$, so $x \\le 5$. Also, the denominator cannot be equal to zero, so $5-x>0$, which gives $x<5$. Therefore, the domain of the expression is $\\boxed{[2,5)}$.\nFinal Answer: The final answer is $[2,5)$. I hope it is correct. + +Problem: +If $\\det \\mathbf{A} = 2$ and $\\det \\mathbf{B} = 12,$ then find $\\det (\\mathbf{A} \\mathbf{B}).$ + +Solution: +We have that $\\det (\\mathbf{A} \\mathbf{B}) = (\\det \\mathbf{A})(\\det \\mathbf{B}) = (2)(12) = \\boxed{24}.$\nFinal Answer: The final answer is $24$. I hope it is correct. + +Problem: +Terrell usually lifts two 20-pound weights 12 times. If he uses two 15-pound weights instead, how many times must Terrell lift them in order to lift the same total weight? + +Solution: +If Terrell lifts two 20-pound weights 12 times, he lifts a total of $2\\cdot 12\\cdot20=480$ pounds of weight. If he lifts two 15-pound weights instead for $n$ times, he will lift a total of $2\\cdot15\\cdot n=30n$ pounds of weight. Equating this to 480 pounds, we can solve for $n$:\n\\begin{align*}\n30n&=480\\\n\\Rightarrow\\qquad n&=480/30=\\boxed{16}\n\\end{align*}\nFinal Answer: The final answer is $16$. I hope it is correct. + +Problem: +If the system of equations\n\n\\begin{align*}\n6x-4y&=a,\\\n6y-9x &=b.\n\\end{align*}has a solution $(x, y)$ where $x$ and $y$ are both nonzero,\nfind $\\frac{a}{b},$ assuming $b$ is nonzero. + +Solution: +If we multiply the first equation by $-\\frac{3}{2}$, we obtain\n\n$$6y-9x=-\\frac{3}{2}a.$$Since we also know that $6y-9x=b$, we have\n\n$$-\\frac{3}{2}a=b\\Rightarrow\\frac{a}{b}=\\boxed{-\\frac{2}{3}}.$$\nFinal Answer: The final answer is $-\\frac{2}{3}$. I hope it is correct.""" diff --git a/benchmark/process/dataset_candidate/reasoning/math_reasoning/run_infer.py b/benchmark/process/dataset_candidate/reasoning/math_reasoning/run_infer.py index 7fbc8c3..a33ff89 100755 --- a/benchmark/process/dataset_candidate/reasoning/math_reasoning/run_infer.py +++ b/benchmark/process/dataset_candidate/reasoning/math_reasoning/run_infer.py @@ -1,108 +1,108 @@ -import torch -from datasets import load_dataset -from tqdm import tqdm -import multiprocessing -import random -import requests -from functools import partial -import argparse -from pathlib import Path -import yaml -import importlib -import os -import asyncio -from prompts import MATH_COT_PROMPT -from constant import * - -import openai - -def save_yaml(path: Path, data, sort_keys=True): - with open(path, "w") as f: - yaml.dump(data, f, sort_keys=sort_keys) - -async def run_inference(item, save_dir, model, base_url): - - outpath = save_dir / f"{item['id']}.yaml" - if outpath.exists(): - return - - prompt = MATH_COT_PROMPT + f"\n\nPlease answer the following math question. You should think step by step to solve it.\n\nProblem:\n{item['problem']}\n\n" - prompt += "Please given your final answer (answer ONLY) within the format of `Final Answer: The final answer is . I hope it is correct.` after your reasoning \n" - prompt += "For example: According to ...\nFinal Answer: The final answer is $24$. I hope it is correct.\n" - - client = openai.AsyncOpenAI(base_url=base_url) - messages = [ - {"role": "user", "content": prompt}, - ] - - response = await client.chat.completions.create( - model=model, - messages=messages, - ) - answer = response.choices[0].message.content - - out = { - "prompt": prompt, - "question": item["problem"], - "answer": answer, - "gt_answer": item["answer"], - } - - save_yaml(outpath, out) - - -async def main(args): - - test_dataset = list( - load_dataset( - "HuggingFaceH4/MATH-500", "default", split="test", trust_remote_code=True - ) - ) - - print(f"Number of test items: {len(test_dataset)}") - - random.seed(12345) - - - for i, data in enumerate(test_dataset): - data["id"] = i - - random.shuffle(test_dataset) - - if args.limit is not None: - limit = args.limit - else: - limit = len(test_dataset) - - if args.stride is not None: - stride = args.stride - else: - stride = 1 - - if args.offset is not None: - offset = args.offset - else: - offset = 0 - - test_dataset = test_dataset[offset:limit:stride] - - print(f"Total number of items to process: {len(test_dataset)}") - - save_dir = os.path.join(args.save_dir, "math500" + "_" + args.model) - save_dir = Path(save_dir) - save_dir.mkdir(parents=True, exist_ok=True) - - predictions = [] - for item in tqdm(test_dataset): - predictions.append(await run_inference(item, save_dir, args.model, args.base_url)) - -if __name__ == "__main__": - parser = argparse.ArgumentParser() - parser.add_argument("--limit", type=int, default=None) - parser.add_argument("--stride", type=int, default=None) - parser.add_argument("--offset", type=int, default=None) - parser.add_argument("--save_dir", type=str, default="evaluation_results/math500") - parser.add_argument("--model", type=str, default="deepseek-chat") - parser.add_argument("--base_url", type=str, default="https://api.deepseek.com") - args = parser.parse_args() - asyncio.run(main(args)) +import torch +from datasets import load_dataset +from tqdm import tqdm +import multiprocessing +import random +import requests +from functools import partial +import argparse +from pathlib import Path +import yaml +import importlib +import os +import asyncio +from prompts import MATH_COT_PROMPT +from constant import * + +import openai + +def save_yaml(path: Path, data, sort_keys=True): + with open(path, "w") as f: + yaml.dump(data, f, sort_keys=sort_keys) + +async def run_inference(item, save_dir, model, base_url): + + outpath = save_dir / f"{item['id']}.yaml" + if outpath.exists(): + return + + prompt = MATH_COT_PROMPT + f"\n\nPlease answer the following math question. You should think step by step to solve it.\n\nProblem:\n{item['problem']}\n\n" + prompt += "Please given your final answer (answer ONLY) within the format of `Final Answer: The final answer is . I hope it is correct.` after your reasoning \n" + prompt += "For example: According to ...\nFinal Answer: The final answer is $24$. I hope it is correct.\n" + + client = openai.AsyncOpenAI(base_url=base_url) + messages = [ + {"role": "user", "content": prompt}, + ] + + response = await client.chat.completions.create( + model=model, + messages=messages, + ) + answer = response.choices[0].message.content + + out = { + "prompt": prompt, + "question": item["problem"], + "answer": answer, + "gt_answer": item["answer"], + } + + save_yaml(outpath, out) + + +async def main(args): + + test_dataset = list( + load_dataset( + "HuggingFaceH4/MATH-500", "default", split="test", trust_remote_code=True + ) + ) + + print(f"Number of test items: {len(test_dataset)}") + + random.seed(12345) + + + for i, data in enumerate(test_dataset): + data["id"] = i + + random.shuffle(test_dataset) + + if args.limit is not None: + limit = args.limit + else: + limit = len(test_dataset) + + if args.stride is not None: + stride = args.stride + else: + stride = 1 + + if args.offset is not None: + offset = args.offset + else: + offset = 0 + + test_dataset = test_dataset[offset:limit:stride] + + print(f"Total number of items to process: {len(test_dataset)}") + + save_dir = os.path.join(args.save_dir, "math500" + "_" + args.model) + save_dir = Path(save_dir) + save_dir.mkdir(parents=True, exist_ok=True) + + predictions = [] + for item in tqdm(test_dataset): + predictions.append(await run_inference(item, save_dir, args.model, args.base_url)) + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument("--limit", type=int, default=None) + parser.add_argument("--stride", type=int, default=None) + parser.add_argument("--offset", type=int, default=None) + parser.add_argument("--save_dir", type=str, default="evaluation_results/math500") + parser.add_argument("--model", type=str, default="deepseek-chat") + parser.add_argument("--base_url", type=str, default="https://api.deepseek.com") + args = parser.parse_args() + asyncio.run(main(args)) diff --git a/benchmark/process/dataset_candidate/reasoning/metaprompt.py b/benchmark/process/dataset_candidate/reasoning/metaprompt.py index 6926348..46053a4 100755 --- a/benchmark/process/dataset_candidate/reasoning/metaprompt.py +++ b/benchmark/process/dataset_candidate/reasoning/metaprompt.py @@ -1,66 +1,66 @@ -TASK = r"Develop new reasoning techniques for math reasoning tasks." - -DATASET = r""" -The datasets for math reasoning: \textbf{MATH-500} (a test set of 500 math reasoning tasks), you can load the dataset using the following code: - -\begin{verbatim} -from datasets import load_dataset - -test_dataset = list( - load_dataset( - "HuggingFaceH4/MATH-500", "default", split="test", trust_remote_code=True - ) - ) -\end{verbatim} -""" - -BASELINE = r""" -DeepSeek-Chat (i.e., Deepseek v3 model) -""" - -COMPARISON = r""" -DeepSeek-Chat: 73.80% (pass@1) -""" - -EVALUATION = r""" -pass@1 means the success rate of the first choice of the output of the model. you can refer to get_score.py to get the score of the model. -""" - -REF = r""" -The exmaple of math reasoning on MATH-500 dataset is in the directory `/workplace/dataset_candidate/math_reasoning`: -# Reasoning on MATH-500 - -Reasoning on MATH-500 dataset with DeepSeek Chat. - -```bash -cd /path/to/math_reasoning -python run_infer.py -``` - -Args: - -- `--save_dir`: The directory to save the results. -- `--model`: The model to use. -- `--base_url`: The base URL of the API. -- `--limit`: The number of tasks to process. -- `--stride`: The stride of the tasks to process. -- `--offset`: The offset of the tasks to process. - -Use the OpenAI-compatible API of DeepSeek Chat. - -## Get score - -```bash -python get_score.py --save_dir evaluation_results/math500/math500_deepseek-chat -``` - -Args: - -- `--save_dir`: The directory to save the results. - -The API key of DeepSeek Chat is in the directory `/workplace/dataset_candidate/math_reasoning/.env`, that is `sk-d4656d7459264eb8acf55848081cf6bc`. Other models are not supported. - -[IMPORTANT] -1. Note that for reasoning tasks, DO NOT follow the directory structure with `training`, `testing`, etc. Construct the directory structure similar to `math_reasoning`. Focus on the reasoning techniques, and refer to the exmaple of `math_reasoning` for more details. -2. First evaluate with limit 10 tasks to make sure the model is working, and then evaluate with limit 500 tasks. +TASK = r"Develop new reasoning techniques for math reasoning tasks." + +DATASET = r""" +The datasets for math reasoning: \textbf{MATH-500} (a test set of 500 math reasoning tasks), you can load the dataset using the following code: + +\begin{verbatim} +from datasets import load_dataset + +test_dataset = list( + load_dataset( + "HuggingFaceH4/MATH-500", "default", split="test", trust_remote_code=True + ) + ) +\end{verbatim} +""" + +BASELINE = r""" +DeepSeek-Chat (i.e., Deepseek v3 model) +""" + +COMPARISON = r""" +DeepSeek-Chat: 73.80% (pass@1) +""" + +EVALUATION = r""" +pass@1 means the success rate of the first choice of the output of the model. you can refer to get_score.py to get the score of the model. +""" + +REF = r""" +The exmaple of math reasoning on MATH-500 dataset is in the directory `/workplace/dataset_candidate/math_reasoning`: +# Reasoning on MATH-500 + +Reasoning on MATH-500 dataset with DeepSeek Chat. + +```bash +cd /path/to/math_reasoning +python run_infer.py +``` + +Args: + +- `--save_dir`: The directory to save the results. +- `--model`: The model to use. +- `--base_url`: The base URL of the API. +- `--limit`: The number of tasks to process. +- `--stride`: The stride of the tasks to process. +- `--offset`: The offset of the tasks to process. + +Use the OpenAI-compatible API of DeepSeek Chat. + +## Get score + +```bash +python get_score.py --save_dir evaluation_results/math500/math500_deepseek-chat +``` + +Args: + +- `--save_dir`: The directory to save the results. + +The API key of DeepSeek Chat is in the directory `/workplace/dataset_candidate/math_reasoning/.env`, that is `sk-d4656d7459264eb8acf55848081cf6bc`. Other models are not supported. + +[IMPORTANT] +1. Note that for reasoning tasks, DO NOT follow the directory structure with `training`, `testing`, etc. Construct the directory structure similar to `math_reasoning`. Focus on the reasoning techniques, and refer to the exmaple of `math_reasoning` for more details. +2. First evaluate with limit 10 tasks to make sure the model is working, and then evaluate with limit 500 tasks. """ \ No newline at end of file diff --git a/convert_requirements_to_pyproject.py b/convert_requirements_to_pyproject.py new file mode 100644 index 0000000..ae64e11 --- /dev/null +++ b/convert_requirements_to_pyproject.py @@ -0,0 +1,171 @@ +#!/usr/bin/env python3 +""" +Script to convert requirements.txt to pyproject.toml format +""" + +import re +import toml +from pathlib import Path + +def parse_requirements(requirements_file): + """Parse requirements.txt and return a list of dependencies""" + dependencies = [] + + with open(requirements_file, 'r') as f: + for line in f: + line = line.strip() + if line and not line.startswith('#'): + # Remove version constraints for pyproject.toml + # We'll use >= for minimum versions + if '==' in line: + package, version = line.split('==', 1) + dependencies.append(f"{package}>={version}") + elif '>=' in line: + dependencies.append(line) + elif '<=' in line: + # Convert <= to >= for minimum version + package, version = line.split('<=', 1) + dependencies.append(f"{package}>={version}") + elif '<' in line: + # Convert < to >= for minimum version + package, version = line.split('<', 1) + dependencies.append(f"{package}>={version}") + elif '>' in line: + dependencies.append(line) + else: + dependencies.append(line) + + return dependencies + +def create_pyproject_toml(dependencies): + """Create pyproject.toml content""" + + # Group dependencies by category + core_deps = [] + ai_ml_deps = [] + web_deps = [] + data_deps = [] + graph_deps = [] + util_deps = [] + + # Define package categories + ai_ml_packages = { + 'litellm', 'openai', 'anthropic', 'transformers', 'torch', 'torchvision', + 'torchaudio', 'accelerate', 'datasets', 'tiktoken', 'lm_eval' + } + + web_packages = { + 'gradio', 'uvicorn', 'fastapi', 'httpx', 'python-dotenv', 'python-multipart' + } + + data_packages = { + 'numpy', 'pandas', 'scikit-learn', 'scipy', 'matplotlib', 'seaborn' + } + + graph_packages = { + 'torch-geometric', 'torch_geometric', 'networkx' + } + + util_packages = { + 'click', 'rich', 'tqdm', 'PyYAML', 'requests', 'pillow', 'pydantic' + } + + for dep in dependencies: + package = dep.split('>=')[0].split('==')[0].split('<')[0].split('>')[0] + + if package.lower() in ai_ml_packages: + ai_ml_deps.append(dep) + elif package.lower() in web_packages: + web_deps.append(dep) + elif package.lower() in data_packages: + data_deps.append(dep) + elif package.lower() in graph_packages: + graph_deps.append(dep) + elif package.lower() in util_packages: + util_deps.append(dep) + else: + core_deps.append(dep) + + # Create pyproject.toml structure + pyproject_content = { + "build-system": { + "requires": ["setuptools>=61.0", "wheel"], + "build-backend": "setuptools.build_meta" + }, + "project": { + "name": "ai-researcher", + "version": "1.0.0", + "description": "AI-Researcher: Autonomous Scientific Innovation", + "authors": [ + {"name": "AI-Researcher Team", "email": "contact@ai-researcher.com"} + ], + "readme": "README.md", + "requires-python": ">=3.8", + "dependencies": [] + }, + "project.optional-dependencies": { + "dev": [ + "pytest>=7.0.0", + "black>=23.0.0", + "flake8>=6.0.0", + "mypy>=1.0.0", + ] + }, + "project.urls": { + "Homepage": "https://github.com/HKUDS/AI-Researcher", + "Repository": "https://github.com/HKUDS/AI-Researcher", + "Documentation": "https://autoresearcher.github.io/docs" + } + } + + # Add all dependencies + all_deps = [] + if core_deps: + all_deps.extend(core_deps) + if ai_ml_deps: + all_deps.extend(ai_ml_deps) + if web_deps: + all_deps.extend(web_deps) + if data_deps: + all_deps.extend(data_deps) + if graph_deps: + all_deps.extend(graph_deps) + if util_deps: + all_deps.extend(util_deps) + + pyproject_content["project"]["dependencies"] = sorted(all_deps) + + return pyproject_content + +def main(): + requirements_file = "requirements.txt" + pyproject_file = "pyproject.toml" + + if not Path(requirements_file).exists(): + print(f"❌ {requirements_file} not found!") + return + + print(f"📖 Reading {requirements_file}...") + dependencies = parse_requirements(requirements_file) + print(f"✅ Found {len(dependencies)} dependencies") + + print(f"🔧 Creating {pyproject_file}...") + pyproject_content = create_pyproject_toml(dependencies) + + # Write to pyproject.toml + with open(pyproject_file, 'w') as f: + toml.dump(pyproject_content, f) + + print(f"✅ Successfully created {pyproject_file}") + print(f"📦 Total dependencies: {len(pyproject_content['project']['dependencies'])}") + + # Show some stats + print("\n📊 Dependency breakdown:") + print(f" - Core dependencies: {len([d for d in dependencies if d.split('>=')[0].split('==')[0].split('<')[0].split('>')[0].lower() not in {'litellm', 'openai', 'anthropic', 'transformers', 'torch', 'torchvision', 'torchaudio', 'accelerate', 'datasets', 'tiktoken', 'lm_eval', 'gradio', 'uvicorn', 'fastapi', 'httpx', 'python-dotenv', 'python-multipart', 'numpy', 'pandas', 'scikit-learn', 'scipy', 'matplotlib', 'seaborn', 'torch-geometric', 'torch_geometric', 'networkx', 'click', 'rich', 'tqdm', 'PyYAML', 'requests', 'pillow', 'pydantic'}])}") + print(f" - AI/ML dependencies: {len([d for d in dependencies if d.split('>=')[0].split('==')[0].split('<')[0].split('>')[0].lower() in {'litellm', 'openai', 'anthropic', 'transformers', 'torch', 'torchvision', 'torchaudio', 'accelerate', 'datasets', 'tiktoken', 'lm_eval'}])}") + print(f" - Web dependencies: {len([d for d in dependencies if d.split('>=')[0].split('==')[0].split('<')[0].split('>')[0].lower() in {'gradio', 'uvicorn', 'fastapi', 'httpx', 'python-dotenv', 'python-multipart'}])}") + print(f" - Data processing: {len([d for d in dependencies if d.split('>=')[0].split('==')[0].split('<')[0].split('>')[0].lower() in {'numpy', 'pandas', 'scikit-learn', 'scipy', 'matplotlib', 'seaborn'}])}") + print(f" - Graph libraries: {len([d for d in dependencies if d.split('>=')[0].split('==')[0].split('<')[0].split('>')[0].lower() in {'torch-geometric', 'torch_geometric', 'networkx'}])}") + +if __name__ == "__main__": + main() diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..a4865a5 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,65 @@ +services: + ai-researcher: + build: + context: ./docker + dockerfile: Dockerfile + container_name: ai_researcher + ports: + - "8000:8000" + - "7020:7020" + volumes: + - ./workplace:/workplace + - ./cache:/cache + - ./logs:/app/logs + environment: + - PYTHONUNBUFFERED=1 + - ANONYMIZED_TELEMETRY=false + - DOCKER_WORKPLACE_NAME=workplace_paper + - BASE_IMAGES=tjbtech1/airesearcher:v1 + - COMPLETION_MODEL=openrouter/anthropic/claude-3.5-sonnet + - CHEEP_MODEL=openrouter/anthropic/claude-3.5-sonnet + - GPUS='"device=0"' + - CONTAINER_NAME=paper_eval + - WORKPLACE_NAME=workplace + - CACHE_PATH=cache + - PORT=7020 + - PLATFORM=linux/amd64 + - GITHUB_AI_TOKEN=${GITHUB_AI_TOKEN:-your_github_ai_token} + - OPENROUTER_API_KEY=${OPENROUTER_API_KEY:-your_openrouter_api_key} + - OPENROUTER_API_BASE=https://openrouter.ai/api/v1 + - CATEGORY=${CATEGORY:-vq} + - INSTANCE_ID=${INSTANCE_ID:-one_layer_vq} + - TASK_LEVEL=${TASK_LEVEL:-task1} + - MAX_ITER_TIMES=${MAX_ITER_TIMES:-0} + restart: unless-stopped + stdin_open: true + tty: true + + web-gui: + build: + context: . + dockerfile: Dockerfile.web + container_name: ai_researcher_web + ports: + - "7860:7860" + volumes: + - ./workplace:/app/workplace + - ./cache:/app/cache + - ./logs:/app/logs + - ./.env:/app/.env + environment: + - PYTHONUNBUFFERED=1 + - GRADIO_SERVER_PORT=7860 + - GRADIO_SERVER_NAME=0.0.0.0 + - COMPLETION_MODEL=openrouter/anthropic/claude-3.5-sonnet + - CHEEP_MODEL=openrouter/anthropic/claude-3.5-sonnet + - OPENROUTER_API_KEY=${OPENROUTER_API_KEY:-your_openrouter_api_key} + - OPENROUTER_API_BASE=https://openrouter.ai/api/v1 + depends_on: + - ai-researcher + restart: unless-stopped + +volumes: + workplace: + cache: + logs: diff --git a/fast_commit.ps1 b/fast_commit.ps1 new file mode 100644 index 0000000..e0c53f1 --- /dev/null +++ b/fast_commit.ps1 @@ -0,0 +1,101 @@ +# Function to initialize repository with master and develop branches +function Initialize-GitBranches { + $branches = git branch | ForEach-Object { $_.TrimStart('* ') } | Where-Object { $_ } + + if ($branches.Count -eq 0) { + Write-Host "`nNo branches found. Initializing repository with master and develop branches..." + + # Create and switch to master branch + git checkout -b master + # Create initial commit if needed if remote only has main + git fetch + if (git remote show origin | Select-String -Pattern "main") { + Write-Host "Creating initial commit..." + git commit --allow-empty -m "Initial commit" + } + # Create and push develop branch + git checkout -b develop + + # Push both branches to remote + git push -u origin master + git push -u origin develop + + Write-Host "Repository initialized with master and develop branches" + return $true + } + return $false +} + +# Fetch latest changes from remote +Write-Host "Fetching latest changes from remote..." +git fetch +Write-Host "Fetch completed`n" + +# Check and initialize branches if needed +$initialized = Initialize-GitBranches +if ($initialized) { + Write-Host "`nPlease run the script again to commit your changes." + exit +} + +# Function to select branch +function Select-GitBranch { + Write-Host "Available branches (local and remote):" + $branches = git branch -a | ForEach-Object { $_.TrimStart('* ').TrimStart('remotes/origin/') } | Where-Object { $_ -and $_ -ne 'HEAD' } | Sort-Object -Unique + $branches | ForEach-Object { Write-Host " $_" } + + do { + $selection = Read-Host "Enter branch name" + $branch = $branches | Where-Object { $_ -eq $selection } + if (-not $branch) { + Write-Host "Invalid branch name. Please try again." + } + } until ($branch) + + Write-Host "Selected branch: $branch" + return $branch +} + +# Get current branch +$current_branch = git branch --show-current +Write-Host "Current branch: $current_branch" + +# Ask for commit message +do { + $commit_message = Read-Host "Enter commit message" +} until ($commit_message) + +# Show status and ask for confirmation +git status +$confirm = Read-Host "`nCommit these changes? (y/n)" + +if ($confirm -ne "y") { + Write-Host "Commit cancelled" + exit +} + +# Select target branch +Write-Host "`nSelect target branch:" +$branch = Select-GitBranch + +# Commit and push +git add . +git commit -m $commit_message + +# If current branch is different from target, ask to switch +if ($branch -ne $current_branch) { + $switch_confirm = Read-Host "`nSwitch to $branch and merge changes? (y/n)" + + if ($switch_confirm -eq "y") { + git checkout $branch + git merge $current_branch + } +} + +# Ask to push +$push_confirm = Read-Host "`nPush changes to remote? (y/n)" + +if ($push_confirm -eq "y") { + git push origin $branch + Write-Host "Changes pushed successfully" +} \ No newline at end of file diff --git a/main_ai_researcher.py b/main_ai_researcher.py index c25e44a..dc8d1b3 100644 --- a/main_ai_researcher.py +++ b/main_ai_researcher.py @@ -4,32 +4,20 @@ import asyncio import global_state from dotenv import load_dotenv +from argparse import Namespace def init_ai_researcher(): - a = 1 + pass def get_args_research(): - parser = argparse.ArgumentParser() - parser.add_argument("--instance_path", type=str, default="benchmark/gnn.json") - parser.add_argument('--container_name', type=str, default='paper_eval') - parser.add_argument("--task_level", type=str, default="task1") - parser.add_argument("--model", type=str, default="gpt-4o-2024-08-06") - parser.add_argument("--workplace_name", type=str, default="workplace") - parser.add_argument("--cache_path", type=str, default="cache") - parser.add_argument("--port", type=int, default=12345) - parser.add_argument("--max_iter_times", type=int, default=0) - parser.add_argument("--category", type=str, default="recommendation") - args = parser.parse_args() + args = Namespace() return args def get_args_paper(): - parser = argparse.ArgumentParser() - parser.add_argument("--research_field", type=str, default="vq") - parser.add_argument("--instance_id", type=str, default="rotation_vq") - args = parser.parse_args() + args = Namespace() return args def main_ai_researcher(input, reference, mode): @@ -40,94 +28,111 @@ def main_ai_researcher(input, reference, mode): # model = COMPLETION_MODEL # main_autoagent.mode = mode # global_state.INIT_FLAG = False - load_dotenv() - category = os.getenv("CATEGORY") - instance_id = os.getenv("INSTANCE_ID") - task_level = os.getenv("TASK_LEVEL") - container_name = os.getenv("CONTAINER_NAME") - workplace_name = os.getenv("WORKPLACE_NAME") - cache_path = os.getenv("CACHE_PATH") - port = int(os.getenv("PORT")) - max_iter_times = int(os.getenv("MAX_ITER_TIMES")) - - + + # Default values + category = "vq" + instance_id = "rotation_vq" + task_level = "task1" + container_name = "paper_eval" + workplace_name = "workplace" + cache_path = "cache" + port = 12356 + max_iter_times = 0 + match mode: case 'Detailed Idea Description': # global INIT_FLAG if global_state.INIT_FLAG is False: global_state.INIT_FLAG = True - current_file_path = os.path.realpath(__file__) - current_dir = os.path.dirname(current_file_path) - sub_dir = os.path.join(current_dir, "research_agent") - os.chdir(sub_dir) - - from research_agent.constant import COMPLETION_MODEL - from research_agent import run_infer_idea, run_infer_plan - - args = get_args_research() - # category="vq" - # instance_id="rotation_vq" - args.instance_path = f"../benchmark/final/{category}/{instance_id}.json" - args.task_level = task_level - args.model = COMPLETION_MODEL - args.container_name = container_name - args.workplace_name = workplace_name - args.cache_path = cache_path - args.port = port - args.max_iter_times = max_iter_times - args.category = category - - run_infer_plan.main(args, input, reference) - global_state.INIT_FLAG = False + try: + current_file_path = os.path.realpath(__file__) + current_dir = os.path.dirname(current_file_path) + sub_dir = os.path.join(current_dir, "research_agent") + os.chdir(sub_dir) + + from research_agent.constant import COMPLETION_MODEL + from research_agent import run_infer_idea, run_infer_plan + + args = get_args_research() + # category="vq" + # instance_id="rotation_vq" + args.instance_path = f"../benchmark/final/{category}/{instance_id}.json" + args.task_level = task_level + args.model = COMPLETION_MODEL + args.container_name = container_name + args.workplace_name = workplace_name + args.cache_path = cache_path + args.port = port + args.max_iter_times = max_iter_times + args.category = category + + run_infer_plan.main(args, input, reference) + except Exception as e: + print(f"Error in Detailed Idea Description mode: {str(e)}") + # Continue execution even if there's an error + pass + finally: + global_state.INIT_FLAG = False case 'Reference-Based Ideation': # clear_screen() if global_state.INIT_FLAG is False: global_state.INIT_FLAG = True - current_file_path = os.path.realpath(__file__) - current_dir = os.path.dirname(current_file_path) - sub_dir = os.path.join(current_dir, "research_agent") - os.chdir(sub_dir) - - from research_agent.constant import COMPLETION_MODEL - from research_agent import run_infer_idea, run_infer_plan - from research_agent.constant import COMPLETION_MODEL - args = get_args_research() - # category="vq" - # instance_id="one_layer_vq" - # args.instance_path = f"../benchmark/final/{category}/{instance_id}.json" - # args.container_name = "paper_eval" - # args.task_level = "task1" - # args.model = COMPLETION_MODEL - # args.workplace_name = "workplace" - # args.cache_path = "cache" - # args.port = 12356 - # args.max_iter_times = 0 - - - args.instance_path = f"../benchmark/final/{category}/{instance_id}.json" - args.container_name = container_name - args.task_level = task_level - args.model = COMPLETION_MODEL - args.workplace_name = workplace_name - args.cache_path = cache_path - args.port = port - args.max_iter_times = max_iter_times - args.category = category - - run_infer_idea.main(args, reference) - global_state.INIT_FLAG = False + try: + current_file_path = os.path.realpath(__file__) + current_dir = os.path.dirname(current_file_path) + sub_dir = os.path.join(current_dir, "research_agent") + os.chdir(sub_dir) + + from research_agent.constant import COMPLETION_MODEL + from research_agent import run_infer_idea, run_infer_plan + from research_agent.constant import COMPLETION_MODEL + args = get_args_research() + # category="vq" + # instance_id="one_layer_vq" + # args.instance_path = f"../benchmark/final/{category}/{instance_id}.json" + # args.container_name = "paper_eval" + # args.task_level = "task1" + # args.model = COMPLETION_MODEL + # args.workplace_name = "workplace" + # args.cache_path = "cache" + # args.port = 12356 + # args.max_iter_times = 0 + + + args.instance_path = f"../benchmark/final/{category}/{instance_id}.json" + args.container_name = container_name + args.task_level = task_level + args.model = COMPLETION_MODEL + args.workplace_name = workplace_name + args.cache_path = cache_path + args.port = port + args.max_iter_times = max_iter_times + args.category = category + + run_infer_idea.main(args, reference) + except Exception as e: + print(f"Error in Reference-Based Ideation mode: {str(e)}") + # Continue execution even if there's an error + pass + finally: + global_state.INIT_FLAG = False case 'Paper Generation Agent': # clear_screen() if global_state.INIT_FLAG is False: global_state.INIT_FLAG = True - - from paper_agent import writing - args = get_args_paper() - - research_field=category - # instance_id="rotated_vq" - args.research_field = research_field - args.instance_id = instance_id - - asyncio.run(writing.writing(args.research_field, args.instance_id)) - global_state.INIT_FLAG = False + try: + from paper_agent import writing + args = get_args_paper() + + research_field=category + # instance_id="rotated_vq" + args.research_field = research_field + args.instance_id = instance_id + + asyncio.run(writing.writing(args.research_field, args.instance_id)) + except Exception as e: + print(f"Error in Paper Generation Agent mode: {str(e)}") + # Continue execution even if there's an error + pass + finally: + global_state.INIT_FLAG = False diff --git a/paper_agent/diffu_flow/writing_templates/abstract/bevt b/paper_agent/diffu_flow/writing_templates/abstract/bevt new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/diffu_flow/writing_templates/abstract/bevt:_bert_pretraining_of_video_transformers_abstract_template.txt b/paper_agent/diffu_flow/writing_templates/abstract/bevt__bert_pretraining_of_video_transformers_abstract_template.txt similarity index 100% rename from paper_agent/diffu_flow/writing_templates/abstract/bevt:_bert_pretraining_of_video_transformers_abstract_template.txt rename to paper_agent/diffu_flow/writing_templates/abstract/bevt__bert_pretraining_of_video_transformers_abstract_template.txt diff --git a/paper_agent/diffu_flow/writing_templates/abstract/infogan b/paper_agent/diffu_flow/writing_templates/abstract/infogan new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/diffu_flow/writing_templates/abstract/infogan:_interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_abstract_template.txt b/paper_agent/diffu_flow/writing_templates/abstract/infogan__interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_abstract_template.txt similarity index 100% rename from paper_agent/diffu_flow/writing_templates/abstract/infogan:_interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_abstract_template.txt rename to paper_agent/diffu_flow/writing_templates/abstract/infogan__interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_abstract_template.txt diff --git a/paper_agent/diffu_flow/writing_templates/abstract/maskgit b/paper_agent/diffu_flow/writing_templates/abstract/maskgit new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/diffu_flow/writing_templates/abstract/maskgit:_masked_generative_image_transformer_abstract_template.txt b/paper_agent/diffu_flow/writing_templates/abstract/maskgit__masked_generative_image_transformer_abstract_template.txt similarity index 100% rename from paper_agent/diffu_flow/writing_templates/abstract/maskgit:_masked_generative_image_transformer_abstract_template.txt rename to paper_agent/diffu_flow/writing_templates/abstract/maskgit__masked_generative_image_transformer_abstract_template.txt diff --git a/paper_agent/diffu_flow/writing_templates/abstract/sdxl b/paper_agent/diffu_flow/writing_templates/abstract/sdxl new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/diffu_flow/writing_templates/abstract/sdxl:_improving_latent_diffusion_models_for_high-resolution_image_synthesis_abstract_template.txt b/paper_agent/diffu_flow/writing_templates/abstract/sdxl__improving_latent_diffusion_models_for_high-resolution_image_synthesis_abstract_template.txt similarity index 100% rename from paper_agent/diffu_flow/writing_templates/abstract/sdxl:_improving_latent_diffusion_models_for_high-resolution_image_synthesis_abstract_template.txt rename to paper_agent/diffu_flow/writing_templates/abstract/sdxl__improving_latent_diffusion_models_for_high-resolution_image_synthesis_abstract_template.txt diff --git a/paper_agent/diffu_flow/writing_templates/conclusion/bevt b/paper_agent/diffu_flow/writing_templates/conclusion/bevt new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/diffu_flow/writing_templates/conclusion/bevt:_bert_pretraining_of_video_transformers_conclusion_template.txt b/paper_agent/diffu_flow/writing_templates/conclusion/bevt__bert_pretraining_of_video_transformers_conclusion_template.txt similarity index 100% rename from paper_agent/diffu_flow/writing_templates/conclusion/bevt:_bert_pretraining_of_video_transformers_conclusion_template.txt rename to paper_agent/diffu_flow/writing_templates/conclusion/bevt__bert_pretraining_of_video_transformers_conclusion_template.txt diff --git a/paper_agent/diffu_flow/writing_templates/conclusion/infogan b/paper_agent/diffu_flow/writing_templates/conclusion/infogan new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/diffu_flow/writing_templates/conclusion/infogan:_interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_conclusion_template.txt b/paper_agent/diffu_flow/writing_templates/conclusion/infogan__interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_conclusion_template.txt similarity index 100% rename from paper_agent/diffu_flow/writing_templates/conclusion/infogan:_interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_conclusion_template.txt rename to paper_agent/diffu_flow/writing_templates/conclusion/infogan__interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_conclusion_template.txt diff --git a/paper_agent/diffu_flow/writing_templates/conclusion/maskgit b/paper_agent/diffu_flow/writing_templates/conclusion/maskgit new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/diffu_flow/writing_templates/conclusion/maskgit:_masked_generative_image_transformer_conclusion_template.txt b/paper_agent/diffu_flow/writing_templates/conclusion/maskgit__masked_generative_image_transformer_conclusion_template.txt similarity index 100% rename from paper_agent/diffu_flow/writing_templates/conclusion/maskgit:_masked_generative_image_transformer_conclusion_template.txt rename to paper_agent/diffu_flow/writing_templates/conclusion/maskgit__masked_generative_image_transformer_conclusion_template.txt diff --git a/paper_agent/diffu_flow/writing_templates/conclusion/sdxl b/paper_agent/diffu_flow/writing_templates/conclusion/sdxl new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/diffu_flow/writing_templates/conclusion/sdxl:_improving_latent_diffusion_models_for_high-resolution_image_synthesis_conclusion_template.txt b/paper_agent/diffu_flow/writing_templates/conclusion/sdxl__improving_latent_diffusion_models_for_high-resolution_image_synthesis_conclusion_template.txt similarity index 100% rename from paper_agent/diffu_flow/writing_templates/conclusion/sdxl:_improving_latent_diffusion_models_for_high-resolution_image_synthesis_conclusion_template.txt rename to paper_agent/diffu_flow/writing_templates/conclusion/sdxl__improving_latent_diffusion_models_for_high-resolution_image_synthesis_conclusion_template.txt diff --git a/paper_agent/diffu_flow/writing_templates/experiments/bevt b/paper_agent/diffu_flow/writing_templates/experiments/bevt new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/diffu_flow/writing_templates/experiments/bevt:_bert_pretraining_of_video_transformers_experiments_template.txt b/paper_agent/diffu_flow/writing_templates/experiments/bevt__bert_pretraining_of_video_transformers_experiments_template.txt similarity index 100% rename from paper_agent/diffu_flow/writing_templates/experiments/bevt:_bert_pretraining_of_video_transformers_experiments_template.txt rename to paper_agent/diffu_flow/writing_templates/experiments/bevt__bert_pretraining_of_video_transformers_experiments_template.txt diff --git a/paper_agent/diffu_flow/writing_templates/experiments/infogan b/paper_agent/diffu_flow/writing_templates/experiments/infogan new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/diffu_flow/writing_templates/experiments/infogan:_interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_experiments_template.txt b/paper_agent/diffu_flow/writing_templates/experiments/infogan__interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_experiments_template.txt similarity index 100% rename from paper_agent/diffu_flow/writing_templates/experiments/infogan:_interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_experiments_template.txt rename to paper_agent/diffu_flow/writing_templates/experiments/infogan__interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_experiments_template.txt diff --git a/paper_agent/diffu_flow/writing_templates/experiments/maskgit b/paper_agent/diffu_flow/writing_templates/experiments/maskgit new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/diffu_flow/writing_templates/experiments/maskgit:_masked_generative_image_transformer_experiments_template.txt b/paper_agent/diffu_flow/writing_templates/experiments/maskgit__masked_generative_image_transformer_experiments_template.txt similarity index 100% rename from paper_agent/diffu_flow/writing_templates/experiments/maskgit:_masked_generative_image_transformer_experiments_template.txt rename to paper_agent/diffu_flow/writing_templates/experiments/maskgit__masked_generative_image_transformer_experiments_template.txt diff --git a/paper_agent/diffu_flow/writing_templates/experiments/sdxl b/paper_agent/diffu_flow/writing_templates/experiments/sdxl new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/diffu_flow/writing_templates/experiments/sdxl:_improving_latent_diffusion_models_for_high-resolution_image_synthesis_experiments_template.txt b/paper_agent/diffu_flow/writing_templates/experiments/sdxl__improving_latent_diffusion_models_for_high-resolution_image_synthesis_experiments_template.txt similarity index 100% rename from paper_agent/diffu_flow/writing_templates/experiments/sdxl:_improving_latent_diffusion_models_for_high-resolution_image_synthesis_experiments_template.txt rename to paper_agent/diffu_flow/writing_templates/experiments/sdxl__improving_latent_diffusion_models_for_high-resolution_image_synthesis_experiments_template.txt diff --git a/paper_agent/diffu_flow/writing_templates/introduction/bevt b/paper_agent/diffu_flow/writing_templates/introduction/bevt new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/diffu_flow/writing_templates/introduction/bevt:_bert_pretraining_of_video_transformers_introduction_template.txt b/paper_agent/diffu_flow/writing_templates/introduction/bevt__bert_pretraining_of_video_transformers_introduction_template.txt similarity index 100% rename from paper_agent/diffu_flow/writing_templates/introduction/bevt:_bert_pretraining_of_video_transformers_introduction_template.txt rename to paper_agent/diffu_flow/writing_templates/introduction/bevt__bert_pretraining_of_video_transformers_introduction_template.txt diff --git a/paper_agent/diffu_flow/writing_templates/introduction/infogan b/paper_agent/diffu_flow/writing_templates/introduction/infogan new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/diffu_flow/writing_templates/introduction/infogan:_interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_introduction_template.txt b/paper_agent/diffu_flow/writing_templates/introduction/infogan__interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_introduction_template.txt similarity index 100% rename from paper_agent/diffu_flow/writing_templates/introduction/infogan:_interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_introduction_template.txt rename to paper_agent/diffu_flow/writing_templates/introduction/infogan__interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_introduction_template.txt diff --git a/paper_agent/diffu_flow/writing_templates/introduction/maskgit b/paper_agent/diffu_flow/writing_templates/introduction/maskgit new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/diffu_flow/writing_templates/introduction/maskgit:_masked_generative_image_transformer_introduction_template.txt b/paper_agent/diffu_flow/writing_templates/introduction/maskgit__masked_generative_image_transformer_introduction_template.txt similarity index 100% rename from paper_agent/diffu_flow/writing_templates/introduction/maskgit:_masked_generative_image_transformer_introduction_template.txt rename to paper_agent/diffu_flow/writing_templates/introduction/maskgit__masked_generative_image_transformer_introduction_template.txt diff --git a/paper_agent/diffu_flow/writing_templates/introduction/sdxl b/paper_agent/diffu_flow/writing_templates/introduction/sdxl new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/diffu_flow/writing_templates/introduction/sdxl:_improving_latent_diffusion_models_for_high-resolution_image_synthesis_introduction_template.txt b/paper_agent/diffu_flow/writing_templates/introduction/sdxl__improving_latent_diffusion_models_for_high-resolution_image_synthesis_introduction_template.txt similarity index 100% rename from paper_agent/diffu_flow/writing_templates/introduction/sdxl:_improving_latent_diffusion_models_for_high-resolution_image_synthesis_introduction_template.txt rename to paper_agent/diffu_flow/writing_templates/introduction/sdxl__improving_latent_diffusion_models_for_high-resolution_image_synthesis_introduction_template.txt diff --git a/paper_agent/diffu_flow/writing_templates/methodology/bevt b/paper_agent/diffu_flow/writing_templates/methodology/bevt new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/diffu_flow/writing_templates/methodology/bevt:_bert_pretraining_of_video_transformers_methodology_template.txt b/paper_agent/diffu_flow/writing_templates/methodology/bevt__bert_pretraining_of_video_transformers_methodology_template.txt similarity index 100% rename from paper_agent/diffu_flow/writing_templates/methodology/bevt:_bert_pretraining_of_video_transformers_methodology_template.txt rename to paper_agent/diffu_flow/writing_templates/methodology/bevt__bert_pretraining_of_video_transformers_methodology_template.txt diff --git a/paper_agent/diffu_flow/writing_templates/methodology/infogan b/paper_agent/diffu_flow/writing_templates/methodology/infogan new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/diffu_flow/writing_templates/methodology/infogan:_interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_methodology_template.txt b/paper_agent/diffu_flow/writing_templates/methodology/infogan__interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_methodology_template.txt similarity index 100% rename from paper_agent/diffu_flow/writing_templates/methodology/infogan:_interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_methodology_template.txt rename to paper_agent/diffu_flow/writing_templates/methodology/infogan__interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_methodology_template.txt diff --git a/paper_agent/diffu_flow/writing_templates/methodology/maskgit b/paper_agent/diffu_flow/writing_templates/methodology/maskgit new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/diffu_flow/writing_templates/methodology/maskgit:_masked_generative_image_transformer_methodology_template.txt b/paper_agent/diffu_flow/writing_templates/methodology/maskgit__masked_generative_image_transformer_methodology_template.txt similarity index 100% rename from paper_agent/diffu_flow/writing_templates/methodology/maskgit:_masked_generative_image_transformer_methodology_template.txt rename to paper_agent/diffu_flow/writing_templates/methodology/maskgit__masked_generative_image_transformer_methodology_template.txt diff --git a/paper_agent/diffu_flow/writing_templates/methodology/sdxl b/paper_agent/diffu_flow/writing_templates/methodology/sdxl new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/diffu_flow/writing_templates/methodology/sdxl:_improving_latent_diffusion_models_for_high-resolution_image_synthesis_methodology_template.txt b/paper_agent/diffu_flow/writing_templates/methodology/sdxl__improving_latent_diffusion_models_for_high-resolution_image_synthesis_methodology_template.txt similarity index 100% rename from paper_agent/diffu_flow/writing_templates/methodology/sdxl:_improving_latent_diffusion_models_for_high-resolution_image_synthesis_methodology_template.txt rename to paper_agent/diffu_flow/writing_templates/methodology/sdxl__improving_latent_diffusion_models_for_high-resolution_image_synthesis_methodology_template.txt diff --git a/paper_agent/diffu_flow/writing_templates/preliminaries/bevt b/paper_agent/diffu_flow/writing_templates/preliminaries/bevt new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/diffu_flow/writing_templates/preliminaries/bevt:_bert_pretraining_of_video_transformers_preliminaries_template.txt b/paper_agent/diffu_flow/writing_templates/preliminaries/bevt__bert_pretraining_of_video_transformers_preliminaries_template.txt similarity index 100% rename from paper_agent/diffu_flow/writing_templates/preliminaries/bevt:_bert_pretraining_of_video_transformers_preliminaries_template.txt rename to paper_agent/diffu_flow/writing_templates/preliminaries/bevt__bert_pretraining_of_video_transformers_preliminaries_template.txt diff --git a/paper_agent/diffu_flow/writing_templates/preliminaries/infogan b/paper_agent/diffu_flow/writing_templates/preliminaries/infogan new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/diffu_flow/writing_templates/preliminaries/infogan:_interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_preliminaries_template.txt b/paper_agent/diffu_flow/writing_templates/preliminaries/infogan__interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_preliminaries_template.txt similarity index 100% rename from paper_agent/diffu_flow/writing_templates/preliminaries/infogan:_interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_preliminaries_template.txt rename to paper_agent/diffu_flow/writing_templates/preliminaries/infogan__interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_preliminaries_template.txt diff --git a/paper_agent/diffu_flow/writing_templates/preliminaries/maskgit b/paper_agent/diffu_flow/writing_templates/preliminaries/maskgit new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/diffu_flow/writing_templates/preliminaries/maskgit:_masked_generative_image_transformer_preliminaries_template.txt b/paper_agent/diffu_flow/writing_templates/preliminaries/maskgit__masked_generative_image_transformer_preliminaries_template.txt similarity index 100% rename from paper_agent/diffu_flow/writing_templates/preliminaries/maskgit:_masked_generative_image_transformer_preliminaries_template.txt rename to paper_agent/diffu_flow/writing_templates/preliminaries/maskgit__masked_generative_image_transformer_preliminaries_template.txt diff --git a/paper_agent/diffu_flow/writing_templates/preliminaries/sdxl b/paper_agent/diffu_flow/writing_templates/preliminaries/sdxl new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/diffu_flow/writing_templates/preliminaries/sdxl:_improving_latent_diffusion_models_for_high-resolution_image_synthesis_preliminaries_template.txt b/paper_agent/diffu_flow/writing_templates/preliminaries/sdxl__improving_latent_diffusion_models_for_high-resolution_image_synthesis_preliminaries_template.txt similarity index 100% rename from paper_agent/diffu_flow/writing_templates/preliminaries/sdxl:_improving_latent_diffusion_models_for_high-resolution_image_synthesis_preliminaries_template.txt rename to paper_agent/diffu_flow/writing_templates/preliminaries/sdxl__improving_latent_diffusion_models_for_high-resolution_image_synthesis_preliminaries_template.txt diff --git a/paper_agent/diffu_flow/writing_templates/related_work/bevt b/paper_agent/diffu_flow/writing_templates/related_work/bevt new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/diffu_flow/writing_templates/related_work/bevt:_bert_pretraining_of_video_transformers_related_work_template.txt b/paper_agent/diffu_flow/writing_templates/related_work/bevt__bert_pretraining_of_video_transformers_related_work_template.txt similarity index 100% rename from paper_agent/diffu_flow/writing_templates/related_work/bevt:_bert_pretraining_of_video_transformers_related_work_template.txt rename to paper_agent/diffu_flow/writing_templates/related_work/bevt__bert_pretraining_of_video_transformers_related_work_template.txt diff --git a/paper_agent/diffu_flow/writing_templates/related_work/infogan b/paper_agent/diffu_flow/writing_templates/related_work/infogan new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/diffu_flow/writing_templates/related_work/infogan:_interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_related_work_template.txt b/paper_agent/diffu_flow/writing_templates/related_work/infogan__interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_related_work_template.txt similarity index 100% rename from paper_agent/diffu_flow/writing_templates/related_work/infogan:_interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_related_work_template.txt rename to paper_agent/diffu_flow/writing_templates/related_work/infogan__interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_related_work_template.txt diff --git a/paper_agent/diffu_flow/writing_templates/related_work/maskgit b/paper_agent/diffu_flow/writing_templates/related_work/maskgit new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/diffu_flow/writing_templates/related_work/maskgit:_masked_generative_image_transformer_related_work_template.txt b/paper_agent/diffu_flow/writing_templates/related_work/maskgit__masked_generative_image_transformer_related_work_template.txt similarity index 100% rename from paper_agent/diffu_flow/writing_templates/related_work/maskgit:_masked_generative_image_transformer_related_work_template.txt rename to paper_agent/diffu_flow/writing_templates/related_work/maskgit__masked_generative_image_transformer_related_work_template.txt diff --git a/paper_agent/diffu_flow/writing_templates/related_work/sdxl b/paper_agent/diffu_flow/writing_templates/related_work/sdxl new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/diffu_flow/writing_templates/related_work/sdxl:_improving_latent_diffusion_models_for_high-resolution_image_synthesis_related_work_template.txt b/paper_agent/diffu_flow/writing_templates/related_work/sdxl__improving_latent_diffusion_models_for_high-resolution_image_synthesis_related_work_template.txt similarity index 100% rename from paper_agent/diffu_flow/writing_templates/related_work/sdxl:_improving_latent_diffusion_models_for_high-resolution_image_synthesis_related_work_template.txt rename to paper_agent/diffu_flow/writing_templates/related_work/sdxl__improving_latent_diffusion_models_for_high-resolution_image_synthesis_related_work_template.txt diff --git a/paper_agent/gnn/writing_templates/abstract/bert b/paper_agent/gnn/writing_templates/abstract/bert new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/abstract/bert:_pre-training_of_deep_bidirectional_transformers_for_language_understanding_abstract_template.txt b/paper_agent/gnn/writing_templates/abstract/bert__pre-training_of_deep_bidirectional_transformers_for_language_understanding_abstract_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/abstract/bert:_pre-training_of_deep_bidirectional_transformers_for_language_understanding_abstract_template.txt rename to paper_agent/gnn/writing_templates/abstract/bert__pre-training_of_deep_bidirectional_transformers_for_language_understanding_abstract_template.txt diff --git a/paper_agent/gnn/writing_templates/abstract/big_bird b/paper_agent/gnn/writing_templates/abstract/big_bird new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/abstract/big_bird:_transformers_for_longer_sequences_abstract_template.txt b/paper_agent/gnn/writing_templates/abstract/big_bird__transformers_for_longer_sequences_abstract_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/abstract/big_bird:_transformers_for_longer_sequences_abstract_template.txt rename to paper_agent/gnn/writing_templates/abstract/big_bird__transformers_for_longer_sequences_abstract_template.txt diff --git a/paper_agent/gnn/writing_templates/abstract/gpt-gnn b/paper_agent/gnn/writing_templates/abstract/gpt-gnn new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/abstract/gpt-gnn:_generative_pre-training_of_graph_neural_networks_abstract_template.txt b/paper_agent/gnn/writing_templates/abstract/gpt-gnn__generative_pre-training_of_graph_neural_networks_abstract_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/abstract/gpt-gnn:_generative_pre-training_of_graph_neural_networks_abstract_template.txt rename to paper_agent/gnn/writing_templates/abstract/gpt-gnn__generative_pre-training_of_graph_neural_networks_abstract_template.txt diff --git a/paper_agent/gnn/writing_templates/abstract/graph_convolution_network_based_recommender_systems b/paper_agent/gnn/writing_templates/abstract/graph_convolution_network_based_recommender_systems new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/abstract/graph_convolution_network_based_recommender_systems:_learning_guarantee_and_item_mixture_powered_strategy_abstract_template.txt b/paper_agent/gnn/writing_templates/abstract/graph_convolution_network_based_recommender_systems__learning_guarantee_and_item_mixture_powered_strategy_abstract_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/abstract/graph_convolution_network_based_recommender_systems:_learning_guarantee_and_item_mixture_powered_strategy_abstract_template.txt rename to paper_agent/gnn/writing_templates/abstract/graph_convolution_network_based_recommender_systems__learning_guarantee_and_item_mixture_powered_strategy_abstract_template.txt diff --git a/paper_agent/gnn/writing_templates/abstract/graph_neural_networks b/paper_agent/gnn/writing_templates/abstract/graph_neural_networks new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/abstract/graph_neural_networks:_a_review_of_methods_and_applications_abstract_template.txt b/paper_agent/gnn/writing_templates/abstract/graph_neural_networks__a_review_of_methods_and_applications_abstract_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/abstract/graph_neural_networks:_a_review_of_methods_and_applications_abstract_template.txt rename to paper_agent/gnn/writing_templates/abstract/graph_neural_networks__a_review_of_methods_and_applications_abstract_template.txt diff --git a/paper_agent/gnn/writing_templates/abstract/how_neural_networks_extrapolate b/paper_agent/gnn/writing_templates/abstract/how_neural_networks_extrapolate new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/abstract/how_neural_networks_extrapolate:_from_feedforward_to_graph_neural_networks_abstract_template.txt b/paper_agent/gnn/writing_templates/abstract/how_neural_networks_extrapolate__from_feedforward_to_graph_neural_networks_abstract_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/abstract/how_neural_networks_extrapolate:_from_feedforward_to_graph_neural_networks_abstract_template.txt rename to paper_agent/gnn/writing_templates/abstract/how_neural_networks_extrapolate__from_feedforward_to_graph_neural_networks_abstract_template.txt diff --git a/paper_agent/gnn/writing_templates/abstract/how_powerful_are_graph_neural_networks?_abstract_template.txt b/paper_agent/gnn/writing_templates/abstract/how_powerful_are_graph_neural_networks?_abstract_template.txt deleted file mode 100644 index 0d1a9c3..0000000 --- a/paper_agent/gnn/writing_templates/abstract/how_powerful_are_graph_neural_networks?_abstract_template.txt +++ /dev/null @@ -1,35 +0,0 @@ -\documentclass{article} -\usepackage{amsmath} -\usepackage{amsfonts} -\usepackage{graphicx} -\begin{document} - -\section*{Abstract} - -[First sentence summarizing the broader context and significance of the research domain. For example: "Graph Neural Networks (GNNs) have emerged as a pivotal approach in [research area]."] - -[Sentence describing the foundational approach and methodology. Example: "GNNs utilize [specific method] that allows for [key function or purpose]."] - -[Multiple sentences explaining the motivation and intuition behind the proposed method. For instance: "Despite the advancements in [field], there remain [gap/issue]. This work addresses this challenge by [explanation of novelty]."] - -[To tackle [specific challenge or problem], our method consists of three main components: [component 1], [component 2], and [component 3].] - -[Formally, we define [concept] as follows:] - -\begin{equation} -[Insert mathematical formulation of the key components] -\end{equation} - -[Detailed explanation of each term in the equations. For example: "In this equation, [term1] represents [description], while [term2] accounts for [description]."] - -[Several sentences comparing the proposed method with existing approaches. Example: "While previous methods such as [method 1] and [method 2] have shown [specific outcomes], our approach distinguishes itself by [key differences]."] - -[We then detail how the theoretical findings lead to the development of our proposed model. For instance: "We develop [module name], a [description of the architecture] that is [key property]."] - -[Paragraph describing the detailed workflow of the module. For instance: "The workflow consists of [step 1], followed by [step 2], ultimately leading to [step 3]."] - -[We empirically validate our theoretical findings by [method of validation]. Our experiments show that [major result or conclusion].] - -[Closing sentence highlighting the impact or significance of the findings. Example: "Therefore, our model not only achieves state-of-the-art performance on [benchmarks or tasks] but also enhances the understanding of [concept]."] - -\end{document} \ No newline at end of file diff --git a/paper_agent/gnn/writing_templates/abstract/predict_then_propagate b/paper_agent/gnn/writing_templates/abstract/predict_then_propagate new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/abstract/predict_then_propagate:_graph_neural_networks_meet_personalized_pagerank_abstract_template.txt b/paper_agent/gnn/writing_templates/abstract/predict_then_propagate__graph_neural_networks_meet_personalized_pagerank_abstract_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/abstract/predict_then_propagate:_graph_neural_networks_meet_personalized_pagerank_abstract_template.txt rename to paper_agent/gnn/writing_templates/abstract/predict_then_propagate__graph_neural_networks_meet_personalized_pagerank_abstract_template.txt diff --git a/paper_agent/gnn/writing_templates/conclusion/bert b/paper_agent/gnn/writing_templates/conclusion/bert new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/conclusion/bert:_pre-training_of_deep_bidirectional_transformers_for_language_understanding_conclusion_template.txt b/paper_agent/gnn/writing_templates/conclusion/bert__pre-training_of_deep_bidirectional_transformers_for_language_understanding_conclusion_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/conclusion/bert:_pre-training_of_deep_bidirectional_transformers_for_language_understanding_conclusion_template.txt rename to paper_agent/gnn/writing_templates/conclusion/bert__pre-training_of_deep_bidirectional_transformers_for_language_understanding_conclusion_template.txt diff --git a/paper_agent/gnn/writing_templates/conclusion/big_bird b/paper_agent/gnn/writing_templates/conclusion/big_bird new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/conclusion/big_bird:_transformers_for_longer_sequences_conclusion_template.txt b/paper_agent/gnn/writing_templates/conclusion/big_bird__transformers_for_longer_sequences_conclusion_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/conclusion/big_bird:_transformers_for_longer_sequences_conclusion_template.txt rename to paper_agent/gnn/writing_templates/conclusion/big_bird__transformers_for_longer_sequences_conclusion_template.txt diff --git a/paper_agent/gnn/writing_templates/conclusion/gpt-gnn b/paper_agent/gnn/writing_templates/conclusion/gpt-gnn new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/conclusion/gpt-gnn:_generative_pre-training_of_graph_neural_networks_conclusion_template.txt b/paper_agent/gnn/writing_templates/conclusion/gpt-gnn__generative_pre-training_of_graph_neural_networks_conclusion_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/conclusion/gpt-gnn:_generative_pre-training_of_graph_neural_networks_conclusion_template.txt rename to paper_agent/gnn/writing_templates/conclusion/gpt-gnn__generative_pre-training_of_graph_neural_networks_conclusion_template.txt diff --git a/paper_agent/gnn/writing_templates/conclusion/graph_convolution_network_based_recommender_systems b/paper_agent/gnn/writing_templates/conclusion/graph_convolution_network_based_recommender_systems new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/conclusion/graph_convolution_network_based_recommender_systems:_learning_guarantee_and_item_mixture_powered_strategy_conclusion_template.txt b/paper_agent/gnn/writing_templates/conclusion/graph_convolution_network_based_recommender_systems__learning_guarantee_and_item_mixture_powered_strategy_conclusion_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/conclusion/graph_convolution_network_based_recommender_systems:_learning_guarantee_and_item_mixture_powered_strategy_conclusion_template.txt rename to paper_agent/gnn/writing_templates/conclusion/graph_convolution_network_based_recommender_systems__learning_guarantee_and_item_mixture_powered_strategy_conclusion_template.txt diff --git a/paper_agent/gnn/writing_templates/conclusion/graph_neural_networks b/paper_agent/gnn/writing_templates/conclusion/graph_neural_networks new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/conclusion/graph_neural_networks:_a_review_of_methods_and_applications_conclusion_template.txt b/paper_agent/gnn/writing_templates/conclusion/graph_neural_networks__a_review_of_methods_and_applications_conclusion_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/conclusion/graph_neural_networks:_a_review_of_methods_and_applications_conclusion_template.txt rename to paper_agent/gnn/writing_templates/conclusion/graph_neural_networks__a_review_of_methods_and_applications_conclusion_template.txt diff --git a/paper_agent/gnn/writing_templates/conclusion/how_neural_networks_extrapolate b/paper_agent/gnn/writing_templates/conclusion/how_neural_networks_extrapolate new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/conclusion/how_neural_networks_extrapolate:_from_feedforward_to_graph_neural_networks_conclusion_template.txt b/paper_agent/gnn/writing_templates/conclusion/how_neural_networks_extrapolate__from_feedforward_to_graph_neural_networks_conclusion_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/conclusion/how_neural_networks_extrapolate:_from_feedforward_to_graph_neural_networks_conclusion_template.txt rename to paper_agent/gnn/writing_templates/conclusion/how_neural_networks_extrapolate__from_feedforward_to_graph_neural_networks_conclusion_template.txt diff --git a/paper_agent/gnn/writing_templates/conclusion/how_powerful_are_graph_neural_networks?_conclusion_template.txt b/paper_agent/gnn/writing_templates/conclusion/how_powerful_are_graph_neural_networks?_conclusion_template.txt deleted file mode 100644 index 4c880c4..0000000 --- a/paper_agent/gnn/writing_templates/conclusion/how_powerful_are_graph_neural_networks?_conclusion_template.txt +++ /dev/null @@ -1,33 +0,0 @@ -\section{Conclusion} - -In this paper, we developed [theoretical foundations/principles/insights] for [specific area or problem], and proved [describe key results or contributions]. We also designed [name of the proposed method/module] that [explain its significance or uniqueness]. An interesting direction for future work is to [suggest future research directions or potential improvements]. To complete the picture, it would also be valuable to [mention additional aspects that deserve attention or exploration]. - -\subsection{Key Contributions} - -Inspired by [previous work/technique], we propose [module name] to address [challenge]. To tackle [challenge], our method consists of three main components: [component 1], [component 2], and [component 3]. - -\subsection{Method Overview} - -[Multiple sentences explaining the motivation and intuition behind the proposed method] - -[Detailed explanation of the workflow of the module] - -\subsection{Comparison with Existing Approaches} - -[Several sentences comparing the proposed method with existing approaches] - -\subsection{Mathematical Formulation} - -Formally, we define [concept] as follows: - -\begin{equation} - [Mathematical formulation of the key components] -\end{equation} - -\subsection{Explanation of Terms} - -[Detailed explanation of each term in the equations] - -\subsection{Future Directions} - -Further research could focus on [discuss potential advancements, new architectures, or theoretical inquiries]. Additionally, understanding and improving [specific characteristics, such as generalization properties or optimization landscape] remains a crucial area for exploration. \ No newline at end of file diff --git a/paper_agent/gnn/writing_templates/conclusion/predict_then_propagate b/paper_agent/gnn/writing_templates/conclusion/predict_then_propagate new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/conclusion/predict_then_propagate:_graph_neural_networks_meet_personalized_pagerank_conclusion_template.txt b/paper_agent/gnn/writing_templates/conclusion/predict_then_propagate__graph_neural_networks_meet_personalized_pagerank_conclusion_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/conclusion/predict_then_propagate:_graph_neural_networks_meet_personalized_pagerank_conclusion_template.txt rename to paper_agent/gnn/writing_templates/conclusion/predict_then_propagate__graph_neural_networks_meet_personalized_pagerank_conclusion_template.txt diff --git a/paper_agent/gnn/writing_templates/experiments/bert b/paper_agent/gnn/writing_templates/experiments/bert new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/experiments/bert:_pre-training_of_deep_bidirectional_transformers_for_language_understanding_experiments_template.txt b/paper_agent/gnn/writing_templates/experiments/bert__pre-training_of_deep_bidirectional_transformers_for_language_understanding_experiments_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/experiments/bert:_pre-training_of_deep_bidirectional_transformers_for_language_understanding_experiments_template.txt rename to paper_agent/gnn/writing_templates/experiments/bert__pre-training_of_deep_bidirectional_transformers_for_language_understanding_experiments_template.txt diff --git a/paper_agent/gnn/writing_templates/experiments/big_bird b/paper_agent/gnn/writing_templates/experiments/big_bird new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/experiments/big_bird:_transformers_for_longer_sequences_experiments_template.txt b/paper_agent/gnn/writing_templates/experiments/big_bird__transformers_for_longer_sequences_experiments_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/experiments/big_bird:_transformers_for_longer_sequences_experiments_template.txt rename to paper_agent/gnn/writing_templates/experiments/big_bird__transformers_for_longer_sequences_experiments_template.txt diff --git a/paper_agent/gnn/writing_templates/experiments/gpt-gnn b/paper_agent/gnn/writing_templates/experiments/gpt-gnn new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/experiments/gpt-gnn:_generative_pre-training_of_graph_neural_networks_experiments_template.txt b/paper_agent/gnn/writing_templates/experiments/gpt-gnn__generative_pre-training_of_graph_neural_networks_experiments_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/experiments/gpt-gnn:_generative_pre-training_of_graph_neural_networks_experiments_template.txt rename to paper_agent/gnn/writing_templates/experiments/gpt-gnn__generative_pre-training_of_graph_neural_networks_experiments_template.txt diff --git a/paper_agent/gnn/writing_templates/experiments/graph_convolution_network_based_recommender_systems b/paper_agent/gnn/writing_templates/experiments/graph_convolution_network_based_recommender_systems new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/experiments/graph_convolution_network_based_recommender_systems:_learning_guarantee_and_item_mixture_powered_strategy_experiments_template.txt b/paper_agent/gnn/writing_templates/experiments/graph_convolution_network_based_recommender_systems__learning_guarantee_and_item_mixture_powered_strategy_experiments_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/experiments/graph_convolution_network_based_recommender_systems:_learning_guarantee_and_item_mixture_powered_strategy_experiments_template.txt rename to paper_agent/gnn/writing_templates/experiments/graph_convolution_network_based_recommender_systems__learning_guarantee_and_item_mixture_powered_strategy_experiments_template.txt diff --git a/paper_agent/gnn/writing_templates/experiments/graph_neural_networks b/paper_agent/gnn/writing_templates/experiments/graph_neural_networks new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/experiments/graph_neural_networks:_a_review_of_methods_and_applications_experiments_template.txt b/paper_agent/gnn/writing_templates/experiments/graph_neural_networks__a_review_of_methods_and_applications_experiments_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/experiments/graph_neural_networks:_a_review_of_methods_and_applications_experiments_template.txt rename to paper_agent/gnn/writing_templates/experiments/graph_neural_networks__a_review_of_methods_and_applications_experiments_template.txt diff --git a/paper_agent/gnn/writing_templates/experiments/how_neural_networks_extrapolate b/paper_agent/gnn/writing_templates/experiments/how_neural_networks_extrapolate new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/experiments/how_neural_networks_extrapolate:_from_feedforward_to_graph_neural_networks_experiments_template.txt b/paper_agent/gnn/writing_templates/experiments/how_neural_networks_extrapolate__from_feedforward_to_graph_neural_networks_experiments_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/experiments/how_neural_networks_extrapolate:_from_feedforward_to_graph_neural_networks_experiments_template.txt rename to paper_agent/gnn/writing_templates/experiments/how_neural_networks_extrapolate__from_feedforward_to_graph_neural_networks_experiments_template.txt diff --git a/paper_agent/gnn/writing_templates/experiments/how_powerful_are_graph_neural_networks?_experiments_template.txt b/paper_agent/gnn/writing_templates/experiments/how_powerful_are_graph_neural_networks?_experiments_template.txt deleted file mode 100644 index 1d25f19..0000000 --- a/paper_agent/gnn/writing_templates/experiments/how_powerful_are_graph_neural_networks?_experiments_template.txt +++ /dev/null @@ -1,27 +0,0 @@ -```latex -\section{Experiments} - -We evaluate and compare the [performance metric] of [model name] and [less powerful model variants]. Specifically, [explain the significance of the training and test performance metrics]. - -\subsection{Datasets} -We utilize [number] of [dataset type] benchmarks: [list of datasets]. Importantly, the aim of this evaluation is to [describe primary goal]. In the [first dataset type], the [data characteristics], while in the [second dataset type], the [data characteristics]. [A brief description of how features were constructed, if necessary]. Dataset statistics are summarized in Table [number], and additional details can be found in Appendix [X]. - -\subsection{Models and Configurations} -We evaluate [primary model type] and its variants. Under the [model framework], we consider [specific variants of the model]. [Describe the empirical performance comparison between different models]. For the [less powerful model types], we consider [specific architectures or methods]. In [any relevant figures or tables], models are labeled according to their configurations, specifically [explain the naming conventions]. We apply [describe how the readout is applied across different settings]. - -Following [previous works], we perform [procedure] and report [measurement] across the [data splits]. For all configurations, [describe layer settings and parameters]. [Specify any optimization strategies used, including details on hyper-parameter tuning]. - -\subsection{Baselines} -We compare the [model types] with a variety of state-of-the-art baselines for [task]. These include: (1) [baseline model 1]; (2) [baseline model 2]; (3) [additional baselines]. For [specific models], we report [the accuracy or performance measures] as indicated in the original studies. - -\subsection{Results} - -\subsubsection{Training Performance} -We validate our theoretical analysis of [hypothesis/model properties] by comparing their [performance metric]. Models with [specific properties] should exhibit [expected results]. [Describe any figures or results that exemplify these performances]. [Further discusses specific observations or implications]. - -\subsubsection{Test Performance} -Next, we compare [performance metric]. Although our theoretical results do not [specific theoretical point], it is reasonable to expect that [describe generalization expectations]. Table [number] compares the [performance metrics] of [models] with [other state-of-the-art models]. - -Initially, [summarize findings regarding the key models and dataset performance]. [Discuss notable trends, results, or insights]. In comparing [models or configurations], [state observations] reveal that [particular model] trends to outperform [comparison model], potentially because [explain possible reasons]. - -``` \ No newline at end of file diff --git a/paper_agent/gnn/writing_templates/experiments/predict_then_propagate b/paper_agent/gnn/writing_templates/experiments/predict_then_propagate new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/experiments/predict_then_propagate:_graph_neural_networks_meet_personalized_pagerank_experiments_template.txt b/paper_agent/gnn/writing_templates/experiments/predict_then_propagate__graph_neural_networks_meet_personalized_pagerank_experiments_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/experiments/predict_then_propagate:_graph_neural_networks_meet_personalized_pagerank_experiments_template.txt rename to paper_agent/gnn/writing_templates/experiments/predict_then_propagate__graph_neural_networks_meet_personalized_pagerank_experiments_template.txt diff --git a/paper_agent/gnn/writing_templates/introduction/bert b/paper_agent/gnn/writing_templates/introduction/bert new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/introduction/bert:_pre-training_of_deep_bidirectional_transformers_for_language_understanding_introduction_template.txt b/paper_agent/gnn/writing_templates/introduction/bert__pre-training_of_deep_bidirectional_transformers_for_language_understanding_introduction_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/introduction/bert:_pre-training_of_deep_bidirectional_transformers_for_language_understanding_introduction_template.txt rename to paper_agent/gnn/writing_templates/introduction/bert__pre-training_of_deep_bidirectional_transformers_for_language_understanding_introduction_template.txt diff --git a/paper_agent/gnn/writing_templates/introduction/big_bird b/paper_agent/gnn/writing_templates/introduction/big_bird new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/introduction/big_bird:_transformers_for_longer_sequences_introduction_template.txt b/paper_agent/gnn/writing_templates/introduction/big_bird__transformers_for_longer_sequences_introduction_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/introduction/big_bird:_transformers_for_longer_sequences_introduction_template.txt rename to paper_agent/gnn/writing_templates/introduction/big_bird__transformers_for_longer_sequences_introduction_template.txt diff --git a/paper_agent/gnn/writing_templates/introduction/gpt-gnn b/paper_agent/gnn/writing_templates/introduction/gpt-gnn new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/introduction/gpt-gnn:_generative_pre-training_of_graph_neural_networks_introduction_template.txt b/paper_agent/gnn/writing_templates/introduction/gpt-gnn__generative_pre-training_of_graph_neural_networks_introduction_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/introduction/gpt-gnn:_generative_pre-training_of_graph_neural_networks_introduction_template.txt rename to paper_agent/gnn/writing_templates/introduction/gpt-gnn__generative_pre-training_of_graph_neural_networks_introduction_template.txt diff --git a/paper_agent/gnn/writing_templates/introduction/graph_convolution_network_based_recommender_systems b/paper_agent/gnn/writing_templates/introduction/graph_convolution_network_based_recommender_systems new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/introduction/graph_convolution_network_based_recommender_systems:_learning_guarantee_and_item_mixture_powered_strategy_introduction_template.txt b/paper_agent/gnn/writing_templates/introduction/graph_convolution_network_based_recommender_systems__learning_guarantee_and_item_mixture_powered_strategy_introduction_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/introduction/graph_convolution_network_based_recommender_systems:_learning_guarantee_and_item_mixture_powered_strategy_introduction_template.txt rename to paper_agent/gnn/writing_templates/introduction/graph_convolution_network_based_recommender_systems__learning_guarantee_and_item_mixture_powered_strategy_introduction_template.txt diff --git a/paper_agent/gnn/writing_templates/introduction/graph_neural_networks b/paper_agent/gnn/writing_templates/introduction/graph_neural_networks new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/introduction/graph_neural_networks:_a_review_of_methods_and_applications_introduction_template.txt b/paper_agent/gnn/writing_templates/introduction/graph_neural_networks__a_review_of_methods_and_applications_introduction_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/introduction/graph_neural_networks:_a_review_of_methods_and_applications_introduction_template.txt rename to paper_agent/gnn/writing_templates/introduction/graph_neural_networks__a_review_of_methods_and_applications_introduction_template.txt diff --git a/paper_agent/gnn/writing_templates/introduction/how_neural_networks_extrapolate b/paper_agent/gnn/writing_templates/introduction/how_neural_networks_extrapolate new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/introduction/how_neural_networks_extrapolate:_from_feedforward_to_graph_neural_networks_introduction_template.txt b/paper_agent/gnn/writing_templates/introduction/how_neural_networks_extrapolate__from_feedforward_to_graph_neural_networks_introduction_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/introduction/how_neural_networks_extrapolate:_from_feedforward_to_graph_neural_networks_introduction_template.txt rename to paper_agent/gnn/writing_templates/introduction/how_neural_networks_extrapolate__from_feedforward_to_graph_neural_networks_introduction_template.txt diff --git a/paper_agent/gnn/writing_templates/introduction/how_powerful_are_graph_neural_networks?_introduction_template.txt b/paper_agent/gnn/writing_templates/introduction/how_powerful_are_graph_neural_networks?_introduction_template.txt deleted file mode 100644 index d4da4b6..0000000 --- a/paper_agent/gnn/writing_templates/introduction/how_powerful_are_graph_neural_networks?_introduction_template.txt +++ /dev/null @@ -1,18 +0,0 @@ -\section{Introduction} - -Learning with [data type], such as [examples], requires effective representation of their [specific structures]. Recently, there has been a surge of interest in [method/field/approach] for [task/goal] (cite relevant works). [Method/field] broadly follows a [description of approach], where each [entity/type] aggregates [data type] of its [local context] to compute its new [output type] (cite relevant works). After [number] iterations of aggregation, a [entity/type] is represented by its transformed [output type], which captures the [descriptive property] within the [entity/type]'s [context]. The representation of [larger entity] can then be obtained through [method] (cite relevant works). - -Many [method variants] with different [features] and [top-level operations] have been proposed (cite several relevant works). Empirically, these [method type] have achieved [description of performance] in many tasks such as [task 1], [task 2], and [task 3]. However, the design of new [method type] is mostly based on empirical intuition, heuristics, and experimental trial-and-error. There is little theoretical understanding of the properties and limitations of [method type], and formal analysis of [their capacities] is limited. - -Here, we present a theoretical framework for analyzing the [property/characteristic] of [method type]. We formally characterize how expressive different [method variants] are in [purpose of analysis]. Our framework is inspired by [previous work/technique], a powerful [test/analysis] known to [describe capability]. Similar to [method type], [previous work] iteratively updates a given [entity/type]'s [data type] by aggregating [data type] of its [local context]. What makes [previous work] so powerful is its [describe key feature]. Our key insight is that a [method type] can have as large [property] as [previous work] if the [method type]'s [operation] is [descriptive quality]. - -To mathematically formalize the above insight, our framework first represents the set of [data type] of a given [entity/type]'s [local context] as a [set type]. Then, the [aggregating operation] in [method type] can be thought of as an [operation type] over the [set type]. Hence, to have strong [property], a [method type] must be able to [action] different [set types] into different representations. We rigorously study several variants of [operation type] and theoretically characterize their [descriptive property], i.e., how well different [operation types] can distinguish different [set types]. The more discriminative the [operation type] is, the more powerful the [property] of the underlying [method type]. - -Our main results are summarized as follows: - -- 1) We show that [method type] are at most as powerful as [benchmark comparison]. -- 2) We establish conditions on the [feature] and [top-level operation] functions under which the resulting [method type] is as powerful as [benchmark comparison]. -- 3) We identify [specific cases] that cannot be distinguished by [previous method variants], and we precisely characterize the kinds of [cases] such [method type] can capture. -- 4) We develop a new [method/architecture], and show that its [property] is equal to the power of [benchmark comparison]. - -We validate our theory via experiments on [relevant datasets], where the [describe property] of [method type] is crucial to capture [specific structures]. In particular, we compare the performance of [method type] with various [operation types]. Our results confirm that the most powerful [method type] by our theory, i.e., [specific method type], also empirically has high [property] as it almost perfectly fits the [training context], whereas the less powerful [method variants] often severely underfit the [training context]. In addition, the [specific property] [method type] outperform the others by [criteria] and achieve [level of performance] on many [benchmark tasks]. \ No newline at end of file diff --git a/paper_agent/gnn/writing_templates/introduction/predict_then_propagate b/paper_agent/gnn/writing_templates/introduction/predict_then_propagate new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/introduction/predict_then_propagate:_graph_neural_networks_meet_personalized_pagerank_introduction_template.txt b/paper_agent/gnn/writing_templates/introduction/predict_then_propagate__graph_neural_networks_meet_personalized_pagerank_introduction_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/introduction/predict_then_propagate:_graph_neural_networks_meet_personalized_pagerank_introduction_template.txt rename to paper_agent/gnn/writing_templates/introduction/predict_then_propagate__graph_neural_networks_meet_personalized_pagerank_introduction_template.txt diff --git a/paper_agent/gnn/writing_templates/methodology/bert b/paper_agent/gnn/writing_templates/methodology/bert new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/methodology/bert:_pre-training_of_deep_bidirectional_transformers_for_language_understanding_methodology_template.txt b/paper_agent/gnn/writing_templates/methodology/bert__pre-training_of_deep_bidirectional_transformers_for_language_understanding_methodology_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/methodology/bert:_pre-training_of_deep_bidirectional_transformers_for_language_understanding_methodology_template.txt rename to paper_agent/gnn/writing_templates/methodology/bert__pre-training_of_deep_bidirectional_transformers_for_language_understanding_methodology_template.txt diff --git a/paper_agent/gnn/writing_templates/methodology/big_bird b/paper_agent/gnn/writing_templates/methodology/big_bird new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/methodology/big_bird:_transformers_for_longer_sequences_methodology_template.txt b/paper_agent/gnn/writing_templates/methodology/big_bird__transformers_for_longer_sequences_methodology_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/methodology/big_bird:_transformers_for_longer_sequences_methodology_template.txt rename to paper_agent/gnn/writing_templates/methodology/big_bird__transformers_for_longer_sequences_methodology_template.txt diff --git a/paper_agent/gnn/writing_templates/methodology/gpt-gnn b/paper_agent/gnn/writing_templates/methodology/gpt-gnn new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/methodology/gpt-gnn:_generative_pre-training_of_graph_neural_networks_methodology_template.txt b/paper_agent/gnn/writing_templates/methodology/gpt-gnn__generative_pre-training_of_graph_neural_networks_methodology_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/methodology/gpt-gnn:_generative_pre-training_of_graph_neural_networks_methodology_template.txt rename to paper_agent/gnn/writing_templates/methodology/gpt-gnn__generative_pre-training_of_graph_neural_networks_methodology_template.txt diff --git a/paper_agent/gnn/writing_templates/methodology/graph_convolution_network_based_recommender_systems b/paper_agent/gnn/writing_templates/methodology/graph_convolution_network_based_recommender_systems new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/methodology/graph_convolution_network_based_recommender_systems:_learning_guarantee_and_item_mixture_powered_strategy_methodology_template.txt b/paper_agent/gnn/writing_templates/methodology/graph_convolution_network_based_recommender_systems__learning_guarantee_and_item_mixture_powered_strategy_methodology_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/methodology/graph_convolution_network_based_recommender_systems:_learning_guarantee_and_item_mixture_powered_strategy_methodology_template.txt rename to paper_agent/gnn/writing_templates/methodology/graph_convolution_network_based_recommender_systems__learning_guarantee_and_item_mixture_powered_strategy_methodology_template.txt diff --git a/paper_agent/gnn/writing_templates/methodology/graph_neural_networks b/paper_agent/gnn/writing_templates/methodology/graph_neural_networks new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/methodology/graph_neural_networks:_a_review_of_methods_and_applications_methodology_template.txt b/paper_agent/gnn/writing_templates/methodology/graph_neural_networks__a_review_of_methods_and_applications_methodology_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/methodology/graph_neural_networks:_a_review_of_methods_and_applications_methodology_template.txt rename to paper_agent/gnn/writing_templates/methodology/graph_neural_networks__a_review_of_methods_and_applications_methodology_template.txt diff --git a/paper_agent/gnn/writing_templates/methodology/how_neural_networks_extrapolate b/paper_agent/gnn/writing_templates/methodology/how_neural_networks_extrapolate new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/methodology/how_neural_networks_extrapolate:_from_feedforward_to_graph_neural_networks_methodology_template.txt b/paper_agent/gnn/writing_templates/methodology/how_neural_networks_extrapolate__from_feedforward_to_graph_neural_networks_methodology_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/methodology/how_neural_networks_extrapolate:_from_feedforward_to_graph_neural_networks_methodology_template.txt rename to paper_agent/gnn/writing_templates/methodology/how_neural_networks_extrapolate__from_feedforward_to_graph_neural_networks_methodology_template.txt diff --git a/paper_agent/gnn/writing_templates/methodology/how_powerful_are_graph_neural_networks?_methodology_template.txt b/paper_agent/gnn/writing_templates/methodology/how_powerful_are_graph_neural_networks?_methodology_template.txt deleted file mode 100644 index 877ac1f..0000000 --- a/paper_agent/gnn/writing_templates/methodology/how_powerful_are_graph_neural_networks?_methodology_template.txt +++ /dev/null @@ -1,57 +0,0 @@ -\section{Building Powerful Graph Neural Networks} - -First, we characterize the [topic/field of research] related to [specific models or techniques]. Ideally, a [general idea or model] could [describe the ideal scenario or capability]. This ideal capability, however, implies solving [describe a significant challenge in the field]. That is, we want [describe the requirements or conditions]. In our analysis, we characterize the [main focus of analysis] via a slightly weaker criterion: [describe the weaker criterion or method], which is known to work well in general, with a few exceptions, e.g., [list exceptions]. - -\subsection{[Subsection Title]} - -\textbf{Lemma [Number].} Let [Definition of variables]. If [Condition 1] then [Conclusion based on the condition]. - -Proofs of all Lemmas and Theorems can be found in the Appendix. Hence, [explanation or conclusion from previous results]. A natural follow-up question is whether there exist [types of models] that are, in principle, [describe the properties]. Our answer, in Theorem [Number], is yes: if [conditions for models], then the resulting [model] is [describe its capabilities]. - -\textbf{Theorem [Number].} Let [Definition of model]. With a sufficient [context], [describe what model will do and under what conditions]. - -- a) [Condition/assumption related to the model]. - -- b) [Another condition/assumption related to the model]. - -We prove Theorem [Number] in the appendix. [Further explanation or conditions relating to the theorem]. In addition, it would be interesting to [discuss future work or unexplored aspects], and focus on the case where [describe a specific condition and its implications]. - -\textbf{Lemma [Number].} Assume [Condition]. Let [Definition of function] for [range]. [Describe the properties or conclusions based on this lemma]. - -Here, it is also worth discussing [additional insights related to the research area]. Note that [explain limitations of previous methods]. In contrast, [proposed method] generalizes [previous method] by [describe how]. - -\subsection{[Next Subsection Title]} - -Having developed [concept or method], we next develop [specific model/architecture] that provably satisfies the conditions in Theorem [Number]. This model [describe how it relates to previous work or models]. - -To model [specific function type], we [describe the approach taken]. Our next lemma states that [conclusions drawn from analysis]. - -\textbf{Lemma [Number].} Assume [Condition]. There exists a function [Definition] so that [Conclusion related to function]. Moreover, any function can [describe the relationship of the functions discussed]. - -We prove Lemma [Number] in the appendix. The proof [summarize findings]. An important distinction is that [explore the differences between key concepts]. With the mechanism for modeling [describe what has been built], we can conceive [describe new approaches]. - -\textbf{Corollary [Number].} Assume [Condition]. There exists a function [Definition/Coverage] so that [Conditions and relationships]. Moreover, any function can [describe the flexibility and decomposability]. - -We can use [specific modeling techniques] to [describe what is modeled]. [Explain practical implications]. Then, [describe the update mechanism or process used]. - -\begin{equation} -h^{(k)}_{v} = [mathematical expression]. -\end{equation} - -Generally, there may exist [brief mention of a variety of related approaches]. [Model name] is one such example among [number or types of models], while being [contrast with others]. - -\subsection{[Next Subsection Title]} - -[Describe the application or impact of the model]. [Discuss an important aspect of the technique/model]. [Establish the importance of sufficient conditions or iterations]. - -To consider [discuss all relevant aspects/events], we use [mechanism or approach]. We achieve this by [describe the intended architecture]. - -\begin{equation} -h_{G} = [mathematical expression]. -\end{equation} - -By Theorem [Number], [conclusion about the impact of changes made]. - -\section{[Next Section Title]} - -Next, we study [describe what will be analyzed], including [list specific models or techniques]. We conduct [describe the methodology used, such as comparisons or experiments]. We will see that [summarize preliminary findings or expected results]. Nonetheless, [contrast with expected outcomes or alternative interpretations]. To better understand this, we [explain the next steps in analysis]. \ No newline at end of file diff --git a/paper_agent/gnn/writing_templates/methodology/predict_then_propagate b/paper_agent/gnn/writing_templates/methodology/predict_then_propagate new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/methodology/predict_then_propagate:_graph_neural_networks_meet_personalized_pagerank_methodology_template.txt b/paper_agent/gnn/writing_templates/methodology/predict_then_propagate__graph_neural_networks_meet_personalized_pagerank_methodology_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/methodology/predict_then_propagate:_graph_neural_networks_meet_personalized_pagerank_methodology_template.txt rename to paper_agent/gnn/writing_templates/methodology/predict_then_propagate__graph_neural_networks_meet_personalized_pagerank_methodology_template.txt diff --git a/paper_agent/gnn/writing_templates/preliminaries/bert b/paper_agent/gnn/writing_templates/preliminaries/bert new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/preliminaries/bert:_pre-training_of_deep_bidirectional_transformers_for_language_understanding_preliminaries_template.txt b/paper_agent/gnn/writing_templates/preliminaries/bert__pre-training_of_deep_bidirectional_transformers_for_language_understanding_preliminaries_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/preliminaries/bert:_pre-training_of_deep_bidirectional_transformers_for_language_understanding_preliminaries_template.txt rename to paper_agent/gnn/writing_templates/preliminaries/bert__pre-training_of_deep_bidirectional_transformers_for_language_understanding_preliminaries_template.txt diff --git a/paper_agent/gnn/writing_templates/preliminaries/big_bird b/paper_agent/gnn/writing_templates/preliminaries/big_bird new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/preliminaries/big_bird:_transformers_for_longer_sequences_preliminaries_template.txt b/paper_agent/gnn/writing_templates/preliminaries/big_bird__transformers_for_longer_sequences_preliminaries_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/preliminaries/big_bird:_transformers_for_longer_sequences_preliminaries_template.txt rename to paper_agent/gnn/writing_templates/preliminaries/big_bird__transformers_for_longer_sequences_preliminaries_template.txt diff --git a/paper_agent/gnn/writing_templates/preliminaries/gpt-gnn b/paper_agent/gnn/writing_templates/preliminaries/gpt-gnn new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/preliminaries/gpt-gnn:_generative_pre-training_of_graph_neural_networks_preliminaries_template.txt b/paper_agent/gnn/writing_templates/preliminaries/gpt-gnn__generative_pre-training_of_graph_neural_networks_preliminaries_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/preliminaries/gpt-gnn:_generative_pre-training_of_graph_neural_networks_preliminaries_template.txt rename to paper_agent/gnn/writing_templates/preliminaries/gpt-gnn__generative_pre-training_of_graph_neural_networks_preliminaries_template.txt diff --git a/paper_agent/gnn/writing_templates/preliminaries/graph_convolution_network_based_recommender_systems b/paper_agent/gnn/writing_templates/preliminaries/graph_convolution_network_based_recommender_systems new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/preliminaries/graph_convolution_network_based_recommender_systems:_learning_guarantee_and_item_mixture_powered_strategy_preliminaries_template.txt b/paper_agent/gnn/writing_templates/preliminaries/graph_convolution_network_based_recommender_systems__learning_guarantee_and_item_mixture_powered_strategy_preliminaries_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/preliminaries/graph_convolution_network_based_recommender_systems:_learning_guarantee_and_item_mixture_powered_strategy_preliminaries_template.txt rename to paper_agent/gnn/writing_templates/preliminaries/graph_convolution_network_based_recommender_systems__learning_guarantee_and_item_mixture_powered_strategy_preliminaries_template.txt diff --git a/paper_agent/gnn/writing_templates/preliminaries/graph_neural_networks b/paper_agent/gnn/writing_templates/preliminaries/graph_neural_networks new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/preliminaries/graph_neural_networks:_a_review_of_methods_and_applications_preliminaries_template.txt b/paper_agent/gnn/writing_templates/preliminaries/graph_neural_networks__a_review_of_methods_and_applications_preliminaries_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/preliminaries/graph_neural_networks:_a_review_of_methods_and_applications_preliminaries_template.txt rename to paper_agent/gnn/writing_templates/preliminaries/graph_neural_networks__a_review_of_methods_and_applications_preliminaries_template.txt diff --git a/paper_agent/gnn/writing_templates/preliminaries/how_neural_networks_extrapolate b/paper_agent/gnn/writing_templates/preliminaries/how_neural_networks_extrapolate new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/preliminaries/how_neural_networks_extrapolate:_from_feedforward_to_graph_neural_networks_preliminaries_template.txt b/paper_agent/gnn/writing_templates/preliminaries/how_neural_networks_extrapolate__from_feedforward_to_graph_neural_networks_preliminaries_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/preliminaries/how_neural_networks_extrapolate:_from_feedforward_to_graph_neural_networks_preliminaries_template.txt rename to paper_agent/gnn/writing_templates/preliminaries/how_neural_networks_extrapolate__from_feedforward_to_graph_neural_networks_preliminaries_template.txt diff --git a/paper_agent/gnn/writing_templates/preliminaries/how_powerful_are_graph_neural_networks?_preliminaries_template.txt b/paper_agent/gnn/writing_templates/preliminaries/how_powerful_are_graph_neural_networks?_preliminaries_template.txt deleted file mode 100644 index d47b989..0000000 --- a/paper_agent/gnn/writing_templates/preliminaries/how_powerful_are_graph_neural_networks?_preliminaries_template.txt +++ /dev/null @@ -1,37 +0,0 @@ -\section{Preliminaries} - -We begin by summarizing [insert common models/techniques] and introduce our notation. Let [insert notation for the main variables] denote a [describe the structure, e.g., graph, dataset]. There are two tasks of interest: (1) [Task 1 description], where [insert definition of task 1]; (2) [Task 2 description], where [insert definition of task 2]. - -\subsection{[Title of the Technical Section]} - -[Multiple sentences explaining the motivation and intuition behind the proposed method.] - -[Describe the detailed workflow of the module, including key concepts and methods.] - -Formally, we define [concept] as follows: - -\begin{equation} -[Insert mathematical formulation] -\end{equation} - -where [insert explanation of each term in the equation]. - -[Another paragraph discussing different architectures, techniques, or methods relevant to [insert topic or focus]. For instance, various [insert related works] have been proposed. In particular, we look at [insert specific examples or discussions].] - -For [task or application], [insert description of result or application]. [Further explain the implications or significance of the method.] - -\subsection{[Title of Another Relevant Section]} - -[Summarize the relevant theory or background necessary for understanding the context of the research.] - -[Several sentences comparing the proposed method with existing approaches, highlighting strengths and weaknesses.] - -The [insert relevant concept or theory] is [insert definition or explanation]. This [insert description of how it relates to the main research question]. [Insert references to key works or theories that support your statements.] - -Based on [insert relevant theory or work], [describe any new concepts, methods, or techniques introduced]. For example, [insert explanation of how the new concept builds on previous work, including any mathematical formulations if applicable]: - -\begin{equation} -[Insert mathematical formulation relevant to the new concept] -\end{equation} - -To conclude, [insert a summary of the key takeaways or implications of the discussed content and how it will lead to your contributions or experiments in the following sections]. \ No newline at end of file diff --git a/paper_agent/gnn/writing_templates/preliminaries/predict_then_propagate b/paper_agent/gnn/writing_templates/preliminaries/predict_then_propagate new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/preliminaries/predict_then_propagate:_graph_neural_networks_meet_personalized_pagerank_preliminaries_template.txt b/paper_agent/gnn/writing_templates/preliminaries/predict_then_propagate__graph_neural_networks_meet_personalized_pagerank_preliminaries_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/preliminaries/predict_then_propagate:_graph_neural_networks_meet_personalized_pagerank_preliminaries_template.txt rename to paper_agent/gnn/writing_templates/preliminaries/predict_then_propagate__graph_neural_networks_meet_personalized_pagerank_preliminaries_template.txt diff --git a/paper_agent/gnn/writing_templates/related_work/bert b/paper_agent/gnn/writing_templates/related_work/bert new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/related_work/bert:_pre-training_of_deep_bidirectional_transformers_for_language_understanding_related_work_template.txt b/paper_agent/gnn/writing_templates/related_work/bert__pre-training_of_deep_bidirectional_transformers_for_language_understanding_related_work_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/related_work/bert:_pre-training_of_deep_bidirectional_transformers_for_language_understanding_related_work_template.txt rename to paper_agent/gnn/writing_templates/related_work/bert__pre-training_of_deep_bidirectional_transformers_for_language_understanding_related_work_template.txt diff --git a/paper_agent/gnn/writing_templates/related_work/big_bird b/paper_agent/gnn/writing_templates/related_work/big_bird new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/related_work/big_bird:_transformers_for_longer_sequences_related_work_template.txt b/paper_agent/gnn/writing_templates/related_work/big_bird__transformers_for_longer_sequences_related_work_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/related_work/big_bird:_transformers_for_longer_sequences_related_work_template.txt rename to paper_agent/gnn/writing_templates/related_work/big_bird__transformers_for_longer_sequences_related_work_template.txt diff --git a/paper_agent/gnn/writing_templates/related_work/gpt-gnn b/paper_agent/gnn/writing_templates/related_work/gpt-gnn new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/related_work/gpt-gnn:_generative_pre-training_of_graph_neural_networks_related_work_template.txt b/paper_agent/gnn/writing_templates/related_work/gpt-gnn__generative_pre-training_of_graph_neural_networks_related_work_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/related_work/gpt-gnn:_generative_pre-training_of_graph_neural_networks_related_work_template.txt rename to paper_agent/gnn/writing_templates/related_work/gpt-gnn__generative_pre-training_of_graph_neural_networks_related_work_template.txt diff --git a/paper_agent/gnn/writing_templates/related_work/graph_convolution_network_based_recommender_systems b/paper_agent/gnn/writing_templates/related_work/graph_convolution_network_based_recommender_systems new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/related_work/graph_convolution_network_based_recommender_systems:_learning_guarantee_and_item_mixture_powered_strategy_related_work_template.txt b/paper_agent/gnn/writing_templates/related_work/graph_convolution_network_based_recommender_systems__learning_guarantee_and_item_mixture_powered_strategy_related_work_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/related_work/graph_convolution_network_based_recommender_systems:_learning_guarantee_and_item_mixture_powered_strategy_related_work_template.txt rename to paper_agent/gnn/writing_templates/related_work/graph_convolution_network_based_recommender_systems__learning_guarantee_and_item_mixture_powered_strategy_related_work_template.txt diff --git a/paper_agent/gnn/writing_templates/related_work/graph_neural_networks b/paper_agent/gnn/writing_templates/related_work/graph_neural_networks new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/related_work/graph_neural_networks:_a_review_of_methods_and_applications_related_work_template.txt b/paper_agent/gnn/writing_templates/related_work/graph_neural_networks__a_review_of_methods_and_applications_related_work_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/related_work/graph_neural_networks:_a_review_of_methods_and_applications_related_work_template.txt rename to paper_agent/gnn/writing_templates/related_work/graph_neural_networks__a_review_of_methods_and_applications_related_work_template.txt diff --git a/paper_agent/gnn/writing_templates/related_work/how_neural_networks_extrapolate b/paper_agent/gnn/writing_templates/related_work/how_neural_networks_extrapolate new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/related_work/how_neural_networks_extrapolate:_from_feedforward_to_graph_neural_networks_related_work_template.txt b/paper_agent/gnn/writing_templates/related_work/how_neural_networks_extrapolate__from_feedforward_to_graph_neural_networks_related_work_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/related_work/how_neural_networks_extrapolate:_from_feedforward_to_graph_neural_networks_related_work_template.txt rename to paper_agent/gnn/writing_templates/related_work/how_neural_networks_extrapolate__from_feedforward_to_graph_neural_networks_related_work_template.txt diff --git a/paper_agent/gnn/writing_templates/related_work/how_powerful_are_graph_neural_networks?_related_work_template.txt b/paper_agent/gnn/writing_templates/related_work/how_powerful_are_graph_neural_networks?_related_work_template.txt deleted file mode 100644 index 1f6ae28..0000000 --- a/paper_agent/gnn/writing_templates/related_work/how_powerful_are_graph_neural_networks?_related_work_template.txt +++ /dev/null @@ -1,11 +0,0 @@ -```latex -\section{Related Work} - -Despite the progress in [specific field or technique], there has been relatively little work that [describe gaps or limitations in existing research]. An exception to this is the work of [Author(s), Year] who [briefly describe significant contributions or findings]. [Further references or examples] [explain what they studied or achieved], but [state limitations or missing aspects they did not address]. - -In contrast, our results contribute to [state what your work addresses], providing a [describe type of framework or approach] for [explain broader implications]. Recently, various [related methods or architectures] have been proposed, such as [list notable works or techniques], most of which lack [describe a particular theoretical aspect or evaluation]. - -Specifically, our [proposed method or framework], [name of approach], is [describe its motivation and significance], [state unique characteristics that differentiate it from existing approaches]. - -To summarize, [provide a brief comparison of your work with existing research], emphasizing [highlight key advantages or contributions of your proposed method]. -``` \ No newline at end of file diff --git a/paper_agent/gnn/writing_templates/related_work/predict_then_propagate b/paper_agent/gnn/writing_templates/related_work/predict_then_propagate new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/gnn/writing_templates/related_work/predict_then_propagate:_graph_neural_networks_meet_personalized_pagerank_related_work_template.txt b/paper_agent/gnn/writing_templates/related_work/predict_then_propagate__graph_neural_networks_meet_personalized_pagerank_related_work_template.txt similarity index 100% rename from paper_agent/gnn/writing_templates/related_work/predict_then_propagate:_graph_neural_networks_meet_personalized_pagerank_related_work_template.txt rename to paper_agent/gnn/writing_templates/related_work/predict_then_propagate__graph_neural_networks_meet_personalized_pagerank_related_work_template.txt diff --git a/paper_agent/rec/writing_templates/abstract/bert4rec b/paper_agent/rec/writing_templates/abstract/bert4rec new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/abstract/bert4rec:_sequential_recommendation_with_bidirectional_encoder_representations_from_transformer_abstract_template.txt b/paper_agent/rec/writing_templates/abstract/bert4rec__sequential_recommendation_with_bidirectional_encoder_representations_from_transformer_abstract_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/abstract/bert4rec:_sequential_recommendation_with_bidirectional_encoder_representations_from_transformer_abstract_template.txt rename to paper_agent/rec/writing_templates/abstract/bert4rec__sequential_recommendation_with_bidirectional_encoder_representations_from_transformer_abstract_template.txt diff --git a/paper_agent/rec/writing_templates/abstract/bpr b/paper_agent/rec/writing_templates/abstract/bpr new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/abstract/bpr:_bayesian_personalized_ranking_from_implicit_feedback_abstract_template.txt b/paper_agent/rec/writing_templates/abstract/bpr__bayesian_personalized_ranking_from_implicit_feedback_abstract_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/abstract/bpr:_bayesian_personalized_ranking_from_implicit_feedback_abstract_template.txt rename to paper_agent/rec/writing_templates/abstract/bpr__bayesian_personalized_ranking_from_implicit_feedback_abstract_template.txt diff --git a/paper_agent/rec/writing_templates/abstract/catgcn b/paper_agent/rec/writing_templates/abstract/catgcn new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/abstract/catgcn:_graph_convolutional_networks_with_categorical_node_features_abstract_template.txt b/paper_agent/rec/writing_templates/abstract/catgcn__graph_convolutional_networks_with_categorical_node_features_abstract_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/abstract/catgcn:_graph_convolutional_networks_with_categorical_node_features_abstract_template.txt rename to paper_agent/rec/writing_templates/abstract/catgcn__graph_convolutional_networks_with_categorical_node_features_abstract_template.txt diff --git a/paper_agent/rec/writing_templates/abstract/graphmae b/paper_agent/rec/writing_templates/abstract/graphmae new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/abstract/graphmae:_self-supervised_masked_graph_autoencoders_abstract_template.txt b/paper_agent/rec/writing_templates/abstract/graphmae__self-supervised_masked_graph_autoencoders_abstract_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/abstract/graphmae:_self-supervised_masked_graph_autoencoders_abstract_template.txt rename to paper_agent/rec/writing_templates/abstract/graphmae__self-supervised_masked_graph_autoencoders_abstract_template.txt diff --git a/paper_agent/rec/writing_templates/abstract/kgat b/paper_agent/rec/writing_templates/abstract/kgat new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/abstract/kgat:_knowledge_graph_attention_network_for_recommendation_abstract_template.txt b/paper_agent/rec/writing_templates/abstract/kgat__knowledge_graph_attention_network_for_recommendation_abstract_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/abstract/kgat:_knowledge_graph_attention_network_for_recommendation_abstract_template.txt rename to paper_agent/rec/writing_templates/abstract/kgat__knowledge_graph_attention_network_for_recommendation_abstract_template.txt diff --git a/paper_agent/rec/writing_templates/abstract/lightgcl b/paper_agent/rec/writing_templates/abstract/lightgcl new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/abstract/lightgcl:_simple_yet_effective_graph_contrastive_learning_for_recommendation_abstract_template.txt b/paper_agent/rec/writing_templates/abstract/lightgcl__simple_yet_effective_graph_contrastive_learning_for_recommendation_abstract_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/abstract/lightgcl:_simple_yet_effective_graph_contrastive_learning_for_recommendation_abstract_template.txt rename to paper_agent/rec/writing_templates/abstract/lightgcl__simple_yet_effective_graph_contrastive_learning_for_recommendation_abstract_template.txt diff --git a/paper_agent/rec/writing_templates/abstract/lightgcn b/paper_agent/rec/writing_templates/abstract/lightgcn new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/abstract/lightgcn:_simplifying_and_powering_graph_convolution_network_for_recommendation_abstract_template.txt b/paper_agent/rec/writing_templates/abstract/lightgcn__simplifying_and_powering_graph_convolution_network_for_recommendation_abstract_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/abstract/lightgcn:_simplifying_and_powering_graph_convolution_network_for_recommendation_abstract_template.txt rename to paper_agent/rec/writing_templates/abstract/lightgcn__simplifying_and_powering_graph_convolution_network_for_recommendation_abstract_template.txt diff --git a/paper_agent/rec/writing_templates/abstract/research_commentary_on_recommendations_with_side_information b/paper_agent/rec/writing_templates/abstract/research_commentary_on_recommendations_with_side_information new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/abstract/research_commentary_on_recommendations_with_side_information:_a_survey_and_research_directions_abstract_template.txt b/paper_agent/rec/writing_templates/abstract/research_commentary_on_recommendations_with_side_information__a_survey_and_research_directions_abstract_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/abstract/research_commentary_on_recommendations_with_side_information:_a_survey_and_research_directions_abstract_template.txt rename to paper_agent/rec/writing_templates/abstract/research_commentary_on_recommendations_with_side_information__a_survey_and_research_directions_abstract_template.txt diff --git a/paper_agent/rec/writing_templates/abstract/revisiting_graph_based_collaborative_filtering b/paper_agent/rec/writing_templates/abstract/revisiting_graph_based_collaborative_filtering new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/abstract/revisiting_graph_based_collaborative_filtering:_a_linear_residual_graph_convolutional_network_approach_abstract_template.txt b/paper_agent/rec/writing_templates/abstract/revisiting_graph_based_collaborative_filtering__a_linear_residual_graph_convolutional_network_approach_abstract_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/abstract/revisiting_graph_based_collaborative_filtering:_a_linear_residual_graph_convolutional_network_approach_abstract_template.txt rename to paper_agent/rec/writing_templates/abstract/revisiting_graph_based_collaborative_filtering__a_linear_residual_graph_convolutional_network_approach_abstract_template.txt diff --git a/paper_agent/rec/writing_templates/abstract/unifying_knowledge_graph_learning_and_recommendation b/paper_agent/rec/writing_templates/abstract/unifying_knowledge_graph_learning_and_recommendation new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/abstract/unifying_knowledge_graph_learning_and_recommendation:_towards_a_better_understanding_of_user_preferences_abstract_template.txt b/paper_agent/rec/writing_templates/abstract/unifying_knowledge_graph_learning_and_recommendation__towards_a_better_understanding_of_user_preferences_abstract_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/abstract/unifying_knowledge_graph_learning_and_recommendation:_towards_a_better_understanding_of_user_preferences_abstract_template.txt rename to paper_agent/rec/writing_templates/abstract/unifying_knowledge_graph_learning_and_recommendation__towards_a_better_understanding_of_user_preferences_abstract_template.txt diff --git a/paper_agent/rec/writing_templates/conclusion/bert4rec b/paper_agent/rec/writing_templates/conclusion/bert4rec new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/conclusion/bert4rec:_sequential_recommendation_with_bidirectional_encoder_representations_from_transformer_conclusion_template.txt b/paper_agent/rec/writing_templates/conclusion/bert4rec__sequential_recommendation_with_bidirectional_encoder_representations_from_transformer_conclusion_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/conclusion/bert4rec:_sequential_recommendation_with_bidirectional_encoder_representations_from_transformer_conclusion_template.txt rename to paper_agent/rec/writing_templates/conclusion/bert4rec__sequential_recommendation_with_bidirectional_encoder_representations_from_transformer_conclusion_template.txt diff --git a/paper_agent/rec/writing_templates/conclusion/bpr b/paper_agent/rec/writing_templates/conclusion/bpr new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/conclusion/bpr:_bayesian_personalized_ranking_from_implicit_feedback_conclusion_template.txt b/paper_agent/rec/writing_templates/conclusion/bpr__bayesian_personalized_ranking_from_implicit_feedback_conclusion_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/conclusion/bpr:_bayesian_personalized_ranking_from_implicit_feedback_conclusion_template.txt rename to paper_agent/rec/writing_templates/conclusion/bpr__bayesian_personalized_ranking_from_implicit_feedback_conclusion_template.txt diff --git a/paper_agent/rec/writing_templates/conclusion/catgcn b/paper_agent/rec/writing_templates/conclusion/catgcn new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/conclusion/catgcn:_graph_convolutional_networks_with_categorical_node_features_conclusion_template.txt b/paper_agent/rec/writing_templates/conclusion/catgcn__graph_convolutional_networks_with_categorical_node_features_conclusion_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/conclusion/catgcn:_graph_convolutional_networks_with_categorical_node_features_conclusion_template.txt rename to paper_agent/rec/writing_templates/conclusion/catgcn__graph_convolutional_networks_with_categorical_node_features_conclusion_template.txt diff --git a/paper_agent/rec/writing_templates/conclusion/graphmae b/paper_agent/rec/writing_templates/conclusion/graphmae new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/conclusion/graphmae:_self-supervised_masked_graph_autoencoders_conclusion_template.txt b/paper_agent/rec/writing_templates/conclusion/graphmae__self-supervised_masked_graph_autoencoders_conclusion_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/conclusion/graphmae:_self-supervised_masked_graph_autoencoders_conclusion_template.txt rename to paper_agent/rec/writing_templates/conclusion/graphmae__self-supervised_masked_graph_autoencoders_conclusion_template.txt diff --git a/paper_agent/rec/writing_templates/conclusion/kgat b/paper_agent/rec/writing_templates/conclusion/kgat new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/conclusion/kgat:_knowledge_graph_attention_network_for_recommendation_conclusion_template.txt b/paper_agent/rec/writing_templates/conclusion/kgat__knowledge_graph_attention_network_for_recommendation_conclusion_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/conclusion/kgat:_knowledge_graph_attention_network_for_recommendation_conclusion_template.txt rename to paper_agent/rec/writing_templates/conclusion/kgat__knowledge_graph_attention_network_for_recommendation_conclusion_template.txt diff --git a/paper_agent/rec/writing_templates/conclusion/lightgcl b/paper_agent/rec/writing_templates/conclusion/lightgcl new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/conclusion/lightgcl:_simple_yet_effective_graph_contrastive_learning_for_recommendation_conclusion_template.txt b/paper_agent/rec/writing_templates/conclusion/lightgcl__simple_yet_effective_graph_contrastive_learning_for_recommendation_conclusion_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/conclusion/lightgcl:_simple_yet_effective_graph_contrastive_learning_for_recommendation_conclusion_template.txt rename to paper_agent/rec/writing_templates/conclusion/lightgcl__simple_yet_effective_graph_contrastive_learning_for_recommendation_conclusion_template.txt diff --git a/paper_agent/rec/writing_templates/conclusion/lightgcn b/paper_agent/rec/writing_templates/conclusion/lightgcn new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/conclusion/lightgcn:_simplifying_and_powering_graph_convolution_network_for_recommendation_conclusion_template.txt b/paper_agent/rec/writing_templates/conclusion/lightgcn__simplifying_and_powering_graph_convolution_network_for_recommendation_conclusion_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/conclusion/lightgcn:_simplifying_and_powering_graph_convolution_network_for_recommendation_conclusion_template.txt rename to paper_agent/rec/writing_templates/conclusion/lightgcn__simplifying_and_powering_graph_convolution_network_for_recommendation_conclusion_template.txt diff --git a/paper_agent/rec/writing_templates/conclusion/research_commentary_on_recommendations_with_side_information b/paper_agent/rec/writing_templates/conclusion/research_commentary_on_recommendations_with_side_information new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/conclusion/research_commentary_on_recommendations_with_side_information:_a_survey_and_research_directions_conclusion_template.txt b/paper_agent/rec/writing_templates/conclusion/research_commentary_on_recommendations_with_side_information__a_survey_and_research_directions_conclusion_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/conclusion/research_commentary_on_recommendations_with_side_information:_a_survey_and_research_directions_conclusion_template.txt rename to paper_agent/rec/writing_templates/conclusion/research_commentary_on_recommendations_with_side_information__a_survey_and_research_directions_conclusion_template.txt diff --git a/paper_agent/rec/writing_templates/conclusion/revisiting_graph_based_collaborative_filtering b/paper_agent/rec/writing_templates/conclusion/revisiting_graph_based_collaborative_filtering new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/conclusion/revisiting_graph_based_collaborative_filtering:_a_linear_residual_graph_convolutional_network_approach_conclusion_template.txt b/paper_agent/rec/writing_templates/conclusion/revisiting_graph_based_collaborative_filtering__a_linear_residual_graph_convolutional_network_approach_conclusion_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/conclusion/revisiting_graph_based_collaborative_filtering:_a_linear_residual_graph_convolutional_network_approach_conclusion_template.txt rename to paper_agent/rec/writing_templates/conclusion/revisiting_graph_based_collaborative_filtering__a_linear_residual_graph_convolutional_network_approach_conclusion_template.txt diff --git a/paper_agent/rec/writing_templates/conclusion/unifying_knowledge_graph_learning_and_recommendation b/paper_agent/rec/writing_templates/conclusion/unifying_knowledge_graph_learning_and_recommendation new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/conclusion/unifying_knowledge_graph_learning_and_recommendation:_towards_a_better_understanding_of_user_preferences_conclusion_template.txt b/paper_agent/rec/writing_templates/conclusion/unifying_knowledge_graph_learning_and_recommendation__towards_a_better_understanding_of_user_preferences_conclusion_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/conclusion/unifying_knowledge_graph_learning_and_recommendation:_towards_a_better_understanding_of_user_preferences_conclusion_template.txt rename to paper_agent/rec/writing_templates/conclusion/unifying_knowledge_graph_learning_and_recommendation__towards_a_better_understanding_of_user_preferences_conclusion_template.txt diff --git a/paper_agent/rec/writing_templates/experiments/bert4rec b/paper_agent/rec/writing_templates/experiments/bert4rec new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/experiments/bert4rec:_sequential_recommendation_with_bidirectional_encoder_representations_from_transformer_experiments_template.txt b/paper_agent/rec/writing_templates/experiments/bert4rec__sequential_recommendation_with_bidirectional_encoder_representations_from_transformer_experiments_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/experiments/bert4rec:_sequential_recommendation_with_bidirectional_encoder_representations_from_transformer_experiments_template.txt rename to paper_agent/rec/writing_templates/experiments/bert4rec__sequential_recommendation_with_bidirectional_encoder_representations_from_transformer_experiments_template.txt diff --git a/paper_agent/rec/writing_templates/experiments/bpr b/paper_agent/rec/writing_templates/experiments/bpr new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/experiments/bpr:_bayesian_personalized_ranking_from_implicit_feedback_experiments_template.txt b/paper_agent/rec/writing_templates/experiments/bpr__bayesian_personalized_ranking_from_implicit_feedback_experiments_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/experiments/bpr:_bayesian_personalized_ranking_from_implicit_feedback_experiments_template.txt rename to paper_agent/rec/writing_templates/experiments/bpr__bayesian_personalized_ranking_from_implicit_feedback_experiments_template.txt diff --git a/paper_agent/rec/writing_templates/experiments/catgcn b/paper_agent/rec/writing_templates/experiments/catgcn new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/experiments/catgcn:_graph_convolutional_networks_with_categorical_node_features_experiments_template.txt b/paper_agent/rec/writing_templates/experiments/catgcn__graph_convolutional_networks_with_categorical_node_features_experiments_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/experiments/catgcn:_graph_convolutional_networks_with_categorical_node_features_experiments_template.txt rename to paper_agent/rec/writing_templates/experiments/catgcn__graph_convolutional_networks_with_categorical_node_features_experiments_template.txt diff --git a/paper_agent/rec/writing_templates/experiments/graphmae b/paper_agent/rec/writing_templates/experiments/graphmae new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/experiments/graphmae:_self-supervised_masked_graph_autoencoders_experiments_template.txt b/paper_agent/rec/writing_templates/experiments/graphmae__self-supervised_masked_graph_autoencoders_experiments_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/experiments/graphmae:_self-supervised_masked_graph_autoencoders_experiments_template.txt rename to paper_agent/rec/writing_templates/experiments/graphmae__self-supervised_masked_graph_autoencoders_experiments_template.txt diff --git a/paper_agent/rec/writing_templates/experiments/kgat b/paper_agent/rec/writing_templates/experiments/kgat new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/experiments/kgat:_knowledge_graph_attention_network_for_recommendation_experiments_template.txt b/paper_agent/rec/writing_templates/experiments/kgat__knowledge_graph_attention_network_for_recommendation_experiments_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/experiments/kgat:_knowledge_graph_attention_network_for_recommendation_experiments_template.txt rename to paper_agent/rec/writing_templates/experiments/kgat__knowledge_graph_attention_network_for_recommendation_experiments_template.txt diff --git a/paper_agent/rec/writing_templates/experiments/lightgcl b/paper_agent/rec/writing_templates/experiments/lightgcl new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/experiments/lightgcl:_simple_yet_effective_graph_contrastive_learning_for_recommendation_experiments_template.txt b/paper_agent/rec/writing_templates/experiments/lightgcl__simple_yet_effective_graph_contrastive_learning_for_recommendation_experiments_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/experiments/lightgcl:_simple_yet_effective_graph_contrastive_learning_for_recommendation_experiments_template.txt rename to paper_agent/rec/writing_templates/experiments/lightgcl__simple_yet_effective_graph_contrastive_learning_for_recommendation_experiments_template.txt diff --git a/paper_agent/rec/writing_templates/experiments/lightgcn b/paper_agent/rec/writing_templates/experiments/lightgcn new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/experiments/lightgcn:_simplifying_and_powering_graph_convolution_network_for_recommendation_experiments_template.txt b/paper_agent/rec/writing_templates/experiments/lightgcn__simplifying_and_powering_graph_convolution_network_for_recommendation_experiments_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/experiments/lightgcn:_simplifying_and_powering_graph_convolution_network_for_recommendation_experiments_template.txt rename to paper_agent/rec/writing_templates/experiments/lightgcn__simplifying_and_powering_graph_convolution_network_for_recommendation_experiments_template.txt diff --git a/paper_agent/rec/writing_templates/experiments/research_commentary_on_recommendations_with_side_information b/paper_agent/rec/writing_templates/experiments/research_commentary_on_recommendations_with_side_information new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/experiments/research_commentary_on_recommendations_with_side_information:_a_survey_and_research_directions_experiments_template.txt b/paper_agent/rec/writing_templates/experiments/research_commentary_on_recommendations_with_side_information__a_survey_and_research_directions_experiments_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/experiments/research_commentary_on_recommendations_with_side_information:_a_survey_and_research_directions_experiments_template.txt rename to paper_agent/rec/writing_templates/experiments/research_commentary_on_recommendations_with_side_information__a_survey_and_research_directions_experiments_template.txt diff --git a/paper_agent/rec/writing_templates/experiments/revisiting_graph_based_collaborative_filtering b/paper_agent/rec/writing_templates/experiments/revisiting_graph_based_collaborative_filtering new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/experiments/revisiting_graph_based_collaborative_filtering:_a_linear_residual_graph_convolutional_network_approach_experiments_template.txt b/paper_agent/rec/writing_templates/experiments/revisiting_graph_based_collaborative_filtering__a_linear_residual_graph_convolutional_network_approach_experiments_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/experiments/revisiting_graph_based_collaborative_filtering:_a_linear_residual_graph_convolutional_network_approach_experiments_template.txt rename to paper_agent/rec/writing_templates/experiments/revisiting_graph_based_collaborative_filtering__a_linear_residual_graph_convolutional_network_approach_experiments_template.txt diff --git a/paper_agent/rec/writing_templates/experiments/unifying_knowledge_graph_learning_and_recommendation b/paper_agent/rec/writing_templates/experiments/unifying_knowledge_graph_learning_and_recommendation new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/experiments/unifying_knowledge_graph_learning_and_recommendation:_towards_a_better_understanding_of_user_preferences_experiments_template.txt b/paper_agent/rec/writing_templates/experiments/unifying_knowledge_graph_learning_and_recommendation__towards_a_better_understanding_of_user_preferences_experiments_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/experiments/unifying_knowledge_graph_learning_and_recommendation:_towards_a_better_understanding_of_user_preferences_experiments_template.txt rename to paper_agent/rec/writing_templates/experiments/unifying_knowledge_graph_learning_and_recommendation__towards_a_better_understanding_of_user_preferences_experiments_template.txt diff --git a/paper_agent/rec/writing_templates/introduction/bert4rec b/paper_agent/rec/writing_templates/introduction/bert4rec new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/introduction/bert4rec:_sequential_recommendation_with_bidirectional_encoder_representations_from_transformer_introduction_template.txt b/paper_agent/rec/writing_templates/introduction/bert4rec__sequential_recommendation_with_bidirectional_encoder_representations_from_transformer_introduction_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/introduction/bert4rec:_sequential_recommendation_with_bidirectional_encoder_representations_from_transformer_introduction_template.txt rename to paper_agent/rec/writing_templates/introduction/bert4rec__sequential_recommendation_with_bidirectional_encoder_representations_from_transformer_introduction_template.txt diff --git a/paper_agent/rec/writing_templates/introduction/bpr b/paper_agent/rec/writing_templates/introduction/bpr new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/introduction/bpr:_bayesian_personalized_ranking_from_implicit_feedback_introduction_template.txt b/paper_agent/rec/writing_templates/introduction/bpr__bayesian_personalized_ranking_from_implicit_feedback_introduction_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/introduction/bpr:_bayesian_personalized_ranking_from_implicit_feedback_introduction_template.txt rename to paper_agent/rec/writing_templates/introduction/bpr__bayesian_personalized_ranking_from_implicit_feedback_introduction_template.txt diff --git a/paper_agent/rec/writing_templates/introduction/catgcn b/paper_agent/rec/writing_templates/introduction/catgcn new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/introduction/catgcn:_graph_convolutional_networks_with_categorical_node_features_introduction_template.txt b/paper_agent/rec/writing_templates/introduction/catgcn__graph_convolutional_networks_with_categorical_node_features_introduction_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/introduction/catgcn:_graph_convolutional_networks_with_categorical_node_features_introduction_template.txt rename to paper_agent/rec/writing_templates/introduction/catgcn__graph_convolutional_networks_with_categorical_node_features_introduction_template.txt diff --git a/paper_agent/rec/writing_templates/introduction/graphmae b/paper_agent/rec/writing_templates/introduction/graphmae new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/introduction/graphmae:_self-supervised_masked_graph_autoencoders_introduction_template.txt b/paper_agent/rec/writing_templates/introduction/graphmae__self-supervised_masked_graph_autoencoders_introduction_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/introduction/graphmae:_self-supervised_masked_graph_autoencoders_introduction_template.txt rename to paper_agent/rec/writing_templates/introduction/graphmae__self-supervised_masked_graph_autoencoders_introduction_template.txt diff --git a/paper_agent/rec/writing_templates/introduction/kgat b/paper_agent/rec/writing_templates/introduction/kgat new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/introduction/kgat:_knowledge_graph_attention_network_for_recommendation_introduction_template.txt b/paper_agent/rec/writing_templates/introduction/kgat__knowledge_graph_attention_network_for_recommendation_introduction_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/introduction/kgat:_knowledge_graph_attention_network_for_recommendation_introduction_template.txt rename to paper_agent/rec/writing_templates/introduction/kgat__knowledge_graph_attention_network_for_recommendation_introduction_template.txt diff --git a/paper_agent/rec/writing_templates/introduction/lightgcl b/paper_agent/rec/writing_templates/introduction/lightgcl new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/introduction/lightgcl:_simple_yet_effective_graph_contrastive_learning_for_recommendation_introduction_template.txt b/paper_agent/rec/writing_templates/introduction/lightgcl__simple_yet_effective_graph_contrastive_learning_for_recommendation_introduction_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/introduction/lightgcl:_simple_yet_effective_graph_contrastive_learning_for_recommendation_introduction_template.txt rename to paper_agent/rec/writing_templates/introduction/lightgcl__simple_yet_effective_graph_contrastive_learning_for_recommendation_introduction_template.txt diff --git a/paper_agent/rec/writing_templates/introduction/lightgcn b/paper_agent/rec/writing_templates/introduction/lightgcn new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/introduction/lightgcn:_simplifying_and_powering_graph_convolution_network_for_recommendation_introduction_template.txt b/paper_agent/rec/writing_templates/introduction/lightgcn__simplifying_and_powering_graph_convolution_network_for_recommendation_introduction_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/introduction/lightgcn:_simplifying_and_powering_graph_convolution_network_for_recommendation_introduction_template.txt rename to paper_agent/rec/writing_templates/introduction/lightgcn__simplifying_and_powering_graph_convolution_network_for_recommendation_introduction_template.txt diff --git a/paper_agent/rec/writing_templates/introduction/research_commentary_on_recommendations_with_side_information b/paper_agent/rec/writing_templates/introduction/research_commentary_on_recommendations_with_side_information new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/introduction/research_commentary_on_recommendations_with_side_information:_a_survey_and_research_directions_introduction_template.txt b/paper_agent/rec/writing_templates/introduction/research_commentary_on_recommendations_with_side_information__a_survey_and_research_directions_introduction_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/introduction/research_commentary_on_recommendations_with_side_information:_a_survey_and_research_directions_introduction_template.txt rename to paper_agent/rec/writing_templates/introduction/research_commentary_on_recommendations_with_side_information__a_survey_and_research_directions_introduction_template.txt diff --git a/paper_agent/rec/writing_templates/introduction/revisiting_graph_based_collaborative_filtering b/paper_agent/rec/writing_templates/introduction/revisiting_graph_based_collaborative_filtering new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/introduction/revisiting_graph_based_collaborative_filtering:_a_linear_residual_graph_convolutional_network_approach_introduction_template.txt b/paper_agent/rec/writing_templates/introduction/revisiting_graph_based_collaborative_filtering__a_linear_residual_graph_convolutional_network_approach_introduction_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/introduction/revisiting_graph_based_collaborative_filtering:_a_linear_residual_graph_convolutional_network_approach_introduction_template.txt rename to paper_agent/rec/writing_templates/introduction/revisiting_graph_based_collaborative_filtering__a_linear_residual_graph_convolutional_network_approach_introduction_template.txt diff --git a/paper_agent/rec/writing_templates/introduction/unifying_knowledge_graph_learning_and_recommendation b/paper_agent/rec/writing_templates/introduction/unifying_knowledge_graph_learning_and_recommendation new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/introduction/unifying_knowledge_graph_learning_and_recommendation:_towards_a_better_understanding_of_user_preferences_introduction_template.txt b/paper_agent/rec/writing_templates/introduction/unifying_knowledge_graph_learning_and_recommendation__towards_a_better_understanding_of_user_preferences_introduction_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/introduction/unifying_knowledge_graph_learning_and_recommendation:_towards_a_better_understanding_of_user_preferences_introduction_template.txt rename to paper_agent/rec/writing_templates/introduction/unifying_knowledge_graph_learning_and_recommendation__towards_a_better_understanding_of_user_preferences_introduction_template.txt diff --git a/paper_agent/rec/writing_templates/methodology/bert4rec b/paper_agent/rec/writing_templates/methodology/bert4rec new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/methodology/bert4rec:_sequential_recommendation_with_bidirectional_encoder_representations_from_transformer_methodology_template.txt b/paper_agent/rec/writing_templates/methodology/bert4rec__sequential_recommendation_with_bidirectional_encoder_representations_from_transformer_methodology_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/methodology/bert4rec:_sequential_recommendation_with_bidirectional_encoder_representations_from_transformer_methodology_template.txt rename to paper_agent/rec/writing_templates/methodology/bert4rec__sequential_recommendation_with_bidirectional_encoder_representations_from_transformer_methodology_template.txt diff --git a/paper_agent/rec/writing_templates/methodology/bpr b/paper_agent/rec/writing_templates/methodology/bpr new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/methodology/bpr:_bayesian_personalized_ranking_from_implicit_feedback_methodology_template.txt b/paper_agent/rec/writing_templates/methodology/bpr__bayesian_personalized_ranking_from_implicit_feedback_methodology_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/methodology/bpr:_bayesian_personalized_ranking_from_implicit_feedback_methodology_template.txt rename to paper_agent/rec/writing_templates/methodology/bpr__bayesian_personalized_ranking_from_implicit_feedback_methodology_template.txt diff --git a/paper_agent/rec/writing_templates/methodology/catgcn b/paper_agent/rec/writing_templates/methodology/catgcn new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/methodology/catgcn:_graph_convolutional_networks_with_categorical_node_features_methodology_template.txt b/paper_agent/rec/writing_templates/methodology/catgcn__graph_convolutional_networks_with_categorical_node_features_methodology_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/methodology/catgcn:_graph_convolutional_networks_with_categorical_node_features_methodology_template.txt rename to paper_agent/rec/writing_templates/methodology/catgcn__graph_convolutional_networks_with_categorical_node_features_methodology_template.txt diff --git a/paper_agent/rec/writing_templates/methodology/graphmae b/paper_agent/rec/writing_templates/methodology/graphmae new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/methodology/graphmae:_self-supervised_masked_graph_autoencoders_methodology_template.txt b/paper_agent/rec/writing_templates/methodology/graphmae__self-supervised_masked_graph_autoencoders_methodology_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/methodology/graphmae:_self-supervised_masked_graph_autoencoders_methodology_template.txt rename to paper_agent/rec/writing_templates/methodology/graphmae__self-supervised_masked_graph_autoencoders_methodology_template.txt diff --git a/paper_agent/rec/writing_templates/methodology/kgat b/paper_agent/rec/writing_templates/methodology/kgat new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/methodology/kgat:_knowledge_graph_attention_network_for_recommendation_methodology_template.txt b/paper_agent/rec/writing_templates/methodology/kgat__knowledge_graph_attention_network_for_recommendation_methodology_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/methodology/kgat:_knowledge_graph_attention_network_for_recommendation_methodology_template.txt rename to paper_agent/rec/writing_templates/methodology/kgat__knowledge_graph_attention_network_for_recommendation_methodology_template.txt diff --git a/paper_agent/rec/writing_templates/methodology/lightgcl b/paper_agent/rec/writing_templates/methodology/lightgcl new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/methodology/lightgcl:_simple_yet_effective_graph_contrastive_learning_for_recommendation_methodology_template.txt b/paper_agent/rec/writing_templates/methodology/lightgcl__simple_yet_effective_graph_contrastive_learning_for_recommendation_methodology_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/methodology/lightgcl:_simple_yet_effective_graph_contrastive_learning_for_recommendation_methodology_template.txt rename to paper_agent/rec/writing_templates/methodology/lightgcl__simple_yet_effective_graph_contrastive_learning_for_recommendation_methodology_template.txt diff --git a/paper_agent/rec/writing_templates/methodology/lightgcn b/paper_agent/rec/writing_templates/methodology/lightgcn new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/methodology/lightgcn:_simplifying_and_powering_graph_convolution_network_for_recommendation_methodology_template.txt b/paper_agent/rec/writing_templates/methodology/lightgcn__simplifying_and_powering_graph_convolution_network_for_recommendation_methodology_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/methodology/lightgcn:_simplifying_and_powering_graph_convolution_network_for_recommendation_methodology_template.txt rename to paper_agent/rec/writing_templates/methodology/lightgcn__simplifying_and_powering_graph_convolution_network_for_recommendation_methodology_template.txt diff --git a/paper_agent/rec/writing_templates/methodology/research_commentary_on_recommendations_with_side_information b/paper_agent/rec/writing_templates/methodology/research_commentary_on_recommendations_with_side_information new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/methodology/research_commentary_on_recommendations_with_side_information:_a_survey_and_research_directions_methodology_template.txt b/paper_agent/rec/writing_templates/methodology/research_commentary_on_recommendations_with_side_information__a_survey_and_research_directions_methodology_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/methodology/research_commentary_on_recommendations_with_side_information:_a_survey_and_research_directions_methodology_template.txt rename to paper_agent/rec/writing_templates/methodology/research_commentary_on_recommendations_with_side_information__a_survey_and_research_directions_methodology_template.txt diff --git a/paper_agent/rec/writing_templates/methodology/revisiting_graph_based_collaborative_filtering b/paper_agent/rec/writing_templates/methodology/revisiting_graph_based_collaborative_filtering new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/methodology/revisiting_graph_based_collaborative_filtering:_a_linear_residual_graph_convolutional_network_approach_methodology_template.txt b/paper_agent/rec/writing_templates/methodology/revisiting_graph_based_collaborative_filtering__a_linear_residual_graph_convolutional_network_approach_methodology_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/methodology/revisiting_graph_based_collaborative_filtering:_a_linear_residual_graph_convolutional_network_approach_methodology_template.txt rename to paper_agent/rec/writing_templates/methodology/revisiting_graph_based_collaborative_filtering__a_linear_residual_graph_convolutional_network_approach_methodology_template.txt diff --git a/paper_agent/rec/writing_templates/methodology/unifying_knowledge_graph_learning_and_recommendation b/paper_agent/rec/writing_templates/methodology/unifying_knowledge_graph_learning_and_recommendation new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/methodology/unifying_knowledge_graph_learning_and_recommendation:_towards_a_better_understanding_of_user_preferences_methodology_template.txt b/paper_agent/rec/writing_templates/methodology/unifying_knowledge_graph_learning_and_recommendation__towards_a_better_understanding_of_user_preferences_methodology_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/methodology/unifying_knowledge_graph_learning_and_recommendation:_towards_a_better_understanding_of_user_preferences_methodology_template.txt rename to paper_agent/rec/writing_templates/methodology/unifying_knowledge_graph_learning_and_recommendation__towards_a_better_understanding_of_user_preferences_methodology_template.txt diff --git a/paper_agent/rec/writing_templates/preliminaries/bert4rec b/paper_agent/rec/writing_templates/preliminaries/bert4rec new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/preliminaries/bert4rec:_sequential_recommendation_with_bidirectional_encoder_representations_from_transformer_preliminaries_template.txt b/paper_agent/rec/writing_templates/preliminaries/bert4rec__sequential_recommendation_with_bidirectional_encoder_representations_from_transformer_preliminaries_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/preliminaries/bert4rec:_sequential_recommendation_with_bidirectional_encoder_representations_from_transformer_preliminaries_template.txt rename to paper_agent/rec/writing_templates/preliminaries/bert4rec__sequential_recommendation_with_bidirectional_encoder_representations_from_transformer_preliminaries_template.txt diff --git a/paper_agent/rec/writing_templates/preliminaries/bpr b/paper_agent/rec/writing_templates/preliminaries/bpr new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/preliminaries/bpr:_bayesian_personalized_ranking_from_implicit_feedback_preliminaries_template.txt b/paper_agent/rec/writing_templates/preliminaries/bpr__bayesian_personalized_ranking_from_implicit_feedback_preliminaries_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/preliminaries/bpr:_bayesian_personalized_ranking_from_implicit_feedback_preliminaries_template.txt rename to paper_agent/rec/writing_templates/preliminaries/bpr__bayesian_personalized_ranking_from_implicit_feedback_preliminaries_template.txt diff --git a/paper_agent/rec/writing_templates/preliminaries/catgcn b/paper_agent/rec/writing_templates/preliminaries/catgcn new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/preliminaries/catgcn:_graph_convolutional_networks_with_categorical_node_features_preliminaries_template.txt b/paper_agent/rec/writing_templates/preliminaries/catgcn__graph_convolutional_networks_with_categorical_node_features_preliminaries_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/preliminaries/catgcn:_graph_convolutional_networks_with_categorical_node_features_preliminaries_template.txt rename to paper_agent/rec/writing_templates/preliminaries/catgcn__graph_convolutional_networks_with_categorical_node_features_preliminaries_template.txt diff --git a/paper_agent/rec/writing_templates/preliminaries/graphmae b/paper_agent/rec/writing_templates/preliminaries/graphmae new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/preliminaries/graphmae:_self-supervised_masked_graph_autoencoders_preliminaries_template.txt b/paper_agent/rec/writing_templates/preliminaries/graphmae__self-supervised_masked_graph_autoencoders_preliminaries_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/preliminaries/graphmae:_self-supervised_masked_graph_autoencoders_preliminaries_template.txt rename to paper_agent/rec/writing_templates/preliminaries/graphmae__self-supervised_masked_graph_autoencoders_preliminaries_template.txt diff --git a/paper_agent/rec/writing_templates/preliminaries/kgat b/paper_agent/rec/writing_templates/preliminaries/kgat new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/preliminaries/kgat:_knowledge_graph_attention_network_for_recommendation_preliminaries_template.txt b/paper_agent/rec/writing_templates/preliminaries/kgat__knowledge_graph_attention_network_for_recommendation_preliminaries_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/preliminaries/kgat:_knowledge_graph_attention_network_for_recommendation_preliminaries_template.txt rename to paper_agent/rec/writing_templates/preliminaries/kgat__knowledge_graph_attention_network_for_recommendation_preliminaries_template.txt diff --git a/paper_agent/rec/writing_templates/preliminaries/lightgcl b/paper_agent/rec/writing_templates/preliminaries/lightgcl new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/preliminaries/lightgcl:_simple_yet_effective_graph_contrastive_learning_for_recommendation_preliminaries_template.txt b/paper_agent/rec/writing_templates/preliminaries/lightgcl__simple_yet_effective_graph_contrastive_learning_for_recommendation_preliminaries_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/preliminaries/lightgcl:_simple_yet_effective_graph_contrastive_learning_for_recommendation_preliminaries_template.txt rename to paper_agent/rec/writing_templates/preliminaries/lightgcl__simple_yet_effective_graph_contrastive_learning_for_recommendation_preliminaries_template.txt diff --git a/paper_agent/rec/writing_templates/preliminaries/lightgcn b/paper_agent/rec/writing_templates/preliminaries/lightgcn new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/preliminaries/lightgcn:_simplifying_and_powering_graph_convolution_network_for_recommendation_preliminaries_template.txt b/paper_agent/rec/writing_templates/preliminaries/lightgcn__simplifying_and_powering_graph_convolution_network_for_recommendation_preliminaries_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/preliminaries/lightgcn:_simplifying_and_powering_graph_convolution_network_for_recommendation_preliminaries_template.txt rename to paper_agent/rec/writing_templates/preliminaries/lightgcn__simplifying_and_powering_graph_convolution_network_for_recommendation_preliminaries_template.txt diff --git a/paper_agent/rec/writing_templates/preliminaries/research_commentary_on_recommendations_with_side_information b/paper_agent/rec/writing_templates/preliminaries/research_commentary_on_recommendations_with_side_information new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/preliminaries/research_commentary_on_recommendations_with_side_information:_a_survey_and_research_directions_preliminaries_template.txt b/paper_agent/rec/writing_templates/preliminaries/research_commentary_on_recommendations_with_side_information__a_survey_and_research_directions_preliminaries_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/preliminaries/research_commentary_on_recommendations_with_side_information:_a_survey_and_research_directions_preliminaries_template.txt rename to paper_agent/rec/writing_templates/preliminaries/research_commentary_on_recommendations_with_side_information__a_survey_and_research_directions_preliminaries_template.txt diff --git a/paper_agent/rec/writing_templates/preliminaries/revisiting_graph_based_collaborative_filtering b/paper_agent/rec/writing_templates/preliminaries/revisiting_graph_based_collaborative_filtering new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/preliminaries/revisiting_graph_based_collaborative_filtering:_a_linear_residual_graph_convolutional_network_approach_preliminaries_template.txt b/paper_agent/rec/writing_templates/preliminaries/revisiting_graph_based_collaborative_filtering__a_linear_residual_graph_convolutional_network_approach_preliminaries_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/preliminaries/revisiting_graph_based_collaborative_filtering:_a_linear_residual_graph_convolutional_network_approach_preliminaries_template.txt rename to paper_agent/rec/writing_templates/preliminaries/revisiting_graph_based_collaborative_filtering__a_linear_residual_graph_convolutional_network_approach_preliminaries_template.txt diff --git a/paper_agent/rec/writing_templates/preliminaries/unifying_knowledge_graph_learning_and_recommendation b/paper_agent/rec/writing_templates/preliminaries/unifying_knowledge_graph_learning_and_recommendation new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/preliminaries/unifying_knowledge_graph_learning_and_recommendation:_towards_a_better_understanding_of_user_preferences_preliminaries_template.txt b/paper_agent/rec/writing_templates/preliminaries/unifying_knowledge_graph_learning_and_recommendation__towards_a_better_understanding_of_user_preferences_preliminaries_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/preliminaries/unifying_knowledge_graph_learning_and_recommendation:_towards_a_better_understanding_of_user_preferences_preliminaries_template.txt rename to paper_agent/rec/writing_templates/preliminaries/unifying_knowledge_graph_learning_and_recommendation__towards_a_better_understanding_of_user_preferences_preliminaries_template.txt diff --git a/paper_agent/rec/writing_templates/related_work/bert4rec b/paper_agent/rec/writing_templates/related_work/bert4rec new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/related_work/bert4rec:_sequential_recommendation_with_bidirectional_encoder_representations_from_transformer_related_work_template.txt b/paper_agent/rec/writing_templates/related_work/bert4rec__sequential_recommendation_with_bidirectional_encoder_representations_from_transformer_related_work_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/related_work/bert4rec:_sequential_recommendation_with_bidirectional_encoder_representations_from_transformer_related_work_template.txt rename to paper_agent/rec/writing_templates/related_work/bert4rec__sequential_recommendation_with_bidirectional_encoder_representations_from_transformer_related_work_template.txt diff --git a/paper_agent/rec/writing_templates/related_work/bpr b/paper_agent/rec/writing_templates/related_work/bpr new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/related_work/bpr:_bayesian_personalized_ranking_from_implicit_feedback_related_work_template.txt b/paper_agent/rec/writing_templates/related_work/bpr__bayesian_personalized_ranking_from_implicit_feedback_related_work_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/related_work/bpr:_bayesian_personalized_ranking_from_implicit_feedback_related_work_template.txt rename to paper_agent/rec/writing_templates/related_work/bpr__bayesian_personalized_ranking_from_implicit_feedback_related_work_template.txt diff --git a/paper_agent/rec/writing_templates/related_work/catgcn b/paper_agent/rec/writing_templates/related_work/catgcn new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/related_work/catgcn:_graph_convolutional_networks_with_categorical_node_features_related_work_template.txt b/paper_agent/rec/writing_templates/related_work/catgcn__graph_convolutional_networks_with_categorical_node_features_related_work_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/related_work/catgcn:_graph_convolutional_networks_with_categorical_node_features_related_work_template.txt rename to paper_agent/rec/writing_templates/related_work/catgcn__graph_convolutional_networks_with_categorical_node_features_related_work_template.txt diff --git a/paper_agent/rec/writing_templates/related_work/graphmae b/paper_agent/rec/writing_templates/related_work/graphmae new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/related_work/graphmae:_self-supervised_masked_graph_autoencoders_related_work_template.txt b/paper_agent/rec/writing_templates/related_work/graphmae__self-supervised_masked_graph_autoencoders_related_work_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/related_work/graphmae:_self-supervised_masked_graph_autoencoders_related_work_template.txt rename to paper_agent/rec/writing_templates/related_work/graphmae__self-supervised_masked_graph_autoencoders_related_work_template.txt diff --git a/paper_agent/rec/writing_templates/related_work/kgat b/paper_agent/rec/writing_templates/related_work/kgat new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/related_work/kgat:_knowledge_graph_attention_network_for_recommendation_related_work_template.txt b/paper_agent/rec/writing_templates/related_work/kgat__knowledge_graph_attention_network_for_recommendation_related_work_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/related_work/kgat:_knowledge_graph_attention_network_for_recommendation_related_work_template.txt rename to paper_agent/rec/writing_templates/related_work/kgat__knowledge_graph_attention_network_for_recommendation_related_work_template.txt diff --git a/paper_agent/rec/writing_templates/related_work/lightgcl b/paper_agent/rec/writing_templates/related_work/lightgcl new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/related_work/lightgcl:_simple_yet_effective_graph_contrastive_learning_for_recommendation_related_work_template.txt b/paper_agent/rec/writing_templates/related_work/lightgcl__simple_yet_effective_graph_contrastive_learning_for_recommendation_related_work_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/related_work/lightgcl:_simple_yet_effective_graph_contrastive_learning_for_recommendation_related_work_template.txt rename to paper_agent/rec/writing_templates/related_work/lightgcl__simple_yet_effective_graph_contrastive_learning_for_recommendation_related_work_template.txt diff --git a/paper_agent/rec/writing_templates/related_work/lightgcn b/paper_agent/rec/writing_templates/related_work/lightgcn new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/related_work/lightgcn:_simplifying_and_powering_graph_convolution_network_for_recommendation_related_work_template.txt b/paper_agent/rec/writing_templates/related_work/lightgcn__simplifying_and_powering_graph_convolution_network_for_recommendation_related_work_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/related_work/lightgcn:_simplifying_and_powering_graph_convolution_network_for_recommendation_related_work_template.txt rename to paper_agent/rec/writing_templates/related_work/lightgcn__simplifying_and_powering_graph_convolution_network_for_recommendation_related_work_template.txt diff --git a/paper_agent/rec/writing_templates/related_work/research_commentary_on_recommendations_with_side_information b/paper_agent/rec/writing_templates/related_work/research_commentary_on_recommendations_with_side_information new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/related_work/research_commentary_on_recommendations_with_side_information:_a_survey_and_research_directions_related_work_template.txt b/paper_agent/rec/writing_templates/related_work/research_commentary_on_recommendations_with_side_information__a_survey_and_research_directions_related_work_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/related_work/research_commentary_on_recommendations_with_side_information:_a_survey_and_research_directions_related_work_template.txt rename to paper_agent/rec/writing_templates/related_work/research_commentary_on_recommendations_with_side_information__a_survey_and_research_directions_related_work_template.txt diff --git a/paper_agent/rec/writing_templates/related_work/revisiting_graph_based_collaborative_filtering b/paper_agent/rec/writing_templates/related_work/revisiting_graph_based_collaborative_filtering new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/related_work/revisiting_graph_based_collaborative_filtering:_a_linear_residual_graph_convolutional_network_approach_related_work_template.txt b/paper_agent/rec/writing_templates/related_work/revisiting_graph_based_collaborative_filtering__a_linear_residual_graph_convolutional_network_approach_related_work_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/related_work/revisiting_graph_based_collaborative_filtering:_a_linear_residual_graph_convolutional_network_approach_related_work_template.txt rename to paper_agent/rec/writing_templates/related_work/revisiting_graph_based_collaborative_filtering__a_linear_residual_graph_convolutional_network_approach_related_work_template.txt diff --git a/paper_agent/rec/writing_templates/related_work/unifying_knowledge_graph_learning_and_recommendation b/paper_agent/rec/writing_templates/related_work/unifying_knowledge_graph_learning_and_recommendation new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/rec/writing_templates/related_work/unifying_knowledge_graph_learning_and_recommendation:_towards_a_better_understanding_of_user_preferences_related_work_template.txt b/paper_agent/rec/writing_templates/related_work/unifying_knowledge_graph_learning_and_recommendation__towards_a_better_understanding_of_user_preferences_related_work_template.txt similarity index 100% rename from paper_agent/rec/writing_templates/related_work/unifying_knowledge_graph_learning_and_recommendation:_towards_a_better_understanding_of_user_preferences_related_work_template.txt rename to paper_agent/rec/writing_templates/related_work/unifying_knowledge_graph_learning_and_recommendation__towards_a_better_understanding_of_user_preferences_related_work_template.txt diff --git a/paper_agent/vq/writing_templates/abstract/bevt b/paper_agent/vq/writing_templates/abstract/bevt new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/vq/writing_templates/abstract/bevt:_bert_pretraining_of_video_transformers_abstract_template.txt b/paper_agent/vq/writing_templates/abstract/bevt__bert_pretraining_of_video_transformers_abstract_template.txt similarity index 100% rename from paper_agent/vq/writing_templates/abstract/bevt:_bert_pretraining_of_video_transformers_abstract_template.txt rename to paper_agent/vq/writing_templates/abstract/bevt__bert_pretraining_of_video_transformers_abstract_template.txt diff --git a/paper_agent/vq/writing_templates/abstract/infogan b/paper_agent/vq/writing_templates/abstract/infogan new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/vq/writing_templates/abstract/infogan:_interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_abstract_template.txt b/paper_agent/vq/writing_templates/abstract/infogan__interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_abstract_template.txt similarity index 100% rename from paper_agent/vq/writing_templates/abstract/infogan:_interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_abstract_template.txt rename to paper_agent/vq/writing_templates/abstract/infogan__interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_abstract_template.txt diff --git a/paper_agent/vq/writing_templates/abstract/maskgit b/paper_agent/vq/writing_templates/abstract/maskgit new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/vq/writing_templates/abstract/maskgit:_masked_generative_image_transformer_abstract_template.txt b/paper_agent/vq/writing_templates/abstract/maskgit__masked_generative_image_transformer_abstract_template.txt similarity index 100% rename from paper_agent/vq/writing_templates/abstract/maskgit:_masked_generative_image_transformer_abstract_template.txt rename to paper_agent/vq/writing_templates/abstract/maskgit__masked_generative_image_transformer_abstract_template.txt diff --git a/paper_agent/vq/writing_templates/abstract/sdxl b/paper_agent/vq/writing_templates/abstract/sdxl new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/vq/writing_templates/abstract/sdxl:_improving_latent_diffusion_models_for_high-resolution_image_synthesis_abstract_template.txt b/paper_agent/vq/writing_templates/abstract/sdxl__improving_latent_diffusion_models_for_high-resolution_image_synthesis_abstract_template.txt similarity index 100% rename from paper_agent/vq/writing_templates/abstract/sdxl:_improving_latent_diffusion_models_for_high-resolution_image_synthesis_abstract_template.txt rename to paper_agent/vq/writing_templates/abstract/sdxl__improving_latent_diffusion_models_for_high-resolution_image_synthesis_abstract_template.txt diff --git a/paper_agent/vq/writing_templates/conclusion/bevt b/paper_agent/vq/writing_templates/conclusion/bevt new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/vq/writing_templates/conclusion/bevt:_bert_pretraining_of_video_transformers_conclusion_template.txt b/paper_agent/vq/writing_templates/conclusion/bevt__bert_pretraining_of_video_transformers_conclusion_template.txt similarity index 100% rename from paper_agent/vq/writing_templates/conclusion/bevt:_bert_pretraining_of_video_transformers_conclusion_template.txt rename to paper_agent/vq/writing_templates/conclusion/bevt__bert_pretraining_of_video_transformers_conclusion_template.txt diff --git a/paper_agent/vq/writing_templates/conclusion/infogan b/paper_agent/vq/writing_templates/conclusion/infogan new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/vq/writing_templates/conclusion/infogan:_interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_conclusion_template.txt b/paper_agent/vq/writing_templates/conclusion/infogan__interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_conclusion_template.txt similarity index 100% rename from paper_agent/vq/writing_templates/conclusion/infogan:_interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_conclusion_template.txt rename to paper_agent/vq/writing_templates/conclusion/infogan__interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_conclusion_template.txt diff --git a/paper_agent/vq/writing_templates/conclusion/maskgit b/paper_agent/vq/writing_templates/conclusion/maskgit new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/vq/writing_templates/conclusion/maskgit:_masked_generative_image_transformer_conclusion_template.txt b/paper_agent/vq/writing_templates/conclusion/maskgit__masked_generative_image_transformer_conclusion_template.txt similarity index 100% rename from paper_agent/vq/writing_templates/conclusion/maskgit:_masked_generative_image_transformer_conclusion_template.txt rename to paper_agent/vq/writing_templates/conclusion/maskgit__masked_generative_image_transformer_conclusion_template.txt diff --git a/paper_agent/vq/writing_templates/conclusion/sdxl b/paper_agent/vq/writing_templates/conclusion/sdxl new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/vq/writing_templates/conclusion/sdxl:_improving_latent_diffusion_models_for_high-resolution_image_synthesis_conclusion_template.txt b/paper_agent/vq/writing_templates/conclusion/sdxl__improving_latent_diffusion_models_for_high-resolution_image_synthesis_conclusion_template.txt similarity index 100% rename from paper_agent/vq/writing_templates/conclusion/sdxl:_improving_latent_diffusion_models_for_high-resolution_image_synthesis_conclusion_template.txt rename to paper_agent/vq/writing_templates/conclusion/sdxl__improving_latent_diffusion_models_for_high-resolution_image_synthesis_conclusion_template.txt diff --git a/paper_agent/vq/writing_templates/experiments/bevt b/paper_agent/vq/writing_templates/experiments/bevt new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/vq/writing_templates/experiments/bevt:_bert_pretraining_of_video_transformers_experiments_template.txt b/paper_agent/vq/writing_templates/experiments/bevt__bert_pretraining_of_video_transformers_experiments_template.txt similarity index 100% rename from paper_agent/vq/writing_templates/experiments/bevt:_bert_pretraining_of_video_transformers_experiments_template.txt rename to paper_agent/vq/writing_templates/experiments/bevt__bert_pretraining_of_video_transformers_experiments_template.txt diff --git a/paper_agent/vq/writing_templates/experiments/infogan b/paper_agent/vq/writing_templates/experiments/infogan new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/vq/writing_templates/experiments/infogan:_interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_experiments_template.txt b/paper_agent/vq/writing_templates/experiments/infogan__interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_experiments_template.txt similarity index 100% rename from paper_agent/vq/writing_templates/experiments/infogan:_interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_experiments_template.txt rename to paper_agent/vq/writing_templates/experiments/infogan__interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_experiments_template.txt diff --git a/paper_agent/vq/writing_templates/experiments/maskgit b/paper_agent/vq/writing_templates/experiments/maskgit new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/vq/writing_templates/experiments/maskgit:_masked_generative_image_transformer_experiments_template.txt b/paper_agent/vq/writing_templates/experiments/maskgit__masked_generative_image_transformer_experiments_template.txt similarity index 100% rename from paper_agent/vq/writing_templates/experiments/maskgit:_masked_generative_image_transformer_experiments_template.txt rename to paper_agent/vq/writing_templates/experiments/maskgit__masked_generative_image_transformer_experiments_template.txt diff --git a/paper_agent/vq/writing_templates/experiments/sdxl b/paper_agent/vq/writing_templates/experiments/sdxl new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/vq/writing_templates/experiments/sdxl:_improving_latent_diffusion_models_for_high-resolution_image_synthesis_experiments_template.txt b/paper_agent/vq/writing_templates/experiments/sdxl__improving_latent_diffusion_models_for_high-resolution_image_synthesis_experiments_template.txt similarity index 100% rename from paper_agent/vq/writing_templates/experiments/sdxl:_improving_latent_diffusion_models_for_high-resolution_image_synthesis_experiments_template.txt rename to paper_agent/vq/writing_templates/experiments/sdxl__improving_latent_diffusion_models_for_high-resolution_image_synthesis_experiments_template.txt diff --git a/paper_agent/vq/writing_templates/introduction/bevt b/paper_agent/vq/writing_templates/introduction/bevt new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/vq/writing_templates/introduction/bevt:_bert_pretraining_of_video_transformers_introduction_template.txt b/paper_agent/vq/writing_templates/introduction/bevt__bert_pretraining_of_video_transformers_introduction_template.txt similarity index 100% rename from paper_agent/vq/writing_templates/introduction/bevt:_bert_pretraining_of_video_transformers_introduction_template.txt rename to paper_agent/vq/writing_templates/introduction/bevt__bert_pretraining_of_video_transformers_introduction_template.txt diff --git a/paper_agent/vq/writing_templates/introduction/infogan b/paper_agent/vq/writing_templates/introduction/infogan new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/vq/writing_templates/introduction/infogan:_interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_introduction_template.txt b/paper_agent/vq/writing_templates/introduction/infogan__interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_introduction_template.txt similarity index 100% rename from paper_agent/vq/writing_templates/introduction/infogan:_interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_introduction_template.txt rename to paper_agent/vq/writing_templates/introduction/infogan__interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_introduction_template.txt diff --git a/paper_agent/vq/writing_templates/introduction/maskgit b/paper_agent/vq/writing_templates/introduction/maskgit new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/vq/writing_templates/introduction/maskgit:_masked_generative_image_transformer_introduction_template.txt b/paper_agent/vq/writing_templates/introduction/maskgit__masked_generative_image_transformer_introduction_template.txt similarity index 100% rename from paper_agent/vq/writing_templates/introduction/maskgit:_masked_generative_image_transformer_introduction_template.txt rename to paper_agent/vq/writing_templates/introduction/maskgit__masked_generative_image_transformer_introduction_template.txt diff --git a/paper_agent/vq/writing_templates/introduction/sdxl b/paper_agent/vq/writing_templates/introduction/sdxl new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/vq/writing_templates/introduction/sdxl:_improving_latent_diffusion_models_for_high-resolution_image_synthesis_introduction_template.txt b/paper_agent/vq/writing_templates/introduction/sdxl__improving_latent_diffusion_models_for_high-resolution_image_synthesis_introduction_template.txt similarity index 100% rename from paper_agent/vq/writing_templates/introduction/sdxl:_improving_latent_diffusion_models_for_high-resolution_image_synthesis_introduction_template.txt rename to paper_agent/vq/writing_templates/introduction/sdxl__improving_latent_diffusion_models_for_high-resolution_image_synthesis_introduction_template.txt diff --git a/paper_agent/vq/writing_templates/methodology/bevt b/paper_agent/vq/writing_templates/methodology/bevt new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/vq/writing_templates/methodology/bevt:_bert_pretraining_of_video_transformers_methodology_template.txt b/paper_agent/vq/writing_templates/methodology/bevt__bert_pretraining_of_video_transformers_methodology_template.txt similarity index 100% rename from paper_agent/vq/writing_templates/methodology/bevt:_bert_pretraining_of_video_transformers_methodology_template.txt rename to paper_agent/vq/writing_templates/methodology/bevt__bert_pretraining_of_video_transformers_methodology_template.txt diff --git a/paper_agent/vq/writing_templates/methodology/infogan b/paper_agent/vq/writing_templates/methodology/infogan new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/vq/writing_templates/methodology/infogan:_interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_methodology_template.txt b/paper_agent/vq/writing_templates/methodology/infogan__interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_methodology_template.txt similarity index 100% rename from paper_agent/vq/writing_templates/methodology/infogan:_interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_methodology_template.txt rename to paper_agent/vq/writing_templates/methodology/infogan__interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_methodology_template.txt diff --git a/paper_agent/vq/writing_templates/methodology/maskgit b/paper_agent/vq/writing_templates/methodology/maskgit new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/vq/writing_templates/methodology/maskgit:_masked_generative_image_transformer_methodology_template.txt b/paper_agent/vq/writing_templates/methodology/maskgit__masked_generative_image_transformer_methodology_template.txt similarity index 100% rename from paper_agent/vq/writing_templates/methodology/maskgit:_masked_generative_image_transformer_methodology_template.txt rename to paper_agent/vq/writing_templates/methodology/maskgit__masked_generative_image_transformer_methodology_template.txt diff --git a/paper_agent/vq/writing_templates/methodology/sdxl b/paper_agent/vq/writing_templates/methodology/sdxl new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/vq/writing_templates/methodology/sdxl:_improving_latent_diffusion_models_for_high-resolution_image_synthesis_methodology_template.txt b/paper_agent/vq/writing_templates/methodology/sdxl__improving_latent_diffusion_models_for_high-resolution_image_synthesis_methodology_template.txt similarity index 100% rename from paper_agent/vq/writing_templates/methodology/sdxl:_improving_latent_diffusion_models_for_high-resolution_image_synthesis_methodology_template.txt rename to paper_agent/vq/writing_templates/methodology/sdxl__improving_latent_diffusion_models_for_high-resolution_image_synthesis_methodology_template.txt diff --git a/paper_agent/vq/writing_templates/preliminaries/bevt b/paper_agent/vq/writing_templates/preliminaries/bevt new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/vq/writing_templates/preliminaries/bevt:_bert_pretraining_of_video_transformers_preliminaries_template.txt b/paper_agent/vq/writing_templates/preliminaries/bevt__bert_pretraining_of_video_transformers_preliminaries_template.txt similarity index 100% rename from paper_agent/vq/writing_templates/preliminaries/bevt:_bert_pretraining_of_video_transformers_preliminaries_template.txt rename to paper_agent/vq/writing_templates/preliminaries/bevt__bert_pretraining_of_video_transformers_preliminaries_template.txt diff --git a/paper_agent/vq/writing_templates/preliminaries/infogan b/paper_agent/vq/writing_templates/preliminaries/infogan new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/vq/writing_templates/preliminaries/infogan:_interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_preliminaries_template.txt b/paper_agent/vq/writing_templates/preliminaries/infogan__interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_preliminaries_template.txt similarity index 100% rename from paper_agent/vq/writing_templates/preliminaries/infogan:_interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_preliminaries_template.txt rename to paper_agent/vq/writing_templates/preliminaries/infogan__interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_preliminaries_template.txt diff --git a/paper_agent/vq/writing_templates/preliminaries/maskgit b/paper_agent/vq/writing_templates/preliminaries/maskgit new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/vq/writing_templates/preliminaries/maskgit:_masked_generative_image_transformer_preliminaries_template.txt b/paper_agent/vq/writing_templates/preliminaries/maskgit__masked_generative_image_transformer_preliminaries_template.txt similarity index 100% rename from paper_agent/vq/writing_templates/preliminaries/maskgit:_masked_generative_image_transformer_preliminaries_template.txt rename to paper_agent/vq/writing_templates/preliminaries/maskgit__masked_generative_image_transformer_preliminaries_template.txt diff --git a/paper_agent/vq/writing_templates/preliminaries/sdxl b/paper_agent/vq/writing_templates/preliminaries/sdxl new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/vq/writing_templates/preliminaries/sdxl:_improving_latent_diffusion_models_for_high-resolution_image_synthesis_preliminaries_template.txt b/paper_agent/vq/writing_templates/preliminaries/sdxl__improving_latent_diffusion_models_for_high-resolution_image_synthesis_preliminaries_template.txt similarity index 100% rename from paper_agent/vq/writing_templates/preliminaries/sdxl:_improving_latent_diffusion_models_for_high-resolution_image_synthesis_preliminaries_template.txt rename to paper_agent/vq/writing_templates/preliminaries/sdxl__improving_latent_diffusion_models_for_high-resolution_image_synthesis_preliminaries_template.txt diff --git a/paper_agent/vq/writing_templates/related_work/bevt b/paper_agent/vq/writing_templates/related_work/bevt new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/vq/writing_templates/related_work/bevt:_bert_pretraining_of_video_transformers_related_work_template.txt b/paper_agent/vq/writing_templates/related_work/bevt__bert_pretraining_of_video_transformers_related_work_template.txt similarity index 100% rename from paper_agent/vq/writing_templates/related_work/bevt:_bert_pretraining_of_video_transformers_related_work_template.txt rename to paper_agent/vq/writing_templates/related_work/bevt__bert_pretraining_of_video_transformers_related_work_template.txt diff --git a/paper_agent/vq/writing_templates/related_work/infogan b/paper_agent/vq/writing_templates/related_work/infogan new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/vq/writing_templates/related_work/infogan:_interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_related_work_template.txt b/paper_agent/vq/writing_templates/related_work/infogan__interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_related_work_template.txt similarity index 100% rename from paper_agent/vq/writing_templates/related_work/infogan:_interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_related_work_template.txt rename to paper_agent/vq/writing_templates/related_work/infogan__interpretable_representation_learning_by_information_maximizing_generative_adversarial_nets_related_work_template.txt diff --git a/paper_agent/vq/writing_templates/related_work/maskgit b/paper_agent/vq/writing_templates/related_work/maskgit new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/vq/writing_templates/related_work/maskgit:_masked_generative_image_transformer_related_work_template.txt b/paper_agent/vq/writing_templates/related_work/maskgit__masked_generative_image_transformer_related_work_template.txt similarity index 100% rename from paper_agent/vq/writing_templates/related_work/maskgit:_masked_generative_image_transformer_related_work_template.txt rename to paper_agent/vq/writing_templates/related_work/maskgit__masked_generative_image_transformer_related_work_template.txt diff --git a/paper_agent/vq/writing_templates/related_work/sdxl b/paper_agent/vq/writing_templates/related_work/sdxl new file mode 100644 index 0000000..e69de29 diff --git a/paper_agent/vq/writing_templates/related_work/sdxl:_improving_latent_diffusion_models_for_high-resolution_image_synthesis_related_work_template.txt b/paper_agent/vq/writing_templates/related_work/sdxl__improving_latent_diffusion_models_for_high-resolution_image_synthesis_related_work_template.txt similarity index 100% rename from paper_agent/vq/writing_templates/related_work/sdxl:_improving_latent_diffusion_models_for_high-resolution_image_synthesis_related_work_template.txt rename to paper_agent/vq/writing_templates/related_work/sdxl__improving_latent_diffusion_models_for_high-resolution_image_synthesis_related_work_template.txt diff --git a/pyproject.toml b/pyproject.toml index 7fd26b9..c22d053 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,3 +1,23 @@ [build-system] -requires = ["setuptools"] -build-backend = "setuptools.build_meta" \ No newline at end of file +requires = [ "setuptools>=61.0", "wheel",] +build-backend = "setuptools.build_meta" + +[project] +name = "ai-researcher" +version = "1.0.0" +description = "AI-Researcher: Autonomous Scientific Innovation" +readme = "README.md" +requires-python = ">=3.8" +dependencies = [ "Pillow>=11.3.0", "PyPDF2>=3.0.1", "PyYAML>=6.0.2", "PyYAML>=6.0.2", "Requests>=2.32.4", "backoff>=2.2.1", "beautifulsoup4>=4.13.4", "browsergym>=0.14.2", "chromadb>=1.0.16", "click>=8.2.1", "datasets>=3.6.0", "docling>=2.43.0", "feedparser>=6.0.11", "gradio>=5.42.0", "gymnasium>=1.2.0", "html2text>=2025.4.15", "httpx>=0.28.1", "imageio>=2.37.0", "inquirer>=3.4.1", "litellm>=1.75.5.post1", "lm_eval>=0.4.9.1", "loguru>=0.7.3", "mammoth>=1.10.0", "markdownify>=1.2.0", "matplotlib>=3.10.5", "networkx>=3.5", "numpy>=2.3.2", "openai>=1.99.6", "pandas>=2.3.1", "pathvalidate>=3.3.1", "pdf2image>=1.17.0", "pdfminer.six>=20221105", +"arxiv>=1.4.8", "playwright==1.44", "prompt_toolkit>=3.0.51", "puremagic>=1.30", "pydantic>=2.11.7", "pydub>=0.25.1", "python-dotenv>=1.1.1", "rich>=14.1.0", "scikit_learn>=1.7.1", "scipy>=1.16.1", "seaborn>=0.13.2", "sentence_transformers>=2.2.0", "setuptools>=80.9.0", "tenacity>=9.1.2", "tiktoken>=0.11.0", "torch>=2.7.1", "torch_geometric>=2.6.1", "torchvision>=0.23.0", "tqdm>=4.67.1", "tree_sitter>=0.25.1", "uvicorn>=0.35.0", "youtube_transcript_api>=1.2.2",] +[[project.authors]] +name = "AI-Researcher Team" +email = "contact@ai-researcher.com" + +[project.optional-dependencies] +dev = [ "pytest>=7.0.0", "black>=23.0.0", "flake8>=6.0.0", "mypy>=1.0.0",] + +[project.urls] +Homepage = "https://github.com/HKUDS/AI-Researcher" +Repository = "https://github.com/HKUDS/AI-Researcher" +Documentation = "https://autoresearcher.github.io/docs" diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..486d059 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,52 @@ +backoff==2.2.1 +beautifulsoup4==4.13.4 +browsergym==0.14.2 +chromadb==1.0.16 +click==8.2.1 +datasets==3.6.0 +docling==2.43.0 +feedparser==6.0.11 +gradio==5.42.0 +gymnasium==1.2.0 +html2text==2025.4.15 +httpx==0.28.1 +imageio==2.37.0 +inquirer==3.4.1 +litellm==1.75.5.post1 +lm_eval==0.4.9.1 +loguru==0.7.3 +mammoth==1.10.0 +markdownify==1.2.0 +matplotlib==3.10.5 +networkx==3.5 +numpy==2.3.2 +openai==1.99.6 +pandas==2.3.1 +pathvalidate==3.3.1 +pdf2image==1.17.0 +pdfminer==20191125 +Pillow==11.3.0 +playwright==1.54.0 +prompt_toolkit==3.0.51 +puremagic==1.30 +pydantic==2.11.7 +pydub==0.25.1 +PyPDF2==3.0.1 +python-dotenv==1.1.1 +PyYAML==6.0.2 +PyYAML==6.0.2 +Requests==2.32.4 +rich==14.1.0 +scikit_learn==1.7.1 +scipy==1.16.1 +seaborn==0.13.2 +setuptools==80.9.0 +tenacity==9.1.2 +tiktoken==0.11.0 +torch==2.7.1 +torch_geometric==2.6.1 +torchvision==0.23.0 +tqdm==4.67.1 +tree_sitter==0.25.1 +uvicorn==0.35.0 +youtube_transcript_api==1.2.2 diff --git a/research_agent/constant.py b/research_agent/constant.py index 3e6ff97..4e976a3 100755 --- a/research_agent/constant.py +++ b/research_agent/constant.py @@ -35,6 +35,7 @@ def str_to_bool(value): LOG_PATH = global_state.LOG_PATH EVAL_MODE = str_to_bool(os.getenv('EVAL_MODE', False)) BASE_IMAGES = os.getenv('BASE_IMAGES', "tjbtech1/paperapp:latest") +PLATFORM = os.getenv('PLATFORM', "linux/amd64") COMPLETION_MODEL = os.getenv('COMPLETION_MODEL', "gpt-4o-2024-08-06") # gpt-4o-2024-08-06 EMBEDDING_MODEL = os.getenv('EMBEDDING_MODEL', "text-embedding-3-small") diff --git a/research_agent/inno/agents/inno_agent/idea_agent.py b/research_agent/inno/agents/inno_agent/idea_agent.py index c504bf9..8b1426d 100755 --- a/research_agent/inno/agents/inno_agent/idea_agent.py +++ b/research_agent/inno/agents/inno_agent/idea_agent.py @@ -223,16 +223,56 @@ def case_resolved(context_variables: dict): """ After you have taken enough notes for the innovation, you should use this function to merge the notes for the further innovation. """ - merge_notes = "\n".join([f"## {note['definition']}\n* The math formula is:\n{note['math_formula']}\n* * The code implementation is:\n{note['code_implementation']}\n* Reference papers are:\n{note['reference_papers']}\n* Reference codebases are:\n{note['reference_codebases']}" for note in context_variables["notes"]]) - ret_val = f"""\ + try: + notes = context_variables.get("notes", []) + if not notes: + ret_val = "No notes found in context variables. Please ensure notes have been collected before calling case_resolved." + return Result( + value=ret_val, + context_variables=context_variables, + ) + + merged_notes = [] + for note in notes: + # Get values with defaults to handle missing keys + definition = note.get('definition', 'No definition provided') + math_formula = note.get('math_formula', 'No math formula provided') + code_implementation = note.get('code_implementation', 'No code implementation provided') + reference_papers = note.get('reference_papers', 'No reference papers provided') + reference_codebases = note.get('reference_codebases', 'No reference codebases provided') + + note_text = f"""## {definition} +* The math formula is: +{math_formula} +* The code implementation is: +{code_implementation} +* Reference papers are: +{reference_papers} +* Reference codebases are: +{reference_codebases}""" + merged_notes.append(note_text) + + merge_notes = "\n\n".join(merged_notes) + ret_val = f"""\ I have merged the notes for the innovation. The notes are as follows: {merge_notes} """ - return Result( - value=ret_val, - context_variables=context_variables, - ) + return Result( + value=ret_val, + context_variables=context_variables, + ) + except Exception as e: + # Fallback in case of any error + ret_val = f"""\ +Error occurred while merging notes: {str(e)} +Available context variables keys: {list(context_variables.keys())} +Notes structure: {context_variables.get('notes', 'No notes found')} +""" + return Result( + value=ret_val, + context_variables=context_variables, + ) def get_survey_agent(model: str = "gpt-4o", **kwargs): file_env: RequestsMarkdownBrowser = kwargs.get("file_env", None) diff --git a/research_agent/inno/agents/inno_agent/judge_agent.py b/research_agent/inno/agents/inno_agent/judge_agent.py index e5e63c4..6e06443 100755 --- a/research_agent/inno/agents/inno_agent/judge_agent.py +++ b/research_agent/inno/agents/inno_agent/judge_agent.py @@ -1,4 +1,4 @@ -from research_agent.inno.types import Agent +from research_agent.inno.types import Agent, Result from research_agent.inno.tools import gen_code_tree_structure, read_file, terminal_page_down, terminal_page_up, terminal_page_to from research_agent.inno.tools.inno_tools.code_search import search_github_repos from research_agent.inno.tools.inno_tools.web_tools import with_env as with_env_web @@ -32,15 +32,30 @@ def case_resolved( fully_correct: whether the implementation is fully correct. If not, you should give a suggestion about the implementation. suggestion: the suggestion about the implementation. It should be a dictionary with the keys as the key points in the innovative idea and the values as the suggestions about the implementation. If the implementation is fully correct, you can set this argument to None. """ - suggestion_dict = {"fully_correct": fully_correct, "suggestion": suggestion} - context_variables["suggestion_dict"] = suggestion_dict - ret_val = f"""\ + try: + suggestion_dict = {"fully_correct": fully_correct, "suggestion": suggestion} + context_variables["suggestion_dict"] = suggestion_dict + ret_val = f"""\ Here is the suggestion about the implementation: Whether the implementation is fully correct: {fully_correct} The suggestion about the implementation: {json.dumps(suggestion_dict, indent=4)} """ - return ret_val + return Result( + value=ret_val, + context_variables=context_variables, + ) + except Exception as e: + # Fallback in case of any error + ret_val = f"""\ +Error occurred while generating suggestion: {str(e)} +Fully Correct: {fully_correct} +Suggestion: {suggestion} +""" + return Result( + value=ret_val, + context_variables=context_variables, + ) diff --git a/research_agent/inno/agents/inno_agent/ml_agent.py b/research_agent/inno/agents/inno_agent/ml_agent.py index e35d56c..63e75f7 100755 --- a/research_agent/inno/agents/inno_agent/ml_agent.py +++ b/research_agent/inno/agents/inno_agent/ml_agent.py @@ -1,4 +1,4 @@ -from research_agent.inno.types import Agent +from research_agent.inno.types import Agent, Result from research_agent.inno.tools import ( gen_code_tree_structure, execute_command, read_file, create_file, write_file, list_files, create_directory, run_python, terminal_page_down, terminal_page_up, terminal_page_to ) @@ -6,6 +6,7 @@ from research_agent.inno.registry import register_agent from research_agent.inno.environment.docker_env import DockerEnv, with_env from inspect import signature + def case_resolved(task_response): """ The task response is the result of the task. Use this function only after you have successfully completed the task. @@ -13,7 +14,17 @@ def case_resolved(task_response): Args: task_response: The result of the task. """ - return task_response + try: + return Result( + value=task_response, + context_variables={}, + ) + except Exception as e: + # Fallback in case of any error + return Result( + value=f"Error occurred while resolving case: {str(e)}\nTask Response: {task_response}", + context_variables={}, + ) def case_not_resolved(failure_reason): """ @@ -22,7 +33,17 @@ def case_not_resolved(failure_reason): Args: failure_reason: The reason why you cannot find a solution to the task. """ - return failure_reason + try: + return Result( + value=failure_reason, + context_variables={}, + ) + except Exception as e: + # Fallback in case of any error + return Result( + value=f"Error occurred while handling failure: {str(e)}\nFailure Reason: {failure_reason}", + context_variables={}, + ) @register_agent("get_ml_agent") def get_ml_agent(model: str, **kwargs): diff --git a/research_agent/inno/agents/inno_agent/plan_agent.py b/research_agent/inno/agents/inno_agent/plan_agent.py index c4d8e1f..88c34c6 100755 --- a/research_agent/inno/agents/inno_agent/plan_agent.py +++ b/research_agent/inno/agents/inno_agent/plan_agent.py @@ -1,4 +1,4 @@ -from research_agent.inno.types import Agent +from research_agent.inno.types import Agent, Result from research_agent.inno.tools import gen_code_tree_structure, read_file, plan_dataset, plan_model, plan_training, plan_testing, terminal_page_down, terminal_page_up, terminal_page_to from research_agent.inno.util import make_message, make_tool_message from research_agent.inno.registry import register_agent @@ -9,22 +9,42 @@ def case_resolved(context_variables): """ The function to merge the plan of the dataset, model, and training process. Use this function only after you have carefully reviewed the existing resources and understand the task, and get the plan of the dataset, model, training and testing process. """ - merged_plan = f"""\ + try: + # Get values with defaults to handle missing keys + dataset_plan = context_variables.get("dataset_plan", "No dataset plan provided") + model_survey = context_variables.get("model_survey", "No model survey provided") + training_plan = context_variables.get("training_plan", "No training plan provided") + testing_plan = context_variables.get("testing_plan", "No testing plan provided") + + merged_plan = f"""\ I have reviewed the existing resources and understand the task, and here is the plan of the dataset, model, training and testing process: # Dataset Plan -{context_variables["dataset_plan"]} +{dataset_plan} # Model Plan -{context_variables["model_survey"]} +{model_survey} # Training Plan -{context_variables["training_plan"]} +{training_plan} # Testing Plans -{context_variables["testing_plan"]} +{testing_plan} """ - return merged_plan + return Result( + value=merged_plan, + context_variables=context_variables, + ) + except Exception as e: + # Fallback in case of any error + ret_val = f"""\ +Error occurred while merging plans: {str(e)} +Available context variables keys: {list(context_variables.keys())} +""" + return Result( + value=ret_val, + context_variables=context_variables, + ) @register_agent("get_coding_plan_agent") def get_coding_plan_agent(model: str, **kwargs): diff --git a/research_agent/inno/agents/inno_agent/survey_agent.py b/research_agent/inno/agents/inno_agent/survey_agent.py index 1eb6c2c..29d0529 100755 --- a/research_agent/inno/agents/inno_agent/survey_agent.py +++ b/research_agent/inno/agents/inno_agent/survey_agent.py @@ -99,33 +99,29 @@ def instructions(context_variables): - `terminal_page_up`: Scroll the viewport UP one page-length in the current terminal. Use this function when output of the tool is too long and you want to scroll up to see the previous content. - `terminal_page_to`: Move the viewport to the specific page index. Use this function when the terminal output contains a progress bar or output of generating directory structure when there are many datasets in the directory, you can use this function to move the viewport to the end of terminal where the meaningful content is. -2. Documentation: - - `transfer_back_to_survey_agent`: Document findings and merge with `Paper Survey Agent`'s notes - WORKFLOW: -1. Review provided academic definitions and formulas from `Paper Survey Agent` -2. Generate and analyze codebase structure -3. Locate relevant implementation files -4. Extract and document: - - Code implementations - - Implementation details - - Key functions and classes -5. Merge findings with `Paper Survey Agent`'s notes and transfer complete documentation back to `Survey Agent`using the `transfer_back_to_survey_agent` function +1. Generate code structure overview +2. Identify relevant implementation files +3. Extract: + - Code implementations matching the academic definition + - Key algorithms and data structures + - Implementation patterns and best practices +4. Document findings and transfer back to the `Survey Agent` using `transfer_back_to_survey_agent` REQUIREMENTS: -- Ensure code examples directly correspond to theoretical concepts -- Focus on critical implementation details -- Document any important variations or optimizations -- Provide clear connections between theory and implementation +- Focus on practical implementation details +- Ensure code examples are complete and runnable +- Document any modifications or adaptations needed +- Provide clear explanations of how code implements the theoretical concepts -Remember: Your analysis bridges the gap between theoretical concepts and practical implementation. +Remember: Your analysis bridges the gap between theory and practical implementation. """ tool_list = [ gen_code_tree_structure, read_file, terminal_page_down, terminal_page_up, - terminal_page_to + terminal_page_to, ] tool_list = [ with_env_docker(code_env)(tool) if "env" in signature(tool).parameters else tool @@ -145,16 +141,56 @@ def case_resolved(context_variables: dict): """ After you have taken enough notes for the innovation, you should use this function to merge the notes for the further innovation. """ - merge_notes = "\n".join([f"## {note['definition']}\n* The math formula is:\n{note['math_formula']}\n* * The code implementation is:\n{note['code_implementation']}\n* Reference papers are:\n{note['reference_papers']}\n* Reference codebases are:\n{note['reference_codebases']}" for note in context_variables["notes"]]) - ret_val = f"""\ + try: + notes = context_variables.get("notes", []) + if not notes: + ret_val = "No notes found in context variables. Please ensure notes have been collected before calling case_resolved." + return Result( + value=ret_val, + context_variables=context_variables, + ) + + merged_notes = [] + for note in notes: + # Get values with defaults to handle missing keys + definition = note.get('definition', 'No definition provided') + math_formula = note.get('math_formula', 'No math formula provided') + code_implementation = note.get('code_implementation', 'No code implementation provided') + reference_papers = note.get('reference_papers', 'No reference papers provided') + reference_codebases = note.get('reference_codebases', 'No reference codebases provided') + + note_text = f"""## {definition} +* The math formula is: +{math_formula} +* The code implementation is: +{code_implementation} +* Reference papers are: +{reference_papers} +* Reference codebases are: +{reference_codebases}""" + merged_notes.append(note_text) + + merge_notes = "\n\n".join(merged_notes) + ret_val = f"""\ I have merged the notes for the innovation. The notes are as follows: {merge_notes} """ - return Result( - value=ret_val, - context_variables=context_variables, - ) + return Result( + value=ret_val, + context_variables=context_variables, + ) + except Exception as e: + # Fallback in case of any error + ret_val = f"""\ +Error occurred while merging notes: {str(e)} +Available context variables keys: {list(context_variables.keys())} +Notes structure: {context_variables.get('notes', 'No notes found')} +""" + return Result( + value=ret_val, + context_variables=context_variables, + ) def get_survey_agent(model: str = "gpt-4o", **kwargs): file_env: RequestsMarkdownBrowser = kwargs.get("file_env", None) @@ -185,70 +221,94 @@ def instructions(context_variables): e. After the `Code Survey Agent` has extracted the corresponding code implementations, `Code Survey Agent` will use `transfer_back_to_survey_agent` function to forward all findings to the `Survey Agent` f. `Survey Agent` will collect and organize the notes for each definition -4. ITERATIVE PROCESS -- Continue this process until ALL atomic definitions have been covered -- Do not conclude until you have thoroughly examined all concepts necessary for the innovation - -5. FINAL COMPILATION -- Use the `case_resolved` function to merge all collected notes -- Ensure the final output is well-structured and comprehensive +4. COMPREHENSIVE NOTE COLLECTION +- Ensure all notes are properly structured and complete +- Verify that each definition has: + * Clear academic definition + * Mathematical formulas + * Code implementations + * Reference papers and codebases -IMPORTANT NOTES: -- Before proceeding with any analysis, you MUST first break down the innovative idea into atomic definitions -- Each atomic definition should be specific enough to be traced to concrete mathematical formulas and code implementations -- Do not skip or combine definitions - each atomic concept must be analyzed separately -- If you're unsure about a definition's atomicity, err on the side of breaking it down further -- Document your breakdown reasoning before proceeding with the analysis +5. FINAL INTEGRATION +- Use `case_resolved` function to merge all collected notes +- Ensure the final output is comprehensive and ready for implementation -Your goal is to create a complete knowledge base that bridges theoretical concepts with practical implementations for the proposed innovation. +IMPORTANT GUIDELINES: +- Be systematic and thorough in your analysis +- Ensure each atomic definition is properly explored +- Maintain clear documentation throughout the process +- Focus on practical implementation feasibility """ - paper_survey_agent = get_paper_survey_agent(model, file_env=file_env) - code_survey_agent = get_code_survey_agent(model, code_env=code_env) survey_agent = Agent( name="Survey Agent", model=model, instructions=instructions, + functions=[], tool_choice="required", parallel_tool_calls=False, ) + paper_survey_agent = get_paper_survey_agent(model, file_env=file_env) + code_survey_agent = get_code_survey_agent(model, code_env=code_env) def transfer_back_to_survey_agent(academic_definition: str, code_implementation: str, reference_codebases: List[str], context_variables: dict): """ - After you have carefully read the related paper, understood the academic definition, especially the math formula, and reviewed the corresponding code implementation, you should take notes about the specific academic definition, math formula, and code implementation for the further innovation. + You should pass the code implementation back to the `Survey Agent` to let it collect the notes for the innovation. + [IMPORTANT] You can use this function only after you have use the provided tools to actually and carefully read and analyze the codebases. DONNOT use this function before you have read the codebases. Args: academic_definition: the academic definition to be explored. It should be a single, atomic academic concept with a few words. code_implementation: the code implementation of the academic definition. [IMPORTANT] It should be as complete as possible and it should be the real code. reference_codebases: the list of reference codebases. If you don't have reference codebases, you can set it to `None`. """ - # context_variables["notes"] = { - # academic_definition: { - # "definition": academic_definition, - # "math_formula": math_formula, - # "code_implementation": code_implementation, - # "references": references, - # } - # } - context_variables["notes"][-1]["code_implementation"] = code_implementation - context_variables["notes"][-1]["reference_codebases"] = reference_codebases - ret_val = f"""\ + try: + # Ensure notes list exists + if "notes" not in context_variables: + context_variables["notes"] = [] + + # Ensure the last note exists + if not context_variables["notes"]: + context_variables["notes"].append({"definition": academic_definition}) + + # Update the last note with safe access + last_note = context_variables["notes"][-1] + last_note["code_implementation"] = code_implementation + last_note["reference_codebases"] = reference_codebases + + # Get values with defaults + math_formula = last_note.get("math_formula", "No math formula provided") + reference_papers = last_note.get("reference_papers", "No reference papers provided") + + ret_val = f"""\ I have taken notes for the innovation. The notes are as follows: ## Academic Definition {academic_definition} ## Math Formula - {context_variables["notes"][-1]["math_formula"]} + {math_formula} ## Reference papers - {context_variables["notes"][-1]["reference_papers"]} + {reference_papers} ## Code Implementation - {context_variables["notes"][-1]["code_implementation"]} + {code_implementation} ## Reference codebases - {context_variables["notes"][-1]["reference_codebases"]} + {reference_codebases} """ - return Result( - value=ret_val, - context_variables=context_variables, - agent=survey_agent, - ) + return Result( + value=ret_val, + context_variables=context_variables, + agent=survey_agent, + ) + except Exception as e: + # Fallback in case of any error + ret_val = f"""\ + Error occurred while taking notes: {str(e)} + Academic Definition: {academic_definition} + Code Implementation: {code_implementation} + Reference Codebases: {reference_codebases} + """ + return Result( + value=ret_val, + context_variables=context_variables, + agent=survey_agent, + ) def transfer_to_paper_survey_agent(academic_definition: str, context_variables: dict): """ You should pass a specific academic definition to the `Paper Survey Agent` and `Code Survey Agent` to let them find the corresponding math formula and code implementation. @@ -256,15 +316,39 @@ def transfer_to_paper_survey_agent(academic_definition: str, context_variables: Args: academic_definition: the academic definition to be explored. It should be a single, atomic academic concept with a few words. """ - ret_val = f"""\ + try: + # Ensure notes list exists + if "notes" not in context_variables: + context_variables["notes"] = [] + + # Add new note with proper structure + context_variables["notes"].append({ + "definition": academic_definition, + "math_formula": "To be filled by Paper Survey Agent", + "code_implementation": "To be filled by Code Survey Agent", + "reference_papers": "To be filled by Paper Survey Agent", + "reference_codebases": "To be filled by Code Survey Agent" + }) + + ret_val = f"""\ You should explore the papers and extract the math formula for the academic definition: {academic_definition}. """ - context_variables["notes"].append({"definition": academic_definition}) - return Result( - value=ret_val, - agent=paper_survey_agent, - context_variables=context_variables, - ) + return Result( + value=ret_val, + agent=paper_survey_agent, + context_variables=context_variables, + ) + except Exception as e: + # Fallback in case of any error + ret_val = f"""\ +Error occurred while transferring to Paper Survey Agent: {str(e)} +Academic Definition: {academic_definition} +""" + return Result( + value=ret_val, + agent=paper_survey_agent, + context_variables=context_variables, + ) def transfer_to_code_survey_agent(academic_definition: str, math_formula: str, reference_papers: List[str], context_variables: dict): """ You should pass a specific academic definition and math formula to the `Code Survey Agent` to let it find the corresponding code implementation. @@ -274,16 +358,40 @@ def transfer_to_code_survey_agent(academic_definition: str, math_formula: str, r math_formula: the full math formula to be implemented. [IMPORTANT] It should be as complete as possible and it should be the real math formula. reference_papers: the list of reference papers. If you don't have reference papers, you can set it to `None`. """ - ret_val = f"""\ + try: + # Ensure notes list exists and has at least one note + if "notes" not in context_variables: + context_variables["notes"] = [] + + if not context_variables["notes"]: + context_variables["notes"].append({"definition": academic_definition}) + + # Update the last note with safe access + last_note = context_variables["notes"][-1] + last_note["math_formula"] = math_formula + last_note["reference_papers"] = reference_papers + + ret_val = f"""\ You should explore the codebases and extract the code implementation for the academic definition: {academic_definition} and math formula: {math_formula}. """ - context_variables["notes"][-1]["math_formula"] = math_formula - context_variables["notes"][-1]["reference_papers"] = reference_papers - return Result( - value=ret_val, - agent=code_survey_agent, - context_variables=context_variables, - ) + return Result( + value=ret_val, + agent=code_survey_agent, + context_variables=context_variables, + ) + except Exception as e: + # Fallback in case of any error + ret_val = f"""\ +Error occurred while transferring to Code Survey Agent: {str(e)} +Academic Definition: {academic_definition} +Math Formula: {math_formula} +Reference Papers: {reference_papers} +""" + return Result( + value=ret_val, + agent=code_survey_agent, + context_variables=context_variables, + ) survey_agent.functions = [transfer_to_paper_survey_agent, case_resolved] paper_survey_agent.functions.append(transfer_to_code_survey_agent) code_survey_agent.functions.append(transfer_back_to_survey_agent) diff --git a/research_agent/inno/core.py b/research_agent/inno/core.py index 6e46bd0..7be0497 100755 --- a/research_agent/inno/core.py +++ b/research_agent/inno/core.py @@ -168,13 +168,36 @@ def handle_function_result(self, result, debug) -> Result: value=json.dumps({"assistant": agent.name}), agent=agent, ) + case None: + # Handle None values gracefully + error_message = "Agent function returned None. This indicates an error in the agent's execution." + self.logger.info(error_message, title="Handle Function Result Error", color="red") + return Result( + value=error_message, + context_variables={} + ) case _: try: - return Result(value=str(result)) + # Convert to string, but handle edge cases + if result is None: + result_str = "Agent function returned None" + else: + result_str = str(result) + + # Ensure the result is not empty or just whitespace + if not result_str or result_str.strip() == "": + result_str = "Agent function returned empty result" + elif result_str.strip().lower() == "none": + result_str = "Agent function returned None" + + return Result(value=result_str) except Exception as e: error_message = f"Failed to cast response to string: {result}. Make sure agent functions return a string or Result object. Error: {str(e)}" self.logger.info(error_message, title="Handle Function Result Error", color="red") - raise TypeError(error_message) + return Result( + value=error_message, + context_variables={} + ) def handle_tool_calls( self, diff --git a/research_agent/inno/environment/docker_env.py b/research_agent/inno/environment/docker_env.py index 879bd17..3af790e 100755 --- a/research_agent/inno/environment/docker_env.py +++ b/research_agent/inno/environment/docker_env.py @@ -39,6 +39,14 @@ def __init__(self, config: Union[DockerConfig, Dict]): self.communication_port = config.communication_port def init_container(self): + # Check if we're running inside Docker + if os.path.exists('/.dockerenv'): + # We're already inside Docker, use local execution + print(f"Running inside Docker container, using local execution for {self.container_name}") + os.makedirs(self.local_workplace, exist_ok=True) + return + + # Original Docker container logic for when running on host container_check_command = ["docker", "ps", "-a", "--filter", f"name={self.container_name}", "--format", "{{.Names}}"] existing_container = subprocess.run(container_check_command, capture_output=True, text=True) os.makedirs(self.local_workplace, exist_ok=True) @@ -147,6 +155,31 @@ def run_command(self, command, stream_callback=None): Returns: dict: the complete JSON result returned by the docker container """ + # Check if we're running inside Docker + if os.path.exists('/.dockerenv'): + # We're already inside Docker, execute command locally + try: + # Change to the workplace directory + original_cwd = os.getcwd() + os.chdir(self.local_workplace) + + # Execute the command + result = subprocess.run(command, shell=True, capture_output=True, text=True) + + # Restore original directory + os.chdir(original_cwd) + + return { + 'status': result.returncode, + 'result': result.stdout + result.stderr + } + except Exception as e: + return { + 'status': -1, + 'result': f'Error executing command locally: {str(e)}' + } + + # Original Docker container communication logic hostname = 'localhost' port = self.communication_port buffer_size = 4096 diff --git a/research_agent/inno/tools/__init__.py b/research_agent/inno/tools/__init__.py index 71a7dd0..8813f0e 100755 --- a/research_agent/inno/tools/__init__.py +++ b/research_agent/inno/tools/__init__.py @@ -58,7 +58,7 @@ def import_tools_recursively(base_dir: str, base_package: str): # get the current directory and import all tools current_dir = os.path.dirname(__file__) -import_tools_recursively(current_dir, 'inno.tools') +import_tools_recursively(current_dir, 'research_agent.inno.tools') # export all tool creation functions globals().update(registry.tools) diff --git a/research_agent/run_infer_idea.py b/research_agent/run_infer_idea.py index e934434..6bde8c1 100644 --- a/research_agent/run_infer_idea.py +++ b/research_agent/run_infer_idea.py @@ -30,6 +30,20 @@ def warp_source_papers(source_papers): return "\n".join([f"Title: {source_paper['reference']}; You can use this paper in the following way: {source_paper['usage']}" for source_paper in source_papers]) def extract_json_from_output(output_text: str) -> dict: + # Handle None or error cases + if not output_text or output_text.strip() == "": + print("Output text is empty or None") + return {} + + if output_text.strip().lower() == "none": + print("Output text is 'None'") + return {} + + # Check if the output contains error messages + if "error" in output_text.lower() or "failed" in output_text.lower(): + print(f"Output contains error message: {output_text[:100]}...") + return {} + # 计数器方法来找到完整的JSON def find_json_boundaries(text): stack = [] @@ -56,7 +70,9 @@ def find_json_boundaries(text): except json.JSONDecodeError as e: print(f"JSON解析错误: {e}") return {} - return {} + else: + print(f"No valid JSON found in output: {output_text[:100]}...") + return {} def get_args(): parser = argparse.ArgumentParser() parser.add_argument("--instance_path", type=str, default="benchmark/gnn.json") @@ -112,16 +128,31 @@ def __init__(self, cache_path: str, log_path: Union[str, None, MetaChainLogger] self.code_survey_agent = AgentModule(get_code_survey_agent(model=CHEEP_MODEL, file_env=file_env, code_env=code_env), self.client, cache_path) self.exp_analyser = AgentModule(get_exp_analyser_agent(model=CHEEP_MODEL, file_env=file_env, code_env=code_env), self.client, cache_path) async def forward(self, instance_path: str, task_level: str, local_root: str, workplace_name: str, max_iter_times: int, category: str, references: str, *args, **kwargs): - metadata = self.load_ins({"instance_path": instance_path, "task_level": task_level}) - context_variables = { - "working_dir": workplace_name, # TODO: change to the codebase path - "date_limit": metadata["date_limit"], - } + try: + metadata = self.load_ins({"instance_path": instance_path, "task_level": task_level}) + context_variables = { + "working_dir": workplace_name, # TODO: change to the codebase path + "date_limit": metadata["date_limit"], + } + except Exception as e: + print(f"Error loading instance: {str(e)}") + # Continue with default values + metadata = {"date_limit": "2024-01-01"} + context_variables = { + "working_dir": workplace_name, + "date_limit": "2024-01-01", + } - github_result = self.git_search({"metadata": metadata}) - data_module = importlib.import_module(f"benchmark.process.dataset_candidate.{category}.metaprompt") + try: + github_result = self.git_search({"metadata": metadata}) + except Exception as e: + print(f"Error in GitHub search: {str(e)}") + github_result = "GitHub search failed due to technical issues." + + try: + data_module = importlib.import_module(f"benchmark.process.dataset_candidate.{category}.metaprompt") - dataset_description = f"""\ + dataset_description = f"""\ You should select SEVERAL datasets as experimental datasets from the following description: {data_module.DATASET} @@ -136,6 +167,9 @@ async def forward(self, instance_path: str, task_level: str, local_root: str, wo {data_module.REF} """ + except Exception as e: + print(f"Error loading dataset module: {str(e)}") + dataset_description = "Dataset information could not be loaded due to technical issues." query = f"""\ You are given a list of papers, searching results of the papers on GitHub. diff --git a/research_agent/run_infer_plan.py b/research_agent/run_infer_plan.py index 653e0b5..39faaf9 100755 --- a/research_agent/run_infer_plan.py +++ b/research_agent/run_infer_plan.py @@ -29,6 +29,20 @@ def warp_source_papers(source_papers): return "\n".join([f"Title: {source_paper['reference']}; You can use this paper in the following way: {source_paper['usage']}" for source_paper in source_papers]) def extract_json_from_output(output_text: str) -> dict: + # Handle None or error cases + if not output_text or output_text.strip() == "": + print("Output text is empty or None") + return {} + + if output_text.strip().lower() == "none": + print("Output text is 'None'") + return {} + + # Check if the output contains error messages + if "error" in output_text.lower() or "failed" in output_text.lower(): + print(f"Output contains error message: {output_text[:100]}...") + return {} + # 计数器方法来找到完整的JSON def find_json_boundaries(text): stack = [] @@ -55,7 +69,9 @@ def find_json_boundaries(text): except json.JSONDecodeError as e: print(f"JSON解析错误: {e}") return {} - return {} + else: + print(f"No valid JSON found in output: {output_text[:100]}...") + return {} def get_args(): parser = argparse.ArgumentParser() parser.add_argument("--instance_path", type=str, default="benchmark/gnn.json") @@ -111,13 +127,26 @@ def __init__(self, cache_path: str, log_path: Union[str, None, MetaChainLogger] self.survey_agent = AgentModule(get_survey_agent(model=CHEEP_MODEL, file_env=file_env, code_env=code_env), self.client, cache_path) self.exp_analyser = AgentModule(get_exp_analyser_agent(model=CHEEP_MODEL, file_env=file_env, code_env=code_env), self.client, cache_path) async def forward(self, instance_path: str, task_level: str, local_root: str, workplace_name: str, max_iter_times: int, category: str, ideas: str, references: str, *args, **kwargs): - metadata = self.load_ins({"instance_path": instance_path, "task_level": task_level}) - context_variables = { - "working_dir": workplace_name, # TODO: change to the codebase path - "date_limit": metadata["date_limit"], - } + try: + metadata = self.load_ins({"instance_path": instance_path, "task_level": task_level}) + context_variables = { + "working_dir": workplace_name, # TODO: change to the codebase path + "date_limit": metadata["date_limit"], + } + except Exception as e: + print(f"Error loading instance: {str(e)}") + # Continue with default values + metadata = {"date_limit": "2024-01-01"} + context_variables = { + "working_dir": workplace_name, + "date_limit": "2024-01-01", + } - github_result = self.git_search({"metadata": metadata}) + try: + github_result = self.git_search({"metadata": metadata}) + except Exception as e: + print(f"Error in GitHub search: {str(e)}") + github_result = "GitHub search failed due to technical issues." query = f"""\ @@ -134,11 +163,22 @@ async def forward(self, instance_path: str, task_level: str, local_root: str, wo Your task is to choose at least 5 repositories as the reference codebases. """ messages = [{"role": "user", "content": query}] - prepare_messages, context_variables = await self.prepare_agent(messages, context_variables) - prepare_res = prepare_messages[-1]["content"] - prepare_dict = extract_json_from_output(prepare_res) - paper_list = prepare_dict["reference_papers"] - download_res = self.download_papaer({"paper_list": paper_list, "local_root": local_root, "workplace_name": workplace_name}) + + try: + prepare_messages, context_variables = await self.prepare_agent(messages, context_variables) + prepare_res = prepare_messages[-1]["content"] + prepare_dict = extract_json_from_output(prepare_res) + paper_list = prepare_dict.get("reference_papers", []) + except Exception as e: + print(f"Error in prepare agent: {str(e)}") + prepare_res = "Prepare agent failed due to technical issues." + paper_list = [] + + try: + download_res = self.download_papaer({"paper_list": paper_list, "local_root": local_root, "workplace_name": workplace_name}) + except Exception as e: + print(f"Error downloading papers: {str(e)}") + download_res = "Paper download failed due to technical issues." survey_query = f"""\ I have an innovative ideas related to machine learning: {ideas} @@ -156,13 +196,20 @@ async def forward(self, instance_path: str, task_level: str, local_root: str, wo """ messages = [{"role": "user", "content": survey_query}] context_variables["notes"] = [] - survey_messages, context_variables = await self.survey_agent(messages, context_variables) - survey_res = survey_messages[-1]["content"] - context_variables["model_survey"] = survey_res + + try: + survey_messages, context_variables = await self.survey_agent(messages, context_variables) + survey_res = survey_messages[-1]["content"] + context_variables["model_survey"] = survey_res + except Exception as e: + print(f"Error in survey agent: {str(e)}") + survey_res = "Survey agent failed due to technical issues." + context_variables["model_survey"] = survey_res - data_module = importlib.import_module(f"benchmark.process.dataset_candidate.{category}.metaprompt") + try: + data_module = importlib.import_module(f"benchmark.process.dataset_candidate.{category}.metaprompt") - dataset_description = f"""\ + dataset_description = f"""\ You should select SEVERAL datasets as experimental datasets from the following description: {data_module.DATASET} @@ -177,6 +224,9 @@ async def forward(self, instance_path: str, task_level: str, local_root: str, wo {data_module.REF} """ + except Exception as e: + print(f"Error loading dataset module: {str(e)}") + dataset_description = "Dataset information could not be loaded due to technical issues." plan_query = f"""\ I have an innovative ideas related to machine learning: @@ -195,8 +245,13 @@ async def forward(self, instance_path: str, task_level: str, local_root: str, wo Your task is to carefully review the existing resources and understand the task, and give me a detailed plan for the implementation. """ messages = [{"role": "user", "content": plan_query}] - plan_messages, context_variables = await self.coding_plan_agent(messages, context_variables) - plan_res = plan_messages[-1]["content"] + + try: + plan_messages, context_variables = await self.coding_plan_agent(messages, context_variables) + plan_res = plan_messages[-1]["content"] + except Exception as e: + print(f"Error in coding plan agent: {str(e)}") + plan_res = "Coding plan agent failed due to technical issues." # write the model based on the model survey notes ml_dev_query = f"""\ diff --git a/start_docker.bat b/start_docker.bat new file mode 100644 index 0000000..71c4caf --- /dev/null +++ b/start_docker.bat @@ -0,0 +1,90 @@ +@echo off +echo 🚀 Starting AI-Researcher with Docker Compose +echo ============================================== + +REM Check if Docker is installed +docker --version >nul 2>&1 +if errorlevel 1 ( + echo ❌ Docker is not installed. Please install Docker first. + echo Visit: https://docs.docker.com/get-docker/ + pause + exit /b 1 +) + +REM Check if Docker Compose is installed +docker-compose --version >nul 2>&1 +if errorlevel 1 ( + echo ❌ Docker Compose is not installed. Please install Docker Compose first. + echo Visit: https://docs.docker.com/compose/install/ + pause + exit /b 1 +) + +REM Create necessary directories +echo 📁 Creating necessary directories... +if not exist workplace mkdir workplace +if not exist cache mkdir cache +if not exist logs mkdir logs + +REM Check if .env file exists +if not exist .env ( + echo ⚠️ .env file not found. Creating from template... + ( + echo # ================ container configuration ================ + echo DOCKER_WORKPLACE_NAME=workplace_paper + echo BASE_IMAGES=tjbtech1/airesearcher:v1 + echo COMPLETION_MODEL=openrouter/google/gemini-2.0-flash-exp +echo CHEEP_MODEL=openrouter/google/gemini-2.0-flash-exp + echo GPUS='"device=0"' + echo CONTAINER_NAME=paper_eval + echo WORKPLACE_NAME=workplace + echo CACHE_PATH=cache + echo PORT=7020 + echo PLATFORM=linux/amd64 + echo. + echo # ================ llm configuration ================ + echo GITHUB_AI_TOKEN=your_github_ai_token + echo OPENROUTER_API_KEY=your_openrouter_api_key + echo OPENROUTER_API_BASE=https://openrouter.ai/api/v1 + echo. + echo # ================ task configuration ================ + echo CATEGORY=vq + echo INSTANCE_ID=one_layer_vq + echo TASK_LEVEL=task1 + echo MAX_ITER_TIMES=0 + ) > .env + echo ✅ .env file created. Please edit it with your API keys before continuing. + echo Required API keys: + echo - GITHUB_AI_TOKEN: Your GitHub AI token + echo - OPENROUTER_API_KEY: Your OpenRouter API key + echo. + echo After editing .env, run this script again. + pause + exit /b 0 +) + +REM Build the Docker image +echo 📦 Building Docker image... +docker-compose build ai-researcher + +REM Start the services +echo 🚀 Starting Docker Compose services... +docker-compose up -d + +echo. +echo ✅ AI-Researcher is starting up! +echo. +echo 📊 Services: +echo - AI Researcher API: http://localhost:8000 +echo - Web GUI: http://localhost:7860 +echo. +echo 📝 To view logs: +echo docker-compose logs -f +echo. +echo 🛑 To stop services: +echo docker-compose down +echo. +echo 🔧 To restart services: +echo docker-compose restart +echo. +pause diff --git a/start_docker.sh b/start_docker.sh new file mode 100644 index 0000000..1931d61 --- /dev/null +++ b/start_docker.sh @@ -0,0 +1,82 @@ +#!/bin/bash + +echo "🚀 Starting AI-Researcher with Docker Compose" +echo "==============================================" + +# Check if Docker is installed +if ! command -v docker &> /dev/null; then + echo "❌ Docker is not installed. Please install Docker first." + echo " Visit: https://docs.docker.com/get-docker/" + exit 1 +fi + +# Check if Docker Compose is installed +if ! command -v docker-compose &> /dev/null; then + echo "❌ Docker Compose is not installed. Please install Docker Compose first." + echo " Visit: https://docs.docker.com/compose/install/" + exit 1 +fi + +# Create necessary directories +echo "📁 Creating necessary directories..." +mkdir -p workplace cache logs + +# Check if .env file exists +if [ ! -f .env ]; then + echo "⚠️ .env file not found. Creating from template..." + cat > .env << 'EOF' +# ================ container configuration ================ +DOCKER_WORKPLACE_NAME=workplace_paper +BASE_IMAGES=tjbtech1/airesearcher:v1 +COMPLETION_MODEL=openrouter/google/gemini-2.0-flash-exp +CHEEP_MODEL=openrouter/google/gemini-2.0-flash-exp +GPUS='"device=0"' +CONTAINER_NAME=paper_eval +WORKPLACE_NAME=workplace +CACHE_PATH=cache +PORT=7020 +PLATFORM=linux/amd64 + +# ================ llm configuration ================ +GITHUB_AI_TOKEN=your_github_ai_token +OPENROUTER_API_KEY=your_openrouter_api_key +OPENROUTER_API_BASE=https://openrouter.ai/api/v1 + +# ================ task configuration ================ +CATEGORY=vq +INSTANCE_ID=one_layer_vq +TASK_LEVEL=task1 +MAX_ITER_TIMES=0 +EOF + echo "✅ .env file created. Please edit it with your API keys before continuing." + echo " Required API keys:" + echo " - GITHUB_AI_TOKEN: Your GitHub AI token" + echo " - OPENROUTER_API_KEY: Your OpenRouter API key" + echo "" + echo " After editing .env, run this script again." + exit 0 +fi + +# Build the Docker image +echo "📦 Building Docker image..." +docker-compose build ai-researcher + +# Start the services +echo "🚀 Starting Docker Compose services..." +docker-compose up -d + +echo "" +echo "✅ AI-Researcher is starting up!" +echo "" +echo "📊 Services:" +echo " - AI Researcher API: http://localhost:8000" +echo " - Web GUI: http://localhost:7860" +echo "" +echo "📝 To view logs:" +echo " docker-compose logs -f" +echo "" +echo "🛑 To stop services:" +echo " docker-compose down" +echo "" +echo "🔧 To restart services:" +echo " docker-compose restart" diff --git a/web_ai_researcher.py b/web_ai_researcher.py index 033ee08..520649a 100644 --- a/web_ai_researcher.py +++ b/web_ai_researcher.py @@ -18,9 +18,9 @@ os.environ["PYTHONIOENCODING"] = "utf-8" # If you want to use proxy, please uncomment the following lines -os.environ['https_proxy'] = 'http://100.68.161.73:3128' -os.environ['http_proxy'] = 'http://100.68.161.73:3128' -os.environ['no_proxy'] = 'localhost,127.0.0.1,0.0.0.0' +# os.environ['https_proxy'] = 'http://100.68.161.73:3128' +# os.environ['http_proxy'] = 'http://100.68.161.73:3128' +# os.environ['no_proxy'] = 'localhost,127.0.0.1,0.0.0.0' def setup_path(): # logs_dir = os.path.join("casestudy_results", f'agent_{container_name}', 'logs') @@ -1656,12 +1656,12 @@ def main(): allowed_paths = [os.path.dirname(LOG_FILE)] app.launch( share=False, - server_port=7039, - server_name="127.0.0.1", + server_port=int(os.getenv("GRADIO_SERVER_PORT", 7860)), + server_name=os.getenv("GRADIO_SERVER_NAME", "0.0.0.0"), allowed_paths=allowed_paths, show_error=True, quiet=False, - favicon_path="assets/logo.png" + favicon_path=None ) except Exception as e: diff --git a/workplace/supervisord.pid b/workplace/supervisord.pid new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/workplace/supervisord.pid @@ -0,0 +1 @@ +1