olivettifaces人脸识别之思考
今天司轩斌老师带我们进行keras参数调整的一些步骤,因为是新手,没有一点调参的经验,所以就把一些参数的思考记录下来,防止做的笔记作废了。
代码最简单olivettifaces人脸识别参数调优也可以直接复制https://blog.csdn.net/zzZ_CMing/article/details/81127909
- 结尾加上如下代码可以进行模型绘制和网络结构绘制,然后loss的绘制可以自行百度
model.summary()plot_model(model, to_file='model.png')SVG(model_to_dot(model).create(prog='dot', format='svg'))
一、初始化
发现准确率已经接近1了,如果准确率很低说明数据不够,可以不用看代码,从数据方面着手,如果准确率很高的话,说明只有个别不对,那就会去分析,发现我不像我了,反而通过特征提取我更像别人了,那么就是特征提取的不够,可以增大卷积核维数,或者增大卷积核个数,都是可以的
发现不行,并没有变化,模型可能特征多了,那就想办法降低特征,有两个办法,一个是Dense的输出神经元个数减少
#Dense的解释
dense表示分类的结果,通过flattern将数据变为1维时,
若分类有500个,就是通过数据的label标签进行学习,不断的更改w和b更改,
让输出结果和label更加接近,
所以第一次500维,第二次40个的作用可以类似于降低特征,
但是dense并不代表特征会减少,只是分类的东西少了,没有那么细致
,还有一个是加入池化层
一般图片很小的时候是不会轻易加入池化的,因为信息密度很够,每一部分都很重要,一池化可能把一个眼睛一个嘴巴扔掉了,扔掉很多信息,所以不到逼不得很小的图不加池化
还有一个是dropout,一般dropout是解决过拟合的,但是用在这边也是可以的
step2:将Dense(1000)变为Dense(500)
发现准确率变为0.975,说明刚刚确实是特征提取的多了,所以再加一层池化,,发现准确率变为1
step3:直接变Dense为200
既然发现这个网络是因为特征提取多了,那就直接降dense或者是变池化层,或者变化卷积核维数
卷积核维数对比
理论上来说卷积核维数越大提取的特征会越大,而卷积核越小其提取的特征相对少一点,但是这边发现当7x7的时候过学习了,5x5和3x3差不多,而1x1涉及到激活函数,这里不加赘述。但是有一个发现,本来用的是epoch=40,发现在15左右就基本上平稳,后面loss误差就为0,所以后面的epoch算是浪费了,而且自己在测试的时候用epoch=15时就不可以,而在epoch=16时准确率就为1
- 为什么用sigmoid<relu<tanh
卷积出来的值很大说明和卷积核很像,小就不像,sigmoid特别像会投票1,非常不像投票0弃权,;relu大于0则投正票,负数就弃权;tanh正数则投正票,负数投反对票,基类函数根据我和别人的不一样去区分。
网络结构
当dense为1000的时候原来我的网络是8个网络,每个网络是40个样本,现在相当于每个人第一列,那就相当于40个人的第一列就是40个样本拿出来算作网络的第一层,第二列为第二个网络,最后组成了8个网络,但是发现最后的准确率还是0.975,就想是不是每个网络认识的人多了呢,导致网络记忆不好的话,学习的次数不好所以就选择了epoch=100,发现准确率还是1.
方法四:两个池化+Adam优化算法
其实sgd算法确实不如Adam,关于为什么Adam好,那还是去百度吧,
思考四:batch_size:每次迭代使用多少个样本
- 若batch_size=1,代表有320个网络(因为400个样本,320个为训练样本,40个为val test样本,40个为测试样本),每个网络只负责一张图,所以特征只是当前这个图的特征,所以效果不太好,若果batch_size为320,代表只有一个网络,要记很多张图,那可能就要多个epoch了。
olivettifaces人脸识别之思考相关推荐
- 人脸识别“热”中的冷思考:道德伦理问题值得深思
科技日报11月27日报道,人脸识别系统已经给我们的城市带来诸多方便.然而,在许多国家,对人脸识别的抵抗声也在不断高涨.研究人员.公民自由倡导者和法律学者都受到人脸识别技术兴起的困扰.他们正在跟踪其使用 ...
- 百度大脑人脸识别深度验证与思考(七)之骨骼精奇
环境 win7 32位 VisualStudio2017 python3.6.3 opencv3.3.1 pyQt5.9 baidu-AIP 1.6.9.0 特别声明 所有图片均来自网络公开,无意冒犯 ...
- 由游戏中加入“人脸识别”而引发的思考
近期某国产热门"吃鸡"游戏中引入了"人脸识别系统",引发了不少争议.很多玩家认为只有在认证健康系统防沉迷的时候才会触发.实际上,通过多次版本更新之后 ,现如今& ...
- 百度大脑人脸识别深度验证与思考(十二)之断章
点开这篇博文,让我带你进入一个全新的世界,那是一片我们所有人从未涉足过的领域,充满了玄妙.惊愕和震撼,感谢百度大脑这个人工智能,让我们可以有机会推开那扇小小的神奇之门. 前言 乍一看标题,觉得有些愕然 ...
- 【思考】人脸识别的安全性是否真的有效?支付宝人脸支付到底行不行
作为一个遵纪守法的人,也没有去验证. 但最近接触到的新闻和关注到的现象,对这个人脸识别安全性有了一些怀疑. 人脸识别会有一个活体检测,活体检测一般会阻止针对图纸打印,面具的攻击,基本上加上一个红外活体 ...
- 智源发布人脸识别与公共卫生调研报告
为了促进人工智能成为推动"健康社会"形成的使能技术之一,推动人工智能应用于全球可持续发展,北京智源人工智能研究院人工智能伦理与安全研究中心联合中国科学院自动化研究所中英人工智能伦理 ...
- 【CVPR 2018】腾讯AI lab提出深度人脸识别中的大间隔余弦损失
论文导读] 深度卷积神经网络(DCNN)在人脸识别中已经取得了巨大的进展,通常的人脸识别的核心任务都包括人脸验证与人脸识别,涉及到特征判别.很多模型都是使用Softmax损失函数去监督模型的训练,但是 ...
- 原创 | 从席卷全球的“刷脸”乱象,看国内人脸识别立法方向
一.种族运动迫使美国弃用人脸识别 近两年来,人脸识别技术引发的数据隐私问题一直备受公众讨伐.仅就2019年而言,全球范围内人脸识别技术使用相关的案件便层出不穷:瑞典数据保护机构(DPA)因当地一所高中 ...
- 国内人脸识别第一案,我们来谈谈国外法规和隐私保护技术
一.屡次被推上舆论风口浪尖的人脸识别事件 最近,又发生了两起关于人脸识别的热议事件. 一是杭州野生动物世界"为了方便消费者快速入园",在今年 10 月将年卡系统从"指纹入 ...
最新文章
- 转:iFire:玩聚 SRBacks 自定义脚本及样式表
- session不是线程安全的
- Hadoop小知识点
- 中国移动游戏趋势洞察报告
- 在线考试新入.html,JSP+SSM+MySql实现的在线考试系统毕设指导思路模板
- bio linux 创建_Linux设备驱动--块设备之概念和框架以及相关结构体
- JavaFX桌面应用开发-Button(按钮)与事件
- 又一款程序员摸鱼神器来了?上班也可以在VSCode看股票 基金实时数据
- Android基础夯实--重温动画(四)之属性动画 ValueAnimator详解
- 计算机操作系统 电子科技大学 期末考试
- win激活时错误0xc0000022
- 测绘与设计之间的鸿沟:坐标系,教你如何将CAD与测绘数据准确叠加
- 科学论文写作文献查找运用--WOS文献导出
- haproxy配置负载均衡
- Lucene .Net + 盘古分词 学习资料
- Android初学之------Android Studio 运行java程序
- Success diary
- a标签里面设置onclick_详解a标签添加onclick事件的几种方式
- hutool工具Word07Writer导出word文档提供下载
- 题解 P5022 【旅行】
热门文章
- eladmin 批量导入实现方法
- go语言sql转struct在线工具
- 区块链日报@2019.1.16
- linux奶瓶U盘使用方法,如何用U盘启动盘奶瓶解除无线WPA加密
- read: unexpected EOF!
- [1101]flink常用参数说明
- 通过Navicat for MySQL导入数据时,日期时间错误问题解决办法
- jetbrains intellij idea从2021.2.3版本开始需要用户登录之后才能使用,2021.2.2版本以及之前的版本不用登录
- Ubantu安装成功后重启时出现please remove the installation medium,then press enter
- 本地文件共享到云服务器,本地和云服务器文件共享