谷歌更新TensorFlow目标检测API
去年谷歌发布了TensorFlow目标检测API[7],从那以后陆续添加了很多新特性,比如Neural Architecture Search[1]的模型学习,支持实例分割[8],在谷歌的超大数据集Open Images上训练的新模型等。
从此有很多有趣的应用被开发出来,比如在纽约街头寻找傻瓜(finding scofflaws on the streets of NYC[2]),诊断坦桑尼亚木薯植物的疾病(diagnosing diseases on cassava plants in Tanzania[3])。
谷歌这次的更新又带来了哪些新特性呢?
1.支持通过Cloud TPU加速目标检测的训练;
2.通过加速推理,并使用TensorFlow Lite轻松将模型导出到移动设备,改进移动端部署流程;
3.添加几个新的模型架构:
3.1 RetinaNet (Lin et al., 2017);
3.2 以MobileNet为特征提取骨干网的RetinaNet;
3.3 Pooling Pyramid Network(PPN)[4]-一种新的基于SSD的网络架构,它可以使模型以仅付出极小的精度损失的代价降低3倍的参数规模;
并发布了以上网络架构在COCO数据集上的已经训练好的模型!!!
Cloud TPUs的训练加速,对待调参侠要更好一点!
通常优化超参数和重新训练目标检测模型是极其耗时的,因此在实验中快速周转时间至关重要。以上发布的模型属于SSD类架构,这些架构针对Cloud TPUs的训练进行了优化。例如,训练基于ResNet-50的RetinaNet模型,可以在3.5小时内在COCO数据集上实现35%的mAP。
模型量化和TensorFlow lite的推理加速,因为知道你的痛!
为了更好地支持移动和嵌入式设备的低延迟需求,谷歌提供的模型现在与TensorFlow Lite原生兼容,TensorFlow Lite支持低延迟和小的二进制模型文件的终端侧机器学习推理。作为其中的一部分,已经实现了:(1)模型量化和(2)面向目标检测特定的TensorFlow Lite原生支持。模型量化遵循Jacob(2018)[5]的论文和Krishnamoorthi(2018)[6]的白皮书中提出的策略,使得运行速度更快,模型更小。