莫烦PYTHONTensorflow教程——Tensorflow简介(第一章)

莫烦PYTHONTensorflow教程——Tensorflow简介(第一章)

2023年6月29日发(作者:)

莫烦PYTHONTensorflow教程——Tensorflow简介(第⼀章)教程⾷⽤感受:如果你偶然翻到了这篇⽂章,那么就看⼀下我对这个系列教程的感受吧,⾸先就是讲的太磨叽,第⼆是备课不⾜,第三讲的不透彻。。。尤其是后⾯的⾼阶部分,我觉得还不如看书,所以我不建议看这套教程。。我是看不动了。。当然莫烦⽼师个⼈⽔平可能很⾼,但是讲课⽔平真的不⾼,个⼈感受,勿喷。

本笔记基于的1.1 科普:⼈⼯神经⽹络VS⽣物神经⽹络⽣物神经⽹络:⼈的神经⽹络由900亿个神经细胞组成,我们完成/学习⼀项动作其实就是⼀个记忆过程,对于⼀件没有接触过的事情我们负责这块事情的神经元其实不是连接起来的,当我们开始做了这件事,神经元开始产⽣联结,记忆形成,就变成了⼀块流通的神经⽹络。

⼈⼯神经⽹络:所有的神经元之间的连接都是固定不可更改的,不会产⽣新的连接。⼈⼯神经⽹络典型的学习⽅式就是,例如⼀个新⽣婴⼉学习向家长要糖吃糖这件事,我已经知道吃糖果这件事,并且能够进⾏正确的反馈,但是我想让⼈⼯神经⽹络帮助我做这件事,所以我准备好很多吃糖果的数据集,通过输出进⾏训练,最后到输出,看输出的动作是不是讨糖,进⽽修改神经⽹络中的神经元的强度(反向传播回去),这种修改叫做“误差反向传递”,观察这个负责传递信号的神经元到底其没有起到作⽤,争取下次做出更好的贡献。

区别:⼈⼯神经⽹络不产⽣新连接,靠的是正向和反向传播来不断的更新神经元,从⽽训练出⼀个好的神经系统,⽽这个神经系统其实就是⼀个让计算机处理的可优化的数学模型;⽽⽣物神经⽹络是通过刺激,产⽣新的连接形成通路⽽进⾏反馈。1.2 什么是神经⽹络 神经⽹络如何从经验中学习呢?

神经⽹络的训练结果有对有错,对于错误的结果,神经⽹络会对⽐正确答案与错误答案之间的区别,然后把这个区别反向传递回去,对每个神经元进⾏⼀点点的改变,下次就⽤修改之后的神经元进⾏更准确的训练。

神经⽹络如何训练呢?

每个神经元都有属于他⾃⼰的激活函数,⽤这些函数给计算机⼀个激励⾏为。在第⼀次给计算机看猫图⽚的时候,神经⽹络只有部分神经元被激活,这部分神经元所传递的信息是对输出结果最有价值的信息。如果输出的结果判断错了,那么就会修改神经元,这部分神经元就会变得迟钝,其他神经元会变得敏感,从⽽被激活,这样⼀次次的训练,所有神经元的参数都在被改变,他们才会对重要/正确的信息更为敏感。

1.3 神经⽹络 梯度下降原理:梯度下降机制

对于⼀个误差⽅程,我们通常⽤平⽅差来代替,现在我们简化⼀下这个⽅程,W是神经⽹络中的参数,x和y都是数据,假设初始化的W在图中的位置,我们应⽤梯度下降法不断的寻找最低点,当梯度曲线躺平时我们就找到了W的最理想值。但是在具体的神经⽹络中的梯度下降可没这么简单,因为有很多的W,如果有⼀个W,那么我们可以画出⼆维图形,如果有两个W,我们可以画出⼀个三维图形,但是如果更多,我们就没办法画出可视化图形了,并且误差曲线的最优解也不⽌⼀个。

全局最优解固然是最好的,但是我们⽆法保证找到的⼀定是全局最优解,当然了,局部最优解也可以完成你想要的结果。1.4 神经⽹络的⿊盒不⿊

⿊盒其实就是⼀个对数据的加⼯过程,他代表的就是输⼊和输出之间的隐藏层。对于输⼊端的baby,⿊盒中第⼀个隐藏层对baby的信息进⾏加⼯形成⼀个计算机才能识别的信息,它会朝着输出奶瓶进⾏转换,在第⼆个隐藏层中继续对第⼀个隐藏层中的信息进⾏加⼯使之更接近奶瓶,所以与其说⿊盒是在加⼯处理,不如说他是将⼀种代表特征转换成另⼀种代表特征,⼀次次特征之间的转换,也就是⼀次次的更有深度的理解。

