《阿里云天池大赛赛题解析(深度学习篇)》导读

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 时隔一年左右,天池团队在之前机器学习篇的基础上又推出了深度学习篇,同样第一时间收到了作品。抱着学习的心态仔细的阅读了下,也再次感觉受益匪浅,配合之前的机器学习篇,两本书在算法的介绍和赛题的介绍上形成了闭环,如果都能够把里面的知识点搞懂则可以在算法设计领域达到较高的水平。以下是对于深度学习篇的一个简单导读。

前言

时隔一年左右,天池团队在之前机器学习篇的基础上又推出了深度学习篇,同样第一时间收到了作品。抱着学习的心态仔细的阅读了下,也再次感觉受益匪浅,配合之前的机器学习篇,两本书在算法的介绍和赛题的介绍上形成了闭环,如果都能够把里面的知识点搞懂则可以在算法设计领域达到较高的水平。以下是对于深度学习篇的一个简单导读。

深度学习和机器学习的区别

其实对于两者的区分并不用太过关心,严格的来说深度学习也是机器学习的一部分。目前来说,通常把涉及神经网络的算法包括FNN、CNN或RNN等称为深度学习算法,而传统的一些算法包括常见的XGBoosting或者LightGBM等通常称为机器学习算法。从场景上来说,深度学习通常被用在图像、视频和自然语言的场景,机器学习通常被用在结构化数据上,当然场景之间的边界也并不是那么清晰,比如Tabnet网络,属于典型的深度学习算法,但是经常被用在处理结构化数据,并且效果非常不错。当然从本书的角度来说,因为是结合赛题来进行介绍,因此场景集中在自然语言处理、视频和图像三个场景。

本书的使用方法

本书的编写方式是结合案例的实战教学,采用的都是天池比赛的真题数据,由于侧重于深度学习的关系,对于数值挖掘的场景并没有进行介绍。因此相对还是要一些基本功才能更好的读通书里的案例,这个基本功包括两部分:

(1) 基本的数学知识

很多人觉得机器学习很难,深度学习更难,被数学知识吓得不敢靠近。其实没有必要有惧怕的心理,从数学知识上来讲,从事应用或者竞赛的数学水平为,线性代数的基础知识,高等数学微积分的基础知识,所需要的深度仅仅为基础(当然如果要自己发明算法,这对数学有极高要求,这里不展开)。这些基础知识的作用是用来理解算法的原理,事实上pytorch、Tensorflow乃至国产的Paddle框架都已经把算法写好了,基础知识是帮助更好的辨别在不同场景下如何选择最合适的算法。

(2)基本的代码技能

本书由于是采用案例教学,是实战的方向。因此出现大量的代码,需要有基本的代码技能才能看懂,目前数据竞赛通用的语言为Python和R语言,其中Python又占了绝大多数。但同样不用因为不懂代码而恐惧,事实上数据科学的代码水平要求并不高。大约是基础水平偏上一点点而已,学习周期2个月基本可以入门看懂书里的代码。唯一要做的是多动手做实验。

(3)机器学习原理

本书并没太多介绍传统的机器学习知识,因为之前单独出版过机器学习篇的缘故。完全从深度学习入门并非完全不可能,但是有难度,因为包括损失函数、误差指标、超参数这些概念上机器学习和深度学习是类似的,从传统机器学习入门,深入理解1种或2种基础模型比如线性回归或者逻辑回归能够深入的理解这些概念的原理。进一步到深度学习的理解方面,只需要关注神经网络的原理,而不必再同时去学习通用概念给自己的学习增加难度。

竞赛套路的学习

目前的竞赛中,基本都是使用多模融合的套路。在竞赛体系的不断发展之下,多模融合甚至成为了独立的一个子学科,并且有专门的论文来研究融合的方法。可能学习完本书后参加实战发现成绩并没有那么好,那是因为本书还是以介绍单套模型的原理和应用为主,并没有对多模融合进行展开。

从学习的角度来说,个人是建议从基础做起,跟随书里的解决方法进行实验,逐步提升自己的水平。不宜直接对标竞赛结果,当自己水平逐步到天花板后,自然而然的会去找新的方法和技术来突破这个天花板,因此,起点放低,但是保持持续性是最好的学习方法。步骤如下:

(1)学习数据的处理方式

所有场景不管是不是竞赛,数据的处理都是第一步,这个阶段很烦,但是必须要掌握。深度学习的数据处理比机器学习更复杂一些,比如CNN、RNN、LSTM等模型对于数据输入的形状都有一定的要求,并且这个形状至关重要,是整个挖掘过程中绕不开的坎。唯有通过反复研究、琢磨、实验、失败、改进的过程才能最终掌握处理技术,在这个阶段,唯一的目标是把模型跑通并且能够顺利运行。

(2)比较不同模型的效果

特别是CNN,有大量的前人的经验可以供使用,也有很多的预训练模型。在自己能够跑通1到2个模型后,这个阶段可以迅速铺开,了解目前常用的CNN模型种类和背景,进而了解大致的网络结果,比如VGG16、VGG19、Resnet、Efficient Net等。比较不同网络的区别包括结构、实验中的分类效果,是否已经被更好的网络淘汰等。这个阶段对于技术的提升非常大,有条件的话自己实施一些现成的网络结构,只要能够跑通,没有结果也并没有什么关系。

(3)超参数的调参和优化器

