行者AI

行者,为游戏插上人工智能的翅膀。

  • 博客(95)
  • 收藏
  • 关注

原创 AI 作画领域中的“神笔马良”是怎样炼成的?

刷爆朋友圈的 AIGC 是什么?

2022-12-01 15:13:01 1352

原创 谛听安全 | 内容审核闯关攻略指南

近年来,随着互联网行业内容安全问题越来越凸显,不少互联网公司在内容审核方面投入大量人力物力财力,但由于外部监管、商业竞争、内容生态等因素,内容审核仍然面临巨大挑战。谛听深耕行业多年,凭借海量数据积累和行业经验,自研内容安全风控系统,并不断优化模型算法,为内容审核排忧解难。支持对图像、文本、音频、视频等内容进行审核,对政治敏感、色情、暴恐等违规内容进行有效拦截,降低业务违规风险。数据统计与管理: 支持对机审/人审数据查询、标注及操作记录溯源,支持多人在线审核纠错,高效助力企业质检团队内容审查。

2022-10-20 16:22:51 682

原创 从TRPO到PPO(理论分析与数学证明)

本文首发于行者AI一篇关于强化学习算法的理论推导,或许可以帮助你理解PPO算法背后的原理,从而找到改进PPO算法的灵感…

2022-08-09 11:32:07 856

原创 基于BiGRU和GAN的数据生成方法

BiGRU网络是由RNN发展而来,它在处理序列数据的任务中被广泛使用

2022-08-01 15:32:31 2333 1

原创 浅谈游戏音效测试点

优秀的游戏音效可以让玩家在赏玩游戏之后,产生“余音绕梁三日而不绝” 的共鸣,这样游戏内涵也得到了提升,并更有效地延长了游戏的生命力。

2022-08-01 15:31:05 1517

原创 语音驱动嘴型与面部动画生成的现状和趋势

随着硬件与虚拟现实设备的快速发展,人们说话时的面部表情、唇部动作,甚至是头部与肢体的动作都可以帮助听众理解对话内容。视觉和听觉的双模态信息融合的交互方式,不仅能提高用户对内容的理解度,还能提供一种更为准确的交互体验,提高歌唱的艺术性和观赏度。...

2022-07-14 09:49:30 3881

原创 如何用Pygame制作简单的贪吃蛇游戏

使用pygame库写个简单的贪吃蛇吧,当做熟悉python练手也是不错的。

2022-06-10 15:41:01 990

原创 打金?工作室?账号被封?游戏灰黑产离我们有多近

5月12日,任天堂作出了一次“清理行动”,近日在贴吧、论坛等平台有大量Switch玩家表示自己港服账号被封,有些玩家表示自己曾使用非官方平台购买点卡充值,但部分玩家没有购买过黑点卡且未作出任何违规行为,但究其原因其实还是黑卡充值的问题。...

2022-06-06 16:22:01 1103

原创 深度确定性策略梯度(DDPG)

本文首发于行者AI离散动作与连续动作​ 离散动作与连续动作是相对的概念,前者可数,后者不可数。离散动作如LunarLander-v2环境,可以采取四种离散动作;连续动作如Pendulum-v1环境,动作是向左或向右转,用力矩衡量,范围为[-2,2]的连续空间。​ 对于连续的动作控制空间,Q-learning与DQN等算法是无法处理的。我们无法用这些算法穷举出所有action的Q值,更无法取其中最大的Q值。那如何输出连续的动作呢,我们可以借用万能的神经网络来处理。在离散动作的场景下,比如输出上下左右

2022-03-30 14:15:17 3940

原创 浅谈外挂常识和如何防御

本文首发于行者AI电子游戏自诞生以来,一直遭受着外挂的困扰,给游戏公司造成了不可估量的损害。本文希望通过介绍外挂的相关知识,让对游戏安全感兴趣、有意愿了解游戏安全知识的同学对游戏安全有个基本的认识。1. 外挂基本概念1.1 外挂基本定义未经官方许可的,可以达到游戏作弊效果的游戏工具。使用这种工具,能获得其他诚实玩家无法达到、或者在短期内得到其他诚实玩家必须通过长期运行游戏才能得到的游戏结果。满足上述效果的工具,称之为“外挂”。1.2 外挂的影响外挂作弊行为十分恶劣地影响了游戏行业的发展。首先

