我们知道,人类思考机器智能是从生物学领域开始探索的,试图在机器世界模仿人类大脑,以谋求在机器领域实现人工智能。从生物学知识,我们直到神经元是大脑的一个基本构成,里面有树突等更加细致的构成,这里不再赘述。从神经元的宏观角度而言,就是当神经元收到刺激,即信号输入,通过内部的处理判断,获得一个输出。通俗的讲,当吃货神经元收到大盘鸡、烤羊腿等信息后,经过分析判断,输出食指大动这样一个结果。那么,从数学表述上而言,函数 y = f ( x ) y=f(x) y=f(x) 很好地反映了这一个过程,其中 x x x是我们的输入信息, y y y是我们的输出信息,而函数 f ( ∗ ) f(*) f(∗)则就是神经元的功能。一个神经元的基本结构如下图所示:
多个神经元组合,就会形成一个网络,我们称之为神经网络。基本结构入下图所示: 这是一个4层结构的神经网络,layer1为输入层,layer4为输出层,layer2,layer3为隐藏层,即神经网络的结构由输入层,隐藏层,输出层构成。其中除了输入层以外,每一层的输入都是上一层的输出。
通过对神经元和神经网络的介绍,我们大概了解了他们的结构和框架。但是对神经元以及神经网络的内部是如何操作的,我们并不了解,而内部的工作机制和机理,恰恰就是人工智能学科的核心,即算法。在AI领域,各种奇奇怪怪的名词,比如BP,CNN,RNN,DNN,GAN等都是神经网络工作机制和机理的研究成果。其具体的研究和探讨后续博文会介绍,针对神经元和神经网络,今天我们来探讨几个基本问题。
神经元和神经网络的信息输入是什么,我们前面例子说看到大盘鸡、烤羊腿这是信息,这个太生活化了。从数学意义上而言,该数据是连续的,还是离散;从数据领域,该数据是有没有标签的,如果有类似标注<大盘鸡,好吃>,<小盘鸡,不好吃>,那么可以称之为有标记签的,否则无标签。对于用一组有标签的数据,获得一个算法模型,可以对数据打标签,可以称之为有监督学习。关键词:机器学习分类神经元和神经网络的内部结构是怎么样的?一个神经网络内部是多少的神经元,如果神经元的传递层次比较多,那么就是深度神经网络。因此,神经网络的层数如何确定,是一个非常重要的问题。 关键词:深度神经网络神经元内部的权重是如何确定的?函数 y = f ( x ) y=f(x) y=f(x) ,其具体展开式在一维线性领域为 y = a x + b y=ax+b y=ax+b的一元一次方程,那么如果输入数据是多个,即x是一个向量,多元的,那么 y = w 1 x 1 + w 2 x 2 + w 3 x 3 + . . . . y=w_1x_1+w_2x_2+w_3x_3+.... y=w1x1+w2x2+w3x3+.... 这里变成了多元一次方程。如何求解权重 w w w是另外一个非常重要的问题。 关键词:梯度下降,BP对于 y = f ( x ) y=f(x) y=f(x) ,给定数据 x x x和函数 f ( ∗ ) f(*) f(∗),输出 y y y是否输出成我们想要的形式,如吃货神经元收到大盘鸡、烤羊腿等信息后,经过分析判断,输出食指大动这样一个结果。那么当信息分析判断到什么程度才能激活食指大动。因此,激活函数如何设定是一个比较重要的问题。关键词:激活函数根据数学表达式,神经网络模型可以看作是一个求解方程的过程,但是并不是真正意义上的数学求解过程。其中由于变量众多,往往成成千上亿个,维度太高,如何快速获得结果是很重要的,这就需要降维。关键词:降维在吃货神经元的例子中,在大盘鸡、烤羊腿的信息输入获得食指大动模型,在其他场景是否也适用,比如在输入四川辣子鸡、单县羊汤的情况下,模型的表现如何。这就是模型的泛化能力如何来保证?关键词:泛化、过拟合、欠拟合刚才我们神经网络的讨论是在数据维度上进行的,那么在空间维度和时间维度,如何将空间信息和时间信息转化成我们熟悉的数据形式,比如对于图片的输入,语音的输入,该如何转化成神经网络?关键词:CNN、RNN我们的大脑有时候会受到欺骗,比如看到水杯的筷子是折的。同样的,基于大脑神经元的深度学习网络同样会受到攻击,其安全性也面临挑战,那么如何保证我们神经网络模型具有鲁棒性和安全性。关键词:GAN一个简单的深度学习问题框架如下:后续我们将在这个框架下对每一个要点进行剖析,并根据学习的进程更新该框架。
推荐阅读 神经网络浅讲:从神经元到深度学习
