Deep Learning with Python 学习笔记

本文深入浅出地介绍了深度学习的基础知识,包括神经网络数学基础,如张量和梯度。通过实例探讨了二分类、多分类和回归问题的解决方案。还涉及卷积神经网络、循环神经网络RNNs以及生成式深度学习,如DeepDream和神经风格迁移。同时,文章提到了在小数据集上训练卷积网络的策略,以及处理文本数据的方法。最后,概述了关键网络架构,如Dense、CNNs和RNNs,并提及了深度可分离卷积的高效性。
摘要由CSDN通过智能技术生成


经历了一个月,终于把这本书看完第一遍了。留下一份笔记,然后后面要关注的点会标记出来。

深度学习

在这里插入图片描述

神经网络数学基础

神经网络的核心组件

神经网络核心组件——层——数学处理模块

张量

1.轴的个数(阶)
2.形状
3.数据类型
————> 向量;序列;图像;视频

梯度

梯度:张量的导数
随机梯度下降(SGD)
反向传播(链式求导) 优化器

神经网络入门

电影评论分类——二分类问题

IMDB数据集
1.准备数据(转为tensor)
a.填充列表 b.one-hot编码
2.构建网络(网络层数;每层隐藏单元数;激活函数
a. 2个中间层;一层16个单元(relu)
b.第三层输出;1个单元(sigmoid)
3.验证(损失函数)
loss为binary_crossentropy
----------------------------可以查阅了解“激活函数”;尤其是sigmoid,tanh,ReLU及其变体

新闻分类——多分类问题

涉及到(单标签 or 多标签---->多分类问题)
路透社数据集
1.准备数据
One-hot编码
2.网络
2个中间层;64个单元;ReLU激活
最后一层;46个单元;Softmax激活
3.验证
loss为categorial_crossentropy

预测房价——回归问题

波士顿房价数据集
1.准备数据
对每个特征做标准化,(x-mean) / std
2.网络
2个中间层;64个单元;ReLU激活
最后一层;1个单元;不激活,标量回归
3.验证
当验证集小 时,可以考虑“K折验证
loss为MSE

机器学习基础

1.监督学习——二分类;多分类;标量回归
序列生成;语法树预测;目标检测;图像分割
2.无监督学习——降维;聚类
3.自监督学习——启发式算法
4.强化学习

训练集;测试集;验证集
数据预处理:1、向量化;2、值标准化;3、处理缺失值
特征工程
过拟合&欠拟合:正则化(dropout;L2) 优化&泛化
指标:
1、平衡类别。ROC AUC
2、不平衡类别。 Precision Recall
3、排序、多标签分类。 mAP

深度学习用于计算机视觉

卷积神经网络

1.边界效应与填充
2.卷积步幅
下采样<-------最大池化运算
1D卷积;2D卷积;3D卷积(具体对应的应用场景在后面介绍----关键网络架构)

小型数据集上训练卷积神经网络

1.数据增强
2.Dropout正则化
3.预训练网络:Xception;VGG19;ResNet50(残差网络
4.“冻结”卷积基-------->微调模型
----------------------------残差网络:最新有ResNest等。也可以了解Transformer,CvT等(最近在了解这些)

深度学习用于文本和序列

处理文本数据

向量化:1.one-hot编码;2…标记嵌入

循环神经网络RNNs

可以先看一个简单的RNN(这里就不做介绍了)

关注于LSTM、GRU(有兴趣可以了解了解Transformer,再去了解Informer)

1.梯度消失/爆炸
循环Dropout;堆叠循环层;双向循环层
2.温度预测
3.时序----->循环网络 + dropout / 堆叠RNN / 双向RNN
PS: 循环注意 & 序列掩码

高效的深度学习最佳实践(没有讲解)

这个部分没有细看,涉及API等,后面再补充吧

生成式深度学习

在这里插入图片描述
1.采样策略:
a.贪婪采样(始终选择可能性最大的字符)
b.随机采样
2.从模型的softmax输出中进行概率采样---->softmax温度(高温度<---->高随机)
e.g 字符级的LSTM文本生成

DeepDream

e.g Keras实现DeepDream
过程:反向运行一个卷积神经网络,基于网络学到的表示来生成输入

神经风格迁移

(我复现没成功呢,有空再看看)
实际应用中大多依赖于VAE;GAN在学术研究领域流行

VAE 变分自编码器

variational autoencoder
可以学习具有良好结构的潜在空间
输入x---->encoder---->压缩表示---->decoder---->输出x’
损失loss:1.重构损失;2.正则化损失
VAE得到:高度结构化的、连续的潜在表示

GAN

1.生成器 generator
2.判别器 discriminator 或对手 adversary
e.g 深度卷积生成式对抗网络 DCGAN
流程就不细说了,讲一下怎么运行的:
生成器的权重调整<----- GAN的损失
判别器更新<----- 带有“真/假”的样本训练
tricks:
1、tanh作为生成器最后一层的激活(而不是sigmoid)
2、正态分布(高斯分布)对潜在空间中的点进行采样(而不是均匀分布)
3、加入随机性---->提高稳定性:a.判别器中使用dropout b.向判别器的标签添加随机噪声
4、改善稀疏性:a.步进卷积代替最大池化;b.LeakyReLU代替ReLU
5、使用步进的 Conv2DTranpose 或 Conv2D 时,内核大小能被步幅大小整除

=========================================================================================

总结Conclusion

关键网络架构

1.密集连接网络Dense;2.卷积网络CNNs;3.循环网络RNNs
输入与网络架构的关系:

输入数据网络架构
向量数据Dense
图像数据2D卷积
声音数据1D卷积(首选);RNNs
文本数据1D卷积(首选);RNNs
时间序列数据RNNs(首选);1D卷积
序列数据RNNs(时序性强---->首选) or 1D卷积
视频数据3D卷积(捕捉运动效果);2D卷积(帧级---->特征提取)+ RNNs or 1D卷积(处理序列)
立体数据3D卷积

Dense:映射任意两个输入特征之间的关系

任务最后一层损失函数目标
二分类Dense/sigmoidbinary_crossentropy0/1
单标签多分类Dense/sigmoidcategorical_crossentropy or sparse_cateforical_crossentropyone-hot
多标签多分类Dense/sigmoidbinary_crossentropyk-hot编码
(连续变量)回归Dense/不激活MSE or MAE

卷积神经网络

平移不变性

深度可分离卷积

SeparableConv2D;速度快,表示效率更高

=========================================================================================

第一遍看完就写到这儿了,后面会开始看大话数据结构,算法4、Deep Learning。总之有好多书需要看,最近也在双线进行图像小样本学习和视频小样本动作识别相关工作;以后再回顾的时候再补充吧,见谅。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值