胡扯系列之私人AI助手系统的分析与设计

news2025/1/13 13:50:34

背景

随着时代的发展,计算机算力的提升和近些年来AI模型的井喷以及发展。人工智能应用已经深入我们的日常生活。如人脸识别,无人驾驶等等,同时为了更好地与用户进行交互,完成特定功能,智能对话助手应运而生。如今大量智能移动设备已经搭配具备对话,实现特定功能的AI助手用于提高用户使用体验。但目前大量的AI助手只是具备简单的对话和应用操作等基本功能,并不能对使用者的操作习惯,会话习惯等进行自适应调节,使得助手更加适配与当前使用者。因此作者期望能够设计一款,能够在移动设备或其他终端设备中运行,并且能够根据用户习惯行为做出自适应调整的AI助手。实现在“一千个用户中,有一千个不同的AI助手”。

问题描述及分析

问题描述

本文标题为“私人AI助手系统的分析与实现”,其目的是实现一个能够在基础AI助手,对话,特定功能操作的基础上。能够自适应用户操作习惯的助手,即达成用户与AI助手相互反馈最终实现助手自适应调节,同时能够支持算力较低的终端设备,在终端设备中完成一系列自主适应。

AI助手

分析:通过对本文目标进行简单概括,可以提取出如下关键词:AI助手,自适应,低算力。AI助手是基本的功能,也是为用户提供服务的门户。自适应是对AI助手的进一步优化,如何让AI助手实现自调整,之后能够在算力资源更低的情况下完成所有操作是本文中的重点。因此需要解决的问题为两个方向的和一个低算力约束的大问题。因此在实现时,需要选择算力消耗更小的架构实现以及算法模型。所以针对第一个问题,即实现基本AI助手上,将通过多个小模型来完成基本功能的实现,同时由于大部分终端都提供语音识别功能,因此在助手设计上,可先通过设备提供的语音识别功能将用户输入语音转化为文本,之后对文本进行操作分析,最终实现操作。大致流程如图(1)所示:
在这里插入图片描述

                          图1 AI助手大致执行流程图

因此在这部分中的主要技术是于文本的处理。由于一开始就确定使用小模型来完成目标,因此对AI助手本身组成的模块又可以分为图(2)所示,拆分为三个小模块。
在这里插入图片描述

                             图2 AI助手模块图

所涉及到的技术就主要为文本对话生成,文本内容识别分类。完成用户的聊天和具体操作,从而完成基本AI助手实现。

自适应

第二个需要解决的问题是如何能够完成自适应。结合对应AI助手的基本设计,可以发现如果需要完成自适应,那么重点是如何调整意图分类识别和Chat网络之间的权重。从而完成自适应调节。而能够对权重进行调节的方式除了直接进行训练外,还有通过强化学习[1]方法或者GAN[2]方法进行权重修改训练。第一种方式需要将用户与AI助手交互的数据进行收集,例如对Chat模块进行自适应,那么就需要将用户与助手聊天产生的数据自动制作为数据集,送入模型重新训练。第二种则依托于强化学习方法,需要用户与助手在交互过程中,由用户主动基于反馈,也就是基于当前模块网络评分,之后通过强化学习方法对模型进行调整。第三种方案是在第二种方案的基础上,在采用第二种方法时用户需要给予反馈可能会导致用户体验下降,但是在第二种的权重修改过程中又需要优化给予及时反馈来指定reward完成调节。因此使用Gan中的评判网络模型可以模拟当前用户给予reward辅助第二种方式进行训练调节,最终完成助手的自适应调节。为了更好地完成自适应,当前更好的方案显然是将上述方案进行整合,相互结合使用。大体流程如图(3)所示
在这里插入图片描述

                                 图3 自适应流程

算法设计

