最近一直在看算法和deep learning的书,刚开始一直没有搞明白什么是神经元、感知机和激活函数?一团乱麻,直到看见一本书上的解释,恍然大悟,和大家分享。
一、神经元和感知机
感知机是由美国学者Frank Rosenblatt在1957年提出来,也是作为神经网络(深度学习)的起源的算法;感知机接收多个输入信号,输出一个信号。
感知机的信号只有“流/不流”(1/0)两种取值。
一般来说,感知机是指“朴素感知机”或者“人工神经元”,是单层网络,指的是激活函数使用了阶 跃函数A 的模型。“多层感知机”是指神经网络,即使用 sigmoid 函数(后述)等平滑的激活函数的多层网络。图中的O称为“神经元”或者“节点”;
二、激励函数
激励函数主要是指阶跃函数和sigmoid函数;
①阶跃函数
阶跃函数的图形表示如下:
②sigmoid函数
sigmoid函数的图形表示如下:
③阶跃函数和sigmoid函数的比较
sigmoid函数是一条平 滑的曲线,输出随着输入发生连续性的变化。而阶跃函数以0为界,输出发 生急剧性的变化。sigmoid函数的平滑性对神经网络的学习具有重要意义;阶跃函数只能返回0或1,sigmoid函数可以返 回0.731 ...、0.880 ...等实数(这一点和刚才的平滑性有关)。也就是说,感 知机中神经元之间流动的是0或1的二元信号,而神经网络中流动的是连续 的实数值信号。如果把这两个函数与水联系起来,则阶跃函数可以比作“竹筒敲石”, sigmoid函数可以比作“水车”。阶跃函数就像竹筒敲石一样,只做是否传送 水(0或1)两个动作,而sigmoid函数就像水车一样,根据流过来的水量相应 地调整传送出去的水量。