openai训练?OpenAI成功的背后,鲜为人知的游戏训练史
OpenAI成功的背后,鲜为人知的游戏训练史
OpenAI成功的背后,电子游戏在其AI模型训练中发挥了重要作用,通过打造专属“游戏训练”平台、选择复杂游戏环境训练AI智能体,为通用人工智能发展积累经验并推动技术突破,同时游戏与AI的共生关系也促进了彼此发展。
专属“游戏训练”平台的打造OpenAI成立之初目标是通过自由合作向公众开放AI专利和研究成果,2016年12月发布首款基于电子游戏的AI测试平台“Universe”。这是一款能在几乎所有环境中衡量和训练AI通用智能水平的开源平台,发布时间早于第一代GPT产品。
Universe平台由微软、英伟达等公司参与建设,包含多达1000多种游戏训练环境,涵盖各类Flash游戏、Atari 2600游戏以及《GTA 5》等PC游戏。其最初从ImageNet数据库项目获得启发,希望将ImageNet在降低图像识别错误率上的成功经验引入通用人工智能研究。
OpenAI打造Universe的最终目标是训练出“通用人工智能”,使其能灵活将在训练环境中积累的经验快速应用到陌生、困难环境。当时人工智能在感知智能取得一定突破,但仍处于“弱人工智能”范畴,不具备理解问题和解决问题的能力。OpenAI团队认为,要让人工智能具备这种能力,需将其置于更广泛复杂的环境中训练,电子游戏是绝佳选择。
从DOTA2中获得的经验与突破选择DOTA2的原因:2017年OpenAI智能体在DOTA2国际邀请赛1v1比赛中击败顶尖人类职业选手,2018年与人类玩家组成的职业战队过招,2019年4月OpenAI Five在5V5比赛中击败DOTA2世界冠军OG职业战队,成为首个击败电子竞技游戏世界冠军战队的AI系统。OpenAI团队选择DOTA2作为训练环境,是因为当时一般强化学习研究人员认为让智能体在长时间游戏中表现出色需新突破,如采用分层强化学习方式。而DOTA2规则复杂、要素众多、环境多变且人气超高,相比标准RL开发环境更有趣也更困难。若AI能在如此复杂的游戏里超越人类水平,将是里程碑,且这类复杂游戏能更好捕捉现实世界的混乱和连续性,使训练出的AI有更好通用性,更有可能应用于游戏之外的人类社会。
训练过程与成果:为战胜DOTA2人类职业战队,OpenAI团队进行了长达数年的努力,详细拆解游戏复杂规则和问题,不断调整优化AI模型。DOTA2存在“战争迷雾”设定,AI需根据不完全信息进行推断,这与全信息的国际象棋和围棋不同。OpenAI Five把整张地图看做一个有2万个数据的列表,并通过8个列举值的列表来采取行动。战胜OG战队时,OpenAI Five团队使用的训练计算量比2018年版本增加8倍,在10个实时月内经历了大约4万5千年的DOTA2游戏,平均每天游戏量相当于人类玩家250年积累。
学到的关键经验:OpenAI团队在DOTA2训练环境中最重要的收获是,提升智能体性能的根本并非训练方法突破,而是扩大规模。只要规模够大、结构够合理,AI可表现出强大能力。OpenAI首席科学家Ilya Sutskever称“我们坚信越大越好,OpenAI的目标就是扩大规模”。此外,通过DOTA2训练,OpenAI的学习模式从“强化学习”转变为“基于人类反馈的强化学习(RLHF)”,这些与GPT技术结合塑造出了ChatGPT。
游戏与AI的共生关系及未来展望AIGC助力游戏内容生产:以ChatGPT为代表的AIGC技术成熟后,AI开始反向助力游戏内容生产。GPT- 4可在多个方面辅助游戏制作,如游戏剧本和故事创作、任务和关卡设计、人工智能NPC、自动生成游戏文档、游戏本地化、社区管理和客户支持、游戏内文本和资源生成、测试和质量保证、创意概念和美术设计等。通过与游戏制作团队协作,GPT- 4有望提高游戏开发效率、创新性和质量,但它仍是AI辅助工具,不能完全替代人类创造力和专业知识。目前ChatGPT能制作简单数字游戏,但制作3A游戏大作尚有困难,不过它能帮助游戏开发者生成对话、脚本等数字资产,提升工作效率,缩短制作周期。
未来发展趋势:随着AIGC技术发展,游戏AI智能体(决策智能)会不断迭代升级。生成式智能(AIGC)和决策智能的结合将打开通用人工智能的大门,未来AI与游戏发展会更紧密联系。现实中人们已意识到游戏与人工智能的共生关系,如《经济学人》刊文认为游戏在21世纪全球流行文化及国际竞争中地位重要,AI技术革命将带动“用户自制游戏的兴起”,降低游戏制作门槛;Omdia发布的2023年技术趋势展望报告将“游戏科技(GamesTech)”列为最值得关注的技术趋势之一,认为游戏AI将成为2023年游戏开发中最受关注的热门技术话题;中国音数协游戏工委等的行业调研数据显示,81%的受访者认同游戏促进了AI技术的发展。在OpenAI Five之后,索尼、腾讯等多家科技公司都开始基于游戏训练AI智能体,索尼基于《GT赛车》游戏创新AI强化学习算法,研究成果登上《Nature》杂志封面;腾讯基于《王者荣耀》游戏开发出AI开放研究平台“开悟”,助力构建产学研体系。对于通用人工智能发展,目前以ChatGPT为代表的大语言训练模型让人们窥见AGI未来图景,以游戏AI为代表的决策智能及游戏提供的训练场,正在加快AI走向通用的进程。
怎样用Python实现强化学习OpenAI Gym入门
使用Python实现强化学习并入门OpenAI Gym,可按照以下步骤进行:
1.安装OpenAI Gym使用pip安装基础包或扩展包:
pip install gym#基础环境pip install gym[atari]#包含Atari游戏等复杂环境
2.创建并操作Gym环境以经典的CartPole-v1(小车倒立摆)为例:
import gym#创建环境env= gym.make('CartPole-v1')#重置环境,获取初始状态state= env.reset()#可视化环境(可选)env.render()#关闭环境释放资源env.close()
3.与环境交互通过随机动作观察环境反馈:
import gymimport randomenv= gym.make('CartPole-v1')state= env.reset()for _ in range(100):#随机选择动作(0或1) action= env.action_space.sample()#执行动作,获取反馈 next_state, reward, done, info= env.step(action)#可视化 env.render()#游戏结束时重置环境 if done: state= env.reset() else: state= next_stateenv.close()关键点:env.action_space.sample():随机生成有效动作。
env.step(action):返回四元组(新状态、奖励、是否终止、额外信息)。
4.使用Q-Learning训练Agent通过维护Q表学习最优策略:
import gymimport numpy as npimport random#超参数alpha= 0.1#学习率gamma= 0.9#折扣因子epsilon= 0.1#探索率episodes= 1000#训练轮数env= gym.make('CartPole-v1')#初始化Q表(简化版:仅用小车位置作为状态)q_table= np.zeros([env.observation_space.shape[0], env.action_space.n])for _ in range(episodes): state= env.reset() done= False while not done:#ε-贪婪策略选择动作 if random.uniform(0, 1)< epsilon: action= env.action_space.sample()#探索 else: action= np.argmax(q_table[int(state[0])])#利用#执行动作并获取反馈 next_state, reward, done, _= env.step(action)#更新Q表 old_value= q_table[int(state[0]), action] next_max= np.max(q_table[int(next_state[0])]) new_value=(1- alpha)* old_value+ alpha*(reward+ gamma* next_max) q_table[int(state[0]), action]= new_value state= next_stateenv.close()print("Q-table trained!")核心逻辑:探索与利用:通过epsilon平衡随机探索和利用已知最优动作。
Q表更新:基于贝尔曼方程迭代优化价值函数。
5.评估Agent性能运行多轮测试并计算平均奖励:
import gymimport numpy as npenv= gym.make('CartPole-v1')#假设已训练好Q表(实际需加载保存的文件)q_table= np.zeros([env.observation_space.shape[0], env.action_space.n])#示例占位episodes= 10total_reward= 0for _ in range(episodes): state= env.reset() done= False episode_reward= 0 while not done: action= np.argmax(q_table[int(state[0])])#选择最优动作 next_state, reward, done, _= env.step(action) episode_reward+= reward state= next_state total_reward+= episode_reward print(f"Episode Reward:{episode_reward}")average_reward= total_reward/ episodesprint(f"Average Reward:{average_reward}")env.close()评估标准:CartPole-v1中,单轮奖励≥475视为成功。6.选择合适的算法根据任务特性选择算法:
离散状态/动作空间:Q-Learning、SARSA。连续状态/动作空间:DQN:用神经网络近似Q函数。
Policy Gradient:直接优化策略函数。
Actor-Critic:结合价值函数与策略梯度。
7.调试与优化调试技巧:观察奖励曲线是否收敛。
检查动作分布是否合理(如是否过度探索)。
优化方向:超参数调整:学习率、折扣因子、探索率等。
奖励函数设计:引导Agent学习目标行为(如稀疏奖励改密集奖励)。
模型改进:引入经验回放(DQN)、双网络(Double DQN)等。
总结通过以上步骤,可完成从环境搭建到算法训练的全流程。强化学习的核心在于平衡探索与利用,并通过迭代优化逐步提升性能。实际应用中需根据具体任务调整算法和参数,持续迭代优化。
用AI监督AI,OpenAI做到了用左脚踩右脚上天
OpenAI通过推出CriticGPT模型,实现了用AI监督AI,在RLHF领域提升了人类训练师的审查效果,为可扩展监督提供了可能,但这一过程并非毫无挑战。具体分析如下:
CriticGPT的推出背景与功能
AI因幻觉问题胡说八道是行业共识,为解决此问题,OpenAI基于GPT-4推出新模型CriticGPT,主要用于捕捉ChatGPT代码输出中的错误。
OpenAI方面透露,通过CriticGPT的帮助,在基于人类反馈的强化学习(RLHF)领域里,人类训练师的审查效果比没有获得帮助的人强60%。OpenAI表示,正在着手将类似CriticGPT的模型集成到旗下RLHF标记流水线中,为自己的训练师提供明确的AI帮助。
CriticGPT如何实现“用AI监督AI”
训练方式:OpenAI先让人类标注员在ChatGPT生成的回答里故意植入错误并指出问题,再将所有数据交给CriticGPT,使其能在包含大量有意为之错误输入的数据集上训练。
技术辅助:为解决CriticGPT可能出现幻觉的问题,OpenAI采用强制采样束搜索(FSBS)技术,强制CriticGPT生成多个不同评论片段,用奖励模型评分后,根据评分和长度修正因子选择最佳反馈组合,从而在输出的全面性和准确性间找到最优解。
CriticGPT的实际效果
代码生成任务:在发现人为有意插入的BUG上,人类审核员平均只能找到25%,而CriticGPT的识别率则达到了75%以上;在评估自然出现的BUG时,63%的情况下人类训练师更倾向于选择CriticGPT而非人类程序员的结果。
非代码任务:成功识别出数百个在ChatGPT训练数据中被人类标注员认为是“完美”、但实际错误的结果。
CriticGPT成功的原因与意义
原因:对于很多任务来说,评价任务比把任务做好要容易得多,CriticGPT没有创造力,只能根据已有输出进行评价。
意义:提供可用AI检测工具:CriticGPT的成功不仅在于有了一个能用的AI检测工具,更重要的是为后续大模型的训练提供了帮助。
突破RLHF上限:RLHF是ChatGPT等大语言模型的理论基础,但其上限是人类智能上限,没有CriticGPT的成功,大模型的边界就是人类认知边界,从某个临界点开始,人类将无法再可靠评估人工智能系统。
实现可扩展监督:CriticGPT的出现代表着OpenAI提出的可扩展监督并非妄想,可扩展监督即在确保模型能力超过人类水平后,仍能与人类期望保持一致、持续改进和学习,或许只有用大模型来监督大模型,才能出现超越人类智能的人工智能。
END,本文到此结束,如果可以帮助到大家,还望关注本站哦!