2022-03-30 14:14:27 7721 1

原创 详解近端策略优化

本文首发于行者AI引言上一篇文章我们详细介绍了策略梯度算法(PG),ppo其实就是策略梯度的一种变形。首先介绍一下同策略(on-policy)与异策略(off-policy)的区别。在强化学习里面,我们需要学习的其实就是一个智能体。如果要学习的智能体跟和环境互动的智能体是同一个的话,称之为同策略。如果要学习的智能体跟和环境互动的智能体不是同一个的话,称之为异策略。那么先给童鞋们提出一个问题,ppo算法是同策略还是异策略?1. 同策略的不足之处首先我们回顾一下PG的期望奖励值,公式如下。∇Rˉθ=

2022-02-24 14:34:50 1268

原创 浅谈德州扑克AI核心算法:CFR

本文首发于行者AI引言自2017年AlphaGo打败世界围棋冠军柯洁后,人工智能彻底进入大众视野,一时间棋牌类的AI在人工智能界掀起了一股大风。其实早在AlphaGo之前,人们就对棋牌类的人工智能发起了挑战,从简单的跳棋、五子棋,到更加复杂的中国象棋、国际象棋,以及最近非常热门的围棋和德州扑克,数十年间也是硕果累累。而相对于跳棋、象棋等完全信息游戏,德州扑克不仅要根据不完全信息进行复杂决策,还要应付对手的虚张声势、故意示弱等招数,其对应的博弈树无论是广度还是深度都十分庞大,它也一直都是科学家们想要攻克的

2022-01-26 16:30:01 8044 3

原创 详解策略梯度算法

本文首发于行者AI引言根据智能体学习的不同,可将其分为Value-based方法、Policy-based方法以及Actor-Critic方法。之前我们介绍的Q-learning、Saras和DQN都是基于价值去学习,虽然这种强化学习方法在很多领域都获得较多的应用,但是它的局限性也是比较明显。首先这类算法基本上都是处理离散动作,建立简单的Q表,很难对连续动作进行处理,更无法建立庞大的Q表;其次基于价值的方法使用值函数去近似Q值,虽然可以较高效率地解决连续状态空间的问题,但动作依然只是离散的,动作选择.

2022-01-20 15:55:04 5535 1

原创 中国联通、欧莱雅和钉钉都在争相打造的秘密武器?虚拟IP未来还有怎样的可能

各大品牌扎堆做的虚拟IP,到底有什么魔力?虚拟形象在当下又面临着怎样的屏障呢?

2021-12-29 09:25:22 483

原创 SQL注入详解

现在大多数系统都使用B/S架构,出于安全考虑需要过滤从页面传递过来的字符。通常,用户可以通过以下接口调用数据库的内容:URL地址栏、登陆界面、留言板、搜索框等。这往往会出现安全隐患,为了更好的保护数据泄露或服务器安全,为了方便的安全测试,便编写此文。1. SQL注入简介SQL注入就是指Web应用程序对用户输入数据的合理性没有进行判断,前端传入后端的参数是攻击者可控制的,并且根据参数带入数据库查询,攻击者可以通过构造不同的SQL语句来对数据库进行任意查询。下面以PHP语句为例作为展示:query="SE

2021-09-16 13:54:02 11724

原创 AC算法在文本匹配中的应用

