https://github.com/FFiot/HWnet
1. 性能提升
* 左侧:多项式线性回归、Tanh激活函数; 右侧:线性嵌入式向量。
* 训练性能提升近百倍。
* 非常接近“全局最优点”。
2. 线性回归在大规模网络中的缺陷
* 每一个数据训练所有参数。
* 每一个参数参与每一次推断。
3. 箱式特征的缺陷
* 分“箱”后,相邻箱过于独立,导致“不圆滑”。
* 稀疏特征导致后端网络规模过大,容易过拟合。
4. 线性嵌入式向量
* 每个值域有各自的向量。
* 对每一个输入值,用所在值域、周边值域的“向量”乘以“权重”和表征。
* 每个向量的“权重”与输入值与值域中点的距离相关。
* 通过设定“takecare”参数,控制周边值域“向量”的"权重"。
* 防止过于“独立”导致的“过拟合”、“不圆滑”。
* 防止过于“takecare”导致拟合能力不足。
* 根据上图可见,当takcare当前值域60%时,只需5个值域的向量参与训练、推断。
5. 多维输入与后端网络
* 有多个输入时,每个输入各自“向量化”, 将结果合并输入后端网络。
* 后端可以是各种网络, 例如:全连接、LSTM......
6. 在线伸缩
* 累计各值域损失: 大于预期的值域进行分裂,小于预期的值域与周围值域合并。
* 线性嵌入式向量的输出维度固定,前端网络伸缩后,后端网络无需重新构建,只需进行少量训练。
7. To Do
* 2周内升级PLUS版本。