当前位置:文档之家› 人工智能tensorflow实验报告

人工智能tensorflow实验报告

一、软件下载为了更好的达到预期的效果,本次tensorflow开源框架实验在Linux环境下进行,所需的软件及相关下载信息如下:1.CentOS软件介绍:CentOS 是一个基于Red Hat Linux 提供的可自由使用源代码的企业级Linux 发行版本。

每个版本的CentOS都会获得十年的支持(通过安全更新方式)。

新版本的CentOS 大约每两年发行一次,而每个版本的CentOS 会定期(大概每六个月)更新一次,以便支持新的硬件。

这样,建立一个安全、低维护、稳定、高预测性、高重复性的Linux 环境。

CentOS是Community Enterprise Operating System的缩写。

CentOS 是RHEL(Red Hat Enterprise Linux)源代码再编译的产物,而且在RHEL的基础上修正了不少已知的Bug ,相对于其他Linux 发行版,其稳定性值得信赖。

软件下载:本次实验所用的CentOS版本为CentOS7,可在CentOS官网上直接下载DVD ISO镜像文件。

下载链接:/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1611.i so.2.Tensorflow软件介绍:TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。

Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow为张量从流图的一端流动到另一端计算过程。

TensorFlow是将复杂的数据结构传输至人工智能神经网中进行分析和处理过程的系统。

TensorFlow可被用于语音识别或图像识别等多项机器深度学习领域,对2011年开发的深度学习基础架构DistBelief进行了各方面的改进,它可在小到一部智能手机、大到数千台数据中心服务器的各种设备上运行。

TensorFlow将完全开源,任何人都可以用。

软件下载:本次实验所用的Tensorflow版本为Tensorflow0.5.0,因为实验是在Linux下进行的,所以须在Tensorflow官网或GitHub上下载Linux版本的。

下载链接:https:///tensorflow/tensorflow/tree/0.5.03.Anaconda软件介绍:Anaconda是一个用于科学计算的Python发行版,支持Linux, Mac, Windows 系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。

Anaconda利用工具/命令conda来进行package 和environment的管理,并且已经包含了Python和相关的配套工具。

软件下载:本次实验所用的Anaconda版本为Anaconda2-4.2.0,因为实验环境在Linux中进行,所以需在Anaconda官网上下载Linux版本的。

下载链接:https://www.continuum.io/downloads/#linux.4.VMware Workstation软件介绍:VMware Workstation(中文名“威睿工作站”)是一款功能强大的桌面虚拟计算机软件,提供用户可在单一的桌面上同时运行不同的操作系统,和进行开发、测试、部署新的应用程序的最佳解决方案。

VMware Workstation可在一部实体机器上模拟完整的网络环境,以及可便于携带的虚拟机器,其更好的灵活性与先进的技术胜过了市面上其他的虚拟计算机软件。

对于企业的IT开发人员和系统管理员而言,VMware在虚拟网路,实时快照,拖曳共享文件夹,支持PXE 等方面的特点使它成为必不可少的工具。

软件下载:本次实验所用的VMware Workstation版本为VMware Workstation10.7z,可以在百度搜索的相关网站下载,也可以在VMware Workstation官网上下载。

下载链接:https:///web/vmware/info/slug/desktop_end_user_computing/vmware_workstation/10_0.5.Xshell软件介绍:Xshell是一个强大的安全终端模拟软件,它支持SSH1,SSH2, 以及Microsoft Windows 平台的TELNET 协议。

Xshell 通过互联网到远程主机的安全连接以及它创新性的设计和特色帮助用户在复杂的网络环境中享受他们的工作。

Xshell可以在Windows界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。

软件下载:本次实验所用的Xshell版本为Xshell5.0.0964,可直接在百度软件中心下载,也可以在Xshell官网上下载(包含中文汉化版的)。

下载链接:/xshell_download.html.二、软件安装本次实际桌面操作系统为Windows7,但实验需在Linux环境下进行,所以需要安装一个虚拟机,其软件的安装如下:1.VMware Workstation10.7z本次实验的VMware Workstation10.7z为一个可执行的exe文件,选择好安装目录,双击便可安装。

安装截图如下:成功安装后截图:2.CentOS7本次实验的CentOS7为一个ISO镜像文件,需在VMware Workstation10.7z 中新建虚拟机来进行安装。

