2024 07 30, 743 pm 今日內容
2024-07-30, 7:43 PM-今日內容
Cross entropy loss function 交叉熵损失函数和softmax 的组合 来确定预测出的标签和实际标签的概率… 常用函数和他的导数 neuron和weight 之间的点亮方式 Sigmoid function 把-无穷大到正无穷转化到0-1区间 的squishification function neuron是什么 weight 和bias Back propagation 的calculus 微积分的运算逻辑 + 为什么不能直接求导为0-》解决思路是gradient… Integral 积分f (calculus 微积分)
🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️
Cross entropy loss function 交叉熵损失函数和softmax 的组合 来确定预测出的标签和实际标签的概率… Cross entropy loss function 交叉熵损失函数和softmax 的组合 来确定预测出的标签和实际标签的概率差多少(categorical 会被one hot encode,所以是可以用概率来表示的)
cross entropy:他就是cost
讲这个问题讲得很清楚的网站: https://www.youtube.com/watch?v=6ArSys5qHAU
因为exponential function的导数就是他本身,然后log(e**x)) 就是x 所以才会用到cross entropy 的这个方法,也就是 通过抵消e,来让我们softmax算出来的概率直接就等于实际概率了。 Softmax的函数是这样的: 
用cross entropy 计算出的cost function 是这样的:  其中a就是每个neuron的activation,在最后一层,也代表了每个neuron预测的概率,也对应了每个标签可能的概率。
#cost_function #cross_entropy #softmax
Log 的一个重要特征,就是概率(0-1)之间的数字,他算出来的value都是负,所以cross entropy 才会在log前面加上减

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️
常用函数和他的导数 Log(x) e**x Tanh ReLU Sigmoid(x)
🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️
neuron和weight 之间的点亮方式 记住 就是A = WA(L-1) + B
点亮neuron的weight 永远在neuron前面
就像图上画的那样
 也就是说,别管第一层输入层,我们就从第一层weights 和bias入手就好了。

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️
Sigmoid function 把-无穷大到正无穷转化到0-1区间 的squishification function 也叫logistic curve, 公示:
Activation function 会用它来做,这样才方便知道或者说比较哪一个neuron被点亮了。 因为我们统一了标准  Sigmoid 的符号:  #Sigmoid
🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️
neuron是什么 neuron是一个cell,hold一个数字0-1 数字越大,越亮。所以你可以把它理解为亮度。 或者你可以把它理解为activation,activation越大,证明这个neuron九月activate。就越活越。
NN中的hidden layer的某一个neuron,说不定就代表了图片中的某一种的比较明显的特征,比如说粗眉毛,大鼻子。
#neuron #weight #bias #NN #activation_function
🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️
weight 和bias Weight主要就是说这个neuron和neuron之间的联系有多紧密 Bias就是说,这个neuron需要点到多么亮,或者需要超过多少value,这个neuron才会被点亮。
#weight #bias
🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️
Back propagation 的calculus 微积分的运算逻辑 + 为什么不能直接求导为0-》解决思路是gradient… Back propagation 的calculus 微积分的运算逻辑 + 为什么不能直接求导为0-》解决思路是gradient descent
https://www.youtube.com/watch?app=desktop&v=tIeHLnjs5U8
Back propagation 得目的就是找出让cost function 变化最大的variables, 包括weight 和bias in each layer
cost是关于weight 和bias的一个function 可以写成这样: 
我们在backpropogate的时候,是从后往前推进的,也就是说,要从cost 推进向前的activation2, activation1 等等
Cost 的计算:最后一层输出的(最后一层的activation(softmax) - groundtruth y)**2 
activation的计算方式: activation是由weight,bias,还包括了前一层的activation(sigmoid function: ReLU /Tanh等等组合成为的), 这里的sigmoid的符号,就是代表的activation使用的function了。  在没有activation之前,可以吧weight , bias, 还有前一层的activation的这个表达式用一个简单的符号Z来表示:  总结起来,看起来这个结构就是这样的: 其实y就是一个标签,我们把这个标签one hot encode之后, 其实 跟soft(weight, bias, activation上一层)这个公式产生的0-1之间的概率matrix就可以进行比较了。这就是精髓吧。 所以其实y就是一个关于activation(Z)的概率矩阵罢了,只不过他是真实的label的概率矩阵。我们通过比较真实的概率矩阵和我们瞎算出来的概率矩阵进行对比,算他们的差值的平方,就可以得出cost了。
值得注意的是,我们老是提及到activation,其实activation你仔细观察,也就是关于weight和bias的function而已,只不过他是上一层的weight和bias,仅此而已。 所以我们才会用chain rule来解决问题。 因为 Cost 降低的最厉害的地方,恰恰就是我们需要求导数的地方。 也就是对于multivariable求导数,这里的multivariable就是weight 和bias。 不过这些weight 和bias,在每一层,有每一层的名字和subscript,superscript。
是不是说求出来的导数后,令他等于0, 我们就能找到最优的weight了呢?
并不是的! 因为cost 函数一般来说都不是一个凸函数(non-convex), 所以不一定能找到最优解,也就是它存在多个最小值。 我们会陷入局部最优。 我们根本找不到一个简单的凸函数的全局最小值。在这种情况下,我们是没有办法简单的让导数为零来求解最优解weight和bias的。因为回求出很多歌局部最小值,而且计算的成本会非常的高。 为了解决这个问题,我们才用到了gradien descent,梯度下降. 其实gradient descent的目的也是更新weight 和bias,只不过他是通过计算机擅长的方式来更新。他跟learning rate非常相关。 而且核心是,他也用到了导数derivative。 这也是为什么我们一开始要initialize weight和bias, 因为我们会根据这些weight和bias的concrete value来一步一步的计算下一个step的weight和bias,再更新。 梯度下降的公式是这样的:
weight 的更新:
bias的更新  这里的alphaW:叫做derivative W,也就是W的一个小小的变动(nudge)
 Chain rule 在这个时候就会派上用场: 主要是从cost推导到w的过程,中间要经历activation, Z, 最后才能到达W 具体公式是这样的: 主要是看下标, 因为Lsuperscript代表的是这一个layer。 下标subscript代表的才是求偏导数(relevant derivatives)的过程
