前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >AI,深度学习和机器学习:选择最适合的方法

AI,深度学习和机器学习:选择最适合的方法

原创
作者头像
平常心
修改2021-04-21 15:50:55
6220
修改2021-04-21 15:50:55
举报
文章被收录于专栏:个人总结系列个人总结系列

一. 名词解释

AI:人工智能是一种计算机系统,经过训练后可以感知环境,做出决策和行动。

机器学习:构建自动根据数据开展学习的模型的技术。可以分为“传统机器学习” 和 “深度机器学习”。 传统机器学习

常见技术包括决策树、回归、支持向量机和集成方法。

深度学习:机器学习的一个分支,根据人脑神经通路进行松散建模。深度学习与机器学习之间的主要区别在于,这种算法不在手动选择相关特征,而是自动学习哪些特征有用处。常见技术包括卷积神经网络,循环神经网络和深度Q网络。

算法:用于训练模型执行目标操作的规则集或指令集。

模型:经过训练后可根据一组给定输入预测输出的程序。

二. 问题是什么?

Technology is the answer, but what was the question?

—— 唐纳德 P.伊利

首先要弄清楚自己要解决什么,关于深度学习而不是机器学习算法,是有一些硬性规则的,在选择时按图索骥即可。虽然单独处理一项任务更适合采用机器学习,但整改应用过程可能包含多个步骤,经过综合考量,更适合应用深度学习。

1.根据历史数据和当前数据预测

例如运用电机的实时传感器数据预测旋转机械的剩余寿命。基于相似性的剩余寿命预测示例采用线性回归

应用:预测性维护,金融贸易,推荐系统

输入:传感器数据,具有时间戳的财务数据,数值型数据

常见算法:线性回归,决策树,支持向量机(SVM),神经网络,关联规则

2.识别图像,视频和信号数据中的对象或动作

例如创建可以检测车辆的计算机视觉应用程序。 使用 Faster R-CNN 深度学习进行对象检测示例采用卷积神经网络

停车路径规划
停车路径规划

应用:高级驾驶辅助(ADAS)系统,采用对象检测,机器人,计算机视觉感知技术进行图像识别,活动检测,语音生物识别(声纹)

输入:图像,视频,信号

常见算法:CNN,聚类,Viola-Jones

3. 实地探索路线或仿真规划路线

例如执行机器人路线规划,了解抵达目的地的最佳可行路线。强化学习(Q-Learning)文件交换提交采用深度Q网络

应用:控制系统,制造机器人,自动驾驶汽车,无人机,视频游戏

输入:三角函数,物理原理,传感器数据,视频,激光雷达数据

常见算法:强化学习(深度Q网络)、人工神经网络(ANN)、CNN、循环神经网络(RNN)

4.探索趋势,揭露情感,发现欺诈或威胁

例如确定文本数据中存在的主题数。使用主题模型分析文本数据示例采用隐含狄利克雷分布(LDA)主题模型。

应用:将自然语言处理用于安全记录、市场调研或医学研究、情感分析、网络安全、文档摘要

输入:流式文本数据、静态文本数据

常见算法:RNN、线性回归、SVM、朴素贝叶斯、隐含狄利克雷分布、隐含语义分析、word2vec

5.增强图像和信号

例如通过低分辨率图像创建高分辨率图像,深度学习在单图像超分辨率上的应用示例采用极深超分辨率(VDSR)神经网络

通过低分辨率图像创建高分辨率图像
通过低分辨率图像创建高分辨率图像

应用:提高图像分辨率、音频信号去躁

输入:图像和信号数据

常见算法:LSTM、CNN、VDSR神经网络

6.根据上下文和所学例程对语音和文本命令做出响应

例如自动识别“打开”,“关闭”等语音命令,使用深度学习进行语音命令识别示例采用CNN。

应用:客户服务呼叫、智能设备、虚拟助理、机器翻译和听写

输入:声学数据、文本数据

常见算法:RNN(特别是LSTM算法)、CNN、word2vec

三. 多高的准确率?

准确率是所有机器学习和深度学习项目的关键指标。项目初期,通常集中精力实现最高准确率,其他问题(如模型内存占用或预测速度)则留待后续处理。直观地说,这种方法合情合理,先确定可以达到的最高准确率,再研究可能降低生产环节的准确率的种种限制。

一般而言,深度学习技术生成的结果的准确率要高于传统机器学习技术,因为深度学习采用的模型更复杂,模型中参数也更多,因而与数据的“契合度”更高。

