tensorflow中文社区学习

视频笔记:https://www.bilibili.com/watchlater/#/av50844584/p14tensorflow中文社区学习_第1张图片tensorflow中文社区学习_第2张图片tensorflow中文社区学习_第3张图片tensorflow中文社区学习_第4张图片tensorflow中文社区学习_第5张图片在这里插入图片描述tensorflow中文社区学习_第6张图片tensorflow中文社区学习_第7张图片tensorflow中文社区学习_第8张图片tensorflow中文社区学习_第9张图片tensorflow中文社区学习_第10张图片tensorflow中文社区学习_第11张图片tensorflow中文社区学习_第12张图片tensorflow中文社区学习_第13张图片tensorflow中文社区学习_第14张图片tensorflow中文社区学习_第15张图片tensorflow中文社区学习_第16张图片tensorflow中文社区学习_第17张图片tensorflow中文社区学习_第18张图片tensorflow中文社区学习_第19张图片tensorflow中文社区学习_第20张图片tensorflow中文社区学习_第21张图片tensorflow中文社区学习_第22张图片tensorflow中文社区学习_第23张图片tensorflow中文社区学习_第24张图片tensorflow中文社区学习_第25张图片tensorflow中文社区学习_第26张图片tensorflow中文社区学习_第27张图片tensorflow中文社区学习_第28张图片tensorflow中文社区学习_第29张图片tensorflow中文社区学习_第30张图片tensorflow中文社区学习_第31张图片tensorflow中文社区学习_第32张图片tensorflow中文社区学习_第33张图片tensorflow中文社区学习_第34张图片tensorflow中文社区学习_第35张图片tensorflow中文社区学习_第36张图片tensorflow中文社区学习_第37张图片
tensorflow中文社区学习_第38张图片tensorflow中文社区学习_第39张图片tensorflow中文社区学习_第40张图片tensorflow中文社区学习_第41张图片tensorflow中文社区学习_第42张图片tensorflow中文社区学习_第43张图片tensorflow中文社区学习_第44张图片tensorflow中文社区学习_第45张图片tensorflow中文社区学习_第46张图片tensorflow中文社区学习_第47张图片tensorflow中文社区学习_第48张图片tensorflow中文社区学习_第49张图片tensorflow中文社区学习_第50张图片

第一章: 利用神经网络识别手写数字

人工神经网络的两大类别(感知器和sigmoid神经元)以及神经网络标准学习算法,即随机梯度下降。

tensorflow中文社区学习_第51张图片

阈值越低,表明你越想去参加这个节日活动。

当我们定义感知器时,它们都只有一个输出。但上面的网络中,这些感知器看上去有多个输出。实际上,它们也仍然只有一个输出,只不过为了更好的表明这些感知器输出被其他感知器所使用,因此采用了多个输出的箭头线表示,这比起绘制一条输出线然后分裂开更好一些。tensorflow中文社区学习_第52张图片

sigmod神经元
σ有时叫做逻辑函数,并且这种新的神经元叫做逻辑神经元。
tensorflow中文社区学习_第53张图片tensorflow中文社区学习_第54张图片tensorflow中文社区学习_第55张图片
中间层被称为隐含层,因为里面的神经元既不是输入也不是输出。“隐含”这个术语实际上它只表示“不是输入和输出”而已。
由于一些历史原因,这样的多层网络有时被叫做多层感知器或者MLPs尽管它是由sigmoid神经元构成的,而不是感知器。
tensorflow中文社区学习_第56张图片
某一层的输出当作下一层的输入的神经网络。这样的网络被称为前向反馈神经网络。这意味着在网络中没有循环——信息总是向前反馈,决不向后。

递归神经网络比起前馈网络更加接近于我们人脑的工作方式。模型思想是让神经元在不活跃之前激励一段有限的时间。这种激励能刺激其它神经元,使其也能之后激励一小会。这就导致了更多神经元产生激励,等过了一段时间,我们将得到神经元的级联反应。在这样的模型中循环也不会有太大问题,因为一个神经元的输出过一会才影响它的输入,而不是瞬间马上影响到。

将识别手写数字分成两个子问题。首先,我们想办法将一个包含很多数字的图像分成一系列独立的图像,每张包含唯一的数字。
然后,一旦这幅图像被分离,程序需要将各个数字进行分类
为了识别这些数字,我们将采用三层神经网络tensorflow中文社区学习_第57张图片tensorflow中文社区学习_第58张图片
为什么用10个输出神经元。别忘了,网络的目标是识别出输入图像对应的数字(0,1,2,…,9)。一种看起来更自然的方法是只用4个输出神经元,每个神经元都当做一个二进制值,取值方式取决于神经元输出接近0,还是1。

代价函数有时被称为损失或目标函数。
tensorflow中文社区学习_第59张图片
为什么引入二次型代价函数?毕竟,我们不是主要关注在网络对多少图像进行了正确分类?为什么不直接最大化这个数值,而不是最小化一个像二次型代价函数一样的间接测量值?问题就在于正确识别的图像数量不是权重和偏移的平滑的函数。对于大多数,权重和偏移的很小改变不会让正确识别的图像数量值有任何改变。这就使得很难指出如何改变权重和偏移来提高性能。如果我们使用一个像二次型平滑代价函数,它将很容易指出如何细微的改变权重和偏移来改进代价函数。这就是为什么我们首先关注在最小化二次型代价函数,而且只有那样我们才能检测分类的准确性。
我们训练神经网络的目标是找出
能最小化二次型代价函数C(w,b)的权重和偏移。

在这里插入图片描述tensorflow中文社区学习_第60张图片

tensorflow中文社区学习_第61张图片
注意:采用这一规则,梯度下降算法并没有模拟真实的物理运动。在现实世界,小球具有动量,而动量可能让小球偏离最陡的下降走向,甚至可以让其暂时向着山顶的方向逆向运动。这里,我们选择Δv的规则却是说“立马给我往下滚”,而这个规则仍然是寻找最小值的一个好方法!tensorflow中文社区学习_第62张图片
学习率小,迭代次数大。 将NaN或空值替换为其他值,不影响模型学习。
因此梯度下降可以被认为是一种沿着 C 局域下降最快的方向一步一步向前走,从而找到最小值的方法。

一个可用于加速学习过程的办法被称作 “随机梯度下降”(stochastic gradient descent)。

你可能感兴趣的:(tensorflow中文社区学习)