神经网络的结构
3Blue1Brown用最简单的 多层感知器MLP 结构解释了神经网络的工作流程,弄懂多层感知器MLP,理解其它神经网络也会相对简单一点。
其它神经网络展示如下:
1.什么是神经网络,它们是怎么连接在一起的?

3Blue1Brown将神经元(neuron)看做装有一个数字的容器。每个数字由28x28的数字矩阵组成,这对应着784个神经元,每个神经元中的数字为激活值,表示灰度值,该值越大表示该神经元激活。
在输出层,神经元的激活值表示概率,中间神经元为隐藏层,进行识别数字的工作。
神经网络运行的时候,上一层的激活值通过计算,决定着下一层的激活值。
2.我们为什么认为这种结构会起到智能识别的作用?
正如图中所看到的,中间层的一些神经元可能是负责局部数字的识别,它类似人类识别数字的过程。这样从第三层到最后一层只需要学习哪些部件能组合出哪个数字就可以了。
如何识别这些局部呢?神经网络的第二层识别数字的各个边,最后再第三层组合成局部,如下图。
3.连线是干嘛用的?(工作原理)
每条连线表示权重,第二层的某个神经元只关注某一块区域是否存在边,所以只有该区域的神经元连接到该神经元的权重值为绿色(表示正),其它都为0,这样只会累加我们关注区域的像素值了。
为了识别出是一条边(直线),只需要给周围一圈的像素赋予负的权重,这样当中间的像素亮,周围的像素暗时,加权和就能达到最大。
但是我们计算出来的权重和是一个随机数,我们需要把它规范到某一个区域中。
这里用到了SIGMOD函数
所以第二层神经元的激活值实际上就是一个对加权和到底有多正的打分,但有时我们不希望该加权和大于0就点亮该神经元,所以我们会减一个偏置值,最后将整体放进SIGMOD函数中。
总而言之,权重告诉你这个第二层的神经元关注什么样的像素图案,偏置则告诉你加权和得有多大,才能让神经元的激发变得有意义。所以从整体来看,该神经网络包含13002个权重和偏置,机器学习就是在找这些正确的权重和偏置,从而正确地解决问题。深挖权重和偏置的实际意义,能更好地理解神经网络,给参数赋予实际问题的某些意义,也能更好地解决实际问题。
用矩阵表示计算过程更加方便。
3Blue1Brown最后谈到其实神经元更像一个函数,输入来自上一层输出。
4.神经网络是如何通过数据来获取合适的权重和偏置?
参考资料:3Blue1Brown大神