本项目是一站式深度学习在线百科,内容涵盖零基础入门深度学习、产业实践深度学习、特色课程;深度学习百问、产业实践(开发中) 等等。从理论到实践,从科研到产业应用,各类学习材料一应俱全,旨在帮助开发者高效地学习和掌握深度学习知识,快速成为AI跨界人才。
-
内容全面:无论您是深度学习初学者,还是资深用户,都可以在本项目中快速获取到需要的学习材料。
-
形式丰富 :材料形式多样,包括可在线运行的notebook、视频、书籍、B站直播等,满足您随时随地学习的需求。
-
实时更新:本项目中涉及到的代码均匹配Paddle最新发布版本,开发者可以实时学习最新的深度学习任务实现方案。
-
前沿分享 :定期分享顶会最新论文解读和代码复现,开发者可以实时掌握最新的深度学习算法。
零基础入门深度学习 |
产业实践深度学习 |
---|---|
特色系列课程 |
经典深度学习案例集 |
深度学习百问 |
面试宝典 |
-
AI Studio在线课程:《零基础实践深度学习》:理论和代码结合、实践与平台结合,包含20小时视频课程,由百度杰出架构师、飞桨产品负责人和资深研发人员共同打造。
-
《零基础实践深度学习》书籍:本课程配套书籍,由清华出版社2020年底发行,京东/当当等电商均有销售。
学习地图:
1.零基础实践深度学习七日课 开营介绍
资料 链接 视频 https://aistudio.baidu.com/aistudio/education/lessonvideo/1452173 课件 https://aistudio.baidu.com/aistudio/education/preview/1447519 2.比赛赛题讲解
资料 链接 视频 https://aistudio.baidu.com/aistudio/education/lessonvideo/1372844 项目 https://aistudio.baidu.com/aistudio/projectdetail/1938271 3.DAY1-AI职业发展与课程介绍
资料 链接 视频 https://aistudio.baidu.com/aistudio/education/lessonvideo/1452185 课件 https://aistudio.baidu.com/aistudio/education/preview/1452186 4.DAY2-手写数字识别案例入门深度学习
附:手写数字识别案例入门深度学习项目
项目 链接 使用飞桨完成手写数字识别模型 https://aistudio.baidu.com/aistudio/education/group/info/1297 通过极简方案快速构建手写数字识别模型 手写数字识别之数据处理 手写数字识别之网络结构 手写数字识别之损失函数 手写数字识别之优化算法 手写数字识别之资源配置 手写数字识别之训练调试与优化 手写数字识别之恢复训练 手写数字识别之动转静部署 5.DAY3-眼疾识别案例实践计算机视觉
附:眼疾识别案例项目
项目 链接 卷积神经网络基础 https://aistudio.baidu.com/aistudio/education/group/info/1297 图像分类 6.DAY4-词向量训练和情感分析任务
附:词向量训练和情感分析任务项目
项目 链接 自然语言处理综述 https://aistudio.baidu.com/aistudio/education/group/info/1297 词向量Word Embedding 文本情感倾向性分析 7.DAY5-基于DSSM的电影推荐案例
附:DSSM的电影推荐案例项目
项目 链接 推荐系统介绍 https://aistudio.baidu.com/aistudio/education/group/info/1297 数据处理与读取 电影推荐模型设计 模型训练与特征保存 电影推荐 8.DAY6-模型优化经验与飞桨深入解读
深度学习百问包含深度学习基础篇、深度学习进阶篇、深度学习应用篇、强化学习篇以及面试宝典,详细信息请参阅Paddle知识点文档平台。
-
深度学习基础篇
-
- 基础知识(包括神经元、单层感知机、多层感知机等5个知识点)
- 优化策略(包括什么是优化器、GD、SGD、BGD、鞍点、Momentum、NAG、Adagrad、AdaDelta、RMSProp、Adam、AdaMa、Nadam、AMSGrad、AdaBound、AdamW、RAdam、Lookahead等18个知识点)
- 激活函数(包括什么是激活函数、激活函数的作用、identity、step、sigmoid、tanh、relu、lrelu、prelu、rrelu、elu、selu、softsign、softplus、softmax、swish、hswish、激活函数的选择等21个知识点)
- 常用损失函数(包括交叉熵损失、MSE损失以及CTC损失等3个知识点)
- 评估指标(包括Precision、Recall、mAP、IS、FID等5个知识点)
- 模型调优
- 学习率(包括什么是学习率、学习率对网络的影响以及不同的学习率率衰减方法,如:分段常数衰减等12个学习率衰减方法)
- 归一化(包括什么是归一化、为什么要归一化、为什么归一化能提高求解最优解速度、归一化有哪些类型、不同归一化的使用条件、归一化和标准化的联系与区别等6个知识点)
- 正则化(包括什么是正则化?正则化如何帮助减少过度拟合?数据增强、L1 L2正则化介绍、L1和L2的贝叶斯推断分析法、Dropout、DropConnect、早停法等8个知识点)
- 注意力机制 (包括自注意力、多头注意力、经典注意力计算方式等10个知识点)
- Batch size(包括什么是batch size、batch size对网络的影响、batch size的选择3个知识点)
- 参数初始化(包括为什么不能全零初始化、常见的初始化方法等5个知识点)
-
- 词表示 (包括one-hot编码、word-embedding以及word2vec等9个知识点)
- 循环神经网络RNN
- 长短时记忆网络LSTM
- 门控循环单元GRU
-
-
深度学习进阶篇
- 预训练模型
- 预训练模型是什么 (包括预训练、微调等2个知识点)
- 预训练分词Subword(包括BPE、WordPiece、ULM等3个知识点)
- Transformer(包括self-attention、multi-head Attention、Position Encoding、Transformer Encoder、Transformer Decoder等5个知识点)
- BERT(包括BERT预训练任务、BERT微调等2个知识点)
- ERNIE(包括ERNIE介绍、Knowledge Masking等2个知识点)
- 对抗神经网络
- encoder-decoder(包括encoder、decoder等2个知识点)
- GAN基本概念(包括博弈论、纳什均衡、输入随机噪声、生成器、判别器、损失函数、训练不稳定、模式崩溃等8个知识点)
- GAN应用(包括GAN在图像生成、超分辨率、图片上色等方面的应用)
- 预训练模型
-
深度学习应用篇
-
产业实践篇
-
强化学习篇
- 强化学习
- 强化学习基础知识点(包括智能体、环境、状态、动作、策略和奖励的定义)
- 马尔可夫决策过程 (包括马尔可夫决策过程、Model-based、Model-free三个知识点)
- 策略梯度定理 (包括策略梯度定理一个知识点)
- 蒙特卡洛策略梯度定理(包括蒙特卡洛策略梯度定理一个知识点)
- REINFORCE算法 (包括REINFORCE算法简介和流程两个知识点)
- SARSA(包括SARSA的公式、优缺点等2个知识点)
- Q-Learning(包括Q-Learning的公式、优缺点等2个知识点)
- DQN(包括DQN网络概述及其创新点和算法流程2个知识点)
- 强化学习
-
面试宝典
- 深度学习基础
- 为什么归一化能够提高求解最优解的速度?
- 为什么要归一化?
- 归一化与标准化有什么联系和区别?
- 归一化有哪些类型?
- Min-max归一化一般在什么情况下使用?
- Z-score归一化在什么情况下使用?
- 学习率过大或过小对网络会有什么影响?
- batch size的大小对网络有什么影响?
- 在参数初始化时,为什么不能全零初始化?
- 激活函数的作用?
- sigmoid函数有什么优缺点?
- RELU函数有什么优缺点?
- 如何选择合适的激活函数?
- 为什么 relu 不是全程可微/可导也能用于基于梯度的学习?
- 怎么计算mAP?
- 交叉熵为什么可以作为分类任务的损失函数?
- CTC方法主要使用了什么方式来解决了什么问题?
- 机器学习指标精确率,召回率,f1指标是怎样计算的?
- 卷积模型
- 预训练模型
- BPE生成词汇表的算法步骤是什么?
- Multi-Head Attention的时间复杂度是多少?
- Transformer的权重共享在哪个地方?
- Transformer的self-attention的计算过程是什么?
- 讲一下BERT的基本原理
- 讲一下BERT的三个Embedding是做什么的?
- BERT的预训练做了些什么?
- BERT,GPT,ELMO的区别
- 请列举一下BERT的优缺点
- ALBERT相对于BERT做了哪些改进?
- NSP和SOP的区别是什么?
- 对抗神经网络
- GAN是怎么训练的?
- GAN生成器输入为什么是随机噪声?
- GAN生成器最后一层激活函数为什么通常使用tanh()?
- GAN使用的损失函数是什么?
- GAN中模式坍塌(model callapse指什么?)
- GAN模式坍塌解决办法
- GAN模型训练不稳定的原因
- GAN模式训练不稳定解决办法 or 训练GAN的经验/技巧
- 计算机视觉
- ResNet中Residual block解决了什么问题?
- 使用Cutout进行数据增广有什么样的优势?
- GoogLeNet使用了怎样的方式进行了网络创新?
- ViT算法中是如何将Transformer结构应用到图像分类领域的?
- NMS的原理以及具体实现?
- OCR常用检测方法有哪几种、各有什么优缺点?
- 介绍一下DBNet算法原理
- DBNet 输出是什么?
- DBNet loss
- 介绍以下CRNN算法原理
- 介绍一下CTC原理
- OCR常用的评估指标
- OCR目前还存在哪些挑战/难点?
- 自然语言处理
- RNN一般有哪几种常用建模方式?
- LSTM是如何改进RNN,保持长期依赖的?
- LSTM在每个时刻是如何融合之前信息和当前信息的?
- 使用LSTM如何简单构造一个情感分析任务?
- 介绍一下GRU的原理
- word2vec提出了哪两种词向量训练方式
- word2vec提出了负采样的策略,它的原理是什么,解决了什么样的问题?
- word2vec通过什么样任务来训练词向量的?
- 如果让你实现一个命名实体识别任务,你会怎么设计?
- 在命名实体识别中,一般在编码网络的后边添加CRF层有什么意义
- 介绍一下CRF的原理
- CRF是如何计算一条路径分数的?
- CRF是如何解码序列的?
- 使用bilstm+CRF做命名实体识别时,任务的损失函数是怎么设计的?
- BERT的结构和原理是什么?
- BERT使用了什么预训练任务?
- 说一下self-attention的原理?
- 推荐系统
章节名称 | notebook链接 | Python实现 | 课程简介 |
---|---|---|---|
经典的预训练语言模型 | notebook链接 | Python实现 | 本章节将为大家详细介绍NLP领域 Transformer。Transformer的前世今生,包括ELMo,GPT,Transformer,BERT等经典模型,还会介绍Transformer在机器翻译里面的应用 |
经典的预训练语言模型 | notebook链接 | Python实现 | 本章节将为大家详细介绍NLP领域 Transformer。Transformer的前世今生,包括ELMo,GPT,Transformer,BERT等经典模型,还会介绍Transformer在机器翻译里面的应用 |
预训练模型在自然语言理解方面的改进 | notebook链接 | Python实现 | ERNIE, RoBERTa, KBERT,清华ERNIE等,在广度上去分析经典预训练模型的一些改进。 |
预训练模型在长序列建模方面的改进 | notebook链接 | Python实现 | Transformer-xl, xlnet, longformer等,分析BERT和transformer的长度局限,并讨论这些方法的改进点。 |
BERT蒸馏 | notebook链接 | Python实现 | 本章节为大家详细介绍了针对BERT模型的蒸馏算法,包括:Patient-KD、DistilBERT、TinyBERT、DynaBERT等模型,同时以代码的形式为大家展现了如何使用DynaBERT的训练策略对TinyBERT进行蒸馏。 |
预训练模型的瘦身策略 – – 高效结构 | notebook链接 | Python实现 | 本章节将为大家>详细介绍NLP领域,基于Transformer模型的瘦身技巧。包括 Electra,AlBERT 以及 performer。还会介绍代码实现案例:基于Electra的语音识别后处理中文标点符号预测 |
transformer在图像分类中的应用 | notebook链接 | Python实现 | 本章>节将为大家详细介绍 Transformer 在 CV 领域中的两个经典算法:ViT 以及 DeiT。带领大家一起学习Transformer 结构在图像分类领域的具体应用。 |
非常感谢您使用本项目。您在使用过程中有任何建议或意见,可以在 Issue 上反馈给我们,也可以通过扫描下方的二维码联系我们,飞桨的开发人员非常高兴能够帮助到您,并与您进行更深入的交流和技术探讨。
本项目的发布受Apache 2.0 license许可认证。
本项目的不断成熟离不开各位开发者的贡献,如果您对深度学习知识分享感兴趣,非常欢迎您能贡献给我们,让更多的开发者受益。
本项目欢迎任何贡献和建议,大多数贡献都需要你同意参与者许可协议(CLA),来声明你有权,并实际上授予我们有权使用你的贡献。
pip install pre-commit
pre-commit install
添加修改的代码后,对修改的文件进行代码规范,pre-commit 会自动调整代码格式,执行一次即可,后续commit不需要再执行。提交pr流程,详见:awesome-DeepLearning 提交 pull request 流程