1 特征提取方面
-
机器学习的特征工程步骤是要靠手动完成的,而且需要大量领域专业知识
-
深度学习通常由多个层组成,它们通常将更简单的模型组合在一起,通过将数据从一层传递到另一层来构建更复杂的模型。通过大量数据的训练自动得到模型,不需要人工设计特征提取环节。
深度学习算法试图从数据中学习高级功能,这是深度学习的一个非常独特的部分。因此,减少了为每个问题开发新特征提取器的任务。适合用在难提取特征的图像、语音、自然语言领域
2 数据量
机器学习需要的执行时间远少于深度学习,深度学习参数往往很庞大,需要通过大量数据的多次优化来训练参数。
第一、它们需要大量的训练数据集
第二、是训练深度神经网络需要大量的算力
3 深度学习的应用场景
-
图像识别
-
物体识别
-
场景识别
-
车型识别
-
人脸检测跟踪
-
人脸关键点定位
-
人脸身份认证
-
-
自然语言处理技术
-
机器翻译
-
文本识别
-
聊天对话
-
-
语音技术
-
语音识别
-
4 TensorFlow的特点
4.1语言多样(Language Options)
* TensorFlow使用C++实现的,然后用Python封装。谷歌号召社区通过SWIG开发更多的语言接口来支持TensorFlow
4.2使用分发策略进行分发训练
* 对于大型 ML 训练任务,分发策略 API使在不更改模型定义的情况下,可以轻松地在不同的硬件配置上分发和训练模型。由于 TensorFlow 支持一系列硬件加速器,如 CPU、GPU 和 TPU
4.3Tensorboard可视化
* TensorBoard是TensorFlow的一组Web应用,用来监控TensorFlow运行过程
4.4在任何平台上的生产中进行强大的模型部署
一旦您训练并保存了模型,就可以直接在应用程序中执行它,或者使用部署库为其提供服务:
- [TensorFlow 服务](https://www.tensorflow.org/tfx/serving/):允许模型通过 HTTP/REST 或 GRPC/协议缓冲区提供服务的 TensorFlow 库构建。
- [TensorFlow Lite](https://www.tensorflow.org/mobile/tflite/):TensorFlow 针对移动和嵌入式设备的轻量级解决方案提供了在 Android、iOS 和嵌入式系统上部署模型的能力。
- [tensorflow.js](https://js.tensorflow.org/):支持在 JavaScript 环境中部署模型,例如在 Web 浏览器或服务器端通过 Node.js 部署模型。TensorFlow.js 还支持在 JavaScript 中定义模型,并使用类似于 Kera 的 API 直接在 Web 浏览器中进行训练。