深度学习所需的数据
成功应用深度学习的最低数据要求取决于您想要解决什么问题。与MNIST和CIFAR-10等基准数据集不同,现实世界中的数据比较杂乱、各有差异且不断演变,而应用型深度学习解决方案必须处理这样的数据。
数据类型
深度学习可以应用于任何类型的数据。具体的数据类型和需要收集的数据取决于您想要解决的问题。
- 声音(语音识别)
- 文本(评价分类)
- 图像(计算机视觉)
- 时间序列(传感器数据、网页活动)
- 视频(动作检测)
应用案例
深度学习几乎可以解决任何机器感知方面的问题,包括数据的分类、聚类及预测。
- 分类:这幅图像是一匹马;这封电子邮件看起来像是垃圾邮件;这笔交易是欺诈
- 聚类:聚类与分类有些相似。这份文档大概是用户X在找的文件
- 预测:根据网页日志活动判断,客户A有可能会停止使用您的服务
深度学习应用于图像、视频、声音、文本等非结构化数据的效果最好。一幅图像就是一团像素,一条消息就是一堆文本。这些数据并未以行和列的方式组织起来,没有形成一个典型的关系数据库,因此人工指定这些数据的特征会比较困难。
深度学习的常见应用包括情感分析、图像分类、预测分析、推荐系统、异常检测等。
如果不清楚深度学习是否适合您的应用领域,请与我们联系。
数据属性
若要成功应用深度学习,您的数据就需要具备一些特定属性。
相关性
用于定型神经网络的数据必须与问题直接相关,即定型数据必须与用户希望处理的实际数据尽可能相似。神经网络在诞生之初都是白纸一张,它们只会学习您教授的信息。如果您想要让神经网络解决的问题与某些特定类型数据相关,例如闭路电视视频,那就必须用闭路电视视频或者其他类似的数据来定型网络。定型数据应当与网络在投入生产后将要分类的实际数据保持相似。
正确分类
如果客户想要构建一种对数据进行分类的深度学习解决方案,那么就需要一个已标记的数据集,即有人需要为原始数据添加标签:“这幅图像是一朵花,那幅图像是一只熊猫。”投入一定的时间并加以调试,这样的定型数据集就能教会神经网络如何对从未见过的图像进行分类。
格式化
神经网络“吃进”向量形式的数据,“吐出”有关这些向量的判定结果。所有的数据都需要向量化,而向量在输入神经网络时应当具有相同的长度。以图像为例,若要保证向量长度一致,所有图像就得有相同的尺寸(一样的高和宽)。所以有时会需要调整图像尺寸。这一过程被称为数据预处理。我们提供的工具DataVec可以很好地完成这项工作。
可访问性
数据应当存储在容易访问的位置,例如本地文件系统、HDFS(Hadoop文件系统)、或者AWS上的S3存储桶等。如果数据存储在许多彼此不相连接的数据库中,那么就需要建立数据加工管道。构建深度学习解决方案时,可能会有一半的时间用于建立数据加工管道和数据预处理。
最低数据要求
问题的复杂度不同,最低数据要求也会有所区别,但通常可以先考虑准备10万个实例的数据(包括所有类别)。
如果采用已标记数据(即数据已分为A、B、C、D等类别),最好确保数据集中各类数据的比例一致,每种标签有2.5万个实例,即A类有2.5万个实例、B类有2.5万个实例,以此类推。
后续步骤
如果您仍在考虑能否为自己的企业建立深度学习解决方案,请参考这一问题列表或者与我们联系。该列表给出了您在生产中部署深度学习解决方案时需要考虑的问题。