走向无监督学习(无监督学习概述 - 告别启蒙阶段的深度学习)
1 之前的人工智能学习(监督学习 supervised learning)
相信所有人在学习人工智能的时候,都经过了几个阶段,从一开始简单的数据处理,到机器学习简单算法,然后再到深度学习。在长时间的学习积累后,大家可能会有一种感受,就算法本身来说,并不是越复杂就一定越好,并不是说解决一个问题时,你运用到了神经网络的知识,就一定要比一般的机器学习高端,最适合的才是最好的。
另一方面,在过去的学习过程中,可能不少人都有这样一种感受,觉得我们做的事情都有一个大前提,那就是我们事先已经知道了答案,比方说分类问题和回归问题,我们事先已经知道了猫是什么样的,狗是什么样的,然后我们就给数据创建训练集,测试集,设定好标签,通过我们现有的认知来训练计算机,像这样的机器学习方式就叫做监督学习。
监督学习最大的好处就是,一切都是已知的,通过这些模型的建立,我们就能非常容易地对事物进行判断和预测。但是这需要投入大量的人力进行前期的数据处理和标签制作,在这个过程中,很容易掺杂大量的感情因素,也可能会出现人的工作疏忽,导致送给机器的数据或数据标签本身就有问题(本人就遇到过,有些狗长得和猫很像啊)。
但是,在现实生活中,有很多需要处理的事情,我们事先其实并不知道答案,无法告诉计算机什么才是正确的,但是计算机经过训练后却可以达到人类的要求。
像这种事先并没有标准答案(没有标签)的训练方式就叫做无监督学习 。
2 人工智能学习的新阶段(无监督学习 unsupervised learning)
相信不少刚接触人工智能的同学都会有一个疑问,如果我们事先不知道答案,就没有办法给数据设置标签,那计算机该怎么学习?
其实在无监督学习中,数据也是有标签的,而且数据的标签就是数据自己。
无监督学习的思路是,将一组数据送给一个神经网络后,得到一个输出,然后再将这个输出送入另一个网络,希望输出结果为最原始的输入数据。
我们平时在做监督学习的分类问题时,一般要分层多少类,输出就是一个一乘几的数组,但是现在的情况下,由于没有标签,输出结果的维度就和原始数据保持一致,希望能尽可能的把输入数据给还原出来。
其中,中间的那个输出被称为“颈部neck()”。neck的维度没有规定大小,但是一般来说我们会进行降维操作,而且降维后的维度一般是二维或三维,这样做的目的在于比较容易做出可视化效果(三维以上长什么样画不出来啊),而且这样的可视化能相对完整地保留语义。
像这种把自己自动作为输出结果的标签的做法叫做Auto-Encoders。
3 如何训练
在看明白原理之后,有些同学可能会觉得很奇怪,这种无监督学习具体的应该怎么训练。
大家一定要搞明白,我们看一种思路能不能实现的本质是看这种loss的方程到底能不能求导。
之前,我们在做监督学习的时候,用的是下面这个方程,也就是想办法让输出结果和实际结果之间的差距尽可能缩小。
这个方程在无监督学习过程中也一样可以使用,但意义变成了希望输出结果和和原来的输入结果之间的差尽量小,差距越小就说明还原得越成功。
但是,如果我们拿到的图像是黑白的,也就是说,如果我们可以把一张图片转化为黑白图片,每一个像素点非零即一,那么,我们就可以使用下面这个公式:
这个公式里面,如果原图中原图的某一个像素如果是0,就会有一项消掉。剩下的就是比较判断出来的这个像素点是0或1的概率(概率只可能是0到1之间),让这个方程的结果越小,就说明训练出的模型越成功。
不管你用的是TensorFlow还是Cafe,你只要确定一个loss的算法是可导的,后面的求导过程交个工具就可以了。
4 降维
在出现深度学习之前,大家使用的降维方式是PCA。
PCA的原理其实很好理解。大家知道,高维空间的线性投影就是一个低维空间,依据这个方法,早期的计算机科学家得到了最初的降维效果。但是我们知道,自然界的大多数数据其实不可能是线性关系的,这样的投影方式导致了大量的有效信息缺失。
而Auto-Encoders是神经网络的做法,这里面的激活函数发挥了非常重要的作用,使得原有信息得到了极大程度的保留。
比方说,上面这张图,中间的那一行是Auto-Encoders的还原效果,相较于原图(第一行),确实丢失了一些信息,但是效果比第三行的PCA明显要好很多。
5 结语
这里对无监督学习做一些简单的介绍,其实也是为了帮自己做一点概括可梳理,之后的一些文章可能会主要转向非监督学习,之后会在实际的使用层面做一些比较详细的记录。
走向无监督学习(无监督学习概述 - 告别启蒙阶段的深度学习)相关推荐
- 自监督学习,如何从数据困境中拯救深度学习?
2020-02-03 05:35:08 作者 | Thalles Silva编译 | 翻译官balala 编辑 | 丛末 大规模标注的数据集的出现是深度学习在计算机视觉领域取得巨大成功的关键因素之一. ...
- 告别2019:属于深度学习的十年,那些我们必须知道的经典
选自leogao.dev 作者:Leo Gao,机器之心 参与:一鸣.泽南.蛋酱 2020 新年快乐! 当今天的太阳升起时,我们正式告别了上一个十年. 在这十年中,伴随着计算能力和大数据方面的发展,深 ...
- Supervised learning/ Unsupervised learning监督学习/无监督学习
[机器学习]两种方法--监督学习和无监督学习(通俗理解) [机器学习] : 监督学习 (框架) 有监督学习与无监督学习的几大区别 目录 Supervised learning 监督学习 Unsuper ...
- 基于监督学习+自监督学习的智能抠图,精确到发丝 | CVPR 2020
来源 | AI算法与图像处理(ID:AI_study) 华盛顿大学的研究者最近发表的论文在CVPR 2020提供了一个新的和简单的智能抠图方法.你可以在家里做这些日常设置,使用固定或手持相机.我们的方 ...
- 【深度学习】生动分析半监督学习与负相关学习算法
[深度学习]生动分析半监督学习与负相关学习算法 文章目录 1 半监督学习1.1 定义1.2 半监督深度学习1.3 GAN1.4 应用 2 深度负相关学习算法2.1 负相关2.2 通俗解释 1 半监督学 ...
- 基于监督学习+自监督学习的智能抠图,精确到头发丝 | CVPR2020
点击上方"AI算法与图像处理",选择加"星标"或"置顶" 重磅干货,第一时间送达 因为现在换了个公司,996,而且住的比较远,平时都是7点多 ...
- 半监督学习深度学习算法
该文章主体摘自知乎糯米稻谷的文章,对一些细节添加了自己的理解 文章链接https 半监督学习 啥是半监督学习(Semi-supervised Learning) 1.简单自训练(simple self ...
- 深度学习概述教程--Deep Learning Overview
引言 深度学习,即Deep Learning,是一种学习算法(Learning algorithm),亦是人工智能领域的一个重要分支.从快速发展到实际应用,短短几年时间里, ...
- 从语言学到深度学习NLP,一文概述自然语言处理
来源:萤火虫沙龙2 概要:自然语言处理(NLP)近来因为人类语言的计算表征和分析而获得越来越多的关注. 自然语言处理(NLP)近来因为人类语言的计算表征和分析而获得越来越多的关注.它已经应用于许多如机 ...
最新文章
- Oralce Plsql 中文显示乱码问题无需修改注册表完美解决
- PyCharm 快捷操作
- bzoj 1596 电话网络
- Java进阶:SpringMVC
- CCF 201809-2 买菜
- tp6 支付宝沙箱支付
- EXCEL中的定位条件(含快速删除空行,定位图片、文本框等对象)
- Hub设备、网桥、二层交换机设备概述
- DoIP节点连接状态管理
- win10默认头像路径
- mysql常用表名大全_MySQL常用系统表大全
- 女人需谨记的十六条健康戒律
- shader TileMap html的Canvas绘图 缓动/反弹动作 unity
- 嵌入式 独立看门狗实验
- Sqlite3安装使用(基于Windows 10)
- ftrace跟踪内核_ftrace追踪内核函数调用
- .NET获取快递100提供的查询快递信息的方法
- C语言 - 跳舞配对问题
- Android png转webP报错
- 16位CRC循环冗余校验码生成函数