神经网络的一些简单了解
目录
本文中的神经网络指得是包含 输入层,隐层,输出层的那种结构。
下面是笔者对神经网络的了解:
- 每个层都是由N个神经元组成的。
- 神经元由偏置和链接组成, 每个链接具有权重。
- 基本上来说 输入层是第一层,在左边, 中间的是隐层, 输出层在最右边。 一个链接只会连接两个神经元。
- 一种判断当前神经元是否激活的方式是: A = Sum(链接左侧神经元的激活值*链接权重) + 偏置, A > 0 ? 1 : 0
- 上面这种方式, 当前神经元要么激活(值为1)。 要么不激活(值为0). 这种方式产生的结果不够平滑
- 另外一种获取当前神经网络激活值的方式是: B = Fun ( A )
- Fun 表示一个函数, 具体函数内容是什么,以及函数的输出结果是 [0, 1] 还是 [-1, 1] 笔者记不清了。
- 调节神经网络的工作内容主要是调节链接的权重和神经元的偏置, 这俩都是一个具体的数值。
- 每个神经元都会和下一层的全部神经元相连, 也会和上一层的全部神经元连接。
- 隐层可以有多个。
- 梯度下降算法是一种快速调整偏置和链接权重的算法。
- 训练神经网络就是使用大量的样本数据和某个算法(比如梯度下降算法) 来调整链接权重和神经元偏置的过程。
- 神经网络和直接使用编程语言编程是不同的解决问题的方式, 它们各有所长。
- 神经网络可以用于图片识别。
- 在进行图片识别的时候, 可以将2D图片转变成1维数组, 这个1维数组就是输入层。 图片的识别结果则作为输出层,比如 1 ~ 9 的数字。
- 神经网络更像是是抽取样本数据的特点, 然后应用。 而非部件识别和组成。
- 抽取出现的特点不是简单的言语能表达的, 具有比较多的参数。
- 神经网络和现在流行的transformer模型是不一样的。