1.一种实现Softmax函数的设备,其特征在于,所述设备包括:接口模块、转换器模块、控制模块、累加模块、除法模块、指数运算模块和存储模块;所述接口模块,用于获取用于实现Softmax函数的包含多个输入数据的向量,以及通过所述控制模块使能所述转换器模块后,将多个所述输入数据发送给所述转换器模块;所述转换器模块,用于分别对每个所述输入数据进行逻辑运算,得到每个所述输入数据对应的第一参数和第二参数,以及将每个所述输入数据对应的所述第一参数和所述第二参数存储至所述存储模块后,通过所述控制模块使能所述指数运算模块;所述指数运算模块,用于依次对所述存储模块中每个所述输入数据对应的所述第一参数和所述第二参数通过优化的泰勒有限项展开式,先进行指数运算和后进行移位运算,得到每个所述输入数据对应的以自然常数为底的指数函数运算值,以及将每个所述指数函数运算值存储至所述存储模块和发送给所述累加模块后,通过所述控制模块使能所述累加模块,优化的泰勒有限项展开式为: 其中, 和 所述累加模块,用于累加所有所述指数函数运算值得到累加值,将所述累加值发送给所述除法模块后,通过所述控制模块使能所述除法模块;所述除法模块,用于从所述存储模块中逐个获取所述指数函数运算值,并逐一计算每个所述指数函数运算值与所述累加值的比值,得到每个所述输入数据对应的概率值,并通过所述存储模块将每个所述输入数据的概率值发送给所述接口模块,使所述接口模块输出每个所述输入数据的概率值。
2.根据权利要求1所述的设备,其特征在于,用于获取每个输入数据的第一参数和第二参数的所述转换器模块,包括:第一乘法器,用于针对每个所述输入数据,计算所述输入数据和预设的第一数值的乘积得到第一乘积值,将所述第一乘积值的整数部分作为所述输入数据的第一参数,其中,所述输入数据为8位定点数,所述输入数据的高4位为整数位,所述第一数值为将1/ln2定点化后得到的18位定点数,所述第一数值的高1位为整数位,所述第一乘积值为26位定点数,所述第一乘积值的高5位为整数位;第二乘法器,用于针对每个所述输入数据,计算所述输入数据对应的所述第一乘积值的小数部分和预设的第二数值的乘积得到第二乘积值,将所述第二乘积值作为所述输入数据的第二参数,其中,所述第二数值为将ln2定点化后得到的15位定点数。
3.根据权利要求1所述的设备,其特征在于,用于获取每个输入数据对应的以自然常数为底的指数函数运算值的所述指数运算模块,包括:第一乘法器,用于针对每个所述输入数据,计算所述输入数据对应的所述第二参数的高16位的平方值,并将所述平方值右移1位得到第三数值,以及将所述第三数值右移2位得到第四数值;第一加法器,用于针对每个所述输入数据,计算所述输入数据对应的所述第二参数的高16位和所述第三数值之和,得到第五数值;第二乘法器,用于针对每个所述输入数据,计算所述输入数据对应的所述第五数值的高16位和所述第四数值的高16位的乘积,得到第六数值;第二加法器,用于针对每个所述输入数据,计算所述输入数据对应的所述第六数值、所述第五数值的高16位和预设的第七数值之和,得到所述输入数据对应的所述第二参数取自然指数的近似结果,将所述近似结果左移所述第一参数位得到所述输入数据对应的以自然常数为底的指数函数运算值,所述第七数值为十六进制的0xFFFF。
4.根据权利要求1所述的设备,其特征在于,获取每个输入数据对应的概率值的所述除法模块,包括:除法器,用于计算所述累加值的倒数;乘法器,用于针对每个所述输入数据,计算所述输入数据对应的所述指数函数运算值和所述累加值的倒数之间的乘积,得到所述输入数据对应的概率值。
5.根据权利要求1所述的设备,其特征在于,所述接口模块具体通过AXI总线标准获取用于实现Softmax函数的包含多个输入数据的向量。
6.根据权利要求1所述的设备,其特征在于,所述存储模块为随机存取存储器RAM。