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

相关推荐
Li emily2 小时前
解决了加密货币api多币种订阅时的数据乱序问题
人工智能·python·api·fastapi
山川绿水2 小时前
bugku——PWN——overflow2
人工智能·web安全·网络安全
程序员cxuan2 小时前
微信读书官方发了 skills,把我给秀麻了。
人工智能·后端·程序员
fake_ss1982 小时前
AI时代学习全栈项目开发的新范式
java·人工智能·学习·架构·个人开发·学习方法
nassi_2 小时前
对AI工程问题的一些思考
大数据·人工智能·hadoop
AI技术控2 小时前
《Transformers are Inherently Succinct》论文解读:从“能表达什么”到“多紧凑地表达”
人工智能·python·深度学习·机器学习·自然语言处理
蔡俊锋2 小时前
AI记忆压缩术:从305GB到7.4GB的魔法
人工智能·ai·ai 记忆
Upsy-Daisy3 小时前
AI Agent 项目学习笔记(二):Spring AI 与 ChatClient 主链路解析
人工智能·笔记·学习
zhangxingchao3 小时前
AI应用开发六:企业知识库
前端·人工智能·后端
Terrence Shen3 小时前
关于传统软件工程后端技术和当代AI智能体agent构建的harness engineering的一点思考
人工智能·软件工程