深度学习

时间序列神器之争:prophet VS lstm

扶醉桌前 提交于 2020-10-24 00:43:10
一、需求背景 我们福禄网络致力于为广大用户提供智能化充值服务,包括各类通信充值卡(比如移动、联通、电信的话费及流量充值)、游戏类充值卡(比如王者荣耀、吃鸡类点券、AppleStore充值、Q币、斗鱼币等)、生活服务类(比如肯德基、小鹿茶等),网娱类(比如QQ各类钻等),作为一个服务提供商,商品质量的稳定、持续及充值过程的便捷一直是我们在业内的口碑。 在整个商品流通过程中,如何做好库存的管理,以充分提高库存运转周期和资金使用效率,一直是个难题。基于此,我们提出了智能化的库存管理服务,根据订单数据及商品数据,来预测不同商品随着时间推移的日常消耗情况。 二、算法选择 目前成熟的时间序列预测算法很多,但商业领域性能优越的却不多,经过多种尝试,给大家推荐2种时间序列算法:facebook开源的Prophet算法和LSTM深度学习算法。 现将个人理解的2种算法特性予以简要说明: (1)、在训练时间上,prophet几十秒就能出结果,而lstm往往需要1个半小时,更是随着网络层数和特征数量的增加而增加。 (2)、Prophet是一个为商业预测而生的时间序列预测模型,因此在很多方便都有针对性的优化,而lstm的初衷是nlp。 (3)、Prophet无需特征处理即可使用,参数调优也明确简单。而lstm则需要先进行必要的特征处理,其次要进行正确的网络结构设计,因此lstm相对prophet更为复杂。

万物皆可 Serverless 之使用云函数 SCF 快速部署验证码识别接口

纵饮孤独 提交于 2020-10-24 00:41:47
验证码识别是搞爬虫实现自动化脚本避不开的一个问题。通常验证码识别程序要么部署在本地,要么部署在服务器端。如果部署在服务器端就需要自己去搭建配置网络环境并编写调用接口,这是一个极其繁琐耗时的过程。 本文来自 Serverless 社区用户「乂乂又又」供稿 但是现在我们通过腾讯云云函数 SCF,就可以快速将本地的验证码识别程序发布上线,极大地提高了开发效率。 效果展示 可以看到,识别效果还是蛮好的,甚至超过了肉眼识别率。 操作步骤 传统的验证码识别流程是 图像预处理(灰化,去噪,切割,二值化,去干扰线等) 验证码字符特征提取(SVM,CNN 等) 验证码识别 下面我就带大家一起来创建、编写并发布上线一个验证识别云函数 第一步:新建 python 云函数 参见系列文章 《万物皆可Serverless之使用 SCF+COS 快速开发全栈应用》 第二步:编写验证识别云函数 Life is short, show me the code. 这里我就以一个最简单的验证码识别程序为例,直接上代码 import io import os import time from PIL import Image as image import json #字符特征 chars = { '1': [1, 1, 1, 0, 1, ...], '2': [1, 0, 0, 1, 0, ...], '3': [0,

听说用CPU就能做深度学习!再也不用攒钱买GPU了?

跟風遠走 提交于 2020-10-23 21:29:37
云栖号资讯:【 点击查看更多行业资讯 】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 入了深度学习的坑,没有个GPU怎么能带得动,你是不是也发愁过配什么样的GPU?NVIDIA,AMD GPU,Intel Xeon Phis,Google TPU...各家芯片让人挑花了眼,一个不行还得多买几个,而且越专业的硬件价格就越贵。 所以近年来,有人就动了个念头,硬件不行,我改软件还不行吗! 2017年,MIT教授 Nir Shavit 在研究一个需要借助深度学习重建老鼠大脑图像的项目时,由于不知道如何在图形卡或GPU上编程,于是他选择了CPU。 Nir Shavit 没想到,竟然顺利完成了这一研究。Shavit回忆说:“看,我发现只要以合适的方式编程,CPU就可以完成GPU的工作。” 难道未来做深度学习可以不用挑选专门的硬件了? GPU也不是百分百适合深度学习 其实,GPU成为深度学习的首选硬件也算是一个巧合。GPU(Graphics Processing Unit)也就是图形处理器,顾名思义,这些芯片最初是被设计用来在电子游戏等应用中快速渲染图形的。 我们都知道中央处理器CPU具有四到八个复杂的内核,是我们电脑中不可或缺的芯片,可以用来执行各种计算。GPU则由数百个只能执行特定操作的简单内核组成,但是这些内核可以同时执行操作,而不是一个接一个地执行

TensorFlow-Keras 6.SoftMax实现

