发布时间:2022-11-08 20:00
今天我们来讨论当下最热门的神经网络,现在深度学习炒的非常火,其实本质还是把神经网络算法进行了延伸和优化!咱们这回的目标就直入主题用最简单的语言让大家清楚神经网络究竟是个什么东西。关于神经网络与人工智能的发展,以及神经网络各种生物学模型咱们就不唠了,我是觉得把神经网络比作各种类人脑模型和生物学模型没有半点助于咱们理解,反而把简单的问题复杂了,这些恩怨情仇咱们就不过多介绍了!
这张图就是我们的核心了,也是整个神经网络的架构,只要能理解这个,那就OK了!首先我们来观察整个结构,发现在神经网络中是存在多个层的,有输入层,隐层1,隐层2,输出层。那么我们想要得到一个合适的结果,就必须通过这么多层得到最终的结果,在这里咱们先来考虑一个问题,神经网络究竟做了一件什么事?
如果你想做一个猫狗识别,大家首先想到了神经网络,那它是怎么做的呢?先来想想咱们人类是怎么分辨的,是不是根据猫和狗的特征是不一样的,所以我们可以很轻松就知道什么事猫什么是狗。既然这样,神经网络要做的事跟咱们一样,它也需要知道猫的特征是什么,狗的特征是什么,这么多的层次结构其实就做了一件事,进行特征提取,我们希望网络结构能更好的识别出来我们想要的结果,那势必需要它们能提取处最合适的特征,所以神经网络的强大之处就在于它可以帮助我们更好的选择出最恰当的特征。
在第一张图中我们定义了多层的结构,在这里有一个概念叫做神经元,那么神经元真的存在吗?像大脑一样?其实就是一个权重参数矩阵,比如你有一个输入数据。它是由3个特征组成的,我们就说输入是一个batchsize*3的矩阵,(batchsieze是一次输入的数据量大小),那既然要对输入提取特征,我们就需要权重参数矩阵W了,在图中神经元的意思就是我们要把这个3个特征如何变幻才能得到更好的信息表达,比如中间的第一个隐层有4个神经元,那么我们需要的第一个权重参数矩阵W1就是3 * 4,表示通过矩阵链接后得到的是batchsize * 4的特征,也就是说我们将特征进行的变换,看起来好像是从3变到了4只增加了一个,但是我们的核心一方面是特征的个数,这个我们可以自己定义神经元的个数。另一方面我们关注的点在于,什么样的权重参数矩阵W1才能给我得到更好的特征,那么神经网络大家都说它是一个黑盒子,原因就在于权重参数矩阵W1内部是很难解释的,其实我们也不需要认识它,只要计算机能懂就OK了。那么这一步是怎么做的呢?计算机怎么得到最好的权重参数W1帮我们完成了特征的提取呢?这一点就要靠反向传播与梯度下降了,简单来说就是我们告诉神经网络我的目标就是分辨出什么是猫什么是狗,然后神经网络就会通过大量的迭代去寻找最合适的一组权重参数矩阵。(如果不清楚什么事梯度下降,先来看看我之前的文章吧!)
在神经网络中,我们刚才解释了什么是神经元,说白了就是一组权重参数。那整个网络不止这么一层呀,还有很多层次结构,这就是说我们的网络要想充分利用其价值就需要通过多种变换才能得到最终最合适的特征,一旦我们得到了最合适的特征,后续我们利用特征来进行分类或者回归任务就都随你啦。这就是神经网络的本质,其实我本质上认为神经网络就是一种特征提取器,通过这种设计可以让我们得到更有价值的信息!希望这篇文章能帮助大家对神经网络有了基础的认识,下一篇的时候我们再来讨论其中的细节!