本质上是模式识别,把现实的东西抽象成计算机能够理解的数字。
如果一个是256色的,那么图像的每一个像素点,都是0到255中间的一个值,这样你可以把一个图像转换成一个矩阵。
如何去识别这个矩阵中的模式?用一个相对来讲很小的矩阵在这个大的矩阵中从左到右,从上到下扫一遍,每一个小矩阵区块内,你可以统计0到255每种颜色出现的次数,以此来表达这一个区块的特征。这样通过这一次“扫描”,你得到了另一个由很多小矩阵区块特征组成的矩阵。
这一个矩阵比原始的矩阵要小吧?那就对了!
然后对这个小一点的矩阵,再进行一次上面的步骤,进行一次特征“浓缩”,用另一个意思来讲,就是把它抽象化。
最后经过很多次的抽象化,你会将原始的矩阵变成一个 1 维乘 1 维的矩阵,这就是一个数字。
而不同的,比如一个猫,或者一个狗,一个熊,它们最后得到的这个数字会不同。于是你把一个猫,一个狗,一个熊都抽象成了一个数字,比如 034, 075, 023,这就达到让计算机来直接辨别的目的了。
人脸,表情,年龄,这些原理都是类似的,只是初始的样本数量会很大,最终都是通过矩阵将具体的图像抽象成了数字,因为计算机只认识数字。
但是抽象的函数,会有所不同,达到的效果也会不同。
介绍深度学习就必须要介绍神经网络,因为深度学习是基于神经网络算法的,其实最开始只有神经网络算法,上文也提到2006年Geoffrey Hinton老爷子提出了Deep Learning,核心还是人工神经网络算法,换了一个新的叫法,最基本的算法没有变。
通过神经元接收外界信号,达到一定阈值,触发动作电位,通过突触释放神经递质,可以是兴奋或抑制,影响突触后神经元。通过此实现大脑的计算、记忆、逻辑处理等,进行做出一系列行为等。同时不断地在不同神经元之间构建新的突触连接和对现有突触进行改造,来进行调整。有时候不得不感叹大自然的鬼斧神工,900亿神经元组成的神经网络可以让大脑实现如此复杂的计算和逻辑处理。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)