【神经网络】基础知识与CNN网络基本框架

神经网络基础架构

基础动图网站:点击这里

整体框架为输入层,中间隐藏层,最后输出结果。

输入层,在这里图中主要是确定输入什么样的参数。比如说这个例子做分类,每一个点具有一个二维坐标系,那么可以选择的输入就如图所示。最基础的就是输入x, y坐标。还可以输入其他的值。

中间隐藏层由一个一个神经元组成(neuron)。具体的个数可以随便更改,隐藏层层数也可以随意更改。

最后输出层,主要看具体问题,需要输出什么。这个例子我也看不懂输出什么,应该是最后的右边图的底层,分界线就是作为分类吧。

神经元

普通神经元所需要干的活,就是把前面一层所有的输出值全部加权平均一下,获得自己的值。然后这个值可以再添加额外的bias,最后得到最终传递给下一层的值。

CNN

CNN卷积神经网络,主要用于图像识别。

学习网站:https://poloclub.github.io/cnn-explainer/#article-pooling

首先明确问题,给出一个咖啡样张,让神经网络进行判断。

上文写到,神经网络具有3层:输入、隐藏、输出。

输入为一张图片,输出为咖啡具体品类。

图片输入一般都采取RGB采样输入,三通道各自的值进行输入。

最后output确定是什么品类。至于怎么区别后面再说,暂时先理解为值越大说明是这个品类概率越高。

再看隐藏层复杂的多。

多了很多特别层,刚才的层都是很简单,加权平均输入,加bias输出就好。这里面层会不一样。

conv层:宏观来看他让输入64×64变为62×62.采取方式是,从图片0,0为左上角,开一个大小为3×3的正方形,小正方形做一个权平均,一直做到61,61最后得到一个62×62的图片。输入层都这么干一下,然后输入层,每一个像素点自己再做一下加权平均,bias然后输出。

relu层:一般作为激活函数,有啥用不知道。但是知道一下怎么计算的,针对每一个输出图像每一个像素单独计算,超过0取本身,小于0取0.

max_pool:跟各刚刚那个去小正方体类似,但是是将60×60压缩成了30×30.做法是比如0,0为左上角取2×2小正方体,然后小正方体里面比一下,取最大值作为该像素的值,然后2,2再作为左上角以此次类推。最后获得30×30.

上面层理解后,就累在一起形成了隐藏层。

最后经过隐藏层输出的是10张图片。但最后输出的是种类,显然是一个一维数组,所以就用了flatten降维,原理非常简单,直接每一行拼接到第一行就完了。最后再根据输出种类,每一个算一个加权平均加一个bias就行。最后让数据好看一些,再加一个softmax函数,让这个一维数组调整一下数值,完了大的代表是哪个种类概率高就完了。

相关推荐
xixixi777778 分钟前
基于零信任架构的通信
大数据·人工智能·架构·零信任·通信·个人隐私
玄同76510 分钟前
LangChain v1.0+ Prompt 模板完全指南:构建精准可控的大模型交互
人工智能·语言模型·自然语言处理·langchain·nlp·交互·知识图谱
Ryan老房15 分钟前
开源vs商业-数据标注工具的选择困境
人工智能·yolo·目标检测·计算机视觉·ai
取个鸣字真的难20 分钟前
Obsidian + CC:用AI 打造知识管理系统
人工智能·产品运营
困死,根本不会37 分钟前
OpenCV摄像头实时处理:基于 HSV 颜色空间的摄像头实时颜色筛选工具
人工智能·opencv·计算机视觉
Shirley~~1 小时前
Vue-skills的中文文档
前端·人工智能
华大哥1 小时前
AI大模型基于LangChain 进行RAG与Agent智能体开发
人工智能·langchain
Sagittarius_A*1 小时前
角点检测:Harris 与 Shi-Tomasi原理拆解【计算机视觉】
图像处理·人工智能·python·opencv·计算机视觉
困死,根本不会1 小时前
OpenCV实时摄像头处理:曝光调节、降噪与二值化实战
人工智能·opencv·计算机视觉
LitchiCheng1 小时前
Mujoco 开源机械臂 RL 强化学习避障、绕障
人工智能·python·开源