我们从2011年坚守至今,只想做存粹的技术论坛,记录你的技术足迹,有空就回来看看。  由于网站在外面,点击附件后可能要20秒才弹出下载,请耐心等待,勿重复点击

 找回密码
 立即注册
搜索
查看: 1118|回复: 2

[技术文章] 从工程师角度,目前的人工智能到底是怎么回事

[复制链接]
  • TA的每日心情
    奋斗
    昨天 08:47
  • 签到天数: 19 天

    [LV.4]偶尔看看III

    1万

    主题

    8126

    回帖

    4万

    积分

    三级逆天

    积分
    43805

    终身成就奖特殊贡献奖原创先锋奖金点子奖优秀斑竹奖宣传大使奖

    发表于 2017-10-31 14:48:09 | 显示全部楼层 |阅读模式
    人工智能现在火的一塌糊涂,火到许多做我们电子工程这一行的朋友都想要刷题转行,伴随着这股火热的同时也有许多朋友疑惑不解,到底这波人工智能能为我们的生活带来什么变化?沿目前的技术发展下去,真的很快人工智能就会像Elon Musk所说威胁到人类吗?今天和大家从工程师的角度分析一下,目前所说的人工智能到底是怎么回事。
    今天的人工智能系统有何不同?
    目前的人工智能系统,首先是一台机器,有输入,有输出。这么一说,瞬间就没这么玄乎了吧!比如说目前在中国许多城市已经铺开的人脸识别打卡系统,其输入就是一张由摄像头采集到的照片,而其输出就是人脸相关信息——如果照片中没有人脸,就没有输出;如果发现了人脸,就把检测到的人脸打个框,如果检测到的人脸能和数据库里面的员工照片对得上,比如说下图中的检测到范冰冰来打卡了,就“哔”一声,表示你范冰冰已经被识别而且打卡成功!

    继续往下看,那么现在使用所谓“人工智能”的人脸识别和之前的技术有什么区别?这位读者大哥可能要说了,记得很久以前数码相机上也能做人脸检测啊!那今天的人工智能和几年前的技术又有啥区别呢?

    几年前的人脸识别技术

    这个区别值得好好讲一讲。在之前的机器视觉领域,为了完成人脸识别之类的任务,首先会用图像滤波器去提取图像中的特征,然后根据特征的分布再去分析是否检测到了人脸。在传统的方法中,这些特征都是事先定义好的,例如Haar,HoG等等,一种看起来不太适合这种任务就换一种特征,如果现有的滤波器提取的特征都不行那就想想能不能修改一下这个特征的提取方式以更适合,这种传统的方法叫做“特征工程”,即feature engineering。

    这一招在其他信号处理中也很常见,其实质就是把信号转换到另一个域去分析,比如我们一般会把信号用傅立叶变换转换到频域看看特征,或者傅立叶变换效果不好我们会试试小波分析,等等。
    然而,特征工程在许多领域,特别是图像识别领域的效果渐渐遇到了瓶颈,因为人设计的特征往往不够好。那么怎么办呢?这时候,目前最火的神经网络机器学习恰好能解决瓶颈。神经网络机器学习的本质是,每一层神经网络都会提取特征并送入下一层网络继续处理,但是其比较特别的地方是,特征并不是实现定义的,而是通过训练得到的!训练的时候,送进去大量数据,并且把神经网络的输出结果与正确答案比对,并动态调整每一层神经网络的特征提取方法(例如滤波器的权重)。这样,通过训练的方法,就可以摆脱特征工程的局限性,让神经网络自动找到训练数据集上最优的特征提取办法。可以想象,当训练数据集足够大的时候,就可以近似地说神经网络找到了针对该应用所有数据的通用最优特征提取方法。这也是目前机器学习最牛的地方:随着数据越来越多,算法会越来越智能。从另一个角度来说,数据也是目前人工智能最重要的资源!
    人工智能实现的就是基于统计的自动化系统
    我们再从另一个角度来看这个问题。在过去,我们工程师解决问题都是通过第一原理,使用确定性逻辑。比如说,你要设计一个自动控制湿度的系统,你需要湿度传感器,当湿度低于某个阈值时,打开加湿器;当湿度高于某个阈值时,则关掉加湿器。这一切的逻辑规则都是确定的,完全处于设计这的掌控之下。这就相当于传统的“特征工程”方法,一切都是确定而可理解的。
    当然这么做会有极限,因为确定性逻辑系统需要你对于任务的细节有很明确的定义,但是很多任务是难以明确定义的。比如,如果让你做人脸识别,怎么做?你会说,人的脸都有两只眼睛一只鼻子一张嘴,但是如果碰到眼镜特别小的怎么办?戴口罩的怎么办?等等等等,所以说按照人的逻辑规则是很难穷尽这一切情况的。这也是确定性逻辑系统的瓶颈。而现在的基于机器学习的人工智能,就是使用了一套基于统计规律的系统。它让系统在大数据上训练出一套规则,这些规则可能不会被设计者理解,但是只要从统计的角度来说,正确率足够高,就行。就像现在机器学习实现人脸识别时,提取的特征到底都长得稀奇古怪,甚至做机器学习的人都不能理解为啥会提取出这样的特征,也不能完全理解为什么这样的特征能让神经网络工作得这么好!

    机器识别深度学习提取的特征,设计者都无法理解为什么这样的特征能让系统工作得这么好

    目前人工学习能带来新一波自动化,但是离超越人类之类的还早
    应该说,目前基于机器学习的人工智能拓展了原先的确定性逻辑系统,让机器完成一些人类无法明确定义的任务,比如人脸识别。但是,我们说来说去,这一切都是在“机器”的范畴中讨论的。而机器,从一开始发明的目的,就是为了自动化,代替人类更好地完成一些任务。可以说,机器的自动化经历了几次飞跃,从最初的机械化,到上世纪开始的电子自动化,而这次的人工智能可能会带来机器的第三次自动化飞跃。
    因此,所有关于这次人工智能浪潮的讨论,也应当围绕“智能机器自动化”这个母题。讨论“哪些人工重复工作可以被基于人工智能的机器所取代”,“有哪些新的领域可以应用大数据机器学习从而实现自动化”等等都靠谱的,但如果脱离了“智能机器自动化”而去奢谈“超人工智慧体”什么的,就没有什么意义。之前AlphaGo战胜了李世石,于是有人惊呼“人工智能要超越人类了”,其实我觉得没什么好惊讶的,机器在自己的领域从一开始就比人类强,不信你去和计算器比比开方运算计算速度和精确度,或者去和汽车比比速度。而人工智能,就只是一类新的机器而已。
    那么目前的人工智能技术比起科幻小说里面的强人工智能还缺什么?缺好多,我们先不说推理、抽象思考能力等等,就说目前用基于统计的自动化,也有很多问题。最主要的问题,就是不确定性。之前的基于确定逻辑的系统,什么时候系统会失效对于设计者来说是很清楚的,因此只要尽量不让系统工作在会失效的情况下就行。但是,对于基于统计的系统,什么时候会工作什么时候失效设计者是不清楚的,因为连设计者本身也不能完全理解训练出来的深度学习系统:即使在测试数据集上效果很好,在实际运行中也会因为这样或者那样莫名其妙的原因失效。Tesla之前的事故,就是典型的例子:据分析,自动驾驶系统把白色大卡车当成了远处的白云因此撞了上去,而这样的错误在设计验证中很难被验证到。正因为存在这样的不确定性,目前的人工智能系统在对于可靠性要求较高的场合可以减少人的工作量,但是却不能完全代替人。比如说,如果对于人脸识别的要求很高,那么人工智能人脸识别可以做的是把原来需要5个人的前台减少到1个人,因为人工智能可以完成绝大多数的人脸识别任务;然而,那最后一个人却不能被完全替代,因为归根到底还是需要有一个人在那边把关,防止人工智能系统出错。
    人工智能时代,将会有电子工程师的一片天
    人工智能可以大大增加机器的自动化程度,但是自动化的实现方式并没有区别,仍然是基于电子器件。因此,电子工程在人工智能时代不会被淘汰,反而会发挥更大的作用,因为目前基于冯-诺伊曼式经典架构的处理器系统在未来的人工智能系统中是否需要做改动才能实现最优效率还有争论,许多大师级人物(如David Patterson,John Hennessy等)都认为异构计算将会成为未来的主宰架构,所以人工智能时代,还有许多事等着电子工程师去做!
    回复

    使用道具 举报

    该用户从未签到

    7

    主题

    222

    回帖

    0

    积分

    二级逆天

    积分
    0

    终身成就奖原创先锋奖

    QQ
    发表于 2017-10-31 16:36:31 | 显示全部楼层
    人工智能还有很多路要走啊
    回复

    使用道具 举报

    该用户从未签到

    3

    主题

    614

    回帖

    0

    积分

    二级逆天

    积分
    0

    终身成就奖

    QQ
    发表于 2017-11-1 07:56:04 | 显示全部楼层
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

    本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

    平平安安
    TOP
    快速回复 返回顶部 返回列表