深度学习 week1

前言

本博客为Cousera上吴恩达开设的DeepLearning系列课程Neural Networks and Deep Learning第一周学习笔记,虽然之前也零零散散接触了不少有关机器学习和深度学习的知识,但总觉得不够。学习该课程的目的是预期能够系统地掌握这方面的知识。

课程安排

该系列有5个课程课程主要内容为:

  • 1 什么是神经网络和深度学习
  • 2 如何提升模型性能:调参、正则、优化
  • 3 结构化你的机器学习项目,如train/dev/test、端到端学习
  • 4 卷积神经网络模型CNN
  • 5 自然语言处理:建立序列模型,如循环神经网络RNN和长短期记忆模型LSTM

然后是本课程神经网络和深度学习的周内容:

  • 第一周:介绍
  • 第二周:基本神经网络编程
  • 第三周:1个隐藏层的神经网络
  • 第四周:深度神经网络

第一周内容

依次回答了几个问题

0 为什么人工智能在当下如此火热?

因为AI可以称为新的“电能”,它如同十九世纪的电能一般驱动了行业的巨大变革,如显卡行业、广告推销行业、计算机的新的使用方式等等。

1 什么是神经网络?

可以使用一般的房价预测问题来进行解释,首先我们可以简单通过房屋的大小来预测房屋的价格,房屋价格与房屋大小可以考虑成简单的线性关系(但不够精确):
深度学习 week1
在这里我们将房屋的大小作为神经网络的输入,再通过中间神经元的处理,最后来得到预测的房屋价格(输出):
深度学习 week1
此处神经元使用的激励函数为常用的线性修正**函数ReLU:
深度学习 week1
通过引入其他房屋影响因素作为新的输入(房间大小、卧室数目、地区邮编和财富多少)我们可以得到更准确的模型。模拟人脑的思考过程,将多种因素综合考虑,通过进一步推断可以得出出房屋的影响要素为:家庭成员数、交通便利性以及所在地区教育质量等(也就是隐藏层的含义,但并非所有隐藏层都具有很好的可解释性),来决定房价的高低

深度学习 week1
使用更一般化的图形可以将神经网络表示为,输入层x-隐藏层-输出层y的形式:

深度学习 week1
然后神经网络用于有监督学习(即x,y对应)一些例子:
深度学习 week1
神经网络主要有三种类型:典型神经网络、CNN以及RNN

深度学习 week1

2 结构化数据和无结构数据的区别

结构数据来自统计表单,每条记录都有着同一的数据格式。而无结构数据主要有音频、图像和文本等。

深度学习 week1

3 规模驱动深度学习过程

随着互联网及相关产业的迅速发展,我们的计算力已经能够训练足够大的神经网络和接触到足够多的数据。如下图水平轴,随着数据量越来越多时传统的机器学习算法如SVM,逻辑回归等效果都达到了瓶颈,但神经网络仍然能够保持上升的趋势,而且神经网络模型的规模越大,性能也越好。
还需要注意的一点是,下图中的做部分区域,当模型使用的数据量较小时,各个模型的效果优劣不是固定的,它与具体的业务场景和数据特征相关。

深度学习 week1

4 数据、算力和算法三者之间的关系

对模型训练而言,算力的提升(如使用GPU计算)自然是能够提升模型训练的速度。但算法的改进也能大大加快训练速度。如最初神经网络使用sigmoid作为激励函数时,在曲线两端会存在梯度为零的点(水平位置时),这使得训练速度变得极其缓慢。但当改进使用ReLU为激励函数时大大加快了训练速度,因为该函数在x轴正半轴不存在梯度为零的点。
深度学习 week1

5 做研究的循环过程

当脑子里有新的想法时,越快的通过编程来检验想法的可行性就越能做得出好的工作。如下图的这个想法-编程-实验的循环中,肯定不会只循环依次就能成功了,还需要多次的迭代:阅读论文新的想法-快速编程检验-做对照实验来证明,才能获得好的效果。
深度学习 week1

Quiz部分收获

  1. 判断数据是有/无结构的依据是明确的,与数据来源无关
  2. 数据规模在数据量左侧时无法明确影响算法性能,但在右侧时必然是规模越大,对算法的性能提升越高。
  3. 在不考虑复杂因素的情况下,神经网络的规模与性能是呈正相关的。