南笙酒味 提交于 2020-10-23 19:39:29
简介 SoftMax 函数在深度学习中十分常见,多见于多分类概率问题,通过softmax可以将预测结果映射到0-1且保证概率之和为1。 假设一个数组中包含n个元素,则对应位置k的softmax计算公式如下: Keras Api Tensorflow keras 提供了计算softmax的方法 tf.nn.softmax,可以直接调用: logits = np.random.random((3, 10)) # softMax 前 print("softMax 前") print(logits) # softMax 后 print("softMax 后") print(tf.nn.softmax(logits)) 这里初始化一个 3 x 10 的随机正态分布供后续 softmax 使用,针对每一个 1x10的数组,均使用softmax使其归一化至0-1: softMax 前 [[0.32601273 0.50874893 0.86576573 0.23793323 0.64227146 0.81647401 0.23725476 0.63700227 0.83840016 0.58136121] [0.36389123 0.48618679 0.12991884 0.91359954 0.11360679 0.95020336 0.22756855 0.64274918 0

大一暑期CS231n网课笔记(1)

99封情书 提交于 2020-10-23 18:46:07
一周前我就已经在看CS231n的网课了,但是当时并没有很好的总结知识点,所以内容不免遗忘许多,开始review啦,一边复习前面的知识点,一边学习后面的知识点。人类的视觉系统是很强大的,尽管这些年在计算机视觉领域我们取得了巨大的进步,但是我们仍有很长的路需要走。 在课程的最开始,我们了解计算机视觉及其发展历史和关于本课程的描述,接下来我们需要深入了解这些算法,学习这些算法在实践中到底是如何工作的。 本课程的第一个重点是 图像分类 问题。 在图像分类中,让你的算法接收一张图作为输入,从固定的类别集合中选出该图像所属的类别,从而对图像分类。 当你在做图像分类的时候,系统接收一些输入图像,比如说可爱的猫咪,并且系统已经清楚一些确定了分类或标签的集合,这些标签可能是一只狗狗或者一只猫咪,也有可能是一辆卡车,亦或是一架飞机,还有一些固定的类别标签集合,那计算机的工作就是看图片并且给它分配其中一些固定的分类标签。 仔细思考,计算机看一张图片时看到的是什么,它肯定没有一只猫咪的整体概念,和我们所看的图片当然是不同的,计算机呈现图片的方式其实就是一大堆数字。所以图像可能就是一些像800乘以600的像素,每一个像素由三个数字表示,给出像素红、绿、蓝三个值,所以,对于计算机来说,这是一个巨大的数字阵列,这很难从中提取猫咪的特性,我们把这个问题定义为语义鸿沟

黑科技:用cutlass进行低成本、高性能卷积算子定制开发

旧巷老猫 提交于 2020-10-23 17:29:55
图形处理器通用计算(GPGPU)是指利用 GPU 来计算原本由 CPU 处理的通用计算任务。由于现代 GPU 拥有强大的并行处理能力,通用 GPU 在面对矩阵乘法、卷积等大量并行的计算密集型算法时,性能远远超越了传统的 CPU。CUDA 是由 NVIDIA 推出的 GPGPU 高性能计算方案,目前大多数深度学习推理任务都可以通过 CUDA 来进行加速。 为了充分发挥 CUDA 平台的计算能力,NVIDIA 推出了高度优化的深度学习、线性代数算子库 cudnn、cublas、cutlass,以及 CUDA 平台上的深度学习推理框架 TensorRT。 cudnn、cublas 这样的基础算子原语库在常见的卷积层上性能表现很好,通常都能够满足用户的需求,但是在面对用户高度定制化的算法时,基础算子库往往并不能充分发挥硬件的性能。这是由于算子优化的长尾问题引起的,基础算子库引入了许多卷积优化的通用策略,但是这些优化的策略并不能覆盖所有的情况,实际算法中的卷积层有可能并不能从通用的优化策略中获得收益,从而无法充分发挥硬件的性能。 基础算子库的另一个问题是用户无法对这些基础算子进行定制化开发,当算法开发人员想为卷积算子添加一种新的激活函数,或者想添加一种特殊的卷积算子(比如:LocalConv)时,就会变得束手无策。 cutlass 是 NVIDIA 推出的一款线性代数模板库

美腻了!Java资深架构师带你深度学习字节跳动的亿级流量+高并发

