Skip to content

Neural network algorithm、architecture and some materials.

Notifications You must be signed in to change notification settings

RacleRay/DeepLearningFoundation

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

Watchers

Forks

Releases

No releases published

Packages

No packages published