理解神经网络

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

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

ReLU=max(x,0);

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

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

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

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

比如说有三个隐藏层:

隐藏层①有4个神经元

隐藏层②有3个神经元

隐藏层③有2个神经元

输入层输入数据到隐藏层

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

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

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

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

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

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

三、理解迁移学习:

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

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

相关推荐
woshihonghonga16 小时前
Deepseek在它擅长的AI数据处理领域还有是有低级错误【k折交叉验证中每折样本数计算】
人工智能·python·深度学习·机器学习
乌恩大侠16 小时前
以 NVIDIA Sionna Research Kit 赋能 AI 原生 6G 科研
人工智能·usrp
三掌柜66616 小时前
借助 Kiro:实现《晚间手机免打扰》应用,破解深夜刷屏困境
人工智能·aws
飞雁科技16 小时前
CRM客户管理系统定制开发:如何精准满足企业需求并提升效率?
大数据·运维·人工智能·devops·驻场开发
飞雁科技16 小时前
上位机软件定制开发技巧:如何打造专属工业解决方案?
大数据·人工智能·软件开发·devops·驻场开发
这张生成的图像能检测吗16 小时前
SAMWISE:为文本驱动的视频分割注入SAM2的智慧
人工智能·图像分割·视频·时序
哥布林学者17 小时前
吴恩达深度学习课程二: 改善深层神经网络 第一周:深度学习的实践 课后作业和代码实践
深度学习·ai
antonytyler17 小时前
机器学习实践项目(二)- 房价预测增强篇 - 特征工程一
人工智能·机器学习
N 年 后17 小时前
cursor和传统idea的区别是什么?
java·人工智能·intellij-idea
AI Echoes17 小时前
LangChain 使用语义路由选择不同的Prompt模板
人工智能·python·langchain·prompt·agent