├── DL meets PyTorch ├── .ipynb_checkpoints │ ├── StyleTransfer-checkpoint.ipynb │ └── basics-checkpoint.ipynb ├── Gatys_Image_Style_Transfer_CVPR_2016_paper.pdf ├── StyleTransfer.ipynb ├── basics.ipynb ├── images │ ├── cloud.jpg │ ├── dali.jpg │ ├── escher.jpg │ ├── logo.jpg │ ├── neuralnetwork.jpg │ ├── outputs │ │ ├── cloud-portrait1.png │ │ ├── escher-portrait2.png │ │ ├── eshcher - portrait1.png │ │ ├── logo-portrait1-2.png │ │ ├── logo-portrait1-3.png │ │ ├── logo-portrait1-4.png │ │ ├── logo-portrait1.png │ │ ├── logo-portrait2.png │ │ ├── neural-portrait1.png │ │ ├── neural-portrait2.png │ │ ├── swarm-portrait1.png │ │ └── swarm-portrait2.png │ ├── picasso.jpg │ ├── portrait1.jpg │ ├── portrait2.jpg │ └── swarm.jpg └── readme.md ├── README.md └── _config.yml /DL meets PyTorch/.ipynb_checkpoints/StyleTransfer-checkpoint.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [], 3 | "metadata": {}, 4 | "nbformat": 4, 5 | "nbformat_minor": 2 6 | } 7 | -------------------------------------------------------------------------------- /DL meets PyTorch/Gatys_Image_Style_Transfer_CVPR_2016_paper.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakezj/deeplearning-in-pytorch/0106e5b97290239fb26368dd7e008012695955ff/DL meets PyTorch/Gatys_Image_Style_Transfer_CVPR_2016_paper.pdf -------------------------------------------------------------------------------- /DL meets PyTorch/images/cloud.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakezj/deeplearning-in-pytorch/0106e5b97290239fb26368dd7e008012695955ff/DL meets PyTorch/images/cloud.jpg -------------------------------------------------------------------------------- /DL meets PyTorch/images/dali.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakezj/deeplearning-in-pytorch/0106e5b97290239fb26368dd7e008012695955ff/DL meets PyTorch/images/dali.jpg -------------------------------------------------------------------------------- /DL meets PyTorch/images/escher.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakezj/deeplearning-in-pytorch/0106e5b97290239fb26368dd7e008012695955ff/DL meets PyTorch/images/escher.jpg -------------------------------------------------------------------------------- /DL meets PyTorch/images/logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakezj/deeplearning-in-pytorch/0106e5b97290239fb26368dd7e008012695955ff/DL meets PyTorch/images/logo.jpg -------------------------------------------------------------------------------- /DL meets PyTorch/images/neuralnetwork.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakezj/deeplearning-in-pytorch/0106e5b97290239fb26368dd7e008012695955ff/DL meets PyTorch/images/neuralnetwork.jpg -------------------------------------------------------------------------------- /DL meets PyTorch/images/outputs/cloud-portrait1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakezj/deeplearning-in-pytorch/0106e5b97290239fb26368dd7e008012695955ff/DL meets PyTorch/images/outputs/cloud-portrait1.png -------------------------------------------------------------------------------- /DL meets PyTorch/images/outputs/escher-portrait2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakezj/deeplearning-in-pytorch/0106e5b97290239fb26368dd7e008012695955ff/DL meets PyTorch/images/outputs/escher-portrait2.png -------------------------------------------------------------------------------- /DL meets PyTorch/images/outputs/eshcher - portrait1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakezj/deeplearning-in-pytorch/0106e5b97290239fb26368dd7e008012695955ff/DL meets PyTorch/images/outputs/eshcher - portrait1.png -------------------------------------------------------------------------------- /DL meets PyTorch/images/outputs/logo-portrait1-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakezj/deeplearning-in-pytorch/0106e5b97290239fb26368dd7e008012695955ff/DL meets PyTorch/images/outputs/logo-portrait1-2.png -------------------------------------------------------------------------------- /DL meets PyTorch/images/outputs/logo-portrait1-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakezj/deeplearning-in-pytorch/0106e5b97290239fb26368dd7e008012695955ff/DL meets PyTorch/images/outputs/logo-portrait1-3.png -------------------------------------------------------------------------------- /DL meets PyTorch/images/outputs/logo-portrait1-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakezj/deeplearning-in-pytorch/0106e5b97290239fb26368dd7e008012695955ff/DL meets PyTorch/images/outputs/logo-portrait1-4.png -------------------------------------------------------------------------------- /DL meets PyTorch/images/outputs/logo-portrait1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakezj/deeplearning-in-pytorch/0106e5b97290239fb26368dd7e008012695955ff/DL meets PyTorch/images/outputs/logo-portrait1.png -------------------------------------------------------------------------------- /DL meets PyTorch/images/outputs/logo-portrait2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakezj/deeplearning-in-pytorch/0106e5b97290239fb26368dd7e008012695955ff/DL meets PyTorch/images/outputs/logo-portrait2.png -------------------------------------------------------------------------------- /DL meets PyTorch/images/outputs/neural-portrait1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakezj/deeplearning-in-pytorch/0106e5b97290239fb26368dd7e008012695955ff/DL meets PyTorch/images/outputs/neural-portrait1.png -------------------------------------------------------------------------------- /DL meets PyTorch/images/outputs/neural-portrait2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakezj/deeplearning-in-pytorch/0106e5b97290239fb26368dd7e008012695955ff/DL meets PyTorch/images/outputs/neural-portrait2.png -------------------------------------------------------------------------------- /DL meets PyTorch/images/outputs/swarm-portrait1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakezj/deeplearning-in-pytorch/0106e5b97290239fb26368dd7e008012695955ff/DL meets PyTorch/images/outputs/swarm-portrait1.png -------------------------------------------------------------------------------- /DL meets PyTorch/images/outputs/swarm-portrait2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakezj/deeplearning-in-pytorch/0106e5b97290239fb26368dd7e008012695955ff/DL meets PyTorch/images/outputs/swarm-portrait2.png -------------------------------------------------------------------------------- /DL meets PyTorch/images/picasso.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakezj/deeplearning-in-pytorch/0106e5b97290239fb26368dd7e008012695955ff/DL meets PyTorch/images/picasso.jpg -------------------------------------------------------------------------------- /DL meets PyTorch/images/portrait1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakezj/deeplearning-in-pytorch/0106e5b97290239fb26368dd7e008012695955ff/DL meets PyTorch/images/portrait1.jpg -------------------------------------------------------------------------------- /DL meets PyTorch/images/portrait2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakezj/deeplearning-in-pytorch/0106e5b97290239fb26368dd7e008012695955ff/DL meets PyTorch/images/portrait2.jpg -------------------------------------------------------------------------------- /DL meets PyTorch/images/swarm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jakezj/deeplearning-in-pytorch/0106e5b97290239fb26368dd7e008012695955ff/DL meets PyTorch/images/swarm.jpg -------------------------------------------------------------------------------- /DL meets PyTorch/readme.md: -------------------------------------------------------------------------------- 1 | # 第一课:当深度学习遇到PyTorch 2 | 3 | ## 课程文件包括: 4 | 5 | - basics.ipynb : 课程讲解过程中展示的所有代码及其详细说明(包含对Tensor的操作,以及一个简单的线性回归程序) 6 | - StyleTransfer.ipynb : 课程展示的一个风格迁移的示例,有较详细的代码注解 7 | - Gatys_Image_Style_Transfer_CVPR_2016_paper.pdf : 一篇对风格迁移算法原理进行说明的论文 8 | - images : 盛放jpg图像文件的文件夹 9 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 火炬上的深度学习课程 2 | 3 | ## 介绍 4 | 5 | 自从2012年以来,深度学习(Deep Learning)就以一种势如破竹之势突破了一个个经典的人工智能问题。无论是人脸识别、机器翻译,还是人机对战,深度学习都以几近完美的表现释放了其体内的洪荒之力。更重要的是,当前的深度学习已经逐渐形成了一整套方法和软件生态环境,并渗透到了其它的学科领域和人们的日常生活之中。面对人工智能的快速发展,你不想了解它的基本工作原理吗?你不想亲手搭建一个会识别、能认字、懂作曲的AI程序吗?你不想学会一个快速上手的深度学习框架吗? 6 | 7 | 为了满足广大学员的愿望,集智AI学园(http://campus.swarma.org/ )(Deep Learning in Pytorch)这个重磅系列课程。所有课程用代码都在各自相应的文件夹中。 8 | 9 | 课程内容包括: 10 | 11 | ## 当“深度学习”遇上PyTorch 12 | 13 | ### 文件夹DL-meets-pytorch 14 | 当Deep Learning遇上PyTorch,一切都会变得简单而深刻!深度学习(Deep Learning)作为当今人工智能最关键的技术,不仅在图像识别、图像生成、自然语言处理等领域大显身手,更是AlphaGo、自动驾驶等黑科技的核心。PyTorch则是一款刚刚推出,广受欢迎的深度学习开源框架,非常适合新手快速入门。我们的课程就从PyTorch开始。 15 | 16 | 首先,我们将简要介绍深度学习基本原理和应用。其次,我们介绍PyTorch框架。通过实例,我们介绍了什么是Tensor,如何对Tensor进行各种运算;我们还将介绍什么是自动微分技术,以及它在整个深度学习中的重要性。最后,我们通过两个实例来介绍机器学习的基本步骤以及基本概念。另外,在本课程的配套视频课程中,您还会学到有关PyTorch的安装与应用。 17 | 18 | ## "摩拜单车"需要我 19 | 在这堂课中,你将和我一起亲手搭建一个名字叫Neu的神经网络,并用它来解决共享单车的数量预测问题。与此同时,你将学到如何处理数据来喂给一个神经网络,并让它完成训练的基本方法。之后,我们还会进一步解剖我们的Neu神经网络,看一看它是如何工作的;它又为什么会在一些特殊的情况下失灵。除此之外,在本课程的配套视频中,你还可以学会神经网络反向传播算法的基本原理和数学推导。 20 | 21 | ## 我卷卷卷 22 | 这一章的主角当然就是卷积神经网络了。从卷积到池化操作,本课程将深入潜出地为你介绍卷积神经网络的工作原理。之后,我们展示了如何用PyTorch来实现一个卷积神经网络,并进一步复习了张量的概念,及其张量运算。在这个基础上,我们引出了过滤器、特征匹配与特征图的概念,并揭示了卷积神经网络的工作原理。作为本课程的附属视频,我们介绍了应用于卷积神经网络的反向传播算法。 23 | 24 | ## 神经网络如何“移情别恋” 25 | 在去年的 NIPS 2016 讲座上,吴恩达表示:“在监督学习之后,迁移学习将引领下一波机器学习技术商业化浪潮。” 26 | 27 | 什么是迁移学习?它就是一种将一个领域训练的机器学习模型应用到另一个领域中去的技术手段。在本课程中,我们将详细介绍迁移学习概念,以及如何用PyTorch实现简单的迁移学习。作为项目实例,我们将手把手地教你利用迁移学习来搭建一个“手写数字加法器”。我们还将教会你如何借用别人训练好的大型神经网络,实现你自己的计算机视觉。 28 | 29 | ## “镜像网络”与“猫鼠游戏” 30 | 正如每个物质粒子都有一个镜像:它的反粒子;卷积神经网络也存在着一个镜像,这就是反卷积神经网络。利用这种“镜像”网络,我们可以生成图像。为了让生成的图像更逼真,我们创造了两个神经网络,让它们彼此之间玩“猫鼠游戏”的游戏,这就是对抗生成网络技术(Generative Adversial Network,简称GAN)。 31 | 32 | 在本课程中,我们将首先引入图像生成任务,并讲述它的实际用途是什么;之后,我们详细讲述了卷积技术的扩展以及反卷积神经网络。随后,我们引入了“猫鼠游戏”,让一个网络充当造假的老鼠,另一个网络充当识别假货的猫,并让它们俩完成共同训练。最终,我们利用GAN训练出一个厉害的生成器。 33 | 34 | ## 词汇的星空 35 | 我们要创造一个宇宙,在这里,每个星星就是一个单词,它们不仅烁烁发光,而且还会自动地聚类形成家族。看,“徐静蕾”、“周迅”、“赵薇”抱成了一团;“美元”、“台币”、“卢比”、“比索”聚成了一堆;“星星”、“月亮”、“太阳”跑到了一块儿。更有意思的是,这些星星还懂得基本的线性代数与几何学,例如当我们在“男人”和“女人”之间连一条线,再在“国王”与“王后”之间连条线,那么它们是彼此平行的。这就是Word2Vec的神奇力量。Word2Vec是Google的研究员Miklov开发的一种将词汇嵌入到向量空间的技术,有了它,我们就可以用神经网络的方式来处理单词,甚至完成各种复杂的自然语言处理任务了。 36 | 37 | 本课程将重点介绍Word2Vec技术,它的工作原理以及代码实现。另外,我们还将展示如何利用Word2Vec来完成各种有意思的应用,包括如何可视化一个复杂的网络,并将这些节点聚类和排序。 38 | 39 | ## 机器也懂感情? 40 | 在这节课中,我们将教会机器读懂感情,也就是在中文句子中识别出赞美之词或者贬义之语,从而判断出整个句子的情绪。我们的办法是利用循环神经网络(Recurrent Neural Network,简称RNN),让机器完成一个简单的文本分类问题。本课程将详述RNN的基本工作原理,以及如何用PyTorch实现它。同时,我们还将展示如何从网站爬取数据,以及如何训练一个循环神经网络。 41 | 42 | ## 神经网络莫扎特 43 | 在这节课中,我们将创造一个“神经网络莫扎特”,一个利用长短时记忆网络(Long Short Term Memory,简称LSTM)进行音符生成的神经网络。在这节课中,我们将详细讲述LSTM的工作原理,并用简单的数值实验展示它的工作方式。最后,我们将讲解如何用Python读取MIDI文件,从而构造LSTM的训练数据集。另外,在本节课中,我们还将介绍如何使用GPU来进行张量运算,以及一个超级好用的云服务平台Floyd。最终,我们将打造一个会自己谱曲的人工智能小程序。作为本课程的附属视频,我们详细讲述了应用于LSTM的反向传播原理。 44 | 45 | ## 彩云小译 46 | 彩云小译是由彩云AI公司开发的一款超级好用的APP,它可以完成即时的中英翻译。本节课将详细讲述机器翻译的原理,并揭示彩云小译这款神器背后的故事。在本节课中,你将学会什么是编码器-解码器框架,什么是注意力机制,以及如何利用PyTorch实现它。除此之外,课程还详细地介绍了机器翻译的最新进展。 47 | 48 | ## 游戏高手 49 | 设想这样一个AI程序,它可以通过学习完成任何你交给它的任务。这就是通用AI,一个让无数科学家们醉生梦死的终极梦想。本课程就教会你搭建这样一个初步通用的AI程序,一个可以玩各种游戏的通用学习器:“游戏高手”。首先,课程介绍了强化学习(Reinforcement)的基本概念以及关键算法;其次,我们介绍了Google在2015年发表的成果DQN网络:一个深度卷积网络与强化学习的结合物;之后,我们介绍了基于Python的游戏平台PyGame,以及如何用PyTorch实现这样一个DQN网络,从而让机器自己学习玩Flappy Bird游戏。 50 | 51 | ## Swarmer舞台 52 | 本课程设置了一个学员展示环节,我们将根据同学们历次提交的作业情况,甄选出三名左右学生,展示他们的作业完成情况,分享他们在做作业过程中遇到的问题以及解决方案。这五名学员将会作为“Swarmer”的候选。 53 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | theme: jekyll-theme-slate --------------------------------------------------------------------------------