如果有大量数据,和一种非常适合采用深度学习解决问题的应用场景,那可能希望优先采用深度学习技术,因为这项技术可以提供更准确的结果。

如果一味苛求准确率,很可能导致模型过度拟合。当算法与训练数据的联系过于紧密时会引发这种情况,促使无法推广应用于更大的数据集。为了从源头开始避免过度拟合,请确保提供充足的训练、验证和测试数据。

首先,使用训练和验证数据训练模型,数据需充分反映真实数据,务必掌握足够的数据。训练模型后,使用全新的测试数据检查模型是否运行良好。

过度拟合的模型无法有效处理意外数据
过度拟合的模型无法有效处理意外数据

如果模型开始过度拟合数据,对应正则化:对参数施加阈值,防止模型过度依赖单个数据点。丢弃概率:随机跳过一些数据,避免模型记忆数据集。

与现实生活极为相似,这其中存在基本常识和反复试错的因素。大部分从业者通过实验了解各种参数对准确率带来的影响,逐渐形成一种特殊的直觉。 记住:某一时刻可能接近受益递减点,届时调整模型可略微提高准确率。务必始终牢记最终目标;如有可能,还要从准确率和过度拟合危害的角度考量增量式改进的影响。

套索拟合系数跟踪图
套索拟合系数跟踪图

四. 需要解释结果?

数据科学家通常将分享和解释结果的能力称作模型可解释性。易于解释的模型具有:

  • 少量特征:通常在对系统具备一定实际了解的前提下创建
  • 透明决策流程

对于具有下列需求的很多应用而言,可解释性很重要:

  • 证明您的模型符合政府或行业标准
  • 解释有助于做出诊断的因素
  • 展现决策无偏见

如果必须能够展示算法得出结论采取的步骤,请重点关注机器学习技术。决策树很容易遵循“如果x, 则y”的布尔路径。传统统计技术,如线性回归和逻辑回归已广为接受。如果一次采用一个决策树,哪怕随机森林也相对容易解释。

五.领域知识

在选择用来训练模型的数据以及确定最重要的数据特征时,专业领域知识可能发挥作用。例如医疗研究人员希望了解大量患者数据。患者统计数据特征数不胜数,从疾病特征到DNA特性再到环境因素,纷繁芜杂。如果能重复理解相关数据,则选择认为最有影响力的特征从机器学习算法入手。如果具备高维数据,可以尝试运用降维技术(如主成分分析PCA) 来创建少量特征,以尝试改善结果。

特征选择:确保您的模型侧重于预测力最强的数据,避免因不影响决策的数据而分散精力。精准特征选择有助于打造更快速,更高效,更容易解释的模型。

如果使用监督式机器学习算法,将需要运用领域知识手动选择重要数据特征。如果掌握领域知识有限,或者数据特征多种多样,则可尝试使用自动特征选择技术,如近邻元分析

很多深度学习算法的一大优势在于,它们可以自动完成特征提取和选择人物。是希望预处理数据,但由模型自行决定最重要的数据特征。使用CNN选择特征再纳入机器学习算法,是综合运用深度学习与机器学习的一个常见例子。

信号处理工程师往往需要一维信号进行变换以进行降维。信号通常以高频传入,因而无法以原始形式处理这些数据。一种常见方法是使用频谱图一类的转换技术将一维信号转换为二维表示形式。此类变换突出信号最主要的评率。并创建“图像”,继而作为CNN输入。

六. 数据

1.数据类型

表格数据:传统机器学习技术在设计时考虑到了表格数据;因此,如果数据采用表格形式,可以执行机器学习。尽管可以设法转换表格数据以采用深度学习模型进行处理,但从深度学习入手或许并非最佳选择。

图像和视频:深度学习方法已然成为处理众多图像和视频分类问题的标准。更确切地说,卷积神经网络专用于从图像中提取特征,这些特征往往可以实现一流的分类准确性。直观地说,卷积滤波器执行的操作能够从图像中逐步提取更高级的特征,从而辨别大致差异,譬如猫与狗。

传感器和信号:传统方法是从时间和频域信号中提取特征,然后使用机器学习算法分析这些特征。最近,信号已直接传递到LSTM网络或转换为图像,进而使用卷积神经网络进行处理。小波是另一种提取信号特征的方法,采用小波散射一类的技术,如果机器学习算法一起使用,将可达到满意的效果。

