CTC( Connectionist Temporal Classification,连接时序分类)是一种用于序列建模的工具,广泛运用于语音识别和光学字符识别领域。其核心是定义了特殊的目标函数/优化准则[1],其优势是可以不需要文本或语音出现的字符进行具体定位标注,是目前机器学习用于不定长标注学习的主要方法。本篇博客详解CTC loss的公式推导和使用numpy进行实现。
Softmax函数有和Sigmoid函数类似的功能,Sigmoid常常被用于二分类问题的顶层,作为类标为1的概率。当问题被推广为多分类问题时,Sigmoid函数就不能使用了,此时往往使用Softmax函数。作为机器学习中多分类的基本函数,掌握其梯度的计算方法是非常重要的,因此本篇博客重点详解Softmax函数的计算方法,并使用numpy实现Softmax配合L2损失函数的求导方法,最后给出了常用的softmax配合cross-entropy损失函数的计算方法。
众所周知,Tensorflow之类的静态图DL框架是基于计算图的,那么他们是如何实现先生成图然后再喂数据的呢,本篇博客将实现一个简单的计算图,可以实现类似TensorFlow中图的定义以及生成Session并把实际的数据喂进去的功能。
迭代器(Iterator)是设计模式中一个很重要的模式,其主要作用是通过Iterator类对容器进行迭代,不断返回容器中的元素,以达到遍历容器或其他功能。
大多数语言如C++的STL,Java等都内置了迭代器模式,Python也不例外,本篇博客总结一下Python中的迭代器与生成器的相关知识点,并以PyTorch的DataLoader为例,使读者对Pytorch的数据加载有更深的理解。
Region Proposal by Guided Anchoring是港中文2019年提出的anchor自动生成方法,其主要贡献是提出了一种代替滑动窗口式生成anchor覆盖图像的所有像素的方法,大量减少了anchor的数量,并且根据图像内容生成对应的anchor,有效的提升了2stage检测网络的训练速度,是目标检测在“anchor-free”,或“fewer-anchor”上的一种探索。
在Python中,装饰器是一种极为优雅的给现有函数增加功能的方式,本篇博客总结一些装饰器的常见使用方法与复杂装饰器使用方法,文末给出一些例子帮助读者理解。