文章目录
【吴恩达深度学习第一周】深度学习概论
1. 什么是深度学习
深度学习是机器学习研究的一个新的领域,深度学习可以理解为通过组合低层特征形成更加抽象的高层表示属性类别或特征,目的在于模拟人脑进行分析的神经网络,来模仿人脑机制来解释图像,音频等数据。
2. 什么是神经网络
2.1 神经网络初印象
上图是通过房屋规模来预测房屋价格的例子,通过RuLu函数体现,我们可以简单的理解为,我们给出一个输入(size of house),通过神经网络的计算得到输出(price),而整个函数曲线其实就是神经网络的一个计算过程。我们把整张图转化成神经网络的形式如下图。
依旧引用房屋的例子,只不过我们将输入的特征扩展一些,进一步的了解神经网络。
Input layer
图中的x1,x2,x3,x4是输入的四个特征,如图所示这一列称为输入层,一般来说输入层的结点是固定的,因为这个取决于我们样本的特征数(神经网络的最低层特征)
Hidden layer
图中显示的○称为神经元(后面会介绍),我们将除输入层和输出层之外的中间需要计算的层叫做隐藏层。隐藏层可以理解为是神经网络一系列的计算过程。如上图我们可以感性的将第二层的第一个神经元当做“家庭人口数量”这个特征(通过四个最低层特征推测出的更高级别的特征),然后就从低级特征往高级特征层层递推的一个过程。但是实际在隐藏层中这些神经元并不具体代表什么,而是通过一系列调整参数的过程来得到一个层次间更准确的输入,只是我们在理解时可以感性的将它化。
Output layer
图中的y就是神经网络的输出层,其实就是神经网络的预测结果,一般来说,输出层的结点也是固定的,因为我们在构建神经网络时,肯定要有一个明确的目的(如预测房子价格,预测图片中狗的位置)
2.2 神经网络基础结构
从上面的图片我们可以看到一个神经网络的简单结构,基本是由输入,箭头线,神经元,输出组成的。而搞清楚这些基础结构是入门深度学习的一个基础。
输入输出
深度学习最优越的地方其实就在于你只要输入你有的,就能得到你想要的。我们现阶段对输入输出有这个概念就行,另外在很多神经网络的表示图中,输入层和输出层也是用○表示的。
箭头线
箭头线表示的是神经网络中层与层之间的连接,每个箭头线其实代表的都是一个权值,因此我们可以理解神经网络的进行过程不是简单值与值之间的传递,而是一个加权传递的过程。在有些教学中把箭头线也当做神经元的一部分,但这个并不冲突。
神经元
我们在图上看到的神经元只是一个○,其实神经元并没有那么简单。它包含了加权求和和非线性函数的计算。
除输入输出外中间的那一部分就是一个神经元的内部构造,中间a1,a2,a3分别指输入1,输入2,输入3,,σ指非线性函数,Z指输出。
在入门阶段我们如果掌握上面的这些小知识可以有助于我们更好的往下学习。
3. 用神经网络进行监督学习
3.1 监督学习实例
在上面我们基本都是在解释隐藏层的内容,对输入输出层的介绍比较少,但是输入输出的选择其实是深度学习的关键。我们必须知道我们拥有什么,并且知道我们想要干什么。
这是吴恩达教授在教程中提出的几个Application,从中我们可以看到在做不同的事情时,我们选定的Input(x)和Output(y)都是不一样的。比如在Photo tagging中,我们输入的是图像(Image),得到的是目标(Object),再具体一些,比如识别图中的猫和狗,我们输入一张含有猫狗的照片,它输出猫或狗所在的位置和分类;再比如在Machine translation中,输入英文得到中文。
在不同的实例中,我们所要应用的神经网络也不相同。
- 在Online Advertising中我们用的是标准的神经网络(如上面的图片所示)
- 在Photo tagging中我们用的是CNN网络(卷积神经网络)
- 在Speech recognition中我们用的是RNN网络(循环神经网络)
- 在Autonomous driving中我们用的是Custom_Hybird网络(混合复杂的神经网络)
这些网络后面会介绍,现阶段只需简单了解。
3.2 结构化数据和非结构化数据
结构化数据
结构化数据其实是高度组织和整齐格式化的数据,可以存储在数据库里,用二维表结构来逻辑表达实现的数据。结构化数据一般都有明确的关系,所以说运用起来较为方便,但是在实际数据挖掘中情况就不太理想。
典型结构化数据:房屋面积,房屋卧室数量,家庭人口数量等。
非结构化数据
非结构化数据也被称为字段课可变的数据,也就是存储在非关系数据库中的数据。虽然说非结构化数据并没有结构数据来的可观,但是它的应用价值却是极大的。
典型非结构化数据:图片,音频,文本等。
4. 为什么深度学习会崛起
这是吴恩达教授在课堂中画的,总体来说就是随着社会的发展,我们所接受的信息规模会越来越大,因此为了使性能提高,构建复杂的神经网络后者投入大量的数据是必须的。但在小数据的情况下,也不是越复杂的神经网络性能会越佳。
5. 课后作业
吴恩达教授在课后给出了一些习题,我挑选了一些与本文有关的小题目,大家可自行解答理解。
-
1.哪些是深度学习快速发展的原因? (两个选项)
A. 现在我们有了更好更快的计算能力。
B. 神经网络是一个全新的领域。
C. 我们现在可以获得更多的数据。
D. 深度学习已经取得了重大的进展,比如在在线广告、语音识别和图像识别方面有了很多的应用。
-
2.用于识别猫的图像是“结构化”数据的一个例子,因为它在计算机中被表示为结构化矩阵。(True or False)
-
3.统计不同城市人口、人均GDP、经济增长的人口统计数据集是“非结构化”数据的一个例子,因为它包含来自不同来源的数据。(True or False)
-
4.在为什么深度学习会崛起的那张图中,描述正确的是
A. 增加训练集的大小通常不会影响算法的性能,这可能会有很大的帮助。
B. 增加神经网络的大小通常不会影响算法的性能,这可能会有很大的帮助。
C. 减小训练集的大小通常不会影响算法的性能,这可能会有很大的帮助。
D. 减小神经网络的大小通常不会影响算法的性能,这可能会有很大的帮助。
答案:
-
A C
-
False (图片是非结构化数据)
-
False(这些数据被整合到数据集中,联系上面所讲的课判断这些数据为结构化数据)
-
A B