2019-11-02 13:07:18 qq_41590635 阅读数 95
  • 机器学习&深度学习系统实战!

    购买课程后,可扫码进入学习群,获取唐宇迪老师答疑 数学原理推导与案例实战紧密结合,由机器学习经典算法过度到深度学习的世界,结合深度学习两大主流框架Caffe与Tensorflow,选择经典项目实战人脸检测与验证码识别。原理推导,形象解读,案例实战缺一不可!具体课程内容涉及回归算法原理推导、决策树与随机森林、实战样本不均衡数据解决方案、支持向量机、Xgboost集成算法、神经网络基础、神经网络整体架构、卷积神经网络、深度学习框架--Tensorflow实战、案例实战--验证码识别、案例实战--人脸检测。 专属会员卡优惠链接:http://edu.csdn.net/lecturer/1079

    39685 人正在学习 去看看 唐宇迪

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.公众号后台回复关键词:动手学深度学习

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

2017-11-29 00:00:00 dQCFKyQDXYm3F8rB0 阅读数 1866
  • 机器学习&深度学习系统实战!

    购买课程后,可扫码进入学习群,获取唐宇迪老师答疑 数学原理推导与案例实战紧密结合,由机器学习经典算法过度到深度学习的世界,结合深度学习两大主流框架Caffe与Tensorflow,选择经典项目实战人脸检测与验证码识别。原理推导,形象解读,案例实战缺一不可!具体课程内容涉及回归算法原理推导、决策树与随机森林、实战样本不均衡数据解决方案、支持向量机、Xgboost集成算法、神经网络基础、神经网络整体架构、卷积神经网络、深度学习框架--Tensorflow实战、案例实战--验证码识别、案例实战--人脸检测。 专属会员卡优惠链接:http://edu.csdn.net/lecturer/1079

    39685 人正在学习 去看看 唐宇迪


今年 9 月,曾经的百度少帅、如今的亚马逊 AI 主任科学家、 MXNet 的作者李沐博士推出了自己的这种文深度学习课程了——《动手学深度学习》。


该课程将使用 Apache MXNet (incubating) 的最新 gluon 接口来演示如何从 0 开始实现深度学习的各个算法,利用 Jupyter notebook 将文档、代码、公式和图形统一在一起的优势,为开发者提供了一个交互式的学习体验。


营长之前曾介绍,李沐每周六的上午 10 点在斗鱼进行课程直播,第一次直播时间为 9 月 9 日上午 10 点。在两个多的时间里,李沐一共进行了 10 次直播:


  • 第一课:从上手到多类分类  

  • 第二课:过拟合、多层感知机、GPU和卷积神经网络

  • 第三课:深度卷积网络,如何使用Gluon,以及核武器购买指南      

  • 第四课:BatchNorm,更深的卷积神经网络,图片增强和新的Kaggle练习  

  • 第五课:Gluon高级和优化算法基础     

  • 第六课:优化算法高级和计算机视觉 

  • 第七课:物体检测        

  • 第八课:物体检测·续             

  • 第九课:物体检测·再续        

  • 第十课:语义分割


目前,所有视频均已上传到b站。



视频地址:

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

课程讨论:

https://discuss.gluon.ai/c/lecture


除了视频直播之外,李沐还为学者准备了教程文档,目录如下图所示。


目前,“动手学深度学习”的每个教程主要是按照以下方式来组织(除了少数几个背景知识介绍教程外):


  • 引入一个(或者少数几个)新概念

  • 提供一个使用真实数据的完整样例


这个教程的最大特色在于,每个教程都是一个可以编辑和运行的 Jupyter notebook,方便学生动手操作。


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




资源推荐



资源 | Yann LeCun最新演讲:大脑是如何高效学习的?(附PPT+视频)

@那些想要转行AI的人:送你一份人工智能入门指南

资源 | 史上最全机器学习笔记

重磅 | 128篇论文,21大领域,深度学习最值得看的资源全在这了

爆款 | Medium上6900个赞的AI学习路线图,让你快速上手机器学习

Quora十大机器学习作者与Facebook十大机器学习、数据科学群组

Chatbot大牛推荐:AI、机器学习、深度学习必看9大入门视频

