首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

机器的深度学习究竟有多“深”?

关注并将「人人都是产品经理」设为星标

每天早 07 : 45 按时送达

每次提起深度学习,没有接触过的人会处于一种模糊臆想状态,认为其遥不可及。笔者通过简单易懂的例子摘下深度学习“高大上”的面纱,用一些简化的模型和通俗的比喻阐述其中的概念。

作者:张小喵Miu

题图来自 Pixabay,基于 CC0 协议

全文共 2698 字 10 图,阅读需要 6 分钟

—————— / BEGIN / ——————

1980年福岛邦彦提出感知机,但由于计算代价过大,并且“神经网络”这个名词听起来和生物相关,投资者们纷纷拒绝,导致未能进行实际的应用。

经过一段漫长的沉寂与暗中生长,2006年 Geoffrey Hinton 等人在《Science》杂志发表 Deep Belief Networks 的文章。

为了能更好地骗经忽悠信徒,率先使用了“深度”这个词,就此开启了深度神经网络的新时代。

深度学习的本源,其实就是神经网络的在机器学习中的应用,它是机器学习的子集,如下图:

一、机器学习

我们日常做数学题,是已知公式(规则),拿到题目(数据)去求答案;机器学习正好相反,它是给出数据和答案,需要机器去学习规则。

机器学习,尤其是深度学习,呈现出相对较少的数学理论,并且是以工程为向导的。这是一门需要上手实践的科学,想法更多地是靠实践来证明,而不是靠理论推导。

机器学习分类:

无监督式学习(回归、分类)

有监督式学习(回归、分类)

半监督式学习(聚簇)

我们用养孩子的比喻来理解机器学习。

1. 无监督式学习

孩子生出来直接散养,让孩子自己去面对世界建立礼义廉耻的价值观。

把小孩和猫咪狗狗放在一块,经过一段时间,他会知道猫和狗是不同类型的东西。但没有人为引导,他不知道“猫”“狗”这样明确的定义。

由于事物具有多面性和复杂性的特点,仅通过有限的特征进行无监督式学习,容易出现与人类期望不符的结果。例如,“长头发的人和长头发的狗”,如下图。

这种方式是把具有相似性的事物归为一类(聚簇),分离结果只能通过特征的表象,缺点是结果容易跑偏,不符合期望。

图片来源于网络

2. 有监督式学习

和无监督式学习相反,孩子出生后,虎爸虎妈手把手教学,兴趣班叠加补习班,任何事情都直接给出正确答案。

经过一系列应试教育,孩子成绩非常优秀(有监督学习的识别率普遍比无监督高许多)。但一旦遇到稍微超纲的问题,立马懵逼,这就是“过拟合”。

而且,标签的获取常常需要极大的人工工作量。所以,这种方式多用于有明确结果的数据有限的集合。

3. 半监督式学习

半监督式学习介于以上两者之间,小时候亲力亲为教导小孩,长大后让他基于已有的基本伦理和社会道德去接触大千世界。

所以,半监督式学习会有小部分已标注的训练集用于初始化学习,而留下一大部分未标注的训练数据让其自我学习。

二、深度学习

先回忆下中学的生物知识,神经反射接受信息的过程:

感受器(肌肉)

反射弧

中枢神经系统

我们识别一个人通过模糊到具体的特征,如衣着、头发、脸、眼睛、眉毛等特征,每个特征由一个神经元判断。

深度学习,就是通过一个个特征组不断学习识别出事物。

深度学习的“深”相对“浅”而言,优点是慢慢深入,前期容易筛选出有用的数据集,结果较准确。

如文章开头所说,深度学习是神经网络在机器学习中的应用。其技术定义:学习数据表示的多级方法。

也可以把深度网络看做多级信息蒸馏操作:信息穿过连续的过滤器,其纯度越来越高(即对任务的帮助越来越大),即权重越高。

权重怎么理解?

