V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cnbeining
V2EX  ›  程序员

个人翻译:深度学习: Python 教程(Deep Learning With Python )

  •  
  •   cnbeining · 2017-11-11 23:53:27 +08:00 via Android · 7454 次点击
    这是一个创建于 2570 天前的主题,其中的信息可能已经有所发展或是发生改变。
    决定挖个坑。目前填完一半了,目标本周内结束。

    整本书是从上到下的介绍:先搞懂基本概念,然后开始做项目。对于入门者是个福音,思路类似于 fast.ai 。

    然而 fast.ai 用 PyTorch:目前 Keras 的书几乎没有,TF 的书进去就研究底层。为了逼自己细致看一遍,我干脆把书翻译了丢出来吧。

    地址: https://cnbeining.github.io/deep-learning-with-python-cn/

    求斧正。书中肯定有不少错漏。回复如果看不见,请邮件:i at cnbeining.com 肯定回。




    注:本书不是 Keras 作者那本没出的书!
    第 1 条附言  ·  2017-11-12 02:40:26 +08:00
    推送请直接 watch https://github.com/cnbeining/deep-learning-with-python-cn 这样每次新章节更新会有邮件。

    (然而我第一次用 gitbook 万一手残别见笑。。。)
    29 条回复    2018-04-06 20:23:47 +08:00
    matsuijurina
        1
    matsuijurina  
       2017-11-12 00:06:58 +08:00 via Android
    加油加油,另外 keras 作者那本书真的写得很好,楼主有空也可以看看。
    WeberXie
        2
    WeberXie  
       2017-11-12 01:35:15 +08:00 via iPhone
    @matsuijurina 请问哪里好呢?顺便求下书名,谢啦!
    cnbeining
        3
    cnbeining  
    OP
       2017-11-12 02:06:51 +08:00   ❤️ 1
    @WeberXie 书名就是 Deep Learning With Python。

    好处是:先教你工程实践。

    作者说的很明白:

    >如果你去问大佬们深度学习如何入门,他们会怎么说?不外乎:

    线性代数是关键啊!
    你得了解传统神经网络才能干啊!
    概率论和统计学是基础的基础不是吗?
    你得先在机器学习的水里扑腾几年再来啊。
    不是计算机博士不要和我说话好吗!
    入门挺简单的:10 年经验应该差不多也行有可能就够了吧。
    总结一下:只有大神才能做深度学习。

    净 TM 扯淡!

    ...

    >本书准备把传统的教学方式倒过来:直接教你怎么深度学习。如果你觉得这东西真厉害我要好好研究一下,再去研究理论细节。本书直接让你用深度学习写出能跑的东西。

    ...

    > 本书会带领你亲手构建神经网络和深度学习模型,告诉你如何在自己的项目中利用。

    我更喜欢这种方法,而不是先从理论开始。否则一开始会直接懵逼,偶尔有谁坚持下来才发现原来不需要懂那么多细节也能做出产品。然后再去研究理论也不迟。
    cnbeining
        4
    cnbeining  
    OP
       2017-11-12 02:07:25 +08:00
    @matsuijurina Keras 作者那本书有点大,最近比较忙。。。虽然也在书单中了。
    z0z
        5
    z0z  
       2017-11-12 07:16:54 +08:00
    支持楼主,最近也在看这方面的资料
    cnbeining
        6
    cnbeining  
    OP
       2017-11-12 07:48:45 +08:00
    @z0z TF 够多了 Keras 没有。。。我也是气性大。。
    Kilerd
        7
    Kilerd  
       2017-11-12 10:36:05 +08:00
    Telegram 看到了,来 V2 再顶一次(滑稽
    Hzzone
        8
    Hzzone  
       2017-11-12 10:39:47 +08:00
    其实要我说的话...想做 dl 连英语都不过关...
    leeoo
        9
    leeoo  
       2017-11-12 10:48:49 +08:00
    支持,准备拿这个入门深度学习
    fghjghf
        10
    fghjghf  
       2017-11-12 13:15:23 +08:00
    @Hzzone 因为面对读者不一样。这类读者毕竟都是兴趣推动的。明白个大概、会调 API 已经很有成就感了,而不是去创造 /创新算法。举个例子:十几前,同样有人说:想做 win 开发连英文都不过关...几年前:想做 IOS 开发连英文都不过关...这是产业链逐渐成熟导致的。
    cnbeining
        11
    cnbeining  
    OP
       2017-11-12 13:30:37 +08:00
    @Hzzone @fghjghf 这种需要看脸的东西 没兴趣怎么能做得下去。。。也是强迫自己从头学一遍。
    scriptB0y
        12
    scriptB0y  
       2017-11-12 14:35:18 +08:00
    加油……
    cnbeining
        13
    cnbeining  
    OP
       2017-11-12 14:40:01 +08:00
    @scriptB0y 更到第 12 章。
    Hzzone
        14
    Hzzone  
       2017-11-12 15:35:18 +08:00
    @fghjghf 不管做哪行,英语都很重要撒
    cnbeining
        15
    cnbeining  
    OP
       2017-11-13 02:52:28 +08:00 via Android
    @Hzzone 这倒是。
    thomasyim
        16
    thomasyim  
       2017-11-13 03:13:33 +08:00
    帮顶
    satura
        17
    satura  
       2017-11-13 11:35:18 +08:00
    支持!最近想了解深度学习,搜索出来的资料要么言之无物,要么讳莫如深。先不管深度学习是什么,先看看它能做什么。「本书准备把传统的教学方式倒过来:直接教你怎么深度学习。如果你觉得这东西真厉害我要好好研究一下,再去研究理论细节。本书直接让你用深度学习写出能跑的东西。」这样的教材才是真正入门的好教材。
    cnbeining
        18
    cnbeining  
    OP
       2017-11-13 11:51:11 +08:00
    @satura fast.ai 的说明很明白:

    你怎么教人打棒球?先从物理学 生物学 数学开始研究?然后研究空气动力学?一口气学到 PhD ?到 30 多岁了再把人领到场上开始教规则?

    肯定不是啊。肯定是先带人去球场 扔几个球 讲讲规则 一边练一边学是不是。学开车也是如此 不可能从车辆工程开始入手 告诉你什么是方向盘什么是换挡杆什么是油门刹车就够了 把车开出去再说。

    我还是喜欢这种办法:翻译时我尽可能把需要研究的关键字都点出来(虽然不一定深入讲解) 这样 Google 起来方便。

    另:今天预计更到第 17 章完毕。
    fghjghf
        19
    fghjghf  
       2017-11-13 12:02:06 +08:00
    @Hzzone 并不是,举个例子:做一个普通销售,在职场里面英文水平是瓶颈还是你的口才(忽悠水平)?语言是一种附加的能力,而不是最要的能力,针对不同领域的权重系数都不一样。所以说,楼主能翻译这个并且分享出去我是大大支持的,并不是说不懂英文就彻底与 DL 无缘,因为这种实践先行的教材本来就是针对有兴趣的人,可能是社会底层人群,可能是中学生,又有可能是中年大叔,对他们而言不用深究去创造新算法、或者去改轮子。他们明白个大概,会掉 API 做些小 demo 已经很开心了。而真正搞 DL 的人,根本不会看这种教材。。总的来说,面对的读者不一样。
    wuyuchenshishabi
        20
    wuyuchenshishabi  
       2017-11-13 13:12:06 +08:00
    你不学学监督学习非监督学习就直接上来深度学习,步子太大扯着淡怎么办?
    winglight2016
        21
    winglight2016  
       2017-11-13 13:23:39 +08:00
    fast.ai 挺好的,楼主翻译的我看了一遍,感觉内容讲得太浅了,缺少细节,初学者恐怕很难照着做出来
    cnbeining
        22
    cnbeining  
    OP
       2017-11-13 13:33:36 +08:00
    @fghjghf 哪怕是软件开发 自己从头造轮子的事情也不多。一开始只有 Computer Scientist 才会 Programming:现在 Software Engineering 和纯 CS 已经开始有点距离了。

    所谓“给不求甚解一个机会”:ML 肯定也会往这个方向走。从 12 年到现在,年年有新花样,网络复杂了,写起来却一年比一年简单。现在够简单了吗?还行吧。



    @wuyuchenshishabi 看第 10~12 章。所有的概念全引出来了。当然从预览看 Keras 作者的那本书比这个详细的多。。。

    我自己并不是用这个书入门的,翻这个书主要是想强迫自己学一遍 Keras 的基本语法。但是我觉得 如果我可以 top down 入门 会比 button up 舒服的多。
    cnbeining
        23
    cnbeining  
    OP
       2017-11-13 13:36:27 +08:00
    @winglight2016 后面会讲 CNN 和一些调参的技巧。

    书其实是有详细注释过的代码库的,我应该加个 link。。。

    照着做肯定能做出来,如果懂 Python。应该吧。。
    hayao650
        24
    hayao650  
       2017-11-13 14:42:49 +08:00
    楼主好人一生平安
    cnbeining
        25
    cnbeining  
    OP
       2017-11-13 15:04:43 +08:00
    @hayao650 更到 17 章。肝爆了。如果身体没问题这两天应该能肝完。。。
    firefox12
        26
    firefox12  
       2017-11-13 16:46:17 +08:00
    agree, 循序渐进是对的。但是很多时候都是先上手,有感性认识变成理性认识。

    这里用 linux 的人很多,懂 linux 内核的有几个?用 mysql 的人很多,懂 mysql mvcc 有几个?会开车的很多,会修车的有几个?
    所以我们先不要用 linux 和 mysql 了,先花个 5 年学会了 再开始使用? 大多是也就是用一下工具,有几个人能给 TensorFlow 打 patch 呢?
    qsnow6
        27
    qsnow6  
       2017-11-19 12:42:15 +08:00
    关注,期待更新
    zengqiang2006
        28
    zengqiang2006  
       2018-03-20 10:11:41 +08:00
    wizardforcel
        29
    wizardforcel  
       2018-04-06 20:23:47 +08:00
    DL 真的和统计机器学习是两条路子,先学统计机器学习真的会带跑偏。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5673 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 53ms · UTC 09:06 · PVG 17:06 · LAX 01:06 · JFK 04:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.