葵花宝典之机器学习:全网最重要的AI资源都在这里了(大牛,研究机构,视频,博客,书籍,Quora......)


☟☟☟ 更多学习资源,请戳原文

2019-07-27 12:06:39 weixin_42152526 阅读数 14
  • 机器学习&深度学习系统实战!

    购买课程后,可扫码进入学习群,获取唐宇迪老师答疑 数学原理推导与案例实战紧密结合,由机器学习经典算法过度到深度学习的世界,结合深度学习两大主流框架Caffe与Tensorflow,选择经典项目实战人脸检测与验证码识别。原理推导,形象解读,案例实战缺一不可!具体课程内容涉及回归算法原理推导、决策树与随机森林、实战样本不均衡数据解决方案、支持向量机、Xgboost集成算法、神经网络基础、神经网络整体架构、卷积神经网络、深度学习框架--Tensorflow实战、案例实战--验证码识别、案例实战--人脸检测。 专属会员卡优惠链接:http://edu.csdn.net/lecturer/1079

    39685 人正在学习 去看看 唐宇迪

GoogLeNet

Inception中4个path并行,每条path的输出concat到一起,path中的三个1,3,5的卷积层以及3的max_pooling可以抓取到不同区域大小上的信息,剩余的部分对input_channel进行变换,减小运算量。

代码

import d2lzh as d2l
from mxnet import gluon, init, nd, autograd
from mxnet.gluon import nn
import time


class Inception(nn.Block):
    # c1 - c4为每条线路里的层的输出通道数
    def __init__(self, c1, c2, c3, c4, **kwargs):
        super(Inception, self).__init__(**kwargs)
        # path1, 1x1 Conv
        self.p1_1 = nn.Conv2D(c1, kernel_size=1, activation='relu')
        # path2, 1x1 Conv & 3x3 Conv
        self.p2_1 = nn.Conv2D(c2[0], kernel_size=1, activation='relu')
        self.p2_2 = nn.Conv2D(c2[1], kernel_size=3, padding=1,
                              activation='relu')
        # path3, 1x1 Conv & 5x5 Conv
        self.p3_1 = nn.Conv2D(c3[0], kernel_size=1, activation='relu')
        self.p3_2 = nn.Conv2D(c3[1], kernel_size=5, padding=2,
                              activation='relu')
        # path4, 3x3 Max_pooling & 1x1 Conv
        self.p4_1 = nn.MaxPool2D(pool_size=3, strides=1, padding=1)
        self.p4_2 = nn.Conv2D(c4, kernel_size=1, activation='relu')

    def forward(self, x):
        p1 = self.p1_1(x)
        p2 = self.p2_2(self.p2_1(x))
        p3 = self.p3_2(self.p3_1(x))
        p4 = self.p4_2(self.p4_1(x)) 
        return nd.concat(p1, p2, p3, p4, dim=1)  # 在通道维上连结输出,输出个数c1+c2[1]+c3[1]+c4


class GoogLeNet(nn.Block):
    def __init__(self, num_classes, verbose=False, **kwargs):
        super(GoogLeNet, self).__init__(**kwargs)
        self.verbose = verbose
        with self.name_scope():
            # block1
            b1 = nn.Sequential()
            b1.add(nn.Conv2D(64, kernel_size=7, strides=2, padding=3, activation='relu'),
                   nn.MaxPool2D(pool_size=3, strides=2, padding=1))
            # block2
            b2 = nn.Sequential()
            b2.add(nn.Conv2D(64, kernel_size=1, activation='relu'),
                   nn.Conv2D(192, kernel_size=3, padding=1, activation='relu'),
                   nn.MaxPool2D(pool_size=3, strides=2, padding=1))
            # block3
            b3 = nn.Sequential()
            b3.add(Inception(64, (96, 128), (16, 32), 32),
                   Inception(128, (128, 192), (32, 96), 64),
                   nn.MaxPool2D(pool_size=3, strides=2, padding=1))
            # block4
            b4 = nn.Sequential()
            b4.add(Inception(192, (96, 208), (16, 48), 64),
                   Inception(160, (112, 224), (24, 64), 64),
                   Inception(128, (128, 256), (24, 64), 64),
                   Inception(112, (144, 288), (32, 64), 64),
                   Inception(256, (160, 320), (32, 128), 128),
                   nn.MaxPool2D(pool_size=3, strides=2, padding=1))
            # block5
            b5 = nn.Sequential()
            b5.add(Inception(256, (160, 320), (32, 128), 128),
                   Inception(384, (192, 384), (48, 128), 128),
                   nn.GlobalAvgPool2D())
            # block6
            b6 = nn.Sequential()
            b6.add(nn.Flatten(),
                   nn.Dense(num_classes))
            # chain block together
            self.net = nn.Sequential()
            self.net.add(b1, b2, b3, b4, b5, b6)

    def forward(self, x):
        out = x
        for i, b in enumerate(self.net):
            out = b(out)
            if self.verbose:
                print('Block %d output: %s' % (i+1, out.shape))
        return out


