初识TensorFlow
一、术语潜知
深度学习:深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习(将原始数据转换成为能够被机器学习来有效开发的一种形式)的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。
神经网络:(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。
实例:要对其进行预测的事物。例如,实例可以是一个网页,您希望将其分类为“与猫相关”或“与猫无关”。
标签:预测任务的答案,它可以是由机器学习系统生成的答案,也可以是训练数据中提供的正确答案。例如,某个网页的标签可能是“与猫相关”。
特征:预测任务中使用的实例的属性。例如,某个网页可能具有“包含字词‘猫’”这一特征。
特征列:一组相关特征,例如用户可能居住的所有国家/地区的集合。样本的特征列中可能包含一个或多个特征。“特征列”是 Google 专用的术语。特征列在 Yahoo/Microsoft 使用的 VW 系统中称为“命名空间”,也称为场。
样本:一个实例(及其特征)和一个标签。
模型:预测任务的统计表示法。您使用样本训练模型,然后使用模型进行预测。
指标:一个数值。也许(但不一定)可以直接得到优化。
目标:算法尝试优化的一种指标。
管道:机器学习算法的基础架构。管道包括从前端收集数据、将数据放入训练数据文件、训练一个或多个模型以及将模型运用到生产环境。
点击率:点击广告中的链接的网页访问者所占的百分比。
二、为什么我推荐TensorFlow深度学习框架
在如此多的深度神经网络框架,诸如TensorFlow、Keras、PyTorch、Caffe、Deeplearning4j中为什么我喜欢TensorFlow呢,因为它完全开源,并且有强大的社区支持,且它支持多种语言来创建深度学习模型,比如Python和R,并且有详细的文档。
1.突出的TensorFlow组件
- Tensorboard: 帮助使用数据流图进行有效的数据可视化
- TensorFlow:用于快速部署新算法/试验
2.TensorFlow可以做些什么
- 基于文本的应用:语言检测、文本摘要
- 图像识别:图像字幕、人脸识别、目标检测
- 声音识别
- 时间序列分析
- 视频分析
3.TensorFlow的主要技术特性
特性 | 描述 |
---|---|
编程模型 | Dataflow-like model(数据流模型) |
语言 | 支持Python、C++、Go、Rust、Haskell、Java、JavaScript、Julia、R |
部署 | Code once,run everywhere(一次编写,各处运行) |
计算资源 | CPU、GPU、TPU |
实现方式 | Local Implementation(单击实现),Distributed Implementation(分布式实现) |
平台支持 | 谷歌云平台,Hadoop分布式文件系统 |
数学表达 | Math Graph Expression(数学计算图表达),Auto Differentiation(自动微分) |
优化 | 共同子图消除、异步核优化、通信优化、模型并行、数据并行、流水线 |