戏子无情 提交于 2020-10-23 10:49:18
随着软件行业的飞速发展,互联网公司对开发者的技能要求也越来越高。而高并发、网络编程、微服务、海量数据的处理等技能,是每一个开发者进阶时的必学知识。为了帮助初级开发者快速掌握这些实用技术,字节跳动架构师总结了一份以“理论+范例”的形式对各个知识点进行了详细的讲解,力争让读者在实践中快速掌握相关知识的PDF。 这份PDF可以划分为三大部分:并发的底层核心技术(第2~6章),互联网应用框架(第7~13章),数据处理(第14~18章)等三部分对高并发系列技术做了系统讲解,几乎所有的知识点都配有详细的案例代码、运行流程的解读及运行结果的截图。 这份PDF作为字节跳动架构师的经典之作,不仅是作者知识的总结,同时还加入了作者自身很多的实战经验!这份PDF现在免费公开,让更多的人接触到了高并发架构,不禁让人肃然起敬,这份PDF的免费获取方式在文末! 并发的底层核心技术篇 第1章高并发概述+第2章系统分析与大型互联网架构设计 第3章高并发相关JVM与JDK新特性案例讲解 本章讲解JVM的底层模型,并介绍JVM对解决高并发问题提供的支持。最后为了让读者能更好地理解本书中的案例代码,还会阐述JDK 8中新增的Lambda和Stream等新特性的使用。 第4章实战解析多线程并发包 第5章分布式网络编程核心技术-远程调用 当单服务器的负载超限时,通常会搭建集群服务或将系统拆分成分布式的结构

百度发布首个大规模隐变量对话模型PLATO

冷暖自知 提交于 2020-10-23 10:31:48
百度于去年10月公布的基于飞桨开源深度学习平台开发的通用领域对话生成预训练模型PLATO,相关论文最近已正式被ACL 2020接收。 PLATO是业界首个基于隐空间(Latent Space)的端到端的预训练对话生成模型。据悉,该模型利用隐向量来表示对话的潜在方向,从而达到对话内容丰富度和流畅度的显著提升。针对具体的对话任务,基于PLATO可以用少量数据训练得到非常流畅的对话系统。 论文名称: PLATO:Pre-trained Dialogue Generation Model with Discrete Latent Variable 论文地址: https://arxiv.org/abs/1910.07931 预训练模型及代码: https://github.com/PaddlePaddle/Research/tree/master/NLP/Dialogue-PLATO 引言 研发开放领域(Open-Domain)的对话机器人,使得它能用自然语言与人自由地交流,这一直是自然语言处理领域终极目标之一。 对话系统的挑战非常多,其中有两点非常重要,一是大规模开放域多轮对话数据匮乏; 二是对话中涉及常识、领域知识和上下文,因此在对话回复时,存在“一对多”问题。 比如这个例子“李雷:今天好冷啊,外面风好大。”韩梅梅Bot可以怎样回复李雷呢? A.是啊,天气预报说今天气温骤降10度呢。

自然语言处理动手学Bert文本分类

泪湿孤枕 提交于 2020-10-23 08:31:33
Bert作为目前自然语言处理领域最流行的技术之一,文本分类作为自然语言处理领域最常见的任务之一,Pytorch作为目前最流程的深度学习框架之一,三者结合在一起将会产生什么样的花火,本套课程基于Pytorch最新1.4版本来实现利用Bert实现中文文本分类任务,延续动手学系列课程风格,全程手敲代码,跟着老师一行一行代码撸起来。 来源: oschina 链接: https://my.oschina.net/u/4324861/blog/4685262

SNE-RoadSeg:一种基于表面法向量提取的道路可行驶区域分割方法

一个人想着一个人 提交于 2020-10-23 08:14:56
   本文解读的是论文《SNE-RoadSeg: Incorporating Surface Normal Information into Semantic Segmentation for Accurate Freespace Detection》,论文作者来自 加州大学圣地亚哥分校和 香港科技大学机器人学院 。 该论文解读首发于“AI算法修炼营”。   作者 | SFXiang   编辑 | 青暮       这篇文章收录于ECCV2020,是一篇关于无碰撞空间区域分割的文章,整体效果很不错。最主要的核心思想是在表面发现估计器的设计,在得到表面法线后将其用于分割网络的编码器环节,并在特征融合部分,借鉴了DenseNet的思想,进行密集连接。网络的计算量和参数量文中并没有比较,应该做不到实时。   论文地址:https://arxiv.org/abs/2008.11351   代码地址:https://github.com/hlwang1124/SNE-RoadSeg   Freespace无碰撞空间检测是自动驾驶汽车视觉感知的重要组成部分。近年来,数据融合data-fusion卷积神经网络CNN架构大大改善了语义场景分割算法的性能。通常,可以将自由空间假设为一个地面平面,在这个平面上,各点具有相似的表面法线。   因此,在本文中,首先介绍了一个名为表面法线估计器(