DAY30:赛後心得检讨

完赛检讨

  1. 资料处理

    • 虽然我们有大致上把红框等杂讯去除掉,但我们还是没有完全把照杂讯清除乾净。
    • YoloV4去框中文字,可是有些图片会被框失误,会浪费几张框错的图片,有组别是完全用手动去裁切字,虽花较多时间,但是效果会比较好,就是所谓人工智慧前的工人智慧啦。
    • 人工标签中文字的label的时候,还是有眼花标签错的时候,例如"士"标成"土"等等。虽然笔数不多,但多少都会对模型带来影响。
  2. 图片样本数

    • 图片样本数原图约快70000张,我们用mask的方式,给文字加上黑色方块,增加至约18万张。但样本数还是不够,有组别提出增加图片的方式,用文字搭配空白合成图片的方式,如下图,甚至第一名的组别用GAN去让电脑自动生成很像真实图片的合成图片(GAN方法我们还在研究中),这样可以轻松增加大量样本数。
  3. 资料不平衡

    • 有些字的图片张数较少,例如"仙"只有14张,而丁有100张,送入模型训练时会有比例不同的问题。

    • 例如"士"跟"土",若"土"的图片较多,那"士"很有可能常态性的会被辨认为"土"。

    • 解决方法

      • 利用上述所说的合成图去增加张数较少的字的样本数,例如每个字都补足200张。
      • 或者队友实测(传送门),可以用keras内建的Keras class_weight(类别权重)去调整。模型训练时,样本较多的类别,权重低;样本较少的类别,权重高。
  4. 模型训练

    • 首先硬体部分要先满足,当样本数更大量时,一个模型可能要练半天到一天都有可能。
    • 在优化器搭配学习率的部分可以多加尝试,我个人都使用SGD优化器加上CosineAnnealing(余弦退火)去训练,但或许有更好的组合。
    • 可以多尝试各种模型,例如我们组别练过VGG19、Xception、InceptionV4及DenseNet等等。

心得

  • 在训练模型的时候发现,学习率非常重要,因为模型很容易落在局部最佳或者鞍点,若使用正确的更新学习率方式,可以避免出现此情况。

  • 模型训练固然重要,但资料清洗和样本数及比例平衡才是王道。前几名的组别,样本数都是我们的好几倍,他们的模型也都跟我们一样,但是练出来就是准确度比较高。

  • 多参加比赛,一次比赛就可以从中学到很多东西,看书搭配实作,进步更加神速。


<<:  完赛!YA!关於 Vue.js 进阶心法系列

>>:  [ Day 30 ] 从 Vue.js 到 React.js 的完赛心得

成为工具人应有的工具包-26 ShellExView

ShellExView 今天来认识的小工具是看 Shell 的(猜测 ShellExView She...

第34天~

这个的上一篇:https://ithelp.ithome.com.tw/articles/10258...

[Golang]同步工具-sync包的Mutex-心智图总结

1. Mutex又称互斥锁。为什麽需要保护共享资源? 数据在goroutine之间共享,就有可能会出...

产品成长策略 - 安索夫矩阵

一家公司很难单靠一个产品来获利,就像 原来产品也有自己的生命历程 Product Life Cycl...

[Day10] JavaScript - 传值 & 传参考

此篇应该接在[第五篇-资料型别]之後介绍,因为在JavaScript中,会依不同型别而有不同的传递参...