编程语言应用

首页 » 常识 » 常识 » 一篇文章带你由浅入深入门深度学习
TUhjnbcbe - 2023/3/25 19:13:00

深度学习是一门有关算法的学科类别,有一个“深度”在里面,这就说明它会比一般的算法更高级,更深层。有很多小伙伴在学习的时候直接去买算法书来啃,结果发现这确实是一个难啃的骨头,学起来丝毫没有头绪,也给自己幼小心灵留下了恐惧深度学习的阴影。

深度学习就好比高楼大厦的最顶层,金字塔尖,唯有打牢地基,一步步地去学习,到什么阶段就去学什么,一点点为这座大厦添砖加瓦,最后才能看到顶峰的美景。

这里我想要告诉大家的是入门过程要慢,要细,基础牢固了学起来才会轻松,今天我就来告诉大家新手应该如何入门深度学习,要提前去学哪些东西。

首先带大家了解一下深度学习的概念及所属范畴。

我们熟知的人工智能技术,是一个大的概念,比如说AlphaGo,一站到底节目里面的答题机器人,都是人工智能技术的呈现,深度学习就属于人工智能的范畴。

在人工智能这样一个大范围里面,有一个分支叫机器学习,也称为统计学习方法,它的概念是计算机基于构建概率统计模型并运用模型对数据进行预测与分析的一门学科。

那么深度学习,又是机器学习下的一个分支,它的概念通俗来讲可以这样来描述:假设深度学习需要处理的信息是“水流”,这里的信息我们把它统称为“数据”,那么处理数据的深度学习网络是一个由管道和阀门口组成的巨大水管网络,网络的入口是若干管道的开口,网路的出口也是若干管道的开口,入口和开口之间,有许多层,每一层都有控制水流流量和方向的调节阀,日常生活中我们可以把它比做成类似水龙头一样的东西,这样的调节阀我们在计算机中统称为“深度学习的相关算法”。

那么上面一大段的介绍我们可以浓缩成这样的一句话:深度学习首先有数据的输入,然后在中间的过程这些数据会经过一些算法的处理,最后根据人们的需要,在输出的时候发挥数据的功能,一般来讲有分类、预测、估计某些参数值等等,这就是我们所说的深度学习,我们还可以看到深度学习和机器学习在数据的处理方面是很相似的,而且深度学习的算法是以神经网络为主。

从上面的介绍,我们可以看到,入门深度学习,首先我们要去了解机器学习这个大概念,深度学习的某些算法是在机器学习的基础之上的,下面我来为大家说一说我们要如何去学习机器学习。

先有机器学习,再有深度学习:

机器学习是属于偏算法类的学科范畴,涉及到算法,那么就有两个最基本的要求:数学+计算机。这两部分各司其职,数学的主要功能是算法的设计以及优化,计算机的主要功能是对于设计出的算法的一个实现,这里主要是依赖于一些编程软件,比如Python、C语言等等。首先我们来说一说机器学习我们要来掌握哪些数学知识:

打破传统数学学习方法,拓展新思维

学习数学其实是一个比较枯燥的过程,尤其是目前中国传统的教育背景下,很多数学的教学都是先学教科书上的各种定理定义,再去大量的刷题,时间长了我认为这里是记忆大于理解的,学生只是练习得多,记得比较熟罢了,真的要让他讲出某一道题为什么这样去做,为什么是这样的思维方式。恐怕他不会讲出什么,完全是按照模板一步步去实现,这就是“知其然而不知其所以然”。

那么这样一个枯燥的学科,我们怎么学习才能让他生动一些又能加深我们的理解呢?这里我给大家推荐一门课程—贪心科技的AI算法课程,这门课程里面有人工智能的数学基础课,一共有两节,讲述了学习机器学习应该掌握的数学知识,下面我来给大家详细地看一下:

两节课的内容一共包括这三部分,这里面老师讲解的时候会结合着机器学习的学习方向来讲,不是单纯地在讲某一方面的数学知识,会告诉我们这一部分的数学知识在机器学习中有什么用途,这样带着目的去学,效果会更好一些,下面我来给大家具体展示一下这三部分具体讲的内容:

1、概率统计基础:

在概率论与数理统计这一部分,大家一共要掌握四个知识点:条件概率、贝叶斯定理、联合概率和链式法则。条件概率这一部分主要是记住条件概率的公式,这一块基本的题型就是求某一事件在另一事件为条件下的概率,接着先介绍了联合概率,就是指事件A和B同时发生的概率,一般记为P(A,B)。然后根据条件概率与联合概率的结合我们引出了贝叶斯定理,它通俗来说是从结果出发,求某一条件发生的概率,和条件了概率的求法恰好相反。

如上图所示,利用联合概率公式可以推导出条件概率的链式法则,这个链式法则指的是多个事件同时发生的概率该如何计算。老师在讲解的过程中还提到了自然语言处理任务(是人工智能的一个分支)与链式法则的结合应用,常常用链式法则进行语言模型的概率计算。

2、线性代数基础:

线性代数这一部分占据的课程时长比较长,可以说这一部分内容比较重要,并且难度也是比较大和抽象的,学习这一部分的知识之前大家可以先打打基础,这里可以给大家推荐一本书:

