chatgpt在Unity里的开发和原理

chatgpt在Unity里的开发和原理

教学视频

先放上教学视频链接
https://www.reddit.com/r/unity_tutorials/comments/10aic34/chatgpt_with_unity_in_todays_video_i_show_you_a/

https://www.youtube.com/watch?v=PRwfHajinSU

语音控制实现unity里的效果
或者语音控制实现Unity里的动画效果
用语音或者文字使得人物角色往前走
(C:\Users\xzyb\AppData\Roaming\Typora\typora-user-images\image-20230209201944597.png)]
可以利用ChatGPT的接口实现半自动化开发
https://www.bilibili.com/video/BV11D4y1N7V8/?spm_id_from=333.337.search-card.all.click&vd_source=accde4a7ee3c68ceae5c710c663dc819

chatgpt的原理

ChatGPT 是基于GPT-3.5(Generative Pre-trained Transformer 3.5)架构

Transformer

从Transformer提出到“大规模与训练模型” GPT(Generative Pre-Training)
RNN(循环神经网络),它主要的实现逻辑是每个“字”计算之后将结果继承给第二个字。算法的弊病是需要大量的串行计算,效率低。而且当遇到比较长的句子时,前面信息很有可能会被稀释掉,造成模型不准确,也就是对于长句子效果会衰减。
AI里,这个最小单元变成了向量,多个特征组成的高维空间的一个点。向量的加减乘除是计算机在进行样本训练是最主要的计算逻辑。

Transformer模型的主要意义就是找到了一个算法,分成三步把一个词逐步定位到了一个高维空间,在这个过程中赋予这个单词比其它算法更优的信息。

1.编码(Embedding)2. 定位 (Positional encoding)3. 自注意力机制(Self-Attention)。

有Mask机制、layer norm、神经网络激函数饱和区控制等。

Bert

Bert也是技术发展非常重要的现象级算法。其核心是一个简化的Transformer,Bert不去做从A翻译到B,它随机遮住X里面的一些单词或句子让算法优化对遮住部分的预测。这种思路使得Bert成为了Transformer预训练最好的搭档。
通过Bert进行预训练,相当于给矩阵加入了先验知识(之前训练逻辑没有给机器任何提示,规则后者基础知识),提高了正式训练时初始矩阵的准确度,极大地提升了之后transformer的计算效率和对数据量的要求

可以大量只是训练内容,不需要打标签,之后只需要通过transformer对样本数据进行微调。

GAN对抗网络等。这是AIGC领域的核心技术。解决数据量不足问题,除了更高效率抽象小数据的信息,也多了把小数据补足成大数据的方法,而且这些方法在快速成熟。

ChatGPT的主要特点

OpenAI使用 RLHF(Reinforcement Learning from Human Feedbac,人类反馈强化学习) 技术对 ChatGPT 进行了训练,且加入了更多人工监督进行微调。

此外,ChatGPT 还具有以下特征:

1)可以主动承认自身错误。若用户指出其错误,模型会听取意见并优化答案。

2)ChatGPT 可以质疑不正确的问题。例如被询问 “哥伦布 2015 年来到美国的情景” 的问题时,机器人会说明哥伦布不属于这一时代并调整输出结果。

3)ChatGPT 可以承认自身的无知,承认对专业技术的不了解。

NLP/NLU领域已知局限包括对重复文本、对高度专业的主题的误解,以及对上下文短语的误解。

对于人类或AI,通常需接受多年的训练才能正常对话。NLP类模型不仅要理解单词的含义,还要理解如何造句和给出上下文有意义的回答,甚至使用合适的俚语和专业词汇。

与BERT模型类似,ChatGPT或GPT-3.5都是根据输入语句,根据语言/语料概率来自动生成回答的每一个字(词语)。从数学或从机器学习的角度来看,语言模型是对词语序列的概率相关性分布的建模,即利用已经说过的语句(语句可以视为数学中的向量)作为输入条件,预测下一个时刻不同语句甚至语言集合出现的概率分布。

ChatGPT 使用来自人类反馈的强化学习进行训练,这种方法通过人类干预来增强机器学习以获得更好的效果。在训练过程中,人类训练者扮演着用户和人工智能助手的角色,并通过近端策略优化算法进行微调。

由于ChatGPT更强的性能和海量参数,它包含了更多的主题的数据,能够处理更多小众主题。ChatGPT现在可以进一步处理回答问题、撰写文章、文本摘要、语言翻译和生成计算机代码等任务。

