2017-09-07 16:05:15 zchang81 阅读数 3086
  • 深度学习实训营(录播)

    亚马逊首席科学家李沐面对面亲自授课!硅谷超2000人现场实训,好评如潮,精华课程移师中国。一站式掌握AI核心技术,迅速上手深度学习应用。 本培训基于2019年加州大学伯克利分校的《深度学习导论》课程,高度浓缩为1天精华课程。从基础到应用,让你用最短时间掌握深度学习轮廓,教你使用多个GPU甚至多台机器训练模型,并构建深度学习模型进行图片识别等上手操作。本培训课程共分四大部分,每部分讲解100分钟。晚上还安排了激动人心的Hackathon环节,将白天所学学以致用。

    328 人正在学习 去看看 CSDN讲师

        继吴恩达之后,2017 年 9 月 4 日,亚马逊的 AI 主任科学家李沐推出中文版【动手学深度学习】,帮助更多的 AI 技术学习者学习深度学习课程。

       李沐曾任创业公司 Marianas Labs 的 CTO,和百度深度学习研究院的主任研发架构师。他在卡内基梅隆计算机系获得了博士学位。

     动手学深度学习是一本深度学习在线书,其使用 Apache MXNet 的最新 gluon 接口来演示如何从 0 开始实现深度学习的各个算法。作者利用 Jupyter notebook 能将文档、代码、公式和图形统一在一起的优势,提供了一个交互式的学习体验。

     在线教程地址:http://zh.gluon.ai/index.html#

2019-11-02 13:07:18 qq_41590635 阅读数 94
  • 深度学习实训营(录播)

    亚马逊首席科学家李沐面对面亲自授课!硅谷超2000人现场实训,好评如潮,精华课程移师中国。一站式掌握AI核心技术,迅速上手深度学习应用。 本培训基于2019年加州大学伯克利分校的《深度学习导论》课程,高度浓缩为1天精华课程。从基础到应用,让你用最短时间掌握深度学习轮廓,教你使用多个GPU甚至多台机器训练模型,并构建深度学习模型进行图片识别等上手操作。本培训课程共分四大部分,每部分讲解100分钟。晚上还安排了激动人心的Hackathon环节,将白天所学学以致用。

    328 人正在学习 去看看 CSDN讲师

1 前言

最近有朋友留言要求分享一下李沐老师的《动手学深度学习》,小汤本着一直坚持的“好资源大家一起分享,共同学习,共同进步”的初衷,于是便去找了资料,而且还是中文版的,分享给有需要的小伙伴,也希望有更多的朋友能在StrongerTang相遇。

《动手学深度学习》是今年6月刚出版的新书,是一本面向中文读者的能运行、可讨论的深度学习教科书。同时覆盖深度学习的方法和实践,不仅从数学的角度阐述深度学习的技术与应用,还包含可运行的代码,为读者展示如何在实际中解决问题。

主要面向希望了解深度学习,特别是对实际使用深度学习感兴趣的大学生、工程师和研究人员。阅读本书不要求读者有任何深度学习或者机器学习的背景知识,读者只需具备基本的数学和编程知识,如基础的线性代数、微分、概率及Python编程知识。附录中提供了书中涉及的主要数学知识,供读者参考。
在这里插入图片描述

2 简介

· · · · · ·作者简介 · · · · · ·

阿斯顿·张(Aston Zhang)

亚马逊应用科学家,美国伊利诺伊大学香槟分校计算机科学博士,统计学和计算机科学双硕士,专注于机器学习的研究。

李沐(Mu Li)

亚马逊首席科学家(Principal Scientist),加州大学伯克利分校客座助理教授,美国卡内基梅隆大学计算机系博士,专注于分布式系统和机器学习算法的研究,是深度学习框架MXNet的作者之一。

扎卡里·C. 立顿(Zachary C. Lipton)

亚马逊应用科学家,美国卡内基梅隆大学助理教授,美国加州大学圣迭戈分校博士,专注于机器学习算法及其社会影响的研究,特别是在时序数据与序列决策上的深度学习。

亚历山大·J. 斯莫拉(Alexander J. Smola)

