专业词汇
著名的桥水基金创始人Ray Dalio把人比作一部部机器,以及细胞、自然界的生物,也是作为世界中一个个机器在运行。而现实中,人工智能就是我们人类制造的机器,那么我们人类一出生就有的这些直觉,机器可不可以做到呢?判断出中文中的一些词义在某些语境下是褒义还是贬义、识别出视频中某张快速飞过的脸是谁,人工智能能不能做到呢?
对于这些问题,《Deep learning》一书探讨了相关的解决办法。
那么,人之所以有这些直观的判断,除开某些生物遗传已经设定好的习惯以外——譬如人不会一天睡24个小时也不会冬眠,其他的,很多判断和决策都是基于大量的后天认知所习得的,需要记住非常多的知识。那么这个过程,一些人工智能项目也尝试模仿,比如人工智能的知识库(Knowledge Base) 方法。其中最著名的一个项目Cyc (Lenat and Guha, 1989),其中几乎都是靠人类手动去设计的数据库,人们设法能像机器描述这些规则,但是,这个过程不仅费力且不讨好,Cyc连一个早上剃胡子的人都不能理解,并误以为剃胡子的那个人不是人。因为在Cyc的所知中,人体的结构中是没有剃胡子的电动剃须刀这种电气零件的,所以他觉得正在剃胡子的那个人含有剃须刀这种电器,那么便不一定是人类了。
经过这些类似的实践,我们可以发现,只有当机器能够自动地去获取的知识,并根据数据集去学习,才能让人们更加省力,所以必须采取与上面那种方法所不同的方法。在此,开始涉及一些人工智能领域的专业术语,比如深度学习,机器学习,表示学习等,都是人工智能工具进行学习的某种方法或途径。而逻辑回归(logistic regression)以及朴素贝叶斯(naive Bayes)都是简单的机器学习算法。我会用尽量简单易懂的语言来解释这些看似抽象且枯涩难懂的概念,因为《Deep learning》这本书面向的读者主要是计算机专业相关的程序员或者学生,并且有些人已知一些相应的数学概念:比如微积分、线性代数这些,或者已知某些程序语言:比如python等等。
机器学习(machine learning)是什么想必大家已早有耳闻,百度百科对机器学习的定义如下:
总之,从宏观上讲,机器学习就是从机器走向人类,如何让机器更接近于人类、更相似于人类,让机器能从过往的这些经验中学习,并做出和人的行为相似的判断和决策。
这里还需要引入机器学习领域里表示(representation)的概念,也许是这个概念过于简单,我暂时在本书已阅读过的文本中没有找到相关的解释,并且,这个词在中文里的意思是动词。但显然,在这里,“表示”并不仅仅是一个动词,而在百度百科上是这么解释的:表示是指通过模型的参数,采用何种形式、何种方式来表示模型的输入观测样本X。而表示学习,一般也被称作特征学习或表征学习。
由此,我们可以不用太过于纠结“表示”的意思,重要的是了解表示学习是什么:表示学习是学习一个特征的技术的集合。简单地说,就是让机器(AI系统)来自己提取特征,自己提取最基础的需要被训练的特征集,并且尽量减少人工干预手动设计这些特征。众所周知,假如你想让AI系统完成一个复杂的任务,在这之前若是你手动去设计这些需要被AI系统学习的特征的话,需要耗费研究人员大量的时间,有时候甚至是几十年。
那么,可能有人会疑惑,特征又是什么呢?特征这个术语在很多文章里都有提及,举个例子说明一下,我们要判断某个孕妇是否适合剖腹产,不可能是由AI系统来直接给孕妇扫描下身体然后直接说适不适合是吧?而一般情况下,AI系统需要医生来提供一些与孕妇待产有关的信息,比如说有没有子宫疤痕。那么这些信息就是叫做特征,它们可以表示患者的一些情况。
表示学习(representation learning)算法的典型例子是自编码器(autoencoder),它由编码器(encoder)函数和解码器(decoder)函数组成,这是本书中给出的自编码器的运行原理:
假设有个任务是识别出一张照片中的车,我们可以拿车轮作为一种特征标识来判断是否是一台车。但是,并不是每张照片中的车轮都是一样的,由于照片中太阳的光线不同以及照射在车轮上的阳光不同、汽车的颜色不一,都有可能改变车轮的显示图像。那么影响车轮观测的这些因素,都叫做变差因素(factors of variation)。这些因素一般很有可能不能如像素一样直接被观测到,而是需要去分析判断,所以有时候提取这些信息其实难度很大,几乎和获取表示的难度一样大。由此,衍生出了深度学习(deep learning),深度学习通过简单的表示来表示复杂的表示。
图片来自https://weibo.com/u/1641824974?is_hot=1
图片来自https://wx1.sinaimg.cn/mw600/006TBgxWly1g70pzn23vaj30b408cwet.jpg
图片来自https://wx4.sinaimg.cn/mw600/006TBgxWly1g6xr5wuqtpj30ax05mgo3.jpg
以上三张图片均来自于网络,侵删
那么,很多读者到此可能会有些疑惑,深度学习、表示学习、机器学习这些词的区别是啥呢?在人工智能领域,机器学习是其中的一部分,而表示学习又是机器学习中的一部分,深度学习则又是表示学习中的一部分。它们之间可以说是一种包含与被包含的关系,在它们独自的算法中,也有类似的处理流程,但从输入到输出的整体处理流程又不一样,而深度学习是一种特定类型的机器学习。
有关深度学习的详细运作以及解释将在后面的一些章节中展示出来,此篇属于深度学习笔记连载篇的第二篇。而我大概翻阅了一下整本书,还真有一大部分的讲的是数学。(手动微笑,终于知道为什么有些人说学人工智能最后就是学数学了吧)