理解神经网络

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

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

ReLU=max(x,0);

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

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

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

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

比如说有三个隐藏层:

隐藏层①有4个神经元

隐藏层②有3个神经元

隐藏层③有2个神经元

输入层输入数据到隐藏层

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

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

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

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

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

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

三、理解迁移学习:

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

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

相关推荐
CS创新实验室2 分钟前
AI 与编程
人工智能·编程·编程语言
min18112345616 分钟前
深度伪造内容的检测与溯源技术
大数据·网络·人工智能
_codemonster18 分钟前
高斯卷积的可加性定理
人工智能·计算机视觉
数据智研1 小时前
【数据分享】(2005–2016年)基于水资源承载力的华北地区降水与地下水要素数据
大数据·人工智能·信息可视化·数据分析
likuolei1 小时前
Spring AI框架完整指南
人工智能·python·spring
梵得儿SHI1 小时前
(第四篇)Spring AI 核心技术攻坚:多轮对话与记忆机制,打造有上下文的 AI
java·人工智能·spring·springai生态·上下文丢失问题·三类记忆·智能客服实战案
二哈喇子!1 小时前
PyTorch生态与昇腾平台适配:环境搭建与详细安装指南
人工智能·pytorch·python
lingzhilab1 小时前
零知ESP32-S3 部署AI小智 2.1,继电器和音量控制以及页面展示音量
人工智能
两万五千个小时1 小时前
AI Agent 框架演进
人工智能
li星野2 小时前
OpenCV4X学习—核心模块Core
人工智能·opencv·学习