-
2021年6月24日举办了华为云AI论文精读会2021第八期:探讨文字识别中的语言模型嘉宾是中国科学技术大学信息与通信技术博士---王裕鑫博士本次论文精读的领域是CV领域,感兴趣的小伙伴一定不要错过呦!华为云AI论文精读会致力于让更多人低门槛使用经典算法,助力AI开发者基于ModelArts,实现高效率论文复现和挑战!观看地址:https://res-static.hc-cdn.cn/cloudbu-site/china/zh-cn/competition/1624673202271037396.mp4华为云AI论文精读会2021·论文算法实战赛报名地址:https://competition.huaweicloud.com/information/1000041393/introduction
-
2021年6月11日迎来了华为云AI论文精读会2021 第七期:目标检测算法TSD解耦分类与回归嘉宾是来自上海交通大学的江扬舟~本次论文精读的领域是CV领域,小伙伴们赶快来康康呀~华为云AI论文精读会致力于让更多人低门槛使用经典算法,助力AI开发者基于ModelArts,实现高效率论文复现和挑战!观看地址:https://res-static.hc-cdn.cn/cloudbu-site/china/zh-cn/competition/1623313264132011041.mp4华为云AI论文精读会2021·论文算法实战赛报名地址:https://competition.huaweicloud.com/information/1000041393/introduction
-
本文节选自中国信通院于2021年6月24日在“2021大数据产业峰会”上发布的《数据库发展研究报告(2021年)》。大数据时代,数据量不断爆炸式增长,数据存储结构也越来越灵活多样,日益变革的新兴业务需求催生数据库及应用系统的存在形式愈发丰富,这些变化均对数据库的各类能力不断提出挑战,推动数据库技术不断向着模型拓展、架构解耦的方向演进,与云计算、人工智能、区块链、隐私计算、新型硬件等技术呈现取长补短、不断融合的发展态势,总结起来体现为三个方向:1)多模数据库实现一库多用、利用统一框架支撑混合负载处理、运用AI实现管理自治,提升易用性、降低使用成本(下文趋势一、二、三); 2)充分利用新兴硬件、与云基础设施深度结合,增强功能、提升性能(下文趋势四、五); 3)利用隐私计算技术助力安全能力提升、区块链数据库辅助数据存证溯源,提升数据可信与安全(下文趋势六、七)。 这些趋势与近期CCF数据库专委会发布的《“十四五”数据库发展趋势与挑战》报告所探讨的数据库新技术发展洞察的部分观点不谋而和。趋势一:多模数据库实现一库多用后关系型数据库阶段,数据结构越来越灵活多样,如表格类型的关系数据、半结构化的用户画像数据以及非结构化的图片和视频数据等。多模态数据建模将由目前以关系为中心逐步转为以对象为中心,更多关注非结构化数据的语义建模,强调数据与操作的可封装性、多重分类和动态分类,尤其是多模态数据之间复杂的语义关联,未来不是模式限定数据变化,而是数据驱动模式演化[1]。 面对多模态数据,应用程序对不同数据提出了不同存储要求,数据的多样性成为数据库平台面临的一大挑战,数据库因此需要适应多类型数据管理的需求。 多模数据库是指能够支持处理多种数据模式混合的数据库(例如关系、KV、文档、图、时序等)[2]。多模数据库支持灵活的数据存储类型,将各种类型的数据进行集中存储、查询和处理,可以同时满足应用程序对于结构化、半结构化和非结构化数据的统一管理需求。 目前行业以微软Azure Cosmos DB、ArangoDB、巨杉SequoiaDB和阿里云Lindorm等多模数据库为典型代表。当前多模数据库往往存在两个缺陷:一是缺乏统一的访问接口,不能够利用统一查询语言进行查询,比如基于Azure云的CosmosDB,包含了关系型的SQL Server,文档型的MongoDB,列簇式的Cassandra等各种模型存储,但它们都只能用各自对应的API进行访问;二是支持统一查询接口的往往查询性能不理想,比如基于文档型的ArangoDB,虽然能够利用统一查询语言AQL同时查询文档和遍历图数据,但性能往往不理想,因为利用文档的形式实现图模型需要通过多文档进行连接,当图遍历的深度加大,查询将非常耗时。 未来多模数据库应该是一种原生支持各种数据模型,有着统一访问接口,能自动化管理各模型的数据转化,模式进化且避免数据冗余的新型数据库系统。 趋势二:统一框架支撑分析与事务混合处理业务系统的数据处理分为联机事务处理(OLTP)与联机分析处理(OLAP)两类。企业通常维护不同数据库以便支持两类不同的任务,管理和维护成本高。因此,能够统一支持OLTP和OLAP的数据库成为众多企业的需求。产业界当前正基于创新的计算存储框架研发HTAP数据库,HTAP (Hybrid Transactional/Analytical Processing)是指能够同时支持在线事务处理和复杂数据分析的关系型数据库。 广义的HTAP数据库是指能够在关系数据模型上进行OLTP时具有强一致性保证,并且融合了分布式能力从而同时具有高扩展性[3]。狭义的HTAP数据库是指采用行业混存或行列转化同时支持事务处理和联机分析功能的数据库。 目前HTAP系统架构大致有如下四种,第一种是行存为主,内存列存为辅,针对有需要的表会同时存在一份行存储和列存储,在列存储上做分析操作,在行存储上进行更新,定期同步到列存储里,可以灵活指定需要采用行存与列存的表,也可以系统运行时更改表特性。主要难点为哪些数据转为列存、如何用行存和列存回答查询,代表系统为Oracle; 第二种是主机行存、备机内存列存,备机通过日志复制转为内存的列存提供分析能力,代表系统为MySQL HeatWave,分析型查询由系统查询引擎基于代价估计后决定是否下推到内存列引擎中执行,常被访问的热数据将会留在内存中,不常使用的冷数据将会被压缩后持久化到外存中; 第三种是多副本行列共存,通过多副本进行存储,主采用行存,副本采用列存,代表性系统为TiDB[4],行存数据存储在TiKV中,列存数据存储在TiFlash中,行存和列存松耦合,通过异步复制Raft log的方式将更新从行存节点同步到列存节点,列存节点不参与Raft协议的日志提交和leader选举等分布式事务,具有较高负载隔离性和扩展性,数据分析新鲜度偏低; 第四种是列存为主,行存为辅。增量数据通过delta表定期转为列存,主列存主要处理OLAP类分析查询,增量行存负责OLTP类事务操作,并直接将更新数据定期合并到主列存中。此类系统因为以列存为主,所以OLAP的性能很高,且增量行存直接与列存连接,数据分析的新鲜度也很高。但缺点也很明显,就是OLTP处理性能中等,扩展性也不高,负载隔离性很低,代表系统为SAP HANA,主列存通过压缩、向量执行和OLAP多维分析等技术进行查询加速,同时利用CPU多级缓存机制优化事务处理。 实现HTAP的关键技术主要包括行列转换技术、行列共存的查询优化技术、行列共存的事务处理技术等。HTAP典型产品有Oracle、SAP HANA、MemSQL、Hyper、SQL Server、Greenplum、TiDB、IBM IDAA[5]、Google F1 Lighting[6]、OceanBase和PolarDB等。需要注意的是,HTAP的价值在于更加简单通用,对于绝大部分中小规模的客户,数据量不会特别大,只需要一套系统即可,但对于超大型互联网企业,HTAP数据库的分析性能可能不如专用OLAP数据库或大数据平台。 趋势三:运用AI实现管理自治人工智能与数据库的技术融合可以体现在两个方面,一方面可以通过AI技术实现数据库的自优化、自监控、自调优、自诊断;另一方面可以实现库内AI训练,降低AI使用门槛。从赋能对象来看,人工智能与数据库的结合既可以体现在数据库系统自身的智能化,包括但不限于数据分布技术智能化、库内进行训练和推理操作、数据库自动诊断、容量预判等;也可以体现在数据库周边工具的智能化,能够在提升管理效率、降低错误引入率、减少安全隐患的同时也大大降低了运营成本。 目前学术界和工业界共识的研究重点是将机器学习与数据管理在功能上融合统一,来实现更高的查询和存储效率,自动化处理各种任务,例如自动管理计算与存储资源、自动防范恶意访问与攻击、主动实现数据库智能调优。机器学习算法可以分析大量数据记录,标记异常值和异常模式,帮助企业提高安全性,防范入侵者破坏,还可以在系统运行时自动、连续、无人工干预地执行修补、调优、备份和升级操作,尽可能减少人为错误或恶意行为,确保数据库高效运行、安全无失。 2019年6月,Oracle推出云上自治数据库Autonomous Database;2020年4月,阿里云发布“自动驾驶”级数据库平台DAS;2021年3月,华为发布了融入AI框架的openGauss2.0版本。其均采用上述思想降低数据库集群的运维管理成本,保障数据库持续稳定、高效运行。 AI与数据库融合在如下方面还存在亟待攻克的挑战:一是目前技术缺乏对数据库系统的整体感知,仍停留在各个环节的局部优化层面;二是自治数据管理对系统稳定性的保障仍然存疑,没有考虑系统鲁棒性;三是如何提供空间和时间上小巧轻量的学习模型是AI赋能查询优化技术的关键问题;四是如何保证多场景下映射的严格一致性约束;五是面对频繁变化的场景,如何将训练好的系统迁移到新的数据库业务并保持较好性能。六是如何在每个服务层中动态选择适当组件并组合适当的执行路径,例如,优化器通常包括基于代价、规则和学习模型三种组件,可以根据用户需求选择最好的。数据库如何与人工智能技术更好地结合,未来还有很多种可能。 趋势四:充分利用新兴硬件最近十几年,新兴硬件在经历学术研究、工程化和产品化阶段发展,对数据库系统设计提供了广阔思路。期间最主要的硬件技术进步是多处理器(SMP)、多核(MultiCore)、大内存(Big Memory)和固态硬盘(SSD),多处理器和多核为并行处理提供可能,SSD大幅提升了数据库系统的IOPS和降低延迟,大内存促进了内存数据库引擎的发展。 新兴硬件可以从计算、存储和传输三个层面赋能数据库。计算层面,借助GPU、FPGA、AI芯片等,可以实现包括但不限于多核并行优化、事务并发控制、查询加速、存储层计算卸载、数据压缩加速、工作负载迁移等能力;存储层面,随着NVM的出现和发展,内存和外存的界限变得模糊,针对传统块存储设计的索引在NVM中面临新的性能挑战;传输层面,RDMA带来网络传输高性能表现和CPU卸载能力,为充分榨取其性能,可能对数据库系统的架构设计带来颠覆性变化[7]。 根据第三方机构Wikibon预测,2026年SSD单TB成本将低于机械硬盘,达到15美元/TB;非易失性内存(NVM)具有容量大、低延迟、字节寻址、持久化等特性,能够应用于传统数据库存储引擎各个部分,如索引、事物并发控制、日志、垃圾回收等方面;GPU适用于特定数据库操作加速,如扫描、谓词过滤、大量数据的排序、大表关联、聚集等操作,互联网公司在FPGA加速进行了很多探索,例如微软利用FPGA加速网卡处理,百度用FPGA加速查询处理等。 随着新型硬件成本逐渐降低,充分利用新兴硬件资源提升数据库性能、降低成本,是未来数据库发展的重要方向之一。 趋势五:与云基础设施深度结合Gartner预测到2022年75%的数据库将托管在云端。近十年云计算技术的不断发展催生出将数据库部署在云上的需求,通过云服务形式提供数据库功能的云数据库应运而生。 云与数据库的融合,减少了数据库参数的重复配置,具有快速部署、高扩展性、高可用性、可迁移性、易运维性和资源隔离等特点,具体有两种形态,一种是基于云资源部署的传统数据库,即数据库云服务(Database as a service);另一种是基于容器化、微服务、Serverless等理念设计的存算分离架构的云原生数据库。 云原生数据库能够随时随地从多前端访问,提供云服务的计算节点,并且能够灵活及时调动资源进行扩缩容,助力企业降本增效。以亚马逊AWS、阿里云、Snowflake等为代表的企业,开创了云原生数据库时代。 未来,数据库将深度结合云原生与分布式技术特点,实现计算、内存和存储三者解耦、分层池化;实现查询级、事务级、算子级等更细粒度的弹性按需计算。帮助用户实现最大限度资源池化、弹性变配、超高并发等能力,更加便捷、低成本实现云上数字化转型与升级。 趋势六:隐私计算技术助力安全能力提升随着数据上云趋势显著,云数据库面临的风险相较于传统数据库更加多样化、复杂化。如何解决第三方可信问题是云数据库面临的首要安全挑战。 当前云数据库数据安全隐私保护是针对数据所处阶段来制定保护措施的,如在数据传输阶段使用安全传输协议SSL/TLS,在数据持久化存储阶段使用透明存储加密,在返回结果阶段使用数据脱敏策略等。这些传统技术手段可以解决单点风险,但不成体系,且对处于运行或者运维状态下的数据则缺少有效的保护。 近年来,全密态数据处理、安全多方计算等将会是未来数据安全隐私计算的发展方向。全密态数据处理重点关注如何对数据进行加密存储以便在加密后的数据上进行多种类型的查询,密态数据库(Encrypted Database)利用全同态加密等技术对数据进行加密存储以实现尽可能提高云服务处理加密数据的能力。 加密方式分为基于软件和基于硬件加密两种,基于软件的典型产品为CryptDB,针对不同查询使用了保序加密、半同态加密、全同态加密等算法对数据进行加密存储;基于硬件的加密将操作转移至可信硬件(TEE)处理单元(如SCPU、Intel SGX),以获得更好的效率和通用性。该类产品在实际应用中仍然存在执行效率和数据操作过程中的安全性等挑战。 未来,全密态数据库将在软硬结合、支持范围查找的密态索引、动态数据安全存储等方面着意进行技术突破。安全多方计算最早研究工作成果为SMCQL,借助混淆电路技术,能够联合两个参与方的关系型数据库执行复杂的SQL查询且不泄露除查询结果之外的任何其他数据,随后Conclave将该框架用于大数据处理引擎上,结合秘密共享技术,能够联合三个参与方各自引擎执行复杂分析,但执行效率较低,为提高效率,未来可从结果精度和特定操作两个角度入手,一些工作将差分隐私技术与安全多方计算相结合,以降低精度为代价提升计算执行效率,此外,还可以针对数据库连接等经典操作针对性优化。 然而,在落地应用方面,主要挑战包括效率与参与方数量两点,具体表现为基于通讯和计算开销的效率挑战和参与方数据的可扩展性挑战。 未来,此类数据库将围绕算法安全性和性能损耗等问题,逐步突破,进而提供覆盖数据全生命周期的安全保护机制。 趋势七:区块链数据库辅助数据存证溯源区块链具有去中心化、信息不可篡改等特征,区块链数据库能够长期留存有效记录,保护数据不被篡改,数据库的所有历史操作均不可更改并能追溯,适用于金融机构、公安等行业的应用场景。 区块链数据库典型产品有BlockchainDB、BigchainDB和ChainSQL等。该类产品具体研究问题主要分为数据存储与事物处理两大类,存储方向分为键值对和关系型数据存储,事物处理方向聚焦于在区块链上完成数据库的事物并发控制、访问控制授权、查询处理优化等传统问题。 区块链数据库由于要容忍节点拜占庭行为而不得不采用代价更高的PBFT、PoW 等共识算法成为落地应用的一大挑战,此外,由于没有统一的协调者,如何保证区块链网络分片时分布式系统的安全性,高并发下的并行控制如何保证ACID也都是设计者不可忽视的问题。 该类产品目前还存在基于共识算法执行效率挑战和多方参与的数据隐私性挑战。未来区块链数据库将在平衡系统可信性与吞吐量、实现基于链上链下混合存储的防篡改机制、实现面向跨链场景的数据协同处理系统等方向进行突破。未来,提升区块链数据库性能将成为学术界与工业界共同探索的命题。 文章摘自大数据技术标准推进委员会,只为分享、传播,如果涉嫌侵权,请联系删除!
-
赛事地址:https://competition.huaweicloud.com/information/1000041319/introduction?track=107背景介绍核心网在移动运营商网络中占据举足轻重的地位,其异常往往会导致呼叫失败、网络延迟等现网故障,对全网的服务质量带来重大的负面影响,多则影响十数万用户,并引发大面积投诉[1]。因此需要快速及时地发现核心网的异常风险,在影响扩大之前及时消除故障。KPI是一类能够反映网络性能与设备运行状态的指标,本赛题提供某运营商核心网的KPI真实数据,数据形式为KPI时间序列,采样间隔为1小时,选手需要使用[2019-08-01,2019-09-23)的数据进行建模,使用训练好的模型对未来7天的数据进行预测,识别未来一周KPI序列中的异常点。评估指标:本赛题采用F1作为评估指标,具体计算公式如下:P = TP/(TP+FP)R = TP/(TP+FN)F1 = 2*P*R/(P+R)数据探索数据中共有20个不同的KPI,不同的KPI物理意义不同,代表了不同的核心网指标,由于赛题需要对未来7天的数据进行预测,因此对于建模样本也进行周级别的分布查看。从Fig1中可以明显看到训练集中前三周的异常率显著低于后续几周。进一步分析可以发现虽然赛题提供了[2019-08-01,2019-09-23)的全部数据,但2019-08-15之前所有20个KPI均毫无异常,第一个异常点是从2019-08-15 02:00:00开始出现的(Fig2),因此推测8.15前的数据分布不同于后续样本,或8.15之前存在标注异常的问题。实验中剔除8.15之前的样本建模效果也优于保留该时间段样本,进一步验证了该推测。时间序列图对于快速理解数据及业务有着重要的作用,对20个时间序列进行观察后,我将异常粗分为4类,如Fig3所示。1.边界型异常如Fig3中a部分(红框)所示,边界型异常中异常样本的取值范围与正常值取值完全不同,即存在明确的决策边界可以完全分离异常点。2.趋势破坏型异常如Fig3中b部分(绿框)所示,正常样本点的走势往往沿着一个趋势,而趋势破坏型的异常点会偏离这个趋势,但取值范围可能仍然在正常样本的取值范围内,这类异常与相邻点的差异较大,与相同时刻正常点的取值差异也较大。3.0值型异常如Fig3中c部分(橙框)所示,此类异常取值直接为0,根据我对业务的理解,正常的KPI不应出现0值,根据分析,20个KPI中有19个正常取值均不应为0,仅1个KPI正常取值为0,非0则为异常。4.其他型异常如Fig3中d部分(紫框)所示,此类异常往往既没有破坏趋势,取值也在正常的范围内,但可能会偏离相同时刻的正常取值。解题思路赛题中共有20个不同的KPI,KPI物理意义不同且异常的种类也多种多样,若将所有KPI作为一个整体建立一个统一的二分类模型,模型效果差强人意,难以进入前排,但若对每个KPI单独建模,则需要建立并维护调优至少20个不同的模型,维护成本过高,因此我的思路是将KPI或异常进行分类建模。对KPI进行遍历后可知,存在7个KPI所有异常均为边界型异常,即7个KPI在训练集中的所有异常取值范围均不同于正常样本。最终结果也表明,该方案不仅在训练集中能100%识别边界型KPI的异常,在测试集中也能100%识别相关异常。3.2 非边界型异常探索非边界型异常往往KPI走势存在一定的周期,若将时间周期剥离出来进行分析,则可以从二维的角度对时间序列进行观察。以kpi_id= 9415a… 为例,若将日期信息剥离,x轴仅为一天中的第几小时,y轴仍然为时间序列取值,则会得到如Fig5的展示。此时整个时间序列被呈现在一个二维空间中,且异常值(红点)多与正常值(蓝点)偏离较远,一个朴素的思路便是采用无监督方法识别图中的异常。事实上,在实际的生产环境中,多达5000+原始KPI,300+衍生KPI,难以获得有异常标注的时间序列,因此在生产环境中往往使用统计方法或无监督算法进行异常检测[1,2]。但在当前有标签的赛题下,经多次尝试,无监督算法如iForest,DBSCAN以及时间序列分解方法如Prophet均无法胜过有监督机器学习算法。因此,对于非边界型异常,最终决定使用有监督机器学习算法进行建模。3.3 KPI类型划分在3.1中基于简单决策树发现了7个边界型异常KPI,但剩余的13个KPI物理意义各不相同,需要进行分组建模。分组最基本的思想便是相似的KPI应该分在相同的组中。Pearson相关系数是我们最熟悉的相关性指标,其物理意义是表示两个变量同向或反向变动的程度,非常适合用于时间序列的相似性分析。通过对剩余13个KPI的相似性分析我们可以发现,以下两组id间的两两相关系数在0.9或以上。cluster1=[9415a…, 600a5…, ed63c…]cluster2=[b3842…, bb6bb…, 3fe4d…]以cluster1为例(Fig6.),可以看到相似性分组中不同KPI的时间序列不仅走势接近,而且往往当分组内一个KPI产生异常时,其他KPI也会同步异常,表现出非常高的联动性。因此对于相似性分组的模型建立非常关键,往往异常的召回和误报均为3倍,也就是对一个则3倍上分,错一个则3倍掉分,赛程中段快速上分的核心点便是这部分模型的建立。对于剩余的7个KPI,最终我依据是否包含周期,将其划分为3小类进行分组建模:半周期型:cluster3_1 = [4f493…]无周期型:cluster3_2 = [29374…,8f522…]强周期型:cluster3_3 = [681cb…, 0a9f5…,355ed…,3e1f1…]其中,半周期型KPI仅在部分时间段表现出周期趋势,其他时间段取值几乎完全相同。无周期型KPI取值与时间无明显关联,强周期型KPI取值随时间不同产生周期性波动。特征构造根据前文分析以及我对时间序列问题的理解,本赛题中构造了以下5种类型的变量。1.基础变量:一天中的第几小时,星期几,kpi_id的各种编码如label encoder,target encoder等等;2.差分变量:一阶差分,二阶差分,三阶差分;3.平移变量:上n个时间点该kpi_id的value或差分的取值及其简单衍生,如24小时前的value取值等;4.滑窗变量:过去n段时间该kpi_id的各类统计变量及其简单衍生,如过去24小时value的均值等;5.强相关窗口统计:如过去7天内该时间点上下两小时内介于该取值0.95-1.05范围内样本的总个数等等;模型方案鉴于本赛题难以建立一个能够应用于全部KPI的统一模型,而解题过程中有较多模型需要建立与调优,为提高效率,我在早期进行不同模型的若干次尝试后便决定使用训练速度较快且效果较好的LightGBM为各个分组建立二分类模型。在实际的建模中我发现仅用[2019-08-15,2019-09-08]的数据建模效果优于全部数据或使用更接近测试集样本的后几周数据,结合Fig1中异常率在后几周大幅持续降低的现象,我判断[2019-09-09,2019-09-22]的异常分布可能不同或存在部分标注问题。在进一步探索后发现嫁接学习的引入能够充分的使用到全部异常数据并取得更好的效果。嫁接学习是迁移学习的一种,用来描述将一个树模型a的输出作为另一个树模型b的输入的方法(a,b往往数据分布不同或完全属于不同产品,与同分布数据的常规融合有着本质区别),此种方法与树木繁殖中的嫁接类似,故而得名[3]。在IJCAI2018广告算法大赛中,前六天和最后一天数据分布不同,于是大部分人用同分布的第七天上半天的数据预测下半天,而植物大佬用前六天的数据训练了一个模型,预测第七天得到的分数作为第七天模型的特征,再用第七天上半天的数据预测下半天,最后轻松得到solo冠军,事后植物说这是他玩的最容易的比赛,毕竟人家用半天数据,植物用的是六天半的数据[3,4,5]。其他数据分布不同的场景下TOP方案中亦有嫁接学习的身影,如蚂蚁金服ATEC支付风险识别TOP1方案[6],CCF BDCI 2018 个性化套餐匹配TOP1方案[7]等[3] 。在若干次尝试后,我最终确定了以存在异常日期样本为1层模型样本, [2019-08-15,2019-09-08]样本结合1层模型分数作为2层模型输入的方案,模型框架如Fig7.所示,该框架的引入在本赛题中提分明显,是上分的关键点之一。结合前文的内容,最终我的建模方案如Fig8所示,先进行KPI边界的自动发现,解决7个边界型KPI的异常,对于剩余的13个KPI,先根据相似性将其拆解为相似群组(6个KPI)和不相似群组(7个KPI),相似群组由组内相关系数较高的cluster1和cluster2构成,不相似群组按照是否包含周期划分为半周期群组cluster3_1,无周期群组cluster3_2和强周期群组cluster3_3,再对不同的群组分别建模,最后汇总生成最终结果。最终该方案取得了线上最高分及答辩最高分的成绩。鸣谢 非常感谢希旭哥,苕芸博士,素颜姐,小爱姐等人在比赛过程中的帮助与指导,希旭哥还是一如既往的热情,总能在第一时间为大家答疑解惑。感谢庐山大佬赛后的精彩分享[2],让人受益匪浅。以前我没看过华为云开发者沙龙的分享,这次看完后觉得可针不戳,以后每期都不能错过。 最后祝华为及NAIE蒸蒸日上,再创辉煌!Reference[1] 网络AI-KPI异常检测,利器大揭秘https://bbs.huaweicloud.com/videos/103579[2] DevRun开发者沙龙—火遍网络的KPI异常检测到底什么https://vhall.huawei.com/fe/watch/6658[3] 嫁接学习简述https://zhuanlan.zhihu.com/p/98728768[4] 结构化数据的迁移学习:嫁接学习https://zhuanlan.zhihu.com/p/51901122[5] IJCAI-2018 TOP1分享https://github.com/plantsgo/ijcai-2018[6] ATEC支付风险大赛Top1解决方案https://zhuanlan.zhihu.com/p/45826529[7] CCF BDCI 2018 个性化套餐匹配TOP1方案https://github.com/PPshrimpGo/BDCI2018-ChinauUicom-1st-solution
-
团队名称:sh大赛地址:https://competition.huaweicloud.com/information/1000041319/introduction?track=107赛题介绍1.1 赛题描述核心网在整个移动运营商网络中占据着举足轻重的地位,一旦故障,会对全网的服务质量影响很大。需要及时快速发现核心网的风险,在影响范围扩大之前及时消除故障。关键性能指标(KPI),反映了网络性能和质量。对KPI进行检测,能够及时发现网络质量劣化风险。目前KPI异常检测指的是通过算法分析KPI的时间序列数据,判断其是否出现异常行为。这里存在几个难点:a.异常发生的频率很低,网元数据很少发生故障,因此可供分析的异常数据很少2b.异常种类多,核心网网元数据多,故障发生的类型也多种多样,导致了异常种类也多种多样3c.KPI曲线的多样性,KPI曲线表现为周期型的,有稳定型的,也有不稳定型的针对以上难点,为了提高核心网网元数据的异常检测算法的准确率和召回率,主办方将在比赛中提供某运营商的KPI真实数据,采样间隔为1小时。参赛选手需要根据历史数据异常标签数据(训练数据集),训练模型并检测后续一段时间内各KPI(测试数据集)中的异常。1.2 数据介绍本次比赛提供两份数据,其中一份包含标签列,另一份不包含标签,分别为phase1_train.csv(带标签), phase1_test.csv(不带标签)。包含标签的数据有参赛选手自行划分为训练集,验证集和测试集,不包含标签的数据需要用户采用训练好的模型进行检测输出对应标签并提交,phase1_train.csv 和 phase1_test.csv 文件格式(结构化字段)说明:1.3 评价指标1)相关定义:TP(True Positive): 真实为 1,预测也为 1;FN(False Negative): 真实为 1,预测为 0 ;FP(False Positive): 真实为 0,预测为 1;TN(True Negative): 真实为 0,预测也为 0。2)按以下公式计算参赛者的成绩评分,依据准确率(公式 1)和召回率(公式 2),计算 F1-score(公式 3),最后按照 F1-score 对所有参赛者进行排序。P = TP/(TP+FP) (公式 1)R = TP/(TP+FN) (公式 2)F1-score = 2*P*R/(P+R)(公式 3) 数据理解2.1 关于kpi_id和采样时间给定的数据一共包含20种不同的kpi_id:每个kpi_id的value序列采样时间和数据量都是一致的,并且测试集的时间紧跟在训练集后面,这为我们处理这种基于时间序列的数据提供了很大的便利,测试集数据可以直接拼接到训练集后面。具体的,训练集和测试集的采样时间都是一个小时,训练集数据的时间范围为:‘2019-08-01 00:00:00’到'2019-09-22 23:00:00',共20*1272 = 25440条数据;测试集数据的时间范围为:'2019-09-23 00:00:00'到'2019-09-29 23:00:00',共20*168 = 3360条数据。2.2 关于标签在某个采样时间下,标签值为0代表KPI正常,标签值为1代表KPI异常。经过统计,标签均值为0.01517,即正样本比例约为1.5%。因此,这里有两种解题思路,一种是当做时间序列异常检测问题,另一种是直接预测标签,也就是当做样本分布不均衡的二分类问题2.3 关于时间序列值value直接统计value数值的分布情况:可以看出绝大多数value的数值分布0-3000的范围内。但是,绝不能简单根据value的数值分布来建模,而忽视各kpi_id的具体情况。不同的kpi_id对应的value序列往往具有不同的特性,下面两张图可以很直观地体现这种差异:针对第一种情况,我们用肉眼就能很轻易地判断出异常点,这种情况往往通过聚类算法(例如GMM),或者基于统计分布的异常检测算法(例如3-sigma和box-plot)就能够较好地检测出异常点,这样的方法基于数值的统计分布规律,不需要使用时间信息。针对第二种情况,value序列体现出周期变化的规律,异常值往往来自于序列的周期变化规律遭到破坏。(上面的图如果太小,下面给出了异常点附近的局部放大图)对于这种周期变化的情况,可以考虑采用基于传统的时间序列异常检测方法。时间序列异常检测算法中,对于有趋势项或周期项的,可以采用经典的时序分解模型(例如Holt-winter、STL等);对于平稳的时间序列,可以采用ARIMA算法(序列不平稳的情况下也可以采用一些方法将其转化为平稳序列);对于其他时间序列,可以采用机器学习或深度学习模型等。针对目标序列的情况,我首先尝试了相对简单的指数平滑模型(由于其具有周期性,所以采用三指数平滑,即Holt-winter算法)。另外,对于时序数据,由于数据间存在时间依赖性,所以交叉验证时,随机划分数据集会破坏序列的时间结构,需要采用滚动交叉验证进行参数选择。经过尝试,传统的时间序列异常检测算法能够达到一定的效果,但是当我使用了比赛大杀器xgboost模型后,发现前面的方法瞬间变得“不香”了。本质上来说,传统的时间序列预测模型还都是线性模型,而对于xgboost(包括后来加上的LR模型),可以自己构造大量的非线性特征,因此效果自然好了许多。另外,我最后采用的是基于二分类的方式来对标签进行预测。下面主要介绍构造特征过程中的做法。特征工程3.1 提取时间信息赛题中提供的数据是一个时间戳,但是时间戳只是一个具有相对大小的数值而已,我们可以提取出其中的“Hour”和“Day”信息,进一步还可以得到某一天是周几,是否周末等信息。3.2 onehot编码kpi_id属于类别特征,上一个过程提取得到的“Hour”和“Day”也是,这些类别特征可以进行onehot编码,onehot编码主要是用于LR模型的输入。3.3. value处理成标准形式首先统计历史中值和标准差。这里采用中值而非均值是因为异常值对均值的统计会造成较大的影响;标准差是逐天统计,之后取中值而非均值,同样是为了减轻异常值的影响。Value可以有几种标准化的方式,比如:1、除以中值或者减去中值,保留各kpi_id标准差的相对大小关系2、减去中值,除以标准差,各kpi_id有统一的评估标准3.4 对标准形式的value离散化离散化的目的是对特征进行非线性处理,并且可以把连续型特征转化为类别型特征,便于采用类别特征的处理方式进一步加工。分桶数目可以选取多种,以此创造足够多的非线性特征。经过测试,按照分位数进行分桶具有较好的效果,分桶数目一共设置了四种:20,50,100和200。3.5 对标准化形式的value进行其他处理主要是一些常见的做法,比如一阶二阶差分,和前一小时、历史中值的差值/比值等,前一小时或者前几天的中值也都可以添加进来作为当前样本的特征。对上述重要特征再进行分桶操作。3.6 滑动窗口特征滑动窗口可以创造出大量的特征,主要的可选参数和方法有:1、滑动窗口长度;2、窗口内的统计量:最大值、最小值、均值、中值、方差,甚至三阶矩和四阶矩(偏度和峰度)等3、同比或者环比滑动窗口得到的重要特征可以进一步处理以获得更多的交叉特征,比如减法、除法、分桶、聚合等。3.7 fft特征计算谐波大小,位置等,希望以此衡量周期性强弱(这里发现效果不是太明显)。3.8 模型前一个时刻的预测值在分析数据中发现(如下图所示),对于某些kpi_id,若前一小时异常,那么下一个小时也有较大的概率也为异常,即当前时刻数值的异常概率和下一时刻数值的异常概率具有关联性,因此一些模型对前一小时的预测值(异常概率)可以作为其他模型当前小时的样本的特征,这一特征依然可以进行离散化等操作。3.9 Target Encoding对于上面得到的重要类别特征,可以进行目标编码。目标编码可以理解为统计每一种类别的概率分布信息,即用类别对应的标签的期望代替原始的类别特征。这样的特征和标签具有很强的相关性,因此具有较大的标签泄露风险,那么就容易导致过拟合。但如果处理得好,目标编码得到的特征一般都是强特征。这里采用的方案是通过K折target encoding来抑制过拟合问题。3.10 特征筛选1、基于特征相关性这里需要筛选出与标签相关程度较大的特征。而特征之间相关性较大的则需要适当删除,减少对模型的干扰。2、基于树模型输出的特征重要性3、手工筛选手工筛选特征主要针对解释性较好的LR模型,不仅可以筛选特征,还可以调整特征权重,后面的模型选择部分也会提到相关内容。模型和方案选择4.1 基于boosting的树模型有了特征之后首先尝试的当然是基于boosting的树模型,我主要尝试了xgboost、catboost和lightGBM三种模型,根据最终模型的表现情况,采用了lightGBM模型。另外,选择了两组特征作为lightGBM模型的输入,得到了lgb_pred1和lgb_pred2两个预测结果,选择不同的特征能够让模型具有不同的关注点,同时,这两个预测结果也具有相对独立的误差分布,最终融合之后也会有较好的效果。4.2 逻辑回归采用逻辑回归模型主要基于如下两点考虑:1、具有较好的可解释性,方便手工选择特征或者调整权重;2、用于重点关注lightGBM模型表现不佳的地方。在交叉验证的过程中,可以得到训练集的预测结果,进一步可以查看当前模型在什么情况下预测效果不佳。下图是某一次lightGBM模型的预测结果,黄色的星星是真实异常点,绿色的圈圈是预测的异常点,说明lightGBM模型存在预测不准的地方,那么可以重点关注这些点,针对性的选择特征,用于LR模型的训练和参数的调整,但是这种做法需要注意存在过拟合的风险。4.3 基于kpi_id之间的相似度在数据分析过程中发现了一个特点:有些kpi_id之间具有较高的相似性:不仅曲线相似,它们还倾向于在同一个时刻发生异常(如下图)。因此,可以考虑利用当前时刻其他kpi_id的上述模型预测概率的加权,来预测当前时刻当前kpi_id的异常概率,而不仅仅局限于对当前kpi_id进行建模。相似度度量方式主要有Jaccard系数、向量内积、余弦相似度、Pearson相关系数等。余弦相似度实际上是向量内积的归一化形式,而Pearson相关系数则可以看成余弦相似度的去偏置(均值)形式。最后,我采用的相似度度量准则是Pearson相关系数,并加入了适当的手工修正,因为基于相似度的预测效果,不同的kpi_id表现不尽相同。通过基于相似度的预测,得到的预测结果为sim_pred。4.4模型融合最后四个结果(lgb_pred1、lgb_pred2、lr_pred、sim_pred)通过加权融合得到最终的预测结果。总结和鸣谢(1)排行榜真的是焦虑源泉,不过有焦虑才有动力;(2)另外,数据和特征才是王道,好的特征带来的提分效果还是比较明显的;(3)这里要感谢各位一起参赛的选手,从大家在微信群里的交流讨论,以及思路和方案中学到了很多很多;(4)最后当然要感谢主办方,微信群内的细致答疑、不定期抛出的学习资源、以及华为NAIE的服务资源等等,温暖周到又贴心,点个大大的赞!本文首发:https://mp.weixin.qq.com/s/bF-dbc-nmSlvbDo_d_BggA
-
前沿我们是西南交通大学朱庆教授带领的虚拟地理环境团队,我们团队主页是:https://vrlab.org.cn/很荣幸在“华为云杯”2020西安人工智能创新应用大赛中获得冠军,下面是我们的方案分享我们已将方案同步到:https://github.com/liaochengcsu/road_segmentation_pytorch 欢迎各位大佬同本菜鸟一起交流探讨一、问题分析1、遥感影像中道路特点:城市主干道与郊区公路尺度差异大;道路与其它背景信息样本不平衡;城市绿化等遮挡严重,道路标注不对应;传感器、环境、构筑材料等,导致外观多样化。2、现有方法存在问题:主流方法为语义分割,在有限的数据集训练,模型过拟合严重,使得模型在不同区域泛化性差;提取结果可靠性低,无法广泛地在实际产品应用。二、解决方案1、网络架构:编码模块选用ImageNet预训练的ResNeXt200网络,在E-D架构的基础上,提出一种通道注意力增强的特征自适应融合方法,并设计基于梯度的边缘约束模块。在增强空间细节和语义特征的同时,提高道路边缘的特征响应,实现多尺度道路准确提取。2、使用策略:随机平衡采样:影像裁剪数据增强:训练过程中随机翻转,旋转,缩放,色彩损失函数:BCE+Dice,权重1:1优化函数:SGD,初始学习率lr=0.01TTA(原始影像,上下翻转,180度旋转)后处理:基于阈值的空洞填补和噪声去除三、处理结果样本裁剪获得20733×512×512数据标签对,按7:3随机划分成训练集和验证集(16337:4396)。在24G单卡TITAN RTX上单轮训练时间小于1小时,模型完整训练周期约24小时,模型在训练24轮左右,线下精度约为0.8267,此时线上精度达0.8411(初赛排名2/377)。下图是我们方案处理结果示例:四、比赛总结比赛数据和标签存在很多不对应问题,特别是细小道路标注不完整,道路被绿化遮挡问题严重,使得模型精度总体较低。由于时间有限,对提取结果后处理比较粗糙。个人认为结合道路连续性特征,可以获得显著精度提升,这也是遥感智能解译应用必需解决的问题。本文首发 AI Gallery:https://marketplace.huaweicloud.com/markets/aihub/modelhub/detail/?id=92a0d8f9-9791-41ce-a1c8-2ae6174a1a91本赛事赛题:https://competition.huaweicloud.com/information/1000041322/circumstance决赛获奖选手分享集锦:https://competition.huaweicloud.com/information/1000041322/share
-
华为云杯”2020人工智能创新应用大赛总结与分析一、 赛题背景西安,古称长安、镐京,陕西省会、副省级市,是世界历史名城、中国四大古都之一、中华文明和中华民族重要发祥地,是国家重要的科研、教育、工业基地,亦是丝绸之路起点城市和“一带一路”核心区。西安国家民用航天产业基地成立于2006年11月,是陕西省、西安市政府联合中国航天科技集团公司建设的航天技术产业和国家战略性新兴产业聚集区,也是西安建设国际化大都市的城市功能承载区。2010年6月26日,被国务院批复为国家级陕西航天经济技术开发区。此次赛题结合西安以及西安航天基地以航天卫星遥感产业为特色,旨在解决道路路网信息自动提取问题。本次比赛依托陕西航天工业雄厚的综合实力和坚实的发展基础,充分发挥航天科技对国家战略性新兴产业的引领作用,立足航天产业,发展人工智能新兴产业,推动军民融合,带动产城融合,在谋求错位发展中建设世界一流航天产业新城。本赛题任务是基于高分辨可见光遥感卫星影像,提取复杂场景的道路与街道网络信息,将影像的逐个像素进行前、背景分割,检测所有道路像素的对应区域。二、 数据简介与评判指标大赛数据集来源于北京二号卫星,空间分辨率为0.8米,分为训练集和测试集2个数据集,分别包含3景遥感影像,其中训练集2景影像的尺寸分别为40391×33106、34612×29810。测试集不公开只参与线上评测。参赛者可自行将训练集切分为小图,并划分为训练集和验证集以用于模型调优。数据集下载地址:https://ma-competitions-bj4.obs.cn-north-4.myhuaweicloud.com/xian/2020/data.zipData.zip解压后目录结构说明如下:评价指标:平均交并比即MIOU,计算公式如下图:其中,k表示像素所属的类别,pij表示本属于类别i且被预测为类别j的像素数据,pii表示真正的数量,pij和pji分别表示假正和假负的数量。三、 数据分析数据概览与初步分析数据集共两张空间分辨率为0.8m的遥感影像图,尺寸大小分别是4039133106和3461229810。影像全图如下所示。初步观察分析可以从影像上分析出一下几点内容:a. 影像是大尺寸图片并不能直接输入神经网络进行训练,因此要选用合适的图像切割发方式将影像切割成合适尺寸的图像。影像的切割方式大致有三种选择:规则网格切割、滑动窗口切割以及随机切割。这里我选择的是滑动窗口对图像进行切割,以448为步长才切成512*512尺寸的图片;b. 有影像的区域并不是正矩形,周围存在黑边,黑边在影像中占据的面积并不小,因此对于切割后的数据去除掉全黑的图像;c. 两张影像在颜色上存在肉眼可见的色差,因此拟考虑在数据增强中添加色彩增强相关部分降低模型对色彩上的敏感程度;d. 仔细查看数据集可以发现影像中的区域以城市乡镇为主,说明影像中会存在路网密集区和路网稀疏区,这可能会导致标签中的类别不平衡。四、 数据增强数据增强的目的是为了增加样本的多样性,避免模型的过拟合。数据增强库很多,如:skimage、imgaug、opencv、Albumentations以及Augmentor等。在这里我选择的是Albumentations。在此次大赛中我所用到的数据增强有很多,我主要将其分为三大类:形态变换、颜色变换以及其他变换。形态变换主要是为了对图像上的结构信息进行调整与改变从而达到数据增广的目的。如下图左侧的为原始图像,右侧为经过形态变换(网格失真)后的图像,可以看到两张影像上的道路部分发生一些改变,右侧的道路部分有些细微的扭曲,而道路的扭曲对于真是的情况来说是可能存在的,可以避免让模型误认为细长的颜色相同的区域就是道路,在一定程度上增加了样本的多样性。颜色变换主要有随机调整色相饱和度、随机打乱通道顺序、RGB色彩偏移、随机调整亮度和对比度。其中随机打乱通道顺序避免不同库在读取图片时颜色通道不一致输入模型带来的影响,降低模型对色彩的依赖。随机调整亮度和对比度避免遥感影像因为天气影响带来的过曝或是欠曝导致影像亮度不一致的情况,在此加入是为了避免验证集上的遥感影像亮度对比度可能存在一定差别的因素。其他变换主要有随机添加高斯噪声、中值滤波、cutout等,主要是为了提高模型的泛化能力。五、 模型设计与训练基本结构基本结构选择了2015年在MICCAI会议上发表的Unet。Unet结构简单,大体上可以分为两个部分,分别是用于提取特征的编码区和对特征进行解码还原的解码器。编码器和解码器之间存在skip connnection。即在解码器部分会融合编码器中的部分输出,这样实际上是将多尺度特征融合在了一起,实现了网络对图像特征的多尺度特征识别。在本地实验也尝试过其他结构如:DeepLabV3、LinkNet、FPN等,但各有优缺点,如DeepLabV3训练效果比Unet略高,但是训练时间比Unet长,本人本地并没有好的GPU资源可以用于模型训练,而且大赛分配ModelArts资源宝贵,因此选择了训练速度快,精度较好的Unet作为基本结构。BackBone选取Unet用于特征提取的编码器部分结构较为简单,只有几层卷积网络顺次连接而成,为了提取更加丰富全面的特征我们可以更换编码器的结构用于提取更丰富的特征,常见的方法是从分类效果好的网络结构中选择合适的层作为backbone,以用于特征提取。在比赛过程中一共测试了8种backbone,包括resnet_34、resetnet50、se_resnet50、se_resnext50_32x4d、efficient-b0、efficient-b1、efficient-b2、efficient-b5。最终选择最好的efficient-b5作为backbone。Loss选取大赛的最终评价指标时miou,在二分类中iou等于miou,因此在Loss选取的时候选择了以iou作为优化方向的损失函数,Lovasz损失函数和Focal损失函数。添加Focal的主要目的是在数据裁切和增强部分并没有对样本的类别不均衡做处理,添加Focal是为了解决正负样本不均衡的问题。Dice+BCELoss主要是优化速度快,但是后期BCELoss会变得非常小,近似与只有DiceLoss,而且在线上线下差距大,测试结果不稳定。Lovasz+FocalLoss前期损失下降平缓,测试时较为稳定,线上线下差距小。优化器选取优化器选择的时Radam+Lookahead,即Ranger。此组合变相的提供了不需要调参的warmUp,在快速优化的同时保持了模型的稳定性,且对学习率不敏感。训练trick多尺度训练,对于每一batch,保持batch内的图片尺寸相同,不同batch间的尺寸存在区别,使用多个尺寸的图片对模型进行训练,提高泛化性。学习率调整,使用带重启的余弦退火最为学习率调整的方式,使得模型对探索较好的局部最优。六、 后处理膨胀预测膨胀预测的主要思想是每次预测仅仅保留图片的中心部分,其余地方舍弃,而舍 弃的地方通过滑动切割的思想也会成为其他预测图的中心区域,该方法避免因边界的 特征提取问题而产生拼接痕接,影响最终分割效果。阈值划定在二分类语义分割常用0.5作为前景和背景的分割阈值,某一点的置信度大于0.5就被划分为前景,反之则为背景。在此次比赛中通过测试重新确定分类阈值,最终测试结果为10-2下图左侧为正常0.5作为分割阈值,有图为以10-2作为分割阈值。七、 结果与参考文献最终提交结果为当模型,无TTA等测试时增强操作,模型参数为120M,单张图片(4048*6144)推理时间小于10s(2070super)。 参考文献:EfficientNet: Rethinking Model Scaling for Convolutional Neural NetworksU-Net: Convolutional Networks for Biomedical Image SegmentationFocal Loss for Dense Object Detection, Tsung-Yi Lin, 2018The Lovász-Softmax loss: A tractable surrogate for the optimization of the intersection-over-union measure in neural networksAlbumentations: Fast and Flexible Image Augmentationshttps://github.com/qubvel/segmentation_models.pytorchStochastic Gradient Descent with Warm RestartsLookahead Optimizer: k steps forward , 1 step backRadam:ON THE VARIANCE OF THE ADAPTIVE LEARNING RATE AND BEYOND 本文首发 AI Gallery: https://marketplace.huaweicloud.com/markets/aihub/modelhub/detail/?id=712bcbe2-5535-435d-8866-cd0259df56f4 本赛事赛题:https://competition.huaweicloud.com/information/1000041322/circumstance 决赛获奖选手分享集锦:https://competition.huaweicloud.com/information/1000041322/share
-
比赛简介共十类美食,总计5000张图片,包含中餐、西餐、甜点、粥类,每张图像中美食所占比例大于3/4,数据分布均衡,自由划分训练集和验证集比例,本方案采取9:1的比例进行划分,项目最终以识别准确率作为评价指标,本方案使用单模型,在ModelArts上测试集的acc为0.978训练策略数据方面数据集划分采用9:1的比例将数据集划分为训练集和验证集,并将数据打乱(实际影响不大)数据增强采用简单的数据增强方案,包括图像的翻转,仿射变化及标准化这里的size选用的是224(听说太小了)train_transformer_ImageNet=transforms.Compose([ transforms.Resize((size,size)), transforms.RandomHorizontalFlip(), transforms.RandomAffine(degrees=5, translate=(0.05, 0.05), scale=(0.95, 1.05)), transforms.ToTensor(), transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) ])模型方面模型的选择baseLine选用的是Resnet模型,本着一切从简的原则(其实就是懒),分别试了Resnet18,ResNet34,ResNet101,ResNet152,还是ResNet152的acc较高,所以预训练模型选用的是ResNet152模型的训练策略方面采用了标签平滑,个人感觉差别也不大def reduce_loss(loss, reduction='mean'): return loss.mean() if reduction == 'mean' else loss.sum() if reduction == 'sum' else loss def lin_comb(a, b, epsilon): return epsilon * a + b * (1 - epsilon) class LabelSmoothingCrossEntropy(nn.Module): def __init__(self, epsilon: float = 0.1, reduction='mean'): super().__init__() self.epsilon, self.reduction = epsilon, reduction def forward(self, output, target): c = output.size()[-1] log_preds = F.log_softmax(output, dim=-1) loss = reduce_loss(-log_preds.sum(dim=-1), self.reduction) nll = F.nll_loss(log_preds, target, reduction=self.reduction) return lin_comb(loss / c, nll, self.epsilon)学习率调整,使用ReduceLROnPlateau学习调度器,如果三个epoch准确率没有提升,则减少学习率exp_lr_scheduler = lr_scheduler.ReduceLROnPlateau(optimizer_ft,mode='max',patience=3,verbose=True)模型性能验证集上的acc为0.974,提交到ModelArts上为0.978比赛总结这次的比赛对我来说收获挺大的,有些东西真是在学校里边体会不到的,还得多实践,同时也认识到了不同地区的小伙伴,寒假快要结束了,又是新的学期啊,可能只有短短一个多月?我们都加油,祝大家始终保持心里有火,眼里有光的状态!
-
大赛详情地址:https://competition.huaweicloud.com/information/1000041288/introduction作者昵称:老老刘参加了华为云API入门学习赛,按照大赛给的指导流程一步步来做。首先当然是报名然后开通人脸检测服务接着我们去找一张美女图根据指导说明上传调试最后将调试结果截图打包上传就ok啦,很简单
-
首先感谢华为公司举办的比赛,感谢提供给我们一个提升自己的机会。我们是来自南开大学的Excavator团队(挖机联盟),本次比赛非常有幸能进入前10。赛题任务本次KPI异常检测比赛提供了某运营商的部分网元的KPI真实数据,根据历史一个月的异常标签数据,训练机器学习模型,智能预测后续一周内KPI中的异常。评价函数为二分类中常用的F1-score:数据初探训练集数据仅有5列,分别是:kpi_id:表示某个KPI名称,本次共分为20个KPI_ID。start time、end time:采样间隔为1小时,用于指示当前KPI值的开始时间和结束时间。value:KPI值,本次KPI检测的关键数据,核心特征。label:标签值,指示kpi值是否异常。0为正常,1为异常。除去ID列和标签列,仅有时间特征和kpi特征。其中最为关键的就是KPI值,通过KPI值的时序变化,来判别异常点。根据上述分析,将本赛题归纳出几个关键字:时序类数据、原始特征较少、二分类问题。接下来我们进一步分析,发现三个问题:01通过绘制value值分布图发现,不同kpi_id的 value值分布截然不同:有的较为平稳,有的波动很大,且取值区间也相差很大。02通过对label列的value_counts()函数统计发现,0值较多,1值极少。0与1取值分布如下图所示,比值约为98.5:1.5,训练集数据极为不平衡。03训练集数据的时间范围是2019/08/01至2019/09/22,将近两个月的数据;测试集数据的时间范围是2019/09/23至2019/09/29日一周的数据。特征工程时可以围绕“7天”这个周期进行构造。第一时间想到的解决方案是:分ID训练不同模型,根据1/0比值划分阈值,窗口大小优先选择7。特征工程时序类数据和时间强相关,上下联系紧密,首先想到的就是窗口特征和差分特征。01窗口特征:向上向下取一定数量的值(称为窗口),进行统计分析,观察某一周期内value值的变化情况。可以使用Dataframe中rolling函数。(1)统计量:均值(mean)、标准差(std)、方差(var)等。(2)窗口大小:12h内,24h内,7天内等。02差分特征:时间移位作差,目的是观察数据的时序变化。可以使用diff函数。(1)差分方式:时间向上移位作差、时间向下移位作差。(2)差分量:1阶~10阶。03卡方分箱:基于卡方检验,将连续型变量做分箱处理,减小数据异常值带来的影响。在本题中主要针对不稳定ID,将其value值放缩并进行一个映射,衍生出非线性特征,便于模型理解。解决方案常见的时序类模型会想到lstm等神经网络,但是其训练速度较慢,所以本次并未采用。本次采用数据挖掘比赛常用的Lightgbm模型,并结合数据规则进行综合评判。分ID思路如下:01稳定ID一部分ID具有较稳定的value值,异常点即离群点。针对这个现象,我们根据折线图和散点图,找出这些稳定ID,设置一个KPI正常区间。区间之外的点为异常点,置为1。02不稳定ID(1)直接按照模型概率划分0,1对于一部分不稳定ID,我们直接采用LGB模型预测,得到每个点是异常点的概率,再通过计算Train中0,1比例,得到概率划分基准点,再进行微调。(2)经常会出现两个连续1的ID有一部分ID的异常点经常是连续出现的(2个),根据这种情况,我们采用的方案是:①确定必然是异常的点(异常概率大,超过0.5)。②在异常点的上下寻找概率较大的点,也将其记作异常点。(3)模型概率加阈值划分最后一类问题是我们最头疼的一类问题,某些谷底的值,因为下降过程非常平滑,模型有时不能判断其是否是异常,这种我们通过模型概率先找出异常点,再划分阈值来判断异常。划分阈值思路:LGB五折交叉验证后得到训练集异常概率,再遍历0.001到0.5之间阈值(步长0.001),对比训练集标签并计算F1_score,从而得到最优的阈值list。根据最优阈值对测试集概率划分。最终评分0.9403,线上排名第10,复核排名第9总 结首先分ID训练优化模型,对于较少ID的比赛(比如本次比赛)还可以,对于ID多的恐怕会相当复杂,所以还是很期待前排“1”佬们的方案。我们提供的方案主要还是单模,难免在最后阶段进入瓶颈期。后面还要更多考虑模型融合,发掘不同模型之间的优势,取长补短。特征挖掘思路较为常规,还需要进行更深入的挖掘,毕竟“特征为王”,挖到几个强特可能直接分数暴增。对于华为NAIE平台,刚开始使用的时候还是挺困难的,但是一天的摸索后,就一句话:NAIE真香。对于赛制:没有B榜可能是唯一的槽点吧,全都朝着A棒拟合,模型泛化能力检测不够吧。有点慈善赛的味道(不是为了买代码)。希望下次还能有机会参加华为的比赛,和各路高手比拼。和GREAT再战300回合!本文首发:网络人工智能园地https://mp.weixin.qq.com/s/vcSB8qtpDI6m4_NCGUAV3w
-
大赛详情地址:https://competition.huaweicloud.com/information/1000041288/introduction作者昵称:橙子是红的今天是最后一天冲鸭!!!活动时间:11月16日~11月20日奖励规则:在11月16日至20日的5天时间内,按照操作指导完成作品提交,且成绩50分及以上(按照操作指导完成即可获得50分),即可获得作品提交当日的抽奖机会。抽奖规则:每天针对提交作品的同学进行抽奖,中奖概率为当日提交作品人数的40%。第二天在群内公布前一天中奖结果。备注:每日提交上限5次,当日抽奖。奖品包括:华为快充移动电源、华为荣耀手环4、荣耀体脂称2、100元京东卡、50元京东卡、华为定制棒球帽/渔夫帽、¥465案例学院会员卡、AM115半入式耳机,随机抽取发放。首先报名>>大赛链接:https://competition.huaweicloud.com/information/1000041287/introduction没实名的需要实名认证:>>点击实名认证链接:https://account.huaweicloud.com/usercenter/?region=cn-north-1&locale=zh-cn#/accountindex/realNameAuthing接下来就是根据指导来点击人脸识别服务链接:https://console.huaweicloud.com/frs/?region=cn-north-4#/frs/home本地上传任意一张人像图片https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=FRS&api=FaceDetectV2ByFile点击调试,将调试成功页面截图,保存成zip包。回到大赛提交作品页https://competition.huaweicloud.com/information/1000041287/submission将保存好的zip包作为作品上传到大赛提交页。完成!
-
大赛详情地址:https://competition.huaweicloud.com/information/1000041288/introduction作者昵称:平平无奇的平平这个入门学习赛还是蛮良心的,流程简单,中奖率也挺高,奖品也不错,我想很多朋友也都是冲着奖品来的吧。首先开通服务然后选择byfile,找一张人像图上传,最后点击调试。这个页面别忘截图保存。最后打包成zip上传,搞定!接下来就是等第二天的抽奖了!!!
-
大赛详情地址:https://competition.huaweicloud.com/information/1000041288/introduction作者昵称:老老刘参加了华为云API入门学习赛,按照大赛给的指导流程一步步来做。首先当然是报名然后开通人脸检测服务接着我们去找一张美女图根据指导说明上传调试最后将调试结果截图打包上传就ok啦,很简单
-
作者昵称:王亦臻大赛链接:https://competition.huaweicloud.com/information/1000041287/introduction、正文:从华为云高校青年活动得知有AI人脸识别大赛这次技术活动,就参与了。按照大赛给与的赛题指导,一步一步操作,明白了人脸识别下的API服务。直接上传准备好的人脸图片,然后按照操作,调试。结果图:以后直接调用API,就可以识别人的各种信息,很方便。
-
视频观看链接:https://bbs.huaweicloud.com/videos/1018552019年,越来越多的行业都将业务放上了“云端”。大势所趋的背后,不只是AI、云计算、大数据等新兴技术的崛起,也是各种各样应用场景的智能化激活和渗透。凭借自身深厚的技术积累与实践,华为云不断深入行业场景,以AI开发为切口,让技术赋能千行百业。2019年,华为云举行了一系列开发者大赛,为开发者提供展示自我的舞台,助力企业与优秀人才、前沿科技的对接,让“高深莫测”的技术更加落地,让云上世界更加智能。No.1数字中国创新大赛:文化传承-汉字书法多场景识别赛2019年1月,华为云以“文化传承-汉字书法识别场景”为赛题,通过人工智能算法实现书法文字的自动识别,解决实际场景中有些书法文字难以识别的问题,传承中国千年文化。赛事共有1071赛队的1203名选手报名,最终破晓、银月之晶、Gtai三支团队获得前三名。冠军团队破晓,赢得最高8万元大奖,并获得华为云AI实验室的实习机会,以及华为云面试绿色通道资格。比赛过程中,华为云为参赛选手们提供了华为云ModelArts一站式AI开发与管理平台和华为云OCR(文字识别服务)技术支持。其中,华为云OCR凭借识别精度高、服务稳定、支持复杂场景、简单易用等优势,现今已被广泛应用于物流、医疗、金融等行业。No2华为云人工智能大赛•无人车挑战杯7月1日,“华为云人工智能大赛•无人车挑战杯”开始报名。通过本项赛事,华为云全面锻炼和提高了赛队的AI解决方案能力及无人驾驶编程技巧的赛事。作为整场赛事的技术支撑,华为云ModelArts一站式AI开发与管理平台及端云协同AI开发应用平台HiLens让参赛开发者们轻松地进行了模型开发与部署。具体而言,在识别红绿灯的问题上,无人车可在上路前通过华为云HiLens Kit采集交通灯照片,然后在ModelArts上进行图片数据集的标注并生成标注数据,轻松过灯。No3华为云鲲鹏开发者大赛7月23日,“2019华为云鲲鹏开发者大赛”开赛,选手基于华为云自研的鲲鹏云服务器,进行主题为“化鲲为鹏”的游戏策略开发。大赛吸引了来自北京大学、浙江大学、哈尔滨工业大学等全国374所高校的学生,以及50个来自不同行业的开发者共1200多位选手参赛。而华为云鲲鹏开发者大赛的最大亮点就是在于华为云为参赛选手们提供最新的华为云鲲鹏云服务器。基于鲲鹏处理器对云原生软件随时随地的部署,华为云鲲鹏云服务可以帮助开发者在大数据、分布式存储、ARM原生应用等诸多应用开发场景中游刃有余,为其提供从芯片到服务器到云平台的全栈自主创新能力,帮助开发者轻松应对多云计算的挑战。No4华为云人工智能大赛·垃圾分类挑战杯于7月30日启动“华为云人工智能大赛·垃圾分类挑战杯”致力于运用AI赋能垃圾分类,减轻城市居民在垃圾分类方面产生的困扰。截至比赛结束,有2600多位社会各界开发者参赛。比赛中,华为云为选手提供ModelArts、算力云资源、数据集等。ModelArts以全流程的极简和自动化升级已有的传统AI开发模式,让数据准备、算法开发、模型训练、模型管理、模型推理全链条产生质的飞越。值得一提的是,华为云ModelArts不仅仅应用于垃圾分类,还可适用于建筑、互联网、医疗等诸多行业场景。华为云历来重视用技术使能开发者,不仅发布了ModelArts、HiLens、华为云鲲鹏云服务、OCR等众多解决方案及工具,帮助开发者驰骋开发界,还在2019华为全联接大会上,发布了沃土计划2.0,宣布未来五年将投入15亿美元,帮助全球开发者基于华为开源开放的产品和服务进行技术与商业创新。依托华为30年的技术积淀,华为云正在努力构建完善的开发者生态,以促进每一位加入华为云生态的开发者,不仅能获得技术支持,还能找到同伴、发现商机,将梦想从不可能变可能。如果说云计算改变了中国各行各业的发展历程,那么可以说,华为云正让每一位开发者参与到这一历史进程当中。
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第五期2026/09/04 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;蒋春阳-华为云AI开发者案例开发专家
本期直播内容: AI工具体验营 · 第5-8课连讲。Agent-Team 多智能体协作完成毕业设计实践
回顾中 -
华为云开发者AI素养ClassRoom·第六期2026/09/08 周二 19:00-20:00
樊渊-2026华为软件挑战赛冠军
高手来了:看软挑高手解析二维排样问题—从工业难题到算法突破
回顾中
热门标签