4tH

阿里定向广告新一代主模型:基于搜索的超长用户行为建模范式

孤者浪人 提交于 2020-08-12 03:45:06
阿里提出并实现了一套基于搜索范式的超长用户行为建模新方法Search-based user Interest Model(SIM),用于解决工业级应用大规模的用户行为建模的挑战。 对用户沉淀的海量历史行为数据进行充分的理解和学习, 是电商、信息流、短视频推荐这类强用户行为反馈驱动的应用中,近几年技术研发的关键方向,尤其是 CTR 模型这个领域,更是关键的胜负手。 以淘宝为例,大量的用户在网站上沉淀了长达数年甚至十几年的历史行为数据:平均每个用户每年产生的点击量超过了 10000,更不用提其中高频用户的活跃行为了。然而,如何建模这种超长行为序列的数据,学术界和工业界都还在早期阶段摸索。传统的如 LSTM、Transformer 等序列建模的技术,普遍适用于序列数据长度在 100 以内的情况,当序列长度提高一个数量级达到 1000 以上时,都会存在困难;此外,即使离线模型能够处理,如何将模型部署到实际生产系统,在时延和吞吐上都达到工业级标准,更是极具挑战的难题。 18 年我们团队研发上线、19 年在 KDD 上披露的 MIMN[1],是业界首个处理超长行为序列的工业级解决方案,其提出了一套能够对长达 1000 长度的行为序列数据进行训练和在线 serving 的整体解决方案。然而,MIMN 算法基于的是 memory network,在处理更大规模的序列数据时,容易被数据的噪声干扰

[Other]FJOI 2020 游记