算法设计部分,共分为两大部分,即分为:AI助手设计和自适应模块设计。由于自适应模块修改自由度更高,其本质是对模型的优化优化,因此在算法设计当中主要阐述如何进行优化,其执行流程是如何进行的。在AI助手部分,将阐述网络的设计与优化和基本架构。
AI助手的算法设计,在上一小节已经给出了其大致的设计结构,主要设计为两个网络的使用。对于图(1)中的意图识别和对话聊天。意图识别主要作为一个文本分类任务进行。而在这方便将采用实现好的FastText[3]来完成这部分工作。FastText一个非常高效的,基于词向量化的,用于文本分类的模型,通过它可以快速实现文本分类,同时简单的网络架构便于运算和权重调整。此外在此模型还中涉及到了不少的用于提速和准确率的小技巧。例如在fasttext加入了n-grams的思想,在最后输出概率时做了层次化softmax操作,通过哈夫曼树将每一个类别标签放置在对应子节点中,将softmax操作转换为层次化二分类任务,通过求解条件概率计算出完整概率。此外还值得一提的是,FastText作者在先提出了word2vec[4],后推出此模型。
在这里插入图片描述

                        图4 FastText模型示意图

在这里插入图片描述

                        图5 层次化Softmat

聊天模块设计,这部分设计将暂时采用Seq2Seq[5]架构进行网络模型搭建。分别为Encoder与Decoder结构,示意如图(6)
在这里插入图片描述

                                   图6 总体示意图

同时对应Encoder与Decoder均采用GRU[6]网络结构,与LSTM[7]相比在效果上类似,单元结构如图(7),(8)所示。但是GRU在运算过程中不需要输入C0,相对而言降低了参数消耗,简明了网络结构,同时也方便在后序对Attention机制进行修改。当前在此模块中的Decoder模块中引入了Luong[8]机制。
在这里插入图片描述

                                   图7 LSTM单元结构图

在这里插入图片描述

                                   图8 GRU单元结构图

基本运行流程如下,首先将用户语音转化为一个句子通过转化为词向量后送入Encoder,之后由Decoder生成句子。Decoder得到由Encoder最后一层网络输出,通过逆向生成句子的形式,循环生成每一个对应时间步上的词。词的生成由Decoder最后一次输出得到的概率生成。例如:在一个句子中有10个词,数据集上有1万个词。那么最后由Decoder将得到10*1W的概率矩阵,之后在对应时间步上组合成句。值得一提的是,目前作者也考虑到在得到概率是需要通过Softmax函数进行计算,其计算量以及最后产生的参数量较大。因此作者正在参考Yolo[9]算法,将概率问题转化为全回归问题,减少计算量,通过进位取舍的方式将连续预测数值转化为离散预测。
自适应模块设计,在自适应模块中,采用了在第二小结提到的方案,采集与用户交互后以及在云端传入的新数据进行异步训练。在一开始,将先通过基本语料,基本意图数据先对上述两个模块进行训练。此训练作为预训练,一方面可以在开始阶段为用户提供服务,之后随着用户使用,关于用户本身的数据增加,以及其他类似用户数据进行进一步训练。这一修改训练依赖于用户数据,在理论上将在与用户间的交互上更加适用用户,但需要足够的数据后进行批量处理。因此在此基础上增加了在第二小结中提到的第三种权重自适应方案。该方案主要有两大部分构成,基于强化学。习思想的动态改变,还有基于GAN思想的动态改变。两者的目的与设计目的不同。大致关系如图(9)中所示。

在这里插入图片描述

                                  图9 二者关系

