相关资料

李宏毅老师:个人主页在这里有上课的课件、课后题目数据集及源码

课程视频(B站):B站

课程笔记:GitHub1GitHub2

作业说明及范例:GitHub

动手学深度学习:这本书也不错,理论与实践结合紧密

深度学习路线图

Neural Networks and Deep Learning

CNN十大经典论文

TensorFlow:http://c.biancheng.net/view/1911.html

这个也可以参考一下:https://blog.csdn.net/iteapoy/article/details/105382315

Learning Map

HomeWork

序号 任务 完成情况 完成时间
1 Linear Regression ✔Regression 2020/10/19
2 Classification ✔Classification 2020/10/21
3 CNN 待完成

P4 Basic Concept

Bias and Variance如何区分理解?

偏差(Bias)和方差(Variance)——机器学习中的模型选择

P5Gradien Descent1

Tips1:调整学习速率——自适应学习率

简单而言:随着次数的增加,通过一些因子来减少学习率

通常来讲,初始点距离最低点会较远,这时我们想要使用较大的学习率;但是更新几次参数之后,就会距离最低点比较近了,如果学习率依然比较大就容易错过最低点,此时就应该通过减小学习率。

主要介绍了Adagrad算法,但是当距离最低点很近的时候,会存在学习率过慢的问题;

Tips2:随机梯度下降算法

常规的梯度下降算法是走一步要处理所有的例子;而随机算法是每走一步就更新一次梯度;

Tips3:特征缩放

把特征的规模缩放成相同的或者差不多的,不要差别太大;

P10 Classification

分类模型(二分类)

在function一个函数g(x),如果大于0,就认为是类别1,否则认为类别2。

损失函数定义可以是,L(f)在训练集预测错误的次数,当然希望错误次数越小越好;

P11 Logistic Regression

P12:Brief Introduction of Deep Learning

注意,看完P12可以直接跳过去看P15, 然后再看P13.

Three Steps for Deep Learning

Step1:Neural Network

神经网络可以有多种不同的连接方式,这样就会产生不同的结构,期间会用到不同的逻辑回归函数,每个逻辑回归函数都有自己的权重和偏差(就是参数),而神经元的连接方式是可以手动设计的。

Fully Connect Feedforward Network完全连接前馈神经网络

信号输入之后,流动方向是单向的,从前一层流向后一层。

全连接:相连的两层之间两两都由连接;

前馈:传递方向是从后向前;

输入层:一层;隐藏层:N层;输出层:一层;

矩阵计算

为了降低运算量,我们通过矩阵进行运算,每一层之间都运算一层,并层层嵌套,就相当于是内层函数的结果是外层函数的变量,嵌套多层;

Step2:Goodness of Function

判断一个模型的好坏,和之前在逻辑回归一样,采用cross entropy交叉熵来计算,然后调整参数,让交叉熵越小越好

Step3:选择最优函数

通过梯度下降的方法找到最优函数和最好的一组参数,可以参考之前的视频。

P13:Backpropagation反向传播

链式法则

用来求导的,可以回顾高等数学的微积分,不难

Forward Pass 与 Backward Pass

ForwardPass就是正向求导,BackwardPass就是逆向求导,看着公式推一下就可以了。

P14Tips for Training DNN

P15Why Deep?

从深度->程序的模块化,可以互相调用相同的模块,把复杂的问题变得简单,随着层次的增加,层次的功能变得更加复杂。

P17CNN

参考

https://easyai.tech/ai-definition/cnn/

https://www.cnblogs.com/kongweisi/p/10987870.html

CNN解决的问题:第一个是将图像维度降低之后再处理,可以简化处理过程,降维并不会影响结果;第二个是保留图像的特征;

Input Layer

输入层需要对数据进行预处理操作,常见的是:去均值、归一化、PCA/白化。

Convolution+Max Pooling(can repeat many times)

卷积层:通过卷积核来提取原始图像的特征

池化层:有效降低数据的维度,减少运算量,避免过度拟合

Convolution(卷积层)

图像中不同数据窗口的数据和卷积核(Filter)作内积的操作叫做卷积,本质是提取图像不同频段的特征。

处理黑白照片,就是一个matrix与卷积核求内积;处理彩色照片(相当于是RGB三种颜色叠加的图片,相当于是三个通道Chanel),就是三个Matrix与卷积核求内积,其中卷积核也是三层;

将输入矩阵与卷积核进行内积运算,得到一个新的矩阵。卷积核本质上是一个小规模的矩阵,相当于一个小矩阵在大矩阵上进行移动,移动的步长可以设定,最后得到一个新的矩阵。这样做既可以有效提取特征,还可以解决参数数量太大的问题。

每一个卷积核相当于一个神经元,可以共享同一个卷积核,称为权值共享。

步长:卷积核在大矩阵上移动的距离,一般设置为1;

通道:如果原始数据有多层,那么卷积核也要有相同的层次,例如RGB图片,就是由三层不同颜色组成,

Pooling(池化层)

作用是压缩数据,减少参数的数目,其方法很多,一般采用Max Pooling,最大池化,只取最大值。

注意:卷积层和池化层可以多次重复出现,其作用都是一样的,只是卷积核可以根据需要进行调整。

Fully Connected Feedforward network

把多维数据进行Flatten,得到一维数据,进行全连接;

CNN卷积过程:https://blog.csdn.net/aaa958099161/article/details/90346899

P18-19