使用Caicloud TaaS 平台落地深度学习算法实战
摘要
人工智能与深度学习已经成为一个众所周知的概念,然而如何将深度学习技术落地到具体的业务场景却是一个比较模糊的事情。在本次讲座中,我们将展示如何通过 Caicloud TensorFlow as a Service (TaaS) 公有云服务来实现循环神经网络,并将之运用于股票预测的全过程。
嘉宾演讲视频及PPT链接:http://suo.im/4bWxm5
2012年始深度学习长足发展
通过我们与客户的交流,大家其实已经对深度学习这个概念越来越关注了。同时也发现了一个比较困难的问题,就是怎样将深度学习落地。这对于企业来说是一个最大的问题。
深度学习并不是一个新的概念,这个概念背后的技术其实在五六十年代已经出现了,而直到2012年才逐渐走入大众视野。
深度学习的优势
深度学习具有多层复杂特征的提取优势。当计算机看到的是一个个像素的时候,无法判断一个图片是什么。但如果能把不同的像素以一种自动的方式结合在一起,这样就能够帮助我们去解决在复杂场景下的多维特征,尤其是非结构数据场景。另一个则是大数据量的优势。
TensorFlow脱颖而出
使用深度学习一定要选择一个工具。99%的深度学习用户仅仅只是想使用深度学习,并不想了解其中的模型、算法等等,只想用深度学习来解决自己的问题。对于这样的人群,我认为TensorFlow就是一个非常合适的工具,它能够满足这样的需求。
如果要做自然语言处理,目前学术顶级的自然语言处理专家都在用Torch。自然语言处理非常重要的一个性质就是它的计算图是不稳定的,现在TensorFlow无法解决这个问题,Torch可能会是一个更好的选择。
对于不需要对深度学习进行深入研究的99%的用户来说,TensorFlow是一个通用的工具,在遇到问题的时候能更快地得到解答。
TensorFlow-as-a-Service (TaaS)
我们是一个专门做TensorFlow的公司,通过上图可以看到我们对于TensorFlow的封装做得更深一层,我们的目标全部是以TensorFlow机器学习的项目为核心。
循环神经网络
大部分人在使用神经网络的时候只会画最简单的神经网络,用那种神经网络构造出来的结构模型相对比较少。在做自然语言处理的时候,还是循环神经网络使用得比较多。
LSTM 结构
cell = rnn.BasicLSTMCell(
FLAGS.rnn_hidden_nodes,
state_is_tuple=True)
init_state = cell.zero_state(batch_size, dtype=tf.float32)
output_rnn, final_states = tf.nn.dynamic_rnn(
cell,
input_rnn,
initial_state=init_state,
dtype=tf.float32)
以上是原生态TensorFlow的一套代码,定义了每一个循环网络的结构是什么,然后把它定义为一个循环神经网络就可以了。
股价预测
上图中的数据都可以从Yahoo Finance下载到,从1993年到2017年的SPY股价数据。通过这样的数据,我们如何完成深度学习并预测股价,包括怎样来使用才云的TensorFlow Services。
https://github.com/caicloud/taas-examples这是我们的一个开源的代码库,把所有的TensorFlow examples都放在这里面,希望大家可以一起来参与维护我们的这个代码库。
今天的分享就到这里,谢谢大家!
- 状态机的实现探讨
- Docker入门实战(二)——Docker镜像操作
- 使用强大的 Mockito 来测试你的代码
- java学习手册-CentOS 6.3(x86_32)下安装Oracle 10g R2
- Docker入门实战(三)——用Dockerfile构建镜像
- C++中消息自动派发之二 About IDL解析器
- C++中消息自动派发之三 About JSON Encode
- Linux管道命令
- Linux数据流重定向
- C++中消息自动派发之四 使用IDL构建Chat Server
- Linux Shell(二)——Shell的环境配置
- 支持插件的消息中间件【msg broker with plugin】
- Linux Shell(一)——Shell变量
- 智能指针shared_ptr【无锁设计基于GCC】
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- MySQL优化INSERT的性能
- PHP在函数体中传递与接收参数
- 使用Arraylist将数组中元素随机均等乱序分为N个子数组
- PHP中abstract 和 interface的区别
- PHP5中的魔术方法
- 一起来学演化计算-matlab基本函数randn,rand, orth
- PHP关键字this指向当前对象指针
- 一起来学matlab-matlab学习笔记8 基本绘图命令_4 LineSpec线条设定
- PHP中的static静态变量的使用方法详解
- 一起来学matlab-matlab学习笔记8 基本绘图命令_6 三维绘图
- 一起来学matlab-matlab学习笔记8 基本绘图命令_5 初级二维绘图/交互式绘图
- PHP实现页面跳转的几种方法
- 一起来学matlab-matlab学习笔记9 高级绘图命令_2 图形的高级控制_视点控制和图形旋转_色图和颜色映像_光照和着色
- 一起来学matlab-matlab学习笔记9 高级绘图命令_1 图形对象_根对象,轴对象,用户控制对象,用户菜单对象
- PHP 如何阻止用户上传成人照片或者裸照