整个过程中,在开始初步阶段中,需要用户进行大量互动,给予反馈。这个过程类似于人与人之间的认识过程,在认识初期需要双方不断给予反馈,不断提示对方。在后期双方足够了解后,不在需要明显的暗示与说明。在整个结构的GAN结构的作用在于理解用户的行为操作,在后期随着用户满意度上升,GAN对当前状态输出的Reward权重将不断上调,同时降低用户额外的用于自适应的反馈。GAN用于理解用户的个性,行为。基于强化学习的结构对AI助手进行自适应训练,根据行为调整,在本文中用于调整权重。用人作为比喻,GAN结构相当于,大脑复杂分析基于部分决策,强化学习部分相当于小脑和神经结构。完成响应与调节,并且在这一这部分中,AI助手相当于Actor,等价于人的身体完成行为操作。至此完成整个自适应策略,同理在这两个部分的初始化权重,依然可以考虑先进行预训练,具备一定能力后进行开放。
至此,整个系统的基本算法分析阐述完毕,在未来,不仅仅可以对Actor进行优化,还可以对整个自适应架构进行优化。此外对应自适应架构而言,Actor并不唯一,这意味在未来引入多模态完全成为可能,对于AI助手的扩展能力也将进一步扩充。至于在这一结构是否能够在小样本,小模型下达到期望效果就将交于时间进行考量了。

体会

目前通过初步探索以及部分模块的实现,作者对于整个系统的设计与实现有了大致理解。目前在本文提到的模块中存在大量优化空间。例如在AI助手的聊天模块中,采用单纯的Seq2Seq结构,对于注意力机制的实现较为简陋,在未来可以考虑参考transform[10]架并对其架构进行轻量化削减引入这一模块。同时在最终生成文本阶段,除了可以考虑参考YOLO全回归预测外,还可以考虑引入CNN[11]在词向量空间中做进一步信息提取,还可以降低网络参数提高运行效率。而在自适应架构中,对应强化学习部分,可以考虑比DDPG[12]算法更加优良稳定的算法。在GAN部分,可以试着引入新的优化,参考Diffusion Model[13]将生成器直接生成Reward。跨过本文提到的AI私人智能助手,当下在NLP领域中各路模型百花齐放,今日火爆的ChatGPT更是达到了惊人的效果。在大模型[14],大数据的加持下,AI充满了希望和挑战,属于智能的时代才刚刚开始,尽管好的效果依然随着大模型,大算力发展。

引用文献

[1] Sutton R S, Barto A G. Reinforcement learning: Anintroduction[M]. Cambridge: MIT Press,1998.
[2] Hao D , Neekhara P , Chao W , et al. Unsupervised Image-to-Image Translation with Generative Adversarial Networks[J]. 2017.
[3] Joulin A , Grave E , Bojanowski P , et al. Bag of Tricks for Efficient Text Classification[J]. 2017.
[4] Mikolov T , Chen K , Corrado G , et al. Efficient Estimation of Word Representations in Vector Space[J]. Computer Science, 2013.
[5] Sutskever I , Vinyals O , Le Q V . Sequence to Sequence Learning with Neural Networks[J]. Advances in neural information processing systems, 2014.
[6] Dey R , Salemt F M . Gate-variants of Gated Recurrent Unit (GRU) neural networks[C]// IEEE International Midwest Symposium on Circuits & Systems. IEEE, 2017:1597-1600.
[7] Greff K , Srivastava R K , Koutnik J , et al. LSTM: A Search Space Odyssey[J]. IEEE, 2017(10).
[8] Luong M T , Pham H , Manning C D . Effective Approaches to Attention-based Neural Machine Translation[J]. Computer ence, 2015.
[9] Redmon J , Divvala S , Girshick R , et al. You Only Look Once: Unified, Real-Time Object Detection[C]// Computer Vision & Pattern Recognition. IEEE, 2016.
[10] Vaswani A , Shazeer N , Parmar N , et al. Attention Is All You Need[J]. arXiv, 2017.
[11] Haykin S , Kosko B . GradientBased Learning Applied to Document Recognition[M].
[12] T. P. Lillicrap, J. J. Hunt, A. Pritzel, N. Heess, T. Erez, Y. Tassa, D. Silver, D. Wierstra, Continuous control with deep reinforcement learning, 4th International Conference on Learning Representations, ICLR 2016 - Conference Track Proceedings (2016). arXiv:1509.02971.
[13] Ho J , Jain A , Abbeel P . Denoising Diffusion Probabilistic Models[J]. 2020.
[14] Taylor R , Kardas M , Cucurull G , et al. Galactica: A Large Language Model for Science[J]. 2022.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/74727.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