在专业术语中,我们将输⼊端的baby叫做特征,将加⼯过的特征叫做代表特征。

举例说明:神经⽹络接收分类⼿写的图⽚

我们先将输出端拆掉,在隐藏层的最后⼀层,是三个神经元,第三层要输出的信息就是我们⼿写图的最重要的代表特征,就是⽤这三个信息来表达整张图⽚的所有像素点。对于计算机来说0和1是完全不同的两个东西,所以计算机把他们放到了空间⾥完全不同的地⽅进⾏分类。

⽽输出端就是将前⾯的输出内容进⾏整理归类,把落在同⼀区域的内容归为⼀类,⽐如落在1所在的区域,计算机就会认定那些对应的像素点就是1,再对划分出来的像素点集进⾏整合。

这就是说⿊盒并不⿊的原因,有时候代表特征太多,⼈类⽆法进⾏分类与发现规律,⽽计算机却可以,这种代表特征的理解⽅式⾮常有⽤,这就是说⿊盒并不⿊的原因,有时候代表特征太多,⼈类⽆法进⾏分类与发现规律,⽽计算机却可以,这种代表特征的理解⽅式⾮常有⽤,以⾄于⼈们拿着它来研究更⾼级的神经⽹络玩法,例如迁移学习(Transfer Learning)。

迁移学习

对于⼀个训练过的有分类能⼒的神经⽹络,我们有时候需要这套神经⽹络的理解能⼒,并拿这套理解能⼒去处理其他问题,所以我们保留它的代表特征的转换能⼒,有了这个能⼒,我们就能将复杂的图⽚信息转换成更少的更有⽤的信息,⽐如刚刚那个神经⽹络,我们切掉输出层,套上另外⼀个神经⽹络,⽤这种移植的⽅式再进⾏训练,让它可以处理不同的问题,⽐如预测照⽚⾥事物的价值等等。1.5 为什么选Tensorflow?TensorFlow是Google开发的⼀款神经⽹络的Python外部的结构包, 也是⼀个采⽤数据流图来进⾏数值计算的开源软件库.TensorFlow让我们可以先绘制计算结构图, 也可以称是⼀系列可⼈机交互的计算操作, 然后把编辑好的Python⽂件转换成更⾼效的C++, 并在后端进⾏计算。1.6 Tensorflow的安装⾸先安装python3.5及以上版本

使⽤pip安装

安装pip# Ubuntu/Linux 64-位 系统的执⾏代码:$ sudo apt-get install python-pip python-dev# Mac OS X 系统的执⾏代码:$ sudo easy_install --upgrade pip$ sudo easy_install --upgrade sixCPU版本$ pip3 install tensorflowGPU版本

先安装NVIDIA CUDA必要组件$ sudo apt-get install libcupti-dev通过pip安装$ sudo apt-get install python3-pip python3-dev # for Python 3.n然后选择要安装的版本$ pip install tensorflow # Python 2.7; CPU support (no GPU support)$ pip3 install tensorflow # Python 3.n; CPU support (no GPU support)$ pip install tensorflow-gpu # Python 2.7; GPU support$ pip3 install tensorflow-gpu # Python 3.n; GPU supportwindows版本

⽅法⼀:安装Anaconda

⽅法⼆:pip安装

⾸先安装python3.5及以上版本

安装numpy,两个教程,或者,以及。

在cmd或者powershell窗⼝下敲命令# CPU 版的C:> pip3 install --upgrade tensorflow# GPU 版的C:> pip3 install --upgrade tensorflow-gpu错误1:Error importing tensorflow. Unless you are using bazel,you should not try to import tensorflow from its source directory;please exit the tensorflow source tree, and relaunch your python interpreterfrom there.解决办法:安装。

错误2:ImportError: No module named '_pywrap_tensorflow_internal'解决办法:安装。

测试

打开python编辑器,输⼊以下代码,如果没有出错则说明安装正确。import tensorflow更新Tensorflow

⽐较⿇烦,要先删除原有的版本,重新安装pip3 uninstall tensorflow #删除代码1.7 神经⽹络在⼲嘛机器学习其实就是让电脑不断的尝试模拟已知的数据,他能知道⾃⼰拟合的数据离真实的数据差距有多远,然后不断地改进⾃⼰拟合的参数,提⾼拟合的相似度。

拟合参数:假设我们的神经⽹络模拟训练⼀个⼆维的数组问题,x表⽰输⼊,y表⽰输出,⼆元⼀次函数y=ax+b,我们要通过不断的训练得出⼀个最优的或者说确定下来的a和b的值,这样再以后再输⼊的时候,就可以得到确定的y的值(当然这是不可能的,只能⽆限接近)。

发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1687977084a62816.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信