使用numpy实现神经网络模型

  • 使用单层神经网络OneNet实现逻辑或、逻辑与和逻辑非分类
  • 使用2层神经网络TwoNet实现逻辑异或分类
  • 使用3层神经网络ThreeNet实现iris数据集和mnist数据集分类
阅读全文 »

为了理清如何进行神经网络的前向传播和反向传播的推导,找了很多资料,前向传播比较简单,重点在于如何进行反向传播的梯度计算

cs231n课程推荐的计算方式是先进行单个元素求导,再逐步泛化到批量数据求梯度,参考

阅读全文 »

神经网络的反向传播可以通过对损失函数进行微分得到各层权重矩阵的梯度

其中对损失函数求梯度是实值标量函数一阶微分,其中关键的部分是得到Jacobian矩阵,从而转置获取梯度矩阵

阅读全文 »

pytorchautograd包中,利用Jacobian(雅格比)矩阵进行梯度的计算。学习实值标量函数、实值向量函数和实值矩阵函数相对于实向量变元或矩阵变元的偏导

阅读全文 »

小结矩阵求解过程中的基础知识

  • 标量、向量和矩阵
  • 矩阵乘法/积
  • 转置、共扼、共扼转置
  • 矩阵的迹
  • 向量化和矩阵化
阅读全文 »

最近推导神经网络的前向传播和反向传播过程,经常会遇到有关导数、微分和梯度的内容,对它们的概念进行一次小结

  • 导数
  • 微分
  • 偏导数
  • 全微分
  • 方向导数
  • 梯度
阅读全文 »

神经网络是卷积神经网络的基础,其包含的层架构、激活函数、反向传播、正则化等等内容都可以应用于卷积神经网络

阅读全文 »