当前位置: 首页 > news >正文

2.11整理(2)(主要关于teacher forcing)

  1. teacher forcing
    1. 训练迭代过程早期的RNN预测能力非常弱,几乎不能给出好的生成结果。如果某一个unit产生了垃圾结果,必然会影响后面一片unit的学习。
    2. RNN存在着两种训练模式(mode):
      1. free-running mode:就是常见的那种训练网络的方式: 上一个state的输出作为下一个state的输入。而Teacher Forcing是一种快速有效地训练循环神经网络模型的方法,该模型使用来自先验时间步长的输出作为输入。
      2. teacher-forcing mode
        1. Teacher Forcing,是一种网络训练方法,它每次不使用上一个state的输出作为下一个state的输入,而是直接使用训练数据的标准答案(ground truth)的对应上一项作为下一个state的输入。
        2. Teacher Forcing工作原理: 在训练过程的 t 时刻,使用训练数据集的期望输出或实际输出: y(t), 作为下一时间步骤的输入: x(t+1),而不是使用模型生成的输出h(t)。
        3. Teacher Forcing同样存在缺点: 一直靠老师带的孩子是走不远的。
          1. 因为依赖标签数据,在训练过程中,模型会有较好的效果,但是在测试的时候因为不能得到ground truth的支持,所以如果目前生成的序列在训练过程中有很大不同,模型就会变得脆弱。
          2. 也就是说,这种模型的cross-domain能力会更差,也就是如果测试数据集与训练数据集来自不同的领域,模型的performance就会变差。
    3. 有计划地学习(Curriculum Learning)
      1. beam search方法仅适用于具有离散输出值的预测问题,不能用于预测实值(real-valued)输出的问题。
      2. 有计划地学习的意思就是: 使用一个概率p去选择使用ground truth的输出y(t)还是前一个时间步骤模型生成的输出h(t)作为当前时间步骤的输入x(+1)。这个概率p会随着时间的推移而改变,这就是所谓的计划抽样(scheduled sampling,可参考:https://blog.csdn.net/weixin_45647721/article/details/127352875)
      3. 训练过程会从force learning开始,慢慢地降低在训练阶段输入ground truth的频率。
      4. Scheduled Sampling主要应用在序列到序列模型的训练阶段,而生成阶段则不需要使用。
      5. 在解码器的t时刻Scheduled Sampling以概率ϵ_i使用上一时刻的真实元素y_(t−1)作为解码器输入,以概率1−ϵ_i使用上一时刻生成的元素g_(t−1)作为解码器输入。且由上可得随着i的增大ϵ_i会不断减小,解码器将不断倾向于使用生成的元素作为输入,训练阶段和生成阶段的数据分布将变得越来越一致。
  2. 不同语言比较:
    1. C语言是很多语言的底层实现,执行效率高,需要自己做内存管理,对代码的要求比较高,很多功能需要手动实现。
    2. c#:微软开发的编程语言,部署时需要放在windows server上,最大的问题是windows系统花钱。
    3. php:一般用于快速搭建网站
    4. golang: 语法和c比较接近,处理并发时比较有优势
  3. other:
    1. ffmpeg将音频转为单通道16k采样率的音频:ffmpeg -i test.wav -ac 1 -ar 16000 -y 1.wav
    2. 16khz对应256kbps的wav文件
http://www.lryc.cn/news/2786.html

相关文章:

  • 亿级高并发电商项目-- 实战篇 --万达商城项目 三(通用模块、商品服务模块、后台API模块、IDEA忽略文件显示等开发工作
  • IDEA下java程序的调试(简易实例图示版)
  • 动态规划算法
  • nacos的单机模式和集群模式
  • Spring Boot 整合定时任务完成 从0 到1
  • Dialogue Transformers
  • 【遇见青山】项目难点:缓存击穿问题解决方案
  • 2023Flag具体实施计划(短期)
  • 研一寒假C++复习笔记--左值和右值的理解和使用
  • Android 11.0 动态修改SystemProperties中ro开头系统属性的值
  • 为什么分库分表
  • 1625_MIT 6.828 stabs文档信息整理_下
  • 论文阅读 | Rethinking Coarse-to-Fine Approach in Single Image Deblurring
  • Mysql 增删改查(二)—— 增(insert)、删(delete)、改(update)
  • JSD2212复习串讲
  • sphinx 升级到6.x后的Jquery问题
  • NSSCTF Round#8 Basic
  • 多传感器融合定位十二-基于图优化的建图方法其一
  • RockChip MPP编码
  • 【学习笔记】NOIP暴零赛2
  • linux基本功系列之hostname实战
  • Easy-Es框架实践测试整理 基于ElasticSearch的ORM框架
  • 【数据结构】双向链表的模拟实现(无头)
  • vue自定义指令---处理加载图片失败时出现的碎图,onerror事件
  • 加盟管理系统挑选法则,看完不怕被坑!
  • alertmanager笔记
  • Android Jetpack组件之WorkManager后台任务管理的介绍与使用(二)
  • 【MySQL】第十七部分 约束
  • java ssm集装箱码头TOS系统调度模块的设计与实现
  • MS14-064(OLE远程代码执行漏洞复现)