亚马逊副总裁/ 杰出科学家,德国柏林工业大学计算机科学博士,曾在澳大利亚国立大学、美国加州大学伯克利分校和卡内基梅隆大学任教,研究兴趣包括深度学习、贝叶斯非参数、核方法、统计建模和可扩展算法。

· · · · · ·内容简介 · · · · · ·

《动手学深度学习》旨在向读者交付有关深度学习的交互式学习体验。书中不仅阐述深度学习的算法原理,还演示它们的实现和运行。与传统图书不同,本书的每一节都是一个可以下载并运行的Jupyter记事本,它将文字、公式、图像、代码和运行结果结合在了一起。此外,读者还可以访问并参与书中内容的讨论。

全书的内容分为3个部分:第一部分介绍深度学习的背景,提供预备知识,并包括深度学习最基础的概念和技术;第二部分描述深度学习计算的重要组成部分,还解释近年来令深度学习在多个领域大获成功的卷积神经网络和循环神经网络;第三部分评价优化算法,检验影响深度学习计算性能的重要因素,并分别列举深度学习在计算机视觉和自然语言处理中的重要应用。

之前,李沐老师等人曾以电子版的形式在 GitHub 上开源了这本书,目前该项目在 GitHub 上已获得超过 1.1 万星,并且中文版电子书还发布了纸质版书籍。

中文版开源地址:https://github.com/d2l-ai/d2l-zh

不过虽然本书非常优秀,但由于是使用 MXNet 框架写成的,而很多入坑机器学习的萌新们使用的却是 PyTorch或者 Tensorflow ,使得很多小伙伴“手拿美食,却又不知如何下手”。

幸运的是,最近一位北大大佬翻译了一份 Pytorch 版,原书中的 MXNet 代码全部改为PyTorch实现。

首先放上这份资源的 GitHub 地址:

https://github.com/ShusenTang/Dive-into-DL-PyTorch

然而,源项目由于是用Markdown写的,公式和代码显示的易读性较差,体验感不佳。最近,一位中国海洋大学大佬又将上面 PyTorch 版本的《动手深度学习》编译成完整的 PDF 文件。方便大家阅读及解决 GitHub 上公式显示不全的问题。

· · · · · ·目录 · · · · · ·

深度学习简介

2.1 环境配置

2.2 数据操作

2.3 ⾃动求梯度

3.1 线性回归

3.2 线性回归的从零开始实现

3.3 线性回归的简洁实现

3.4 softmax回归

3.5 图像分类数据集(Fashion-MNIST)

3.6 softmax回归的从零开始实现

3.7 softmax回归的简洁实现

3.8 多层感知机

3.9 多层感知机的从零开始实现

3.10 多层感知机的简洁实现

3.11 模型选择、⽋拟合和过拟合

3.12 权重衰减

3.13 丢弃法

3.14 正向传播、反向传播和计算图

3.15 数值稳定性和模型初始化

3.16 实战Kaggle⽐赛:房价预测

4.1 模型构造

4.2 模型参数的访问、初始化和共享

4.3 模型参数的延后初始化

4.4 ⾃定义层

4.5 读取和存储

4.6 GPU计算

5.1 ⼆维卷积层

5.2 填充和步幅

5.3 多输⼊通道和多输出通道

5.4 池化层

5.5 卷积神经⽹络(LeNet)

5.6 深度卷积神经⽹络(AlexNet)

5.7 使⽤重复元素的⽹络(VGG)

5.8 ⽹络中的⽹络(NiN)

5.9 含并⾏连结的⽹络(GoogLeNet)

5.10 批量归⼀化

5.11 残差⽹络(ResNet)

5.12 稠密连接⽹络(DenseNet)

6.1 语⾔模型

6.2 循环神经⽹络

6.3 语⾔模型数据集(周杰伦专辑歌词)

6.4 循环神经⽹络的从零开始实现6.4.1 one-hot向量

6.5 循环神经⽹络的简洁实现

6.6 通过时间反向传播

6.7 ⻔控循环单元(GRU)

6.8 ⻓短期记忆(LSTM)

