深度学习是怎么识别人脸的
深度学习是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据。
卷积神经网络(CNN)局部连接传统的神经网络是全连接,即一层的神经元与上一层的所有神经元都建立连接,这样导致参数非常多,计算量非常大,而CNN是局部连接,一层的神经元只与上一层的部分神经元建立连接,这样可以减少参数和计算量。
Technology-MachineLearning-FaceRegonition-CNN-LocalConnected权值共享给一张输入图片,用一个filter去扫时,filter里面的数就叫权重。
用该filter对整个图片进行了某个特征的扫描,例如Edgedetection,这个过程就是权值共享,因为权重不变。
Technology-MachineLearning-FaceRegonition-CNN-WeightSharing人脸识别多个CNN加其他层,遍历而成的人脸识别处理结构:Technology-MachineLearning-FaceRegonition-CNN-Example层提取到的信息的演进:Technology-MachineLearning-FaceRegonition-CNN-Example2人脸检测传统算法识别:滑动窗口+分类器用一个固定大小的窗口去滑动扫描图像,并通过分类器去分辨是否是人脸。
有时候人脸在图片中过小,所以还要通过放大图片来扫描。
Technology-MachineLearning-FaceRegonition-Window&Classifier训练:特征+Adaboost传统特征:LBP/HOG/Harr图片原始的RGB信息,维度太高,计算量过大,且不具备鲁棒性,即光照和旋转,对RGB信息影响非常大。
利用LBP得到二进制值,再转换成十进制:Technology-MachineLearning-FaceRegonition-LBP效果图:Technology-MachineLearning-FaceRegonition-LBP-ExampleAdaboost由于移动设备对计算速度有一定要求,所以用多个弱分类器加权叠加来完成一个强分类器,从而保证速度。
Technology-MachineLearning-FaceRegonition-Adaboost深度学习特征的选取是比较复杂的,可能需要大量的统计学和生物学知识积累,而深度学习不需要选择特征,这是其很大优势,另外通过GPU代替CPU等方式,可以得到一个更好的效果。
Technology-MachineLearning-FaceRegonition-DeepLeaning-Example关键点检测、跟踪传统算法Cascaderegression/ESR/SDM传统算法步骤:根据人脸检测的框位置,先初始化初始脸部轮廓位置;进行上一步位置和图形特征检测下一步位置(一般是迭代残差);进行迭代,最终得到相对准确的轮廓位置。
Technology-MachineLearning-FaceRegonition-KeyPoints深度学习深度学习算法步骤:对图像进行轮廓定位态校正;全局粗定位;局部精细定位。
作者:YI_LIN来源:简书。
谷歌人工智能写作项目:神经网络伪原创
深度学习与神经网络有什么区别
深度学习与神经网络关系2017-01-10最近开始学习深度学习,基本上都是zouxy09博主的文章,写的蛮好,很全面,也会根据自己的思路,做下删减,细化写作猫。
五、DeepLearning的基本思想假设我们有一个系统S,它有n层(S1,…Sn),它的输入是I,输出是O,形象地表示为:I=>S1=>S2=>…..=>Sn=>O,如果输出O等于输入I,即输入I经过这个系统变化之后没有任何的信息损失(呵呵,大牛说,这是不可能的。
信息论中有个“信息逐层丢失”的说法(信息处理不等式),设处理a信息得到b,再对b处理得到c,那么可以证明:a和c的互信息不会超过a和b的互信息。这表明信息处理不会增加信息,大部分处理会丢失信息。
当然了,如果丢掉的是没用的信息那多好啊),保持了不变,这意味着输入I经过每一层Si都没有任何的信息损失,即在任何一层Si,它都是原有信息(即输入I)的另外一种表示。
现在回到我们的主题DeepLearning,我们需要自动地学习特征,假设我们有一堆输入I(如一堆图像或者文本),假设我们设计了一个系统S(有n层),我们通过调整系统中参数,使得它的输出仍然是输入I,那么我们就可以自动地获取得到输入I的一系列层次特征,即S1,…,Sn。
对于深度学习来说,其思想就是对堆叠多个层,也就是说这一层的输出作为下一层的输入。通过这种方式,就可以实现对输入信息进行分级表达了。
另外,前面是假设输出严格地等于输入,这个限制太严格,我们可以略微地放松这个限制,例如我们只要使得输入与输出的差别尽可能地小即可,这个放松会导致另外一类不同的DeepLearning方法。
上述就是DeepLearning的基本思想。六、浅层学习(ShallowLearning)和深度学习(DeepLearning)浅层学习是机器学习的第一次浪潮。
20世纪80年代末期,用于人工神经网络的反向传播算法(也叫BackPropagation算法或者BP算法)的发明,给机器学习带来了希望,掀起了基于统计模型的机器学习热潮。这个热潮一直持续到今天。
人们发现,利用BP算法可以让一个人工神经网络模型从大量训练样本中学习统计规律,从而对未知事件做预测。这种基于统计的机器