Python社区  »  机器学习算法

还说不会深度学习,三招帮你“炼丹”成功

机器学习初学者 • 1 周前 • 15 次点击  

深度学习领域发展仍是火热朝天,众多方向门派百花齐放,CV和NLP领域一直是高手云集,Transformer最近异军突起,卷起一片波澜,其他众多领域,包括:迁移学习、强化学习、集成学习等,也有着各派的掌舵人。显而易见,这一众深度学习大佬无不是各派“武功”的集大成者,都有着自己的一套“深度学习炼丹”秘笈,简单罗列一些,真实看得人眼花缭乱。

学完这些“秘笈”,你必然有一种“神功在手,天下我有”的错觉。自我感觉是,深度学习不就是conv(卷积)、pooling(池化)、optimizer(优化器)、loss function(损失函数)等等吗……依照着“秘笈”构建自己的网络模型:3x3卷积核简单易用,数据特征提取简洁且高效;后面接着池化层,训练数据量瞬间减少一半;这优化器,当然选用Adam,快且准地击中目标;损失函数交叉熵当仁不让。看看自己涉及的这套网络模型,感觉深度真的是简单的很。

这不,当你迫不及待的开启自己深度学习“炼丹”道路,却发现简直是“蜀道难,难于上青天”啊!

啥,卷积不就是模版匹配、特征提取嘛,后面的转置卷积(transposed conv)、空洞卷积(dilated conv)、分组卷积(group conv)等等都是啥呀……

网络模型代码实现又是一堆坑,怎么导入不同格式的数据,怎么定义网络结构,怎么调用优化器和损失函数,怎么可视化网络模型输出结果,怎么调用GPU进行模型加速。。。。。。各种模型模块配置好了,结果一运行,还是报出一堆错误。。。

仅仅是这些问题吗?那你就小瞧深度学习了。

在算法模型推陈出新,模型越堆越深、模块越来越复杂,还是AlexNet那类模型的简单易懂。。。

所以,到底怎样才算是正式入门深度学习呢?


1.夯实基础,练就“内功”



要夯实基础理论,必然需要研究理论的发展起源。咱们从人工智能的发展历史开始研究,逐步进入到机器学习和神经网络的阶段,并且结合计算机视觉和自然语言这两大应用方向具体分析理论知识,这样学习之后,理论知识才能愈发记得牢固,才能应用自如。

掌握知识发展脉络后,进一步研究神经网络和卷积神经网络。这里,主要是反向传播算法、感知机、神经网络算法;结合人类视觉系统的类比,对卷积运行进行详细而又形象的分析阐述。

最后一块理论知识,就是算法优化和调参了,包括:模型的分析和验证、指标的设计和选择、模型偏差的计算、以及模型具体的优化策略选取。




2.选用Pytorch,磨刀不误砍柴工



俗话说得好,重剑无锋,PyTorch就是这把“重剑”,有了上面理论知识加持,咱们就应该手握这把“重剑”披荆斩棘。

PyTorch这把重剑简单易用,提供了基本的Tensor对象,以及提供了许多预处理、优化器、损失函数、网络模型模块,这样我们可以顺手拈来,结合TensorBoard,可以高效的可视化咱们“炼丹”的过程和结果。此外,PyTorch还支持并行操作,利用多GPU加速训练。




3.实践磨炼,练就本领



到这里,咱们武功已经小有成就,需要到真实场景下学习具体的“武术技巧”----也就是在深度学习不同领域中实践学习。

这里,主要给出两个著名的领域:CV领域、NLP领域。

CV领域中的分类、识别都是重要的“武术技巧”,具体有Faster RCNN、YOLO系列、U-Net系列等等。

在实践NLP领域之前,咱们首先需要掌握基本的循环神经网络(RNN)的知识,涉及RNN算法、LSTM模型和GRU的介绍。接着就是NLP中文本分类表示的具体实践。

实践完这两块领域之后,咱们基本具备独立深度学习“炼丹”的武艺了!





深蓝学院开设了《深度学习:理论与实践》课程,深度学习三步走的秘籍一套打包领走!

实践项目





>左右滑动查看更多<

课程大纲

你能收获

a.充分理解相比于经典的神经网络,深度神经网络强大的表示学习能力;

b.掌握经典的深度神经网络模型(CNN,RNN,LSTM)思想原理;

c.学会使用深度学习解决实际任务,及解决任务的整体流程;

d.熟悉当下主流的深度学习框架Pytorch,并通过该框架做CV及NLP领域的实践。

精彩课程
扫码添加育心,备注【秘籍
快速通过好友

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/121361
 
15 次点击  
分享到微博