在模型跑通后,往更细节里抠参数的优化成为了竞赛中取得好成绩的必经阶段。超参数的调节方面有三种方式,从学习的角度可以自己随意的在实验中调节尝试,研究不同的参数调节后对于训练结果的影响,对于不同参数的特性大致有一个概念。实际运用中,可以关心各种自动化调参工具,采用网格搜索或者随机搜索的方式,通俗来说,其实就是服务器对模型的参数做穷举法或者是一定规律范围内的穷举法。

优化器方面,可以关注文献,现成的如SGD、Adam这些是比较常用的,可以通过查阅文档的方式了解其中的原理和使用场景。最佳的方式是通过看不同比赛的解决方案,了解大部分的选手的选择。在自己做题实施的时候,保持这方面的知识能够跟上主流节奏即可。

(4)多模融合

以上几步都做到之后自然而然的会因为单套模型竞赛成绩不佳而延伸到多模融合的学习阶段。融合的方法从简单的算术平均,加权平均到更先进的方法有非常多的种类,到这一阶段,对于数据挖掘的理解已经比较深入了,在竞赛中对于赛题的处理和操作也已经抠的非常细致了。多模融合所要做的就是降低偏差、减低方差,如果偏差已经低到难以进一步突破,则因为竞赛的关系降低方差。所要做的就是反复尝试,特别是深度学习的各种场景,模型的训练所需要的时间都比较长,再去训练多套模型,融合,进一步迭代,需要投入不少的时间。如果不是以竞赛为目的则浅尝即止即可,如果是以竞赛获奖为目的,则最好通过团队合作的方式进行,加上坚持死磕的心态。

总结

本书的内容覆盖以上学习步骤的前3步,内容非常的丰富和全面,足够作为教材学习采用。最后提供的建议就是,如果有可能,把本书的上一本机器学习篇一起买来学习。另外,掌握好基础学习和全面铺开的时间点,对于基本功,放慢脚步把基础打实,对于不同模型种类和神经网络结构,则并行推进快速学习实验。

目录
相关文章
|
5天前
|
机器学习/深度学习 人工智能 弹性计算
阿里云GPU服务器全解析_GPU价格收费标准_GPU优势和使用说明
阿里云GPU云服务器提供强大的GPU算力,适用于深度学习、科学计算、图形可视化和视频处理等场景。作为亚太领先的云服务商,阿里云GPU云服务器具备高灵活性、易用性、容灾备份、安全性和成本效益,支持多种实例规格,满足不同业务需求。
|
19天前
|
存储 弹性计算 NoSQL
"从入门到实践,全方位解析云服务器ECS的秘密——手把手教你轻松驾驭阿里云的强大计算力!"
【10月更文挑战第23天】云服务器ECS(Elastic Compute Service)是阿里云提供的基础云计算服务,允许用户在云端租用和管理虚拟服务器。ECS具有弹性伸缩、按需付费、简单易用等特点,适用于网站托管、数据库部署、大数据分析等多种场景。本文介绍ECS的基本概念、使用场景及快速上手指南。
60 3
|
7天前
|
机器学习/深度学习 人工智能 自动驾驶
深入解析深度学习中的卷积神经网络(CNN)
深入解析深度学习中的卷积神经网络(CNN)
21 0
|
30天前
|
域名解析 网络协议
非阿里云注册域名如何在云解析DNS设置解析?
非阿里云注册域名如何在云解析DNS设置解析?
|
1月前
|
机器学习/深度学习 人工智能 算法
揭开深度学习与传统机器学习的神秘面纱:从理论差异到实战代码详解两者间的选择与应用策略全面解析
【10月更文挑战第10天】本文探讨了深度学习与传统机器学习的区别,通过图像识别和语音处理等领域的应用案例,展示了深度学习在自动特征学习和处理大规模数据方面的优势。文中还提供了一个Python代码示例,使用TensorFlow构建多层感知器(MLP)并与Scikit-learn中的逻辑回归模型进行对比,进一步说明了两者的不同特点。
63 2
|
1月前
|
弹性计算 网络协议 Ubuntu
如何在阿里云国际版Linux云服务器中自定义配置DNS
如何在阿里云国际版Linux云服务器中自定义配置DNS
|
1月前
|
弹性计算 负载均衡 网络协议
内部名称解析设置阿里云私有 DNS 区域,针对于阿里云国际版经验教程
内部名称解析设置阿里云私有 DNS 区域,针对于阿里云国际版经验教程
|
2月前
|
机器学习/深度学习 Java API
阿里云文档智能解析——大模型版能力最佳实践与体验评测
阿里云文档智能解析(大模型版)在处理非结构化数据方面表现优异,尤其是在性能和可扩展性上具有明显优势。虽然存在一些待完善之处,但其强大的基础能力和广泛的适用场景使其成为企业数字转型过程中的有力助手。随着技术的不断进步和完善,相信它会在更多领域展现出更大的价值。
140 5
阿里云文档智能解析——大模型版能力最佳实践与体验评测
|
22天前
|
运维 Cloud Native 持续交付
云原生技术解析:从IO出发,以阿里云原生为例
【10月更文挑战第24天】随着互联网技术的不断发展,传统的单体应用架构逐渐暴露出扩展性差、迭代速度慢等问题。为了应对这些挑战,云原生技术应运而生。云原生是一种利用云计算的优势,以更灵活、可扩展和可靠的方式构建和部署应用程序的方法。它强调以容器、微服务、自动化和持续交付为核心,旨在提高开发效率、增强系统的灵活性和可维护性。阿里云作为国内领先的云服务商,在云原生领域有着深厚的积累和实践。
51 0
|
30天前
|
监控 网络协议 数据挖掘
阿里云国际云解析DNS如何开启/关闭流量分析?
阿里云国际云解析DNS如何开启/关闭流量分析?

推荐镜像

更多