本文首发于:行者AI在工作中需要对一些违禁词进行拦截,实际应用场景中,需保证匹配过程在数百毫秒内给出结果。因此,如何快速,准确的识别文本中是否包含了这些关键词就变得尤为重要。对于上述问题我们描述为以下形式给定关键词集合P={p1,p2,……,pk},在目标串T[1…m]中找到出现了哪些关键词。最容易想到的方法就是针对每个单词去匹配一遍,最后总结出都哪些单词匹配成功。考虑KMP算法,单个关键词匹配的时间复杂度是O(|pk|+m),所以,所有关键词都匹配一遍的时间复杂度为O(|p1|+m+|p.

2021-09-07 16:22:41 553

原创 强化学习中,Q-Learning与Sarsa的差别有多大?

我相信,从某种意义上讲,强化学习是人工智能的未来。 ——强化学习之父,Richard Sutton简单来说就是,智能体通过强化学习,可以知道自己在什么状态下,应该采取什么样的动作使得自身获得最大奖励。强化学习分为在线学习和离线学习,本文以Q-learning(离线)和Sarsa(在线)出发,浅谈两者异同。1. 简述Q-learningQ-Learning是强化学习算法中Value-based中的一种算法,Q即为Q(s,a)就是在某一时刻的s状态下(s∈S),采取动作a (a∈A)动作能够获

2021-08-18 11:12:37 1007

原创 数据库的简述与常用操作指南

本文首发于:行者AI最近在学习编写接口自动化,在代码的调试及以后的自动化集成过程中,避免不了会产生许多测试数据。日积月累,这些使用过的无用数据会长期存放在数据库当中,一来会占用空间,二来页面也会一直展示。由于项目本身并没有对历史数据进行删除的操作需求,只得连接数据库,从数据库表中将这些无用数据进行删除。由此,本文将简单的对数据库进行介绍与操作。背景介绍在互联网行业兴起的今日,数据不断信息化,各行各业都开始使用各种程序进行数据的管理,向无纸化存储进行过渡,对程序进行操作,必定会产生大量数据。这些数据.

2021-08-11 13:57:39 489

原创 从“人工”到“人工智能”,聊一聊本届东京奥运会的AI黑科技

本文首发于:行者AI万众瞩目,拖了又拖的东京奥运会在7月23日终于开幕了。这一次,号称“机器人王国”的日本决心用科技抵御疫情带来的魔法伤害,而AI正是这次对抗的主力军。关于日本为什么被称为“机器人王国”这个事情,还要从上世纪50年代说起。当时日本紧紧抓住第三次科技革命的成果,保持年均10%以上的经济超高速发展,而这背后是劳动力资源的短缺,工厂对自动化生产的需要越来越高,于是,1969年,日本川崎公司成功研制出日本第一台工业机器人。日本“机器人王国”的蓝图开始展现。80年代,日本无论是机器人生产.

2021-08-05 16:31:45 749

原创 Unity ML-agents 参数设置解明

本文首发于:行者AIUnity 是全球最受欢迎的游戏开发引擎之一,有大量的游戏开发者在使用Unity开发他们的游戏。在这个AI、大数据等流行词遍布各行各业的时代,Unity也没有被潮流抛下,推出了他们自己的基于深度强化学习来训练游戏AI的工具包Unity ML-agents。这个工具包功能丰富,十分强大。可以帮助你在你的游戏内实现一个新的AI算法,并且快速的用到你的游戏当中。这么强大的工具包难以在一篇文章里面概括其所有功能。本文就先抛砖引玉,稍微讨论一下Unity ML-agents训练的时候需要用到.

2021-07-27 11:46:54 1243

原创 腾讯、网易纷纷出手,火到出圈的元宇宙到底是个啥?

本文首发于:行者AI最近,一个叫“元宇宙”的概念火到出圈,腾讯、网易、字节跳动、Facebook等各路大佬纷纷入局,甚至连社交软件Soul也称自己是给Z世代提供以灵魂为链接的社交元宇宙。元宇宙到底是个啥?各路资本又为何如此疯狂?这还要从1992年出版的科幻小说《雪崩》说起。《雪崩》作者尼尔·斯蒂芬森构想了一个与社会紧密相连的三维数字空间。这个空间与现实世界平行,只要戴上耳机和目镜,找到一个终端,就可以通过连接进入一个由计算机模拟的三维现实。这里,每个人都可以拥有自己的分身(avatar),你可以定.

2021-07-21 17:30:36 3082 9

原创 Pytest常用插件

本文首发于:行者AIPytest是Python的一种单元测试框架,与unittest相比,使用起来更简洁、效率更高,也是目前大部分使用python编写测试用例的小伙伴们的第一选择了。除了框架本身提供的功能外,Pytest还支持上百种第三方插件,良好的扩展性可以更好的满足大家在用例设计时的不同需求。本文将为大家详细介绍下面5项常用的插件。1. 用例依赖编写用例的时候,我们会注意用例之间的独立性,但部分用例之间确实存在关联,无法做到彻底独立,那么我们就可以通过使用插件pytest-dependenc.

2021-07-14 14:12:14 613 1

原创 如何成长为高级工程师?

本文首发于:行者AI“形而上者谓之道,形而下者谓之器。”这句话是笔者在拜读《计算机心智:操作系统之哲学原理》时看到的,结合以前师傅的教导,感触良多。授人以鱼不如授人以渔,我愿和大家分享自己学习到的思维模式。笔者是一名励志成为卓越程序员的前端开发工程师,因为不喜欢把自己限制在前端开发中,所以在这里和大家讨论如何成长为高级工程师。按照德雷福斯模型,技术人员可以分为五级:新手:只能按照指令一步步地走。新手没有接触过当前行业,所以只能按照指令一步步地走完过程。初级:能够完成局部工作。只需给出局部工.

2021-07-07 16:02:58 225

原创 Python协程 & 异步编程(asyncio) 入门介绍

本文首发于:行者AI在近期的编码工作过程中遇到了async和await装饰的函数,查询资料后了解到这种函数是基于协程的异步函数。这类编程方式称为异步编程,常用在IO较频繁的系统中,如:Tornado web框架、文件下载、网络爬虫等应用。协程能够在IO等待时间就去切换执行其他任务,当IO操作结束后再自动回调,那么就会大大节省资源并提供性能。接下来便简单的讲解一下异步编程相关概念以及案例演示。1. 协程简介1.1 协程的含义及实现方法协程(Coroutine),也可以被称为微线程,是一种用户态内的.

2021-07-02 16:52:18 747 1

原创 Python接口自动化之常见用例读取方法介绍

本文首发于:行者AI在软件测试中,为项目编写接口自动化用例已成为测试人员常驻的测试工作。本文以python为例,基于笔者曾使用过的三种用例数据读取方法:xlrd、pandas、yaml,下面简要地介绍下它们的使用方法及简单分析。1. Python第三方库xlrdxlrd模块可用于读取excel文档,是一种最常用的用例读取方式,使用方式如下。以演示惯例—注册接口为例,首先新建一个excel文档,文档中自定义接口用例参数:(以下data均为随机生成,不涉及任何系统)python已安装第三方库后,.

2021-06-24 14:18:24 588 1

原创 强化学习 | COMA

本文首发于:行者AI在多agent的强化学习算法中,前面我们讲了QMIX,其实VDN是QMIX的一个特例,当求导都为1的时候,QMIX就变成了VDN。QTRAN也是一种关于值分解的问题,在实际的问题中QTRAN效果没有QMIX效果好,主要是QTRAN的约束条件太过于松散,导致实际没有理论效果好。但是QTRAN有两个版本,QTRAN_BASE和QTRAN_ALT,第二版本效果比第一要好,在大部分实际问题中和QMIX的效果差不多。上述的算法都是关于值分解的,每个agent的回报都是一样的。如果在一局王者.

2021-06-23 15:08:31 1280 4

原创 Flask-Limiter详细使用说明

本文首发于:行者AI速率限制通常作为服务的防御措施予以实施。服务需要保护自身以免过度使用(无论是有意还是无意),从而保持服务可用性。在Flask项目开发过程中,遇到了需要对接口进行限制的需求,又不想去造轮子,这时候就需要用到Flask-Limiter这个三方库。本文将对Flask-Limiter的使用进行详细说明。1. 安装安装依赖环境。pip install Flask==1.1.1 Flask-Limiter==1.42. 快速开始有两种方式表示速率限制:“100 per day”.

2021-06-15 18:04:44 1973

原创 Python接口自动化之request请求封装

本文首发于:行者AI我们在做自动化测试的时候,大家都是希望自己写的代码越简洁越好,代码重复量越少越好。那么,我们可以考虑将request的请求类型(如:Get、Post、Delect请求)都封装起来。这样,我们在编写用例的时候就可以直接进行请求了。1. 源码分析我们先来看一下Get、Post、Delect等请求的源码,看一下它们都有什么特点。(1)Get请求源码 def get(self, url, **kwargs): r"""Sends a GET request. Returns .

2021-06-11 11:41:14 1733 2

原创 AI缘起 —— 达特茅斯会议

本文首发于:行者AI1956年,美国汉诺斯小镇宁静的达特茅斯学院,约翰·麦卡锡、马文·闵斯基、克劳德·香农等学者聚在一起,共同讨论着机器模拟智能的一系列问题。他们讨论了很久,始终没有达成共识,却为讨论内容起了一个名字:人工智能。自此,人工智能(AI,Artificial Intelligence)开始出现在人们的视野,1956年也就成为了人工智能元年。1. 大会之前关于人工智能的缘起,在达特茅斯会议前,我们必须要提到一个人——图灵。图1. 图灵1950年,图灵发表论文《计算机器与智能》( C.

2021-06-08 13:39:07 2052

原创 AirtestProject测试框架

本文首发于:行者AIAirtestProject是一款自动化测试框架,该项目包括:Airtest、Poco、AirtestIDE。Airtest是一个跨平台的基于图像识别的UI自动化测试框架;Poco是一个跨平台的UI自动化框架;AirtestIDE是跨平台的UI自动化测试编辑器,内置了Airtest和Poco的相关插件功能。详细介绍可以参考官方文档:https://Airtest.doc.io.netease.com/1. Airtest工具介绍1.1 安装Airtest前往官网下载并解压,.

2021-05-27 11:51:20 824 6

原创 强化学习落地:竞态场景下基于锁机制的闲置端口查用

本文首发于:行者AI在强化学习的游戏领域落地中,我们常把逻辑复杂的真实游戏当做一个黑盒子,使用网络通信与其数据交互达到训练的目的。为了训练效率,在Python中常使用多进程扮演多个Actor的角色来与游戏黑盒子进行数据交互;因此在这样的环境下,极大可能出现多进程争抢同一通信端口的现象(竞态场景),容易导致进程报错。本文根据以上背景,首先给出一个常规的解决办法,接着分析常规办法的局限性,然后介绍基于锁机制的解决办法,最后给出实际python例程。本文主要分为以下三个部分:(1)常规解决办法(2)基.

2021-05-25 11:35:27 207 5

原创 多智能体强化学习入门Qmix

本文首发于:行者AIQmix是多智能体强化学习中比较经典的算法之一,在VDN的基础上做了一些改进,与VDN相比,在各个agent之间有着较大差异的环境中,表现的更好。1. IQL与VDNIQL(Independent Q_Learning),是一种比较暴力的解决问题的方法,每个agent都各自为政,自己学习自己的,没有一个共同的目标。导致算法最终很难收敛。但是在实际一些问题中有不错的表现。VDN(Value-Decomposition Networks For CooperativeMulti-.

2021-05-21 16:39:38 4130 13

原创 浅谈虚拟偶像背后的舞蹈生成

本文首发于:行者AI随着二次元文化的发展,虚拟偶像越发火热。虚拟偶像技术主要包含歌唱合成和舞蹈生成,即能唱和能跳。本文针对舞蹈生成,选择发表在ICLR2021的《Dance Revolution: Long Sequence Dance Generation with Music via Curriculum Learning》予以介绍,该论文由复旦大学、微软、美团和Rinna AI合作完成。1. 舞蹈生成舞蹈生成(Dance Generation),输入一段音乐序列(往往是音频特征),得到一.

2021-05-20 11:06:55 931

原创 jmeter命令行执行测试并对测试报表进行初步分析

本文首发于:行者AIjmeter可以通过命令行生成比较完善的可视化测试数据记录报告,为了能够更精确的得出性能测试瓶颈数据,需要我们对测试数据记录报告进行分析。1. 性能测试方案的设计性能测试需要根据不同测试目的设计不同的测试方案,因为不是本文的主题这里不过多的描述。假设我们的测试目的为:找出系统API最大吞吐量,我们采用根据每秒增加线程数量的方式来探索最大吞吐量。(1) 根据项目业务需求编jmeter测试脚本。(2) 如下进行线程组设置。1-4场景设置为300个线程,启动时间为600s,相.

2021-05-11 11:54:01 461

原创 关于安卓设备声音远程传输的解决方案

本文首发于:行者AI近期本人在做安卓设备的云平台,设备云平台这个东西相信对大家而言并不陌生,常见的功能比如用来远程监控操作一部手机,上传文件啊,查看日志之类的。但是当你想用云手机看视频、玩游戏、听音乐的时候,就发现,现在市面上的云手机,没有一家是有声音传输功能的。在发现这个情况后,萌生了想要做出这个功能的想法,那具体该什么做呢?在做之前,我先进行了一个小调研,了解目前有没有现成的解决方案,看看能否给自己带来一些参考。经过了几天的研究,我先把大致的结果告诉各位。声音传输有限制,但仍能实现。1. .

2021-05-08 16:39:52 1703

原创 一种自适应混合域音频无声水印

随着数字音频技术的不断发展,音乐版权问题受到重视。用于音频版权保护的技术得到越来越多的研究与关注,无声水印技术就是其中之一。同时互联网在线会议越来越受到欢迎,音频无声水印技术也可以在保证会议的保密性的同时追踪泄密源头。由于人类听觉系统(HAS)极为灵敏,音频感知冗余较小,水印同时满足隐蔽性和鲁棒性的困难很大,同时音频压缩算法例如MP3因为其出色的压缩率和音质,随着网络时代的到来已经成为数字音频的主流压缩方式。然而MP3编码有损压缩,音频经过压缩后水印信息也将被破坏,因此音频水印的研究相对于图像水印算法更具

2021-04-27 14:42:12 362

原创 游戏测试-战斗内核的自动化测试

本文首发于:行者AI今天给大家分享一个游戏自动化测试的落地。这款游戏有独立的战斗内核负责局内战斗的计算,所以每次需要测试战斗内核时,都需要服务器重新部署,客户端(移动端、PC端等)重新出包,最后才能交付给测试进行测试,整个流程比较长,也比较耗时,所以我们就考虑在战斗内核更新时就进行测试,这样可以简化测试流程,节约时间。经过和内核组开发的探讨后,决定使用内核开发组提供的QT工具(如下图展示),在本地运行游戏的战斗内核,通过执行多个命令构建起测试的场景,再通过数据交互拿到测试数据,以此来达到我们想要的测.

2021-04-22 16:56:22 557 2

原创 家务活中的python协程

本文首发于:行者AI为什么要用协程,通常在Python中我们进行并发编程都是使用多线程或者多进程来实现的,对于计算型任务由于GIL的存在我们通常使用多进程来实现,而对于IO型任务我们可以通过线程调度来让线程在执行IO任务时让出GIL,从而实现表面上的并发。协程是运行在单线程当中的“并发”,协程相比多线程一大优势就是省去了多线程之间的切换开销,获得了更大的运行效率。本文不会对python协程的实现机制展开讨论,只是通过简单的示例展示协程最常见的用法,可以很快上手一些基于协程的高性能的web框架,比如F.

2021-04-22 14:39:55 173

原创 streamlit:算法工程师快速编写demo的利器

本文首发于:行者AI在工作当中,算法工程师经常需要快速编写一些演示demo,例如快速演示一些算法,或者需要编写数据标注的工具等。常见的实现方式是算法工程师试用flask等框架编写api,再由前端工程师编写相关的网页调用api。这样毫无疑问是非常耗时,效率低下的。然而,使用streamlit框架就可以快速搭建demo页面,算法工程师只使用python语言就可以编写比较精美的demo页面。streamlit框架内部负责处理网页的渲染工作,算法工程师将重点放在算法的流程方面就好。框架安装streaml.

2021-04-16 17:38:01 1107 1

原创 强化学习 | D3QN原理及代码实现

本文首发于:行者AI2016年Google DeepMind提出了Dueling Network Architectures for Deep Reinforcement Learning,采用优势函数advantage function,使Dueling DQN在只收集一个离散动作的数据后,能够更加准确的去估算Q值,选择更加合适的动作。Double DQN,通过目标Q值选择的动作来选择目标Q值,从而消除Q值过高估计的问题。D3QN(Dueling Double DQN)则是结合了Dueling DQ.

2021-04-15 16:54:41 5926 10

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除