< Deeplearning > 给模型加入先验知识
模型加入先验知识的必要性
端到端的深度神经网络是个黑盒子,虽然能够自动学习到一些可区分度好的特征,但是往往会拟合到一些非重要特征,导致模型会局部坍塌到一些不好的特征上面。常常一些人们想让模型去学习的特征模型反而没有学习到。为了解决这个问题,给模型加入人为设计的先验信息会让模型学习到一些关键的特征。下面就从几个方面来谈谈如何给模型加入先验信息。
端到端的深度神经网络是个黑盒子,虽然能够自动学习到一些可区分度好的特征,但是往往会拟合到一些非重要特征,导致模型会局部坍塌到一些不好的特征上面。常常一些人们想让模型去学习的特征模型反而没有学习到。为了解决这个问题,给模型加入人为设计的先验信息会让模型学习到一些关键的特征。下面就从几个方面来谈谈如何给模型加入先验信息。
今天给大家推荐一个效果很好速度又快(逃))的人脸质量评价库,这个人脸质量评价库是我自己训的,为了方便表示,我给它起个名字,就BFQ(很像BBQ).
其实网上有很多开源的人脸质量算法,其中的很多甚至开源了模型出来,这给需要用人脸质量评价算法来过滤人脸的人们提供了很好的工具,但是很多脸质量算法的效果并不好,或是不能满足自己的需要,或是只能满足一部分的需求,所以我们往往需要多个质量算法库联合去判断一个人脸的质量。
故事(事故)起源于我老大最近跟我说的一个脑洞,他说他最近看了Advhat 的相关介绍,说能不能在活体识别上面尝试一下Advhat, 仿照Advhat做一个特殊贴纸,贴到一张假脸的某个部位,然后就用这样的一张贴了特殊纸张的假脸攻破活体识别系统.
我当时觉得应该不太可能,毕竟活体任务和人脸识别任务不同,活体识别任务学的就是真人和非真人介质的不同,无论生成什么样的纸张,毕竟逃离不了纸张透过摄像头的后的独特介质信息,况且即使生成了特殊的贴纸,然后再打印出来,然后再通过摄像头去识别,这样这张生成的’数字’贴纸就经过了两次失真,应该是没啥效果的.
我就把我的观点和老大一说,老大说还是让我尝试一下.于是我就做个实验验证一下,没想到我被实验结果深深的打脸...
最近想尝试一下用Transformer做图片分类的效果,于是就在网上找找有没有比较好的例子.发现keras官方有个例子,于是就clone下来看看.本以为multi-head-attention这个模块需要自己来实现,竟然发现tf.keras中已经实现了multi-head-attention的接口,发现是真的方便(tensorflow的最新版本tf2.4才有的一个接口).
The blue digits on the right top of the video is the time of blinks since detection started.
For more details, you can check this page.
这一节我们终于要学习Mat类.大家可以看到,这个类的名字”Mat”其实和Opencv中常用的Mat类是一样的名字,但二者不是同一个东西,一个是ncnn的Mat类,一个是Opencv的Mat类,大家要注意.好,废话不多说,我们再插上一个小红旗(压压惊):