神经网络每一层做了什么?

神经网络的每一层都做了什么?是一个拟合函数吗?还是很多个拟合函数?

个人理解:从数学的角度,就是拟合函数。 足够深的神经网络可以拟合出几乎任意的函数
以一层为例: 输入n维,输出m维 -- 可以理解成拟合了m个函数 每个函数输入n个变量
最后:建议手撕代码,理解更深刻

  • 文章:神经网络最后一层处理 中也许有你想要的答案,请看下吧
  • 除此之外, 这篇博客: 如何训练好一个神经网络?中的 3. 过拟合 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 在这一阶段,我们应该对数据集有一个很好的了解,并且有完整的训练/验证流程。对于任何的模型,我们都能计算得出我们需要的指标。现在可以开始迭代一个好模型了。一般为两个阶段:首先是使得模型足够强,能够在训练集上过拟合;然后在使用归一化策略,放弃一些训练loss,从而降低验证loss,达到一个平衡。

    Tips & Tricks:

    1. 选择模型 先要为数据选择一个好的、合适的模型。其中重要的一点就是:不要逞英雄!不然一开始尝试复杂的、花里胡哨的模型,然后疯狂地做一些骚操作,先选择一个最简明、最普遍应用的模型。比如,如果是分类任务,直接上ResNet-50。
    2. Adam是保险的 Adam对学习率的设置更宽容,但是SGD的表现性能要更好(学习率的调整范围更窄:需要更精确的学习率)
    3. 一次只复杂化一个 这意味着,当我们有很多可以增加模型复杂度的方法,不要一股脑地全部用上去,一次只使用一个。
    4. 注意学习率衰减 要主要学习率的衰减策略,最开始的可以不用学习率衰减策略,而是使用恒定的学习率。这可以避免你的学习率过低导致模型不够拟合。

看是什么神经网络,CNN,RNN和GNN干的事情和原理基本上都不一致,你也无法说他一定是在拟合函数。其本质是矩阵变换,将特征映射到高纬度或者降低特征维度,最后通过超平面分割,将特征分类的过程。
举个神经网络中常见的还有激活层,池化层,全连接层等,还有一些特殊的层,实现一些特殊的功能,这个要看实际的功能来确定是否在拟合。
用常见的cnn网络举例,卷积层就是提取特征的过程;池化层就是在不改变特征的情况下减少计算量,加快计算速度等方面起作用;而像激活层则是将特征映射到高维的非线性区间进行解释;全连接层对特征进行标记分类。