最近开始从事视觉领域的研究工作,CNN(卷积神经网络)是图像处理最常用的深度学习算法,听起来比较高深的样子,但是有了之前无线通信算法的经验,理解起来也非常容易。下面把关键点记录下来,以备忘。
CNN的算法其实是很简单的,看看公式就清楚了。但为了更好的理解它,还是先从神经网络说起。神经网络顾名思义,就是很多神经元组成的网络,那神经元又是什么,和神经网络有什么关系呢。
神经元
神经元(neuron)是大脑的基本运算单元,如下面左图所示,每个神经元从树突(dendrites)收集信息,并产生输出信号沿着轴突(axon)分成多个轴突分支输出到突触与其他神经元的树突相连,形成神经网络。类比生物学上的神经元,抽象出如下面右图的神经元计算模型,xi为其他神经元的输出,与突触的作用下变为WiXi,输入到cell body,在基本模型中,他们只是简单加和,当他们的和大于某个阈值时,这个神经元就会被激活,为了表示如何激活,让输出的和进入一个激活函数(activation function)f,比如常用的sigmoid函数,激活函数后面还会再详细说明。
A cartoon drawing of a biological neuron (left) and its mathematical model (right).
神经网络
神经网络(Neural Network)是神经元分层连接起来的有向无环图,如下图所示,每一层神经元的输出是下一层神经元的输入。通常,相邻两层之间是全连接的,但同一层内的神经元是没有连接的。下面就是2个由全连接层构成的神经网络。
我们一般叫