• [技术干货] 使用小程序实现AI动漫脸特效-转载
     一、文章前言 最近在Dou音很火的AI绘画特效能够实现将人脸进行动漫化,让我们用小程序也制作一个吧。    二、具体流程及准备 2.1、注册百度开放平台及微信公众平台账号。 2.2、下载及安装微信Web开发者工具。 2.3、如需通过SDK调用及需准备对应语言的开发工具。  三、开发步骤 3.1、访问百度开放平台选择图像增强与特效并领取免费资源。   3.2、在应用列表点击创建应用并填写表单所需要的各项信息。    3.3、创建完毕后回到应用列表,将API Key 以及Serect Key复制出来,后面我们需要通过这些凭证来获取Token。    3.4、应用创建好后,打开微信开发者工具,新建项目,依次选择不使用模板、不使用云服务。   3.5、在pages文件夹下面创建一个文件夹并新建对应的page文件  ​ 3.6、在JS文件中的onLoad函数中请求获取Token的接口,这时候就需要用到我们刚才所申请的ApiKey等信息; 了。   /**  * 生命周期函数--监听页面加载    */   onLoad(options) {     let that = this;     let ApiKey='这里填你所申请的ApiKey';     let SecretKey='这里填你所申请的SecretKey';     wx.request({       url: 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=' + ApiKey+'&client_secret='+SecretKey,       method: 'POST',       success: function (res) {         that.setData({           AccessToken:res.data.access_token         });       }     });   }, 3.7、编译程序,检查接口是否有正常返回,下图所标记的字段就是我们所需要的token了,它的有效期为30天,记得要及时更新。   3.8、查看人像动漫化接口描述及请求说明,结合人脸检测、头发分割、人像分割等技术,为用户量身定制千人千面的二次元动漫形象。   参数    是否必选    类型    说明 image    和url二选一    string    base64编码后大小不超过10M url    和image二选一    string    图片完整URL,URL长度不超过1024字节 type    否    string    anime或者anime_mask。前者生成二次元动漫图,后者生成戴口罩的二次元动漫人像 mask_id    否    string    在type参数填入anime_mask时生效 {     'image': '这里放经过base64转换后的图片' } 3.9、实现选择图片及将其转换为base64的功能,这里要用到wx.chooseImage以及wx.getFileSystemManager()两个函数。   <view class="containerBox">   <view class="leftBtn" bindtap="loadImage">   <image src="../../image/xj.png"  class="btnImg"></image>   上传图像   </view>   <view class="rightBtn" bindtap="identify">   <image src="../../image/face.png"  class="btnImg"></image>   动漫转换   </view> </view>   loadImage() {     let that = this;     wx.chooseImage({       count: 0,       sizeType: ['original', 'compressed'], //原图 / 压缩       sourceType: ['album', 'camera'], //相册 / 相机拍照模式       success(res) {         that.setData({           imgSrc: res.tempFilePaths[0]         });         //将图片转换为Base64格式         wx.getFileSystemManager().readFile({           filePath: res.tempFilePaths[0],           encoding: 'base64',           success(data) {             let baseData = data.data; //'data:image/png;base64,' + data.data;             that.setData({               baseData: baseData             });           }         });       }     })   }, <image src="{{imgSrc}}" class="showImg"></image> 1 参数    是否必选    类型    说明 image    是    string    图片信息(总数据大小应小于10M,图片尺寸在1920x1080以下) 3.10、拼接参数调用接口,接口所返回的image字段就是已经进行转换后的图像了。   字段    类型    说明 log_id    uint64    唯一的log id,用于问题定位 image    string    处理后图片的Base64编码 3.11、将image字段在页面进行展示,并将页面进行优化,增加转换中的动画效果,提高用户体验。    <view class='cu-load load-modal'  wx:if="{{loadding}}">   <view class='gray-green'>转换中..</view> </view> 1 2 3 四、完整代码 <!--index.wxml--> <view class="containerBox">   <view class="leftBtn" bindtap="loadImage">   <image src="../../image/xj.png"  class="btnImg"></image>   上传图像   </view>   <view class="rightBtn" bindtap="identify">   <image src="../../image/face.png"  class="btnImg"></image>   动漫转换   </view> </view> <view style="display:flex;">   <image src="{{reproduction}}" class="showImg"></image>   <image src="data:image/png;base64,{{baseImg}}" class="showImg"></image>  </view>  <view class='cu-load load-modal'  wx:if="{{loadding}}">   <view class='gray-green'>转换中..</view> </view> <!--index.wxss--> /* pages/anime/index.wxss */ page{background:white;} /* pages/pubu/index.wxss */ .containerBox{   width:750rpx;   display:flex;   height:62rpx;   margin-top:20rpx; } .leftBtn{   display: flex;   width:181rpx;   height:62rpx;   color:white;   border:1rpx solid #4FAFF2;   background:#4FAFF2;   border-radius:10rpx;   text-align: center;   line-height:62rpx;   font-size:28rpx;   margin-left: 108rpx; } .rightBtn{   display: flex;   width:181rpx;   height:62rpx;   color:white;   border:1rpx solid #4FAFF2;   border-radius:10rpx;   text-align: center;   line-height:62rpx;   font-size:28rpx;   margin-left: 172rpx;   background:#4FAFF2; } .btnImg{   width:50rpx;height:50rpx;margin-top:6rpx;margin-left:6rpx; } .showImg{   width:300rpx;   height:300rpx;   margin-left:50rpx;   margin-top:50rpx;   border-radius:10rpx; } .resultImg{   width:300rpx;   height:300rpx;   margin-left:50rpx;   margin-top:25rpx;   border-radius:50%; } .result{   margin-top:20rpx; } .resultTitle{   margin-left:75rpx;   margin-top:10rpx;   color:#2B79F5;   font-size:25rpx; } .productTableTr{   height: 80rpx;line-height: 80rpx;border-bottom: 5rpx solid #F8F8F8;display:flex; } .leftTr{   width: 583rpx;height: 80rpx;line-height: 80rpx; } .rightTr{   width: 119rpx;height: 80rpx;line-height: 80rpx;color: #FF2525;font-size: 26rpx; } .leftTrText{   color: #2B79F5;font-size: 28rpx;margin-left: 15rpx;width: 283rpx; } .productDetailTable{   width: 702rpx;margin-left: 24rpx;border:5rpx solid #F8F8F8;border-radius: 6rpx; } .copyBtn{   color:white;background:#2B79F5;border-radius:8rpx;width:100rpx;height:50rpx;margin-top:15rpx; }  /**    * 页面的初始数据    */   data: {     token: '',     imgSrc: '',     baseData: '',   },    /**    * 生命周期函数--监听页面加载    */   onLoad(options) {     let that = this;     let grant_type = 'client_credentials';     let client_id = '';     let client_secret = '';     wx.request({       url: 'https://aip.baidubce.com/oauth/2.0/token?grant_type=' + grant_type + '&client_id=' + client_id + '&client_secret=' + client_secret,       method: 'post',       header: {         'content-type': 'application/json'       },       success: function (res) {         that.setData({           token: res.data.access_token         });       }     })   },   loadImage() {     let that = this;     wx.chooseImage({       count: 0,       sizeType: ['original', 'compressed'], //原图 / 压缩       sourceType: ['album', 'camera'], //相册 / 相机拍照模式       success(res) {         that.setData({           imgSrc: res.tempFilePaths[0]         });         //将图片转换为Base64格式         wx.getFileSystemManager().readFile({           filePath: res.tempFilePaths[0],           encoding: 'base64',           success(data) {             let baseData = data.data; //'data:image/png;base64,' + data.data;             that.setData({               baseData: baseData             });           }         });       }     })   }, ———————————————— 版权声明:本文为CSDN博主「摔跤猫子」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/weixin_42794881/article/details/128075295 
  • [技术干货] 人工智能内容生成元年—AI绘画原理解析-转载
     一、背景         2022年AIGC(AI生成内容)焕发出了勃勃生机,大有元年之势,技术与应用迭代都扎堆呈现。在各种新闻媒体处可以看到诸多关于学术前沿研究,以及相应落地的商用案例。可谓出现了现象级的学术-商业共振。以往学术研究内容离商用一般较远,因为学术研究相应实验数据通常为闭集即固定数据场景,而商业应用则为开集即非固定数据场景(能见到各式各样、甚至乱七八糟的数据)。所以将学术研究内容转化为商业应用的时候,就需要以工匠精神去做产品化设计与迭代,主要目的就是不断提升其可用性以达到商业化标准(避免出现不符预期、甚至乱七八糟的结果)。          但AIGC领域似乎大大缩短了这一转化进程,尤其以近期短时间内爆火的AI绘画、AI作画类应用为代表。这无疑是人工智能发展至今的巨大胜利时刻,这能建立极强、极快的螺旋式发展迭代循环,商业应用上的不足点能迅速反馈至学术研究侧,学术研究侧的优化改进也能迅速体现到商业应用侧,拉满学术研究能获得的成就感。接下来的篇幅将介绍现有AI绘画、AI作画背后的相应基本原理、应用、以及论文参考文献。更多技术与应用的有趣想法欢迎评论区留言。  二、原理 技术脉络归纳:         在AI内容生成制作爆火的2022元年,在其基础框架技术部分,技术演进的脉络可以看作是不断寻找更可靠的特征域建模方式,亦可看作是不断寻找更合适的借鸡生蛋方式的过程。原始图像域的特征维度是很高的,直接来建模会有维度灾难的问题。需要不断找到可行的中间域来做对齐:  1.)CLIP可以看作是图像域与文本域特征对齐的大一统技术框架,文本域的原始特征空间跟原始图像域的特征空间比是相对更小的。所以在同等维度特征的表达下,文本相比图像是能更加容易被刻画好的,所以当align文本域特征到图像域特征时,图像域特征表达将无疑得到了更佳的富有语义的监督信号。这样获得更好的效果也就很自然了。  2.)diffusion可以看作是将原始图像域建模转变为噪声域建模的方法。噪声域有两个极大的好处:首先,它的特征空间比原始图像域要小的多,非常容易建模。其次,即使噪声域建模效果没能接近完美,它所呈现出来的差异也是噪声域的差异,而这个噪声差异在图像内容域上对人眼来说往往注意不到。所以从基本原理上来说,diffusion生成的图像细节无疑是会远远优于gan的。  基础技术部分:         基础技术框架上大致可以分成如下几个标志性的阶段:  a)GAN阶段         原理摘记,生成与对抗网络图像特征域对齐,示意图如论文[1]中图所示:   b)Transformer阶段         网络由self-Attenion和Feed Forward Neural Network组成,强力的文本、图像(ViT系列)编码网络框架。示意图如论文[3]中图所示:   c)CLIP阶段         图像文本域特征对齐。基于文本、视觉transformer encode统一框架,训练阶段4亿文本图像配对数据,训练至少100卡月V100。示意图如论文[4]中图所示:   d)Diffusion阶段         原始图像特征域对齐转变为图像噪声域对齐。基于参数化马尔科夫链框架实现。示意图如论文[5]中图所示:   演化技术部分: a)StyleGan         基于adain思想,额外学习高斯分布到风格空间w的映射,然后风格空间的变量作用于合成网络中。示意图如论文[2]中图所示:   b)DALL-E 1         网络可理解为VQVAE + Transformer。示意图如论文[6]中图所示:   c) DALL-E 2         网络可理解为CLIP + Diffusion。示意图如论文[7]中图所示:   d)Stable Diffusion         网络可理解为VAE + CLIP + Diffusion + Unet,引入LDM等加速手段,显著降低计算复杂度。示意图如论文[8]中图所示:   三、应用         目前可以看到,诸如文生图、图生图、图像编辑、图像修复、图像拓展等应用功能都已实现,国内的AI绘画特效类应用也结合国风、动漫等风格有了非常广泛的应用,这里面既有大厂也有创业公司等玩家的加入。于此同时,对创意行业设计者来说,AI绘画也正演变为最佳助手,大幅提高创意行业的生产效率。相应应用介绍如下:  1.) Disco Diffusion:CLIP + Diffusion。https://github.com/alembics/disco-diffusion。  2.) Stable Diffusion:https://github.com/Stability-AI/stablediffusion。  3.) Stable Diffusion 2:显著提升图像质量,采用LAION-5B 58.5亿个图像文本对,增加NSFW做了内容过滤。https://huggingface.co/stabilityai/stable-diffusion-2 。  4.) Imagic : gan DALL-E 2,基于扩散模型的真实图像编辑方法,用文字就能实现真实照片的 PS,比如让一个人竖起大拇指、让两只鹦鹉亲吻。示意图如论文[9]中图所示:   5.) Imagen:更强力的语言模型能获得更逼真的画作效果。相较于视觉部分模型来讲,语言模型size越大带来的画作逼真性越大。示意图如论文[10]中图所示:   6.) DreamBooth: 对输入图像中的主体能进行相应输入文本语义下的内容生成。示意图如论文[11]中图所示:  ———————————————— 版权声明:本文为CSDN博主「AI记忆」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/sunbaigui/article/details/128167000 
  • [技术干货] OpenAI掌门人Sam Altman:AI的下一个发展阶段-转载
     预告了一整年的GPT-4迟迟没来,人们猜想OpenAI是不是要跳票了,更何况他们之前的得意之作DALL-E也被开源Stable Diffusion打了个措手不及,再不来点深水炸弹业界地位危矣。  不过,就在大家以为今年OpenAI将以沉寂收场时,聊天机器人模型ChatGPT横空出世,让人们看到了AI的更大创造力,聚光灯也再度打到了OpenAI的身上。  今年9月,LinkedIn联合创始人Reid Hoffman与OpenAI首席执行官Sam Altman进行了一场对话,而肩负着宏伟使命且极富远见的Altman就曾预言:AI即将迎来下一个发展阶段。如今,大型语言模型越来越先进,也出现了可以实现文本-图像相互转换的多模态模型,一些AI应用还可令科学家如虎添翼。在他眼中,AI是一个可以孵化出无数工具,推动各行各业前进的基础平台。  随着AI行业的不断进步,AI应用不再只是充斥着行业热词的纸上项目,已经发展为成熟的工具,助力多个行业的生产服务,也必将催生出无数新企业。  各种AI工具已显现出巨大的日常应用潜力,可以实现人类的各种想法,改善人类的工作方式,比如由Stability.ai发布的开源Stable Diffusion模型,Microsoft和OpenAI联合打造的AI编程工具Copilot,OpenAI开发的语言生成模型GPT-3和图像生成平台DALL-E以及爆火的聊天机器人模型ChatGPT。  Sam Altman还表示,5年后,我们应该不会再使用Transformer模型了。虽然Transformer很好,但他希望到时候会有比它更好的东西出现,不断突破创新很重要。在他看来,AI可以帮助人类创造出前所未有的新应用,这将是人类的巨大的进步和胜利,是真正的科技革命。  从大模型的商业化机会、AI+应用再到AI发展方向,Sam Altman在这场对话中分享了自己的见解。以下为对话内容,由OneFlow社区编译。  1  大模型的商业机会  Reid Hoffman:很多大型模型都通过API开放使用,能够衍生什么商业化机会?  Sam Altman:现在,语言模型已经可以很好地应用到文案写作和教育服务领域,我相信未来几年内,语言模型会更加强大,将能与Google这一价值万亿美元的搜索产品一较高下。语言模型的应用将会改变我们的日常生活。  以前,大家都在调侃聊天机器人,其实它很有价值,只是当时的技术还不能满足需求。现在的聊天机器人更加成熟,几乎可以达到人类水平。聊天机器人可以用于医疗服务行业,提供咨询和教育服务,这方面将能催生出大型企业。  我相信,不久之后会出现多模态模型,这又将打开新局面。现在,人们可以直接用自然语言命令计算机为你完成你想做的工作,例如DALL-E图像生成工具和Copilot编程工具,都是用户向它们输入自然语言描述,然后工具自动生成用户想要的东西,用户还可以不断迭代修改自己的描述,直至工具给出满意的输出。  类似的AI应用方式会成为大趋势,可以孕育出许多大型企业。强大的AI模型可以成为孵化各种AI应用的平台,就像智能手机的出现催生出众多APP一样,它们的共同点都是可以制造无数的商业机会。  Reid Hoffman:既然大家都可以通过API使用大型模型,作为AI企业,怎样才能使自己脱颖而出,开辟自己独特的商业路径?  Sam Altman:将来应该会出现几个大型的基础模型,开发人员都将基于这些基础模型研发AI应用。但目前的情况依然是某一家公司开发出一个大型语言模型,然后开放API供他人使用。  我认为,将来在基础模型和具体AI应用研发之间会有一个中间层:出现一批专门负责调整大型模型以适应具体AI应用需求的初创企业。能做好这一点的初创公司将会非常成功,但这取决于它们能在“数据飞轮”上走多远。(数据飞轮:使用更多数据可以训练出更好的模型,吸引更多用户,从而产生更多用户数据用于训练,形成良性循环。)  我对初创企业训练模型的能力持怀疑态度,将来承担模型训练角色的应该不会是初创公司,但这些企业可以在上述的中间层角色中发挥巨大价值。  Audience Member:未来会不会出现垂类AI初创公司,专门为具体产业调整基础模型?提示词工程(Prompt Engineering,修改向AI输入的任务描述,使AI的输出结果更符合用户的需求)将来会不会成为企业的内部职能?  Sam Altman:五年后我们将不再需要提示词工程,或者只需在这方面做少量工作。将来的AI系统不会因为增补了某个特定词就会产生截然不同的输出,而是可以较好地理解自然语言,用户只需以文本和语音形式输入指令,即可让计算机完成图像生成、资料研究、心理咨询等复杂任务。  总的来说,用户只须使用自然语言就可以与计算机交互,当然,如果艺术家能想出更有创造性的描述,也自然就可以生成更好的图像。  2  “AI+”时代:AI for Science、元宇宙  Reid Hoffman:在科学领域,AI模型可以发挥什么作用?  Sam Altman:现在科学界对AI的应用分为两种。一种是将AI工具直接用于科学目的,如AlphaFold(用于蛋白质结构预测),它们可以创造巨大价值,相信未来会出现无数这样的工具。  另一种是将AI工具用于提升科研工作效率,如帮科学家和工程师找到新研究方向、写代码等。Copilot编程工具就是一个例子。但AI工具的能力远不止于此。上述两种AI应用将会大大推动科技前进。  此外,目前科学界也在探索对AI的第三种应用方式——让AI成为可以“自我改进”的科学家。这件事情既有好处也有风险。  好的一面是,可以利用AI将人类的工作内容自动化,教会AI做任何人类可以做的事情:探索新科学、提出理论解释、验证、思考等,或许还可借此解决困扰人类已久的“AI对齐问题(Alignment Problem)”(即如何让AI系统的目标符合人类的价值观)。风险在于,有人担心懂得“自我改进”的AI有可能会像科幻小说描写的那样,擅自改动代码或修改优化算法。  我深信,真正有利于促进人类和经济的前行的,是一个能够推动科学进步的社会架构。我们能从这样的社会架构中获益很多。  Audience Member:像GPT-3这样的基础模型会如何影响生命科学研究的步伐?生命科学研究中有没有一些技术手段无法克服的限制因素,比如自然规律等?  Sam Altman:目前的可用模型还不够好,不足以对生命科学领域产生重大影响——不少生命科学家了解这些模型之后都说,它们只能在部分情况下发挥些许作用。AI在基因组学领域有一些很有前景的应用方向,但目前尚属起步阶段,不过我很看好。我认为这也是市值千亿的巨头准备进军的领域之一。  如果AI未来真的可以让医药公司的研发速率提高几百倍,那无疑会产生深远的影响。不过如你所说,生物学的自有规律仍在,新药的临床验证需要时间,这也是医药研发的速率限制因素。  据我所知,不少合成生物公司借助AI发现许多新的研发想法,加快自己的研发迭代周期,但研发出来之后终究是要进行测试,这部分时间无法缩减。  我认为,医药初创公司最重要的是低成本和快速的研发周期,有了这两点就有资本参与市场竞争了。所以如果我是一家医药初创公司的决策者,一开始我不会选择从心脏病这类大难题下手。  此外,如果我是一家AI药物研发初创公司,我会在模拟器上多下工夫,因为目前这方面还亟待改善。  Reid Hoffman:你对AI和元宇宙怎么看?  Sam Altman:元宇宙会发展成一种新的软件容器,就像手机一样,成为一种计算机交互方式。而AI则是一场技术革命,所以问题应该是“元宇宙如何融入AI新世界”,而不是“AI如何融入元宇宙”。当然,这仅代表我个人的观点。  Audience Member:AI工具已经可以辅助人类进行创造性工作,AI什么时候会从创作者的辅助工具发展为具有独立创作力的智能体?  Sam Altman:作为创作辅助工具,AI既有用也很受欢迎,但目前来看,AI在大部分的创造性任务上的能力都有待提高,未来很长一段时间内都不能代替人类创作者。可能到100年之后,AI才可以独立完成创造性工作。  十年前,大部分人都认为AI取代人类工作的次序是:蓝领工作(卡车司机等)→低技能的白领工作→高技能的白领工作(程序员等),最后才会(也许永远不会)取代创造性工作。现在的事实证明,AI最有可能先取代的反而是创造性工作。  这也说明,预测未来是很难的,还说明人类可能不够了解自己,不清楚什么类型的技能最难、最需要调动大脑,或者错误估计了控制身体的难度。  Reid Hoffman:除了AI的应用潜力之外,目前大家对AI的讨论有没有轻率的一面,比如将AI用于核聚变研究?  Sam Altman:通常而言,如果某个行业获得非常广泛的社会关注,所有人都在谈论它,这可能不是什么好事,可惜这恰恰是AI行业目前的情况,我不希望这是AI行业“垮掉”的前兆。  业内有人正在研究利用强化学习模型控制核聚变反应,但据我们所知,AI模型在这里发挥的作用还非常有限。  我们现在进入了“AI+”时代,相信AI在未来可以实现很多东西,会成为最大的新一代技术平台。但就目前而言,我们倾向于往更有确定性的方向发展,比如,业内研究出了缩放定律(Scaling Law,该定律揭示AI模型性能与模型参数、数据、计算量之间的关系),就以此为基础展望下一步。  这也是OpenAI的运作模式——先做摆在我们面前的最有信心能成功的事情,然后分出10%的资源进行成功确定性更低的探索工作。这种运作方式为我们带来巨大的成功。  现阶段不应该把重点放在“让AI无所不能”上,而是先沿着现有的道路慢慢发展完善AI,然后留有开放探索的空间——伟大的事物都不是计划出来的,有时重大的突破诞生于偶然。    3 AI的未来发展方向  Reid Hoffman:未来几年,AI的发展方向是什么?  Sam Altman:一个比较确定的方向是,语言模型的发展会远超今天的想象。虽然很多人都说算力和数据都已经跟不上了,这也是事实,但算法的改进空间依然很大,还可以带来很大的进步。  第二个方向是多模态模型的发展。未来的多模态模型将不局限于文本和图像的互相转换,而是所有模态之间都可以方便地互相转化。  第三个方向是,模型可以持续学习。目前的模型如GPT都停滞在当初训练好的状态,并不会随着使用次数的增加而自我优化。我相信未来可以改变这一点。  如果上述三点都能实现的话,我们就可以解锁无数全新的应用场景,实现真正的科技革新,帮助人类实现科技的飞跃式前进。而且我相信,我们也有办法利用AI推动科研进步和新知识的产生。  我认为,现在普遍存在的一种错误观点是:“虽然语言模型的功能已经比较完善,还可以应用到图像和视频领域,将应用智能的边际成本降得非常低,但归根结底,它只是模仿人类做过的东西,不能为人类产生新知识,不能治疗癌症,也不能拓展人类已知的科学领域。”我相信,AI的发展会让持这种观点的人大吃一惊。  Reid Hoffman:AI将如何影响未来人类的生活?  Sam Altman:AI终将渗入人类生活的方方面面。未来十年里,智能和能源的边际成本会迅速下降,趋近于零,而智能和能源又是其他各行各业的主要成本来源(当然,奢侈品除外)。[注:Sam Altman 是否提前知道了美国能源部在12月份宣布的可控核聚变的进展?]  整个社会的成本结构都会下降,正如之前多次科技革命的结果一样。在这种浪潮之下,很少有什么会一成不变。但有一点很重要,智能和能源成本只是趋近于零,而不是直接降为零。所以将来如果有人仍愿意花费巨额投资来购买智能和能源,他们得到的算力和能源的数量将突破想象。  设想一下,将来的能源使用成本下降10~100倍,智能使用成本下降1亿倍,而对能源和智能的资金投入则比现在多1000倍,那会是什么样的局面?  Audience Member:未来二三十年内,AI的发展会带来什么社会问题?如果要避免这些问题,我们现在可以怎么做?  Sam Altman:AI的应用会极大影响经济活动。将来我们需要形成新的社会契约,考虑如何公平地分配财富。AGI系统的使用权将会成为一种商品,所以也要考虑如何让所有人平等地获得使用AGI的机会。还有AGI的管理问题:人类如何共同决定AGI可以做什么、不能做什么。  我不担心“AI取代人类的工作之后,人类何去何从”的问题,虽然未来人类的工作会和现在很不一样,但我觉得人类最终都会找到自己满意的事业,过上充实的生活。真正的难题是财富分配、AGI使用权和AGI的治理问题。  Reid Hoffman:据我所知,OpenAI也付出不少努力,试图解决AI的社会影响问题。  Sam Altman:OpenAI正在进行全球最大型的UBI实验。(Universal Basic Income,无条件基本收入;Sam Altman认为,十年后AI的生产力可以创造巨大财富,足够给每个美国公民每年无条件发放13,500美元。)有一个为期五年的项目已经进行到三年半了。UBI不会是唯一的解决方案,但它是一个不错的做法。  OpenAI从受AI冲击最大的行业中汲取意见,以便制定应对方案;对于那些最先被AI取代的劳动者,我们也尝试利用AI帮助他们学习新技能。我们还会不断地做类似的事情。  Audience Member:你如何定义AGI(通用人工智能)?怎么才算实现了AGI?  Sam Altman:我理解的AGI相当于一个可以共事的普通人,任何远程同事可以通过电脑帮你完成的工作,AGI也可以做,包括让AGI学习医疗知识和写代码等等。  AGI的重点不在于掌握某一种难得的技能,而是拥有学习的元能力,然后只要人类需要,它就可以往任何技能方向发展并精通。另一个概念是“超级智能”(Super Intelligence),它指的是比全人类加起来还要聪明的智能。  Audience Member:哪些领域不会被AI影响?  Sam Altman:所有人类深层次的东西都不会被AI改变。作为人类,我们依然注重人与人之间的互动联系,人类大脑的奖励机制没有变,我们依然追求快乐,拥有创造欲和竞争欲,渴望组建家庭……五万年前人类在意的东西,一百年后的人类也会在意。  (本文由OneFlow社区编译,译文转载请联系获得授权。来源:https://www.youtube.com/watch?v=WHoWGNQRXb0) ———————————————— 版权声明:本文为CSDN博主「OneFlow深度学习框架」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/OneFlow_Official/article/details/128337504 
  • [技术干货] ai作诗
    已完成这个实验非常好
  • [其他] A woman
    我的作品A woman
  • ai绘画
    ↵666666666
  • [热门活动] 末日
    On top of the ruins of the apocalypse, surrounded by empty cities, lonely dilapidated and desolate ruins of buildings, howling despair and loneliness. In the middle stood a girl with silver hair looking out over the city, accompanied by her stray dog. They walked together under the end of the earth, witnessing the change of times and the death of human civilization.On top of the ruins of the apocalypse, surrounded by empty cities, lonely dilapidated and desolate ruins of buildings, howling despair and loneliness. In the middle stood a girl with silver hair looking out over the city, accompanied by her stray dog. They walked together under the end of the earth, witnessing the change of times and the death of human civilization.
  • [热门活动] 华为云AI大赛
    the pupil of a coyote注视 
  • [分享交流] 小熊维尼的AI作品为罗丽公主,是一次很棒的体验。华为云AI画作大赏,人人都是艺术家。
    华为云AI画作大赏,人人都是艺术家。
  • 【已于2023.3.1重新上线】关于《人工智能入门级开发者认证》下线优化的通知
    尊敬的客户:您好!由于《人工智能入门级开发者认证》中涉及的产品HiLens Studio将启动下线,华为云开发者学堂将于2022年12月30日晚18:00对该认证进行下线优化,重新上线时间待定,届时请您关注华为云开发者学堂资讯专栏-业务动态通知。为此,我们将采取以下措施:1.对于已购买该开发者认证并通过考试领取证书的客户,原证书在证书有效期内仍有效,并与课程优化后的证书拥有同等效力;2.对于已购买该开发者认证但未通过考试且仍有考试机会的客户,可在重新上线后进行新课程学习、实验,参加考试并领取证书(如果近期有认证需求,需在12月30日晚18:00前完成考试);3.对于已购买该开发者认证但未完成实验操作的客户,请您关注华为云开发者学堂资讯专栏-业务动态的上线通知,待实验优化重新上线后再前往沙箱开展实验。如您有任何问题,可随时通过工单或者服务热线(+86-4000-955-988 )与我们联系。感谢您对华为云开发者认证的支持!发布日期:2022年12月26日
  • [技术干货] AI语音识别-我给浏览器加了个语音搜索功能
    1. 前言随着物联网的发展,语音识别技术受到越来越多的关注,语音识别技术正积极推动信息通信领域的革命,语音拨号,语音邮件,语音输入乃至语音操控等以语音识别为基础的人机交互日益普及.尽管生物识别方式不断增多,语音识别方式仍是主流方式.与其他生物识别技术相比,语音识别技术不仅具有非接触,非侵入性,使用方便,不会遗失和忘记,不需记忆等特点。本篇文章就采用华为云提供的在线语音识别服务给浏览器设计一个语音自动搜索的功能,编程语言采用C++,软件框架采用QT设计,浏览器内核采用QWebEngineView,在QT5.7以后,QT里就不支持webkit了,目前自带的浏览器内核是QWebEngineView,只能使用MSVC编译编译,mingw要使用浏览器可以单独下载webkit的库,或者使用COM组件调用IE浏览器,当前文章里使用的浏览器是QWebEngineView,编译器采用VS2017,32bit。语音采集功能使用QT的QAudioInput类来实现,采集声卡的PCM数据,保存起来,通过华为云的语音识别HTTP接口完成文字识别,得到文字后再通过浏览器进行搜索文字相关内容。实现效果如下: 点击界面上的 ”开始语音采集“按钮,就可以说话,说完点击停止采集,然后调用华为云的语音识别接口进行语音识别,在下面的显示框上显示识别到的文字,然后再完成浏览器自动搜索。 2. 创建语音服务器2.1 使用语音服务登录华为云官网: cid:link_4选择产品-人工智能-语音交互服务-一句话识别。 短语音识别地址: cid:link_2短语音识别是将口述音频转换为文本,通过API调用识别不超过一分钟的不同音频源发来的音频流或音频文件。适用于语音搜索、人机交互等语音交互识别场景。 支持免费试用。 免费试用每日500次。 2.2 HTTP接口使用介绍文档地址: cid:link_1 在线调试接口地址: cid:link_0几个重要的参数:本地音频采集的频率、通道数都得与参数匹配。2.3 接口地址总结请求地址: "https://{endpoint}/v1/{project_id}/asr/short-audio" 请求数据: { "config": { "audio_format": "ulaw8k8bit", "property": "chinese_8k_common", "add_punc": "yes", "digit_norm": "yes", "need_word_info": "yes" }, "data": "/+MgxAAUeHpMAUkQAANhuRAC..." } 请求头里要带: X-Auth-Token 参数请求数据里的参数在前面截图里介绍了,data就是音频文件的base64编码数据。请求地址里的endpoint字段、project_id字段、还有X-Auth-Token字段只要是访问华为云的任何API接口都需要填,获取方法看这里: cid:link_3 翻到2.3小节。识别成功返回的数据:{ "trace_id": "567e8537-a89c-13c3-a882-826321939651", "result": { "text": "欢迎使用语音云服务。", "score": 0.9, "word_info": [ { "start_time": 150, "end_time": 570, "word": "欢迎" }, { "start_time": 570, "end_time": 990, "word": "使用" }, { "start_time": 990, "end_time": 1380, "word": "语音" }, { "start_time": 1380, "end_time": 1590, "word": "云" }, { "start_time": 1590, "end_time": 2070, "word": "服务" } ] } }其中的text字段就是识别的文本数据。3. 项目代码示例下面列出核心的代码,主要是就是字符串拼接格式,拼接完发送http请求即可。3.1 语音转文字请求代码//语音转文本 void Widget::audio_to_text(QByteArray data) { function_select=0; QString requestUrl; QNetworkRequest request; //存放文件的BASE64编码 QString base64_Data; //设置请求地址 QUrl url; //一句话识别的请求地址 requestUrl = QString("https://sis-ext.%1.myhuaweicloud.com/v1/%2/asr/short-audio") .arg(SERVER_ID) .arg(PROJECT_ID); qDebug()<<"requestUrl:"<<requestUrl; //设置数据提交格式 request.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("application/json")); //将图片进行Base64编码 base64_Data = QString(data.toBase64()); //设置token request.setRawHeader("X-Auth-Token",Token); //构造请求 url.setUrl(requestUrl); request.setUrl(url); //设置采样率 QString post_param=QString ("{" "\"config\": {" "\"audio_format\": \"df10637-e376-4619-a62c-f8a259673db2"," "\"property\": \"#df10637-e376-4619-a62c-f8a259673db2"," "\"add_punc\": \"yes\"," "\"digit_norm\": \"yes\"," "\"need_word_info\": \"yes\"" "}," "\"data\": \"\"" "}").arg("pcm16k16bit").arg("chinese_16k_common").arg(base64_Data); /* chinese_16k_common 支持采样率为16k的中文普通话语音识别。 pcm16k16bit 16k16bit单通道录音数据。 */ //发送请求 manager->post(request, post_param.toUtf8()); }3.2 更新token代码/* 功能: 获取token */ void Widget::GetToken() { //表示获取token function_select=3; QString requestUrl; QNetworkRequest request; //设置请求地址 QUrl url; //获取token请求地址 requestUrl = QString("https://iam.%1.myhuaweicloud.com/v3/auth/tokens") .arg(SERVER_ID); //自己创建的TCP服务器,测试用 //requestUrl="http://10.0.0.6:8080"; //设置数据提交格式 request.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("application/json;charset=UTF-8")); //构造请求 url.setUrl(requestUrl); request.setUrl(url); QString text =QString("{\"auth\":{\"identity\":{\"methods\":[\"password\"],\"password\":" "{\"user\":{\"domain\": {" "\"name\":\"df10637-e376-4619-a62c-f8a259673db2"},\"name\": \"#df10637-e376-4619-a62c-f8a259673db2",\"password\": \"\"}}}," "\"scope\":{\"project\":{\"name\":\"Cdf10637-e376-4619-a62c-f8a259673db2"}}}}") .arg(MAIN_USER) .arg(IAM_USER) .arg(IAM_PASSWORD) .arg(SERVER_ID); //发送请求 manager->post(request, text.toUtf8()); }3.3 华为云返回的结果处理//解析反馈结果 void Widget::replyFinished(QNetworkReply *reply) { QString displayInfo; int statusCode = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(); //读取所有数据 QByteArray replyData = reply->readAll(); qDebug()<<"状态码:"<<statusCode; qDebug()<<"反馈的数据:"<<QString(replyData); //更新token if(function_select==3) { displayInfo="token 更新失败."; //读取HTTP响应头的数据 QList<QNetworkReply::RawHeaderPair> RawHeader=reply->rawHeaderPairs(); qDebug()<<"HTTP响应头数量:"<<RawHeader.size(); for(int i=0;i<RawHeader.size();i++) { QString first=RawHeader.at(i).first; QString second=RawHeader.at(i).second; if(first=="X-Subject-Token") { Token=second.toUtf8(); displayInfo="token 更新成功."; //保存到文件 SaveDataToFile(Token); break; } } qDebug()<<displayInfo; return; } //判断状态码 if(200 != statusCode) { //解析数据 QJsonParseError json_error; QJsonDocument document = QJsonDocument::fromJson(replyData, &json_error); if(json_error.error == QJsonParseError::NoError) { //判断是否是对象,然后开始解析数据 if(document.isObject()) { QString error_str=""; QJsonObject obj = document.object(); QString error_code; //解析错误代码 if(obj.contains("error_code")) { error_code=obj.take("error_code").toString(); error_str+="错误代码:"; error_str+=error_code; error_str+="\n"; } if(obj.contains("error_msg")) { error_str+="错误消息:"; error_str+=obj.take("error_msg").toString(); error_str+="\n"; } //显示错误代码 qDebug()<<error_str; } } return; } //语音识别 if(function_select==0) { //解析数据 QJsonParseError json_error; QJsonDocument document = QJsonDocument::fromJson(replyData, &json_error); if(json_error.error == QJsonParseError::NoError) { //判断是否是对象,然后开始解析数据 if(document.isObject()) { QString error_str=""; QJsonObject obj = document.object(); QString error_code; if(obj.contains("result")) { QJsonObject obj2=obj.take("result").toObject(); if(obj2.contains("text")) { QString text=obj2.take("text").toString(); qDebug()<<"识别的文本:"<<text; ui->lineEdit_text_display->setText(text); //浏览器搜索 QString url="https://www.baidu.com/s?ie=UTF-8&wd="+text; m_webView->load(QUrl(url)); } } //显示错误代码 qDebug()<<error_str; } } } }
  • [其他] 浅谈人脸检测技术
    人脸检测的英文名称是Face Detection. 人脸检测问题最初来源于人脸识别(Face Recognition)。人脸识别的研究可以追溯到上个世纪六、七十年代,经过几十年的曲折发展已日趋成熟。人脸检测是自动人脸识别系统中的一个关键环节。早期的人脸识别研究主要针对具有较强约束条件的人脸图象(如无背景的图象),往往假设人脸位置一直或者容易获得,因此人脸检测问题并未受到重视。随着电子商务等应用的发展,人脸识别成为最有潜力的生物身份验证手段,这种应用背景要求自动人脸识别系统能够对一般图象具有一定的识别能力,由此所面临的一系列问题使得人脸检测开始作为一个独立的课题受到研究者的重视。今天,人脸检测的应用背景已经远远超出了人脸识别系统的范畴,在基于内容的检索、数字视频处理、视频检测等方面有着重要的应用价值。人脸检测是指对于任意一幅给定的图像,采用一定的策略对其进行搜索以确定其中是否含有人脸,如果是则返回一脸的位置、大小和姿态。难点人脸检测是一个复杂的具有挑战性的模式检测问题,其主要的难点有两方面,一方面是由于人脸内在的变化所引起:(1)人脸具有相当复杂的细节变化,不同的外貌如脸形、肤色等,不同的表情如眼、嘴的开与闭等(2)人脸的遮挡,如眼镜、头发和头部饰物以及其他外部物体等;另外一方面由于外在条件变化所引起:(1)由于成像角度的不同造成人脸的多姿态,如平面内旋转、深度旋转以及上下旋转,其中深度旋转影响较大(2)光照的影响,如图像中的亮度、对比度的变化和阴影等。(3)图像的成像条件,如摄像设备的焦距、成像距离,图像获得的途径等等。这些困难都为解决人脸问题造成了难度。如果能找到一些相关的算法并能在应用过程中达到实时,将为成功构造出具有实际应用价值的人脸检测与跟踪系统提供保证技术应用一,身份认证与安全防护二,媒体与娱乐三,图像搜索
  • [其他] 超模女神
    girl,moon,tree
  • [其他] 浅谈人工智能与机器学习
    随着计算机技术迅猛地发展,人工智能与机器学习已经渗透到我们日常生活的各个领域。为此,中国人民大学专门为全校财经和人文专业的学生开设了“人工智能与机器学习”课程,本书的所有作者都参与了该门课程的教学实践,相互配合,总结教学经验,共同打磨而成《人工智能与机器学习》一书。书中通过丰富现实案例的详细讲解,引导学生了解各种机器学习模型的基本原理与实践用法。避开了大量的数学模型和复杂编程知识,让学生熟悉当下流行的一些机器学习和数据处理工具的使用,来解决现实领域遇到的各种数据分析和预测问题。在早期计算机专家认为,只要可以在程序中写出足够多的明确规则来处理知识,就可以实现人工智能,这种方法被称为符号主义人工智能(symbolic AI)。后来在图灵关于“计算机除了执行我们的命令外,能否自我学习执行特定任务的方法”这一问题之后,又引出了一种新的编程范式。在符号主义人工智能范式中,人们输入规则(程序)以及根据这些规则要处理的数据,系统输出问题的答案。而在机器学习中,人们输入的是数据和从这些数据中预期得到的答案,系统输出的是规则,这些规则可以应用于新的数据并由计算机自动生成答案。这就是机器学习(machine learning),机器学习系统是训练出来的,而不是直接通过程序明确写出来的,所以,机器学习与数理统计密切相关。深度学习(deep learning)是机器学习的一个分支领域,深度学习强调从连续的层中进行学习,所谓深度是指一系列连续的表示层,数据模型包含的层数称为模型的深度,这些表示层都是通过数据训练自动学习的,通常它们是由神经网络(neural network)模型中学习得到的。我们可以这么理解,深度学习网络中的每一层都像一个过滤器,原始信息经过每一层的过滤器后纯度越来越高。神经网络中每层对输入数据所做的操作保存在当前层的权重(也称为该层的参数)中,权重的本质是一串数字,每一层实现的变换都由权重来参数化。于是,学习的意思就是指为神经网络的所有层找到一组权重值,使得神经网络能够将每个示例输入与其目标一一对应。神经网络的输出值与预期值之间的差距,由损失函数(也叫目标函数)来评价,损失函数的输入为预测值与真实目标值,然后计算出一个距离值,以此来衡量网络在这个示例上的效果好坏。深度学习则是利用这个距离值作为反馈信号来对权重值进行微调,以降低当前示例的损失值。微调的任务由优化器完成,该过程实现了反向传播算法。一开始给神经网络的权重赋予随机值,随着网络处理的示例越来越多,权重值向着正确方向一步步的调整,损失值也将逐渐降低,这个过程就是循环训练的过程。重复这个循环过程来得到使损失函数最小的权重值,而具有最小损失的网络,其输出和目标值尽可能地接近,这就是训练好的网络。
  • AI作诗
    finishjv'l'ri't'c'f'v't
总条数:7868 到第 页
上滑加载中