
吴恩达深度学习
深度学习笔记
Kangrant
这个作者很懒,什么都没留下…
展开
-
CNN中为什么使用ReLu作为激活函数
为什么要使用激活函数?我们训练的神经网络模型,就是从输入到输出的一个神秘未知函数映射。我们并不知道具体的内容,只能尽可能无限的逼近它。如果不使用激活函数,那么输出只能是线性的。如果使用了非线性激活函数,那么就可以输出非线性函数,就可以无限逼近复杂函数。为什么激活函数必须是非线性的?如果是线性激活函数,不管隐藏层多深,输出永远是输入的线性组合,这样就与没有隐藏层结果相当,所以需要引入非线性激活函数。为什么CNN中要使用ReLu?1.使用sigmoid时,涉及到指数运算,反向传播时求导涉及到除法,原创 2020-06-19 16:03:37 · 4420 阅读 · 0 评论 -
卷积神经网络基础
卷积神经网络的层级结构数据输入层/ Input layer卷积计算层/ CONV layerReLU激励层 / ReLU layer池化层 / Pooling layer全连接层 / FC layer1.数据输入层该层要做的处理主要是对原始图像数据进行预处理,其中包括:去均值:把输入数据各个维度都中心化为0,如下图所示,其目的就是把样本的中心拉回到坐标系原点上。归一化:幅度归一化到同样的范围,如下所示,即减少各维度数据取值范围的差异而带来的干扰,比如,我们有两个维度的特征A和B,A范围是0原创 2020-06-12 22:01:25 · 450 阅读 · 0 评论 -
神经网络基础--softmax
softmaxsoftmax用于多分类过程,简单来说,它将神经元的输出映射到[0,1]之间,并且归一化保证和为1,从而使多分类的概率之和也为1.也就是,多分类问题中,我们希望得到的是取到每个分类的概率,即概率最大的那类可以经常被取到,概率较小的可以偶尔被取到。函数表达式:其中,Vi 是分类器前级输出单元的输出。总的类别个数为 C。Si 表示的是当前元素的指数与所有元素指数和的比值。下图更易直观理解:在实际应用中,很有可能会出现溢出情况,因为如果V很大,经过指数运算以后会变的更大,往往可能出现溢出原创 2020-06-10 21:32:27 · 554 阅读 · 0 评论 -
吴恩达深度学习--神经网络的优化(1)
1.训练集,验证集,测试集选择最佳的Train/Dev/Test sets非常重要。除此之外,构建神经网络时,需要设置的参数很多:神经网络层数,神经元个数,学习率的大小。激活函数的选择等等。实际上很难第一次就确定好这些参数,大致过程是:先确定初始参数,构建神经网络模型,然后通过代码实现该模型,之后进行试验确定模型的性能。根据性能再不断调整参数,重复上述过程,直到让神经网络模型最优。由上述可知,深度学习是一个不断迭代优化的过程,效率取决于单次试验所花费的时间,而设置合适的Train/Dev/Test s原创 2020-06-08 21:27:44 · 747 阅读 · 0 评论 -
吴恩达深度学习--2.浅层神经网络
首先,从整体上来说,神经网络只是比逻辑回归多了一层中间的隐藏层,与逻辑回归计算一致,只是重复了两次。第一层:从输入层到隐藏层:z[1]=W[1]x+b[1]z^{[1]} = W^{[1]}x+b^{[1]}z[1]=W[1]x+b[1]a[1]=σ(z[1])a^{[1]}=σ(z^{[1]})a[1]=σ(z[1])第二层:从隐藏层到输出层z[2]=a[1]x+b[2]z^{[2]} = a^{[1]}x+b^{[2]}z[2]=a[1]x+b[2]a[2]=σ(z[2])a^{[2]}原创 2020-06-07 11:25:15 · 320 阅读 · 0 评论