理解神经网络

本质上,神经网络是通用函数逼近器,他可以近似拟合各种函数 ,这是靠激活函数压缩变化曲线实现的。

下边以ReLU拟合分段函数为例:这个分段函数有四个段,所以用一个隐藏层,隐藏层中有四个神经元,神经元①拟合最左边段......神经元④拟合最右边段:

ReLU=max(x,0);

首先ReLU的本质:使小于0的部分曲线消失,只保留大于0的部分,故我可以设法用多个ReLU做出多段曲线,然后叠加,就可以生成对应多段曲线:如下蓝色线为不同ReLU实际生效部分

所以一个隐藏层中,不同神经元可处理片段曲线,即可实现同一层神经元处理图片不同部分,然后叠加,就处理完了整张图片。

sigmoid做激活函数也可以实现拟合不同段曲线

一、所以可以理解神经网络处理图片的过程:

比如说有三个隐藏层:

隐藏层①有4个神经元

隐藏层②有3个神经元

隐藏层③有2个神经元

输入层输入数据到隐藏层

隐藏层①的神经元可以分别处理左上、左下、右上、右下部分图片,然后综合信息传到隐藏层②

隐藏层②的神经元可以进一步处理上、中、下部分图片,然后综合信息传到隐藏层③

隐藏层③的神经元可以处理上、下部分图片,然后整合,得到图片处理完的结果

所以一般随着隐藏层递进,神经元个数是逐渐减小的,因为要把部分得到的信息一步步综合,得到整张图片的信息。所以越靠近输入层的神经元,个数越多,因为安排每个神经元处理图片不同微小部分的信息。然后信息一步步综合,越靠近输出层的神经元,处理的信息面越广,所要神经元的个数也就越少。

二、那为什么有时候一开始会把输入层的信息先放大,即输入层n个特征,先放大数量到隐藏层①,其中隐藏层①有m个神经元(m>n):

因为可以泛化图片,把特征数先扩大,相当于给输入多加了一点噪声,此时得到的模型是不易过拟合的

三、理解迁移学习:

迁移学习是指我想训练某个模型,但是我没有足够多的数据,我可以把别人已经做好的能实现类似功能的模型搬过来,自己调一下输出等,就可以给自己用。

那为什么迁移学习有效呢?以处理图片为例,神经元是功能的载体,它不知道自己处理的是什么图片,它只知道自己要怎么处理那部分 。整个神经网络是实现功能的工具,我放入图片可以得到类似的处理,我把我要处理的图片放进模型,然后根据得出的结果,调整输出,就可能可以得到能处理自己图片的模型(对于迁移学习还不是很了解,深入学了再补一下内容)

相关推荐
import_random3 分钟前
[深度学习]每个全连接层都必须有激活函数?
深度学习
源图客10 分钟前
大语言模型指令集全解析
人工智能·语言模型·自然语言处理
wenzhangli714 分钟前
筑牢安全防线:电子文件元数据驱动的 AI 知识库可控管理方案
大数据·人工智能
北京地铁1号线26 分钟前
OCRBench:评估多模态大模型的OCR能力
人工智能
我爱音乐yyy35 分钟前
pythonday50
pytorch·python·深度学习
用户21404259422437 分钟前
商业数据分析AI+BI培训学校值得推荐的-字符串是编程
人工智能
24毕业生从零开始学ai41 分钟前
循环神经网络(RNN):序列数据处理的强大工具
人工智能·rnn·深度学习
前端中后台1 小时前
Cursor实践使用技巧
人工智能·程序员
康斯坦丁师傅1 小时前
Claude 4.0+GPT国内直接使用,不降智不封号,太牛了!
人工智能
搬砖者(视觉算法工程师)2 小时前
关于球面投影SphericalProjector的介绍以及代码开发
人工智能