cs231n神经网络NN(或称为人工神经网络ANN或称为多层感知器MLP)基础知识部分集中在PPT的lecture05~lecture07,且有整理的笔记(搜索关键字都能搜到),已经算是非常棒了,此处仅针对个人再做下简化、整理。
神经网络的理解:
神经网络个人理解可以看作是线性函数和非线性函数的组合,所以只要组合得够好在一定程度上可以逼近任意函数?那么重点就在于学习如何线性、如何非线性、如何组合?更多的神经元可以表达更复杂的函数也可能造成对训练数据的过拟合。追求模型的泛化能力,遏制过拟合现象,采取人工干预措施,尽量不通过无脑减少神经元的途径,干预方法有比如施加权重参数惩罚(正则化)、施加前向传播噪声(dropout、data augementation、stochastic pooling)
我们常称某某知名网络多少多少层,比如ResNet152层,那么N层神经网络的意思?:有N-1个有可学习参数的网络层(像inception module里存在并行的层,统一当作一层)(不统计没有参数可学的pool层之类的个数),另加1个输出层,于是称之为N-1+1层神经网络。
目前“对于生物神经元的建模是非常粗糙的:在实际中,有很多不同类型的神经元,每种都有不同的属性。生物神经元的树突可以进行复杂的非线性计算。突触并不就是一个简单的权重,它们是复杂的非线性动态系统。很多系统中,输出的峰值信号的精确时间点非常重要,说明速率编码的近似是不够全面的。鉴于所有这些已经介绍和更多未