6.9 深度循环神经⽹络

6.10 双向循环神经⽹络

7.1 优化与深度学习

7.2 梯度下降和随机梯度下降

7.3 ⼩批量随机梯度下降

7.4 动量法

7.5 AdaGrad算法

7.6 RMSProp算法

7.7 AdaDelta算法

7.8 Adam算法

8.1 命令式和符号式混合编程

8.2 异步计算

8.3 ⾃动并⾏计算

8.4 多GPU计算

9.1 图像增⼴

9.2 微调

9.3 ⽬标检测和边界框

9.4 锚框

10.1 词嵌⼊(word2vec)

10.2 近似训练

10.3 word2vec的实现

10.4 ⼦词嵌⼊(fastText)

10.5 全局向量的词嵌⼊(GloVe)

10.6 求近义词和类⽐词

10.7 ⽂本情感分类:使⽤循环神经⽹络

10.8 ⽂本情感分类:使⽤卷积神经⽹络(textCNN)

10.9 编码器—解码器(seq2seq)

10.10 束搜索

10.11 注意⼒机制

10.12 机器翻译

小汤本着交流学习的角度,在文末分享了该书的电子版,需要的小伙伴可以免费下载获取。但请勿用于任何商业用途,仅供自身学习参考使用。

当然,StrongerTang强烈支持该书版权所属,对于喜欢纸质实体书阅读的朋友,建议购买正版书籍阅读。

附加资源:

在线预览地址:

https://zh.d2l.ai/

课程视频地址:

https://space.bilibili.com/209599371/channel/detail?cid=23541

4 资料免费获取

最后,364页PyTorch版《动手学深度学习》电子版pdf已经打包完毕,需要的可以按照以下方式获取:

1.长按下方二维码关注 “StrongerTang” 公众号

2.公众号后台回复关键词:动手学深度学习

在这里插入图片描述
声明:此资料免费分享,仅作知识分享,勿用于任何商业用途。赠人玫瑰,手有余香!

2019-01-11 20:16:48 Sophia_11 阅读数 4386
  • 深度学习实训营(录播)

    亚马逊首席科学家李沐面对面亲自授课!硅谷超2000人现场实训,好评如潮,精华课程移师中国。一站式掌握AI核心技术,迅速上手深度学习应用。 本培训基于2019年加州大学伯克利分校的《深度学习导论》课程,高度浓缩为1天精华课程。从基础到应用,让你用最短时间掌握深度学习轮廓,教你使用多个GPU甚至多台机器训练模型,并构建深度学习模型进行图片识别等上手操作。本培训课程共分四大部分,每部分讲解100分钟。晚上还安排了激动人心的Hackathon环节,将白天所学学以致用。

    328 人正在学习 去看看 CSDN讲师

↑ 点击上方【计算机视觉联盟】关注我们

对于初学者来说,直接阅读英文资料,效率慢,估计读着读着都没有信心读下去了。对于初学者,中文资料是再好不过了。今天小编就来安利一本中文资料——中文版本的《动手学深度学习》。

内容简介

    本书向希望了解深度学习,特别是对实际使用深度学习感兴趣的学习者。本书并不要求你有任何深度学习或者机器学习的背景知识,我们将从头开始解释每个概念。虽然深度学习技术与应用的阐述涉及了数学和编程,但你只需了解基础的数学和编程,例如基础的线性代数、微分和概率,以及基础的 Python 编程。 

目 录

全部10节课程视频链接:

https://space.bilibili.com/209599371#!/channel/detail?cid=23541,如果不想在线观看,请看如下下载方式。

 

 

 

代码通道:通过Github上

https://github.com/diveintodeeplearning/d2l-zh学习

 

◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆

资料下载方式:

动手学深度学习》下载方式:公众号回复【DLBook】即可下载

视频下载方式:公众号回复【videos】既可下载

往期回顾

亲身经历2019年校招8个大厂心得体会,纯干货分享(大疆、百度...)

2018年29篇必读机器学习论文总结,BERT, SeqGAN等上榜

机器学习经典算法决策树原理详解(简单易懂)

