




下面以经典的 FrozenLake 环境(一个 4x4 的网格世界)为例,使用 Python 和 OpenAI Gym 库来实现 Q-learning 算法。
import numpy as npimport gym# 创建FrozenLake环境env = gym.make('FrozenLake-v1', is_slippery=False)# 初始化参数num_states = env.observation_space.nnum_actions = env.action_space.nQ = np.zeros((num_states, num_actions))num_episodes = 1000max_steps = 100alpha = 0.1 # 学习率gamma = 0.99 # 折扣因子epsilon = 0.1 # 探索率for episode in range(num_episodes):state = env.reset()for step in range(max_steps):# 选择动作(ε-贪心策略)if np.random.uniform(0, 1) < epsilon:action = env.action_space.sample()else:action = np.argmax(Q[state, :])# 执行动作,获得下一个状态和奖励next_state, reward, done, info = env.step(action)# 更新Q函数best_next_action = np.argmax(Q[next_state, :])td_target = reward + gamma * Q[next_state, best_next_action]td_error = td_target - Q[state, action]Q[state, action] += alpha * td_error# 状态更新state = next_state# 回合结束if done:breakprint("训练完成后的Q表:")print(Q)
其中:
gym.make('FrozenLake-v1')创建环境;[num_states, num_actions],用于存储每个状态-动作对的价值;为了平衡探索和利用,ε-贪心策略以 ε 的概率进行探索 (随机选择动作),以 1-ε 的概率进行利用(选择当前最优动作)。学习率决定了新获取的信息在多大程度上覆盖旧的信息,较高的学习率意味着对新信息的依赖性更强。折扣因子用于权衡即时奖励和未来奖励的重要性。接近1的折扣因子表示更加看重未来的奖励。在满足一定条件下,如所有状态-动作对被无限次访问、学习率满足罗宾条件等,Q-learning 算法能够保证收敛到最优 Q 函数。Q-learning 是强化学习中最经典和基础的算法之一,它通过学习状态-动作值函数来指导智能体的决策。通过不断地与环境交互和更新 Q 值,智能体最终能够学到一个最优策略,即在每个状态下选择使得长期累积奖励最大的动作。
好文章,需要你的鼓励
33年后,贝尔纳多·金特罗决定寻找改变他人生的那个人——创造马拉加病毒的匿名程序员。这个相对无害的病毒激发了金特罗对网络安全的热情,促使他创立了VirusTotal公司,该公司于2012年被谷歌收购。这次收购将谷歌的欧洲网络安全中心带到了马拉加,使这座西班牙城市转变为科技中心。通过深入研究病毒代码和媒体寻人,金特罗最终发现病毒创造者是已故的安东尼奥·恩里克·阿斯托尔加。
这项由多伦多大学领导的研究首次系统性地揭示了分词器选择对语言模型性能的重大影响。通过训练14个仅在分词器上有差异的相同模型,并使用包含5000个现实场景测试样本的基准测试,研究发现分词器的算法设计比词汇表大小更重要,字符级处理虽然效率较低但稳定性更强,而Unicode格式化是所有分词器的普遍弱点。这一发现将推动AI系统基础组件的优化发展。
人工智能安全公司Cyata发现LangChain核心库存在严重漏洞"LangGrinch",CVE编号为2025-68664,CVSS评分达9.3分。该漏洞可导致攻击者窃取敏感机密信息,甚至可能升级为远程代码执行。LangChain核心库下载量约8.47亿次,是AI智能体生态系统的基础组件。漏洞源于序列化和反序列化注入问题,可通过提示注入触发。目前补丁已发布,建议立即更新至1.2.5或0.3.81版本。
北京大学研究团队提出NExT-Vid方法,首次将自回归下一帧预测引入视频AI预训练。通过创新的上下文隔离设计和流匹配解码器,让机器像人类一样预测视频下一帧来学习理解视频内容。该方法在四个标准数据集上全面超越现有生成式预训练方法,为视频推荐、智能监控、医疗诊断等应用提供了新的技术基础。