符号主义

x\rightarrow f(x)\rightarrow y


x:现实世界的输入(符号化)

f(x):规则

y:根据规则完成一个解释输出!

例子:例如输入直角三角形的两个边长更具规则(勾股定理)来输出斜边的边长!

这就是人工智能早期的思想:符号主义!

问题:很多问题实在是想不出如何写成一个函数!例如:识别图片等!

联结主义

现在有一组数据:  

 x[1,2,3,4]\\y[2,4,6,8]\\y=2x

这组数据可以一眼看出准确的函数!下面这组数据呢?

x[2,3,4,5]\\y[2,2.5,3,3.5] 

 很明显这并不是能一眼就看出来。那就要用人类的方法去实现了,猜!

我们设:y=wx+b

 我们来猜测w和b的值我一点点的调试w和b如:

y=0.8x+0.4 

 一点点的贴近真实数据直到完全吻合!

y=0.5x+1

但有的时候很难有完全吻合的函数,怎么办呢?

那就简化下问题,大差不差近似就行了!这就是现代人工智能的思路猜和简化问题,这就是联结主义

激活函数

大多时候一个线性函数是无法近似出一组数据的。这时候就需要让这条直线弯一弯!我们就需要从线性函数进化到非线性。

如何把线性变成非线性的呢?

在函数的最外层套一层非线性的运算就行了。

f(x)=wx+b\\ f(x)=sin(wx+b)\\ f(x)=(wx+b)^2 

这个套在外面的函数就是激活函数。把线性关系激活成变化能力更强的非线性关系。

之前我们仅仅有一个输入那就是x,但实际上呢往往就有很多输入!所以呢每一个x都要对应一个w:

f(x_1,x_2)=g(w_1x_1+w_2x_2+b)

 有的时候只套一层激活函数还是没有办法达到很好的效果,所以那就多套几层喽!让曲线的变化更加的灵活。把之前的当作一个整体在此基础上再进行一次线性变化

 g(w_3g(w_1x_1+w_2x_2+b)+b_2)

 通过这种方式理论上可以逼近任意的连续函数。

神经元

无限套娃下去,实在是太复杂了!于是:

我们把:f(x)=g(wx+b)变成x\rightarrow y

输入层只有一个x,输出层只有一个y

我们把x,y叫做神经元

神经网络

输入可能有多个

f(x)=g(w_1x_1+w_2x_2+b)

\begin{pmatrix} x_1 \\ x_2 \end{pmatrix} \rightarrow y

还可以在外面套激活函数!每套一层就相当于神经元水平方向又扩展了一个

g(w_3g(w_1x_1+w_2x_2+b)+b_2)

\begin{pmatrix} x_1 \\ x_2 \end{pmatrix} \rightarrow y\rightarrow y_2

上面那个公式的总体我们叫做神经网络

 中间这一层就不再是最终的输出了,我们叫隐藏层。y对应的就是g(w_1x_1+w_2x_2+b)

从x1,x2到y再到y1这个传播的过程就是神经网络的前向传播

神经网络的每一层神经元都可以无限增加!隐藏层的层数也可以无限增加!进而就可以构成一个非常复杂的非线性函数我们的,目的就是更具已知的机组x,y猜出使用的w和b。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