搜索

pdf文档 深度学习与PyTorch入门实战 - 22. 优化小实例

542.69 KB 7 页 1 下载 101 浏览 0 评论 0 收藏
语言 格式 评分
中文(简体)
.pdf
3
摘要
文档通过PyTorch框架演示了二维函数优化实例,重点介绍了Himmelblau函数的定义及其优化过程。通过定义函数、设置优化器(Adam)、训练过程和输出结果,展示了如何使用梯度下降法优化该函数,并找到其极小值点。文档还展示了函数的三维图像,帮助理解其形状和优化路径。
AI总结
### 文档总结:PyTorch优化二维函数(Himmelblau函数)实例 1. **Himmelblau函数** Himmelblau函数是一个经典的二维优化函数,定义为: $$ f(x,y)=(x^{2}+y-11)^{2}+(x+y^{2}-7)^{2} $$ 该函数具有多个局部极小值点,常用于测试优化算法的性能。 2. **优化目标** 使用PyTorch对Himmelblau函数进行优化,寻找其全局最小值点。全局最小值点为: - $ f(3.0,2.0)=0.0 $ - $ f(-2.805118,3.131312)=0.0 $ - $ f(-3.779310,-3.283186)=0.0 $ - $ f(3.584428,-1.848126)=0.0 $ 3. **优化过程** - 初始化参数:$ x = \text{torch.tensor}([0., 0.], \text{requires\_grad}=\text{True}) $ - 使用Adam优化器,学习率设为$ 1 \times 10^{-3} $。 - 进行20000次迭代,每2000步打印当前参数及函数值。 - 代码示例: ```python optimizer = torch.optim.Adam([x], lr=1e-3) for step in range(20000): pred = himmelblau(x) optimizer.zero_grad() pred.backward() optimizer.step() if step % 2000 == 0: print('step {}: x = {}, f(x) = {}'.format(step, x.tolist(), pred.item())) ``` 4. **结果展示** - 通过3D图形展示了Himmelblau函数的形状,帮助理解优化过程中的函数变化。 - 优化过程中的参数更新和函数值变化被记录,验证了优化算法的收敛性。 5. **总结** 本文通过PyTorch实现了对Himmelblau函数的优化,展示了梯度下降算法在寻找函数极小值点中的应用,并验证了优化器的有效性。
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
文档评分
请文明评论,理性发言.