斯坦福李飞飞高徒Johnson博士论文: 组成式计算机视觉智能(附195页PDF)

带你详细了解机器视觉竞赛—ILSVRC竞赛

2018年度最强的30个机器学习项目!

何恺明等最新突破:视频识别快慢结合,取得人体动作AVA数据集最佳水平

2019-09-13 08:33:00 weixin_40787712 阅读数 156
  • 深度学习实训营(录播)

    亚马逊首席科学家李沐面对面亲自授课!硅谷超2000人现场实训,好评如潮,精华课程移师中国。一站式掌握AI核心技术,迅速上手深度学习应用。 本培训基于2019年加州大学伯克利分校的《深度学习导论》课程,高度浓缩为1天精华课程。从基础到应用,让你用最短时间掌握深度学习轮廓,教你使用多个GPU甚至多台机器训练模型,并构建深度学习模型进行图片识别等上手操作。本培训课程共分四大部分,每部分讲解100分钟。晚上还安排了激动人心的Hackathon环节,将白天所学学以致用。

    328 人正在学习 去看看 CSDN讲师

点击上方“小詹学Python”,选择“星标”公众号

重磅干货,第一时间送达640?wx_fmt=jpeg

李沐,亚马逊 AI 主任科学家,名声在外!半年前,由李沐、Aston Zhang 等人合力打造的《动手学深度学习》正式上线,免费供大家阅读。这是一本面向中文读者的能运行、可讨论的深度学习教科书!

640?wx_fmt=jpeg

之前,红色石头就分享过这份资源,再次附上:

在线预览地址:

https://zh.d2l.ai/

GitHub 项目地址:

https://github.com/d2l-ai/d2l-zh

课程视频地址:

https://space.bilibili.com/209599371/channel/detail?cid=23541

我们知道,作为 MXNet 的作者之一,李沐的这本《动手学深度学习》也是使用 MXNet 框架写成的。但是很多入坑机器学习的萌新们使用的却是 PyTorch。如果有教材对应的 PyTorch 实现代码就更好了!

撒花!今天就给大家带来这本书的 PyTorch 实现源码。最近,来自印度理工学院的数据科学小组,把《动手学深度学习》从 MXNet “翻译”成了 PyTorch,经过 3 个月的努力,这个项目已经基本完成,并登上了 GitHub 热榜。

640?wx_fmt=png

首先放上这份资源的 GitHub 地址:

https://github.com/dsgiitr/d2l-pytorch

