在Deep Speaker中,Triplet三元组的选择是很重要的。如果随机选择,会使收敛速度变慢,如果使用“hard-negative”,会得到次优的结果,也就是说ap和an的相似度一直接近1,如图1所示。因此FaceNet论文中建议使用“semi-hard-negative”,根据我做的实验来看,确实能起到作用,如图2所示,在使用了“semi-hard-negative”之后,an不在接近1,而且ap和an的相似度分离得越来越开(当然,这里还没有收敛,因此ap没有接近1)

图1

图2

这里的“hard-negative”是这样做的:在mini-batch中,保持ap对不变,对每一个ap对,从所有的negative中选择一个,使得an的相似度最高。这样可以使得训练加快收敛,但是会造成次优的结果,参考图1

而“semi-hard-negative”是这样做的:在mini-batch中,保持ap对不变,对每一个ap对,从所有的negative中选择一个,使得an的相似度尽可能高,但是必须小于相应的ap的相似度。这样可以避免an的相似度接近1。从实验的结果上来看,“semi-hard-negative”的效果还是很明显的。

不过deep speaker论文中没有使用“semi-hard-negative”,而是使用softmax和交叉熵进行预训练。

【开发日记】Deep Speaker 开发日记之Triplet选择相关推荐

  1. 微信小程序云开发小项目“研岸日记”日记记录分享,源码分享

    文章目录 1 概述 2 用户使用 3 日记交流页 4 日记详情页 5 发表者详情页 6 日记发表页 7 我的(非管理员) 8 高级权限(管理员) 9 数据库集合 10 源码 1 概述 1.1 关于本手 ...

  2. 一个APP诞生的自述日记,APP开发流程

    开发App的过程显得有点专业,不过本文不涉及编码,仅是简单描述一下App从无到有的一个过程.希望能让不懂开发的人也能够知道一个App是如何诞生的,这其中会经历哪些过程. 01 需求分析 软件开发最重要 ...

  3. 芯科EmberZNet_ZigBee3.0_EFR32MG开发日记三:开发平台搭建3

    3.4AR-EWARM安装及配置 IAR Embedded Workbench是瑞典IAR Systems公司为微处理器开发的一个集成开发环境,支持C51,ARM,AVR,MSP430等芯片内核平台. ...

  4. EasyARM-i.MX280A—Linux系统开发板(开发日记1-登录开发板)

    今天,心仪的板子终于到了,作为一个外行来说,既有对板子开发的期待,又有对自己技术的担忧.为了记录一下自己的开发过程,同时也是自己的成长过程,特地开了个专栏,我知道这将是一个漫长的过程,我会不断的更新, ...

  5. 即时通讯开发用什么语言开发_如何开始开发者通讯

    即时通讯开发用什么语言开发 Developing software has become a collaborative effort. Many development platforms are ...

  6. 软件开发向大数据开发过渡_如果您是过渡到数据科学的开发人员,那么这里是您的最佳资源...

    软件开发向大数据开发过渡 by Cecelia Shao 邵Ce It seems like everyone wants to be a data scientist these days - fr ...

  7. 软件开发向大数据开发过渡_如何将职业过渡到Web开发

    软件开发向大数据开发过渡 Over the past ten years, there has been an explosion of interest in web development, an ...

  8. 各种开发API文档+开发工具

    版权声明:本文为博主原创文章,转载请标明出处. https://blog.csdn.net/chaoyu168/article/details/51462377 各种开发API文档+开发工具,需要的自 ...

  9. 前端和后端开发人员比例_前端开发人员vs后端开发人员–实践中的定义和含义

    前端和后端开发人员比例 Websites and applications are complex! Buttons and images are just the tip of the iceber ...

最新文章

  1. MLIR算子量化Quantization
  2. [NOIP2012]同余方程
  3. html5指南针源码,《绝秘奉献》——最新超短线指南针!源码已放!(贴图 原码)...
  4. RocketMQ的存储之消息的存储分析
  5. 有关/etc/resolv.conf、/etc/hosts、/etc/sysconfig/network
  6. 到底哪种类型的错误信息会阻止business transaction的保存
  7. JavaScript --- 取得鼠标事件的坐标
  8. CVPR 2021 目标检测、跟踪和姿态估计最新进展分享
  9. 完善你的Laravel异常处理
  10. 解决Windows资源管理器右键菜单打开EditPlus容易导致资源管理器无响应问题
  11. 链表的C++创建及翻转
  12. 解决Centos7安装docker源问题
  13. 设置UITextField键盘上return key不可点击
  14. 浏览器扩展应用安装AXURE插件
  15. matlab里的计算符号,Matlab符号运算总结
  16. java中n次方怎么表示_java中的一个数的N次方
  17. c ringbuffer 源码_C语言 ringBuffer 实现
  18. Linux:shel脚本调试及环境问题l
  19. 链接:https://pan.baidu.com/s/1joRvLQ7nbti0Wp4t2CkX5w 提取码:ZMTD
  20. EIGRP(Enhanced Interior Gateway Routing Protocol,增加型内部网关路由协议)

热门文章

  1. python 3.6.6安装fake_Python fake_useragent报错解决方案
  2. linux c语言查看进程是否存在,Linux C语言检查进程是否存在
  3. GitLab搭建教程
  4. tpm2-tools源码分析之tpm2_createprimary.c(2)
  5. Python版本升级与包的维护
  6. Qt报错 The process was ended forcefully. (程序异常结束)
  7. 02-JVM垃圾回收
  8. 铝合金6060与6061与6063的区别
  9. 用c/c++实现strncpy函数
  10. 【速卖通运营干货】店铺没流量、没订单?这几点帮你了解流量来源,提升出单量!