net = GoogLeNet(10)
batch_size = 128
# 构建数据集,将原来28x28的图片放大到96x96
train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size, resize=96)

ctx = d2l.try_gpu()
net.initialize(ctx=ctx, init=init.Xavier())
print('training on', ctx)

softmax_cross_entropy = gluon.loss.SoftmaxCrossEntropyLoss()
trainer = gluon.Trainer(net.collect_params(), 'sgd', {'learning_rate': 0.1})

for epoch in range(3):
    train_loss_sum = 0
    train_acc_sum = 0
    n = 0
    start = time.time()
    for X, y in train_iter:
        X, y = X.as_in_context(ctx), y.as_in_context(ctx)
        with autograd.record():
            y_hat = net(X)
            loss = softmax_cross_entropy(y_hat, y).sum()
        loss.backward()
        trainer.step(batch_size)
        y = y.astype('float32')
        train_loss_sum += loss.asscalar()
        train_acc_sum += (y_hat.argmax(axis=1) == y).sum().asscalar()
        n += y.size
    test_acc = d2l.evaluate_accuracy(test_iter, net, ctx)
    print('epoch %d, loss %.4f, train acc %.3f, test acc %.3f, time %.1f sec'
          % (epoch + 1, train_loss_sum / n, train_acc_sum / n, test_acc, time.time() - start))

结果

training on gpu(0)
epoch 1, loss 1.7036, train acc 0.343, test acc 0.632, time 94.4 sec
epoch 2, loss 0.7068, train acc 0.732, test acc 0.803, time 84.1 sec
epoch 3, loss 0.4678, train acc 0.824, test acc 0.850, time 83.9 sec

2018-04-27 09:38:35 wjbwjbwjbwjb 阅读数 196
  • 机器学习&深度学习系统实战!

    购买课程后,可扫码进入学习群,获取唐宇迪老师答疑 数学原理推导与案例实战紧密结合,由机器学习经典算法过度到深度学习的世界,结合深度学习两大主流框架Caffe与Tensorflow,选择经典项目实战人脸检测与验证码识别。原理推导,形象解读,案例实战缺一不可!具体课程内容涉及回归算法原理推导、决策树与随机森林、实战样本不均衡数据解决方案、支持向量机、Xgboost集成算法、神经网络基础、神经网络整体架构、卷积神经网络、深度学习框架--Tensorflow实战、案例实战--验证码识别、案例实战--人脸检测。 专属会员卡优惠链接:http://edu.csdn.net/lecturer/1079

    39685 人正在学习 去看看 唐宇迪

CSDN为啥文章内容不能只有图片呢?
以下内容参考亚马逊AI主任科学家李沐博士“跟李沐一起动手学深度学习”系列讲座~~~~
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

2016-03-29 12:24:08 GarfieldEr007 阅读数 2712
  • 机器学习&深度学习系统实战!

    购买课程后,可扫码进入学习群,获取唐宇迪老师答疑 数学原理推导与案例实战紧密结合,由机器学习经典算法过度到深度学习的世界,结合深度学习两大主流框架Caffe与Tensorflow,选择经典项目实战人脸检测与验证码识别。原理推导,形象解读,案例实战缺一不可!具体课程内容涉及回归算法原理推导、决策树与随机森林、实战样本不均衡数据解决方案、支持向量机、Xgboost集成算法、神经网络基础、神经网络整体架构、卷积神经网络、深度学习框架--Tensorflow实战、案例实战--验证码识别、案例实战--人脸检测。 专属会员卡优惠链接:http://edu.csdn.net/lecturer/1079

    39685 人正在学习 去看看 唐宇迪


