【学习周报】研究生学习周报

学习内容:

  1. VPM模型训练
  2. LSTM与GRU比较

学习时间:

  • 12.26 ~ 12.31

学习笔记:

VPM模型训练

1.所需环境

  • Python 3.6
  • Java 15.0.2
  • PyTorch 1.2
  • numpy, tqdm, h5py, scipy, six

2.训练步骤

2.1 不使用强化学习进行训练

注:代码中的 ’ * ’ 根据训练的数据集替换为 ‘activitynet’ 或 ‘charades’ 。

1.直接使用原数据集文件进行训练。

$ cd driver
$ CUDA_VISIBLE_DEVICES=0 python transformer.py 
../results/*/dm.token/model.json ../results/*/dm.token/path.json --is_train

2.使用选择的关键帧进行训练,需要下载适用于关键帧选择的预训练文件。

$ cd driver
$ CUDA_VISIBLE_DEVICES=0 python transformer.py 
../results/*/key_frames/model.json ../results/*/key_frames/path.json 
--is_train --resume_file ../results/*/key_frames/pretrained.th

这种训练方式的结果会比方法1稍微逊色一些,但可以节省将近一半的时间。

未使用强化学习训练结果(方法1)
  1. charades数据集
    训练50个epoch后,模型在几种评估分数上的得分如下:
    【学习周报】研究生学习周报_第1张图片

  2. activitynet数据集
    训练50个epoch后,模型在几种评估分数上的得分如下:
    【学习周报】研究生学习周报_第2张图片

  3. 结果汇总

    数据集名称 activitynet charades
    bleu4 0.1152 0.1710
    cider 0.2575 0.2307
    meteor 0.1576 0.1928
    div1 0.6892 0.7848
    div2 0.8330 0.8917
    re4 0.0265 0.0011

    模型在上述两个数据集上的得分与paper中记录的得分相比低了几个点,原因是还没有借助强化学习对模型进行强化训练,接下来就是利用强化学习对模型进行训练。

2.2 基于2.1保存的训练结果进行强化学习训练

$ cd driver
$ CUDA_VISIBLE_DEVICES=0 python transformer.py 
../results/*/dm.token.rl/model.json ../results/*/dm.token.rl/path.json 
--is_train --resume_file ../results/*/dm.token/model/epoch.*.th
强化学习训练结果

LSTM与GRU比较

图片来源:https://blog.csdn.net/dQCFKyQDXYm3F8rB0/article/details/82922386
【学习周报】研究生学习周报_第3张图片

GRU(gated recurrent unit, 门控循环单元) 是新一代的循环神经网络,与 LSTM 非常相似。与 LSTM 相比,GRU 去除掉了细胞状态,使用隐藏状态来进行信息的传递。它只包含两个门:更新门和重置门,其中:

  • 更新门:类似于 LSTM 中的遗忘门和输入门。它决定了要忘记哪些信息以及哪些新信息需要被添加。
  • 重置门:用于决定遗忘先前信息的程度。

你可能感兴趣的:(学习,python,深度学习)