【吴恩达深度学习课后测验】Course1-第一周
吴恩达的机器学习和深度学习都讲得很好,得亏B站大佬们资源丰富和无私奉献,视频、笔记和课后测验都有,我这也是给自己留个门。课后测验题参考两位大佬阿宽的博客–超详细课后测验和大大鹏I6的B站Python视频资料汇总。
前情提要
- 神经网络是个啥:拿了预测房屋价格的栗子,最简单的神经网络就是用单输入变量预测价格,这就是线性回归嘛,最早接触的一元一次函数(单输入单输出)。还引出个新的名词,ReLU(Rectified Linear Unit)**函数,不就是分段函数么,放到神经网络中就是不一样了。然后就复杂了,考虑到各种因素,比如房屋的房间个数、富裕程度及地段等,那应该怎么搞呢,还是先整个线性组合,不同的因素给个不同的权值,那这个就有多输入变量了(好几个特征),最后结果还单输出,中间就是隐藏层,将特征的线性组合利用**函数进行计算。输入层给定特征变量,线性组合在隐藏层利用**函数计算预测,得到输出层的结果,这应该就是最基本的神经网络架构。
- 神经网络的监督学习:之前在吴恩达的机器学习中提到过监督学习和无监督学习,这两者的区别就是定义的区别,有训练集和无训练集,前者是有已经分好类的训练集数据用于神经网络形成一个比较准确的计算模型,而无监督就是靠邻近区域的样本相似度进行计算得出一个预测结果,所有好像无监督更多用于分类的应用,而监督学习就是神经网络,比如图像识别、语音识别,如果没有训练集,那就GG了(好比婴儿学汉字一样,自己一个个认可太难了)。
- 深度学习兴起和应用:数字化的社会,各个方面和应用的数据规模都达到机器学习算法性能的瓶颈吧,或者说是用一种针对大规模数据有更加性能的技术去解决问题,这也是一种发展趋势,不断更迭创新的算法来优化技术。图像识别、语音识别、自动化驾驶等人工智能领域的发展都是建立在大数据上的,然而神经网络的算法在不同的应用场景有不同的效果,就比如单极**函数sigmoid到ReLU的突破,梯度下降法中sigmoid的梯度在数据量达到一定程度时变化缓慢,则神经网络的学习速率缓慢。(自己的理解)
课后测验–DL简介(第一周)
- “AI是新电力”——蒸汽、电力、电子信息、物联网AI,都是革命性的技术突破,将成为很多行业的基础。
- 深度学习快速发展的原因——数据规模、计算量及算法的创新牵引着深度学习的兴起和快速发展。
- 不同的机器学习的思想迭代图——能够让深度学习工程师快速地实现自己的想法,在更好更快的计算机上能够帮助一个团队减少迭代(训练)的时间, 使用更新的深度学习算法可以使我们能够更快地训练好模型(即使更换CPU / GPU硬件)。
- 当一个经验丰富的深度学习工程师在处理一个新的问题的时候,他们通常可以利用先前的经验来在第一次尝试中训练一个表现很好的模型,而不需要通过不同的模型迭代多次从而选择一个较好的模型,这个说法是正确的吗?——错误,经验不代表不需要验证。
- ReLU**功能——记作其定义图就好,效果要达到对负值的输入梯度为0而数据量很大时依旧保持梯度。另外可以了解leaky ReLU**函数(负值输入梯度也是一个恒定值,但是绝对值小于正输入的梯度值)。
- 用于识别猫的图像是“结构化”数据的一个例子,因为它在计算机中被表示为结构化矩阵,是真的吗?——结构化数据意味着数据库中的数据,而非结构化数据比如图像、音频或是文本中的单个单词。
- 统计不同城市人口、人均GDP、经济增长的人口统计数据集是“非结构化”数据的一个例子,因为它包含来自不同来源的数据,是真的吗?——单纯的看以上数据的话就是非结构化数据,但是这些数据都被整合到了数据集里面,所以是结构化数据。
- 为什么在上RNN(循环神经网络)可以应用机器翻译将英语翻译成法语?—— 因为它可以被用做监督学习;它比较适合用于当输入/输出是一个序列的时候(例如:一个单词序列)。
(注:对于图像应用,我们经常在神经网络上使用卷积(Convolutional Neural Network),通常缩写为CNN。对于序列数据,例如音频,有一个时间组件,随着时间的推移,音频被播放出来,所以音频是最自然的表现。作为一维时间序列(one-dimensional time series / temporal sequence),经常使用RNN,一种递归神经网络(Recurrent Neural Network),语言,英语和汉语字母表或单词都是逐个出现的,所以语言也是最自然的序列数据,因此更复杂的RNNs版本经常用于这些应用。) - 在上图的性能随数据量规模的变化曲线中,横纵轴分别代表什么?——数据规模和算法性能呗。
- 假设上一个问题图中描述的是准确的(并且希望您的轴标签正确),以下哪一项是正确的?
[★] 增加训练集的大小通常不会影响算法的性能,这可能会有很大的帮助。
[★] 增加神经网络的大小通常不会影响算法的性能,这可能会有很大的帮助。
[ ] 减少训练集的大小通常不会影响算法的性能,这可能会有很大的帮助。
[ ] 减少训练集的大小通常不会影响算法的性能,这可能会有很大的帮助。