假设我们通过衣着判断性别,分为四类:穿裤子的女生、穿裙子的女生、穿裤子的男生、穿裙子的男生。通过日常经验知道,穿裙子较大概率是女生;所以资源不应该平均分配,也就是权重不同。

深度网络可以先提取“衣着”作为一层神经元的筛选,如果恰好筛选出为裙子;那么在筛选出来的集合里,我们已经可以大概率的认为这个样本90%的概率是女性了。

人会根据外界反馈调节自身的状态,深度学习也是。

在深度学习中,衡量实际与期望误差的函数称为损失函数,根据损失函数的损失值反过来优化调整权重,以达到局部最优解。

深度学习的“学习”方式

常见的深度学习模型

1. 有监督的神经网络

神经网络(Artificial Neural Networks)和深度神经网络(Deep Neural Networks),ANN&DNN

循环神经网络(Recurrent Neural Networks)和递归神经网络(Recursive Neural Networks),RNN

卷积网络(Convolutional Neural Networks),CNN

2. 无监督的神经网络

深度生成模型(Deep Generative Models),DGM

玻尔兹曼机(Boltzmann Machines)和受限玻尔兹曼机(Restricted Boltzmann Machines),BM&RBM

深度信念网络(Deep Belief Neural Networks),DBNN

生成式对抗网络(Generative Adversarial Networks),GAN

不同的深度学习模型有自身的优缺点,有的擅长处理分类任务,有的擅长处理存在前后依赖关系、有序列关系的数据,有的擅长处理格状结构化的数据等,开发会按需选择。

三、深度学习应用举例

刷资讯APP时,低俗、标题党等文章易吸引眼球,但体验差。这类内容若泛滥会严重伤害用户体验,所以对这类内容应该进行打压,深度学习可以帮上忙。

以低俗识别为例,俗即“庸俗、低俗、媚俗”,指某人某事不入流、情趣低下或微色情、low等,社会、情感、搞笑、娱乐等类别特别容易出现。低俗内容过多会影响阅读体验和流量生态的良性循环。

如何应用深度学习找出低俗内容呢?

第一步:定义标准

定义低俗和制定标准(case辅助)

第二步:设置关键词

给机器提供种子词(具有分值的关键词)+分类等特征+部分人为规则+训练集(标题+摘要+正文等文本)

种子词示例

训练集正样本示例

第三步:机器深度学习和调参

例如采用CNN(卷积神经网络),深度学习中根据损失函数调整特征权重或训练样本。

第四步:验证集的效果测评

低俗文章的识别属于二分类评估,每个评估对象有唯一的结果,YES或NO。

评估留意三大指标:准确率,精确率,召回率。

准确率:机器识别正确的样本数/样本总数(备注:正确识别包含把低俗样本识别为色情,把非低俗样本识别为非低俗两种情况);

精确率:机器正确识别出的低俗样本数总和/机器识别出的低俗样本总;

召回率:机器正确识别出的低俗样本数总和/低俗样本总数。

以上数据仅做理论说明,不做实际参考

准确率=(5000-40-11)/5000=98.98%

精确率=140/180=77.78%

召回率=140/151=92.72%

低俗样本对于大盘来说,浓度很低。所以,评估准确率没有多大意义,更主要是看精确率和召回率。

更多经典例子来自疾病试纸和验孕试纸(有兴趣的朋友可以查阅一下),所以统计的时候需要注意本体的对象。

第五步:上线或反馈badcase

当模型效果达预期(召回率和精确率呈现负相关,最佳组合可用 F Score 求得,见文末),即可上线做“苦工”。若不达预期,根据badcase继续优化。

附:F Score,[0,1],值越大表示效果越好

F1 Score:召回率和精确率同等重要

Fβ Score:召回率和精确率不同等重要

F2:召回率的重要程度是准确率的2倍

F0.5:召回率的重要程度是准确率的一半

β大于0

参考文献:

《Deep Learning with Python》[美]弗朗索瓦·肖莱 著;张亮 译

—————— / END / ——————

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191124A0EELY00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券