随笔分类 - 深度学习基础
摘要:1. 全连接层 前文中我们讨论的几乎都是全连接层,也就是在层间,每个神经元都与前一层的所有神经元相连接,如图: 也就是每层的每个feature,都与前一层所有features相关联,是前一层所有features乘以一个权重矩阵W得来的。(这里为了简化理解,我们暂不考虑bias,activation
阅读全文
摘要:当神经网络的层数增加,结构变复杂后,如果只用纯python(再加Numpy)来实现,代码将变得异常复杂,且难以阅读和调试。此时,就需要引入一些著名的深度学习框架了,比如PyTorch, TensorFlow等。 运用这些框架,你往往只需要定义一个神经网络的架构,反向传播过程则是自动完成的,你无需手动
阅读全文
摘要:由反向传播原理可知,梯度的计算遵循链式法则。由于网络层数不断加深,梯度的连乘效应可能会导致梯度呈指数形式衰减,又或以指数形式增加。 前者叫做梯度消失,梯度消失导致网络中的早期层几乎不更新,使得网络难以学习到输入数据的有效特征。可能导致网络权重更新非常缓慢,使得训练过程变得不稳定。 后者叫做梯度爆炸,
阅读全文
摘要:模型能否准确地预测数据,是通过损失函数来衡量的。如何调整权重和偏差参数,从而最小化神经网络的损失函数,这是一类特定的优化算法。我们称它们为优化器(optimizer)。 为什么需要优化器? 因为损失函数参数众多且结构复杂,其导数置零的方程无法得到解析解或计算非常复杂。因此我们需要用迭代的方式逐步调整
阅读全文
摘要:在前文中我们使用的损失函数都是均方误差(MSE,Mean Squared Error),本篇介绍一些其他的损失函数形式,以及他们的不同用途。 1. 回归任务常用损失函数 1.1 均方误差(MSE, Mean Squared Error) 均方误差(MSE)是回归任务中最常用的损失函数之一,用于衡量模
阅读全文
摘要:1. 什么是Overfitting 我们希望神经网络模型能够找到数据集中的一般规律,从而帮助我们预测未知数据。这个过程是通过不断地迭代优化损失函数(也就是预测值和实际值的误差)而实现的。然而随着误差进一步缩小,模型的“走势”过于“贴合”我们的训练数据,对训练数据中的噪声也过于趋近,把这些噪声数据也学
阅读全文
摘要:本篇文章尝试通过具体的神经网络例子,来深入探讨”死亡ReLU“的问题。 很多资料都会提到神经元”永久性死亡“这种说法,我认为这会对我们的理解产生一定的误解。事实上,神经元的状态一直都是动态的,是受到多个因素的影响的。那么是哪些因素在什么样的条件下会导致”死亡ReLU“问题呢? 首先我们回顾一下ReL
阅读全文
摘要:在01 深度学习基础及前向神经网络中,我们在讲解前向传播时,向中间层加入了Relu激活函数。我们提到这是为了向模型中添加非线性特性,从而让模型具有更强的表达能力。本篇将继续研究一些常见的激活函数,以及他们不同的特性。 1. 什么是激活函数 我们看一个基本的神经网络模型: 其中输入的x1,x2,x3三
阅读全文
摘要:在01 深度学习基础及前向传播中,我们已经搭建好了一个基础的三层神经网络架构,如图: 它由三个输入features:x1、x2、x3,一个输出:y,中间的hidden layer包含两个nodes,采用ReLU作为激活函数。 其前向传播的计算过程为: 已知的数据如下,输入矩阵x中,列向量对应每一个f
阅读全文
摘要:什么是深度学习 深度学习(deep learning)、机器学习(machine learning)、神经网络(neural network)以及人工智能(artificial intelligence),这几个概念在我们日常海量的信息来源中常常容易被混淆。我认为以下这幅图能够较为清晰地阐明它们之间
阅读全文

浙公网安备 33010602011771号