Skip to main content

Command Palette

Search for a command to run...

#neural-networks

Articles tagged with #neural-networks

  1. 《深度学习入门》的cpp实现-ch06: 与学习相关的技巧

    上一篇文章中,我们使用随机正态分布初始化神经网络的权重,SGD的方法更新参数,对于学习率、batch大小、权重衰减率等超参数选择了固定值,这篇文章我们会探讨对于这些做法的改进方案。 由于这一节涉及到众多方法, 并且要求网络结构复杂,不能逐一进行"cpp实现",理解原理并掌握即可(所以请把这篇文章当作读书笔记看待)。 参数的更新 SGD SGD公式如下 $$W \gets W - \eta \frac{\partial L}{\partial W} $$ SGD原理简单,并且在代码上容...

    Aug 24, 20222 min read54
    《深度学习入门》的cpp实现-ch06: 与学习相关的技巧
  2. 《深度学习入门》的cpp实现-ch05: 误差反向传播法

    上一节使用梯度更新的方法求神经网络的参数的梯度,虽然可行,但是耗时很多。这篇文章我们使用计算图(computational graph) 来进行计算损失函数对神经网络参数的梯队。 计算图 计算图是将计算过程用图形表示出来,将计算的的从左向右计算, 即由数据推理出结果,称为正向传播;将从右向左的传播,即由损失函数计算参数梯度,称为反向传播。 好处 使用计算图可以聚焦于局部计算,无论全局计算多么复杂,各个步骤只需要对输入输出做简单的计算。通过节点(算子)间的传递,可以获取全局复杂计算的结果。 使...

    Aug 20, 20223 min read12
    《深度学习入门》的cpp实现-ch05: 误差反向传播法
  3. 《深度学习入门》的cpp实现-ch04: 神经网络的学习

    上一篇文章中,我们加载了预先训练好的手写数字识别模型的权重和偏置,这一篇文章中会剖析下如何从数据中让机器自动学习得到模型参数。 从数据中学习 在传统的机器学习中,是需要人工从数据中提取出可以从输入数据(图像)中提取重要数据的转换器。然后使用这些特征量,将输入数据转换为向量,然后使用机器学习算法(SVM, KNN)等,进行学习,如下图。 对于深度学习,可以直接使用原始数据,进行“端到端”的学习。这里的“端到端”指的是从原始数据到目标结果的意思,因此深度学习也叫端到端的机器学习。 损失函数 在深度...

    Aug 14, 20222 min read28
    《深度学习入门》的cpp实现-ch04: 神经网络的学习