云社区 博客 博客详情
云社区 博客 博客详情

深度实践OpenStack:基于Python的OpenStack组件开发—2.2 例说PyTorch

华章计算机 发表于 2019-05-31 01:22:31 05-31 01:22
华章计算机 发表于 2019-05-31 01:22:31 2019-05-31
0
0

【摘要】 本书摘自深度实践OpenStack:基于Python的OpenStack组件开发—2.2 例说PyTorch》,作者是喻涛,田亮,张家龙,赵利军,李飞。

2.2 例说PyTorch

  本节来看一个用PyTorch实现的完整应用。在这一节中你会看到一些使用PyTorch的Python语句。也许你不会Python,或是没有安装运行Python的软件,这都没有关系。本书后续的章节会详细介绍软件安装、Python编写和PyTorch的使用。本节只是希望你能对PyTorch的用法有个初步的了解。


图2-1 使用PyTorch实现人工神经网络。左边框内是使用PyTorch的Python代码,右边框内是代码对应的神经网络结构

2.2.1 迷你AlphaGo介绍

  本节一起来看一个小程序“迷你AlphaGo”。这个小程序完成了下面的功能:有一个连续可导的函数,它有4个输入,前3个输入是,第4个输入是,它能返回一个实数。我们并不清楚函数的具体形式。我们的目标就是对任意的,找到合适的,使得函数的值最大。用数学语言表示,就是给定函数,求解


这个问题可以用图2-2表示。图中标有问号“?”的方框就是我们想要求解的关系。

  这个应用之所以称为“迷你AlphaGo”,是因为这个问题和AlphaGo试图解决的问题非常相似。如果我们把前三个输入看作围棋的当前局势,把看作下一步要下的棋,把函数看作胜率函数,那么这个问题就相当于在给定局势的情况下,找到最优的下棋策略,使得胜率最大(当然,AlphaGo实际比这个复杂得多,例如实际可选的下棋位置只是离散的几个网格交叉点,胜率函数不能非常容易地评估出来等。所以本节的例子只是AlphaGo的一个简化版本)。

  “迷你AlphaGo”问题可以用人工神经网络求解。求解思路如下:用一个人工神经网络来代替从到的关系。通过设计人工神经网络的结构、确定合适的参数,使得这个人工神经网络可以实现从到的关系。值得一提的是,由于不知道函数的具体形式,所以也不知道从到的最优关系的形式。实际上,从到的关系甚至可能没有显式表达式。这再一次体现了人工神经网络的强大之处:我们不需要知道解答的形式,只需要搭建人工神经网络;我们不需要告诉机器神经网络中神经元的权重都是多少,PyTorch可以帮助找到神经元的权重。在完成神经网络的搭建、选取合适的权重后,这个人工神经网络就能够实现“迷你AlphaGo”的全部功能。


登录后可下载附件,请登录或者注册

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:huaweicloud.bbs@huawei.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
评论文章 //点赞 收藏 0
点赞
分享文章到微博
分享文章到朋友圈

评论 (0)


0/1000
评论

登录后可评论,请 登录注册

评论

您没有权限执行当前操作

温馨提示

您确认删除评论吗?

确定
取消
温馨提示

您确认删除评论吗?

删除操作无法恢复,请谨慎操作。

确定
取消
温馨提示

您确认删除博客吗?

确定
取消

确认删除

您确认删除博客吗?

确认删除

您确认删除评论吗?

温馨提示

登录超时或用户已下线,请重新登录!!!

确定
取消