00:13
数学基础呢,就是大家可能现在有一些有些忘了啊,但是呢也无所谓,因为呢,我们人工智能里边的数学呢,涉及到没那么多,所以给大家简单回顾一下。第一个,我们先回顾一个概念,叫映射,什么叫映射呢?就比如说你给我一个苹果,我给你三个苹果,对吧?这种映射你给我两个,我给你六个,然后你给了我三个苹果,我给了你七个苹果。这个时候你可能就会想,这个映射是一个什么样的公式或什么样的式子就代表对吧,那它很可能是这样一个式子,就是说3X是吧,然后呢,M3X和谁呢,和七对吧。何等是这样,给你一个还我三个,给你两个还我六个对吧,给三个,给五个,给任何多个你还我都是七个,那很可能就是这样的这个式子对吧?所以说我们可以看到,在我们对世界这个黑箱去建模的时候,我不知道这个公式是什么,我不知道这个方程是什么,我的目的是把这个方程给模拟出来,对吧?所以说呢,我们会怎么做呢?先猜有MODEL1 model2 model3。
01:24
我们用MODEL1 model model3去验证哪个model好,我就有理由相信就是哪个model是吧?这个很简单一个思想是吧,所映射和函数这个地方大家都了解了啊,函数呢,就我刚才说的是Y等于3X,这是最简单的函数,我们说初等函数呢,还有好几种,总共有五种初等函数对吧?有什么幂函数对吧?X平方X立方就是幂函数对吧?这也是一种幂函数,指出它的幂是一对不对,这是第一种,那么至少还有第二种,我们知道的s X cos X对吧,对吧?然后至少第三种我们知道的什么指数函数吧,B的X或者是二的X次幂对吧?我们先知道这几种,然后其他那些什么双曲啊,那些东西可能我们不需要知那么多,那这里边我们有一个比较关键的一个问题,就是大家可能现在记不太住了,E是什么东西,E是个自然底数对吧?它是一个小大于二小于三的数对吧?2.7左右啊,还记得它怎么出来的吗?
02:28
怎么来这么一个数呢,是吧,这是怎么来的呢?我们可以看这个式子,这个式子。很很多人在研究这个式子的时候,发现这个式子你看大家看N趋于无穷大的时候,上面这个指数是趋于无穷大的,对吧?但是下面这个N也是趋于无穷大的,所以它是趋近于一的,但是上面又趋于无穷大,它它肯定不是一对吧?那它肯定也不是无穷大,它是多少呢?它就是一对吧,怎么正的呢?其实很简单,没有那么复杂,就把这个括号打开,按项乘,多项式乘法大家知道是吧?就按项乘,那第一项肯定是一的N次幂是吧?第二项肯定是一的N减一次幂乘上什么N分之一对吧?又加到NN分之一的N次幂乘上一对不对,就这么乘,这个数列它是个数列,它是有上极限也有下极限的,它这个极限就是一。
03:25
对吧,那么因为有这个式子存在,所以呢,呃,那后面我们再说求导的这个问题啊,求导的时候呢,我们先说一句E的X还是E的X对吧?因为求导我们按求导公式去算,最后中中间有一项就是这个,这个项它得到就是一,所以两个人一一约它一的X,它导数就是一的X,所以这个数是很神奇的一个数,这个数字在我们这个呃,数学基础中当中啊,用的非常非常多,然后呢,我们在刚才说到极限了,那我们再简单提一下极限和连续,就少写一个连续。连续函数就大家就是简单直播理解就很简单了,就就没就很很简单了,对吧,连续就是我随便画一条线,这就连续函数对吧。
04:08
那么这样的函数是连续函数吗?不是对吧?所以连续必须有三个条件,第一这个点得有定义对吧?这个点没定义,它这点是断的,那肯定不行,这个没有定义,第二个是这个点左边和右边都得有极限,对吧?如果他这这个地方确实这点有定义,但是左边是这样的。右边是这样无穷大,那这点是没有极限的,对吧,左边有极限,右边有极限,并且第三点左极限右极限都得等于这个定义值就连起来了,对吧,这是极限的定义,然后呢,我们再回顾一个我们以前学过的一个重要的东西,就是牛顿范围这个导数,嗯,导数这个东西啊,大家大家现在先想这么一个概念啊,这这么一个问题啊,连续是不是一定可导呢?
05:02
不一定是吧,比如举个例子呢。折线是吧,比如这折线对不对,这个折线为什么不可导。是为什么不可导它导,对对对对,关键问题是左导数和右导数不等,所以呢,这条线呢,你也可以说它不可导,但也可以说它可导,也可以说它左边可导,右边也可导,但放一块就不可导,对吧,这是可以的,然后呢,还有一种函数呢,是当趋近于这个点的时候。是这样的。是这样的,它是这样连续的,也就是说当这个直这个曲线接近这个定义点的时候,它的这个函数的这个形式,它是近乎于垂直的。几乎于垂直的,所以这点也是不可导的,这个时候呢,它的导数的主要不呃不存在导数的主要原因是什么呢?因为它左导数右导数都等于无穷大,就无穷大就是不可导。
06:05
对吧,这样明白这个概念就OK了。然后呢,导数是曲线的斜率是曲线变化快慢的反应,可导呢是肯定连续的,但是反之呢,却不成立的,嗯。所以我们现在看一个最简单的一个二次函数,我们要求它的极值,我为为什么说它是极值呢?啊,因为很多这个二次函数很简单,我们知道它有极小值,最小值啊,很多函数我是不知道它有多少个最小值,就它可能甚至没有最小值,它有的只是极小值。大家能理解这种函数是吧?对,那我们先说这个二次函数,它的极值怎么求呢?还记得吗?对吧?假设假设是Y等于X方,那它Y导等于2X是吧,等于零的时候,所以X等于零,所以在零的地方它取到了极值,对吧?那至于极大还是极小得看什么呢?看二导是吧?二阶导看它是二对吧,所以说它的导数是在增加的对吧,导在增加,所以什么极小值吧,对吧?那么这里面有几个关键的东西啊,第一个是E,第二个sin X,就说sin X,还要提一件事,就是厘米X趋向于零的时候,等一是吧?对,这个东西大家可以给他记住。
07:21
也可以可以求出来的,好,那么这三个概念我们讲完了,常函数求导公式我们复习一下。C的导数就是零对吧,然后呢,Sin X cos X,然后AA的X次幂呢,我们基本不用,因为什么呢?因为它前面老带一个常数项的X幂,这个求完导就不好看,我们一般都用E的X幂,因为它求完导很干净,对吧,怎么求到它自己,然后呢,Log X,我们这个log X用的也少,就基本上log X直接求倒数就完事了,对吧?有有以前有同学问过我这个A和E,这你你放上不一样的东西,它它会不会影响结果。
08:03
我的时候不会影响结果,为什么呢?等于对一等于一,而且你这个变量是X对吧,你下面不管换什么,你上面的X变化,变化的方式是一样的,它只是曲线变长或变压缩或者变短了,并不影响它极值的取的结果对不对,所以取这两个一般用的比较多,然后还有一个比较重要的公式是乘法公式和加法公式。这样大家一定要记住啊,就是U加V的导数等于什么U导加V导啊,UV导数等于U导V加上U导UV导对吧,大家可能想想象不到说导游就是这么简单的一个东西啊,它是人工智能一个技术。比如说打比方今日头条从网上已经发了100亿的文章了,100亿个文章他要推荐给其中一个人,对吧?他给把文章推荐给正确的人,他要解决的是一个什么呢?是一个数学模型,就怎么能让这100亿的文章推荐给所有人,使得损失值最小。
09:00
打比方说,我把这个呃,科技新闻推荐给一个这个不是在科技领域工作的人,假设我的损失值就是一的话,而且我把一个特别高端的这个音乐的新闻推荐给一个专门搞这个这个电工的这个人,那损失值就是一,所以呢,这个损失值最后可能加起来就等于100亿,全推错了,它就是110,对吧?因为这个推荐我是可以用公式写出来的,比如公式我是把那个A推荐给B,然后什么写了一堆对不对?因为我现在损失值非常大,所以我要对它求导,使得Y取极小值。明白吗?不需要,不需要立刻了解这个公式到底怎么算啊,那肯定这个也不是一个人算完的,就是Y取极小值的时候,它能把所有的文章推荐给所有合适的人,当然不会那么完美,但是不完美是因为它数据本身的问题,知道吧,就是这个数据本身就无解。打比方说,咱们知道那个线性方程组是吧?三元A1X1加上B x2加上CC1X3是吧,等于零,那么有这样三个方程组,它有的时候可有可解出来的,有的时候解不出来的,对吧?这个文章也是一样,文章匹配人也是一样,你也要求解一个巨大的方程组,它有的时候可写,有的时候不可解,那么不可解的时候怎么办呢?只要它这边的损失值不可解,那个个数最少就行了。
10:24
对吧,推你说100亿个人,我推出100个人,那无所谓对不对,剩下剩下那些人都喜欢看就可以了,对吧。所以这是求导的这个一个基本公式,然后呢,在这里边有一个非常重要的一个东西,叫C个贸易的函数,C末的函数,大家以前肯定没见过,因为这是神经元里边才搞出来一个函数,为什么有这样一个函数呢?从这个形式上大家能看到,当我有一点点刺激的时候,它是零,这刺激很弱,刺激很弱,都是零是吧?然后在中间的时候呢,诶刺激增强的最快是吧?当在这个地方的时候呢,刺激就也是不怎么变了,对吧?当次激腔山间的这个区域呢,一般形象来讲呢,就是死猪把开水烫,就比如说你用一个1000度的水去烫一个猪,100度的水烫一个猪,它感觉是一样的,它不会因为你拿一一万度的水去烫它,它就觉得比100度更热,明白吗?这个地方它的神经元已经饱和了。
11:22
而你用一个20度的水和一个25度的水去去去碰这个路,它可能在这个地方感觉都不那么明显。就在这个50度到70度这个时候,它才是最活跃的时候,对吧,所以这个东西就是模拟神经元的一个函数。No。这这个可以理解对不对,那么为什么要让它是在这个以以X轴与这个Y轴对称呢?就是因为它与Y轴对称的时候,这个左边我都可以认为是负向的激励,右边都可以认为是正向的激励,对吧?我可以认为一个神经元是不是激活,是不是可以激发,对吧?我可以以它以0.5为阈值,大于0.5我认为你激活,小于0.5认为没激活,对吧?这都很标准对称对不对,它这个函数是这样的。
12:07
那这个函数看起来觉得有点陌生对吧?这个函数它有一个特点哈,这个函数的特点是什么呢?它的导数,大家可以试着求一下它的导数等于它的本身乘上一减它本身。这导数等于这东西。不会是它本身,它本身它就是E了是吧,E的X次幂了,大家课下可以验证一下,就按符合函数的求导法则就能求出来是这个东西。可以吧,是吧,有有这个有这个特点啊,我们就可以说这个函数不会求着,求着这个导数它就没了。我们可以至少可以肯定的说这一点对吧?它不会像有些函数,比如说那个Y等于X的五次方,求着求着求着他最后那导数就没了对吧?那西格波特函数还有一个很好的一个作用,就是它的非线性,从这里边的时候,这个这个地方开始,同学们要掌握一个概念叫非线性,就你只要看到不是直线的东西,它都是非线性的东西,非线性有什么好处呢?它可以把你的数据映射到一个其他维度的空间上去。
13:18
我先这么说啊,后面咱们就能看到,然后我们我们接着看下一页。这一页里面呢,我们有两个很重要的一个公式,第一个叫泰勒展开啊,他他这展开为什么有这个东西,因为E的X幂咱知道了,EE的那个E你知道对吧,而E的X这个东西没法算,因为E我都不知道它紧确值是多少,对不对?那怎么算呢?Sin X怎么算呢?比如算给你3IN60度,三三十度,原来我们都会算,现在给你3IN70度,怎么算呢?不会算呢,对不对,这个时候我们以前高中时候就会说,我们查表是吧,算你多少度等于多少是吧,所以说如果你在这要算的时候,你就需要带个很大的表是吧,这这显然是很奇怪的,而且大家也会问他那表是怎么算出的呢?对吧?
14:12
这里面用到一个主要的公式呢,就叫太热展开。首先大家有一个概念,就是我们讲任何一个函数,我们现在已经不是说它一次两次了,它可能是一个很高次的函数,它可能是X100次幂加上X99次幂,就3X加上2X88次,次幂不拉一堆是吧,它是一个很高的函数,甚至不仅是这,而且还能加一个3X啊,什么都都加,加上一的X。它可能是这样一个函数,那这个函数毫无疑问它的次幂肯定是非常非常高,对吧?它可能是一个曲线,可能是一个很奇怪的一个曲线,那么像这个曲线,假设我取了一个点,这个点,呃,当然不应该这样啊,这样的假设这个点的X等于一,这点的值我是能算出来的,对吧?但是呢,X等于1.1的时候,这个值我现在就不知道了,我就必须得带到函数里才能算出来,对吧?那我怎么能预估这个X等于1.1的值呢?怎么预估这个事呢?我们就可以这么想,X等于1.1和X等于一差了0.1对不对?我我可以认为这个函数在局部里边,它就是很就是一个直线。
15:19
我认为它是一个直线,对吧,这是非常非常的理想是吧?但是呢,显然这个函数不是直线,那么我可以再进一步认为,这个函数呢,在这个局部的空间里,它不是直线,但它是一个二次函数,对吧?二次函数发现拟合它,因为拟合它肯定拟合不上人家100次的,对吧?所以现在我不断的拟合,不断的拟合,我拟合到这个函数的时候,我就相当于用这个函数的导数。去拟合这个点,明白吧,我觉得这个函数求了一个导,那就在这点的导数,我是不是可以认为在局部内这个X的变化率德尔塔X乘上它的导数,X的导数,也就是说FX导Y导吧,就等于新的这个函数值,这是可以的,对吧?所以呢,这就是一个逼进的一个过程,我不断的用的用高维的去高维的这个这个函数去逼进,当然呢,有可能你用了一个S99次幂函数去逼进,还是跟这个上面这个式子有出入,但是这个时候你出入就已经非常小了,就已经非常非常近了,对吧?对,至少比那个线性函数要近很多很多,对吧,所以这就是呃,这个。
16:30
它就染开式,它染开式的证明呢,我我就不证了,到时可以简单提一提一句哈,左边右边求一阶导。求一阶导的时候。这个是这个是常数项对不对,那它求了一阶导。这个地方它求一阶导等于什么呢?这是常数项对吧,其实它现在已经是常数项了,它就一导你什么呢。是不是一呀,对吧,打开嘛,后边是常数项,前面是X就是一嘛,所以求一导的时候,F导X等于F导X。
17:08
看到了吧。这个是常数项,这个是常项后面因为你现在求一阶导后面所有东西都是什么?二的X减X0对吧?和三的X减X0的平方对不对?因为我们刚才说了,它俩之间的差值是无穷小。非常非常小,所以后面是都没有的。能理解吗?后边是都没有的,前面是常数项,后面都没有,不管其到哪一项都是这样的。可以理解是吧,所以它这两台车是成立的。可以了啊,一会我们过了明白了吗?明白了吗?可以,那我再再大简单再再说一下,就是现在我刚才已经说过了,我们是在不断的用它这个导数去逼近前面那个函数,对吧?但是为什么后边这个函用导数去P近,我们可以理解的,为什么这块还有高高次呢?为什么是这样的,因为如果你说两边是一个函数的话,它两边的每一节导数都一样的。
18:15
对吧?我或换成反过来说,一个式子和另外一个函数,它任何一节导函数,任何一节导数都相等,那它俩就是一个函数,对吧?最多加一个C的关系对吧?最多加常数项,那我看看他们两个导数是不是一样的,FX0是一个常数对吧?C的导数是不是等于零啊,就没有了。导数是零都没有了,那么第一项就没了,咱们就看第一阶导函,当求它的时候,那它这个东西是常数,你别看它现在是个导数,它它是常数,因为X里是常数对吧,所以它是个导数,所以它的导数呢,它常数提出去了,就求后边这个导数对吧?后边X减X0导数是什么?就X减C对不对,Y等于减C不就是一嘛,对吧?所以说它这个地方的导数是F导X等于F导X嘛零嘛,对吧,就在X0数,它导数是总相等的对不对?后面问题大家主要理解不了后边,因为我们刚才说了,X和X0现在是无穷小,就德尔塔X非常非常小,我们现在在非常非常微小的空间里去逼近那个X的值,那么它俩既然是相减,是无穷小,而且,而且对后边这个求一些导它是求不它是不能消掉的,对它是高一些的,比如说看这个地方是什么,2X减X0对吧。
19:34
乘上前面这个这个东西对不对?X减X0是无穷小,所以不管这个常数项是什么东西,他们都是零,后边一排全是零,所以一阶导是一样的,对吧?求二阶导也是一样的,你二阶导的时候呢?这个地方你相当于求两次导,第一次导它就已经生成那个F导X0了,那第二次再求一次导,它不就是零了吗?它常数了。它就没了,这一项又被因为这一项的X减X0正好被突出出来了,对吧,所以前面成了一个阶层嘛,正好被下边消掉了,对吧,留下这一项后边还是高四项的还是读没有明白了吗?这就是泰勒定理的证明。
20:14
然后呢,有了它的定理的证明呢,我们常用函数它那就可以求了,比如E的X幂sin X幂sin X都可以求了,对吧?这也是给我们一个提示,就是在某一个呃点处,我们如何用一阶近似二阶近似去逼近它,所以说我们在是人工智能是在深度学习的时候啊,可以这么给大家说,我们用80次幂函数去逼近,用100次幂函数去逼近,这是不现实的,为什么不现实的,因为这个运算量巨大无比,非常非常大。我们现在的所有的这个对世客观世界做建模是吧,你的变量一般都有成百上千维,比如打个比方说今日头条,假如对你们做用户推荐,首先有性别、年龄、身高,工作是吧,收入、家庭是吧,电话号码,甚至是你那个衣着是吧,兴趣爱好,所有所有这些东西加起来至少要成百上千位。
21:13
成百上千维的方程,你要想对它去做这个高阶导,因为我们知道你现在就就一个变量X一个变量就一个一阶导,就是呃,不是一阶导,它就是说就就是一个导数。对吧?如果现在有1000个变量的话,你要求的就不是导数了,而是多元函数求导叫什么偏导数对吧?那偏导数求第一次导数的时候有1000个,这还很好说,求第二次导数的时候有多少个呢?10万个。1000乘1000。明白吗?哎,1000乘1000不是10万,100万个为,为什么是100万个,因为第一次我对身高这个地方这个这个变量求导了,我对身高求完之后是一阶导对吧,一阶导,第二次你再求导的时候,你又可以对1000个求导。
22:05
比如说你现在,你现在对身高求导了,第二次求导的时候,你还是可以对身高、性别,年龄、爱好,对所有东西都求导。明白吧,打个比方说,我现在还是对你做用户推荐,那我对你这个身高求完导之后呢,我得到了一堆导数,就是你们这个兴趣啊,假设就是这个一阶导决定的,那么你每一个一阶导都得对所有的1000个变量再次求导,从100万个这个导数里边,我们去挑哪一个是最是最最敏感的,或者说改变哪一个参数是你学习,就是你能最喜欢的,最有效的,明白吧,这样的话会第二个肯定是一百一百一一百一百万个导数,是吧,这种情况下咱们再去求计算机已经很很难去做了,更别说那个像今日头条现在都是动动则几十亿的特征。像淘宝几十亿的特征是吧,一个商品不像我数十亿的商品,那么商品我用零一编码,那它就几十一下1亿个特征干出去了,对吧?那这种情况下我们不可能求那么高级的导数,所以我们最多就要去求二阶就差不多了,大家可能觉得二阶是不是拟合的就不那么好,但是呢,二阶已经足够够用了啊,然后这块我们就可以过去了啊,这个太两开是大家都记住了是吧?OK过接下来讲一个叫梯度下降法。
23:26
这个梯度下降法呢,非常非常有用。为什么呢?我们我们现在作为一个,假如说今日头条还是给大家做推荐是吧,然后呢,今日头条现在都推荐的,我们可以看成是一个能量函数,我刚才给大家说过,我现在全推错了,这个能量可以认为它特别高,不是能量特别高,我认为什么我在山顶上,我现在要下到山底,我如果下到了一个盆地里边,那就是对大家都推荐好了。能量函数嘛,对不对。可以理解是吧,我我这能量函数怎么来的呢?我推荐错一个人,我就把这个能量函数加一。
24:04
明白吧,就我怎么知道是推荐错了呢,只要我推荐出去,你不点就是错了,明白你点就是对了。这就很简单,就把前端打点和后端的工程系统和字号叠起来了,我给你推荐一个文章,你点一下前端跑出一个打点,打到后端服务器上去,他们就知道了,User ID是什么,看了哪一个文章,文章的ID是什么,文章title是什么,Content是什么,这东都拿到了,包括时间,包括地点在哪里,看什么都拿到了,如果现在你全部点的话,那他的能量函数呢,可能就是比如推了100亿文章给所有人,他的能量函数100亿知道吧,现在他要做的目的就是把100亿降到零,让你们全点,对吧?所以说呢,现在他就相当于站在山坡上,就山顶上他要下去。明白吧,怎么下去呢?就刚才学过导数,在这点你只要沿着导数方向你就下去了。明白吧,比如说打比方,现在你在这个山上啊,假如我们在这山上,你你就横着走。
25:06
横着走肯定不是导数的方向,对不对,它它导数肯定是这样的,你横着走,所以你下不去,所以说你要沿着导数,导数才是有有可能下去的一个方向,对吧?这就是极度下降法,但是呢,因为山就这个能量函数非常的不平整,就比如说打比方吧,镜头给大家推荐,推荐文章,然后呢,他不断的沿着导数往下走,那他可不可能一次性走到谷底呢?这是不可能的,为什么呢?他得更新一批数据,你们点一点,他再更新一批数据,你再点一点,你不可能说金融上之前推荐特别好,但所有人正好全点了,对吧,这是不可能的,而且他每天的兴趣都在变。它是不断的变的,所以这个函数本身是一个波动函数,它不是一个说像那个Y等于X方,我直接就可以把它极时求出来,就刚才跟大家说了,Y等于X方怎么求极值呢?直接求导数是吧?但是在人群里这个函数本每天都在波动的,你今天心血来潮,喜欢看另外一个东西了,是吧,你局部一变,整体的函数就跟着变,推荐的最优解就跟变,对吧?所以他不可能一次性就把所有人都喜欢看哪个最好的就给露出来,他必须得每天都更新,每天都训练他的模型,每天都去点击去训练模型。
26:20
所以呢,他要用的方法就叫梯度下降法。对吧,比如说打比方我们金融条还是已经成立了五年了,今天推荐的非常好,我们点点击率达到了新高,明天发现不好了怎么办呢?我可以求梯度对不对?既然我今天推荐最好你在这个位置,对吧?而明天人群发生了改变,而我的推荐策略还是昨天的推荐策略,所以说相当于什么呢?山位置移了,这不是我位置移了,就是山平移了,对吧?山从原来这个这个地方是盆地,这个地方是湖,山挪到这个地方,那就产生了一个梯度对不对?所以我就沿着梯度去找这个弧的方向就OK了。
27:03
明白吧,也是梯度方向,这就叫梯度下降法,然后呢,你又不能一次下降太多,有的有的时候布场给大了,一次性就处到壶底去了,对吧,这也是不行的,因为因为你的处处到湖底还好,如果你处到了这个位置上去,这个X对应的值在这呢,你就相当于一直在这里来回晃,明白吧,你就相当于一个巨人,你的腿很长,然后呢,你能从这里一步迈到这里,一步步迈到这里,可是你总迈不到这。对吧,那的不长,又是一个很关键的一个参数,就是梯度下降法。进度下降法,在那个所有的现在这个人工智能的行业里面,就是这个方面里边都是最基础的一个算法,最重要的,所以大家一定要了解这个算法。OK了啊,然后呢,下面有一个小的练习,我给大家是不需要飞车啊。
28:04
啊,这样吧,一会儿等那个课间的时候再发给大家,因为后面的内容还比较多,所以大家先过一下,然后呢,我们再扩展一下多元函数的导数是怎么表达的呢。打个比方说,这是一个,我们现在就看,呃,这认为是一个平面哈,但是我们写成Z等于X加Y,这是一个二元函数了,对吧?这个表加Y什么时候导数最大呢?显然这是X的梯度,呃,这个是X的梯度,这个是Y的梯度,显然他们两个的向量和向量的和这个方向是导入最大的。比如说这边它的梯度是三,这边梯度是一,这个肯定是梯度最大的方向。明白吧,因为大家看啊,因为你这边三这边一肯定你超过这框架嘛,对吧,你在这边最大是一对不对,在这能大一点,再等大一点,在这最大对不对,在这又回去了,这最大是三对不对,这一点肯定是最大的。
29:02
对吧。OK了,大家觉得有点迷糊了,可以啊,多元函数呢,比较重要的是偏导数,什么叫偏导数呢?就是它现在不可能对所有的变量都求导数了,它得一次求一个,比如这次对X求,那次对Y求,那只要我对S求,然后我给大家画个图,看下面的图啊,应该没有图画再画图,比如说现在有一个,大家想象这个不是一个二次函数,而是一个像碗一样的东西。像碗一样的东西。如果它在X方向上取得极小值,并且在Y方向上也取得极小值的话。它肯定是全局的极小值,对不对,对吧,但是反反过头,反反过来说,如果在X取极小值,而在Y上正好取极大值,大家想那个曲线啊,它可能是那种是两边是这样子的,两边这样,这边是这样的。
30:01
它在X取极小值,而在Y正好取极大值,这样这种曲线它就不是一个极小值,全取极小值对吧?所以说我要取一个多元函数的极小值怎么办呢?就是每一个方向上都取极小值就可以了。对吧,所以这就是偏导数的一个作用,我们对每一个偏导数都让他取几小值就OK了,可以是吧,也为不用大家直接求导数就无所谓了,然后呢,呃,今年年初呢,这个人工智能呢,有一次争论,嗯,大家觉得有一些人质疑说这个深度学习可能不是在很多问题上都能取得很好的解,但是那个压乐困他就提出了可微分式编程,就是未来的编程呢,你要想让一个程序去制,呃,自动去适应这个一个建模的一个过程,要做的事情就是可微分式编程。简单来说就是程序先输出一个结果,这个结果肯定不是对的,肯定跟实际结果有差距对吧,有差距就对这个程序求偏导。
31:05
让他每一个参数都更新,这样的话,它肯定就会向正确的方向前进,对不对,肯定的100%的对吧外,比如说我这个模型程序,我现在写了一个非常简单的一个一个一个函数啊,就在Python里写的Y等于S立方,现在的客观现实给我的结结果值是零,而我现在算出来的是五,于是我就知道了我有五的差值对不对,所以呢,我就会按照2X平方的导数方向去更新这个X值对不对,更新这个值,然后这样的话呢,我就能让我不断的趋近于零,最后趋近于到零了,或者是哪怕到0.1,就是学学不到零,但是到0.1 0.1了,这个时候我这个模型也是学到了这个。这个这个这个事实他能理解吧,是吧。OK。
我来说两句