想要了解智能音箱背后的基础技术框架,其实,即使是应用类应用工程师,也需要对神经网络,以及深度学习模型,有一些基本的认识,个人认为这样会更加方便产品设计,以及相应的方案评估,因此,我们或许要大致了解感知机,Sigmoid函数的相关概念。
人类的视觉系统,是世界上最有趣的奇迹之一,当有人给了我们一张手写卡片,大家可以很轻易地认出上面的字迹,这种轻易性让我们觉得机器想要做到这一点也是很容易的,但是实际上,机器需要更多的步骤实现。接下来我们将从深度学习模型,Perception感知机,以及Sigmoid函数的角度,用文字识别这一个小例子,来做关于深度学习的梳理。
首先先从一些基础概念开始。
机器学习(Machine Learning)人工智能发展早期,利用一系列计算机算法分析数据,建立模型,解决问题。近年来最有效的学习方法和工具:深度学习(Deep Learning)。我们以达到实用水平的语音识别技术为范例,如下图:
根据DARPA(国防部高级研究计划署)资助的多次语音评测,语音识别词错误率已经是评估进步的主要指标
之前我们有专门提过,NLP(Neuro-linguistic programming)和NLP(Natural Language Processing)经常被弄混,这次可能简单梳理一下神经网络相关的概念。当前最具代表的深度学习算法模型如下:
Deep Neural Network深度神经网络
Recurrent Neural Network循环神经网络
Convolutional Neural Network卷积神经网络
可能,一个小概念的引入更加方便我们了解这个概念。我们知道,在人类聪明的小脑袋瓜里,大脑半球里面,位于大脑枕叶(Occipital Lobe)的初级视觉皮层(Primary Visual Cortex)(哈哈做硬件的小伙伴是不是会跳戏的想到ARMv7)部位,我们又叫它V1,含有1.4亿个神经元,他们之间有数万亿的联系。然而,人类的视觉控制区域不仅仅只有V1区域,还有V2,V3,V4,V5,逐渐升级做复杂的图像处理。随着人类亿万年的进化,以及逐渐加深的对世界的理解,我们的大脑变成了一个超级计算机。于是,识别手写数字,对我们来讲并非难事。于是,在不知不觉中,我们的图像识别,我们的视觉能力变得尤为精湛。因此,我们并不能清楚的感知到,每当我们认出了一串手写数字,我们的大脑做了多么复杂的工作。
但是,一旦我们尝试用电脑程序写出一个文字识别软件,就会发现这类问题的难度所在。貌似简单的问题变得极其复杂,比如,“9”这个数字,上面是一个圈,下面有一个小尾巴,这件事很难用算法表述。如果我们试图用coding来描述此类规则,你会在一大堆特例,中止申请中迷失方向。
神经网络尝试通过另外一种方式解决问题,通过获取一大堆的手写数字作为样本数据,用作训练案例。然后建立一个可以通过数字样本训练的系统,换句话说,神经网络是用这些样本,做出自动推断手写数字的识别规则。随着样本数据的不断增加,系统会对手写数字规则有更深刻的理解,以提升系统的精准度。
为了开始接触神经网络,我们要介绍一种人工神经元,称之为Perceptron,感知机。在1950年至1960年,科学家Frank Rosenblatt发明了感知机,并激发了Warren McCulloch以及Walter Pitts的研究成果。在当下,其他类的人工神经元或许更加流行,目前主要的模型,或许是Sigmoid Neurons(跟着我用东北话念席各马),为了后续更好的了解席各马函数,我们需要先了解一下感知机。
其实在之前,我们有稍微提过感知机的概念,其实是通过几个二进制输入,给到一个二进制输出。
Rosenblatt介绍了一种简单的规则,用于计算输出——输出0或者1,是根据sum ∑jwjxj,同时引入了weight(权重)这个概念,权重的数值代表了不同的输入值对结果影响力的大小,而sum ∑jwjxj与threshold value(阈值)大小的对比则决定了输出结果。阈值属于神经网络的参数之一,如果用代数形式表示,则如下:
接下来,进一个我最喜欢的例子用来说明感知机。
举例:你隔壁城市即将举办一场红酒节,你喜欢红酒,接下来将要决定是否要去参加红酒节。有三个因素决定你是否会去红酒节:
1)当天天气如何?
2)你的男朋友愿意陪你一起去吗?
3)你自己没车,红酒节的交通是否方便?
我们可以把三个因素定位输入x1,x2,以及 x3,如果天气很好,那么x1=1,如果不好,那么等于0。同理决定x1,x2。接下来,假设你非常非常喜欢红酒,并且就算男朋友不陪,也愿意参加,但是你真的很讨厌下雨,并且因为自己没车,如果交通不便利,也很不方便。因此,天气,男友陪伴,和交通方便的权重值则可以设置为w1=6, w2=2,w3=2。最后,假设你设置的阈值是5,最终你的结果将会因为之前设置的参数,而给出不同的答案。模型不是完善的,但是通过设置不同的权重和阈值,我们会得到不同的模型,这个,就是最基础的感知机了。
接下来希望可以逐渐从感知机过渡到席各马模型,附赠更高级的神经网络,数字信号处理的小伙伴们,还记得被卷积支配的恐惧吗?
Deep Neural Network深度神经网络
Recurrent Neural Network循环神经网络
Convolutional Neural Network卷积神经网络