深度学习(DL, Deep Learning)是机器学习(ML, Machine Learning)领域中一个新的研究方向,它被引入机器学习使其更接近于最初的目标——人工智能


深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据的解释有很大的帮助。它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。 深度学习是一个复杂的机器学习算法,在语音和图像识别方面取得的效果,远远超过先前相关技术。

 

机器学习领域是巨大的,为了学习不迷路,可以从以下列表帮助学习。它概述深度学习的一些学习细节。


阶段1:入门级
入门级能够掌握以下技能:

 

  • 能够处理小型数据集

 

  • 理解经典机器学习技术的关键概念

 

  • 网络DNN、CNN和RNN


数据处理
在入门级使用的数据集很小,可以放入主内存中。只需几行代码即可应用此类操作。在此阶段数据包括Audio、Image、Time-series和Text等类型。

 

经典机器学习
在深入研究深度学习之前,学习基本机器学习技术是一个不错的选择,其包括回归、聚类、SVM和树模型。

 

网络
掌握常见的网络层,以及相应的神经网络;GAN、AE、VAE、DNN、CNN、RNN 等等。在入门阶段,可以优先掌握DNN、CNN和RNN。

 

理论
没有神经网络就没有深度学习,没有(数学)理论就没有神经网络。可以通过了解数学符号来开始学习,可以从矩阵、线性代数和概率论开始你的学习。

 


阶段2:进阶水平
进阶和入门级之间没有真正的分界,进阶水平能够处理更大的数据集,能够使用高级网络处理自定义项模型:

 

  • 处理更大的数据集

 

  • 能够自定义模型完成任务

 

  • 网络模型精度变得更好


数据处理
能够处理几GB的数据集,需要自定义数据扩增方法和数据处理函数。


自己完成任务
能够根据具体任务完成代码的开发,而不是参考MNIST的教程完成编码。


自定义网络
处理自定义项目时,如何处理数据数据?如何定义自己的网络层?


模型训练
掌握迁移学习的思路,学会使用预训练权重完成新任务。并掌握冻结部分网络层的方法。


深度学习理论
掌握深度学习模型的正向传播和反向传播,特别是链式求导法则。掌握激活函数和目标函数的作用,能够选择合适的激活函数和目标函数。

 


阶段3:熟练水平
与进阶相比你需要掌握更加的数据集处理方法,并掌握加速模型训练的方法:

 

  • 大规模数据的处理和存储

 

  • 网络模型的调参

 

  • 无监督学习和强化学习


数据处理
需要掌握几百GB数据集的处理,学会Linux的操作。此阶段可能接触到多模态任务。


无监督项目
开始尝试无监督网络模型的搭建,如自编码器和GAN模型,能够掌握模型原理。


模型训练
掌握模型调参的方法和常见的日志和可视化工具,如TensorBoard的使用。掌握学习率的调节方法,如余弦退火。掌握多机和混合精度训练。

 

 

阶段4:专家级
掌握前沿的学术模型的发展,知道自己的兴趣是什么,并能提出新的模型:

 

  • 学会使用JAX或DALI处理数据

 

  • 熟悉图神经网络和Transformer模型