发布时间:2023-08-03 10:00
神经网络算法是一门重要的机器学习技术。它是目前最为火热的研究方向——深度学习的基础。学习神经网络不仅可以让你掌握一门强大的机器学习方法,同时也可以更好地帮助你理解深度学习技术。
人工神经网络早期的研究工作应追溯至上世纪40年代,而1945年冯.诺依曼领导的设计小组试制成功存储程序式电子计算机,标志着电子计算机时代的开始。计算机科学家研究这一问题的目的在于寻求新的途径以解决不能解决或解决起来有极大困难的大量问题,构造更加逼近人脑功能的新一代计算机。
它的发展历程经历了三个阶段:上世纪50年代末,F·Rosenblatt设计制作了“感知机”,它是一种多层的神经网络。这项工作首次把人工神经网络的研究从理论探讨付诸工程实践,形成了第一次研究热潮;然而,这次人工神经网络的研究高潮未能持续很久,因为当时的电子技术工艺水平比较落后,主要的元件是电子管或晶体管,利用它们制作的神经网络体积庞大,价格昂贵,要制作在规模上与真实的神经网络相似是完全不可能的;80年代初期,模拟与数字混合的超大规模集成电路制作技术提高到新的水平,完全付诸实用化,人们重新认识到神经网络的威力以及付诸应用的现实性。随即,形成了80年代中期以来人工神经网络的研究热潮。
人工神经网络就是模拟人思维的第二种方式。这是一个非线性动力学系统,其特色在于信息的分布式存储和并行协同处理。
这是一个包含三个层次的神经网络。红色的是输入层,绿色的是输出层,紫色的是中间层(也叫隐藏层)。输入层有3个输入单元,隐藏层有4个单元,输出层有2个单元。
设计一个神经网络时,输入层与输出层的节点数往往是固定的,中间层则可以自由指定;
神经网络结构图中的拓扑与箭头代表着预测过程时数据的流向,跟训练时的数据流有一定的区别;
结构图里的关键不是圆圈(代表“神经元”),而是连接线(代表“神经元”之间的连接)。每个连接线对应一个不同的权重(其值称为权值),这是需要训练得到的
上图的圆圈就代表一个感知器。它接受多个输入(x1,x2,x3…),产生一个输出(output) ,为了简化模型,我们约定每种输入只有两种可能:1 或 0。如果所有输入都是1,表示各种条件都成立,输出就是1;如果所有输入都是0,表示条件都不成立,输出就是0。
下图显示了带有两个输出单元的单层神经网络,其中输出单元z1的计算公式
两层神经网络除了包含一个输入层,一个输出层以外,还增加了一个中间层。此时,中间层和输出层都是计算层。我们扩展上节的单层神经网络,在右边新加一个层次(只含有一个节点)。
现在,我们的权值矩阵增加到了两个,我们用上标来区分不同层次之间的变量。例如ax(y)代表第y层的第x个节点。z1,z2变成了a1(2),a2(2)。下图给出了a1(2),a2(2)的计算公式。
我们延续两层神经网络的方式来设计一个多层神经网络。
在两层神经网络的输出层后面,继续添加层次。原来的输出层变成中间层,新加的层次成为新的输出层。所以可以得到下图。
在已知输入a(1),参数W(1),W(2),W(3)的情况下,输出z的推导公式如下:
g(W(1) * a(1)) = a(2);
g(W(2) * a(2)) = a(3);
g(W(3) * a(3)) = z;
特点:
卷积层:相当于滤镜,将图片进行分块,对每一块进行特征处理,从而提取特征。
池化层:通过对提取的高维特征进行降维。
全连接层:对空间排列的特征化成一维的向量。
场景:人脸识别、图片识别
循环神经网络(RNN)
特点:
特点:
DevStream 成为 CNCF Sandbox 项目啦!- 锣鼓喧天、鞭炮齐鸣、红旗招展、忘词了。
Halcon实例转OpenCvSharp(C# OpenCV)实现--瓶口缺陷检测(附源码)
蓝桥杯第十一届单片机国赛真题(CT107D——IAP15F2K61S2)
全站最详细的Python numpy 搭建全连接神经网络模型教程(理论计算+代码实现)(不止能预测手写数字数据,准确率93.21%)
详解SpringBoot项目整合Vue做一个完整的用户注册功能
入门计算机视觉和人工智能 深度学习+统计学习方法+机器学习+数字图像处理
07-GuliMall SpringCloud Alibaba-Nacos作为注册中心、配置中心