【神经网络】基础知识与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函数,让这个一维数组调整一下数值,完了大的代表是哪个种类概率高就完了。

相关推荐
非优秀程序员19 分钟前
OpenClaw 教学:25 个工具 + 53 个技能完整指南
人工智能·开源·全栈
Ray Liang40 分钟前
一小时手搓轻量级可代替 Qdrant 的向量数据库
人工智能·架构设计·mindx·qrant
aircrushin41 分钟前
国产大模型全球逆袭的技术与商业逻辑
人工智能
iceiceiceice43 分钟前
从零开始构建 RAG + DeepSeek Demo
人工智能·llm
掘金安东尼2 小时前
养龙虾之前?先搞懂 Skills!
人工智能
chaors2 小时前
从零学RAG0x03第一个实战应用:医疗知识混合检索实战
人工智能·aigc·ai编程
阿聪谈架构3 小时前
第02章:Prompt 工程 —— 用语言精准指挥 AI
人工智能
suke3 小时前
AI 界的 npm 惨案重演?聊聊 龙虾OpenClaw skills那些带毒的“骚操作
人工智能·程序员·aigc
明明如月学长3 小时前
OpneClaw 总挂?配个"保镖"自动修,7x24小时不用管
人工智能
万少4 小时前
用 OpenClaw 实现小红书自动发帖
人工智能