DL之路---啃鱼书(5)
与学习相关的技巧参数的更新 神经网络的学习的目的是找到使损失函数的值尽可能小的参数,这是寻找最优参数的问题,解决这个问题的过程称为最优化(optimization)SGD(随机梯度下降法) SGD的缺点,如果函数的形状非均向(anisotropic),比如呈延伸状,搜索的路径就会非常低效,低效的根本原因是,梯度的方向并没有指向最小值的方向,如下图 这会导致它的效率很低,基于SGD的最优化的更新路径如下图 可以看到,它是Z字型的移动 Momentum(带动量的随机梯度下降法) 它是动量的意思,和物理有关,数学表达式如下$$v \leftarrow \alpha \cdot v - \eta \cdot \frac {\partial L} {\partial W} \W \leftarrow W + v$$ W同样还是表示要更新的权重参数,$\frac{\partial L}{\partial W}$ 表示损失函数关于W的梯度,$\eta$ 是学习率,而 $v$ 是物理上的速度第一个式子表示,物体在梯度方向上受力,在这个力的作用下,物体的速度增加这一物理法则,$\alpha v$...
DL之路---啃鱼书(4)
误差反向传播法1.计算图 无论全局是多么复杂的计算,都可以通过局部计算使各个节点致力于简单的计算,从而简化问题另外,利用计算图可以将中间的计算结果全部保存起来其最大的优势在于,可以通过反向传播高效计算导数反向传播传递的是局部导数下面是,支付金额关于苹果的的价格的导数 就是总的金额,220/220 = 1,220/200 =...
DL之路---啃鱼书(3)
神经网络的学习从数据中学习 所谓的学习就是从训练数据中自动获取最优权重参数的过程为了使神经网络能够学习,引入了损失函数这一指标,而学习的目标就是以损失函数为基准,找出使它的值达到最小的权重参数(函数斜率的梯度法)特征量:是指可以从输入数据(输入图像)中准确地提取出本质数据(重要数据)的转换器(图像的特征量通常表示为向量形式),但特征量的选取是人为选择的,还是存在人为因素的介入深度学习也被称为端到端机器学习(end-to-end machine...
DL之路---啃鱼书(2)
神经网络 神经网络的一个重要性质是它可以自动地从数据中学习到合适的权重参数激活函数 它会将输入信号的总和转换为输出信号,它决定了以何种方式激活输入信号的总和朴素感知机和神经网络的主要区别就在于激活函数的不同计算过程如下: 阶跃函数:一旦输入超过阈值,就切换输出(sign符号函数,朴素感知机的激活函数)sigmoid函数 神经网络中一个常用的激活函数就是sigmoid函数,其表达式如下:$$h(x) = \frac {1}{1 + exp(-x)}$$ ReLU函数自变量 $ x > 0 $ 时,直接输出该值,$ x \le 0 $ 时,输出0它的表达式如下: 3层神经网络的实现 首先引入一个概念符号确认下面是权重符号的表示, 各层间信号传递的实现首先是第0层到第1层之间信号传递的实现 注意,偏置 $ b $ 的右下角的索引号只有一个,这是因为前一层的偏置神经元(神经元1)只有一个,右下角的索引是表示前一个神经元的,对应到权重的符号表示是 $ b^\left[(1)\right]_{None,1} $...
DL之路---啃鱼书(1)
感知机 感知机(Perceptron)是一种人工神经网络,用于解决二分类问题它模拟的是生物神经元的行为,主要包括: 输入:多个特征值 $ x_1,x_2…x_n $权重:每个输入对应一个权重 $ \omega_1,\omega_2…\omega_3 $偏置:一个常数项 $ b $ 偏置是用于控制神经元被激活的容易程度权重是用于控制各个信号的重要性的而激活函数则是决定以什么方式来激活输入信号的总和数学表达式为:$$y = sign(\omega \cdot x + b)$$ 其中,$ \omega \cdot x = \sum_{i=1}^n \omega_i x_i $,sign函数定义为:$$ sign(z) =\begin{cases}1 & \text{if } z > 0, \-1 & \text otherwise.\end{cases}$$ 工作原理:找到一个线性超平面(即一条直线或一个超平面)来将数据分为两类(+1 和 -1)。通过不断调整权重 $ \omega $ 和偏置 $ b...
RL之路---第二弹
贝尔曼方程第一部分——return return 能够作为策略好坏的一个评估标准下面通过三种情况来说明这个问题 第一种策略 按照策略1,从 s1 出发,往下去 s3,再往右到达 s4,discounted return计算如下 gamma 是衰减系数 第二种策略第三种策略 注意,严格说来,这个return3 已经不是我们所说的return了,因为return是针对一条轨迹定义的,针对一个trajectory定义的,这里实际上是有两个轨迹,这里所做的是求取平均值,也即求expectation(期望),这个return3就是state value 显然,return1 > return3 > return2,那么对应的就是策略1最好,策略3居中,策略2最差 第二部分——return的计算 以图中的例子为例 用 v_i来表示从 s_i 出发对应的return方法一 方法二 这里的方法二说明了什么一个问题呢,从当前状态出发,return的值,就等于当前的reward + 下一状态的return *...