什么是神经网络,它的原理是啥?(1)

参考:https://www.youtube.com/watch?v=mlk0rddP3L4\&list=PLuhqtP7jdD8CftMk831qdE8BlIteSaNzD

视频1: 简单介绍神经网络的基本概念,以及一个训练好的神经网络是怎么使用的

分类算法中,神经网络在训练过程中会学习输入的 pattern,这个 pattern 会被用来区分以后的新输入

神经网络分为如图三层

输入层的神经元数量等于输入的特征数量

以图像识别为例,下图所需的神经元数量是 2352

如下图是输出层,我们的图中输出层只有一个神经元,所以只能做二元分类

隐藏层通常用于保存 "pattern"

通常来说,隐藏层越多,就能用于识别越复杂的图像,做更复杂更精细的分类。但是同样的,隐藏层越多、神经元越多,也会带来更大的存储开销和计算开销。

相邻两层的神经元之间有两两相连的 "边(连接)"。每条边都有权重,这个权重是被我们训练出来的。

权重的用法是:用来做 "加权乘法和(权重和)",也可以直观的解释下,就说是给每个特征一些权重,如下图

如上图,通常还会有个 bias

下一个概念:激活函数。通常,一个神经元的输出是激活函数的输出,而这个激活函数的 输入/参数 就是刚刚计算的权重和

需要注意的是 a21 神经元,以及和它同一层的神经元接下来也会做 权重和,然后继续对 a3? 等等神经元做同样的事情,这样一层一层传递下去,直到最后计算出 output layer

那么接下来的问题是:这些"边"的权重是怎么被计算的?

如上图,首先给这些边分配随机值,接着进行训练,训练过程会改变权重的值。

关于具体的训练过程,看下个视频。

视频2:大致介绍一些训练神经网络的框架、轮廓,没有深入细节

(谷歌浏览器无障碍字幕挺好用的)

视频里先介绍了计算、讨论神经网络时一些符号的意义

如上图,说明了,下一层神经元的值,和上一层神经元的值之间的关系,其实可以用一个矩阵计算的公式来表示

这里有一个前提,就是所有神经元(至少同一层)的激活函数都是一样的,那么我们才可以用同一个 f 来计算神经元的值

不同的输入,会激活不同的神经元

使用神经网络的过程中,我们会看到输入层计算权重和传到隐藏层,隐藏层不同的神经元被激活,再计算权重和传到下一个隐藏层... 这个过程就叫做 向前传播

Forward Propagation

向前传播算法如下图

那么,我们如何训练神经网络,来找到适合的权重矩阵和 bias 呢?

如下图,是 cost 函数,它的意思就是:模型的输出和实际值之间的差。

"改变 权重矩阵 和 bias,让 cost 函数的输出最小化" 这个就是训练模型的过程

如下图,如果我们可以绘制 cost 和 weight 的关系如下图,这是一个有全局最优的图,那么我们就可以用梯度下降法来优化权重矩阵

alpha 是学习速率,它旁边那个东西是曲线的斜率

当然了,神经网络中的参数有很多,每两层神经元之间都有一对 权重矩阵 和 bias,所以训练过程如下,我们会计算 cost 函数和不同参数的斜率、求导,随后进行梯度下降法进行优化

如上图,在我们优化参数的时候,我们在最小化 cost,cost 取决于 a2,a2取决于 W2 和 a1,a1 取决于 W1 和 a0。这个向后的过程我们就叫做向后传播算法, back propagation

一个整体的训练模型过程如下

相关推荐
GISer_Jing4 小时前
神经网络初学总结(一)
人工智能·深度学习·神经网络
数据分析能量站5 小时前
神经网络-AlexNet
人工智能·深度学习·神经网络
四口鲸鱼爱吃盐8 小时前
CVPR2024 | 重新思考针对深度神经网络的数据可用性攻击
人工智能·神经网络·dnn
落魄君子8 小时前
BP分类-反向传播神经网络(Backpropagation Neural Network)
神经网络·分类
云空8 小时前
《解锁分类神经网络预训练模型的奇妙世界》
人工智能·深度学习·神经网络
请站在我身后9 小时前
最新的强大的文生视频模型Pyramid Flow 论文阅读及复现
论文阅读·人工智能·神经网络·计算机视觉·stable diffusion·transformer
落魄君子10 小时前
RF分类-随机森林(Random Forest)
神经网络·分类
千天夜12 小时前
深度学习中的残差网络、加权残差连接(WRC)与跨阶段部分连接(CSP)详解
网络·人工智能·深度学习·神经网络·yolo·机器学习
诚威_lol_中大努力中12 小时前
关于VQ-GAN利用滑动窗口生成 高清图像
人工智能·神经网络·生成对抗网络
盼小辉丶15 小时前
TensorFlow深度学习实战(2)——使用TensorFlow构建神经网络
深度学习·神经网络·tensorflow