这本书是由北京大学出版的高等代数和高等代数辅导与习题解答书,高等代数的内容要比线性代数更全一些,因为它是纯数学系的学生学的课本。觉得网课跟不上的小伙伴可以去看看这本书先提前了解一下线性代数的基础知识,再来听网课可能效果会好一些。

下面给大家列举线性代数具体需要掌握的知识点:矩阵及其运算、逆矩阵、向量空间和线性变换。矩阵的主要来源是线性方程组,矩阵里面的元素可以理解为线性方程组中未知变量的系数。矩阵的运算有加、减和乘,其中加减法满足交换律和结合律,乘法不满足结合律。因此可以说如果有矩阵A,B,则AB≠BA。逆矩阵类似于除法,但是矩阵的运算里面是没有除法的,只能叫做矩阵的逆。

向量空间也叫做线性空间,这里就比较抽象了,向量大家在高中学习过,这里的向量空间是根据空间中向量的维数而定,也就是向量是几维,那么向量空间就是几维,向量空间里面的加法和数乘还要满足下图的8个性质,这里符号和定理比较多,大家在学习的时候要耐心一点看,以理解为主,不要太追求速度。

线性变换这一块会涉及到机器学习中算法的一些内容,线性变换的含义就是由一个向量到另一个向量的转换,中间会建立一个“变换模型”来进行转换。这里的变换模型大多是矩阵,线性变换可以应用到图像转换算法,我们可以把图像中的点位模拟成向量的形式,然后被某一个线性变换矩阵所作用,得到了另一个图像,这里的操作可以是图形的旋转,平移之类的。

述(最多18字

3、函数微积分基础:

最后一部分是关于函数和微积分的学习,这部分内容对于学习机器学习来说是很重要的,因为机器学习的算法中有很多都是函数模型,涉及到了优化、分类和回归等等。掌握函数的一些基本性质很重要,首先是学习函数的求导:

这几种常见函数的求导大家一定要记熟,这是最基本的东西。

复合函数求导要牢记公式,计算的时候要认真,算准,这里比较考察大家的计算能力。

求解析解这里可以分为两部分,逻辑回归与线性回归,最终都会统一到求目标函数最优解这一步骤上来,图上有一个简单的二次函数的例子大家可以参考一下。

还是上图的二次函数的例子,这里用到了梯度下降法,是一个小小的迭代的过程,看起来确实比刚刚画图直接求顶点的方法高端了一些。梯度下降法在机器学习中也是一个很重要的优化算法,由它可以引申出牛顿法和最速下降法等方法。

综上这一部分是数学的学习,这位老师听他的语气比较年轻,讲起课来也比较有活力,会让人觉得听的很舒服,而且他会把复杂的数学知识用一些生动的例子来简化,帮助我们去理解,这门课程还是比较不错的。

算法的实现—编程基础

数学这一部分学的差不多了之后,我们该在计算机上面去实现这些算法了,深度学习的算法主要是神经网络模型,四种比较典型的算法有:卷积神经网络、循环神经网络、生成对抗网络和强化深度学习。这四种算法的应用有很多比如说人脸识别、语音识别、图片分类检索和文本生成等等。

1、深度学习框架:Tensorflow

学习上面这些算法之前,我们首先要了解深度学习的框架:tensorflow,掌握了基本的框架之后才能在此基础上延伸到算法的学习。学习这两部分内容需要一定的Python基础,下面我来给大家推荐一本学习Python的书:

这本书适合入门的小白去学习,里面从Python的环境搭建开始讲起,接着会介绍关于Python的基础知识,比如变量类型,字符类型,数组,条件语句和循环语句等等,讲解的很详细并且配有带注释的源代码,大家可以直接在计算机上运行这些代码进行实践。

打好了Python的基础之后,我来给大家推荐两本有关Python深度学习的书:

第一本:《机器学习实战:基于Scikit-Learn和TensorFlow》

这本书是tensorflow入门的好书,本书主要分为两部分,第一部分是1-8章,这里讲解了机器学习的基本理论和基本算法,可以帮助我们掌握机器学习的常用方法,第二部分重点介绍了深度学习框架Tensorflow的搭建和使用,书里面从框架的搭建开始,拥有详细的代码介绍,接着在这个框架上讲解了一些深度学习的基础算法—卷积神经网络,这本书的注释偏中文一些,适合英文不太好的小白来学习,书中还有配套的源代码下载包,与书上的内容是一一对应的,大家可以去下载学习。

第二本:《python深度学习》

这本书对于深度学习新手来说比较好上手,《python深度学习》详尽介绍了用Python和Keras进行深度学习的探索实践,包括计算机视觉、自然语言处理、产生式模型等应用。书中包含30多个代码示例,步骤讲解详细透彻。

本书的作者在github上公布了代码,代码几乎包括了本书所有知识点。在学习完本书后,读者将具备搭建自己的深度学习环境、建立图像识别模型、生成图像和文字等能力。但是这本书的代码的解释和注释是全英文的,即使英文水平较好的朋友看起来也很吃力,因此大家可以先背背深度学习的专业词汇再来学习也可以。

3、实战项目-tensorflow

1
查看完整版本: 一篇文章带你由浅入深入门深度学习