文本:根据传统方法,需要通过词袋模型和归一化技术,如TF-IDF将文本转换为数值表示。接着,可运用传统机器学习技术(如支持向量机或朴素贝叶斯) 分析数值型数据。新技术直接运用循环神经网络卷积神经网络架构分析文本。在这些情况下,往往使用词嵌入模型(如 word2vec)将文本转换为数值表示。

2.标注数据

若要训练监督模型,无论机器学习还是深度学习,都需要标注的数据。如未标注数据,有些技术可以提供帮助。对于机器学习,可使用无监督学习技术(如聚类)为数据分组。接着分析这些组,了解导致组内数据点相似的因素并做出相应标注。

追溯性标注所需的大量数据可能耗时颇长。用于深度学习的标记可以理解为标注图像对象、图像或视频的每个像素,从而进行语义分割。最近,还推出了专用标注图像和信号数据的图形工具。其中的有些工具提供了很多功能,以期降低所需的手动标注工作量,如根据上一帧的标签和对象推荐视频帧标签。

MATLAB 中的Groud Truth Labeler 应用程序
MATLAB 中的Groud Truth Labeler 应用程序

如果要使用深度学习但没有太多标注数据,可考虑使用预训练网络(如 GoogleNet,ResNet-101 或 VGG-16)进行迁移学习。由于迁移学习侧重训练深度神经网络中的少量参数,因而需要的标注数据量较少。

另一种处理少量标注数据的方法是数据增强。例如,图像数据集通常会通过各种标注图像转换方法(如反射、旋转、缩放和平移) 增强训练数据。尽管增强数据可以提供更多样本,但值得注意的是,由于缺乏综合样本表示,任然可能存在误差。必须为算法提供有效的数据表示,才能做出准确的预测。

七. 硬件

通常将硬件分为两组会有所帮助:

  • 用于训练模型的硬件
  • 在生产环境中,模型要在其上运行的硬件

通常依托台式机、集群或云来训练模型。大部分深度学习模型训练采用GPU,因为GPU训练速度比CPU训练有显著提升。此外,鉴于获取GPU成本高昂,集群或云方案日渐流行,因为此类方案允许多位研究人员共用硬件。由于深度学习模型的训练时间较长(往往达数小时乃至数日),通常并行训练多个模型,希望其中某一个(或一些)模型能获得更出色的效果。如果运用大量数据训练模型,也可以使用大数据框架如Apache Spark,通过一组CPU分担计算压力。

由于深度学习模型的内存和计算需求比较高,因而通常需要使用专用硬件。 CPU Coder 支持用Intel/ NVIDIA 和ARM 优化库生成代码,创建具有高性能推理速度的可部署模型。

通常速度会受到硬件、数据复杂度和大小,使用的算法影响。如果需要快速得到结果,请先尝试使用机器学习算法。机器学习算法通常训练速度更快,所需的计算能力更低。 训练时间主要取决于训练数据中的变量和观察结果数量。简单的小数据模型几乎可以瞬间完成训练,但复杂的大数据集模型仍然需要数日才能完成训练。

深度学习模型需要一定的时间接受训练。 丰富的预训练网络和公共数据集通过迁移学习缩短了深度学习模型训练时间,但很容易低估将训练数据纳入这些网络的实际可行性。现代深度学习算法可能需要一分钟乃至几周时间进行训练,具体时间主要取决于硬件和计算能力。

八. 总结

通常选择最合适项目的算法需要遵循几项硬性规则。大部分算法都是用户通过反复试错过程在给定情况下那种最适合来做出选择。无论最终使用传统机器学习算法还是深度学习算法,使用一些对应的工具或者系统帮助大家快速使用这些技术。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一. 名词解释
  • 二. 问题是什么?
    • 1.根据历史数据和当前数据预测
      • 2.识别图像,视频和信号数据中的对象或动作
        • 3. 实地探索路线或仿真规划路线
          • 4.探索趋势,揭露情感,发现欺诈或威胁
            • 5.增强图像和信号
              • 6.根据上下文和所学例程对语音和文本命令做出响应
              • 三. 多高的准确率?
              • 四. 需要解释结果?
              • 五.领域知识
              • 六. 数据
                • 1.数据类型
                  • 2.标注数据
                  • 七. 硬件
                  • 八. 总结
                  相关产品与服务
                  机器翻译
                  机器翻译(Tencent Machine Translation,TMT)结合了神经机器翻译和统计机器翻译的优点,从大规模双语语料库自动学习翻译知识,实现从源语言文本到目标语言文本的自动翻译,目前可支持十余种语言的互译。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
                  http://www.vxiaotou.com