From 9acd89c98e7b848621e556eec7929c5ba242568b Mon Sep 17 00:00:00 2001 From: Colin Date: Fri, 27 Jun 2025 12:23:56 +0800 Subject: [PATCH] Update binary readme. --- binary/readme.md | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/binary/readme.md b/binary/readme.md index 0fa1df2..53912a9 100644 --- a/binary/readme.md +++ b/binary/readme.md @@ -1,7 +1,7 @@ ## 定义 -### 梯度 +### binary网络的梯度 1. 预测变化对整体损失 L 的影响程度, 参数θ在当前点的变化对损失值的影响方向和幅度 2. grad物理含义:loss L = 0 的时候,需要的变化量 3. w = w - grad * lr 若梯度为正,权重应该减小 @@ -16,18 +16,6 @@ 1. 对于repeat的操作,需要对grad_output进行sum 2. 对于bits->index的操作,需要对grad_output进行repeat -### grad 计算 - -grad_output output input exp_grad grad_input - + + + + - + - + - - - + + - - - - + + - + + - - - + - - + - - + - + - - - - - - ## 问题 * 在一串的binary lut网络中插入一层,交换各个channel之间的数据,生成新的相同数量的channel @@ -62,4 +50,5 @@ grad_output output input exp_grad grad_input 2. 稳定性很大,对lr不敏感 3. Repeat的反向由Lut统一处理,而不是pytorch自动反向,可能修复了一些维度处理的错误 1. 经过这个改动后,把grad_input计算回归到原来的方式 grad_input = grad_output,发现精度提升非常大 - 2. 原来的方式可能因为一些代码的bug导致的,learning rate的设置也不敏感了, 权重的初始化值也不敏感了 \ No newline at end of file + 2. 原来的方式可能因为一些代码的bug导致的,learning rate的设置也不敏感了, 权重的初始化值也不敏感了 +* **增加全连接的映射Lut不能提高模型最终精度的问题** \ No newline at end of file