某宝付费买的价值上万的60G的Python学习资源,0基础轻松赚钱到手软,请低调使用,禁止外传

前言 你是否 还在为升职加薪发愁? 苦于领导看不到自己更多长处? 还在为房贷,车贷,生计而发愁? 苦于不上班如何轻松赚快钱补贴家用? 为了帮助财务、设计、运营、策划、销售、HR、金融从业者、电商从业…

【单目3D目标检测】MonoFlex论文精读与代码解析

文章目录PrefaceAbstractContributionsPipelineProblem DefinitionDecoupled Representations of ObjectsInside & Outside ObjectsEdge FusionLossVisual Properties Regression2D DetectionDimension EstimationOrientation EstimationKeypoint EstimationAdaptive Depth…

Docker网络模式与配置

目录 🎈🎈1. Docker网络模式🏃‍♂️🏃‍♂️ 🏃‍♂️🏃‍♂️2. 外部访问docker容器🏃‍♂️🏃‍♂️ 🎈🎈3. 创建自定义网络:(设…

尚医通 (三十一) --------- 手机登录

目录一、登录需求1. 登录效果2. 登录需求二、登录1. 搭建 service-user 模块2. 添加用户基础类3. 登录 API 接口4. 生成 token5. 阿里云短信6. 登录前端7. 登录全局事件8. myheader.vue 完整代码三、用户认证与网关整合一、登录需求 1. 登录效果 2. 登录需求 ① 登录采取弹出…

Python爬虫实战,requests+time模块,爬取某招聘网站数据并保存csv文件(附源码)

前言 今天给大家介绍的是Python爬取某招聘网站数据并保存本地,在这里给需要的小伙伴们代码,并且给出一点小心得。 首先是爬取之前应该尽可能伪装成浏览器而不被识别出来是爬虫,基本的是加请求头,但是这样的纯文 本数据爬取的人会…

ImmunoChemistry丨艾美捷抗体夹心ELISA开发试剂盒说明书

使用ImmunoChemistry艾美捷抗体夹心ELISA开发试剂盒评估检测可行性并优化ELISA性能参数。抗体夹心ELISA开发试剂盒提供了八种特殊配制的ELISA溶液和一个模板,用于抗体夹心ELISA测试的初始开发和优化。全面的ELISA开发手册提供了评估初始检测可行性和优化ELISA性能参…

关于 npm run buildprod 报错问题 :文件名、目录名或卷标语法不正确

引言 vue开发基本完成后进行打包时出现错误,这个错误以前没有遇到过,所以在这里激励 参考文章1 参考文章2 问题描述 在idea中运行npm run build:prod打包vue时出现报错 E:\Allworkspaces\idea-workspace\Project\vue-project\my-blog\vue-admin-te…

代码随想录第三天

专题:链表 题目:移除链表元素 题意:删除链表中等于给定值 val 的所有节点。 示例 : 输入:head [1,2,6,3,4,5,6], val 6 输出:[1,2,3,4,5] 解题思想: 我们为了统一操作,我们给链表…

身份证实名认证API接口有什么意义与作用?

身份证实名认证API接口有什么意义? 中国公民的身份证是一种对外证明自己身份的有效证件,随着国家对实名制要求的落实,工作与生活中许多场景都会需要进行身份验证。比如出门外出乘座火车与飞机时、注册互联网络平台时、网络游戏与购物时等等&a…

微信小程序怎么注册?【微信小程序制作】

即使在目前小程序盛行的时代,仍然有很多人在问微信小程序怎么注册、微信小程序怎么做的问题,也证明了我们对于微信小程序的需求依然巨大。那么微信小程序怎么注册呢?下面给大家简单介绍。 步骤1:注册小程序账号 我们在微信公众平…

启封化工行业管理方案—危化品的管理(1)

联合国危险品编码管理 什么是危化品? 危化品是指可能伤害人、其他生物体、财产或环境的固体、液体或气体。这些危险品在运输时始终受到规章制度的约束。运输这些危险品的团队是训练有素的专业人员。使用标签时,存储标签的容器或存储位置通常用菱形标牌标…

2022年疫情下的卡塔尔世界杯,你看了么,盘点一下爆冷的赛事

卡塔尔世界杯卡塔尔世界杯世界杯出现的爆冷比赛沙特阿拉伯 VS 阿根廷(1:2)德国 VS 日本 (1:2)比利时 VS 摩洛哥 (0:2)摩洛哥VS 加拿大 (2:1)日本 VS 西班牙 (2:1)摩洛哥 VS 西班牙(3:0)总结卡塔尔世界杯 卡塔尔世界杯有32个国家参…

数据结构与算法(Java版) | 几个经典的算法面试题(下)

上一讲,我给大家介绍了两个经典算法面试题,即字符串匹配问题和汉诺塔游戏,这一讲,我再来给大家介绍两个经典算法面试题,它们就是八皇后问题和马踏棋盘算法,注意,马踏棋盘算法也被称为骑士周游问…

springsecurity--Config层代码常用代码指令

前提搭建 使我们的类继承于WebSecurityConfigurerAdapter这个类 同时调用service还有新建一个bean方法 Bean public PasswordEncoder getPassword() {return new BCryptPasswordEncoder(); } 这个代码是可以自定义账户和密码 自定义登录账户和密码写在service类中 下方的红框…

SSM框架-SSM整合

目录 1 ContextLoaderListener 2 准备工作 3 配置web.xml 4 配置springmvc.xml 5 配置spring.xml 6 Spring整合MyBatis 7 配置log4j.xml 8 配置事务 9 测试功能 9.1 创建pojo类 9.2 员工列表功能 9.3 分页数据 9.4 分页相关超链接 1 ContextLoaderListener Spring提…

安卓玩机搞机技巧综合资源-----卸载内置软件 获取root权限 刷写第三方ROM【六】

接上篇 安卓玩机搞机技巧综合资源------如何提取手机分区 小米机型代码分享等等 【一】 安卓玩机搞机技巧综合资源------开机英文提示解决dm-verity corruption your device is corrupt. 设备内部报错 AB分区等等【二】 安卓玩机搞机技巧综合资源------EROFS分区格式 小米红…

985、211毕业一年,面试八家大厂,四面拿美团offer(Java后端)

自我介绍 本人三年开发,985硕士,211本科,专业都是软件工程,一直投的是Java后台开发,只投过一次网易的测试,技术不是太牛,但是比较努力。实验室没有项目,so项目经验是0,在…

openssl自动批量生成证书

使用bash批处理程序自动生成证书信息。 1、在linux系统创建一个文件夹 $ mkdir my_cert 2、创建CA证书以及私钥 $ cd my_cert $ openssl genrsa -out CA_Private.key 2048 $ openssl req -x509 -new -nodes -key CA_Private.key -sha256 -days 365 -out CA_Certificate.p…

Node.js 动画:事件循环

我们都听说过 JavaScript 和 Node.js 是单线程的,但实际上这意味着什么? 这意味着 JavaScript 一次只能做一件事。例如,我们不能同时对数字进行乘法和求和。我们通常按顺序进行操作。我们先加然后乘,反之亦然。现代计算机速度很快…

常见的卷积神经网络模型,卷积神经网络数学建模

1、卷积神经网络cnn究竟是怎样一步一步工作的 用一个卷积核滑动图片来提取某种特征(比如某个方向的边),然后激活函数用ReLU来压制梯度弥散。对得到的结果用另一个卷积核继续提取reLU,然后池化(保留区域最大或者用区域…