详细目录如下:

  • Ch02 Installation

    • Installation

  • Ch03 Introduction

    • Introduction

  • Ch04 The Preliminaries: A Crashcourse

    • 4.1 Data Manipulation

    • 4.2 Linear Algebra

    • 4.3 Automatic Differentiation

    • 4.4 Probability and Statistics

    • 4.5 Naive Bayes Classification

    • 4.6 Documentation

  • Ch05 Linear Neural Networks

    • 5.1 Linear Regression

    • 5.2 Linear Regression Implementation from Scratch

    • 5.3 Concise Implementation of Linear Regression

    • 5.4 Softmax Regression

    • 5.5 Image Classification Data (Fashion-MNIST)

    • 5.6 Implementation of Softmax Regression from Scratch

    • 5.7 Concise Implementation of Softmax Regression

  • Ch06 Multilayer Perceptrons

    • 6.1 Multilayer Perceptron

    • 6.2 Implementation of Multilayer Perceptron from Scratch

    • 6.3 Concise Implementation of Multilayer Perceptron

    • 6.4 Model Selection Underfitting and Overfitting

    • 6.5 Weight Decay

    • 6.6 Dropout

    • 6.7 Forward Propagation Backward Propagation and Computational Graphs

    • 6.8 Numerical Stability and Initialization

    • 6.9 Considering the Environment

    • 6.10 Predicting House Prices on Kaggle

  • Ch07 Deep Learning Computation

    • 7.1 Layers and Blocks

    • 7.2 Parameter Management

    • 7.3 Deferred Initialization

    • 7.4 Custom Layers

    • 7.5 File I/O

    • 7.6 GPUs

  • Ch08 Convolutional Neural Networks

    • 8.1 From Dense Layers to Convolutions

    • 8.2 Convolutions for Images

    • 8.3 Padding and Stride

    • 8.4 Multiple Input and Output Channels

    • 8.5 Pooling

    • 8.6 Convolutional Neural Networks (LeNet)

  • Ch09 Modern Convolutional Networks

    • 9.1 Deep Convolutional Neural Networks (AlexNet)

    • 9.2 Networks Using Blocks (VGG)

    • 9.3 Network in Network (NiN)

    • 9.4 Networks with Parallel Concatenations (GoogLeNet)

    • 9.5 Batch Normalization

    • 9.6 Residual Networks (ResNet)

    • 9.7 Densely Connected Networks (DenseNet)

  • Ch10 Recurrent Neural Networks

    • 10.1 Sequence Models

    • 10.2 Language Models

    • 10.3 Recurrent Neural Networks

    • 10.4 Text Preprocessing

    • 10.5 Implementation of Recurrent Neural Networks from Scratch

    • 10.6 Concise Implementation of Recurrent Neural Networks

    • 10.7 Backpropagation Through Time

    • 10.8 Gated Recurrent Units (GRU)

    • 10.9 Long Short Term Memory (LSTM)

    • 10.10 Deep Recurrent Neural Networks

    • 10.11 Bidirectional Recurrent Neural Networks

    • 10.12 Machine Translation and DataSets

    • 10.13 Encoder-Decoder Architecture

    • 10.14 Sequence to Sequence

    • 10.15 Beam Search

  • Ch11 Attention Mechanism

    • 11.1 Attention Mechanism

    • 11.2 Sequence to Sequence with Attention Mechanism

    • 11.3 Transformer

  • Ch12 Optimization Algorithms

    • 12.1 Optimization and Deep Learning

    • 12.2 Convexity

    • 12.3 Gradient Descent

    • 12.4 Stochastic Gradient Descent

    • 12.5 Mini-batch Stochastic Gradient Descent

    • 12.6 Momentum

    • 12.7 Adagrad

    • 12.8 RMSProp

    • 12.9 Adadelta

    • 12.10 Adam

其中,每一小节都是可以运行的 Jupyter 记事本,你可以自由修改代码和超参数来获取及时反馈,从而积累深度学习的实战经验。

目前,PyTorch 代码还有 6 个小节没有完成,但整体的完成度已经很高了!开发团队希望更多的爱好者加入进来,贡献一份力量!

最后,再次附上 GitHub 地址:

https://github.com/dsgiitr/d2l-pytorch

640?wx_fmt=jpeg

⬆️长按 2 秒关注「 小詹学Python 」

 

最新 AI 干货,我在看 640?wx_fmt=jpeg

2019-10-23 21:59:11 weixin_43916250 阅读数 17
  • 深度学习实训营(录播)

    亚马逊首席科学家李沐面对面亲自授课!硅谷超2000人现场实训,好评如潮,精华课程移师中国。一站式掌握AI核心技术,迅速上手深度学习应用。 本培训基于2019年加州大学伯克利分校的《深度学习导论》课程,高度浓缩为1天精华课程。从基础到应用,让你用最短时间掌握深度学习轮廓,教你使用多个GPU甚至多台机器训练模型,并构建深度学习模型进行图片识别等上手操作。本培训课程共分四大部分,每部分讲解100分钟。晚上还安排了激动人心的Hackathon环节,将白天所学学以致用。

    328 人正在学习 去看看 CSDN讲师

在这里插入图片描述

动手学深度学习阅读&复现

动手学深度学习在线阅读地址
动手学深度学习pytorch实现地址

第一章 深度学习简介

  • 深度学习是机器学习的一个函数形式(多层神经网络)
  • 深度学习再次兴起最终原因: 近年来发展速度:算力(P)>数据量(T)>存储空间(T),统计模型可以在优化参数上投入更多,但需要提高存储的利用效率,例如使用非线性处理单元。
  • 相对其它经典的机器学习方法而言,深度学习的不同在于:对非最优解的包容、对非凸非线性优化的使用,以及勇于尝试没有被证明过的方法。

