Skip to content

Latest commit

 

History

72 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DeepLearningFoundation

Neural network algorithm、architecture and some materials.

每个部分均给出代码及运行结果

Table of Contents

  • 1 逻辑门
  • 2 常用函数
  • 3 梯度求解
  • 4 简单网络,数值求解
  • 5 BP算法公式版
    • 5.1 乘法、加法操作的简单定义
    • 5.2 主要layer的实现
    • 5.3 BP算法初步双层网络
    • 5.4 模型优化、参数调优
      • 5.4.1 权重初始化实验
      • 5.4.2 为方便实验,先定义一个多层全连接网络
      • 5.4.3 MNIST权重初始化影响
      • 5.4.4 超参数搜索
        • 5.4.4.1 Trainer训练集成类
        • 5.4.4.2 超参数的随机搜索
      • 5.4.5 优化梯度更新算法
        • 5.4.5.1 SGD
        • 5.4.5.2 Momentum
        • 5.4.5.3 Nesterov
        • 5.4.5.4 Adagrad
        • 5.4.5.5 Adadelta
        • 5.4.5.6 RMSprop
        • 5.4.5.7 Adam
        • 5.4.5.8 Nadam(结合Nesterov的思路)
        • 5.4.5.9 AdaBound(加入lr动态上下界)
      • 5.4.6 求解算法对比
        • 5.4.6.1 简单方程对比
        • 5.4.6.2 MINIST数据集对比
      • 5.4.7 batch_norm
        • 5.4.7.1 新建包含BN和dropout的网络
        • 5.4.7.2 对比有误BN的情况
      • 5.4.8 过拟合:L2和Dropout
        • 5.4.8.1 Trainer训练集成类(和前面相同)
        • 5.4.8.2 Dropout
        • 5.4.8.3 L2
  • 6 Convolution卷积
    • 6.1 卷积层
    • 6.2 Pooling层
    • 6.3 简单ConvNet
    • 6.4 可视化filter
    • 6.5 使用学习好的filter
  • 7 Deep_convnet
    • 7.1 浮点运算的影响
  • 8 RNN
  • 9 LSTM

BONUS : Perceptron
BONUS : 拓扑排序算法 -- 实现神经网络框架图计算逻辑

使用TensorFlow1.6完成了常用CNN基本结构的构建。

  • Inception V3 naive
  • resNet naive
  • VGGNet naive
  • MobileNet naive

进行基本文本预处理,其中batch处理需要一些小技巧。embedding_lookup和softmax共享权重矩阵。使用perplexity评价LM。 Seq2Seq attention的实现。

  • LM
  • Seq2Seq attention
    • dynamic_rnn:排除padding state传递影响,直接使用上一步state覆盖
    • sequence_mask:排除padding在计算loss时的影响
    • encoder bidirectional_rnn:attention需要主要到分别来自上下文的语义信息
    • decoder while_loop:实现动态inference
    • decoder:只继承attention之后的encoder outputs,不继承encoder state,decoder可以更自由的选择结构形式
    • decoder:embedding和softmax共享权重
  • Translation model based on seq2seq attention(TF2.0)
  • Keras的两种建模方式
  • Slim的简单使用
  • Estimator自定义模型,使用Dataset对象

第五部分 ML+DL算法模型

  • SVM
    • 理解SVM算法原理的demo,核心求解目标:max(||w||) and min(b), s.t. y(wx + b) >= 1。
    • soft margin的实现可以将边界向decision boundary增加一个容忍量
  • PGM
    • 概率图模型部分总结笔记
  • HMM
    • 实现前向、后向算法。使用Baum-Walch进行参数学习(局部最优解),viterbi算法进行最优状态路径decoding。
  • CRF tagging
    • 使用sklearn_crfsuite进行词性训练和测试。
  • VAE
    • DL生成式模型,keras和pytorch版本
  • GAN
    • WGAN实现,CGAN在MNIST数据集上实验,ACGAN生成人脸实验
    • DCGAN在Have_Fun repository里实现过。
    • 就人脸生成任务而言,ACGAN效果相对更好
    • Pix2Pix实现,主要是U-net处理和其他gan在网络结构上较大不同
  • Capsule Net
    • 根据Capsule Net原论文,参考实现1, 实现1,修改了部分模型计算过程,在MNIST数据集上实验。
  • Transformer
    • Transormer tensorflow 2.0 实现
  • Bert fine-tune
    • 文本表示方法较为系统的总结,Word2Vec以及预训练语言模型。【MD文件使用Typore等软件可正常查看】
    • 结合Transformer,可以对这部分算法有一定的认知。
  • GCN
    • basic GCN根据关联关系进行节点标签分类的监督学习实例。
  • Pointer net for summary in Chinese
    • 生成式文章摘要算法,一种简洁地处理OOV词的思路。encoder-decoder的结构,也有很多修改的参考。根据资料来看,使用transformer结构应该会有更好一些的效果。
  • AWD-LSTM
    • all kinds of dropout in one LSTM

About

Neural network algorithm、architecture and some materials.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages