人工智能(Artificial Intelligence,AI)是指人类制造出来的机器所表现出来的智慧,它从早期是以更聪明的机器手臂取代工厂里的劳工,到机器学习过滤垃圾邮件,分析我们的行为并且投放相关的广告,近来年由于深度学习技术的突破,无人车即将取代司机,甚至靠脑力的白领工作都岌岌可危,到底什么是机器学习?什么又是深度学习呢?
我们常常听到的“机器学习”(Machine learning)是属于人工智能的一部分,另外“深度学习”(Deep learning)又属于机器学习的一种,如下图所示。
▲ 人工智能、机器学习、深度学习的范围。(参考:nVidia)
机器学习(Machine learning)
顾名思义机器学习就是要让机器(电脑)像人类一样具有学习的能力,要了解机器学习,就先回头看看人类学习的过程,人类是如何学会辨识一只猫的?大致上可以分为“训练”(Training)与“预测”(Predict)两个步骤:
训练(Training):小时候父母带着我们看标注了动物名字的图片,我们看到一只小动物有四只脚、尖耳朵、长胡子等,对照图片上的文字就知道这是猫,如果我们不小心把老虎的照片当成猫,父母会纠正我们,因此我们就自然地学会辨识猫了,这就是我们学习的过程,也可以说是父母在“训练”我们。
预测(Predict):等我们学会了辨识猫,下回去动物园看到一只有四只脚、尖耳朵、长胡子的小动物,我们就知道这是猫,如果我们不小心又把老虎当成猫,父母会再次纠正我们,或者我们自己反复比较发现其实老虎和猫是不同的,即使父母没有告诉我们,这个是我们判断的过程,也可以说是我们在“预测”事物。
机器的训练与预测
要让机器(电脑)像人类一样具有学习与判断的能力,就要把人类大脑学习与判断的流程转移到机器(电脑),基本就就是运用数据进行“训练”与“预测”,包括下列 4 个步骤:
获取数据:人类的大脑经由眼耳鼻舌皮肤收集大量的数据,才能进行分析与处理,机器学习也必须先收集大量的数据进行训练。
分析数据:人类的大脑分析收集到的数据找出可能的规则,例如:下雨之后某个温度与湿度下会出现彩虹,彩虹出现在与太阳相反的方向等。
建立模型:人类的大脑找出可能的规则后,会利用这个规则来建立“模型”(Model),例如:下雨之后某个温度与湿度、与太阳相反的方向等,就是大脑经由学习而来的经验,机器学习里的“模型”有点类似我们所谓的“经验”(Experience)。
预测未来:等学习完成了,再将新的数据输入模型就可以预测未来,例如:以后只要下雨,温度与湿度达到标准,就可以预测与太阳相反的方向就可能会看到彩虹。
机器学习的分类
机器学习和人类学习的过程类似,要先进行“分类”(Classification),才能分析理解并且进行判断,最后才能采取行动,分类的过程其实就是一种“是非题”(Yes 或 No),例如:这一张照片“是”猫或“非”猫。机器学习是由电脑执行程式自行学习,一边处理大量资料,一边自动学会分类方式,就如同人类在学习一样,因此机器学习就是在进行资料处理。
机器学习的种类
监督式学习(Supervised learning):所有资料都有标准答案,可以提供机器学习在输出时判断误差使用,预测时比较精准,就好像模拟考有提供答案,学生考后可以比对误差,这样联考时成绩会比较好。例如:我们任意选出 100 张照片并且“标注”(Label)哪些是猫哪些是狗,输入电脑后让电脑学习认识猫与狗的外观,因为照片已经标注了,因此电脑只要把照片内的“特征”(Feature)取出来,将来在做预测时只要寻找这个特征(四肢脚、尖耳朵、长胡子)就可以辨识猫了!这种方法等于是人工“分类”,对电脑而言最简单,但是对人类来说最辛苦。
非监督式学习(Un-supervised learning):所有资料都没有标准答案,无法提供机器学习输出判断误差使用,机器必须自己寻找答案,预测时比较不准,就好像模拟考没有提供答案,学生考后无法比对误差,这样联考时成绩会比较差。例如:我们任意选出 100 张照片但是没有标注,输入电脑后让电脑学习认识猫与狗的外观,因为照片没有标注,因此电脑必须自己尝试把照片内的“特征”取出来,同时自己进行“分类”,将来在做预测时只要寻找这个特征(四只脚、尖耳朵、长胡子)就可以辨识是“哪类动物”了!这种方法不必人工分类,对人类来说最简单,但是对电脑来说最辛苦,而且判断误差比较大。
半监督式学习(Semi-supervised learning):少部分资料有标准答案,可提供机器学习输出判断误差使用;大部分资料没有标准答案,机器必须自己寻找答案,等于是结合监督式与非监督式学习的优点。例如:我们任意选出 100 张照片,其中 10 张标注哪些是猫哪些是狗,输入电脑后让电脑学习认识猫与狗的外观,电脑只要把照片内的特征取出来,再自己尝试把另外 90 张照片内的特征取出来,同时自己进行分类。这种方法只需要少量的人工分类,又可以让预测时比较精准,是目前最常使用的一种方式。
【延伸阅读】机器学习的种类还有增强式学习与马可夫决策过程,都是机器学习重要的观念,有兴趣的人可以参考〈知识力专家社群:机器学习(ML:Machine learning)〉。
人工神经网络(ANN:Artificial Neural Network)
人工神经网络(ANN)又称为“类神经网络”,是一种模仿生物神经网络的结构和功能所产生的数学模型,用于对函式进行评估或近似运算,是目前人工智能最常使用的一种“模型”。科学家模仿人类大脑的神经网络,提出了“赫布理论”(Hebbian theory),用来解释学习过程中大脑神经元变化的神经科学理论,突触上一个神经元向突触下一个神经元持续重复的刺激,可以导致突触传递效能的增加,也就是人工神经网络上的“权重”(Weight)。
人类大脑的“神经元”(Neural),如下图(a)所示,我们把人类大脑复杂的神经元简化成一个圆圈和一个箭号,如下图(b)所示,圆圈内的数字代表这个神经元的神经冲动强度,箭号旁的数字代表这个神经元突触传递效能,也就是“权重”,则大脑内复杂的神经网络就可以简化成人工神经网络,如下图二(c)所示,一层层的连结起来,以手写辨识数字为例,“输入层”就是我们手写的数字,“输出层”就是辨识的结果数字 0~9。
▲ 人工神经网络示意图。
【延伸阅读】机器学习的单层感知器(SLP)与神经网络模型的计算方式,都是机器学习重要的观念,有兴趣的人可以参考〈知识力专家社群:人工神经网络(ANN:Artificial Neural Network)〉。
符号与意义
如果电脑可以自行分析资料找出特征值,那就更接近我们想要的人工智能,也就是人工创造出来可以思考的电脑。这个时候电脑能够自己分析资料理解“有斑纹的马”这个特征,只要人类告诉电脑这个特征所使用的符号叫“斑马”,就把符号与它所代表的意义相互连结(接地)了!
符号“猫”或“Cat”,意义是指尖耳朵、尖眼睛、长胡子很可爱的一种动物,这些就是“特征值”。人工智能面临许多问题就是因为电脑无法自行理解符号的“意义”,而最近发展的“深度学习”已经可以让电脑自行分析资料找出“特征值”。
▲ 符号“猫”与“特征值”示意图。
深度学习(Deep learning)
深度学习(深度神经网络)是让电脑可以自行分析资料找出“特征值”,而不是由人类来决定特征值,就好像电脑可以有“深度”的“学习”一样。而深度学习使用多层神经网络,理论上隐藏层愈多自由度与精确度愈高,但是结果相反,因为误差反向传播(EBP)很难传递回更上一层的神经元,就好像主管经由员工提供的资讯进行判断,正确的资讯是由下(员工)向上(主管)提供(反向传播),而修正时由上(主管)向下(员工),当阶层太多时效果不佳。因此深度学习不但使用多层神经网络,同时使用“自动编码器”(Autoencoder)来进行“非监督式学习”(Un-supervised learning)。
Google 猫脸辨识计划
Google 公司 2012 年做了一个实验,由 YouTube 的影片中取出 1,000 万张图片,使用具有 100 亿个神经元的深度学习神经网络,由 1,000 台电脑(16,000 个处理器),运算 3 天才完成。
- 将 1,000 万张图片输入深度学习神经网络,经由数层神经网络使电脑自行学习找出“特征值”而能够辨识“对角斜线”,如下图(a)所示。
- 再经由数层神经网络使电脑能够辨识“人脸”,如下图(b)所示,以及“猫脸”,如下图(c)所示,形成抽象度愈高的“特征值”,最后经由特征值理解这个东西的“意义”。
- 此时只要我们告诉电脑具有下图(b)这个特征值的东西称为“人”(符号);具有下图(c)这个特征值的东西称为“猫”(符号),电脑就能够将符号与意义产生连结了!
- 未来只要我们输入其他照片,电脑就能够自动判断这个是人,那个是猫,这个学习的过程其实和人类学习过程是类似的。
▲ Google 猫脸辨识计划深度学习神经网络示意图。
【延伸阅读】深度学习的计算过程有些复杂,但是理解之后就会对这个未来深具发展潜力的人工智能模型很有感觉了,有兴趣的人可以参考〈知识力专家社群:深度学习(DL:Deep Learning)〉。
(首图来源:shutterstock)
延伸阅读:
- 【数位革命】从算法到人工智能,浅谈计算机的真正威力
- Geffory Hinton:深度学习进入平台期?不,深度学习需要的是“砍掉重练”
- 气象卫星巨量资料吃不消,科学家找 AI 帮忙
- 未来 3 至 5 年,哪个方向的机器学习人才最缺?
- 算法新应用,机器学习无人机帮忙数动物