|
当前人工智能经济持续迅猛增长,人工智能工程师薪资水涨船高,这主要得益于深度学习技术在图像识别和语音识别上取得的重大进展,而学习神经网络是熟练掌握深度学习必须经过的一站。本文主要介绍神经网络的基本原理,快速理解原理让你可以利用神经网络做自己想做的idea,这看起来很酷,但实际上却是特别的酷!
大多数人都可以一眼看出它是504192。在我们大脑的每一个半球,都有主要的视觉皮质,它包含了1.4亿个神经元,在这些神经元之间有数百亿的接触。然而人类的视觉不仅仅包含了,而是一系列的视觉皮质,逐步进行更复杂的图像处理。
入门篇---神经元
神经网络技术是对人脑神经系统的模拟,人脑神经系统的主要组成是神经元和数目众多的突触。可以把神经元理解为包含权重的函数,上一个神经元将数据传递给它后,由这个神经元进行计算,根据计算结果,发出相应的电信号,由下一个神经元接受信号再进行计算。经过多层运算后,计算结果被抽象更高层次,最终根据多层神经元的处理,输出一个计算结果。
以上过程是神经元的基本原理,神经网络是对神经元的模仿和扩大,通过多层神经元系统,可以解决现实世界中的非线性问题。
神经网络原理篇
一个完整的神经网络主要由输入层,隐藏层,输出层组成。进行模型训练时,训练集里一条完整的实例经过预处理,变为了一组完整的数据,输入层是这组数据进入神经网络进行训练或测试的入口,在输入层,数据保持不变,但在传入下一个隐藏层之前,需要进行加权运算。
所谓加权运算,就是乘了一个权重参数。比如,一个丈母娘选择一个优秀的女婿,就有她的标准,其中,颜值占比1/10,人品占比7/10,经济实力占比2/10,以上的这几个数字就是权重。那么如果这家的闺女是个白富美,追求者达到了数千之多,无法人工一一挑选,就可以使用神经网络来完成,赋予对应参数以权重,相乘的结果就是女婿的中意指数。
线性VS非线性:
以上这个例子是一个简单的线性函数(y=1/10*x1+7/10*x2+2/10*x3)就可以算出来的,但是一般的实际问题,都不是严格的线性问题。线性可以简单理解为一条直线,一个分类问题,如果用一条直线完成分类任务,那么这就是一个线性问题,对应的解决方案就是线性模型;那么非线性就可以理解为不是直线的线---曲线,比如,如果将下图中的两种颜色的点分为两类,在左图中,用是一条直线进行分割,则这条直线作为一个解决方案就是一个线性模型,它所完成的是线性分割;而右图是不连续的曲线,这显然是一个非线性模型完成的划分。一句话来总结,非线性的最大特征是曲线的出现,线性的最大特征是只有一条直线。
但非线性的本质是特征之间的相互影响。这个应该怎么理解呢?举个例子,房屋面积大小和房子的地段都可以直接影响房价的高低,但是,房子的地段也会影响房子的大小,在三里屯附近一定小户型居多,但在荒郊野外,肯定都是大户型,这种带有直接影响同时还对结果有间接影响的因素,都是线性模型无法表达出来的,但是在非线性模型中可以很容易的进行表达。特征之间不是相互独立的,而是它们有相互作用的。
接下来说说隐藏层,如下图所示,粉红色层是输入层,最后一层是输出层,中间的两层是隐藏层,之所以叫中间这部分为隐藏层,主要是因为它的层数是不确定的,可以是非常深层的网络,也可以只有一层,所以笼统地称为隐藏层,它接受来自输入层的数据,并向输出层输出数据。
隐藏层的主要组成是大量的神经元,每一层都可以定义神经元个数。在上图所示中,隐藏层层数为两层,每层神经元个数为4个。从上一层传过来的参数被存储在本层神经元内,这些数据又经过再次加权运算输入到下一层神经元内。隐藏层可以将网络由线性转换为非线性,这大大增强了生成模型的表达能力。
输出层是将隐藏层的运算结果进行综合加权,最后进行输出的层。
以上简单介绍了神经网络的结构和工作过程,接下来举个例子。
构建以下简单神经网络来完成对房价的预测。现在输入一组数据,中间的隐藏层就相当于四个专家,四位专家接收到来自三个数据与权重的组合,会产生一个来自这位专家的评价,这样的一个专家就相当于一个感知机,可以做出判断,同样是这样,四位专家分别产生各自的评价,最后的输出层将四位专家的评价综合到一起,在输出前经过一个激活函数,激活函数会对输入的数据进行检测,看这个输入是否满足了一定的条件,产生了最终的结果。对于每个专家的工作过程,是相当于一个感知机,感知机只能完成线性的分类,当多个感知机累计在一起时,就可以进行非线性的分类。这个过程就相当于,一个感知机是一条直线,多个感知机就可以产生多条直线,多条直线累计在一起,可以无限逼近于任何一个光滑曲面。这里再对感知机的工作原理介绍一下。
感知机是一类人造神经元,在许多神经网络中,主要的神经元模型是sigmoid神经元。我们将很快的了解什么是sigmoid神经元,但是想要知道为什么sigmoid要这么定义,就需要我们花点时间去了解感知机。
感知机如何工作?一个感知机通过一些二进制的输入,然后产生一个二进制的输出:
在上图中,感知机有三个输入
,通常它可以有更多或者更少的输入。Rosenblatt提出了一个简单的规则来计算输出,它用权重来表示各个输入对输出的重要性。神经元的输出,要么是0要么是1,由权重和权重与参数的积的值是否小于或者大于某一阈值。和权重一样,阈值也是一个实数,它是神经元的一个参数。用代数式表达就是:
以上就是感知机的工作原理。
激活函数本身是非线性的,其他的输入经过激活函数后,也都会变为非线性。
到这里,基本上只是简单介绍了神经网络的基础知识,想了解更多,订阅我,每天都会有更新。
把你看完不懂的地方写在评论区,我将第一时间进行解答,并会根据亲们的建议,精益求精。
“人工智能技术能够将海量的指纹数据作为‘原材料’,学习到他们的结构特征和细节信息,并且根据一定的规则进行重组,生成仿真度极高的伪造数据。”人工智能行业资深人士孙立斌告诉科技日报记者。
最近,美国纽约大学和密歇根州立大学发表的一篇论文详细介绍了深度学习技术如何削弱指纹识别的安全系统。
AI能伪造指纹,指纹解锁还安全吗?
生成对抗网络可伪造指纹
“指纹识别,即通过识别手指纹路确认身份。指纹识别虽应用广泛但存在一定的弊端。因为触摸式的验证方式对环境要求高,对手指的湿度和清洁度更有要求,指纹磨损也会造成识别困难;另外一些人天生没有指纹,或者指纹特征少导致无法成像;不容忽视的是,指纹痕迹容易留存,存在被复制的可能性,造假成本低。”旷视科技研究院研究人员范浩强告诉科技日报记者。
此次论文显示,研究人员使用神经网络数据训练基础软件,创建出令人信服的伪造指纹,其图像甚至优于原始指纹素材。“团队使用神经网络技术变体,即生成对抗网络伪造指纹。”论文作者之一、纽约大学副教授朱利安·托吉留斯说。
“生成对抗网络是当下非常火爆的一种深度学习算法,它本质是一种生成式模型,通过对抗式训练,制造带有数据噪音的深度伪造的图片,可用于数据增强,也可用于攻破特定的识别系统。”范浩强说。
孙立斌解释,人工智能技术还能够利用人眼和计算机认知方式的不同,在指纹图像中嵌入某些隐藏属性,虽然肉眼看不出来,但计算机可抓取这些信息,达到利用伪造指纹图像进行身份识别的目的。并且很多系统没有活体检测模块,无法判定获取的图像是否来自于真实的人体,这一漏洞使得伪造的指纹图像可以通过系统验证。
指纹、人脸、虹膜识别各有特色
范浩强介绍,就生物识别来说,目前常见的应用有指纹识别、人脸识别、虹膜识别等。
虹膜识别,目前主要见于部分高端智能手机的虹膜识别解锁。相较于指纹识别,虹膜识别技术通过人体独一无二的眼睛虹膜特征来识别身份,虹膜识别的准确性是各种生物识别中较高的,但相较于其它生物识别技术,虹膜识别硬件造价高,识别过程需配合,大范围推广较为困难,镜头可能产生图像畸变而使可靠性降低。因此,虹膜识别的图像获取和模式匹配都相对不便,实现大规模商用还有许多技术难关亟待攻克。
“人脸识别,以计算机图像处理技术从人的面部提取关键特征点,利用已建成的人脸特征模板与被验证者的特征进行对比分析,根据分析的结果给出相似值。通过这个值即可确定是否为同一人。相较于指纹需要接触、虹膜需要配合的识别特性,人脸识别可自动抓取验证,非配合式的识别更加便捷,适用场景更加丰富。”范浩强说。
多模态融合的识别方式更安全
范浩强分析,人脸识别在评估安全性上有两个维度不可忽略。
“是否易获取。这包括获取应用场景的人脸数据和底库数据,仅拥有任何单一数据都无法完成识别比对。目前人脸识别商业应用场景中不管是数据采集、调用还是比对等任一环节都需要在用户知情、并且同意的情况下进行。而人脸生物样本的核心数据库是由公安、央行等核心机构掌握,并非一般商业运营商能够有权获得的。”范浩强说,其次是,是否易攻破。这不仅考验算法实力,更重要的是抗攻击能力。
“综合来看,人脸识别是目前生物识别领域安全性较高的,当然也并非万无一失,想要实现人脸识别安全、规模化落地需要技术水平、法律法规和行业标准逐步完善。”范浩强表示。
孙立斌认为,生物特征识别迅猛发展,不同模态的生物特征有其自身的特性,抗伪造能力也不同。若要更高级别抗击假体攻击的风险,可以采取多模态融合的识别方式,例如步态和人脸一体化识别,能够大幅度增加伪造数据的难度,提升识别系统的安全性。
根据 生命时报等采编【版權所有,文章觀點不代表華發網官方立場】 |
|