也就是说,对于activation, Z, 和w的偏导数,都要求出来。他们都叫做偏导数,relevant derivative

具体的计算过程是这样的: 你可以看看分子moninator都是什么样的: moninator 分母demoninator就是activation, Z , 和W。   这里的chain rule实际上已经包含了展开式了,特就是睡每一项分子对于分母来说才是变量,每一项都不是一weight和bias为核心的,这样会帮助我们简化运算。liyongchain rule来做事情,会让计算过程明确。因为每一步的relevant derivative是非常容易求的。 对于activation对于Z的导数,你觉得Z是应该展开成weight吗? 其实并不是,因为我们不是求activation对于Z里包含的weight的导数,我们只是求action对Z的导数。 所以才会变得简单。 至于Z对于activation的导数。你会发现chain rule已经在第一项乘进去了,这就是奥义。
这样的过程,对于每一个example的training example,也就是每一条数据,都需要求。所以最后表达出来的过程就是要averaging所有的这些偏导数 relevant derivatives。 这个就叫做 derivative of full cost function: 总的损失函数的导数。

更夸张的是, 注意这里的W。他仅仅代表的是梯度向量的一个分量。。
梯度向量长什么样的shape? ⁃ 首先他是matrix ⁃ 其次他是由weight和bias相对于cost组成的,也就是cost对于每一个神经元上的他们的偏导数组成(built up from partial derivatives)的。也就是relative derivative(相对于weight和bias 来说) 注意: 这里的deltaC就是gradien vector的样子
⁃ 
对于cost 对于bias的cain rule的计算(bias 对于cost的改变贡献的程度(ratio))

对于不同layer和不同的neuron的偏导数 partial derivatives, 仅仅就是下标不同,可以同时表示不同的neuron,不同的layer罢了。 下标subscript就是表示的neuron的位置,上标表示的是superscript:  注意,这个chain rule的第一项已经不是weight了。卫视上一层的activation 因为是层层相连的: 也就是说上一层的activation出来了之后,连接了Z, Z再链接了下一层的activation。 再链接下一层的Z, 最后才是cost。 所以看这个公式应该从后往前看。 注意这里的C0,代表的就是输出的数字labeled的数量,如果你让她检测0-9的数字,那么就是检测出来的图片等于0号位置的概率。 (one hot encode 让他等于1了)
J在这里代表的就是输出label的数量。也就是每个label都需要一个单独的j来表示。 也就是预测出来的数字等于每一个位置上的数字的概率是多少,然后再把它们取差值的平方。 这里j的范围就是多少的神经元,可以看出来L层的神经元的数量是n。然后因为每个神经元的计数是从0开始的,所以才要减去1. 所以求和公式主要是说。对于L层的每一个神经元。我们都要求cost。 我觉得最后一层神经元的数量应该等于label的unique的数量。
每一个neuron都会被很多歌来自 上一层L-1的neuron同时影响,随意为了表示这样的影响,我们要用两个下标来表示,上一层的那个neuron,还有这一层的哪个neuron:一般来说,上一层的每一个neuron都会对这一层的neuron产生影响。

这个图里面的k就是来自上一层L-1 的第k的neuron J表示的是我们正在访问的这个neuron。 所以写成了jk,而不是kj的形式。 如果看不懂,可以看看3b1b在第一个part讲的关于weight的shape的视频。 https://www.youtube.com/watch?v=aircAruvnKk&t=505s
具体来说,这些weights和bias组成了一个Z:
 可以从第三项举例子来看到,neuron的计数是从0开始的。 这里的W(j2)代表的就是现在我们研究的第L层的第j个neuron, 我们要让上一层的L-1层的2号,也就是第三个neuron对他产生的影响(weight )
你可以看到这个Z的公示,如果写的更加抽象一点:

唯一需要注意的就是这个chain rule的第一项,不再是位于weight的偏导数partial derivative,而是对雨上一层的activation了。因为它让我们能够组成更长的链条。
#gradient_descent
#relevant_derivative
partial_derivative
🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️
Integral 积分f (calculus 微积分) 积分f(integral)和derivative(d..)是彼此的inverse (逆)
Derivative -> antiderivative -> integral->antiintegral-> derivative
#calculus #integral #匯總今日內容