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