微笑、不失礼 提交于 2020-08-11 04:06:06
我的计数水平是外国人水平。 Jun. 15th ~ Jun. 21th 无限颓废,除了 JOI 2020 Final 之外基本没做任何题 周六(Jun. 20th)是会考,FJ 因为联考和会考冲突而改成下周四、五的 FJOI Day [-2,0] 死猪不怕开水烫,省选越近我越浪。 除了 AGC046 A~D 之外,还是没做任何题 Day 0(Jun. 24th)到 SDFZ 报到并试机 试机的时候我前面的 nealchen 敲了一个 FFT,我敲了一个 SAM 回宾馆的时候写了 SA 和 FFT 同时了解到了今年 FJOI 改用 OJ 提交,试机体验还行 回想起去年打错考号,那感觉真是可怕 Day 1 看到题面,发现还是熟悉的 FZU 排版,还不写内存限制 我:三题的空间限制分别是多少? 工作人员:不做回答。 感到非常毒瘤 T1 大概是一个简单的拆点费用流,看 \(2\times10^4\) 的规模不知道能不能过,但觉得没有其他做法了,直接码上 EK 多测不给数据组数范围,再次感到毒瘤 T2 大概算法是 Tarjan + 线段树合并 / 启发式合并 看着 \(5\times10^5\) 的范围,由于 ML 未知,忍痛放弃了线段树合并 两题都过样例的时候大概 9:30 多一点 T3 是一个排列计数题感觉到会非常难 一看到 \(n=1,2,3\) 的时候答案为 \(0\) 但 \(n

每个设计师都应该了解的IOS编年史

半城伤御伤魂 提交于 2020-08-09 02:37:28
文章略长,不过肯定是考据狂和狂热粉的最爱,你是从哪一代开始追iOS的呢? 2007年1月9日,乔布斯向世界展示了iPhone一代,这是这位已故传奇向这个时代馈赠的最佳礼物,同时也预示着,一场精妙绝伦的大戏正式拉开帷幕,iPhone,iPad以及Touch对”移动设备”进行了重新定义。更华丽,也更具人性化。 世界变幻莫测,那时候的移动操作系统中,iOS只是个”小字辈”,资历尚浅,到了今天呢,多少操作系统黯然消失在我们的视线中,而iOS俨然成为了操作系统江湖的”老字辈”。 老,并不意味着iOS失去创意了,恰恰相反,iOS以崭新的姿态继续前行。随着逐年的增强和提高,iOS已经变成了市场上最具个性、支持最广泛的操作系统。 iOS6,经过数年的磨砺,已经无限接近拟物设计的最顶峰,用隐喻设计引导者用户,操作简单易懂。而且多平台(iPhone、iPad)上的体验相对一致,对于开发者和设计师来说,这都是一个理想的”温床”。 再想一个问题,比较一下iOS1和iOS6,你会发现还是拥有很多共通点的。苹果像是一位颇有耐心的面包师,慢慢的烘焙,花了数年时间,为我们特制了一款色香味俱全的”苹果派”,你想想其他操作系统的做法吧:无限的功能蔓延,蔓延来蔓延去,淘汰了一批,又新来了一批功能。 这是个怪圈,苹果很明智的没有选择这种道路。iOS努力的保持着整体的一致性,与此同时又不放弃前卫创意,难能可贵。

基于点云的机器人抓取识别综述

左心房为你撑大大i 提交于 2020-08-08 08:45:29
点击上方“ 3D视觉工坊 ”,选择“星标” 干货第一时间送达 机器人作为面向未来的智能制造重点技术,其具有可控性强、灵活性高以及配置柔性等优势,被广泛的应用于零件加工、协同搬运、物体抓取与部件装配等领域,如图1-1所示。然而,传统机器人系统大多都是在结构化环境中,通过离线编程的方式进行单一重复作业,已经无法满足人们在生产与生活中日益提升的智能化需求。随着计算机技术与传感器技术的不断发展,我们期望构建出拥有更加灵敏的感知系统与更加智慧的决策能力的智能化机器人系统。 图1-1 机器人的应用领域 图1-2 机器人抓取的操作流程与步骤 机器人抓取与放置是智能化机器人系统的集中体现,也是生产与生活中十分重要的环节,近几年来在工业界与学术界得到了深入而广泛的研究。具体的机器人抓取可以分为视觉感知部分与机器人抓取操作部分。视觉感知部分又包含:模型与场景表征、目标识别与定位这两个步骤;而机器人抓取操作部分则包含:系统标定、运动控制与抓取规划等步骤,如图1-2所示。这其中,机器人通过视觉传感器感知环境并实现对目标物体的识别与定位,也就是视觉感知部分,是十分重要的环节,其直接决定了后续机器人的抓取精度。 图1-3 二维图像的部分缺陷 受益于计算机算力的不断提高以及传感器成像水平的高速发展,目前针对结构化环境或者半结构化环境中,基于二维图像的机器人平面单目标物体的抓取技术已经趋于成熟

2019年暑假绍兴集训(7.04~7.14)

ぃ、小莉子 提交于 2020-05-04 02:57:40
前言 上个月由于期末考试和准备防震减灾知识竞赛的缘故几乎没去过机房,因此差不多快一个月没碰过电脑了。 而防震减灾知识竞赛刚好是在$Jul\ 4th$举办的,因此我就无法和其他人一起坐车去绍兴,只得自己在比赛完后晚上坐高铁赶往。 不管怎样,对这次集训还是挺兴奋的吧。 $Jul\ 4th$ 今天上午+下午在丽水进行防震减灾知识竞赛,我们学校三人组得了个第$6$名(初中学校中排名第$2$名),只有三等奖。这次比赛中失误较多,挺可惜的,本来正常发挥的话二等奖(第$2\sim4$名)应该是稳的。 下午比完赛之后,就匆忙吃完饭(真的是很匆忙啊,老师不停催,说怕搭不到高铁),打的到了车站(司机开车特快,还闯了几个红灯),结果发现才$18:11$,离$18:39$的车还有二十几分钟。。。 然后$18:30$左右便检了票,再等了会儿便独自坐上了前往杭州的高铁(我们学校其他人都是直接坐车回衢州,因此就我一人)。 在高铁上没网,还是挺无聊的,好不容易才在$20:20$左右迷迷糊糊地挨到了杭州站。 接下来$20:34$换乘前往绍兴,杭州和绍兴还是挺近的,十几分钟便到达了。 然后在高铁站困了很久,好不容易打到车,到了宾馆已经快$9$点半了。 晚上看了一下 拉格朗日插值 ,没写题。 $Jul\ 5th$ 今天一早就是一场模拟赛。 $T2,T3$题都只会写暴力,$T1$推了$3$个多小时式子依然爆$0$,最后

Spring 自动注册及自动装配

…衆ロ難τιáo~ 提交于 2020-05-02 03:21:11
Spring支持三种注册Bean及装配Bean的方式: 显式地在Java代码中注册及装配 显示地在Xml文件中注册及装配 隐式地装配,即自动注册及装配 这三种方式可以混合使用。选择哪种更多地是看个人品味。 下文主要介绍第三种方式:自动扫描注册Bean及自动装配(Autowiring)Bean(在beans.xml中配置)。 1. <context: annotation-config/> 这个标签会自动向Spring容器注册以下四个BeanPostProcessor, 让系统识别对应的注解从而支持相关的自动装配: BeanPostProcessor 对应的注解 AutowiredAnnotationBeanPostProcessor @Autowired CommonAnnotationBeanPostProcessor @Resource @PostConstruct @PreDestroy PersistenceAnnotationBeanPostProcessor  @PersistenceUnit @PersistenceContext RequiredAnnotationBeanPostProcessor @Required 传统的注册方式: 1 < bean class ="org.springframework.beans.factory.annotation.

vue时间处理工具momentjs

牧云@^-^@ 提交于 2020-04-05 19:25:17
时间处理工具momentjs 为什么要用? 自己写的时间处理工具类有兼容性, 网上找都处理很多可靠的很少,几个项目被坑惨了 以前用的 formatDate(timestamp, fmt = 'yyyy-MM-dd hh:mm:ss') { if (!timestamp) return null; let date = null; if (timestamp instanceof Date) { date = timestamp; } else { // 兼容 date = new Date(timestamp.replace(new RegExp(/-/gm), '/')); } const o = { 'y+': date.getFullYear(), 'M+': date.getMonth() + 1, 'd+': date.getDate(), 'h+': date.getHours(), 'm+': date.getMinutes(), 's+': date.getSeconds(), 'w+': date.getDay(), }; Object.entries(o).forEach(([rxp, value]) => { fmt = fmt.replace(new RegExp(rxp), ($1) => { const str = `0000${value}`; if

cron 语法

只谈情不闲聊 提交于 2020-03-03 11:43:28
这里可以生成 https://crontab.guru/ Cron syntax has five fields separated by a space, and each field represents a unit of time. ┌───────────── minute (0 - 59) │ ┌───────────── hour (0 - 23) │ │ ┌───────────── day of the month (1 - 31) │ │ │ ┌───────────── month (1 - 12 or JAN-DEC) │ │ │ │ ┌───────────── day of the week (0 - 6 or SUN-SAT) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ * * * * * github 只支持下面几个, 不支持@的拓展 You can use these operators in any of the five fields: Operator Description Example * Any value * * * * * runs every minute of every day. , Value list separator 2,10 4,5 * * * runs at minute 2 and 10 of

Java实现的5大排序算法

て烟熏妆下的殇ゞ 提交于 2020-02-28 10:30:10
Java实现的5大排序算法 1、Java排序算法之选择排序   选择排序的基本思想是遍历数组的过程中,以 i 代表当前需要排序的序号,则需要在剩余的 [i…n-1] 中找出其中的最小值,然后将找到的最小值与 i 指向的值进行交换。因为每一趟确定元素的过程中都会有一个选择最大值的子流程,所以人们形象地称之为选择排序。   举个实例来看看: 1.初始: [38, 17, 16, 16, 7, 31, 39, 32, 2, 11] 2.3.i = 0: [2 , 17, 16, 16, 7, 31, 39, 32, 38 , 11] (0th [38]<->8th [2]) 4.5.i = 1: [2, 7 , 16, 16, 17 , 31, 39, 32, 38, 11] (1st [38]<->4th [17]) 6.7.i = 2: [2, 7, 11 , 16, 17, 31, 39, 32, 38, 16 ] (2nd [11]<->9th [16]) 8.9.i = 3: [2, 7, 11, 16, 17, 31, 39, 32, 38, 16] ( 无需交换 ) 10.11.i = 4: [2, 7, 11, 16, 16 , 31, 39, 32, 38, 17 ] (4th [17]<->9th [16]) 12.13.i = 5: [2, 7, 11, 16,

Java实现的5大排序算法

江枫思渺然 提交于 2020-02-26 14:57:06
Java实现的5大排序算法 排序算法很多地方都会用到,近期又重新看了一遍算法,并自己简单地实现了一遍,特此记录下来,为以后复习留点材料。   废话不多说,下面逐一看看经典的排序算法: 1、Java排序算法之选择排序   选择排序的基本思想是遍历数组的过程中,以 i 代表当前需要排序的序号,则需要在剩余的 [i…n-1] 中找出其中的最小值,然后将找到的最小值与 i 指向的值进行交换。因为每一趟确定元素的过程中都会有一个选择最大值的子流程,所以人们形象地称之为选择排序。   举个实例来看看: 1.初始: [38, 17, 16, 16, 7, 31, 39, 32, 2, 11] 2.3.i = 0: [2 , 17, 16, 16, 7, 31, 39, 32, 38 , 11] (0th [38]<->8th [2]) 4.5.i = 1: [2, 7 , 16, 16, 17 , 31, 39, 32, 38, 11] (1st [38]<->4th [17]) 6.7.i = 2: [2, 7, 11 , 16, 17, 31, 39, 32, 38, 16 ] (2nd [11]<->9th [16]) 8.9.i = 3: [2, 7, 11, 16, 17, 31, 39, 32, 38, 16] ( 无需交换 ) 10.11.i = 4: [2, 7, 11, 16,