关于A-Softmax具体内容请参考论文《SphereFace: Deep Hypersphere Embedding for Face Recognition》by Weiyang Liu, Yandong Wen, Zhiding Yu, Ming Li, Bhiksha Raj and Le Song。关于其损失函数的设计思路,Thaurun的博客A-Softmax的总结及与L-Softmax的对比——SphereFace. 给出了一定的解释。我根据我的理解再进行一些补充。
偷懒了,就暂且"盗用"Thaurun博客的一些内容。
重点解释红框中的内容。
我们都知道,两个向量之间的夹角 θ ∈ [ 0 , π ] \theta\in[0,\pi] θ∈[0,π]。因此,如果使用式(1.4)(即红框上面的式子)作为损失函数,则在范围之外,即 θ ∈ [ π m , π ] \theta\in[\frac{\pi}{m},\pi] θ∈[mπ,π],可能存在部分区间使得 c o s ( m θ y i , i ) > c o s ( θ j , i ) , j ≠ y i cos(m\theta_{y_{i},i})>cos(\theta_{j,i}), j\neq y_{i} cos(mθyi,i)>cos(θj,i),j̸=yi成立,然而 m θ y i , i < θ j , i , j ≠ y i m\theta_{y_{i},i}<\theta_{j,i}, j\neq y_{i} mθyi,i<θj,i,j̸=yi不成立的情况。如果坚持使用这个损失函数,则在最小化损失时必须加上 θ y i , i ∈ [ 0 , π m ] \theta_{y_{i},i}\in[0,\frac{\pi}{m}] θyi,i∈[0,mπ]的约束条件。那么原问题就变为一个带约束的优化问题,无法直接使用梯度下降法求解。
因此,作者设计了一种替代 c o s ( m θ y i , i ) cos(m\theta_{y_{i},i}) cos(mθyi,i)的方案—— ψ ( θ y i , i ) = ( − 1 ) k c o s ( m θ y i , i ) − 2 k \psi(\theta_{y_{i},i})=(-1)^{k}cos(m\theta_{y_{i},i})-2k ψ(θyi,i)=(−1)kcos(mθyi,i)−2k,其中 θ y i , i ∈ [ k π m , ( k + 1 ) π m ] , k ∈ { 0 , 1 , 2 , . . . , ( m − 1 ) } \theta_{y_{i},i}\in[\frac{k\pi}{m},\frac{(k+1)\pi}{m}], k\in\{0,1,2,...,(m-1)\} θyi,i∈[mkπ,m(k+1)π],k∈{0,1,2,...,(m−1)} (注:关于k的取值,这个是我的理解,论文中使用的是 k ∈ [ 0 , m − 1 ] k\in[0,m-1] k∈[0,m−1])。很明显, ψ ( θ y i , i ) \psi(\theta_{y_{i},i}) ψ(θyi,i)是一个分段函数(定义域为 θ y i , i ∈ [ 0 , π ] \theta_{y_{i},i}\in[0,\pi] θyi,i∈[0,π]),函数值随着 θ y i , i \theta_{y_{i},i} θyi,i单调递减。也就是说对于式(1.5)的损失函数只有在 θ y i , i ∈ [ 0 , π m ] \theta_{y_{i},i}\in[0,\frac{\pi}{m}] θyi,i∈[0,mπ](k=0)时,才有 c o s ( m θ y i , i ) > c o s ( θ j , i ) , j ≠ y i cos(m\theta_{y_{i},i})>cos(\theta_{j,i}), j\neq y_{i} cos(mθyi,i)>cos(θj,i),j̸=yi成立,且 m θ y i , i < θ j , i , j ≠ y i m\theta_{y_{i},i}<\theta_{j,i}, j\neq y_{i} mθyi,i<θj,i,j̸=yi也成立。即对于以式(1.5)为目标函数的优化问题, θ y i , i \theta_{y_{i},i} θyi,i的最优解一定在区间 [ π m , π ] [\frac{\pi}{m},\pi] [mπ,π]中,这就符合了A-softmax的设计要求。
以上是个人的一些理解,可能有不对的地方,还请指出。