首页 > 其他分享 >FastCorrect&Fairseq学习笔记

FastCorrect&Fairseq学习笔记

时间:2022-09-19 16:33:54浏览次数:66  
标签:loss -- max 笔记 FastCorrect lr Fairseq

一 工作说明:

  FastCorrect,字面意思就是快速纠错;这项主要是对asr的识别结果进行纠错,提升识别率;

  目前大部分的纠错模型采用了基于注意力机制的端到端自回归模型(seq2seq model to correct an ASR output sentence autoregressively)结构。这种结构延迟较大;为此,微软亚洲研究院机器学习组与微软 Azure 语音团队合作,推出了 FastCorrect 系列工作,提出了低延迟的纠错模型;相关研究论文已被 NeurIPS 2021 和 EMNLP 2021 收录;

  Fairseq,是一个开源的序列建模工具,由Facebook AI Research于2017年9月推出,Fairseq基于python&pytorch,更加简单,人性化;主要应用场景是nlp任务,支持多种常用模型;

  FastCorrect就是基于Fairseq工具进行训练的模型;

  本文记录FastCorrect的学习过程,中间对机器学习,Fairseq的学习,理解和记录;初入此道,欢迎讨论;

  FastCorrect git:https://github.com/microsoft/NeuralSpeech/tree/master/FastCorrect

  Fairseq git:https://github.com/facebookresearch/fairseq

  Fairseq 文档:https://fairseq.readthedocs.io/en/latest/command_line_tools.html

 

二 Fairseq训练流程&核心代码阅读:

1 训练命令解读:

  训练命令:

    fairseq-train $DATA_PATH --task fastcorrect \
    --arch fastcorrect --lr 5e-4 --lr-scheduler inverse_sqrt \
    --length-loss-factor 0.5 \
    --noise full_mask \
    --src-with-werdur \
    --dur-predictor-type "v2" \
    --dropout 0.3 --weight-decay 0.0001 \
    --optimizer adam --adam-betas '(0.9, 0.98)' --clip-norm 0.0 \
    --criterion fc_loss --label-smoothing 0.1 \
    --max-tokens 9000 \
    --werdur-max-predict 3 \
    --assist-edit-loss \
    --save-dir $SAVE_DIR \
    --user-dir $EXP_HOME/FastCorrect \
    --left-pad-target False --left-pad-source False \
    --encoder-layers 6 --decoder-layers 6 \
    --max-epoch 30 --update-freq 4 --fp16 --num-workers 8 \
    --share-all-embeddings --encoder-embed-dim=512 --decoder-embed-dim=512

  这个命令的含义,可以自己去查Fairseq的文档,这里罗列出来:

    --task,意思是任务类型,默认是“translation”(翻译);包括translation_from_pretrained_bart等Fairseq自带的任务类型,这里设置为本任务fastcorrect ;

    --arch,意思是model architecture,模型结构,可选项包括,transformer,lstm等;这里采用自带的结构fastcorrect 

     --lr 学习率,为初始学习率,后续可能被--lr-scheduler修改;--lr-scheduler 是lr更新计划,这里采用inverse_sqrt 方法;

    --length-loss-factor 0.5
     --noise full_mask 
     --src-with-werdur 
     --dur-predictor-type "v2"

     --dropout 字面意思就是丢弃,这里指的是在训练模型时,丢弃一部分数据来防止过拟合;

    --weight-decay

    --optimizer adam --adam-betas '(0.9, 0.98)' 参数优化策略;

    --clip-norm 0.0 
    --criterion fc_loss 训练准则;

    --label-smoothing 0.1 
    --max-tokens 9000 一个batch最大的token数量;
    --werdur-max-predict 3 
    --assist-edit-loss 
    --save-dir $SAVE_DIR 存储checkpoints的路径,checkpoint即模型;
    --user-dir $EXP_HOME/FastCorrect 一个包含扩展的python模块,这里的扩展是指模型结构或者任务,和task是相对的,一般不适用官方规定的arch时需要手动设置这个路径;
    --left-pad-target False --left-pad-source False 
    --encoder-layers 6 --decoder-layers 6 
    --max-epoch 30 当达到这个30个epoch的时候,停止训练;

    --update-freq 4 参数更新频率,每4个batch更新参数;

    --fp16 使用FP16

      --num-workers 8 8个子线程用于load数据;
    --share-all-embeddings

     --encoder-embed-dim=512 --decoder-embed-dim=512

 

 

搜索

复制

标签:loss,--,max,笔记,FastCorrect,lr,Fairseq
From: https://www.cnblogs.com/hanlaomo/p/16708102.html

相关文章

  • RabbitMQ笔记
    1.RabbitMQ中间件1.1.什么是中间件什么是中间件我国企业从20世纪80年代开始就逐渐进行信息化建设,由于方法和体系的不成熟,以及企业业务的市场需求的不断变化,一个企业......
  • Javaweb学习笔记第九弹
    MyBatis案例--环境准备1、依据之前在Navicat建立数据表的方法,新建立一个数据表2、将数据表的相关内容表现在Java文件的实例上:即成员变量和set、get成员方法3、new一个测......
  • 【源码笔记】FutureTask
    /**DONOTALTERORREMOVECOPYRIGHTNOTICESORTHISFILEHEADER.**Thiscodeisfreesoftware;youcanredistributeitand/ormodifyit*undertheter......
  • CS61A学习笔记
    0.前言2022.9.19其实寒假就有要开始学习CS61A的想法,苦于对英文课程界面以及上英文课的不习惯止步六个月。而寒假之后的六个月,我完成了从零到一,再从一到十的突破。在寒假......
  • 【学习笔记】差分约束系统
    【图论】差分约束系统前置芝士SPFA判负环与最短路SPFA判负环负环定义:边の权值之和为负数的环不会真的有人不会SPFA吧先放张图就是在SPFA跑最短路的时候判断一下有......
  • 《软件测试的艺术》读书笔记(三)
    3.3用于代码检查的错误列表常见错误对照表,容易出现的问题:过于注重代风格码而不是代码错误、过于模糊不够具体。           3.3.1数据引用错误......
  • 【白话设计模式】课程笔记整理
    白话设计模式六大设计原则开闭原则Open-ClosePrinciple,OCP在⾯向对象编程领域中,开闭原则规定软件中的对象、类、模块和函数对扩展应该是开放的,但对于修改是封闭的。......
  • 道长的算法笔记:贪心算法经典模型
    (一)区间模型(1.1)区间合并(1.2)区间选点(1.3)区间覆盖(1.4)区间分组(二)贪心常用证明方法......
  • rabbit-mq集群docker搭建笔记
    1.安装docker1、yum包更新到最新yumupdate2、安装需要的软件包,yum-util提供yum-config-manager功能,另外两个是devicemapper驱动依赖的yuminstall-yyum-uti......
  • redis学习笔记
    Redis一、rhel7安装redis6.0.6[[email protected]]#cat/etc/redhat-releaseRedHatEnterpriseLinuxServerrelease7.6(Maipo)1、下载安装包地址:https:......