问: 大家帮我看看这怎么样看电脑配置置什么样。玩英雄联盟特效全开行吗?几年不落伍这配置

"华硕电脑u盘黑屏打不开电源亮"的糗事
17585 好笑
你可能感兴趣:
糗事百科为大家收集了很多的华硕电脑u盘黑屏打不开电源亮的糗事,各种关于华硕电脑u盘黑屏打不开电源亮的爆笑经历、尴尬时刻和开心视频,想持续关注华硕电脑u盘黑屏打不开电源亮的糗事就收藏本页吧.
扫码下载糗事百科app&figure&&img src=&https://pic1.zhimg.com/v2-0e889aca1c498c431f66a9f099ca8865_b.jpg& data-rawwidth=&1278& data-rawheight=&467& class=&origin_image zh-lightbox-thumb& width=&1278& data-original=&https://pic1.zhimg.com/v2-0e889aca1c498c431f66a9f099ca8865_r.jpg&&&/figure&&p&拖了很长时间之后,第三篇终于写出来了,最近我比较忙,来回奔波,实在是没富裕时间,深表歉意。先放出第一期和第二期的链接。
&/p&&p&&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&高考完了,来选你们的笔记本吧! - 知乎专栏&/a&&/p&&p&&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&高考完了,来选你们的笔记本吧!(二) - 知乎专栏&/a&&/p&&p&前两期中,我简要说了笔记本购买需求、一些新手问题和哪些本不建议买。至于谁到底选择哪个本,那还是根据自己的需求预算和偏好来定,不可能针对每个人都全盘考虑,一对一去推荐。大家都是有一定选择能力的。&/p&&p&当你选中一款或几款笔记本,在购买之前犹豫不决时,一些人要百度这个型号,或者去某些数码网站看编辑们写的评测。我在这里要提示一下,某些网站的文章不能全信,有软文现象(网站收厂商钱,网站上一些评测夸大笔记本优点,掩盖缺点)。那么,该如何了解这款笔记本到底怎么样?我来说一个比较麻烦的办法,那就是上贴吧。 &/p&&p&如下图所示红框,在百度贴吧笔记本吧的吧内搜索这个笔记本型号,就会出来大量该笔记本的有关帖子,你可以去慢慢浏览细细品味,这个办法在除了数码网站评测之外,可以了解到关于这个型号笔记本的更多细节信息,对购买还是很有帮助的。(百度贴吧手机客户端也有类似搜贴功能)&/p&&figure&&img src=&https://pic1.zhimg.com/v2-ac9b2ce0eeba512fbe27cb98_b.jpg& data-rawwidth=&1284& data-rawheight=&883& class=&origin_image zh-lightbox-thumb& width=&1284& data-original=&https://pic1.zhimg.com/v2-ac9b2ce0eeba512fbe27cb98_r.jpg&&&/figure&&p&&br&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-d9aaeb3d631151dddfad546c_b.jpg& data-rawwidth=&1025& data-rawheight=&911& class=&origin_image zh-lightbox-thumb& width=&1025& data-original=&https://pic1.zhimg.com/v2-d9aaeb3d631151dddfad546c_r.jpg&&&/figure&&p&当然你在笔记本吧发帖提问也是不错的方法,但是容易沉贴。&/p&&p&&b&总之,在你买笔记本之前,你了解关于该型号笔记本的信息越多越真实越好。&/b&&/p&&p&&br&&/p&&p&现在进入这期的主题吧。&/p&&h2&&b&本期我主要说在考虑好买哪种型号笔记本之后怎么买更优惠。&/b&&/h2&&p&有些看了我上期文章的人估计看到这里会有疑惑,因为我上期明确说了,最好在京东购买,既然这样在同一个地方买还有什么优惠?我来解释,大家不要疑惑,京东上的商品,价格一般是波动的,尤其是笔记本,甚至可能每天的价格都不一样,相差好几百,那么找准购买时机也是很重要,很关键的。如果你不太着急购买的话,把握好购买时机可以享受更大优惠。所以说我接下来就说一说怎么把握购买时机。&/p&&p&为了叙述方便,我拿联想R720来举例。比如说,你经过各种挑选后,选出来了这款型号:联想(Lenovo)拯救者R720 15.6英寸游戏笔记本电脑(i5-7300HQ 8G 1T+128G SSD GTX1050Ti 4G IPS 黑),首先在京东上找到该款笔记本。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-59d260ce_b.jpg& data-rawwidth=&1371& data-rawheight=&872& class=&origin_image zh-lightbox-thumb& width=&1371& data-original=&https://pic1.zhimg.com/v2-59d260ce_r.jpg&&&/figure&&p&如图所示,该笔记本在京东上当前价格为6399元。&/p&&p&复制该商品的网址链接&/p&&figure&&img src=&https://pic3.zhimg.com/v2-6dcda9c9fa140d0e6ac15775cfffaef7_b.jpg& data-rawwidth=&1318& data-rawheight=&37& class=&origin_image zh-lightbox-thumb& width=&1318& data-original=&https://pic3.zhimg.com/v2-6dcda9c9fa140d0e6ac15775cfffaef7_r.jpg&&&/figure&&p&打开一个叫做慢慢买的购物网站:&a href=&https://link.zhihu.com/?target=http%3A//www.manmanbuy.com/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&慢慢买--购物比价网&/a&,百度搜索“慢慢买”就行&/p&&figure&&img src=&https://pic1.zhimg.com/v2-048cdba610a49e2ef0a2_b.jpg& data-rawwidth=&1361& data-rawheight=&867& class=&origin_image zh-lightbox-thumb& width=&1361& data-original=&https://pic1.zhimg.com/v2-048cdba610a49e2ef0a2_r.jpg&&&/figure&&p&如图红框所示,将刚才复制的该款笔记本京东网址链接贴到搜索栏,点击搜索。&/p&&p&就会出来历史价格走势图&/p&&figure&&img src=&https://pic4.zhimg.com/v2-382a5c1e96ef1be5fc305ea1f677c69a_b.jpg& data-rawwidth=&1147& data-rawheight=&588& class=&origin_image zh-lightbox-thumb& width=&1147& data-original=&https://pic4.zhimg.com/v2-382a5c1e96ef1be5fc305ea1f677c69a_r.jpg&&&/figure&&p&如图所示,当前改款笔记本的6399的价格属于不算最高也不算最低。如果你再等几天再买有可能6000元拿下,这样就省了400元。当然如果你的运气差的话,等几天可能价格涨到6600.。&/p&&p&除了看历史价格以外,还能看该商品的历史的优惠活动。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-342b9fbdd84f49fdaa182f6_b.jpg& data-rawwidth=&803& data-rawheight=&940& class=&origin_image zh-lightbox-thumb& width=&803& data-original=&https://pic3.zhimg.com/v2-342b9fbdd84f49fdaa182f6_r.jpg&&&/figure&&p&还有其他商城该笔记本的价格情况 &/p&&figure&&img src=&https://pic1.zhimg.com/v2-6f0e8e2dcb_b.jpg& data-rawwidth=&1057& data-rawheight=&457& class=&origin_image zh-lightbox-thumb& width=&1057& data-original=&https://pic1.zhimg.com/v2-6f0e8e2dcb_r.jpg&&&/figure&&p&当然,主要是看历史价格走势图,如果该商品当前的价格是最高价格,达到了峰值,那么你最好等几天再买。相反的,如果该商品当前的价格是最低价格,达到了谷值,那么你最好当天就买。&/p&&p&千万别小看价格波动,笔记本的价格波动是很正常存在的,而且波动幅度还是不小的,比如惠普暗影精灵2plus,上下价格波动可以差2000元。2000元单单在笔记本领域算是不少钱了。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-19ff37fcff65e6eb6fe8ba4_b.jpg& data-rawwidth=&1132& data-rawheight=&591& class=&origin_image zh-lightbox-thumb& width=&1132& data-original=&https://pic2.zhimg.com/v2-19ff37fcff65e6eb6fe8ba4_r.jpg&&&/figure&&p&如图所示,惠普暗影精灵2plus的价格在元之间来回跳,偶尔降到7999元。如果你打算买惠普暗影精灵2plus,观察价格波动把准时机,你就能用8999元买到它,比花9999元买的人便宜1000元。&/p&&p&&br&&/p&&p&京东有个领券中心也是可以优惠的好地方。在电脑办公分类里有时会有你想要的优惠券。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-5babea4fdcb9fa5eb42ba_b.jpg& data-rawwidth=&1625& data-rawheight=&940& class=&origin_image zh-lightbox-thumb& width=&1625& data-original=&https://pic3.zhimg.com/v2-5babea4fdcb9fa5eb42ba_r.jpg&&&/figure&&p&&br&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-eac83c2a43_b.jpg& data-rawwidth=&1523& data-rawheight=&900& class=&origin_image zh-lightbox-thumb& width=&1523& data-original=&https://pic1.zhimg.com/v2-eac83c2a43_r.jpg&&&/figure&&p&下期链接&/p&&p&&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&高考完了,来选你们的笔记本吧!(四) - 知乎专栏&/a&&/p&
拖了很长时间之后,第三篇终于写出来了,最近我比较忙,来回奔波,实在是没富裕时间,深表歉意。先放出第一期和第二期的链接。
前两期中,我简要说了笔记本购买…
&p&已经有好几个大而全的回答了。那我就推荐几门自己亲身上过,并且觉得好的课。&/p&&p&&br&&/p&&p&机器学习相关:&/p&&p&&b&&a href=&//link.zhihu.com/?target=https%3A//www.coursera.org/learn/machine-learning& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Machine Learning | Coursera&i class=&icon-external&&&/i&&/a&&/b&&/p&&p&这门课算是网红了应该不需要多加介绍。当时12年大二上的时候感觉真是如沐春风。非常适合零基础入门机器学习。lecture非常清晰,作业也很有针对性而且很有意思。&/p&&p&&br&&/p&&p&&b&&a href=&//link.zhihu.com/?target=https%3A//www.coursera.org/learn/ntumlone-mathematicalfoundations& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&機器學習基石 (Machine Learning Foundations)---Mathematical Foundations | Coursera&i class=&icon-external&&&/i&&/a&&/b&&/p&&p&这门课我是跳着看的。主要看了第六章Theory of Generalization和第七章The VC Dimension。如果对机器学习理论感兴趣的同学,VC维是期中非常重要的一个概念。看paper的时候时不时会遇到。可以看出&u&&a href=&//link.zhihu.com/?target=https%3A//www.coursera.org/instructor/htlin& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&林軒田&i class=&icon-external&&&/i&&/a&&/u&老师ppt做得非常用心。概念解释的很清楚,比网上绝大部分关于VC维的资料讲的都好。&/p&&p&&br&&/p&&p&&b&机器学习技法&/b&&/p&&p&被林老师深入浅出介绍机器学习理论圈粉了之后,就上了他的另一门课,机器学习技法。这门课对常用的一些机器学习技法讲的很清晰,比如SVM和Kernel, Support Vector Regression, bagging, Adaptive Boosting, Random Forest, GBDT。看完之后就会对这些这些方法的intuition和数学推导都有一个很清楚的认识。看完这门课的Lecture11:gradient boosted decision tree后再看xgboost,这个kaggle比赛大杀器也就轻而易举了。当年参加的一个kaggle比赛就是凭着xgboost和模型融合进了top 1%。&/p&&p&好像有同学反映目前这门课在coursera上没开。大家可以去课程的官网:&a href=&//link.zhihu.com/?target=http%3A//www.csie.ntu.edu.tw/%7Ehtlin/mooc/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&csie.ntu.edu.tw/~htlin/&/span&&span class=&invisible&&mooc/&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a& 上看相关的资料。视频在youtube上也有。&/p&&p&&br&&/p&&p&&b&&a href=&//link.zhihu.com/?target=https%3A//www.coursera.org/specializations/probabilistic-graphical-models& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Probabilistic Graphical Models
| Coursera&i class=&icon-external&&&/i&&/a&&/b&&/p&&p&概率图模型领域的权威教材《&a href=&//link.zhihu.com/?target=https%3A//www.amazon.com/Probabilistic-Graphical-Models-Principles-Computation/dp//ref%3Dsr_1_1%3Fie%3DUTF8%26qid%3D%26sr%3D8-1%26keywords%3Dprobabilistic%2Bgraphical%2Bmodels& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Probabilistic Graphical Models: Principles and Techniques&i class=&icon-external&&&/i&&/a&》的作者&a href=&//link.zhihu.com/?target=https%3A//www.coursera.org/instructor/%7E1257& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Daphne Koller&i class=&icon-external&&&/i&&/a&开的课。大牛上课条理清楚,但好像有点口音。作业也是用matlab写的,比较有针对性,相对于Andrew NG老师的作业好像稍微无聊一些。 &/p&&p&&br&&/p&&p&&b&Natural Language Processing&/b&&/p&&p&NLP大神&u&&a href=&//link.zhihu.com/?target=https%3A//www.google.com/url%3Fsa%3Dt%26rct%3Dj%26q%3D%26esrc%3Ds%26source%3Dweb%26cd%3D3%26ved%3D0ahUKEwjHl9WkyYnWAhUp0oMKHRx4Dq0QFghBMAI%26url%3Dhttps%253A%252F%252Fnlp.stanford.edu%252Fmanning%252F%26usg%3DAFQjCNETjitGXgvrmadUJZIR4PiaWxeRKw& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Christopher Mannin&i class=&icon-external&&&/i&&/a&g &/u&开的课。算是NLP的入门神课吧。可惜这门课好像现在在coursera也关了。仅在残存的网站上找到了当时的课件。&a href=&//link.zhihu.com/?target=https%3A//web.stanford.edu/%7Ejurafsky/NLPCourseraSlides.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&web.stanford.edu/~juraf&/span&&span class=&invisible&&sky/NLPCourseraSlides.html&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a& 不过Stanford出了2门deep learning的课分别是关于NLP和CV的224和231(接下来会介绍)也算是弥补了遗憾。&/p&&p&&br&&/p&&p&&b&&a href=&//link.zhihu.com/?target=http%3A//web.stanford.edu/class/cs224n/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&CS224n: Natural Language Processing with Deep Learning&i class=&icon-external&&&/i&&/a&&/b&&/p&&p&这门课和下面的一门应该也不需要大家介绍了。是Deep Learning必上的两门课。讲课和作业都很良心。光看着课程的syllabus就能exciting起来。&/p&&p&&br&&/p&&p&&b&&a href=&//link.zhihu.com/?target=http%3A//cs231n.stanford.edu/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&CS231n: Convolutional Neural Networks for Visual Recognition&i class=&icon-external&&&/i&&/a&&/b&&/p&&p&李飞和她的高徒&a href=&//link.zhihu.com/?target=http%3A//cs.stanford.edu/people/jcjohns/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Justin Johnson&i class=&icon-external&&&/i&&/a&上的课。听大神把各种经典以及最新的算法和模型娓娓道来,感觉不能更赞。尤其是Deep Learning Software那一节把各大框架,Caffe, Torch, Theano, TensorFlow, Keras, PyTorch对比了一番以及Detection那一节,讲RCNN,Fast-RCNN, Faster-RCNN, YOLO。看的真是过瘾。&/p&&p&&br&&/p&&p&计算机科学相关:&/p&&p&&b&&a href=&//link.zhihu.com/?target=http%3A//online.stanford.edu/course/compilers-0& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Compilers | ONLINE&i class=&icon-external&&&/i&&/a&&/b&&/p&&p&当时在浙大上编译原理的时候,一起看的这门课。Alex Aiken小哥简直比我浙老师讲的好多了。。。这门课好像在coursera上也没有了,但所幸还能在Stanford Online上找到。&/p&&p&&br&&/p&&p&&b&&a href=&//link.zhihu.com/?target=https%3A//www.coursera.org/learn/algorithms-part1& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Algorithms, Part I | Coursera&i class=&icon-external&&&/i&&/a& 和 &a href=&//link.zhihu.com/?target=https%3A//www.coursera.org/learn/algorithms-part2& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Algorithms, Part II | Coursera&i class=&icon-external&&&/i&&/a&&/b&&/p&&p&这两门课都是算法届的大佬Robert Sedgewick上的。老爷子有多牛呢,就是上着上着,突然发现,咦,这个算法的发明者不就是他老人家自己吗。。。当时coursera上同时期的还有Stanford 的&a href=&//link.zhihu.com/?target=https%3A//lagunita.stanford.edu/courses/course-v1%3AEngineering%2BAlgorithms1%2BSelfPaced/about& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Algorithms: Design and Analysis&i class=&icon-external&&&/i&&/a&。我也看了部分这门课的视频,感觉还是老爷子讲课更胜一筹啊,深入浅出。尤其是Algorithms II里面讲Graph相关算法, Tries, 字符串匹配算法,讲的真是超级清楚。&/p&&p&&br&&/p&&p&目前想到的就是这些课了。都是自己亲身上过的,可以负责地推荐给大家。&/p&
已经有好几个大而全的回答了。那我就推荐几门自己亲身上过,并且觉得好的课。 机器学习相关:这门课算是网红了应该不需要多加介绍。当时12年大二上的时候感觉真是如沐春风。非常适合零基础入门机器学习。lecture非常清晰,作业…
&figure&&img src=&https://pic1.zhimg.com/v2-ef09fa71d982d229a9f75ff9d9b8a0bb_b.jpg& data-rawwidth=&2001& data-rawheight=&1146& class=&origin_image zh-lightbox-thumb& width=&2001& data-original=&https://pic1.zhimg.com/v2-ef09fa71d982d229a9f75ff9d9b8a0bb_r.jpg&&&/figure&&p&&i&本文共9876字,阅读约需14分钟。&/i&&/p&&p&&br&&/p&&p&近期在公司内部做了一个关于人工智能/深度学习相关的主题分享讲座,为了准备这个演讲,我花了100个小时左右,接下来就把精心准备的内容分享给大家。&/p&&p&有一个好消息是,考虑文章比较长和文字本身表达的局限性,同时为了解答大家的疑问,我近期会&b&完全免费&/b&开一个视频直播,具体内容如下。 &/p&&p&1. 深度学习入门到晋级&/p&&p&2. 深度学习模型解析和代码实现展示&/p&&p&3. 答疑环节&/p&&p&-------------分割线---------------&/p&&p&&b&视频直播已经结束,获取录播视频方式如下:&/b&&/p&&p&&b&关注公众号“聊聊汽车那些事儿”,后台回复“人工智能视频直播”,即可获得视频链接~&/b&&/p&&p&&br&&/p&&p&-------------分割线---------------&/p&&p&好,内容正式开始。&/p&&p&一提到人工智能和深度学习,很多人觉得比较难,其实那只是因为没有遇到能够讲的清楚的人而已。&/p&&p&很多人喜欢把简单的事情说得玄乎,以显示自己很厉害,但其实真正厉害的人,是能够把复杂的事情讲解的很深入浅出、通俗易懂的,这也是我一直努力的方向。&/p&&p&看这篇文章的读者,估计大多数可能之前没有深入了解过深度学习,这么说来,我有幸成为各位在深度学习方面的启蒙老师了(笑)。&/p&&p&分享的内容分四部分,分别是&b&入门、基础、进阶和发展趋势&/b&。&/p&&p&&br&&/p&&h2&&b&深度学习简单入门&/b&&/h2&&p&2016年3月份,AlphaGo以4:1战胜韩国围棋手李世石,一举震惊了世界。&/p&&p&人工智能一下就引爆了整个世界。有种趋势就是,不谈人工智能,就落伍了。&/p&&p&以前资本圈融资都谈的是“互联网+”,现在都在谈“AI+”了。 &/p&&p&有人说,马上人工智能时代就要来了,甚至有人宣扬人工智能威胁论。&/p&&p&那么,当我们谈论人工智能的时候,我们究竟在谈论什么呢?&/p&&figure&&img src=&https://pic1.zhimg.com/v2-9e189bc1d61d604a7117bce1d5b43c74_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1419& data-rawheight=&958& class=&origin_image zh-lightbox-thumb& width=&1419& data-original=&https://pic1.zhimg.com/v2-9e189bc1d61d604a7117bce1d5b43c74_r.jpg&&&/figure&&p&我们先来讨论下“人工智能”的定义。&/p&&p&什么叫做智能呢?所谓智能,其实就是对人某些高级功能的模拟,让计算机去完成一些以前只有人才能完成的工作,比如思考、决策、解决问题等等。&/p&&p&比如以前只有人可以进行数学计算,而现在计算机也可以进行计算,而且算的比人还准,还快,我们说计算机有一点智能了。&/p&&p&人工智能的发展经历了好几个发展阶段,从最开始的简单的逻辑推理,到中期的基于规则(Rule-based)的专家系统,这些都已经有一定的的智能了,但距离我们想象的人工智能还有一大段距离。直到机器学习诞生以后,人工智能界感觉终于找到了感觉。基于机器学习的图像识别和语音识别在某些垂直领域达到了跟人相媲美的程度。人工智能终于能够达到一定的高度了。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-f8e4e1e3a5b006abfea67f_b.jpg& data-caption=&& data-size=&small& data-rawwidth=&989& data-rawheight=&989& class=&origin_image zh-lightbox-thumb& width=&989& data-original=&https://pic4.zhimg.com/v2-f8e4e1e3a5b006abfea67f_r.jpg&&&/figure&&p&当前机器学习的应用场景非常普遍,比如图像识别、语音识别,中英文翻译,数据挖掘等,未来也会慢慢融入到各行各业。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-c94c89c39ae3727cac1f6c_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&993& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic4.zhimg.com/v2-c94c89c39ae3727cac1f6c_r.jpg&&&/figure&&p&虽然都是机器学习,但是背后的训练方法和模型是完全不同的。&/p&&p&根据训练的方法不同,机器学习算法可以大致分类为&b&监督学习、无监督学习&/b&和&b&强化学习&/b&三种。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-29503cd3adfde9d7e267e_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1727& data-rawheight=&638& class=&origin_image zh-lightbox-thumb& width=&1727& data-original=&https://pic3.zhimg.com/v2-29503cd3adfde9d7e267e_r.jpg&&&/figure&&p&监督学习,就是训练数据是有标签的,也就是每个数据都是标注过的,是有正确答案的。训练的时候会告诉模型什么是对的,什么的错的,然后找到输入和输出之间正确的映射关系,比如物体种类的图像识别,识别一张图片内容是只狗,还是棵树。&/p&&p&非监督学习,就是训练数据没有标签的,只有部分特征。模型自己分析数据的特征,找到数据别后隐含的架构关系,比如说自己对数据进行学习分类等等,常见的算法有聚类算法,给你一堆数据,将这数据分为几类。比如在银行的数据库中,给你所有客户的消费记录,让你挑选出哪些可以升级成VIP客户,这就是聚类算法。&/p&&p&还有一种是强化学习,目标是建立环境到行为之间的最佳映射。强化学习的训练是不需要数据的,你告诉他规则或者给他明确一个环境,让模型自己通过不断地尝试,自己根据结果来自己摸索。&/p&&p&Deep Mind的AlphaGo Zero就是通过强化学习训练的,号称花了3天的训练时间就能100:0打败AlphaGo。&/p&&p&比较适合强化学习的一般是环境到行为之间的结果规则比较明确,或者环境比较单一、不太容易受噪音干扰等等,比如下围棋的输赢等等,还可以模拟直升机起降、双足机器人行走等等。&/p&&p&&b&我们今天讨论的就是基于监督学习在图像识别领域的应用。&/b&&/p&&p&&br&&/p&&p&接下来我们再看下人工智能的历史。&/p&&p&虽说我们感觉人工智能最近几年才开始火起来,但是这个概念一点也不新鲜。&/p&&p&起源于上世纪五、六十年代就提出人工智能的概念了,当时叫&b&感知机&/b&(perceptron),拥有输入层、输出层和一个隐含层。输入的特征向量通过隐含层变换达到输出层,在输出层得到分类结果,当时的人们对此非常乐观,号称要在10年内解决所有的问题。但是,单层感知机有一个严重得不能再严重的问题,即它对稍复杂一些的函数都无能为力(比如最为典型的“异或”逻辑),连异或都不能拟合。当时有一个专家叫明斯基,号称人工智能之父,在一次行业大会上公开承认,人工智能连一些基本的逻辑运算(比如异或运算)都无能为力,于是政府所有的资助全部都停掉了,于是进入人工智能的第一个冬天。&/p&&p&随着数学的发展,这个缺点直到上世纪八十年代才发明了&b&多层感知机&/b&克服,同时也提出了梯度下降、误差反向传播(BP)算法等当前深度学习中非常基础的算法。之前被人诟病的问题已经被解决了,希望的小火苗又重新点燃了,于是人工智能开始再次兴起。&/p&&p&但是没过多久大家发现了,虽然理论模型是完善了,但是并没有实际用途,还不能解决实际问题,于是又冷下去了,人工智能的第二个冬天降临。&/p&&p&直到2012年开始第三次兴起,也就是最近几年人工智能的热潮。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-e4ec4ed18a9da_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&939& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic3.zhimg.com/v2-e4ec4ed18a9da_r.jpg&&&/figure&&p&下面我们就来第三次热潮是如何兴起的。&/p&&p&在这之前,我们先介绍一个比赛。这个比赛是一项图像识别的挑战赛,给你大量图片去做图像识别,比赛看谁的识别错误低。在2012年之前,错误率降低到30%以后,再往下降就很难了,每年只能下降个2,3个百分点。&/p&&p&直到2012年,有一个哥们叫Alex,这哥们在寝室用GPU死磕了一个卷积神经网络的模型,将识别错误率从26%下降到了16%,下降了10%左右,一举震惊了整个人工智能界,当之无愧的获得了当年的冠军。&/p&&p&从此之后,卷积神经网络一炮而红。之后每年挑战赛的冠军,胜者都是利用卷积神经网络来训练的。2015年,挑战赛的错误率已经降低到3.5%附近,而在同样的图像识别的任务,人眼的辨识错误率大概在5.1%,也就是目前的深度学习模型的识别能力已经超过了人眼。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-db4b45bce30cd6a4ada61_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&1155& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic1.zhimg.com/v2-db4b45bce30cd6a4ada61_r.jpg&&&/figure&&p&下图是最近几年比较有代表性的模型的架构。&/p&&p&大家可以看出来,深度学习的模型的发展规律,深,更深。没有最深,只有更深。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-6cf5ba224ea4ba_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&1242& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic4.zhimg.com/v2-6cf5ba224ea4ba_r.jpg&&&/figure&&p&那么Alex的卷积神经网络这么厉害,是因为这个哥们是个学术大牛,有什么独创性的学术研究成果么?&/p&&p&其实并不是。&/p&&p&他所采用的模型是1998年Yann Lecun就提出了这个模型,当时Yann Lecun把这个模型应用在识别手写邮编数字的识别上,取得了很好的效果,他搭建的网络,命名为Lenet。这个人的名字——Yann Lecun,大家一定要记住,因为我们后面的内容将会以Lenet作为范本来讲解。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-d2ad5dfccd838b80eb417_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&534& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic4.zhimg.com/v2-d2ad5dfccd838b80eb417_r.jpg&&&/figure&&p&这个模型是1998年提出来的,可为什么时隔这么多年才开始火起来呢?&/p&&p&人工智能突然爆发背后深层次的原因是什么?我总结了一下,背后的原因主要有三个:&/p&&figure&&img src=&https://pic2.zhimg.com/v2-7a993ea464fa612de7af_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&476& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic2.zhimg.com/v2-7a993ea464fa612de7af_r.jpg&&&/figure&&p&1.算法的成熟,尤其是随机梯度下降的方法的优化,以及一些能够有效防止过拟合的算法的提出,至于什么是随机梯度下降和过拟合,后面我们会详细讲到&/p&&p&2.数据获取,互联网的爆发,尤其是移动互联网和社交网络的普及,可以比较容易的获取大量的互联网资源,尤其是图片和视频资源,因为做深度学习训练的时候需要大量的数据。&/p&&p&3.计算能力的提升,因为要训练的数据量很大(都是百万级以上的数据),而且训练的参数也很大(有的比较深的模型有几百万甚至上千万个的参数需要同时优化),而多亏了摩尔定律,能够以较低的价格获取强大的运算能力,也多亏了Nvida,开发了GPU这个神器,可以大幅降低训练时间。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-f218a41d127071ddc51f1ea_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&677& data-rawheight=&380& class=&origin_image zh-lightbox-thumb& width=&677& data-original=&https://pic4.zhimg.com/v2-f218a41d127071ddc51f1ea_r.jpg&&&/figure&&p&GPU的运算速度是CPU的5-10倍左右,同样的模型需要训练,如果用CPU训练需要一个礼拜的话,那使用GPU,只需要一天时间就可以了。&/p&&p&&i&截止到目前,我们汇总下我们的学习内容,我们了解了人工智能的简单介绍,大致了解了人工智能的算法分类以及发展历史。&/i&&/p&&p&&br&&/p&&h2&&b&深度学习基础知识&/b&&/h2&&p&接下来我们了解一下基础知识。&/p&&p&我们上面也提到了,我们这次主要以卷积神经网络在图像识别领域的应用来介绍深度学习的。&/p&&p&卷积神经网络,这个词听起来非常深奥。&/p&&p&但其实没什么复杂的,我们可以分开成两个词来理解,卷积和神经网络。&/p&&p&先看下卷积。&/p&&p&卷积时数学的定义,在数学里是有明确的公式定义的。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-cfce3aa9c184d67212a33bda4e1201d6_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&330& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic4.zhimg.com/v2-cfce3aa9c184d67212a33bda4e1201d6_r.jpg&&&/figure&&p&是不是觉得公式太抽象,看不明白?没关系,我们举个栗子就明白了。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-ded079e99535_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&291& data-rawheight=&290& data-thumbnail=&https://pic3.zhimg.com/v2-ded079e99535_b.jpg& class=&content_image& width=&291&&&/figure&&p&还是以图像识别为例,我们看到的图像其实是由一个个像素点构成的。&/p&&p&一般彩色图像的是RGB格式的,也就是每个像素点的颜色,都是有RGB(红绿蓝三原色混合而成的),是三个值综合的表现。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-27b835158bff6d44c6e7_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1701& data-rawheight=&910& class=&origin_image zh-lightbox-thumb& width=&1701& data-original=&https://pic1.zhimg.com/v2-27b835158bff6d44c6e7_r.jpg&&&/figure&&p&假设f函数为5x5(对应到图片上即为5x5像素)为例,h函数为3x3的函数,大家可以理解为为一个手电筒(也就是筛选器),依次扫过这个5x5的区间。在照过一个区域,就像对应区域里的值就和框里的数据去做运算。最终输出为我们的输出图。&/p&&p&手电筒本身是一个函数,在3x3的区域内,他在每个位置都有参数,它的参数和对应到图片上相应位置的数字,先相乘,然后再把相乘的数字相加的结果输出,依次按照这些去把整个图片全部筛选一遍,就是我们所说的卷积运算了。&/p&&p&还是比较抽象,没关系,看下面这个图片就清楚了。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-f9dabe62c1e5c63e418f1_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&487& data-rawheight=&168& data-thumbnail=&https://pic4.zhimg.com/v2-f9dabe62c1e5c63e418f1_b.jpg& class=&origin_image zh-lightbox-thumb& width=&487& data-original=&https://pic4.zhimg.com/v2-f9dabe62c1e5c63e418f1_r.gif&&&/figure&&p&那我们为什么要做卷积呢?我们其实就是建立一个输入和输出的函数,图像识别的目的就是把输入的信息(像素点信息)对应到我们输出结果(识别类别)上去,所以是逐层提取有用特征,去除无用信息的过程。&/p&&p&比如下图所示,第一层可以识别一些边缘信息,后面逐层抽象,汇总到最后,就可以输出我们想要的结果,也就是我们的识别结果。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-9cce8e646bf9dcfaff268_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&610& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic4.zhimg.com/v2-9cce8e646bf9dcfaff268_r.jpg&&&/figure&&p&虽然我们知道特征是逐层抽象提取的,但是不幸的是,我们并不知道那一层是具体做什么的,也就不知道那个层数具体是什么意思。&/p&&p&也就是说,其实深度学习网络对于我们而言,是个黑盒子,我们只能通过他的输出来判断其好坏,而不能直接去调整某个参数。&/p&&p&那么,什么是神经网络呢?其实这个模型来自于心理学和神经学,人工智能的专家借鉴了这个结构。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-66ee3dfbd_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&417& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic3.zhimg.com/v2-66ee3dfbd_r.jpg&&&/figure&&p&左侧为神经元,神经元接收外界的输入刺激或者其他神经元的传递过来的信号,经过处理,传递给外界或者给其他神经元。&/p&&p&右侧为我们根据神经元的生物学特征抽象出来的数学模型,其中x是输入,包括一开始数据来源(外部刺激)的输入,也包括其他节点(神经元)的输入。&/p&&p&w为参数(weight),每个节点还有一个b,这个b其实是一个偏置。&/p&&p&&b&大家在学习新东西的时候,凡事多问个为什么?只有知道背后的原因了,这样你才能理解的更深刻。有句话说得好,还有什么比带着问题学习更有效率的学习方法呢?&/b&&/p&&p&为什么要加这个b呢?大家想想看,如果没有b的话,当输入x为0的时候,输出全部为0,这是我们不想看到的。所以要加上这个b,引入更多的参数,带来更大的优化空间。&/p&&p&大家看一下,目前为止,这个神经元里的函数(对输入信号的处理)都还是线性的,也就是说输出与输入是线性相关的,但是根据神经元的生物学研究,发现其接受到的刺激与输入并不是线性相关的,也为了能够表征一些非线性函数,所以必须要再引入一个函数,也就是下面我们要讲的激活函数(activation function)。&/p&&p&为什么需要激活函数?因为需要引入一些非线性的特性在里面。&/p&&p&常见的激活函数有这些。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-f502b37edab36eac2e24e81_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&784& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic4.zhimg.com/v2-f502b37edab36eac2e24e81_r.jpg&&&/figure&&p&以前是sigmoid比较常见,但是现在ReLU用的比较多一些。&/p&&p&就类似于下图这样,在节点经过线性运算后,经过非线性的ReLU,然后进入下一层的下一个节点。中间的w和b,就是我们卷积神经网络的参数,也是我们模型中需要训练的对象。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-fcb230d603e_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&729& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic1.zhimg.com/v2-fcb230d603e_r.jpg&&&/figure&&p&大家看LeNet模型中,就是在输入数据多次进行卷积神经网络的处理。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-0a5c0f92bef5ea3d0b902cf_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&660& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic3.zhimg.com/v2-0a5c0f92bef5ea3d0b902cf_r.jpg&&&/figure&&p&对于模型而已,我们习惯把输入的数据叫做输入层,中间的网络叫做隐藏层,输出的结果叫做输出层。中间层数越多,模型越复杂,所需要训练的参数也就越多。&/p&&p&所谓的deep learning中的deep,指的就是中间层的层数,右图中GoogLenet有22层。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-7f90a17fdc71dd2ae810bcb91b1bade0_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&665& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic2.zhimg.com/v2-7f90a17fdc71dd2ae810bcb91b1bade0_r.jpg&&&/figure&&p&一般说来,模型越复杂,所能实现的功能也越强大,所能达到的精度也越高,目前最深的模型大概有10的7次方个神经元,其神经元比相对原始的脊椎动物如青蛙的神经系统还要小。&br&自从引入隐藏单元,人工神经网络的大小大约每 2.4 年翻一倍,按照现在的发展速度,大概要到2050年左右才能达到人类大脑的神经元数量的规模。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-6d9cd8c77e93_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&826& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic1.zhimg.com/v2-6d9cd8c77e93_r.jpg&&&/figure&&h2&损失函数&/h2&&p&怎么判断一个模型训练的好坏呢?我们需要一个评价指标(也就是KPI考核指标),也就是损失函数。&/p&&p&习大大教导我们不忘初心 ,那我们最初的目标是什么?是建立输入输出的映射关系。&/p&&p&比如我们的目标是判断一张图片上是只猫,还是一棵树。那这张图片上所有的像素点就是输入,而判断结果就是输出。&/p&&p&那怎么表征这个模型的好坏呢?很简单,大家应该很容易想到,就是把模型输出的答案和正确答案做一下比对,看一下相差多少。&/p&&p&我们一般用下面这个公式(平均平方误差,即MSE)来评估我们的模型好坏。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-8c1ebbf4a1b3_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1606& data-rawheight=&222& class=&origin_image zh-lightbox-thumb& width=&1606& data-original=&https://pic3.zhimg.com/v2-8c1ebbf4a1b3_r.jpg&&&/figure&&p&我们就是通过对比输出结果与预期结果的差异,其中带帽子的yu就是预期的结果(也就是标签值,即是真值),而前面的不带帽子的yu就是实际的输出结果。当训练结果非常好的时候,比如说是全对的时候,平均误差就是0。当训练结果非常差的时候,比如说全错的时候,误差即为1.&/p&&p&于是我们知道了,这个E越小越好,最好变成0.&/p&&p&大家注意下,这个求和的标识,表示是所有的数据的和,而不是一个的数值。我们常说大数据来训练模型,其实这就是大数据。我们训练的时候需要上百万张的图片,最终得出来的误差,就是这里,然后再除以数量,取平均值。&/p&&p&那怎么去降低这个误差呢?要回答这个问题,就涉及到卷积神经网络的核心思想了,也就是反向传播。&/p&&h2&反向传播/梯度下降&/h2&&p&既然讲到机器学习,那当然是让机器自己去通过数据去学习,那机器是如何进行自学习的呢?下面就要敲黑板,划重点了,因为这就是深度学习的重中之重了,也就是机器学习的核心了,理解了这个概念,基本上就理解了一多半了。&/p&&p&这个概念就是反向传播。听名字比较玄乎,其实这个概念大家在高等数学里都接触过这个概念了——梯度,其实也就是求导。&/p&&p&对于一维函数而言,函数梯度下降的方向就是导数的反方向。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-1c18ff5e9f43_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&606& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic1.zhimg.com/v2-1c18ff5e9f43_r.jpg&&&/figure&&p&对于二维函数而言,就是把误差对每个变量求偏导,偏导的反方向即为梯度下降的方向。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-5c5920ccd21c6ba36bbe6_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&626& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic2.zhimg.com/v2-5c5920ccd21c6ba36bbe6_r.jpg&&&/figure&&p&说起来有点抽象,我们举个实例来说明一下。&/p&&p&下面是我们的参数和损失函数的值。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-ec9bf81ff2c_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&888& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic2.zhimg.com/v2-ec9bf81ff2c_r.jpg&&&/figure&&p&我们先对第一个参数加一个极小值,算出新的损失函数。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-73d4438aef9dcfd91d28233a_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&901& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic1.zhimg.com/v2-73d4438aef9dcfd91d28233a_r.jpg&&&/figure&&p&然后用损失函数的变化去除这个极小值,就是这个参数的梯度了。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-afcd56df9bc0_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&893& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic1.zhimg.com/v2-afcd56df9bc0_r.jpg&&&/figure&&p&同样我们可以使用同样的方法去求得其他参数的梯度。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-a0d47ad39247a3aaee6a99_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&883& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic4.zhimg.com/v2-a0d47ad39247a3aaee6a99_r.jpg&&&/figure&&figure&&img src=&https://pic1.zhimg.com/v2-a0f3ae13ff9ca049c4a14f_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&868& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic1.zhimg.com/v2-a0f3ae13ff9ca049c4a14f_r.jpg&&&/figure&&p&只要找到梯度下降的方向,按照方向去优化这些参数就好了。这个概念就是梯度下降。&/p&&p&但是我们知道,我们要训练的参数非常多,数据量也非常大,经常是百万、千万量级的,如果每次都把全部训练数据都重新计算一遍,计算损失函数,然后再反向传播,计算梯度,这样下去,模型的误差优化的非常非常慢。&/p&&p&那有没有更快的方法呢?&/p&&p&当然有了。&/p&&p&这些参数(weights),数量非常多,大概有上百万个,为了保证能够更好、更快的计算,节省算力,一般选用随机梯度下降方法,随机抽取一定数量(即为批量,batch)的样本,去计算梯度值,一般选择32/64/128。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-4e874cea17cdeaa41fdb7b942b6d21cf_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&736& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic2.zhimg.com/v2-4e874cea17cdeaa41fdb7b942b6d21cf_r.jpg&&&/figure&&p&这个方法就是随机梯度下降,这个批量(batch)这也是大家经常要调的参数。&/p&&p&我们可以这样理解随机梯度下降,其核心思想是,梯度是期望。期望可使用小规模的样本近似估计。具体而言,在算法的每一步,我们从训练集中均匀抽出小批量样本来代替全部数据的梯度,因为其梯度期望是一致的。&/p&&p&值得一提是:这些batch中的样本,必须是随机抽取的,否则其期望就准确了。选的批量(batch)的值越小,进行一次参数优化的计算量越小,就越快,但是其随机性会比较大一些,如果选取的批量值比较大,则计算会稍微慢一些,但是随机性会小一些,这是我们需要权衡的。&/p&&p&前向计算一次,反向反馈一下,更新一下参数,叫做一个Epoch.&/p&&p&Epoch的次数也是个超参数,也是需要搭建模型的时候可以调整的参数。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-e82e5cddaecfb9f6e63c08e_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1344& data-rawheight=&791& class=&origin_image zh-lightbox-thumb& width=&1344& data-original=&https://pic3.zhimg.com/v2-e82e5cddaecfb9f6e63c08e_r.jpg&&&/figure&&p&在整个模型中也是类似的。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-bb6f9fd6aabaefa8fd28f1_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&888& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic2.zhimg.com/v2-bb6f9fd6aabaefa8fd28f1_r.jpg&&&/figure&&p&&i&简单总结下,截止到目前,我们已经了解了一些深度学习的基本概念,比如什么是卷积神经网络,了解了反向传播的传播的概念,如何梯度下降的方法去优化误差。&/i&&/p&&p&基本上深度学习是什么回事,大家已经知道了,但是深度学习还需要注意一些细节。有句话说的好,细节就是魔鬼,细节处理的好坏很大程度上决定了你是一个高手,还是一个菜鸟。&/p&&p&&br&&/p&&h2&&b&深度学习之高手进阶&/b&&/h2&&p&我们在进行深度学习的时候一般会按照这4个步骤进行。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-ad9a8000c49cdaf230bac_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&496& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic1.zhimg.com/v2-ad9a8000c49cdaf230bac_r.jpg&&&/figure&&h2&获取数据&/h2&&p&很大程度上,数据的多少决定模型所能达到的精度。再好的模型,没有足够数据,也是白瞎。&/p&&p&对于监督学习而言,需要大量标定的数据。&/p&&p&数据的获取是有成本的,尤其是我们需要的数据都是百万、千万量级的,成本非常高。亚马逊有个专门发布标定任务的平台,叫做Amazon Mechanical Turk.&/p&&p&很多大的数据,比如IMAGENET就是在这上面做label的。&/p&&p&Amazon从中抽取20%的费用,也就是说,需求方发布100美元的任务,得多交20美元给Amazon,躺着也挣钱。&/p&&p&由于数据的获取是有成本的,而且成本很高的。&/p&&p&所以我们需要以尽量低的价格去获得更多的数据,所以,在已经获得数据基础上,仅仅通过软件处理去扩展数据,就是非常重要的,常见的数据扩展的方法见下图。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-f425bece53e7edef60b19d1_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&538& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic4.zhimg.com/v2-f425bece53e7edef60b19d1_r.jpg&&&/figure&&h2&数据预处理-归一化&/h2&&p&为了更好的计算数据,避免出现太大或者太小的数据,从而出现计算溢出或者精度失真,一般在开始做数据处理之前,需要进行归一化处理,就是将像素保持在合理的范围内,如[0,1]或者[-1,1]。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-696e07cd03c0b213dee97862df4dbcc8_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&557& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic4.zhimg.com/v2-696e07cd03c0b213dee97862df4dbcc8_r.jpg&&&/figure&&h2&模型搭建&/h2&&p&除了上面提到的卷积神经网络之外,我们在搭建模型的时候,还需要一些其他层,最常见的是输出控制。&/p&&h2&全连接层Fully-connected&/h2&&p&全连接层,其字面意思就是将每个输入值和每个输出值都连接起来,全连接层的目的其实就是控制输出数量。&/p&&p&比如我们最终分类是有10类,那我们需要把输出控制为10个,那就需要一个全连接层来链接输出层。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-ad4c6f5a691a0b8ae05ed0e853e3b3c7_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&590& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic4.zhimg.com/v2-ad4c6f5a691a0b8ae05ed0e853e3b3c7_r.jpg&&&/figure&&h2&softmax&/h2&&p&我们用数值来表征其可能性大小,数值越大,其可能性越大,有的值可能很大,有的值可能很小,是负的。&/p&&p&怎么用概率来表征其可能性呢?总不能加起来一除吧,但是有负数怎么办呢?全连接之后,我们每个类别得到一个值,那怎么转化表征其可能性的概率呢?我们一般通过softmax来转化。&/p&&p&softmax的目的就是把数值转化给每个标签的概率,就是将最终各个值的得分,转化成各个输出值的概率。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-14e4d1b0252_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&809& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic1.zhimg.com/v2-14e4d1b0252_r.jpg&&&/figure&&h2&独热编码 One-Hot Encoding&/h2&&p&独热编码,又叫做一位有效编码&/p&&p&有多少标签,就转化为多少行的单列矩阵,其本质就是将连续值转化为离散值。&/p&&p&这样可以直接直接将输出值直接输出,得到一个唯一值。&/p&&p&就像一个筛子,只留一个最大值,其他全部筛掉。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-00f633adabb_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&834& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic2.zhimg.com/v2-00f633adabb_r.jpg&&&/figure&&p&我们以LeNet为例串起来看(见下图),输出值经过全连接层,转化为10个标签值,然后经过softmax和one-hot&br&encoding,最终转化为唯一的识别标签值,就是我们想要的结果。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-b0c7c44dd50d1f9d23d5_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&806& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic1.zhimg.com/v2-b0c7c44dd50d1f9d23d5_r.jpg&&&/figure&&h2&客观评价——交叉验证&/h2&&p&讲完输出控制,我们再讲一下评价方法。&/p&&p&我们有一些数据,希望利用现有的数据去训练模型,同时利用这些数据去评价这个模型的好坏,也就是我们需要知道,这个模型的准确率是50%,还是90%,还是99%?&/p&&p&具体怎么去做呢?&/p&&p&最先想到的是,用全部的数据去训练,然后评价的时候,从中抽取一定数量的样本去做验证。这不是很简单嘛?&/p&&p&但是,这样不行。&/p&&p&想像一下,在高考考场上,你打开试卷,看了一眼之后高兴坏了。因为你发现这些试题你之前做练习的时候都做过。&/p&&p&其实是一个道理。如果拿训练过的数据去做验证,那得到的误差率会比实际的误差率要低得多,也就失去了意义。&/p&&p&那怎么办呢?我们需要把训练数据和最终评价的数据(也就是验证数据)要分开。这样才能保证你验证的时候看的是全新的数据,才能保证得到的结果是客观可靠地结果。所以我们会得到两个误差率,一个是训练集的误差率,一个是验证集的误差率,记住这两个误差率,后面会用到。&/p&&p&拿到数据的第一步,先把所有的数据随机分成两部分:训练集和验证集。一般而言,训练集占总数据的80%左右,验证集占20%左右。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-0ee469c2d12a77a429b2d_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&923& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic3.zhimg.com/v2-0ee469c2d12a77a429b2d_r.jpg&&&/figure&&p&训练的时候,随机从训练集中抽取一个批量的数据,去训练,也就是一次正向传播和一次反向传播。&/p&&p&这一轮做完之后,从验证集里随机抽取一定数量来评价下其误差率。&/p&&p&每做一轮学习,一次正向传播一次反向传播,就随机从验证集里抽取一定数量数据来评价其模型的准确率,一轮之后我们获得训练误差率和验证误差率。&/p&&p&接下来就是重点了,就是模型训练。&/p&&h2&模型训练&/h2&&p&实际训练模型的时候,我们会碰到两大终极难题,一个是欠拟合,一个是过拟合。&/p&&p&所谓欠拟合,就是训练误差率和验证误差率都很高。&/p&&p&所谓过拟合,就是训练集的误差率很低,但是验证集的误差率很高。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-493f2288bbfc5c65c5f9ae_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&797& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic1.zhimg.com/v2-493f2288bbfc5c65c5f9ae_r.jpg&&&/figure&&p&欠拟合和过拟合其实跟模型的复杂程度有很大的关系。&/p&&p&比如这张图里面,本来是抛物线的数据,如果用线性模型去拟合的话,效果很很差。如果用9次方模型去拟合的话,虽然训练集表现非常好,但是测试新数据的时候,你会发现表现很差。&/p&&p&欠拟合的原因其实比较简单,就是模型的深度不够,只需要把模型变得复杂一些就能解决。&/p&&p&过拟合的原因就比较多了,一般来说,简单粗暴的增加训练集的数量就能解决这个问题,但是有时候受限于客观条件,我们没有那么多数据。这时候我们就需要调整一些参数来解决过拟合的问题了。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-67a769fc62f09c8e8f435_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&816& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic2.zhimg.com/v2-67a769fc62f09c8e8f435_r.jpg&&&/figure&&p&模型中能调整的参数叫做超参数。&/p&&p&调整这些参数,有时候有道理,有时候又没有道理,更多的是靠的一种感觉。有人说,调整超参数与其说是个科学,其实更像是一项艺术。&/p&&p&常见的调整的超参数有以下几种,下面我们逐项介绍一下。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-e8973bae36ee3c2382ace_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1156& data-rawheight=&867& class=&origin_image zh-lightbox-thumb& width=&1156& data-original=&https://pic4.zhimg.com/v2-e8973bae36ee3c2382ace_r.jpg&&&/figure&&h2&学习率&/h2&&p&上面提到的随机梯度下降中,我们会在梯度的前面加一个系数,我们管它叫做学习率,这个参数直接影响了我们误差下降的快慢。&/p&&p&当我们遇到问题的时候,先尝试调整下学习率,说不定就能解决问题。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-3b5f2ece4aae7b2cc569fd1_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1569& data-rawheight=&1012& class=&origin_image zh-lightbox-thumb& width=&1569& data-original=&https://pic2.zhimg.com/v2-3b5f2ece4aae7b2cc569fd1_r.jpg&&&/figure&&p&选择一个合适的学习率可能是困难的。学习率太小会导致收敛的速度很慢,学习率太大会妨碍收敛,导致损失函数在最小值附近波动甚至偏离最小值。下面这张图比较好的说明了学习率高低对模型误差下降的影响。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-cadf3a87bdd764cda9f8e3df46486c17_b.jpg& data-caption=&& data-size=&small& data-rawwidth=&1119& data-rawheight=&976& class=&origin_image zh-lightbox-thumb& width=&1119& data-original=&https://pic4.zhimg.com/v2-cadf3a87bdd764cda9f8e3df46486c17_r.jpg&&&/figure&&h2&冲量Momentum&/h2&&p&冲量的概念其实就是在梯度下降的时候,把上次的梯度乘以一个系数pho,加上本次计算的梯度,然后乘以学习率,作为本次下降用的梯度。pho一般选取0.9或者0.99。其本质就是加上了之前梯度下降的惯性在里面,所以叫做冲量。&/p&&p&有时候会采用冲量(momentum)能够有效的提高训练速度,并且也能够更好的消除SGD的噪音(相当于加了平均值),但是有个问题,就是容易冲过头了,不过总体来说,表现还是很不错的,一般用的也比较多。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-0dfe25a4aec0f6e5c0c022_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1614& data-rawheight=&659& class=&origin_image zh-lightbox-thumb& width=&1614& data-original=&https://pic2.zhimg.com/v2-0dfe25a4aec0f6e5c0c022_r.jpg&&&/figure&&p&下面这两张图也能看出来,SGD+冲量能够有效的加快优化速度,还能够避免随机的噪音。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-987cdbf1a45cce44e800df_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&600& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic2.zhimg.com/v2-987cdbf1a45cce44e800df_r.jpg&&&/figure&&h2&轮数epochs&/h2&&p&前面提到,一次正向传播,一次反向传播就是一轮,也就是一个epoch。&/p&&p&一般来说,轮数越多,其误差会越好,但是当学习的越多的时候,他会把一些不太关键的特征作为一些重要的判别标准,从而出现了过拟合。如果发现这种情况(下图),我们需要尽早停止学习。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-6e3cb0f28ad30f056e900_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&943& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic4.zhimg.com/v2-6e3cb0f28ad30f056e900_r.jpg&&&/figure&&h2&参数初始化(weights initialization)&/h2&&p&对于模型的所有参数,我们均随机进行初始化,但是初始化的时候我们一般会让其均值为0,公差为sigma,sigma一般选择比较大,这样其分散效果比较好,训练效果也比较好。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-9e026d489b019eb9034e82_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&1439& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic4.zhimg.com/v2-9e026d489b019eb9034e82_r.jpg&&&/figure&&p&但是有时候仅仅调整超参数并不能解决过拟合的问题,这时候我们需要在模型上做一些文章,在模型上做一些处理,来避免过拟合。&/p&&h2&Dropout&/h2&&p&最常见的方法就是dropout.&/p&&p&drop的逻辑非常简单粗暴,就是在dropout过程中,有一半的参数不参与运算。&/p&&p&比如说公司里,每天随机有一般人不来上班,为了正常运转,每个岗位都需要有好几个人来备份,这样公司就不会过于依赖某一个人,其实是一个道理。&/p&&p&dropout的本质是冗余。为了避免过拟合,我们需要额外增加很多冗余,使得其输出结果不依赖于某一个或几个特征。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-e19b5ed3a_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&857& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic1.zhimg.com/v2-e19b5ed3a_r.jpg&&&/figure&&h2&Pooling池化&/h2&&p&除此之外,池化也是比较常用到的。&/p&&p&Pooling主要的作用为降维,降维的同时能够保留主要特征,能够防止过拟合。&/p&&p&Pooling主要有两种:一种是最大化Pooling,还有一中是平均池化。&/p&&p&最大池化就是把区域的最大值传递到下一层(见下图),平均池化就是把区域内的平均值传递到下一层。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-afd83e56ee9acc725aa45b66597dfc06_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&1001& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic2.zhimg.com/v2-afd83e56ee9acc725aa45b66597dfc06_r.jpg&&&/figure&&p&一般在Pooling之后会加上一个1x1的卷积层,这样能够以非常低的成本(运算量),带来更多的参数,&/p&&p&更深的深度,而且验证下来效果也非常好。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-be4df5455a78abd2dbad9c_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&858& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic1.zhimg.com/v2-be4df5455a78abd2dbad9c_r.jpg&&&/figure&&p&接下来我们可以分析下Lenet的数据,看的出来是卷积—&池化—&卷积—&池化—&平化(Flatten,将深度转化为维度)—&全连接—&全连接—&全连接。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-4cfd34bbd4b0cb0b8c378_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&1130& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic1.zhimg.com/v2-4cfd34bbd4b0cb0b8c378_r.jpg&&&/figure&&p&下面这个模型也比较简单,经过多层卷积、池化之后,平化,然后经过softmax转化。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-2acea06f904_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&692& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic4.zhimg.com/v2-2acea06f904_r.jpg&&&/figure&&p&&i&截止到目前,我们又了解了训练模型所需要的技巧,如获取数据、预处理数据、模型搭建和模型调试,重点了解了如何防止过拟合。&/i&&/p&&p&恭喜你,现在你已经完全了解了深度学习的全部思想,成功晋级成深度学习高手了~&/p&&p&接下来我们看下深度学习的发展趋势。&/p&&p&&br&&/p&&h2&&b&深度学习发展趋势&/b&&/h2&&p&目前深度学习在图像识别领域取得了很多突破,比如可以对一张图片多次筛选获取多个类别,并标注在图片上。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-da4ea9dabbdec27e7b5a805e3abf236b_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&1318& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic2.zhimg.com/v2-da4ea9dabbdec27e7b5a805e3abf236b_r.jpg&&&/figure&&p&还可以进行图像分割。&/p&&p&在做图像分割标注的时候,难度很大,需要把每个类别的范围用像素级的精度画出来。这对标注者的素质要求很高。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-b4707b8ddae_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&767& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic4.zhimg.com/v2-b4707b8ddae_r.jpg&&&/figure&&p&还可以根据图像识别的结果直接生成语句。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-a87fb852a09a2f6b5ca7456bac76f083_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&1080& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic2.zhimg.com/v2-a87fb852a09a2f6b5ca7456bac76f083_r.jpg&&&/figure&&p&Google翻译可以直接将图片上的字母翻译过来,显示在图片上,很厉害。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-fc267e91e7dd9e2a350c236c71904e83_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&644& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic2.zhimg.com/v2-fc267e91e7dd9e2a350c236c71904e83_r.jpg&&&/figure&&p&最近媒体上很多新闻,说人工智能可以作诗,写文章,画画等等,这也都是比较简单的。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-269e064bbbda0e_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&870& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic2.zhimg.com/v2-269e064bbbda0e_r.jpg&&&/figure&&p&但是当前图像识别领域还存在一些问题,最大的就是其抗干扰能力比较差。&/p&&p&下图中左侧的图片为原始图片,模型可以轻易识别,但是人工加上一些干扰之后,对于肉眼识别不会造成干扰,但是会引起模型的严重误判。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-e0cee8d5c9e8580fb2bcc0b_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&891& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic3.zhimg.com/v2-e0cee8d5c9e8580fb2bcc0b_r.jpg&&&/figure&&p&这种情况可能会在某些很重要的商业应用中带来一些风险,比如在自动驾驶的物体识别时,如果有人故意对摄像头造成干扰,就会引起误判,从而可能会引起严重后果。&/p&&p&深度学习在自动驾驶领域有比较多的应用,下面是我做自动驾驶项目中的视频。&/p&&p&车辆识别:&/p&&a class=&video-box& href=&https://link.zhihu.com/?target=https%3A//www.zhihu.com/video/446080& target=&_blank& data-video-id=&& data-video-playable=&true& data-name=&& data-poster=&https://pic4.zhimg.com/80/v2-6acff6bc598cf85a4d4a653_b.jpg& data-lens-id=&446080&&
&img class=&thumbnail& src=&https://pic4.zhimg.com/80/v2-6acff6bc598cf85a4d4a653_b.jpg&&&span class=&content&&
&span class=&title&&&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&https://www.zhihu.com/video/446080&/span&
&p&行为克隆:&/p&&a class=&video-box& href=&https://link.zhihu.com/?target=https%3A//www.zhihu.com/video/943360& target=&_blank& data-video-id=&& data-video-playable=&true& data-name=&& data-poster=&https://pic1.zhimg.com/80/v2-e2d2f26fc64_b.jpg& data-lens-id=&943360&&
&img class=&thumbnail& src=&https://pic1.zhimg.com/80/v2-e2d2f26fc64_b.jpg&&&span class=&content&&
&span class=&title&&&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&https://www.zhihu.com/video/943360&/span&
&p&下图为加特纳技术曲线,就是根据技术发展周期理论来分析新技术的发展周期曲线(从1995年开始每年均有报告),以便帮助人们判断某种新技术是否采用。其把技术成熟经过5个阶段:1是萌芽期,人们对新技术产品和概念开始感知,并且表现出兴趣;2是过热期,人们一拥而上,纷纷采用这种新技术,讨论这种新技术;3是低谷期,又称幻想破灭期。过度的预期,严峻的现实,往往会把人们心理的一把火浇灭;4是复苏期,又称恢复期。人们开始反思问题,并从实际出发考虑技术的价值。相比之前冷静不少;5是成熟期,又称高原期。该技术已经成为一种平常。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-4f13b15aeb602ed6d4b7a6_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&1148& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic4.zhimg.com/v2-4f13b15aeb602ed6d4b7a6_r.jpg&&&/figure&&p&当前机器学习和自动驾驶就处在过热期。&/p&&p&说到底,人工智能其实就是一种工具而已,只不过这项工具能做的事情多了一些而已。&/p&&p&未来人工智能会融入到生活中的方方面面,我们不可能阻挡这种趋势,所以我们唯一能做的,就是好好利用好这个工具,让未来的工作和生活更加方便一些。&/p&&p&送大家一句话:&/p&&figure&&img src=&https://pic3.zhimg.com/v2-a189b6acaece_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&324& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic3.zhimg.com/v2-a189b6acaece_r.jpg&&&/figure&&h2&&b&关于人工智能威胁论&/b&&/h2&&p&当前有些媒体在肆意宣扬人工智能威胁论,这其实是毫无道理的。&/p&&p&&b&当人类对自己不了解的事物会本能的产生恐惧,越是不了解,越是会产生恐惧。&/b&&/p&&p&大家今天看下来,是不是也觉得人工智能也没啥。&/p&&p&其实就是因为了解了,所以才不会恐惧。我们只有了解他,才能更好的利用好它。&/p&&p&当前有部分无良媒体以及所谓的专家,在传播人工智能威胁论。&/p&&p&其实所谓的专家根本就不是这个领域的专家,如果他不是这个领域的专家,那他对这个话题其实就没有话语权,他说话的分量就跟一个普通人说的没什么区别。&/p&&p&流传比较广的,比如说某个坐在轮椅上的英国物理学家,对,没错,我说的就是霍金。&/p&&p&还有某国际著名新能源汽车公司的CEO,对,我说的就是Elon Musk。&/p&&p&他们对人工智能其实也完全是一知半解。&/p&&p&相信大家今天看完这篇文章之后,对人工智能的理解就可以秒杀他们了。&/p&&p&最近看到吴军的一句话,来解释人工智能威胁论,觉得非常恰当。&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&说一下人工智能的边界:
1. 世界上有很多问题,其中只有一小部分是数学问题;
2. 在数学问题中,只有一小部分是有解的;
3. 在有解的问题中,只有一部分是理想状态的图灵机可以解决的;
4. 在后一类的问题中,又只有一部分是今天实际的计算机可以解决的;
5. 而人工智能可以解决的问题,又只是计算机可以解决问题的一部分。
&/code&&/pre&&/div&&p&&br&&/p&&p&最后分享一下学习资料:&/p&&ol&&li&Stanford CS231n课程:&a href=&https://link.zhihu.com/?target=http%3A//cs231n.stanford.edu/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&cs231n.stanford.edu/&/span&&span class=&invisible&&&/span&&/a&&/li&&li&MIT自动驾驶课程:&u&&a href=&https://link.zhihu.com/?target=https%3A//selfdrivingcars.mit.edu/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&https&/a&&a href=&https://link.zhihu.com/?target=https%3A//selfdrivingcars.mit.edu/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&://&/a&&a href=&https://link.zhihu.com/?target=https%3A//selfdrivingcars.mit.edu/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&selfdrivingcars.mit.edu&/a&&a href=&https://link.zhihu.com/?target=https%3A//selfdrivingcars.mit.edu/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&/&/a&&/u&&/li&&li&Deep Learning书籍: &a href=&https://link.zhihu.com/?target=http%3A//deeplearningbook.org/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&http://deeplearningbook.org&/a&&/li&&li&Foundational papers: &a href=&https://link.zhihu.com/?target=http%3A//deeplearning.net/reading-list& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&deeplearning.net/readin&/span&&span class=&invisible&&g-list&/span&&span class=&ellipsis&&&/span&&/a&&/li&&li&快速上手 &a href=&https://link.zhihu.com/?target=http%3A//www.fast.ai/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&fast.ai/&/span&&span class=&invisible&&&/span&&/a&&/li&&li&图解机器学习 &a href=&https://link.zhihu.com/?target=http%3A//www.r2d3.us/visual-intro-to-machine-learning-part-1/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&r2d3.us/visual-intro-to&/span&&span class=&invisible&&-machine-learning-part-1/&/span&&span class=&ellipsis&&&/span&&/a&&/li&&/ol&&p&最后的最后,附上一个段子图,下排中间一脸虎视眈眈、苦大仇深、表情凝重的哥们,就是我们念叨的机器学习大神——Yann Lecun,目前是Facebook AI试验室的负责人。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-bfa4fda961_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1729& data-rawheight=&1213& class=&origin_image zh-lightbox-thumb& width=&1729& data-original=&https://pic3.zhimg.com/v2-bfa4fda961_r.jpg&&&/figure&&p&最后,大家都看到这里了,请求大家关注下我的专栏和公众号“聊聊汽车那些事儿”不过分吧~&/p&&p&&br&&/p&&p&&b&想获取本次分享的完整报告吗?&/b&&/p&&p&&b&关注公众号“聊聊汽车那些事儿”后,后台回复“人工智能”即可获得报告下载链接。&/b&&/p&&p&&br&&/p&&p&最后的最后,我新开了个专栏“良言不苦口”,在里面分享我所思所想所学所获的总结和汇总,大家相互勉励,共同进步,欢迎关注,不胜惶恐。&/p&&p&&br&&/p&&p&&br&&/p&&p&谢谢大家阅读。&/p&&p&&/p&&p&&/p&&p&&/p&&p&&/p&&p&&/p&&p&&/p&&p&&/p&&p&&/p&&p&&/p&&p&&/p&&p&&/p&&p&&/p&&p&&/p&&p&&/p&&p&&/p&&p&&/p&&p&&/p&&p&&/p&
本文共9876字,阅读约需14分钟。 近期在公司内部做了一个关于人工智能/深度学习相关的主题分享讲座,为了准备这个演讲,我花了100个小时左右,接下来就把精心准备的内容分享给大家。有一个好消息是,考虑文章比较长和文字本身表达的局限性,同时为了解答大…
我来回答一些题主吧,题主你说你觉得学C语言学的很痛苦,我觉得应该是你没有融入进去,可能因为你们老师的影响,他没有很好的帮你打开编程之门。&br&
本人今年大二,大一的时候也和你一样经历了类似的困惑,感觉老师讲的一般,都是传术,而不是传道,只是简单的介绍语法定义,而并没有从设计语言的角度去讲解,当时上课也是一度很迷茫。&br&
后来朋友给我推荐了网课,浙大翁恺老师讲的,当时听着个课真的是耳目一新的感觉,翁恺老师思路清晰,循循善诱,很多的知识点在之前的小例子里已经埋下伏笔,不知不觉发现自己接受新知识的速度也变快了,个人感觉翁恺老师讲的角度是占在一定高度去看待C的,从设计语言的角度是讲C的,而并不是在某些细节做过多的讨论,这种思路很适合初学者,一直听翁恺老师的课听到指针,发现有点难懂了。&br&
然后又看了看西工大姜学峰老师的视频,这个老师讲的很深,有很多超前的知识,你会一下子感觉对问题的理解有了深刻的认识,比如函数是怎么调用的,函数在调用的时候,函数栈帧是怎么变化的?程序加载到内存里,变成程序映像,过程是怎么样的?不同类型的变量,加不加static,在内存里的位置是不同的,它们都在什么位置?为什么初始化i为char *i=“hello”之后,不能写*i='b' ; ?初始化和赋值有什么不一样?为什么运算符有副作用和值?这些姜学峰老师都会讲,他在讲逻辑运算符&&和||的时候,也讲了布尔代数,在之后学字符串的时候也讲了KMP算法,当然只是大概讲了讲思想,但是很有启发,还讲了些贪心算法,动态规划的小知识,这些如何用C去实现,翁恺老师在讲原码,补码,反码的时候,也讲了这些码制引入的真正含义——解决计算机对负数的处理,让计算机可以以加法的方式去处理减法。这些让我逐渐感觉到编程的乐趣,和C语言的魅力,这两个老师讲的深度已经远远超过我们学校的要求水平了(学校HDU,非双一流,所以对学生的难度不高),但是我依旧学的不亦乐乎,像一个第一次看见海的孩子,开心的捡起海边的珍珠,不肯撒手。&br&
之后又看了哈工大苏小红老师的C语言课,从她的课里我知道了什么叫“缓冲区溢出”以及“缓冲区溢出攻击”,知道了gets()函数是不安全的(从此再也没用过gets)。&br&
最后我想说,其实网络上的资源真的很丰富,有很多厉害的老师,对于刚刚接触编程的人来说,选一个好的老师入门,某种程度上真的很重要。其实我还是很感谢各种MOOC的,如果没有它们,我在这种普通大学里拿着还是ANSI C的教材学习二十几年前的技术,MOOC某种程度上确实打开了我的思维。&br&
我认为好的老师应该是承上启下的,他不仅仅教你目前的知识,还会帮你展望下未来。从这些老师的课上学到的一些东西,帮我打开了视野,比如各种码制的转换,编码的思想,使我对数字电路接受起来变得容易了一些,学习C的时候讲的一些算法思想,比如KMP,这些在数据结构里也会用到,等学习数据结构的时候就不会那么陌生了。所以,我觉得题主你之所以很烦恼,可能是因为你没有找到一个合适的点,然后融进去,我觉得你要是觉得你们老师讲的不好,完全可以自学+MOOC。&br&
其实我认为悟道比悟术重要的多,理解一种思想,在才是本质,有了这种思想,类比迁移,很多东西接受的都很快。比如C是面向过程的语言,它的这种面向过程的思想,以及之后要学的C++的那种面向对象的思想,这种思想其实才是一种大一统,具体的语言语法,不过是这种思想的具体阐述罢了。一些自己的小建议,希望能帮到你。
我来回答一些题主吧,题主你说你觉得学C语言学的很痛苦,我觉得应该是你没有融入进去,可能因为你们老师的影响,他没有很好的帮你打开编程之门。 本人今年大二,大一的时候也和你一样经历了类似的困惑,感觉老师讲的一般,都是传术,而不是传道,只是简单的…
&figure&&img src=&https://pic2.zhimg.com/v2-f29f7f01d87d9d1b52adb1bf99b34379_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&800& data-rawheight=&600& class=&origin_image zh-lightbox-thumb& width=&800& data-original=&https://pic2.zhimg.com/v2-f29f7f01d87d9d1b52adb1bf99b34379_r.jpg&&&/figure&&hr&&figure&&img src=&https://pic2.zhimg.com/v2-735cf25fcc0e41e244e03ab961d3b011_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1790& data-rawheight=&1000& class=&origin_image zh-lightbox-thumb& width=&1790& data-original=&https://pic2.zhimg.com/v2-735cf25fcc0e41e244e03ab961d3b011_r.jpg&&&/figure&&p&你看看我是怎么学习编程的。比如上图的if else&/p&&p&你参考一下思维导图。等等吧。&/p&&hr&&p&什么,你说上图不会动?你要动图,ppt,好,我给你做&/p&&figure&&img src=&https://pic3.zhimg.com/v2-2fdbb34e3f0cc0f7678d2_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&979& data-rawheight=&418& class=&origin_image zh-lightbox-thumb& width=&979& data-original=&https://pic3.zhimg.com/v2-2fdbb34e3f0cc0f7678d2_r.jpg&&&/figure&&p&学编程一定要图形化。&/p&&p&回答的这么好,楼主你居然不给我点赞,点感谢。对得起我吗?&/p&&p&再这样,以后没人给你回答问题了。&/p&&hr&&figure&&img src=&https://pic4.zhimg.com/v2-b14baaa59ec178f71243_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&422& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic4.zhimg.com/v2-b14baaa59ec178f71243_r.jpg&&&/figure&&p&&br&&/p&&hr&&figure&&img src=&https://pic1.zhimg.com/v2-57f796dba875005accd5ec_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1886& data-rawheight=&1138& class=&origin_image zh-lightbox-thumb& width=&1886& data-original=&https://pic1.zhimg.com/v2-57f796dba875005accd5ec_r.jpg&&&/figure&&figure&&img src=&https://pic2.zhimg.com/v2-c66ead90b593aa8a5b80bb6f7e763f01_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1953& data-rawheight=&1360& class=&origin_image zh-lightbox-thumb& width=&1953& data-original=&https://pic2.zhimg.com/v2-c66ead90b593aa8a5b80bb6f7e763f01_r.jpg&&&/figure&&p&&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&【思维导图】Python 编程:核心知识体系&/a&&/p&&p&请你看看这个。虽然并不是我写的。我也不赞同他说的每一句话,但是学习一下,人家的画图。你自己感觉她的思路,你也画一画。没准就进步了。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-96aa902b2eda23af62e749_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&801& data-rawheight=&535& class=&origin_image zh-lightbox-thumb& width=&801& data-original=&https://pic2.zhimg.com/v2-96aa902b2eda23af62e749_r.jpg&&&/figure&&hr&&p&再放一张,不知道对你有没有用。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-7e514c8da78a54a4a6dc7a1_b.jpg& data-cap

我要回帖

更多关于 怎么样检测电脑配置 的文章

 

随机推荐