深度学习是一个快速成长的人工智能领域。它越来越多地用于提供接近人类的水平精度图像分类,语音识别,自然语言处理,情感分析,推荐引擎等。应用领域包括面部识别,场景检测,先进的医疗和制药研究,以及车辆的自动驾驶。


免费的深度学习课程

加入NVIDIA的深度学习课程听专家讲免费的在线课程吧,此入门课程由五个教师主讲,包括互动讲座,动手练习,与导师一起工作。

你需要学习很多内容,包括设计、训练以及集成基于神经网络的人工智能到你的应用中,你需要广泛的应用开源框架以及NVIDIA的软件。在动手操作期间,你将会用到云端的GPU以及深度学习软件。

这是一个入门课程,因此不需要有深度学习或者GPU编程的经验。


课程时间表

所有课程开始于上午9点(PT),并且将被记录下来供以后观看。

7/22
Class #1 - 介绍深度学习 (30 mins + Q&A) - RecordingSlidesHands-on lab
7/29 办公时间 for Class #1 (1 hour of Q&A) - RecordingSlides
8/5 Class #2 - 使用 DIGITS 交互式培训系统来学习图像分类 (30 mins + Q&A)
8/12 办公时间 for Class #2 (1 hour of Q&A)
8/19 Class #3 - 学习 Caffe 框架
8/26 办公时间 for Class #3
9/2 Class #4 - 学习 Theano 框架
9/9 办公时间 for Class #4
9/16 Class #5 - 学习 Torch 框架
9/23 办公时间 for Class #5


请在办公时间环节之前将您的问题发送给 dl-course@nvidia.com,这样老师可以提前准备有用的答案。你甚至可能会得到更快的回复!

上课期间,可以从 nvidia.qwiklab.com 免费进行动手实验练习。


更多深度学习课程
  • Andrew Ng在Coursera上的课程是一个很好的深度学习入门教程(CourseraYouTube)
  • Yann LeCun在NYU的深度学习课程, 2014年春 (TechTalks)
  • Geoffrey Hinton的“机器学习中的神经网络”课程,始于2012年10月 (Coursera)
  • Rob Fergus的“计算机视觉中的深度学习”教程,始于2013年NIPS (slidesvideo)
  • Caltech的入门级深度学习课程,由Yasser Abu-Mostafa教授 (YouTube)
  • Stanford CS224d: 自然语言处理中的深度学习 (video, slides, tutorials)

翻译:数盟翻译小组
转载请注明出处及链接:免费的深度学习课程 http://dataunion.org/bbs


附原文:

This introductory course includes five instructor-led classes that feature interactive lectures, hands-on exercises, and recordings of the office hours Q&A with instructors. You’ll learn everything you need to design, train, and integrate neural network-powered artificial intelligence into your applications with widely used open-source frameworks and NVIDIA software. During the hands-on exercises, you will use GPUs and deep learning software in the cloud.

This is an introductory course, so previous experience with deep learning and GPU programming is not required.

Introduction to Deep Learning

Class: Download | Stream | Slides
Assignment: Hands-on lab
Q&A:Download | Stream | Slides | Q&A Log

Getting Started with DIGITS for Image Classification

Class: Download | Stream | Slides
Assignment: Hands-on lab
Q&A: Download | Stream | Q&A Log

Getting Started with the Caffe Framework

Class: Download | Stream | Slides
Assignment: Hands-on lab
Q&A: Download | Stream | Q&A Log

Getting Started with the Theano Framework

Class: Download | Stream | Slides
Assignment: Hands-on lab
Q&A: Download | Stream

Getting Started with the Torch Framework

Class: Download | Stream | Slides
Assignment: Hands-on lab
Q&A: Download | Stream



没有更多推荐了,返回首页