ChatGPT的前身)与GPT-3的主要区别在于,新加入了被称为RLHF(Reinforcement Learning from Human Feedback,人类反馈强化学习)。这一训练范式增强了人类对模型输出结果的调节,并且对结果进行了更具理解性的排序。TAMER(Training an Agent Manually via Evaluative Reinforcement,评估式强化人工训练代理)这个框架。该框架将人类标记者引入到Agents的学习循环中,可以通过人类向Agents提供奖励反馈(即指导Agents进行训练),从而快速达到训练任务目标。
加快训练速度。尽管强化学习技术在很多领域有突出表现,但是仍然存在着许多不足,例如训练收敛速度慢,训练成本高等特点。特别是现实世界中,许多任务的探索成本或数据获取成本很高。如何加快训练效率,是如今强化学习任务待解决的重要问题之一。

TAMER不需要标记者具有专业知识或编程技术,语料成本更低。通过TAMER+RL(强化学习),借助人类标记者的反馈,能够增强从马尔可夫决策过程 (MDP) 奖励进行强化学习 (RL) 的过程。
Agents同时从两种反馈模式中学习——人类强化和马尔可夫决策过程奖励作为一个整合的系统,通过奖励策略对模型进行微调并持续迭代。

人工标注好的数据来微调 GPT-3.5模型(获得SFT模型, Supervised Fine-Tuning)。
训练奖励模型(Reward Mode,RM)人工标注训练数据(约33K个数据),来训练回报模型。在数据集中随机抽取问题,使用第一阶段生成的模型,对于每个问题,生成多个不同的回答。人类标注者对这些结果综合考虑给出排名顺序。这一过程类似于教练或老师辅导。
接下来,使用这个排序结果数据来训练奖励模型。对多个排序结果,两两组合,形成多个训练数据对。RM模型接受一个输入,给出评价回答质量的分数。这样,对于一对训练数据,调节参数使得高质量回答的打分比低质量的打分要高。

PPO-近端策略优化

PPO(Proximal Policy Optimization,近端策略优化)强化学习来优化策略。
PPO的核心思路在于将Policy Gradient中On-policy的训练过程转化为Off-policy,即将在线学习转化为离线学习,这个转化过程被称之为Importance Sampling。这一阶段利用第二阶段训练好的奖励模型,靠奖励打分来更新预训练模型参数。在数据集中随机抽取问题,使用PPO模型生成回答,并用上一阶段训练好的RM模型给出质量分数。把回报分数依次传递,由此产生策略梯度,通过强化学习的方式以更新PPO模型参数。
不断重复第二和第三阶段,通过迭代,会训练出更高质量的ChatGPT模型。

**ChatGPT使用了GPT-3.5大规模语言模型(LLM,Large Language Model),**并在该模型的基础上引入强化学习来微调(fine-turn)预训练的语言模型。这里的强化学习采用的是RLHF(Reinforcement Learning from Human Feedback),即采用人工标注的方式。目的是通过其奖励惩罚机制(reward)让LLM模型学会理解各种NLP任务并学会判断什么样的答案是优质的(helpfulness、honest、harmless三个维度)。

RLHF

即采用人工标注的方式。目的是通过其奖励惩罚机制(reward)让LLM模型学会理解各种NLP任务并学会判断什么样的答案是优质的(helpfulness、honest、harmless三个维度)。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
UNITY游戏框架原理基于MVC的逻辑模式。MVC是一种在制作游戏时对代码的逻辑化整理的思想。在UNITY开发过程中,许多公司在制作游戏开发项目时都使用了MVC的逻辑模式,即数据模型-视图-控制器。 UNITY游戏框架可以分为三个主要部分。第一部分是游戏开发的基础,包括游戏的架构设计、场景管理和资源管理等。第二部分是网络原理,主要介绍网络通信的原理开发客户端的网络模块和服务端程序框架。这套框架具有较高的通用性,可用于多种游戏。第三部分是网络游戏,主要讲解房间系统和多人游戏的开发。 在设计UNITY游戏框架时,可以考虑采用MVC的结构模式,将模块之间的功能区分开,达到低耦合的效果。这样做的好处是,当需要替换游戏UI或进行其他功能修改时,只需修改相应的模块,而不会影响到其他功能,提高了游戏质量和开发效率。举个例子,如果一个项目的各个UI下挂载了大量的脚本,替换UI可能会导致其他功能受到影响,而采用MVC的结构模式可以解决这个问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Unity框架——MVC框架](https://blog.csdn.net/Htlas/article/details/79076201)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [Unity 3D网络游戏实战](https://download.csdn.net/download/qq_39014199/11143402)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值