首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

神经⽹络与深度学习

本书英⽂原版地址为:http://neuralnetworksanddeeplearning.com/

神经⽹络,⼀种美妙的受⽣物学启发的编程范式,可以让计算机从观测数据中进⾏学习

深度学习,⼀个强有⼒的⽤于神经⽹络学习的众多技术的集合

本书中介绍了一个简单手写书法分类的网络结构,提供了专门的Python代码。代码是Python2 的我将它改成了Python3 的方便大家使用。

目录

版权i

⽬录ii

关于作者iv

关于本书翻译v

前⾔vi

这本书是关于什么的?vii

关于练习和问题ix

1使⽤神经⽹络识别⼿写数字1

1.1感知器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2 S型神经元. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.3神经⽹络的架构. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.4⼀个简单的分类⼿写数字的⽹络. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.5使⽤梯度下降算法进⾏学习. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.6实现我们的⽹络来分类数字. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

1.7迈向深度学习. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2反向传播算法如何⼯作34

2.1热⾝:神经⽹络中使⽤矩阵快速计算输出的⽅法. . . . . . . . . . . . . . . . . . . . 34

2.2关于代价函数的两个假设. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

2.3 Hadamard乘积,s⊙t. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

2.4反向传播的四个基本⽅程. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

2.5四个基本⽅程的证明(可选). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

2.6反向传播算法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

2.7代码. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

2.8在哪种层⾯上,反向传播是快速的算法?. . . . . . . . . . . . . . . . . . . . . . . . 45

2.9反向传播:全局观. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

3改进神经⽹络的学习⽅法50

3.1交叉熵代价函数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

3.1.1引⼊交叉熵代价函数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

3.1.2使⽤交叉熵来对MNIST数字进⾏分类. . . . . . . . . . . . . . . . . . . . . . 60

3.1.3交叉熵的含义?源⾃哪⾥?. . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

3.1.4柔性最⼤值. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

3.2过度拟合和规范化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

3.2.1规范化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

3.2.2为何规范化可以帮助减轻过度拟合. . . . . . . . . . . . . . . . . . . . . . . . 73

3.2.3规范化的其他技术. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

3.3权重初始化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

3.4再看⼿写识别问题:代码. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

3.5如何选择神经⽹络的超参数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

3.6其它技术. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

3.6.1随机梯度下降的变化形式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

3.6.2⼈⼯神经元的其他模型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

3.6.3有关神经⽹络的故事. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

4神经⽹络可以计算任何函数的可视化证明111

4.1两个预先声明. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

4.2⼀个输⼊和⼀个输出的普遍性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

4.3多个输⼊变量. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

4.4 S型神经元的延伸. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

4.5修补阶跃函数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

4.6结论. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

5深度神经⽹络为何很难训练135

5.1消失的梯度问题. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

5.2什么导致了消失的梯度问题?深度神经⽹络中的梯度不稳定性. . . . . . 140

5.3在更加复杂⽹络中的不稳定梯度. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

5.4其它深度学习的障碍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

6深度学习

6.1介绍卷积⽹络. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

6.2卷积神经⽹络在实际中的应⽤. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

6.3卷积⽹络的代码. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

6.4图像识别领域中的近期进展. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172

6.5其他的深度学习模型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

6.6神经⽹络的未来. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

这是一个介绍性的书,就算不懂也可以进行学习,主要是提高对神经网络和深度学习的一个认识。

Python代码请clone:https://github.com/dao2shui/neural-networks-and-deep-learning.git

想看着本书的回复:

下载%神经网络与深度学习%

就可以获得呦

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171213G1060P00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券