标签: AI

  • 深入浅出推荐系统:微软开源工具 Recommenders 解析

    引言

    在信息爆炸的时代,人们面对海量数据往往无所适从。推荐系统应运而生,它通过分析用户的历史行为和偏好,为用户提供个性化的推荐内容,帮助用户快速找到自己感兴趣的信息。从电商平台的商品推荐,到社交媒体的内容推送,再到音乐软件的歌曲推荐,推荐系统已经渗透到我们生活的方方面面。

    微软开源工具 Recommenders 正是为构建、实验和部署各种经典和先进的推荐系统而生。它提供了一系列 Jupyter Notebook 示例和最佳实践,涵盖了推荐系统构建的五个关键任务:

    1. 数据准备:为不同的推荐算法准备和加载数据。
    2. 模型构建:使用各种经典和深度学习推荐算法构建模型,例如交替最小二乘法(ALS)或极深因子分解机(xDeepFM)。
    3. 模型评估:使用离线指标评估算法性能。
    4. 模型选择和优化:调整和优化推荐模型的超参数。
    5. 模型部署:在 Azure 生产环境中部署模型。

    Recommenders 提供了多个实用工具,用于支持加载数据集、评估模型输出和划分训练/测试数据等常见任务。它还包含了一些先进算法的实现,供用户自学和定制自己的应用程序。

    算法概览

    Recommenders 提供了丰富的推荐算法,涵盖了协同过滤、基于内容的过滤等多种类型,具体如下表所示:

    算法类型描述示例
    交替最小二乘法 (ALS)协同过滤适用于大型数据集的显式或隐式反馈的矩阵分解算法,针对可扩展性和分布式计算能力进行了优化。它在 PySpark 环境中工作。快速入门 / 深入探讨
    注意力异步奇异值分解 (A2SVD)协同过滤基于序列的算法,旨在使用注意力机制捕获用户的长期和短期偏好。它在 CPU/GPU 环境中工作。快速入门

    注意: 表格中只列举了部分算法,完整列表请参考 README.md

    算法比较

    为了方便用户比较不同算法的性能,Recommenders 提供了一个 基准测试 Notebook。该 Notebook 使用 MovieLens 数据集,以 75/25 的比例将其划分为训练集和测试集,并使用多个协同过滤算法训练推荐模型。

    下表展示了在 Movielens 100k 数据集上运行 15 个 epoch 后,不同算法的评估指标结果:

    算法MAPnDCG@kPrecision@kRecall@kRMSEMAER2Explained Variance
    ALS0.0047320.0442390.0484620.0177960.9650380.7530010.2556470.251648
    BiVAE0.1461260.4750770.4117710.219145N/AN/AN/AN/A

    注意: 表格中只列举了部分算法的评估结果,完整列表请参考 README.md

    总结

    微软开源工具 Recommenders 为研究人员、开发者和爱好者提供了一个强大的平台,可以快速构建、实验和部署各种经典和先进的推荐系统。它提供了丰富的算法、示例和最佳实践,并且易于使用和扩展,是构建高性能推荐系统的理想选择。

    参考文献

    • D. Li, J. Lian, L. Zhang, K. Ren, D. Lu, T. Wu, X. Xie, “Recommender Systems: Frontiers and Practices”, Springer, Beijing, 2024. 链接.
    • A. Argyriou, M. González-Fierro, and L. Zhang, “Microsoft Recommenders: Best Practices for Production-Ready Recommendation Systems”, WWW 2020: International World Wide Web Conference Taipei, 2020. 链接
    • … | … | … |

    注意: 以上只列举了部分参考文献,完整列表请参考 README.md

  • DouZero+是一种斗地主AI系统,它通过引入对手建模和指导学习的方法,进一步提升了斗地主AI的性能

    DouZero+是一种斗地主AI系统,它通过引入对手建模和指导学习的方法,进一步提升了斗地主AI的性能。斗地主是一款在中国非常流行的三人纸牌游戏,由于其不完全信息、大状态空间、协作与竞争并存以及大量可能的操作组合,给AI系统带来了很大的挑战。

    深度蒙特卡罗方法

    为了应对斗地主这种具有复杂规则和牌组合的游戏,DouZero+采用了深度蒙特卡罗(DMC)方法。DMC方法将传统的蒙特卡罗方法与深度神经网络相结合,用于函数近似。它通过对游戏情节进行采样,学习价值函数和最优策略。具体步骤包括使用当前策略生成情节、计算并更新Q值、基于新估计的Q值更新策略。这种方法特别适用于斗地主这种情节性任务,因为它能够高效地生成大量训练数据,并通过并行处理缓解方差问题。

    对手建模

    在斗地主中,对手建模旨在预测下一位玩家的手牌,从而帮助AI做出决策。DouZero+使用深度神经网络进行预测,并将预测结果与状态特征和动作特征相结合,输入决策模型。预测模型通过多头分类器输出下一位玩家每种牌的数量概率。实验结果表明,对手建模显著提升了AI的表现,使其能够更好地选择最佳动作并与队友协作[1]

    指导学习

    为了加速训练过程,DouZero+引入了指导学习方法。指导学习通过一个教练网络来识别初始手牌的平衡性,从而筛选出有价值的训练样本。教练网络输入三位玩家的初始手牌,输出地主的获胜概率。通过设定一个阈值,过滤掉获胜概率过小或过大的样本,从而节省时间,提高训练效率。实验结果显示,教练网络显著提升了AI的表现,使其更快地学习并形成应对各种情况的策略[1]

    结论与未来工作

    通过引入对手建模和指导学习,DouZero+在原有的DouZero基础上进一步提升了斗地主AI的性能。未来的工作将包括尝试其他神经网络架构(如ResNet)、结合搜索算法以增强性能,以及通过经验回放提高样本效率。此外,研究团队还计划将这些方法迁移到其他游戏中,以开发更强大的游戏AI[1]


    Learn more:

    1. DouZero+: 对手建模和教练引导学习强化斗地主 AI | BriefGPT – AI 论文速递
    2. 【论文阅读】DouZero+: Improving DouDizhu AI by Opponent Modeling and Coach-guided Learning-CSDN博客
    3. 【论文阅读】DouZero Mastering DouDizhu with Self-Play Deep Reinforcement Learning – 张天明 – 博客园
人生梦想 - 关注前沿的计算机技术 acejoy.com 🐾 步子哥の博客 🐾 背多分论坛 🐾 知差(chai)网
快取状态: No
内存使用量: 11.3308 MB
资料库查询次数: 78
页面产生时间: 0.959 (秒)