拖更了两个月,不知道是最近无事发生还是之前太能写了,这期间发生了很多事,现实与虚幻并存,度过目前的难关以后再慢慢吐槽吧。决定更新一篇工程开发经验的文章,无技术细节。
亿点点项目总结。大概是第一次接这么正规的项目,从代码要求、提交规范、开发流程、开发需求、测试流程到文档撰写,虽然其中有不尽人意的地方,但也算正规。按时间流程说吧。
拖更了两个月,不知道是最近无事发生还是之前太能写了,这期间发生了很多事,现实与虚幻并存,度过目前的难关以后再慢慢吐槽吧。决定更新一篇工程开发经验的文章,无技术细节。
亿点点项目总结。大概是第一次接这么正规的项目,从代码要求、提交规范、开发流程、开发需求、测试流程到文档撰写,虽然其中有不尽人意的地方,但也算正规。按时间流程说吧。
承接移动语义,来更新智能指针,上文说到 unique_ptr 也会用到移动语义的东西。由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存都要手动 delete,一旦忘记 delete 或者程序过早退出而没有 delete,导致内存泄漏总是不好的。内存泄漏指由于疏忽或错误造成程序未能释放已经不再使用的内存,从而造成了内存的浪费。
所以,能不能有一种东西的存在,使用 new 创建对象后,对象作用域消失时,能不能自动析构并调用 delete?手动管理过程繁琐且容易出错,那么尝试通过智能指针来实现这一管理过程。
最近会有一些去年 11 月写的的存货博客发布,我眼中匿名函数最重要的一点:对数据的闭包。
又又又摸了几天,写了个爬虫,还是回来看论文了。整理一些常见的基于生成的攻击算法,之后再看一些较新的论文,就开始写自己的论文了,早日毕业吧。
在做对抗训练的时候,我时常在想一个问题:PGD、CW 这些攻击算法都会设置迭代步长和阈值,如果模型固定、参数固定,那么每次生成的对抗样本也会是一样的。如果使用 min-max 的方式进行对抗训练,那么模型可能会只认识在某一设置下的数据,如果面对新的分布攻击样本,如 ZOO, UAP, Deepfool 等,岂不是不能很好的防御?
这就又会回到小样本问题,总不能对所有的攻击算法在不同阈值下都生成对抗样本,而应该生成分布尽可能广泛的对抗样。既然提到生成,就不得不考虑 GAN,所以搜了些相关论文,并作整理。注意,所有论文我没看代码,所以不评价好与坏,在不久的将来如果我要发论文,肯定还会做对比算法,到时候回来评价各个算法。未完待续。
写深度学习的代码多了,经常会发现网络准确率低、难以收敛等错误,大多时候不是算法问题,而是人为的 bug,特此记录。
比如:为何网络的误差一直是一个定值?为何同样的网络、同样的优化器和学习率,训练得到的准确率比别人低 20% ?
还是老样子,不看代码永远不能称为学会了。况且 YOLO V2 有一些优化还是很常见的,如 Anchor Box 和多尺度训练。我之前也只是听说过这些名词,并不知道如何在程序中使用,索性直接读了程序了解一下,程序写的还是比较精彩的。另外:这是第一篇用 vim 写的博客。