第二章 预备知识

  • 不同的运行模式:model.eval()model.train()(dropout和batch normalization不同)
  • 矢量运算快于标量运算叠加,所以需要用矢量运算

第三章 深度学习基础

  • 简单线性回归(注意:包装数据集,参数初始化)
import torch
import numpy as np
def generatelinear(w,b,k):
    x=np.random.normal(scale=1,size=(k,len(w)))
    y=np.dot(x,w)+b
    y+=np.random.normal(scale=0.01,size=y.shape)
    x=torch.from_numpy(x).float()
    y=torch.from_numpy(y).float().reshape(-1,1)
    return x,y
truew=torch.Tensor([1,2])
trueb=3
x,y=generatelinear(truew,trueb,1000)
from torch.utils.data import TensorDataset,DataLoader
def load_array(x,y):
    dataset=TensorDataset(*(x,y))
    dataloader=DataLoader(dataset=dataset,batch_size=10,shuffle=True)
    return dataloader
data_iter=load_array(x,y)

class LinearRegressionModule(torch.nn.Module):
    def __init__(self):
        super(LinearRegressionModule,self).__init__()
        self.fc1=torch.nn.Linear(2,1,bias=True)
    def forward(self,x):
        y=self.fc1(x)
        return y
net=LinearRegressionModule()
net.fc1.weight.data=torch.Tensor(np.random.normal(size=(1,2),scale=0.01,loc=0))
net.fc1.bias.data=torch.Tensor([0])
loss=torch.nn.MSELoss(reduction='sum')
optimizer=torch.optim.SGD(net.parameters(),lr=0.03)
for i in range(3):
    for a,b in data_iter:
        l=loss(net(a),b)
        optimizer.zero_grad()
        l.backward()
        optimizer.step()
    print(i+1,':  ',loss(net(x),y))
import torch.nn as nn
def init_weights(m):
    if type(m) == nn.Linear:
        torch.nn.init.xavier_uniform_(m.weight)
        m.bias.data.fill_(0.01)
net.apply(init_weights)        
  • dropout:dropout的坑
  • kaggle实战:预测房价:看完第9章回来填坑

第四章 深度学习计算

  • 定义网络的第二,三种形式:
model = nn.Sequential(
          nn.Conv2d(1,20,5),
          nn.ReLU(),
          nn.Conv2d(20,64,5)
        )
print(model)
class MySequential(nn.Sequential):
    def __init__(self):
        super(MySequential,self).__init__()
    def add_module(self,block):
        self._modules[block]=block
    def forward(self, x):
        for block in self._modules.values():
            x=block(x)
        return x
net=MySequential()
net.add_module(nn.Linear(20,256))
net.add_module(nn.ReLU())
net.add_module(nn.Linear(256,10))
x=torch.randn(2,20)
print(net(x))

也可逻辑定义:

def block1():
    net = nn.Sequential(nn.Linear(16, 32),
                        nn.ReLU(),
                        nn.Linear(32, 16),
                        nn.ReLU())
    return net
  
 def block2():
    net = nn.Sequential()
    for i in range(4):
        net.add_module('block'+str(i), block1())
    return net    
        
rgnet = nn.Sequential()
rgnet.add_module('model',block2())

 
  • 参数初始化的各种方式
  • 自定义层:
    无参数:
class Centerlayer(nn.Module):
    def __init__(self):
        super().__init__()
    def forward(self,x):
        return x-x.mean()

有参数:

class MyDense(nn.Module):
    def __init__(self, units, in_units):
        super().__init__()
        self.weight = Variable(torch.ones(in_units, units))
        self.bias = Variable(torch.ones(units,))
    def forward(self, x):
        linear = torch.matmul(x, self.weight.data) + self.bias.data
        return F.relu(linear)
  • 延迟初始化(书中讲的不清楚,略过)
  • 存储模型:
net=Net()
torch.save(net.state_dict(), 'net.params')
net2=Net()
net2.load_state_dict(torch.load("net.params"))
没有更多推荐了,返回首页