03 | 深度学习基础:你打牢深度学习知识的地基了吗?
03 | 深度学习基础:你打牢深度学习知识的地基了吗?
讲述:王喆
时长16:12大小14.80M
一切要从一个神经元开始
什么是神经网络?
神经网络是怎么学习的?
神经网络与深度学习的关系是什么?
深度学习是如何应用在推荐系统中的?
小结
课后思考
赞 39
提建议
精选留言(26)
- Ultradatastream2021-01-06喆哥, 有个问题想请教下, 曾经有段时间比较关注Meta Learning(元学习), Meta Learning 可解决Deep Learning "大量喂数据, 暴力迭代"的"诟病", Meta Learning算法如果结合部分深度推荐算法使用得当, 效果可能会好些, 工业界目前也有部分实现, 如阿里、华为等, 请问下Meta Learning会是未来推荐系统算法的"一大爆点"吗?
作者回复: 从我的经验来看,metadata的作用远远小于用户历史行为。 学推荐系统,计算广告,切忌从什么新闻,公众号,甚至是paper里面学,每个公司都有pr的需求,但你并不需要,你需要的是实践经验,只需要从这些地方汲取这些idea就可以,最终都需要你去实践。
共 2 条评论46 - 明月2020-11-29任务影响网络的架构,比如关注时间信息多一些,RNN就更适合,关注局部信息,CNN就更适合。网络不适合过深,容易过拟合,而且也会存在太深对任务不会有显著的提高,反而对资源有过多的浪费,比如,lstm在做语义理解的时候,通常只会最多两层
作者回复: 非常好,经验之谈。
共 2 条评论25 - 大土豆2020-09-28老师,我想问下,您有见过服务端或者客户端的同学,转型AI开发成功的例子吗?可不可以分享下,我们的订阅听众可能大多数都不是AI出身,都是服务端或者客户端半路出家AI的
作者回复: 还是有一些的。我在中国和美国公司都分别见到过一位这样的同事的。 他们有共同点,就是之前从事后端开发的工作,对java jvm非常熟悉,另外对spark有一定经验,然后转到推荐或者广告团队。现在做的都非常出色。 我觉得只要不是纯算法的工作,工程能力就是首要的能力,大家不要被AI、算法工程师这些title吓到,认为传统工程师和算法工程师之间的gap非常大。其实算法团队对工程能力非常好的同学永远都有需求。
共 5 条评论23 - 何去何从2020-09-28请问老师画图使用什么工具?谢谢
作者回复: 用了一个线上工具 https://app.diagrams.net/ 不知道国内能不能访问,可以试一下。
21 - w1sl1y2020-09-29https://github.com/w1sl1y/bpnn 之前用java写的一个BPNN的demo,新手可以看一下代码,加深反向神经网络的了解
作者回复: 赞
18 - Geek_f676f32021-02-28单从推荐领域来看,深度学习模型并非越深越好,模型的构建需要对数据及业务有深刻的洞察,没有更好的模型,只有更适合的模型
作者回复: 说的太好了
10 - Chris2020-09-28希望老师更新快一些,一周只等来了一节课,有点慢啊。
作者回复: 因为国庆假期快到了所以没有按正常速度更新。国庆后会按照一周三节的速度更新。
10 - 嘿人2020-12-09数据量大,特征多,就需要更深的神经网络来充分学习,如果数据量少,还用深层的神经网络,会容易出现过拟合,过拟合可以加正则项来对网络中的权值进行惩罚,但数据量是个根本性的问题。当然,收集了足够多的数据后,网络的深度和结构的设计也有关系。加了短连接的Resnet、DenseNet能搭建起更深的网络模型,其为梯度的反向传播提供了捷径,使得深层的神经网络不再难以训练。
作者回复: 很好,是经验之谈。
9 - 李@君2020-09-28不同应用领域(图片分类,NLP)的模型结构会有所不同。模型深度越深,就需要更多的训练数据,和更强大的算力。但是深度和预测结果是否成正相关呢。现在的模型是结构越来越复杂,参数越来越多。
作者回复: 非常好的insight。应该根据问题类型、数据规模来决定模型的结构和复杂度。 通常来说,模型结构跟要解决的业务问题强相关,数据规模决定了模型能够支持的复杂程度。
共 2 条评论9 - Alan2021-03-01课后思考: 1、数据类别、数据维度与数据量大小影响深度网络结构,emmbeding是处理高维特征主要技术手段,又衍生出特征交叉等DeepFM等,后续算法优化都是基于(DNN与FM,线性与非线性),即是否有更好的(专家知识)算法学习到更多有用特征,最后甚至是业务需求拓展(Attention等时间序列机制) 2、不是的,越深越复杂,需要计算资源的需求更大不太符合工业需求的,我们需要通过优化评估一个算法在某个点达到收敛即可,截取在这个点所需的最优参数,即可解约时间成本与硬件成本!展开
作者回复: 非常好,特别是第二点非常赞同。
共 2 条评论7 - 抱小星2021-06-15影响网络结构的,一个是问题规模的复杂程度,会影响深度学习神经网络的"假设空间",如果参数的假设空间不够,无法完全拟合问题的解决方案,会造成信息瓶颈,这个是下限。第二个是算力、数据和工程资源限制,如果需要过多的数据去训练,那应该降低模型复杂度,又或者是算力和线上存储资源不足,也应该削减模型部分的开销。这个是上限。
作者回复: 非常好的回答,推荐大家参考
7 - 轩2021-01-06课后思考: 一般而言 deep is better,更省参数更强能力,例如两个3*3conv和单层5*5conv,但限于线上推断的响应时间要求,过深会影响推断时间。Google有论文是关于响应时间和点击率之间的关系,个人观点,控制在总时间200ms之内? 关于结构,由于推荐和NLP之间具有一点的相似性,都是序列预测,可以借鉴很多。rnn,attention,conv,诸如此类。展开
作者回复: 两个思考都非常好。特别是第一点,理论特点和工程限制都考虑到了。业界一般200ms太长了,需要控制在100ms之内,因为还有其他模块同样会增加延迟。
6 - DAMIAN2021-04-11作业: 1. 我认为影响网络结构的最大因素是任务及数据,比如cv任务的数据多是H x W x C,这时候CNN就很合适。nlp任务的数据多是时序相关,所以RNN和Seq2Seq能work。 2. 网络不是越深越好,模型空间太大容易出现过拟合问题。此外网络层数深了可能会出现梯度弥散问题。并且网络层数多对存储和算力也会有更高要求。何凯明大神在ResNet论文中有更深入的讨论。展开
作者回复: 是这样,赞
5 - 陈威洋2020-10-28我倒希望老师慢慢来,慢工出细活,这样老师的压力也没有大,我们也有时间加强练习和消化!~
作者回复: 感谢信任。已经完成的课程我都尽自己的努力把课程讲述和项目实践做好,在我能力范围内也没法做的更好了,希望能帮助到大家。
5 - IT蜗壳-Tango2020-10-25这节课的内容都懂,是不是就具备了入门的条件啦。希望后面的也能听懂。
作者回复: 这节课都掌握的话,知识基础就没问题,实践部分每节课跟上就可以,需要一定编程基础。
共 3 条评论4 - Geek_0d974b2021-02-17请教两个问题:1 现行的DL包是不是只局限于有限种的activation function? 能不能用户自定义一个activation function? 2. 想知道业界有tensorflow这些DL包推出之前怎么implement DL?
作者回复: tf自定义损失函数,自定义激活函数都是可以的。 tf之前其实也有很多机器学习框架,用的最多的是sklearn。再之前,比如十年前,很多都是手写的,其实也没有那么困难。
2 - 一天2020-10-09工业上数据特征规模、算力、平台架构都会影响深度学习的网络结构。深度学习模型的深度越深是不是越好,得做实验对比了,好像最近的图深度学习有实验说,深度越深效果反而变差了。
作者回复: 非常好。所以在业界深度学习模型没有银弹,要根据自己的工程环境,数据特点多尝试,多对比。
共 2 条评论2 - 想听家乡话2020-09-28老师,做推荐平台的不生产数据,只是数据的搬运工。推荐数据由算法同事去生产。做推荐系统平台的,有必要学习这门课吗?
作者回复: 这个还是要看自己的需求,如果你想了解更全面的推荐系统知识,工作中寻求更多的团队配合,推进更大的项目,建议丰富一下自己的整体知识储备。
2 - rookie2021-07-24问题的复杂程度决定假设空间维度,可获得有效数据量决定空间的参数量,即模型的的复杂度。问题的属性决定模型的底层结构,比如图像问题,一般选择CNN ,序列问题一般般选择LSTM等序列模型等等。实际工作环境中的算力、资源限制(时间、空间)决定你最终可以选择使用的模型的复杂度。 深度显然并不是越深越好,要与自己的问题与业务需求相匹配。一般越深的网络需要的数据也就越多,对算力要求就越高。其次深层次的网络结构可能出现梯度弥散的问题。 最终,模型的构建需要对数据和业务有较深的理解,并不是越复杂越卓越就越好。最终的结果一般是性能和成果的综合,既满足用户需求,又有较低的成本。展开
作者回复: 说的非常好
2 - 强者自强2021-01-25老师,有个问题一直困扰了我很久,就是假如我们的模型有上亿个参数需要去优化,如果用前向传播的话,优化一轮参数,梯度下降是不是就需要进行上亿次,而反向传播只需要进行一次梯度下降就可以优化一轮参数呢?
作者回复: 前向传播根本就没有梯度下降的过程。BP过程才有梯度下降
共 3 条评论2