毕业论文
您现在的位置: 语言识别 >> 语言识别介绍 >> 正文 >> 正文

万字长文带你入门计算机视觉

来源:语言识别 时间:2022/7/11
北京比较专业的白癜风医院 http://m.39.net/pf/bdfyy/bdfzd/
导读CV技术栈

在这个AI大爆发的时代,彷佛只要与人工智能沾边的工作便显得高大上起来,与之相反的便是被大多数网友们痛批的一无是处的生化环材专业。虽然AI为我们的生活增添了许多便利,但是随着越来越多的人涌入这个圈子,也导致了整个AI圈迅速膨胀。计算机视觉,相对比自然语言处理这个领域来说入门门槛会稍微低些,而且图片视频相对于文字来说也更具有趣味性和易于理解。然而,这也会导致CV圈越来越卷,通过知乎相关热门问答便能体会到:

年——深度学习的春天是不是要来了?年——人工智能是不是一个泡沫?年——算法岗是否值得进入?年——如何看待算法岗竞争激烈,供不应求?年——如何看待算法岗一片红海,诸神黄昏?年——如何看待算法岗灰飞烟灭?

CVHub有云,小卷怡情,大卷伤身,强卷灰飞烟灭。正所谓人在CV圈,哪有不被卷?正因为如此,我们如何才能在这个浮躁的环境中沉下心来,选定一条合适自己的学习路线,从千军万马中脱颖而出,荣登时代的C位呢?这便是本篇文章诞生的目的,本文旨在构建最完整的CV学习路线,帮助大家早日从“调参侠”的包袱中脱离出来,成为一名真正合格的算法工程师。

本文将从以下三大维度为大家逐一展开介绍。

offer公式软基础

软基础,可以理解为技能栈,它是支撑整个发展路线的核心。

数学与英语基础

相信对于任何一个理工科的学生而言,数学的重要性是不言而喻的。因此,掌握好数学基础,有助于我们更好地理解其它知识以及为后面的学习做铺垫。然而,数学领域所涉及到知识可谓非常广泛,如果漫无目的的看,可能对于90%的人来说第一关就已经从入门到放弃了。下面,我们将给出计算机视觉领域所涉及到的一些数学基础,对于需要重点掌握的知识我们均会提及一下,其余未涉及到的知识点可视个人时间精力和研究方向自行查阅相关资料:

微积分

《微积分》是现代数学的基础,也是支撑后续几门数学分支的重要基石。顾名思义,微积分里面包含的两个核心组件便是微分和积分。其中,与微分比较接近的概念便是导数,熟练的计算导数有助于我们后面推导整个梯度下降的过程。其次,掌握上确界和下确界的概念有助于我们理解诸如Wasserstein距离,它作为一种损失函数被应用于WGAN以解决训练不稳定的问题。此外,有涉及到GAN方向的同学也可以理解下Lipschitz连续性的概念,它对提高GAN训练的稳当性分析具有不可替代的作用。而对于基础的深度学习原理来说,我们更多的需要掌握的概念是:梯度、偏导数、链式求导法则、导数与函数的极值单调性凹凸性判断、定积分与不定积分。最后,我们可以着重理解下泰勒公式,它是理解各种优化算法的核心。

线性代数与矩阵论

《线性代数》是工科生的必备基础。由于计算机现有的运算方式大都是基于并行计算的,无论是机器学习或者深度学习模型来说,数据都是以矩阵或者向量化的形式传入的。因此,我们首先要明白线性空间、向量、标量、矩阵、范数、秩的概念以及着重掌握矩阵和向量的基本运算方式,这对于我们后面理解一些网络模型结构,如自注意力机制是非常有必要的。此外,对于后面涉及到的机器学习算法学习,我们还应该理解特征值、特征向量以及矩阵的正定概念,同时也应该掌握特征值分解(主成分分析和线性判别分析等)以及奇异值分解(正太贝叶斯分类器及主题模型等)。矩阵论则是线性代数的进一步升华,所要掌握的重点知识为矩阵分解、线性变换、相似矩阵、欧式空间、正交矩阵、对称矩阵、正定矩阵。

概率论与信息论

《概率论与数理统计》是工科生数理基础的三把斧之一,也是支撑整个机器学习与深度学习原理的核心理论。概率论,本质上是用于描述对不确定性的度量,深度学习本质上也是通过网络进行学习,最终对输入图像计算出一个概率值。对于这门课,我们需要重点掌握的概念有:随机变量、概率分布、条件概率、统计与假设检验、概率密度及质量函数、贝叶斯公式、期望、方差、协方差。此外,我们还需要重点掌握一些常见的分布函数,如0-1分布、二项分布(伯努利分布)、几何分布、高斯分布、指数分布、泊松分布。最后,我们还应该重点理解最小二乘法、最大似然估计、指数移动平均等。而对于《信息论》来说,最需要掌握的一个知识点必定是熵。除了理解熵的概念以外,可以着重了解下几种不同的熵理论,如条件熵、联合熵、相对熵、最大熵以及互信息。

最优化方法

首先,我们可以简单的理解下什么是“最优化”?最优化,直白的说便是指在完成一个目标的时候,我们总是希望能够在资源受限的条件下以最小的代价来获取最大的收益。可以毫不夸张的说,最优化理论是整个机器学习中相对较难且非常重要的一个理论基础,同时也是面试机器学习算法岗或者在该领域继续进修所必不可少的一个门卡。在了解完基本概念的同时,我们也不知不觉的触及到了最优化问题中基本数学描述的三个基本要素,即决策变量、目标函数以及约束条件。其次,罗列下这方面所需要掌握的概念及原理:凸集、凸函数、凸集分离定理、超平面和半空间。最后,我们需要重点理解的便是梯度下降法,它是目前整个深度学习算法的核心。此外,对于一些诸如拟牛顿法、阻尼牛顿法、随机梯度下降算法等可留到后半部分学习。

英语

英语,虽然不是我们的母语,但是作为一名新时代的AI从业技术人员或者即将踏入硕博之路的人来说,这是一门必不可少的技能。首先,对于选择就业的同学来说,在日常的工作生活中,都会不可避免的会查阅大量的工具书和英文网站,这就需要我们具备一定的英语基础,才能够在工作中游刃有余,帮助我们快速的定位到关键点。其次,对于想往科研这条路的同学来说,英语更是不可或缺的必备技能。除了平常科研写作要经常用到之外,我们在申请海内外学校的时候还需要要求具有四六级证书(国内)或者雅思托福考试证明(境外),每年往往有许多发表不少科研成果的同学被卡在这里,着实令人惋惜。最后,掌握良好的英语沟通能力,无论对职场发展(去海外工作或者与国外客户合作)还是学术交流(会议)都是具有积极意义的。然而,语言这种东西不能一蹴而就,除了母语环境,我们能做的是每日学习,厚积薄发,后面方可应用自如。

计算机基础Git基础git各个分区的转换

Git作为一个版本控制软件,可以帮助我们更好地对我们的项目进行管理,也方便进行多人协同的工作。但是,估计大多数人最常用的还是gitclone(误)。因此这个技能也常常会被大家所忽略但却又是进入工作之后说必须掌握的技能。

从逻辑上,git所管理的代码可以分为三个区,如上图所示分别为工作区(你正在编写的代码),本地仓库(保存到本地仓库的代码)以及远程仓库(远程代码库),它们之间的转换所需要用到的命令如上图所示。比如git

转载请注明:http://www.0431gb208.com/sjszlfa/733.html