目录
第一周、深度学习概论
1.1、欢迎来到深度学习工程师微专业
1.2、什么是神经网络?
1.2.1、Rectified Linear Unit (ReLU)
1.2.2、房子价格预测神经网络
1.3 、用神经网络进行监督学习
1.3.1、监督学习常常包括了下面的几种神经网络。
1.3.2、Stuctrured 和 unstuctrured data。
1.4、为什么深度学习会兴起?
1.4.1、支持向量机(Support Vector Machine, SVM)
1.4.2、神经网络
1.5、关于这门课
1.6、课程资源
第二周、神经网络基础
2.1、二分分类
2.1.1、二分分类的定义
2.1.2、二分分类的应用举例
2.2、logistic回归
2.3、logistic回归损失函数
2.4、梯度下降法
2.5、导数
2.6、更多的导数例子
2.7、计算图
2.8、计算图的导数计算
2.9、logistic回归中的梯度下降法
2.10、m个样本的梯度下降
2.11、向量化(Vectorization)
2.11.1、向量化计算
2.11.2、非向量化计算
2.12、向量化的更多例子
2.13、向量化的logistic回归
2.14、向量化logistic回归的梯度输出
2.15、Python中的广播
2.16、关于Python/numpy向量的说明
第三周、浅层神经网络
3.1、神经网络预览
3.2、神经网络表示
3.3、计算神经网络的输出
3.4、多个例子中的向量化
3.5、向量化实现的解释
3.6、激活函数
3.7、为什么需要非线性激活函数?
3.8、激活函数的导数
3.9、神经网络的梯度下降法
3.10、直观理解反向传播
3.11、随机初始化
第四周、深层神经网络
4.1、深层神经网络
4.2、深层网络的前向传播
4.3、核对矩阵的维数
4.4、为什么使用深层表示
4.5、搭建深度神经网络块
4.6、前向和反向传播
4.7、参数VS超参数
4.8、这和大脑有什么关系?
第五周、【人工智能行业大师访谈】
5.1、吴恩达采访 Geoffrey Hinton
5.2. 吴恩达采访 Pieter Abbeel
5.3. 吴恩达采访 Ian Goodfellow
省略,以后用*来表示。
线性整流函数(Rectified Linear Unit, ReLU),又称修正线性单元, 是一种人工神经网络中常用的激活函数(activation function),通常指代以斜坡函数及其变种为代表的非线性函数。
https://www.cnblogs.com/xueqiuqiu/articles/7606293.html
https://blog.csdn.net/zxrttcsdn/article/details/79817322
- Stand NN(Neunal NetWork)——标志神经网络:价格预测、广告、用户信息
- CNN(Convolution Neunal NetWork)——卷积神经网络:图像处理
- RNN(Recurrent Neunal NetWork)——循环神经网络:语音、文本处理,适合处理一维序列号序化的数据。
- Hybrid Neunal NetWork——混合神经网络:无人驾驶、雷达信号。
- Stuctrured data结构化数据——数据库的数据。
- unstuctrured data结非构化数据——图片数据、声音数据、文本数据。
支持向量机,适合小规模的数据量。
神经网络,适合大规模的数据量。许多算法的创新,都是为了神经网络能快速够训练大量的数据,从而运行得更快或效果更好。
*
输出结果有两种状态,不是0就是1。这就是二分分类算法。
如果输入一张car,其像素为64*64,那么经过计算机计算,就三个64*64字节的矩阵,分别对应红、绿、蓝三种颜色。每个矩阵的格子的数值,分别对应了该颜色的色度或亮度。分别对应了颜色二分分类若能识别这个Car,那么就输出1。
线性函数经过约束后,与Sigmoid函数的结构相同:
这里的梯度下降法,主要用来更新2.3节中,目标函数J(w,b)的w、b参数,让目标函数J(w,b)随着w、b梯度发变化而逐步趋向最优值。
*
*
也是讲导数,可以省略。
*
*
矩阵计算为典型的例子。向量化计算可以实现并行的计算方式,比如计算机的SIMD方式。此外,GPU更擅长SIMD计算。c = np.dot(a,b)是Pathon语言的内积。
for循环计算就是典型的例子,其会导致计算机运行效率变慢。
https://blog.csdn.net/qq_39575835/article/details/81907604
Python中的广播计算,即矩阵运算。
没有看
- 激活函数用在隐藏层、输出单元。
- 在本节之前,常用Sigmoid作为激活函数。Sigmoid作为激活函数当然有它的价值。比如你希望输出{0,1}作为二元分类,Sigmoid作为其激活函数函数更好。
- Relu和tanh,常常作为隐藏层的激活函数。
- 如果你的隐藏都用线性函数作为激活函数,输出结果还是线性的。那么,无论你的隐藏层有多少层,输出都是线性的。也就说,你还不如把所有的隐藏层都去掉呢,直接输出线程结果呢!!!!所以,我们不用线性激活函数。线性函数来预测房价,根本就不合适(请看我前面的图)场景的应用。这就是我们为什么不用线性激活函数作为激活函数的原因。
- 线性函数往往用在输出层作为激活函数。
- 线性函数函数可以用来做压缩方面的处理。
*
神经网络的反向转播,典型的代表,就是梯度下降法。
*
随机初始化神经网络的权重,非常重要。单层隐藏层,常用的权重为0.01,比较好。多层隐藏层,这个参数可能更小。
*
神经网络用在人脸,每层的可以用来探测人脸的不同部位,最后逐步组合成一个人脸。
*
参数:w、b
超参数(可以控制w、b的参数,叫做超参数):激活函数、衰减因子、隐层数、每个隐层的神经元数目n、循环的数量等等。
因为,当前的超参数的设定,还经验阶段,理论上尚缺完美的解释。所以,当我们要取得最优的超参数时,还需要不断地尝试、不断地计算或迭代,从而保证当前信息或数据的最新化。
- Geoffrey Hinton是到目前为止,发明最多深度学习核心理论的人。被称为深度学习之父。
- 不懂的人要多读论文。有创意的人要少读论文,然后开始自己的研究。
- 找一个导师,然后找一个自己和导师都敢兴趣的研究点,然后才能从导师那里得到很多的建议。
- 智力的本质是推理。AI的演进 = 符号化 + 推理(Geoffrey Hinton认为AI演进,不应单单用符号来表示)。
- 监督学习可以提升效率、减少工作量。
- 现在是进入AI的时机
- AI课程:Andrew机器学习课程、Andrej Karpathy的深度学习课。
- 看了课程视频,要动手去做、去证明。可以用TensorFlow、Chainer、Theano、PyTorch等等开源库去学习。
- 深度增强学习已经用在机器人,但Pieter Abbeel表示安全性还没得到完全保证。
- 支持向量机,训练数据越大,速度或性能不能得到显著的提高。
- 搭建了自己的一台深度学习机器。
- Ian Goodfellow发明“生成式对抗网络(GAN)”,可以用在半监督学习、可以生成其他模型的训练数据、甚至模拟科学实验。
- 受限玻尔兹曼机(英语:restricted Boltzmann machine, RBM)是一种可通过输入数据集学习概率分布的随机生成神经网络。RBM最初由发明者保罗·斯模棱斯基于1986年命名为簧风琴(Harmonium),但直到杰弗里·辛顿及其合作者在2000年代中叶发明快速学习算法后,受限玻兹曼机才变得知名。受限玻兹曼机在降维、分类、协同过滤、特征学习和主题建模中得到了应用。根据任务的不同,受限玻兹曼机可以使用监督学习或无监督学习的方法进行训练。
- GitHub、OpenAI