由于安装步骤比较繁琐,这里选取主要截图(其具体安装可参考链接https:///article/eae0782787b4c01fec548535.html):成功安装后截图:运行截图:3.Anaconda2-4.2.0本次实验的Anaconda2-4.2.0为一个sh文件,通过命令bash Anaconda2-4.2.0-Linux-x86_64.sh进行安装。

安装截图如下:成功安装后,调用ipython界面:4.Tensorflow本次实验的Tensorflow0.5.0为一个whl文件,可以直接通过命令pip install tensorflow-0.5.0-cp27-none-linux_x86_64.whl进行安装。

安装截图如下:成功安装截图:5.Xshell本上实验的Xshell5.0.0964为一个可执行的exe文件,选择好安装目录,双击即可进行安装。

安装截图如下:成功安装后截图:运行截图:三、算法原理本次实验的inception模型主要运用了CNN卷积神经网络,下面主要就CNN卷积神经网络和inception模型做一个简单的介绍:CNN卷积神经网络:卷积神经网络是近年发展起来,并引起广泛重视的一种高效识别方法。

20世纪60年代,Hubel和Wiesel在研究猫脑皮层中用于局部敏感和方向选择的神经元时发现其独特的网络结构可以有效地降低反馈神经网络的复杂性,继而提出了卷积神经网络(Convolutional Neural Networks-简称CNN)。

现在,CNN已经成为众多科学领域的研究热点之一,特别是在模式分类领域,由于该网络避免了对图像的复杂前期预处理,可以直接输入原始图像,因而得到了更为广泛的应用。

K.Fukushima在1980年提出的新识别机是卷积神经网络的第一个实现网络。

随后,更多的科研工作者对该网络进行了改进。

其中,具有代表性的研究成果是Alexander和Taylor提出的“改进认知机”,该方法综合了各种改进方法的优点并避免了耗时的误差反向传播。

一般地,CNN的基本结构包括两层,其一为特征提取层,每个神经元的输入与前一层的局部接受域相连,并提取该局部的特征。

一旦该局部特征被提取后,它与其它特征间的位置关系也随之确定下来;其二是特征映射层,网络的每个计算层由多个特征映射组成,每个特征映射是一个平面,平面上所有神经元的权值相等。

特征映射结构采用影响函数核小的sigmoid函数作为卷积网络的激活函数,使得特征映射具有位移不变性。

此外,由于一个映射面上的神经元共享权值,因而减少了网络自由参数的个数。

卷积神经网络中的每一个卷积层都紧跟着一个用来求局部平均与二次提取的计算层,这种特有的两次特征提取结构减小了特征分辨率。

CNN主要用来识别位移、缩放及其他形式扭曲不变性的二维图形。

由于CNN 的特征检测层通过训练数据进行学习,所以在使用CNN时,避免了显示的特征抽取,而隐式地从训练数据中进行学习;再者由于同一特征映射面上的神经元权值相同,所以网络可以并行学习,这也是卷积网络相对于神经元彼此相连网络的一大优势。

卷积神经网络以其局部权值共享的特殊结构在语音识别和图像处理方面有着独特的优越性,其布局更接近于实际的生物神经网络,权值共享降低了网络的复杂性,特别是多维输入向量的图像可以直接输入网络这一特点避免了特征提取和分类过程中数据重建的复杂度。

1.Convolution Layers 卷积层在一个卷积层,上一层的特征maps 被一个可学习的卷积核进行卷积,然后通过一个激活函数,就可以得到输出特征map 。

每一个输出map 可能是组合卷积多个输入maps 的值:1*j j i ij j i M x f x k b ζζ-ζζ∈⎛⎫=+ ⎪ ⎪⎝⎭∑ 这里j M 表示选择的输入maps 的集合,那么到底选择哪些输入maps 呢?有选择一对的或者三个的。

但下面我们会讨论如何去自动选择需要组合的特征maps 。

每一个输出map 会给一个额外的偏置b ,但是对于一个特定的输出map ,卷积每个输入maps 的卷积核是不一样的。

也就是说,如果输出特征map j 和输出特征map k 都是从输入map i 中卷积求和得到,那么对应的卷积核是不一样的。

(1)Computing the Gradients 梯度计算()11'(u )TW f ζζ+ζ+ζδ=δ (公式1) 这里的“◦”表示每个元素相乘。

1()T E x W ζ-ζζ∂=δ∂E W W ζζ∂=-η∂ (公式2) 我们假定每个卷积层ζ都会接一个下采样层ζ+1 。

对于BP 来说,我们知道,要想求得层ζ的每个神经元对应的权值的权值更新,就需要先求层ζ的每一个神经节点的灵敏度δ(也就是权值更新的公式(2))。

为了求这个灵敏度我们就需要先对下一层的节点(连接到当前层ζ的感兴趣节点的第ζ+1层的节点)的灵敏度求和(得到1ζ+δ),然后乘以这些连接对应的权值(连接第ζ层感兴趣节点和第ζ+1层节点的权值)W 。

再乘以当前层ζ的该神经元节点的输入u 的激活函数f 的导数值(也就是那个灵敏度反向传播的公式(1)的ζδ的求解),这样就可以得到当前层ζ每个神经节点对应的灵敏度ζδ了。

相关主题