第一章什么是深度学习

1.1 人工智能、机器学习与深度学习

1.1.1 人工智能

1.1.2 机器学习

1.1.3 从数据中学习表示

1.1.4 深度学习之 “深度”

1.1.5 用三张图理解深度学习的工作原理

1.1.6 深度学习已经取得的进展

1.1.7 不要相信短期炒作

1.1.8 人工智能的未来

1.2 深度学习之前:机器学习简史

1.2.1 概率建模

1.2.2 早期神经网络

1.2.3 核方法

1.2.4 决策树、随机森林与梯度提升机

1.2.5 回到神经网络

1.2.6 机器学习现状

1.3 为什么是深度学习,为什么是现在

1.3.1 硬件

1.3.2 数据

1.3.3 算法

1.3.4 新的投资热潮

1.3.5 深度学习的大众化

1.3.6 这种趋势会持续吗

 

《Python深度学习》 第一章总结

1.  人工智能定义:努力将通常由人类完成的智力任务自动化。

符号人工智能(只能解决定义明确的逻辑问题)不能解决更复杂、模糊的问题(图像分类等),即出现了机器学习。

《Python深度学习》 第一章总结

机器学习系统是训练出来的,而不是明确的用程序编写出来的。统计学(如贝叶斯网络)不能处理大的数据集,另外数据属性之间存在相互的关联,使用统计学较好,不同于统计学,机器学习处理大型的数据集。

机器学习包含三点:

输入数据点。图像、语音、文字等数据。

预期输出的示例。语音识别的文本,以及图像分类的标签猫、狗等。

衡量算法效果好坏的方法(损失):计算实际输出与预期输出之间的差距。

衡量的结果是调节算法的信号,这种调节就是学习。机器学习和深度学习的核心就是有意义的变换数据(对数据进行处理,将原始数据转化为另一种形式),新的形式更容易接近我们想要得到的预期结果。另外这个变换的形式有很多,在所有预先定义的可能性变换方式空间中,利用反馈信号的调节来寻找最好的数据变换方式,这就是机器学习。

原始输入--(变换)--> 新的数据表示 -----> 输出       机器学习这个过程是1.自动寻找  2. 搜索所有的,通过比较找到好的。

2.  深度学习

深度学习是一种新的从数据中学习表示(变换数据)的方法,强调从层(layer)中进行学习。深度学习中的“深度”是指连续的表示层。这些分层表示(连续的层)通过一个叫神经网络的模型来学习得到的。(深度学习和神经网络不是一个东西

《Python深度学习》 第一章总结

信息通过不同的层,可以看做是多级信息的蒸馏,当信息通过多层,纯度会越来越高。(对我们的预期输出帮助越大)

《Python深度学习》 第一章总结

《Python深度学习》 第一章总结

神经网络中的具体操作都保存在该层的权重(本质为一串数字)中,即每层之间的变换都是权重参数化,权重有时也被称为该层参数。在这里情况下,学习的意思是为神经网络中的所有层都找到一组权重值,使得该网络能够将每个示例输入与其目标正确地一一对应。

得到的预测值和真实值之间的差距,通过损失函数来衡量,并得到损失值。之后优化器(实现了所谓的反向传播算法)(optimizer)利用这个差距来对权重值进行微调,进而降低当前示例的损失值。最终要得到一个具有最小损失的网络,其输出值已经和目标值尽可能的接近。

 

3. 深度学习之前:机器学习(关于其中涉及到的具体的算法,介绍的不是特别详细)

(1)概率建模:朴素贝叶斯算法,logistics回归算法(是一种分类算法,不是回归算法)

(2)早期神经网络:反向传播算法(利用梯度下降优化来训练一系列参数化运算链的方法)

(3)核方法(一组算法):有名的SVM算法

(4)决策树、随机森林与梯度提升机

(5)深度卷积神经网络

深度学习在很多问题上表现的十分出色,具有较好的性能。深度学习让解决问题变得更加简单,因为它让特征工程自动化

之前的浅层机器学习只能将输入数据变换到一两个连续的空间,这样学习到的特征效果不好,为了得到更加精确的表示,需要人们手动的为数据设计好的表示层。即特征工程。但是深度学习可能让这个过程自动化,并且一次性学习所有特征,无须自己手动设计。

《Python深度学习》 第一章总结

假设3个模型,一个是三层模型,一个是单层模型,另一个是双层模型,3个模型中的层都是一样的,但是3层模型中的最优的第一表示层和单层模型以及双层模型中最优的第一层是不一样的。因为模型可以共同学习所有表示层,而不是依次连续学习(贪婪学习)。

深度学习从数据中进行学习有两个基本特征:

(1)通过渐进的、逐层的方式形成越来越复杂的表示。

(2)对中间这些渐进的表示共同进行学习,每一层的变化都需要同时考虑上两层的需要。

《Python深度学习》 第一章总结

遇到的问题:

(1)一个深度神经网络可能含有数千万个参数?如何理解?

(2)特征工程的概念?如何做?

(3)SVM、决策树、随机森林、梯度提升机等出现的算法不了解?

(4)XGBoost库(梯度提升机处理结构化数据的问题),有需要用的话需要查阅

(5)之前从事深度学习需要精通C++与CUDA,现在是否需要?或者掌握它可以做些什么?

(6)已经训练好了一个深度学习模型,在附加数据上直接进行连续在线学习?不太懂?

相关文章: