54、深度学习-自学之路-自己搭建深度学习框架-15、解释梯度消失和梯度爆炸的问题。

复制代码
import numpy as np

sigmoid = lambda x:1/(1 + np.exp(-x))
relu = lambda x:(x>0).astype(float)*x

weights = np.array([[1,4],[4,1]])
activation = sigmoid(np.array([1,0.01]))

print("Activations")
activations = list()
for iter in range(10):
    activation = sigmoid(activation.dot(weights))
    activations.append(activation)
    print(activation)
print("\nGradients")
gradient = np.ones_like(activation)
for activation in reversed(activations):
    gradient = (activation * (1 - activation) * gradient)
    gradient = gradient.dot(weights.transpose())
    print(gradient)

print("Relu Activations")
activations = list()
for iter in range(10):
    activation = relu(activation.dot(weights))
    activations.append(activation)
    print(activation)

print("\nRelu Gradients")
gradient = np.ones_like(activation)
for activation in reversed(activations):
    gradient = ((activation > 0) * gradient).dot(weights.transpose())
    print(gradient)
    
'''
Activations
[0.93940638 0.96852968]
[0.9919462  0.99121735]
[0.99301385 0.99302901]
[0.9930713  0.99307098]
[0.99307285 0.99307285]
[0.99307291 0.99307291]
[0.99307291 0.99307291]
[0.99307291 0.99307291]
[0.99307291 0.99307291]
[0.99307291 0.99307291]

Gradients
[0.03439552 0.03439552]
[0.00118305 0.00118305]
[4.06916726e-05 4.06916726e-05]
[1.39961115e-06 1.39961115e-06]
[4.81403643e-08 4.81403637e-08]
[1.65582672e-09 1.65582765e-09]
[5.69682675e-11 5.69667160e-11]
[1.97259346e-12 1.97517920e-12]
[8.45387597e-14 8.02306381e-14]
[1.45938177e-14 2.16938983e-14]
Relu Activations
[4.8135251  4.72615519]
[23.71814585 23.98025559]
[119.63916823 118.852839  ]
[595.05052421 597.40951192]
[2984.68857188 2977.61160877]
[14895.13500696 14916.36589628]
[74560.59859209 74496.90592414]
[372548.22228863 372739.30029248]
[1863505.42345854 1862932.18944699]
[9315234.18124649 9316953.88328115]

Relu Gradients
[5. 5.]
[25. 25.]
[125. 125.]
[625. 625.]
[3125. 3125.]
[15625. 15625.]
[78125. 78125.]
[390625. 390625.]
[1953125. 1953125.]
[9765625. 9765625.]
'''
相关推荐
CS创新实验室1 分钟前
《机器学习数学基础》补充资料:可逆矩阵的手工计算方法和总结
人工智能·机器学习·矩阵·机器学习数学基础
KingDol_MIni33 分钟前
一个使用ALIGNN神经网络对材料性能预测的深度学习案例解读
人工智能·pytorch·深度学习
机器之心1 小时前
中国团队首次夺魁!无问芯穹FlightVGM获FPGA'25最佳论文,峰值算力超GPU,抹平21倍
人工智能
瞬间动力1 小时前
笔记:大模型Tokens是啥?为啥大模型按Tokens收费?
前端·javascript·人工智能·阿里云·easyui·oneapi·to
名之以父1 小时前
Git与GitHub:它们是什么,有什么区别与联系?
开发语言·前端·javascript·人工智能·github·个人开发·gitcode
想吃砸到牛顿的苹果的籽1 小时前
点云 PCL 滤波在自动驾驶的用途。
人工智能·机器学习·自动驾驶
轻松Ai享生活2 小时前
2025最好十大开源 LLM 模型及其使用场景
人工智能
AWS官方合作商2 小时前
DeepSeek on AWS:解锁高效AI训练与部署的云端密码
人工智能·云计算·aws
Y1nhl2 小时前
数据挖掘实习面经一
人工智能·python·机器学习·搜索引擎·数据挖掘·推荐算法·风控算法
dundunmm2 小时前
【数据挖掘】Matplotlib
人工智能·python·数据挖掘·matplotlib