Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

参与

五天入门深度学习,这里有一份PyTorch实战课程

这是一门五天入门深度学习的实战课程。

想入门深度学习的小伙伴有福了!dataflowr 最近推出了一门五天初步掌握深度学习的实战教程(实战使用 PyTorch 框架),有知识点有实例有代码,值得一看。该课程的创建和维护者是法国国立计算机及自动化研究院(INRIA)的研究员 Marc Lelarge。

  • 课程地址:https://mlelarge.github.io/dataflowr-web/cea_edf_inria.html
  • 代码地址:https://github.com/mlelarge/dataflowr

该课程的教学目标是学习者能够了解:

  • 何时何地应该使用深度学习

  • 深度学习的工作原理

  • 深度学习前沿研究

此外,该课程还希望学习者能够自己动手做深度学习项目。

这门实战课程要求学习者积极参与,亲自动手实践,其使用的深度学习框架为 PyTorch。

课程目录

第一天:

  • (PPT)课程简介;

  • (代码)示例 1:在 Colab 上创建 VGG 模型参加 Kaggle 猫狗识别竞赛;

  • (代码)用 Autograd 做回归:PyTorch 简介。

第二天:

  • (PPT)线性/logistic 回归、分类和 Pytorch 模块;

  • (代码)理解卷积,创建首个数字识别神经网络

  • (PPT)嵌入和数据加载器(DataLoader);

  • (代码)协作过滤算法:矩阵因子分解和推荐系统;

  • (PPT)变分自编码器

  • (代码)自编码器和变分自编码器

第三天:

  • (PPT)用于真实世界场景的深度学习;

  • (代码)Softmax 温度、混合密度网络、通过反向传播的贝叶斯;

  • (PPT)生成对抗网络

  • (代码)条件 GAN 和 InfoGAN

第四天:

  • 循环神经网络:PPT 及相关代码;

  • (代码)char-RNN 的 PyTorch 教程;

  • (代码)Word2vec;

  • (代码)试玩词嵌入;

  • 了解结构化自注意句子嵌入的论文和代码,从而掌握 Glove NLP 小项目。

第五天:

  • (PPT)打开 AI 黑箱;

  • (代码)类激活图(CAM);

  • (代码)对抗样本

  • 神经网络

希望对读者有所帮助。

入门PyTorch教程GAN图神经网络
151
相关数据
VGG技术

2014年,牛津大学提出了另一种深度卷积网络VGG-Net,它相比于AlexNet有更小的卷积核和更深的层级。AlexNet前面几层用了11×11和5×5的卷积核以在图像上获取更大的感受野,而VGG采用更小的卷积核与更深的网络提升参数效率。VGG-Net 的泛化性能较好,常用于图像特征的抽取目标检测候选框生成等。VGG最大的问题就在于参数数量,VGG-19基本上是参数量最多的卷积网络架构。VGG-Net的参数主要出现在后面两个全连接层,每一层都有4096个神经元,可想而至这之间的参数会有多么庞大。

变分自编码器技术

变分自编码器可用于对先验数据分布进行建模。从名字上就可以看出,它包括两部分:编码器和解码器。编码器将数据分布的高级特征映射到数据的低级表征,低级表征叫作本征向量(latent vector)。解码器吸收数据的低级表征,然后输出同样数据的高级表征。变分编码器是自动编码器的升级版本,其结构跟自动编码器是类似的,也由编码器和解码器构成。在自动编码器中,需要输入一张图片,然后将一张图片编码之后得到一个隐含向量,这比原始方法的随机取一个随机噪声更好,因为这包含着原图片的信息,然后隐含向量解码得到与原图片对应的照片。但是这样其实并不能任意生成图片,因为没有办法自己去构造隐藏向量,所以它需要通过一张图片输入编码才知道得到的隐含向量是什么,这时就可以通过变分自动编码器来解决这个问题。解决办法就是在编码过程给它增加一些限制,迫使其生成的隐含向量能够粗略的遵循一个标准正态分布,这就是其与一般的自动编码器最大的不同。这样生成一张新图片就比较容易,只需要给它一个标准正态分布的随机隐含向量,这样通过解码器就能够生成想要的图片,而不需要给它一张原始图片先编码。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

图神经网络技术

图网络即可以在社交网络或其它基于图形数据上运行的一般深度学习架构,它是一种基于图结构的广义神经网络。图网络一般是将底层图形作为计算图,并通过在整张图上传递、转换和聚合节点特征信息,从而学习神经网络基元以生成单节点嵌入向量。生成的节点嵌入向量可作为任何可微预测层的输入,并用于节点分类或预测节点之间的连接,完整的模型可以通过端到端的方式训练。

对抗样本技术

对抗样本是一类被设计来混淆机器学习器的样本,它们看上去与真实样本的几乎相同(无法用肉眼分辨),但其中噪声的加入却会导致机器学习模型做出错误的分类判断。

生成对抗网络技术

生成对抗网络是一种无监督学习方法,是一种通过用对抗网络来训练生成模型的架构。它由两个网络组成:用来拟合数据分布的生成网络G,和用来判断输入是否“真实”的判别网络D。在训练过程中,生成网络-G通过接受一个随机的噪声来尽量模仿训练集中的真实图片去“欺骗”D,而D则尽可能的分辨真实数据和生成网络的输出,从而形成两个网络的博弈过程。理想的情况下,博弈的结果会得到一个可以“以假乱真”的生成模型。

推荐文章
请问pytorch的版本是多少呢?