[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"tool-openai--random-network-distillation":3,"similar-openai--random-network-distillation":77},{"id":4,"github_repo":5,"name":6,"description_en":7,"description_zh":8,"ai_summary_zh":8,"readme_en":9,"readme_zh":10,"quickstart_zh":11,"use_case_zh":12,"hero_image_url":13,"owner_login":14,"owner_name":15,"owner_avatar_url":16,"owner_bio":17,"owner_company":18,"owner_location":18,"owner_email":18,"owner_twitter":18,"owner_website":19,"owner_url":20,"languages":21,"stars":26,"forks":27,"last_commit_at":28,"license":18,"difficulty_score":29,"env_os":30,"env_gpu":31,"env_ram":30,"env_deps":32,"category_tags":37,"github_topics":39,"view_count":41,"oss_zip_url":18,"oss_zip_packed_at":18,"status":42,"created_at":43,"updated_at":44,"faqs":45,"releases":76},1444,"openai\u002Frandom-network-distillation","random-network-distillation","Code for the paper \"Exploration by Random Network Distillation\"","random-network-distillation 是 OpenAI 开源的一项强化学习算法实现，源自论文《通过随机网络蒸馏进行探索》。它主要致力于解决智能体在“稀疏奖励”环境下的探索难题，例如在经典游戏《蒙特祖玛的复仇》中，传统算法往往因难以获得反馈而停滞不前。\n\n该工具的核心技术亮点在于“随机网络蒸馏”（RND）机制。它通过构建一个固定的随机神经网络作为目标，并训练另一个预测网络去拟合其输出，将预测误差转化为内在的“好奇心奖励”。这种机制鼓励智能体主动探索那些未曾见过的状态，从而在没有外部奖励指引的情况下也能高效学习。\n\n由于项目目前处于归档状态，代码按原样提供且不再更新，因此 random-network-distillation 更适合人工智能领域的研究人员和资深开发者使用。对于希望深入研究强化学习探索机制、复现经典实验或在自定义环境中尝试基于预测奖励方法的团队来说，这是一份极具参考价值的基准代码。普通用户或非技术背景的设计师可能因缺乏图形界面及较高的数学门槛而难以直接上手，但其背后的思想对理解机器如何像人类一样保持“好奇心”具有重要的启发意义。","**Status:** Archive (code is provided as-is, no updates expected)\n\n## [Exploration by Random Network Distillation](https:\u002F\u002Farxiv.org\u002Fabs\u002F1810.12894) ##\n\n\nYuri Burda*, Harri Edwards*, Amos Storkey, Oleg Klimov\u003Cbr\u002F>\n&#42;equal contribution\n\nOpenAI\u003Cbr\u002F>\nUniversity of Edinburgh\n\n\n### Installation and Usage\nThe following command should train an RND agent on Montezuma's Revenge\n```bash\npython run_atari.py --gamma_ext 0.999\n```\nTo use more than one gpu\u002Fmachine, use MPI (e.g. `mpiexec -n 8 python run_atari.py --num_env 128 --gamma_ext 0.999` should use 1024 parallel environments to collect experience on an 8 gpu machine). \n\n### [Blog post and videos](https:\u002F\u002Fblog.openai.com\u002Freinforcement-learning-with-prediction-based-rewards\u002F)\n","**状态：已归档（代码按原样提供，暂无更新计划）**\n\n## [基于随机网络蒸馏的探索](https:\u002F\u002Farxiv.org\u002Fabs\u002F1810.12894) ##\n\n\n尤里·布尔达*、哈里·爱德华兹*、阿莫斯·斯托基、奥列格·克利莫夫\u003Cbr\u002F>\n&emsp;同等贡献\n\nOpenAI\u003Cbr\u002F>\n爱丁堡大学\n\n\n### 安装与使用\n以下命令应可在《蒙特祖玛复仇记》上训练一个RND智能体：\n```bash\npython run_atari.py --gamma_ext 0.999\n```\n若需使用多台GPU或多台机器，请采用MPI方式（例如，`mpiexec -n 8 python run_atari.py --num_env 128 --gamma_ext 0.999` 将在8台GPU机器上运行，以并行采集经验，共128个环境）。\n\n### [博客文章与视频](https:\u002F\u002Fblog.openai.com\u002Freinforcement-learning-with-prediction-based-rewards\u002F)","# Random Network Distillation (RND) 快速上手指南\n\n> **注意**：本项目目前处于归档状态（Archive），代码按原样提供，预计不再有更新。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**：Linux (推荐 Ubuntu 16.04+) 或 macOS。\n*   **Python 版本**：Python 3.6 或更高版本。\n*   **硬件要求**：\n    *   支持 CUDA 的 NVIDIA GPU（用于加速训练）。\n    *   若需多卡或多机分布式训练，需安装 MPI 环境。\n*   **前置依赖**：\n    *   PyTorch\n    *   OpenAI Gym (含 Atari 游戏支持)\n    *   MPI (如 `openmpi` 或 `mpich`，仅在多卡\u002F多机场景需要)\n\n> **国内加速建议**：\n> 安装 Python 依赖时，推荐使用清华或阿里镜像源以提升下载速度：\n> ```bash\n> pip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n> ```\n\n## 安装步骤\n\n1.  **克隆仓库**\n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002Fopenai\u002Frandom-network-distillation.git\n    cd random-network-distillation\n    ```\n\n2.  **安装依赖**\n    根据项目根目录下的 `requirements.txt` 安装所需库：\n    ```bash\n    pip install -r requirements.txt\n    ```\n    *(如需使用国内镜像，请参考上方“环境准备”中的命令)*\n\n3.  **配置 Atari 环境 (可选但推荐)**\n    确保已正确安装 `atari-py` 并下载 ROM 文件，以便运行蒙特祖玛的复仇（Montezuma's Revenge）等游戏示例。\n\n## 基本使用\n\n### 单卡训练示例\n以下命令将在 **Montezuma's Revenge** 环境中训练一个 RND 智能体：\n\n```bash\npython run_atari.py --gamma_ext 0.999\n```\n\n### 多卡\u002F分布式训练示例\n若需利用多张 GPU 或多台机器进行并行训练，请使用 MPI。例如，在拥有 8 张 GPU 的机器上启动 1024 个并行环境：\n\n```bash\nmpiexec -n 8 python run_atari.py --num_env 128 --gamma_ext 0.999\n```\n\n*   `-n 8`：表示使用 8 个 MPI 进程（对应 8 张 GPU）。\n*   `--num_env 128`：每个进程运行 128 个并行环境，总计 $8 \\times 128 = 1024$ 个环境。\n\n---\n*更多技术细节、博客文章及演示视频，请参阅 [OpenAI 官方博客](https:\u002F\u002Fblog.openai.com\u002Freinforcement-learning-with-prediction-based-rewards\u002F)。*","某游戏 AI 研发团队正在训练智能体挑战《蒙特祖玛的复仇》，这是一款以极度稀疏奖励和高难度探索著称的经典 Atari 游戏。\n\n### 没有 random-network-distillation 时\n- 智能体因害怕未知而不敢离开初始安全区，导致在数亿次训练中始终无法发现第一个关键道具。\n- 传统的 ε-greedy 随机探索效率极低，大部分计算资源浪费在无意义的原地跳跃或撞墙行为上。\n- 由于长期收不到任何环境奖励信号，策略网络难以收敛，开发人员无法判断是算法失效还是参数设置错误。\n- 团队被迫花费大量时间人工设计复杂的“奖励函数”来引导路径，严重偏离了端到端强化学习的初衷。\n\n### 使用 random-network-distillation 后\n- 智能体被内在好奇心驱动，主动前往从未访问过的房间，迅速解锁了游戏初期的隐藏通道。\n- 通过预测随机网络输出的误差作为内在奖励，系统能自动识别并优先探索那些“意想不到”的状态，大幅减少无效试错。\n- 即使在没有外部得分的情况下，智能体也能获得稳定的梯度更新信号，训练曲线呈现出清晰的探索进度。\n- 研发人员无需再手动编写启发式规则，仅凭该工具生成的内在动机就让智能体在标准基准测试中达到了人类专家水平。\n\nrandom-network-distillation 通过将“好奇心”量化为数学信号，彻底解决了强化学习在稀疏奖励环境中“不敢探索、不会探索”的核心难题。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fopenai_random-network-distillation_9778636c.png","openai","OpenAI","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fopenai_1960bbf4.png","",null,"https:\u002F\u002Fopenai.com\u002F","https:\u002F\u002Fgithub.com\u002Fopenai",[22],{"name":23,"color":24,"percentage":25},"Python","#3572A5",100,932,164,"2026-03-30T00:48:44",4,"未说明","支持多 GPU 并行训练（需配合 MPI 使用），具体型号、显存大小及 CUDA 版本未在文档中明确说明",{"notes":33,"python":30,"dependencies":34},"该项目已归档，代码按原样提供，不再更新。支持通过 MPI 进行分布式训练以扩展并行环境数量（例如在 8 卡机器上运行 1024 个并行环境）。主要应用于 Atari 游戏（如 Montezuma's Revenge）的强化学习探索任务。",[35,36],"mpi4py (用于多机\u002F多卡并行)","gym\u002Fatari (用于 Montezuma's Revenge 环境)",[38],"其他",[40],"paper",2,"ready","2026-03-27T02:49:30.150509","2026-04-06T11:31:15.952337",[46,51,56,61,66,71],{"id":47,"question_zh":48,"answer_zh":49,"source_url":50},6592,"运行时报错 KeyError: 'RCALL_NUM_GPU' 或 'SLURM_ARRAY_TASK_ID' 如何解决？","这是一个环境变量缺失的问题。解决方法如下：\n1. 打开 `mpi_util.py` 文件，找到第 59 行，修改为：\n   ```python\n   if 'RCALL_NUM_GPU' in os.environ:\n       n_gpus = int(os.environ['RCALL_NUM_GPU'])\n   ```\n2. 即使没有 NVIDIA GPU，也可以在命令行中设置环境变量来绕过此问题。例如运行：\n   ```bash\n   export CUDA_VISIBLE_DEVICES=0\n   ```\n如果是 SLURM 集群环境报错 `SLURM_ARRAY_TASK_ID`，请确保在提交脚本时正确设置了数组任务 ID，或者在代码中增加对该变量是否存在的判断逻辑。","https:\u002F\u002Fgithub.com\u002Fopenai\u002Frandom-network-distillation\u002Fissues\u002F1",{"id":52,"question_zh":53,"answer_zh":54,"source_url":55},6593,"程序运行一段时间后内存（RAM）占用持续升高导致崩溃，如何处理？","该问题通常与 NumPy 版本兼容性有关。\n1. 尝试将 NumPy 版本降级至 1.13：\n   ```bash\n   pip install numpy==1.13\n   ```\n2. 如果降级后问题依旧（特别是在运行数小时后交换空间 swap 耗尽），建议检查代码中是否存在未释放的大对象或内存泄漏，并监控长时间运行下的内存增长情况。部分用户反馈仅靠更换 NumPy 版本可能无法完全解决，需结合具体环境排查。","https:\u002F\u002Fgithub.com\u002Fopenai\u002Frandom-network-distillation\u002Fissues\u002F14",{"id":57,"question_zh":58,"answer_zh":59,"source_url":60},6594,"在计算内部奖励（int_rew）时，是否需要对 X_r_hat 使用 tf.stop_gradient？","不需要额外添加 `tf.stop_gradient(X_r_hat)`。\n原因如下：\n- 内部奖励 `int_rew` 本身并不包含在策略网络的梯度计算中，因此梯度不会通过它反向传播到预测网络。\n- 对于辅助损失（aux_loss），代码中已经正确使用了 `tf.stop_gradient(X_r) - X_r_hat`，确保只有预测网络（X_r_hat）被优化去逼近随机目标网络（X_r），而目标网络的梯度被阻断。\n当前实现是正确的，无需修改。","https:\u002F\u002Fgithub.com\u002Fopenai\u002Frandom-network-distillation\u002Fissues\u002F11",{"id":62,"question_zh":63,"answer_zh":64,"source_url":65},6595,"训练完成后如何测试模型并生成视频结果？","默认代码可能未开启渲染功能，需手动修改 `vec_env.py` 文件以启用视频显示：\n1. 打开 `vec_env.py`，找到 `worker` 函数（约第 208 行）。\n2. 在 `env.step(data)` 获取返回值后，添加 `env.render()` 调用。\n修改后的代码片段如下：\n```python\nif cmd == 'step':\n    ob, reward, done, info = env.step(data)\n    env.render()  # 新增此行以渲染画面\n    if done:\n        ob = env.reset()\n    remote.send((ob, reward, done, info))\n```\n保存后重新运行测试脚本，即可看到实时游戏画面或生成视频（取决于环境配置）。","https:\u002F\u002Fgithub.com\u002Fopenai\u002Frandom-network-distillation\u002Fissues\u002F12",{"id":67,"question_zh":68,"answer_zh":69,"source_url":70},6596,"必须安装完整的 baselines 库和 MuJoCo 才能运行该项目吗？","不一定需要安装 pip 上的旧版 baselines 或完整 MuJoCo 框架。\n- 项目主要依赖 `baselines` 中的 `make_pdtype` 等方法。\n- 推荐直接从 GitHub 克隆最新版的 `baselines` 仓库使用，而不是通过 `pip install baselines` 安装，因为新版已修复兼容性问题且无需强制依赖 MuJoCo（如果不运行相关环境）。\n命令示例：\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fopenai\u002Fbaselines.git\ncd baselines\npip install -e .\n```","https:\u002F\u002Fgithub.com\u002Fopenai\u002Frandom-network-distillation\u002Fissues\u002F6",{"id":72,"question_zh":73,"answer_zh":74,"source_url":75},6597,"遇到错误 'module tensorflow_core._api.v2.nn has no attribute rnn_cell' 怎么办？","该错误是由于 TensorFlow 2.x 版本中 API 变更导致的。`tf.nn.rnn_cell` 在 TF2 中已被移除或迁移。\n解决方案：\n1. 降级到 TensorFlow 1.15（推荐用于此项目）：\n   ```bash\n   pip install tensorflow==1.15\n   ```\n2. 或者修改代码，将 `tf.nn.rnn_cell` 替换为 `tf.compat.v1.nn.rnn_cell`（如果必须在 TF2 中运行）。\n由于该项目基于 TF1 编写，强烈建议使用 TensorFlow 1.15 以避免此类兼容性问题。","https:\u002F\u002Fgithub.com\u002Fopenai\u002Frandom-network-distillation\u002Fissues\u002F21",[],[78,94,103,111,120,128],{"id":79,"name":80,"github_repo":81,"description_zh":82,"stars":83,"difficulty_score":41,"last_commit_at":84,"category_tags":85,"status":42},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[86,87,88,89,90,38,91,92,93],"图像","数据工具","视频","插件","Agent","语言模型","开发框架","音频",{"id":95,"name":96,"github_repo":97,"description_zh":98,"stars":99,"difficulty_score":100,"last_commit_at":101,"category_tags":102,"status":42},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,3,"2026-04-04T04:44:48",[90,86,92,91,38],{"id":104,"name":105,"github_repo":106,"description_zh":107,"stars":108,"difficulty_score":100,"last_commit_at":109,"category_tags":110,"status":42},519,"PaddleOCR","PaddlePaddle\u002FPaddleOCR","PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来，转换成计算机可读取的结构化数据，让机器真正“看懂”图文内容。\n\n面对海量纸质或电子文档，PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域，它扮演着连接图像与大型语言模型（LLM）的桥梁角色，能将视觉信息直接转化为文本输入，助力智能问答、文档分析等应用场景落地。\n\nPaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显：不仅支持全球 100 多种语言的识别，还能在 Windows、Linux、macOS 等多个系统上运行，并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目，PaddleOCR 既能满足快速集成的需求，也能支撑前沿的视觉语言研究，是处理文字识别任务的理想选择。",74939,"2026-04-05T23:16:38",[91,86,92,38],{"id":112,"name":113,"github_repo":114,"description_zh":115,"stars":116,"difficulty_score":117,"last_commit_at":118,"category_tags":119,"status":42},3215,"awesome-machine-learning","josephmisiti\u002Fawesome-machine-learning","awesome-machine-learning 是一份精心整理的机器学习资源清单，汇集了全球优秀的机器学习框架、库和软件工具。面对机器学习领域技术迭代快、资源分散且难以甄选的痛点，这份清单按编程语言（如 Python、C++、Go 等）和应用场景（如计算机视觉、自然语言处理、深度学习等）进行了系统化分类，帮助使用者快速定位高质量项目。\n\n它特别适合开发者、数据科学家及研究人员使用。无论是初学者寻找入门库，还是资深工程师对比不同语言的技术选型，都能从中获得极具价值的参考。此外，清单还延伸提供了免费书籍、在线课程、行业会议、技术博客及线下聚会等丰富资源，构建了从学习到实践的全链路支持体系。\n\n其独特亮点在于严格的维护标准：明确标记已停止维护或长期未更新的项目，确保推荐内容的时效性与可靠性。作为机器学习领域的“导航图”，awesome-machine-learning 以开源协作的方式持续更新，旨在降低技术探索门槛，让每一位从业者都能高效地站在巨人的肩膀上创新。",72149,1,"2026-04-03T21:50:24",[92,38],{"id":121,"name":122,"github_repo":123,"description_zh":124,"stars":125,"difficulty_score":117,"last_commit_at":126,"category_tags":127,"status":42},2234,"scikit-learn","scikit-learn\u002Fscikit-learn","scikit-learn 是一个基于 Python 构建的开源机器学习库，依托于 SciPy、NumPy 等科学计算生态，旨在让机器学习变得简单高效。它提供了一套统一且简洁的接口，涵盖了从数据预处理、特征工程到模型训练、评估及选择的全流程工具，内置了包括线性回归、支持向量机、随机森林、聚类等在内的丰富经典算法。\n\n对于希望快速验证想法或构建原型的数据科学家、研究人员以及 Python 开发者而言，scikit-learn 是不可或缺的基础设施。它有效解决了机器学习入门门槛高、算法实现复杂以及不同模型间调用方式不统一的痛点，让用户无需重复造轮子，只需几行代码即可调用成熟的算法解决分类、回归、聚类等实际问题。\n\n其核心技术亮点在于高度一致的 API 设计风格，所有估算器（Estimator）均遵循相同的调用逻辑，极大地降低了学习成本并提升了代码的可读性与可维护性。此外，它还提供了强大的模型选择与评估工具，如交叉验证和网格搜索，帮助用户系统地优化模型性能。作为一个由全球志愿者共同维护的成熟项目，scikit-learn 以其稳定性、详尽的文档和活跃的社区支持，成为连接理论学习与工业级应用的最",65628,"2026-04-05T10:10:46",[92,38,87],{"id":129,"name":130,"github_repo":131,"description_zh":132,"stars":133,"difficulty_score":41,"last_commit_at":134,"category_tags":135,"status":42},3364,"keras","keras-team\u002Fkeras","Keras 是一个专为人类设计的深度学习框架，旨在让构建和训练神经网络变得简单直观。它解决了开发者在不同深度学习后端之间切换困难、模型开发效率低以及难以兼顾调试便捷性与运行性能的痛点。\n\n无论是刚入门的学生、专注算法的研究人员，还是需要快速落地产品的工程师，都能通过 Keras 轻松上手。它支持计算机视觉、自然语言处理、音频分析及时间序列预测等多种任务。\n\nKeras 3 的核心亮点在于其独特的“多后端”架构。用户只需编写一套代码，即可灵活选择 TensorFlow、JAX、PyTorch 或 OpenVINO 作为底层运行引擎。这一特性不仅保留了 Keras 一贯的高层易用性，还允许开发者根据需求自由选择：利用 JAX 或 PyTorch 的即时执行模式进行高效调试，或切换至速度最快的后端以获得最高 350% 的性能提升。此外，Keras 具备强大的扩展能力，能无缝从本地笔记本电脑扩展至大规模 GPU 或 TPU 集群，是连接原型开发与生产部署的理想桥梁。",63927,"2026-04-04T15:24:37",[92,87,38]]