1.课程介绍
介绍
自我介绍
大家好!我是余建国。很多人知道我的名字,应该是这个外国人读我的这个名字——余建国,发音很难,尤其这个“余”,他们根本读不出来。所以我就用“YJango”来代替。
我是日本会议大学博士一年级的学生。我的研究是基于深度学习结合口型的语音识别。很高兴在这里和大家分享。我其他的就不多说,让我直接步入正题。
引入
课程引入
由于人工智能的火热,越来越多的人担心自己的工作会被人工智能所取代。人想要入门深度学习,却发现它很“黑箱”。这一次,就是分享一些我个人的心得:关于深度学习网络的设计理念。分享的内容分为四个部分。
大纲
课程大纲
第一部分,我们谈论人工智能。但到底什么是智能?什么是学习?这不仅仅局限于机器学习和人工智能,也包括我们日常生活的学习和我们自身的智能。对这部分内容的理解,可以帮助我们在随后明白深度学习到底可以做什么,为什么画面识别、语音识别、自动驾驶、机器翻译——大量的应用都可以使用深度学习。
第二部分,当你想要入门深度学习的时候,周围的人都会告诉你要学好线性代数,学好概率,学好编程。但很少会有人告诉你为什么。没有目的的学习是十分没有效率的。所以第二部分,我会简单描述这些预备知识对深度学习起到了哪些作用,为什么需要学好这些内容。
第三部分,知道了什么是学习之后,我们再来看看学习到底难在哪里。为什么深度学习如此高效?它相比浅层学习算法有什么优势?它适合什么问题,又不适合什么问题?因为我们想要搞清楚如何设计出合理的深度神经网络,自然要针对深度神经网络为什么高效这一点来发挥它的长处,避开它的短处。
第四部分,虽然深度学习没有定性的理论,但是明白它为什么高效这一点之后,就可以相应的列出几条设计性原则。读新论文的时候,我更关注的是他们如何从这几条原则出发设计他们的网络的。
最后,给想要进入深度学习的朋友分享一些我自己做的材料。
2.何谓学习
提问
为何需要智能
第一部分智能,何为学习?智能能够做到的事情太多太多,实在难以用一句话给出一个让人幸福的定义。所以让我们从另一个角度来切入,为什么生命需要智能?智能的作用是什么?
智能为生存
而这个答案却是唯一的——那就是为了生存下去。
生命游戏
现在假设宇宙还没有产生生命,我们来想象一个生存游戏。这个生存游戏和右上角的小游戏差不多,就是躲避危险,从而尽可能长的生存下来。要注意的是你这时候要清空大脑当中所有的知识,你并不知道这个游戏怎么玩,所有的规则都是随机的。并不是说碰到绿柱子就会死,那稍微抽象一下就可以得到左边的这个模型。A、B、C、D表示不同的环境,个体在接受到环境的刺激后会产生靠近或者远离的行为,结果就是存活或者死亡。这时候环境就是输入X,个体是关联F,可以叫它Function,Mapping,我在后面都喜欢叫它关联。行为是输出Y。
假设游戏的规则是,假设B和C都是危险的,靠近就会死亡。也可能A和D是危险的,这是随机的。同时个体的关联F也是大自然随机生成的,个体的行为都是随机的。
![[Pasted image 20240817150052.png]]
提问
如何延续 生命游戏
如果你是大自然的造物主,你要怎么在上述的条件下设计出一个可以一直自我延续下去的生命?
方案一
暴力破解 如何延续
比较直接暴力的方式就是不断的随机生成,总有一个个体会满足条件的。比如说这个硬射用01表示,B10表示C,表示远离0,表示靠近1。当B和C出现时,我们希望个体也会产生1这个数字。
挑战
环境变化 暴力破解
但这个时候我们追加另一个规则,环境会变。就像这个小游戏,如果环境在第二关变成没碰到柱子就会死呢?我想应该有人玩过马里奥,你会用以前玩马里奥的方式去玩它,但结果就是各种死。所以当环境变成A和D是危险的时候,这个生命就会死亡。所以即便一个个体非常幸运的产生了能够满足生存的关联F,也会在下一次环境变化的时候重新化成无机物。
如果还用随机生成的方式,生命永远只能在最初的阶段停留片刻,无法进入到下一个阶段。
方案二
适应变化能力 如何延续
因此生命要延续就需要一种能力,可以适应变化的能力。这也是对智能的描述:Caligence is the ability to adapt to change:生命是适应变化的能力。于是大自然是靠大量的个体不断的繁殖,并且该繁殖过程中并非完美的复制,而是会产生变异。变异的个体就有机会适应变化后的环境而存活下来,无法适应环境的个体会被筛选掉。筛选下来的个体大量继续大量「繁殖」,产生「差异性」,迎接下一次环境的「筛选」。筛选后的结果变成进化,进化出适合当前环境的关联。
用这种繁殖、变异、筛选的动态循环就可以形成能相对稳定存在的生命。游戏的关键在于「关联的更新速度要大于环境的变化速度」。所以自然界很多生物大量繁殖这一行为并不浪费,它增加了可供筛选的样本数量,防止环境变化后个体全部被筛选掉。
补充
视频
这个视频是关于"RN是生命的权利"的视频,如果感兴趣的朋友可以下载我的PPT来自己观看。
智能关联
这张图粗略了展示几个概念之间的关系。大量的智能关联,虽然我这里写的是智能,但我想描述的是那个function,是靠DNA来存储的。而DNA的复制会产生变异,造成差异性,差异性又反映于个体。变异的个体会被环境所筛选,个体的死亡对种群起到了改造作用,进而对智能关联进行筛选。
![[Pasted image 20240817153125.png]]
总结
智能关联
那么对上述的内容进行梳理,就会得到下面的几个总结:
-
进化的对象不是个体,也不是基因,而是「智能关联」。个体的生死对种群只是起到了一次更新的作用,而基因相当于硬盘,存储在上面的智能关联才是核心。进化的过程就是智能关联在筛选的过程,筛选出符合当前环境的关联。
-
寻找关联F的过程就是「学习」,自然选择的动态过程就是一种以种群为单位的学习方式。
-
智能是适应变化的能力,智能的核心部分有学习,关联的寻找。在低等生命中对应的是自然选择,其次是延续关联的存储,将学到的关联延续下去。别的星球可能产生过生命,但是就没有技能在那个星球稳定存在,又可以完成自我延续和复制的机制。所以《普罗米修斯》当中将DNA称为外星人留在地球上的火种。
-
最后是决策,关联的应用,应用所学到的关联产生不同的行为来躲避危险。DNA上存储的关联好比是工具的蓝图,而各式各样的蛋白质就是根据蓝图造出的工具。这种工具是由自然选择来绘制的。你会发现你所认识的智能可能不太一样,所以过于简单。因为刚才的描述仅仅是停留在蛋白质层面上的低等智能阶段,靠这种方式存活的生命是病毒,仅有保护型蛋白质外壳和DNA或者RNA可以进行复制。但是单个蛋白质能够完成的任务十分有限,为了增加适应变化的能力,大量的蛋白质组合在一起并行的工作。同理,大量的细胞形成组织,再到器官系统,个体团体国家,网上行动,完成的任务就越复杂。
![[Pasted image 20240817153942.png]]
互联网思维视频
我想用下面的这段视频让大家感受近几年所推崇的互联网思维,其实始终都存在于你我的体内,只是科技让你我的连接速度提升后才得以凸显。我们自身就好比一个工厂,内部有大量的蛋白质在并行的完成各项生理功能。而处在互联网时代的我们和体内的蛋白质本身上没有什么区别,你并不是单个生命。自然界无法瞬间产生特别高级的智能,高等智能和低等智能生成的。
提问
意识的作用
大量的生物用低等智能的方式就可以很好的生存,当然我们依然想要弄清高等智能的原理并服务于我们自身,因为我们的环境更为复杂。高等智能这句代表性的就是可以思考,但是思考的原理实在是难以解读,还是用老方法主要问为什么会进化出意识,允许我们思考它能够解决什么问题。
强调
更新速度
环境的变化是随机的,所以进化并没有什么方向,但是却有着增加差异性的趋势。还记得生存游戏的关键吗?那就是关联的「更新速度」要尽可能大于环境的变化速度。
方案
有性繁殖 更新速度
而增加差异性就是增加了更新的幅度,通过自我复制的方式能够产生的差异性还是相对较弱的,所以自然间慢慢开始产生的有性繁殖。两个不同的个体仅仅交配增加基因的差异性,但是有性繁殖带来了一个问题:如果生命不可以移动,那么个体只能与周围的个体进行繁殖,这一区域就始终都是那么几种基因关联,有性繁殖差异性的能力就会被限制。
方案
大范围移动 更新速度
所以为了洗牌大范围移动成为了必然需求,即便是植物这种不可以移动的生物也会利用果实让动物帮助他们来传播种子。大范围移动也带来了一个问题,那就是环境会随着移动而变化,个体在上一个环境当中通过学习得到的关联在下一环境当中并不适用。比如说你将热带植物放到沙漠当中,不同的环境会杀死的。
方案
自然选择的问题
这个时候就需要新的学习方式,如果还用自然选择的方式显然不可行,因为增加了移动感官的能力,个体的生长周期变长。设想一下花了好几个月生下来的小动物,走一步掉坑就摔死了,那么几个回合下来这个物种就灭绝了,他们承担不起自然选择这种试错学习方式所带来的代价。
较好方案
预测
于是大范围可移动生物而言,他们需要在原有智能的基础上增加另一项能力:「预测」,关联不再是简单的应激反应,不再是从环境到行为的关联,而是从过去事件到未来事件的关联。生物会利用意识在大脑当中模拟自己与环境的关系,通过预测下一步甚至下几步会发生什么从而进行决策。这就和下棋一样。
提出
神经细胞
神经元细胞内部大量的电解质可以控制电离子的进出,竟然有了控制电的能力,他们用不同的频率来表示不同的状态。大脑当中的神经网络就有了模拟环境的变化与状态的能力,而且生命以个体为单位学习,两个空间的关联不再是自然选择这种以种群为单位的学习方式。
信息推动决策
而决策需要依据这就需要生命有感知能力,感知周围的信息。
画面识别
信息推动决策
![[Pasted image 20240817160117.png]]
我们以深度学习所擅长的画面识别为例来看看它到底在做什么,同时进一步了解建立两个空间的关联这一概念。这里列出了四个不同的生物和人类的视觉差异,而这引出了一点知识:
-
人眼所看到的并非是世界的真相,而是适合自己生存的一种感知方式。因为蛇的猎物一般是夜间行动的,所以它就进化出了一种可以在夜间也能很好观察的感知系统——感热。任何的感知系统都是将光线与大脑中的概念进行关联的,相同的光线经过不同的视觉系统会得到不同的感知。所以画面识别实际上并不是识别这个东西本身是什么,而是寻找人类的视觉关联方式并再次应用。
-
如果我们不是人类,是蛇类,那么画面识别所寻找的关联就和现在要找的关联不一样。
-
但X代表的是画面,Y代表的是大脑中的概念,那么神经网络完成的就是画面识别任务。
-
如果X代表的是说过的话,Y表示即将要说的话,那么神经网络所完成的就是语言模型。
-
当X代表的是英语,Y代表的是中文,那么神经网络完成的就是机器翻译任务。
神经网络就是从很多个输出的例子当中寻找能够解释这两个空间的关联,就像y等于ax加b这个线性方程,给你两个例子让你确定A和B一样,确定后就可以在以后的活动当中利用所建立的关联这个f,根据输入特定的x得到我们想要的y。
预测模型
但是自然界的关联可不是像线性方程那么简单,而代表着高等意识高等智能的意识允许我们在脑中预先模拟接下来会发生什么,从而决定下一步的行动。一个人的一生就是在不断的建立自己所处环境当中各式各样的预测模型,形成一个世界模型,你可以叫它世界观。
比如茶杯坠落会发生什么,如果有枪会怎样,人站在高处会预测自己坠落的后果,所以害怕。
模型更新
随着环境的变化,所建立的预测模型也需要跟着更新。比如我们现在生存的环境就和古人不一样,有投资项目,未来的几个月股票房价汇率等变化,所以你可以看到我们作为一个生命体始终都在适应着这个时刻变化的世界。
智能的能力
智能的内容在于关联,核心在于学习,但这不仅限于此,它还有围绕着关联和智能的其他能力。除了建立关联外,还有核实、搜集数据,因为我们是从历史经验当中学习。还有核实更新已经建立好的模型,什么时候使用哪一个模型,这些都属于智能。
时刻预测
比如说人脑的预测实际上是双向的,它会时时刻刻预测即将发生的事情,并将实际发生的事情与自己的预测进行比较。通常这个过程不会得到你的注意,只有那些与自己预测不符的事件才会得到你意识的注意。
阶梯突增三厘米
时刻预测
比如说你不会注意每天都走的楼梯,但是这个楼梯当中的某一个阶梯突然高出三厘米时,你就很容易察觉,瞬间就察觉了。这种与自己所建立的模型冲突的事件会更容易被记住,并且作为训练数据搜集起来,用于以后的学习。为了让你更好的预测,更好的生存。
学习终生发生
所以思考的目的就是在预测,而人的一生始终都需要学习,因为世界在不断的变化。
成人与小孩的学习
学习终生发生
并不存在小孩子比成人学习能力强这么一说。之所以会遭到这种现象,是因为人们依赖自己的世界模型。小孩子并没有构造出完整的世界模型,所以DNA当中进化出来的本性,让我们小时候充满了好奇心,会什么都好奇,什么都学习。而成人已经建立了较为完善的世界模型,需要有一种保护机制防止被别人忽悠。如果你还像小孩一样什么都学什么都关心,那么很容易就会被洗脑。但是成人也会更新已经建立好的观念,比如说如何说服一个成人,叫好的做法就是描述一个世界,这个时候他会不由自主的预测结果。但当你告诉他他的预测是错误的时候,他就会得到原来自己已经建立的模型并不可靠的这么一个信号,会打开抵制学习的保护机制来更新自己的模型。
意识不可并行
其次智能始终是并行的,都是并行的,唯独意识不可以同时存在存在于两个地方。连因之一就是在于意识必须在用在某一个时刻决定要用哪一个关联。我们的四肢有各式各样的关联,有骑车的,有跑步的,他们都共享相同的四肢,意识会起到调控作用。我们现在的人工智能还没有达到意识的层面,仅仅是建立两个空间的关联而已。所以画面识别、语音识别都可以很好的完成。当然我们会在这个技术上逐步迈向意识的。
3.人工智能
人工智能
第二部分人工智能,「智能的核心部分有学习、存储和应用」。在自然界当中有自然界的实现方式,而人工智能就是要将这种能力在「机器上实现」。
建立存储应用
人工智能
比如说我们不靠蛋白质而靠机器来应用关联,不靠DNA而靠电脑来存储已经学到的关联,不靠自然选择而靠机器学习算法来建立关联。大家的目的都是为了做出更好的决策,更好的生存下去。
提问
所需知识
那么实现这一目标需要哪些知识?
关联
状态与变化
世界是不断变化的,会从一个状态变化到另一个状态。这里就牵扯到两个概念:状态与变化。应该如何准确地描述状态与变化?进化出能够感知三维世界的我们习惯在三维世界下描述物体,然而除了长宽高,世界上还有很多决定事物状态的因素。比如决定股票价格的因素,决定天气的因素就不止三个。甚至我们生存的世界可能并非三维,仅仅是因为三维空间感知已经足够让我们很好的生存了,我们并没有进化出感知更高维度的能力。但是这些高维度的状态与变化又该如何描述?
线性代数
所需知识
线性代数就是用来描述「任意维度」空间下的「状态与变化」的学科,而线性代数当中的「矩阵」就是「存储着状态与变化信息的媒介」。
概率
所需知识
但通过现象代数我们知道了该如何描述事物的状态及其变化,可是遗憾的是对于一个微小的生物而言,很多时候信息都是缺失的。我们没有办法百分之百确定事物在变化后会达到哪一种状态,甚至世界的底层都是建立在纯基础之上的。因此我们需要概率,在这种情况下帮助我们预测未来状态,从而做出合理的决策。
编程
所需知识
同时既然我们想要在计算机上实现智能,那么就需要懂得如何将自己的想法在计算机上实现。但你不需要什么都懂,你特别需要明白的是如何在计算机上操作,存储状态与变化的矩阵。
4.学习难点
概述
学习难点
第三部分学习的难点。知道了什么是学习之后,我们再来看看学习到底难在哪里。这一部分的理解直接决定了你对神经网络的设计理解。
学习F
学习是要从历史经验当中训练出一个关联F,希望可以利用这个关联F来解决新的问题。
高考
学习F
就拿高考来说,我们通过做历年的真题来训练,方法是不断的做题并且对照正确答案。等到高考的时候,当看到新的题目X时,我们希望利用自己已经训练好的关联F这个解题方法来得到正确的答案Y。而我们真正关心的并不是已经做过了的历年真题,而是高考。
学习难点
所以学习的难点在于需要在未见过的任务上仍然表现得良好。
高考题
那来考虑一个极端的情况,假如说高考只有四道判断题,那么只需要记住这四道题的对错,高考就可以拿满分。可是实际的情况是高考所能出的题却是无限的,而我们能够训练的历年真题有限。
识别猫
又比如识别猫的图片,猫会有各式各样的形态、表情、颜色、大小,各种各样的变体。而我们没有办法穷尽所有的猫,该如何从有限的图片样本当中训练出一个可以叫好判断一张图片是否为猫的关联呢?
有限例子找F
学习F
学习就是需要从有限的例子当中找出合理的关联。
题海战术
学习F
一个方向就是训练更多的数据,看到更多的情况。比如有的同学就用题海战术,这就是这些年大数据对人工智能起到的作用。而单靠大数据是不足够的。
抓住核心
另一个方向的例子就是那些只做一两道题就可以抓住问题核心的学霸,而这个实际上才是深度学习在自然界的任务当中超越其他机器学习算法的关键,也就是加入了先验知识,调整了假设空间。
难点
重点问题
当然学习是数据越多越好,但是为了明白为什么光靠大数据是不足够的,我们需要明白以下几个问题。
问题一
高纬数据处理
第一点,上面提到学习的第一个方向就是见到更多的例子。可是当维度越高情况就越多,就越没有办法见到所有的情况。只考虑离散的简单任务,一维的时候有10个情况,二维的时候就100种了,三维的时候就1000种了。维度越高我们越没有办法见到所有的情况。现在一个普通的任务就有上百维,甚至是连续的,而且是连续的数据。那么那些没有见过的数据该如何预测?一般的方法是取左右两个见过的数据的平均值。但是这个在高维情况下这种做法十分不可靠,因为它不像一维数据那样规则,而且是有激烈的凹凸。那么想预测的可靠就需要更多的数据,并且是不一样的数据。这个在现实中即便是大数据也难以实现。
问题二
关联F不单一
其次呢是关联F的寻找,我们是靠历史数据来训练关联F的。但是能够解释历史数据的关联F并非唯一。比如说我想要两个数字相加等于10,可以让其中一个数字为1,另一个数字为9,也可以让其中一个数字为-299,另一个数字为300。二者都能完成任务,这就会造成我们寻找的关联F可能会完美的解释训练数据,但是却没有办法保证在新的预测中依然能够完美预测。
图片预测问题
关联F不单一
比如这两张图片,左边学习到的关联可以完美的预测训练数据,但是在实际应用在训练集上,这红色的部分却预测错了。实际想要一个非常规整的双螺旋,
![[Pasted image 20240817165642.png]]
高考解题方法
关联F不单一
又比如说高考,能够解题的方法有很多种,有的非常巧妙,但这些巧妙的解题方式可能只是用于个别题目,其他的题目就不再适用。学生可能找到了一种可以解除他所有已经做过的题的解题方式,但是却没有办法保证该解题方法在高考上是同样有效,而这个就引出了无免费午餐定理。
无免费午餐
这样关联F是无限的,那么寻找关联F能够解释X到Y空间的关联F,好比是大海捞针。不同的机器学习算法只是更擅长在某个海域打捞而已。如果你重点打捞某个海域,那么其他的海域就会被忽略。所以如果想要打捞的关联F可以存在于大海当中的任何一个地方时,那么深度学习并不会比其他的机器学习算法更优秀。这种情况下任何两个机器学习算法都是等价的,这就是无免费午餐。
特定海域
深度学习
但这是不是意味着深度学习并不优秀呢?并非如此,因为自然界当中的很多任务关联F并非像我之前所说的可以出现在大海当中的任何一个位置,而是会集中出现在某个特定的海域。而且符合自然物理现象的特定海域,而深度学习就是擅长打捞该海域的机器学习算法。
深度学习
深度学习就我先前所说的学习的第二个方向,加入的先验知识,调整假设空间。
提问
先验知识
该如何理解加入先验知识呢?
猜事物
先验知识
比如说你想让你的朋友猜你大脑当中想的一个事物,这个难度是相当大的,因为你的想象可以是任何一个事物。而你的朋友通常会要求你把范围缩小,给他一个范围,比如说食物也可以,进一步把范围缩小到水果,那么他就不需要在所有的事物当中乱猜,更容易猜到。
密码破解
又比如说如果我们没有办法见到所有的变体,大概如何是好的。二战的时期,德军的密码机可以生成成千上万的密码,而英军,包括图灵在内的数学家来破解,直接破解他的加密原理。我们应该也像破解密码那样破解自然界的这些变体,到底是如何生成的。那么我们就不再害怕变体了,问题就来了,自然界的变体用什么样的特点?图灵他们是靠原文和密文之间不会出现相同的字母这一特点来破解密码的。那么自然界当中这些生成的变体,用什么样的特点呢?
并行组合
先验知识
这个就引入了第一个自然界的先验知识——并行组合,也就是深度学习当中分布式表示的色象。
学习八个苹果
假设我们有八个不同的苹果,用一般的学习方式我们需要见到八种不同的情况才可以完美的学习。但如果我告诉你这些不同的苹果是由颜色、大小、形状三个因素组合形成的呢?假如每个因素有两种情况,那么我们只需要学习好这六种情况即可。我们需要见到八个变体,所以你会发现加入了变体是由不同因素组合形成的这一先验知识之后,我们降低了学习所需要的数据量。
而椭圆其实也有变体,什么样的形状是地球,我们可以依照相同的思路继续分解下去,进一步降低训练所需要的数据量。
![[Pasted image 20240817172616.png]]
人脸识别
人脸识别为例,各式各样的人脸是由五官组合的,而各式各样的五官又是由不同的形状,这些棱角组合的,不同的棱角又是由像素点组合的。我们可以一直这样拆分下去,降低训练所需要的数据量。
![[Pasted image 20240817172724.png]]
化学物质组合
但是这样的拆分方式是有前提的,因为我们知道世界是通过组合形成的。一个氮原子加两个氧原子形成二氧化碳,三个氧原子形成臭氧,同时又不是线性组合。
![[Pasted image 20240817172958.png]]
神经网络变换公式
所以我们来看神经网络最基本的变换公式,每一层都是将x内部的因素进行组合,进行线性组合再加入非线性的能力得出一个y。仿照着大自然变体的生成规律,而训练神经网络就是给大量的x和y,让你求得w和b。就像线性方程组y等于ax加b,给你两个例子让你求解a和b一样,在第一部分我们也提到了人体其实也是有这种组合方式形成的。所以神经网络非常适合做画面识别、语音识别。
![[Pasted image 20240817172948.png]]
浅层神经网络的缺点
如果在一个完全不同的物理世界当中,可能是其他的平行世界,事物和我们人体可能就不是以这种组合方式形成的。那么以这种拆分方式学到的关联就没有办法很好的完成生成数据的工作,所得到的预测也不会可靠。但到目前为止所讲的仅仅是浅层神经网络为什么优秀的原因。
提问
深度高于浅层
一个具有一个隐藏层的神经网络,只要拥有足够多的节点就可以模拟任何的数据。但是为什么深层神经网络比浅层神经网络要优秀呢?其实在那个椭圆的部分,大家应该就已经可以感受到了,就是将拆分后的因素再次拆分,可以进一步降低训练所需要的数据量。
迭代变换
先验知识
而这里实际上已经增加了第二条先验知识,那就是迭代变换。
飞机和坦克公用分子层
我们知道原子会形成分子,而事物是在分子所形成的原子的基础上进一步迭代形成的,并非再从原子重新开始。飞机是由原子到分子再到各式各样的零件组合而成的,坦克同样也利用到了相同的分子层。并不是说坦克就利用了另一个世界的分子层,所以虽然作为图片,坦克和飞机是不同的样本,但是他们都共享着相同的分子层。这就意味着当你使用深层神经网络来训练飞机样本时,会间接的对坦克的样本进行训练,降低了训练所需要的数据量。
图展示
那以这两个图作为例子不是很好懂,这个图的左边是神经网络的连接图,右边是变体之间的关系图。接触在一起的圆圈表示一个节点可以取得不同数值,分开的圆圈就表示不同的节点。如果用浅层神经网络来算的话,那么每一个变体,加入说有八个变体,每个变体只会被拆成服务于它自身的因素,并不会对其他的样本起到作用。但如果用深层神经网络的话,像下面这个图就容易在abc这三个因素之间形成共享。那么你在训练3到0的这个样本时候,就会对其他所有共享着ABC的其他样本起到了间接训练作用。
![[Pasted image 20240817173924.png]]
模块编程
在我们编程做比较,我们不会一步到位的编程,而是会分成很多小模块。这些小模块可以在不同的需求下都适用,也就是共享。这样就不需要在每遇到一个细微变化时就重新编写一次。
前馈神经网络
目前描述的网络叫做「深层前馈神经网络」,变换只会一层接着一层,不同层之间不会有跳跃,并且组合只能在同一层内的因素间进行。想象如果一个网络当中某个节点可以跟其他的任何一个节点连接,那么这样的网络就没有任何的侧重,这就好比你在找人的时候被告知他无处不在和他哪儿都不在,这就相当于没有加入先验知识,没有缩小寻找关联的海域。
所以前馈神经网络的这种逐层变换的方式很好地缩减了训练所需要的数据量,因为这种组合方式比较符合自然界物理形成规律。所以深度学习并不会在所有的任务当中都强大,但是会在很多自然形成的数据当中超越其他机器学习的算法。
关系
生命与环境
回过头来再来思考生命和环境的关系,环境会变得越来越复杂。热力学第二定律讲自发性增加,但是复杂是在原有因素的基础上依照物理规律形成的各种变体。比如原有原本只有N个因素,如果每个因素可以取两种不同的状态,那么就有2的N次方个变体。而生物学习就是将这些变体再次拆分成因素,同时得到一个关联F,它是如何组成的。这个关联就是知识。
总结
两个先验知识
我们目前学到的前馈神经网络,引入自然界两个固有的先验知识,
-
并行:「新状态」是由「若干个因素」z并行组合形成的。
-
迭代:「新状态」是由「已经形成的状态」再次迭代形成的。
缺点
神经网络
前馈神经网络几乎可以适用于所有的任务,但是它「非常的一般化」,所提供的「先验知识针对性很低」。「先验知识不够针对」,那么「训练所需要的数据量就会变大」,并且训练之后那些噪音所形成的规律也会被学习到模型当中,而这些规律并不是我们想要的。而神经网络的其他变体,比如循环神经网络、卷积神经网络,就提供了十分具有针对性的先验知识,可以缩小寻找搜索的海域面,排除掉那些造因规律所带来的额外干扰。
视频花的状态
两个先验知识
不同的神经网络变体,其关键就是在于你向其中加入了不同的先验知识。我希望我用这个视频来让大家感受一下,自然界当中并行组合和迭代变换这两个先验知识。你可以看到这些有很多个点,这些点共同并行一起决定了这个花的状态。而新状态又是在原有状态的基础上发展的。
5.设计理念
引入
应用
铺垫了这么多,终于到了核心部分。知道了深度学习为什么高效之后,对一样的如何设计网络我们也有了相应的指导。
误区一
万能
深度学习并非万能,使用深度学习的前提是你的数据可以使用这样的「先验知识」。不然就像你用解英语题的程庙方式去解数学题一样。
误区二
固定形式
其次,深度学习没有固定的形式。不要认为循环神经网络就是循环神经网络,卷积神经网络就是卷积神经网络。如果你以这种方式去学习神经网络,那么你这辈子都学不完,因为网络的连接方式是无限的。
因素的拆分与共享
你需要抓住两个核心:
「因素拆分」和「因素共享」。每一个层内节点表示的是因素,这些因素共同描述事物的一种状态。这些状态可以逐层发展,发展后的状态又可以进行合并或者拆分来进行下一个状态的变换。
你可以把一个方框视为神经网络,而神经网络又可以继续与其他的神经网络形成更深的神经网络。比如卷积层处理完的输出可以接着再进行循环层的处理。右图最后的这一层的神经网络的因素就是由三个神经网络提供的。不同的神经网络的因素之间可以进行相加,也可以进行合并,合并成更高维度的状态。
![[Pasted image 20240817180547.png]]
建议
理解神经网络的拆分与共享
设计神经网络更像是玩乐高积木,但是玩的规则在于如何拆分因素,如何使不同的样本之间形成因素共享。所以在看到很多新网络结构时,请务必考虑他们是如何考虑因素拆分和因素共享的,他们的结构是如何考虑这两点的。
层
这两年虽然大家习惯叫循环神经网络、卷积神经网络,但是请以层的概念去理解他们。层是指从「一个状态到另一个状态的变化,这个变化才是层」。
引入
循环层的因素共享
那么下面就来看看循环层和卷积层是如何利用因素共享这个先验知识来降低训练所需要的数据量,同时排除噪声规律所带来的干扰。另外记住,卷积层并不是只是针对画面识别,循环层也并不是只针对持续信号。关键在于时间共享和空间共享。
![[Pasted image 20240817190658.png]]
循环层的时间共享
如果使用前馈神经网络来处理持续信号,需要将前后所发生的事物状态变成一个更大的向量,这样每一个维度每一个维度的权重都需要学习。即使当中很多的因素都是无关紧要的,都是冗余的,并且这样的处理方式只能处理固定长度的持续信号。长度不足时需要补零,但如果我告诉你不同时刻的状态,这些不同时刻的状态都是由相同规则进行处理的,那么每一个持续序列中,这一个持续序列中每个时刻的状态都可以为权重的学习提供帮助。
比如在前馈场三个时刻,只能对这个WxH进行一次学习,而在循环层当中的三个时刻可以对WxH、WxH’、WxH’'进行三次学习。不同时刻的状态由相同规则进行处理的,这就是循环层加入的「时间共享这个先验知识」。因此这种处理方式的原因是,世界上很多的数据都符合这种时间共享的规律。
乐器不同时刻
循环层的时间共享
比如你在演奏音乐的时候,每个音乐的每个乐器它的物理特性在时间维度上是不变的,并不会说你这个在吹笛子的时候吹一会吹着吹着把它吹成二胡的物理特性了。
注意
循环层的两因素流
同时需要注意的是,循环层当中有两个因素流,一个是从输入得到的,另一个是从上一个时刻得到的。所以你可以看到它有两个权重WxH和WhH。
选择
时序预测的网络选择
用前馈神经网络做时序预测相当于徒手捏个陶瓷,费时费力不说,你又没有办法保证每一个角度都是相同的。
而用循环神经网络做时序预测相当于使用转盘,摆出一个手型之后,每一个角度都是以这种手型方式去捏制的。
人们常说循环神经网络比前馈神经网络要好的原因在于考虑了更长的历史信息,但我曾经做过实验,使用相同长度的历史信息将二者进行比较之后,循环神经网络依然比前馈神经网络要好,可能一定程度上验证了共享的作用。
双向循环神经网络
另外双向循环神经网络的它是两个循环层的堆叠,堆叠后有两种合并方式,一种是将所有的因素都相加,另一种是将因素合并成一个更大的向量。我在所有的实验当中,相加的效果都要比合并的好,也可能是因为第二个方向起到了限制作用,只有那些记忆可以在正向产生某种规律,又可以在反向产生另一种规律的关联F,这二者同时达到这个条件同时满足时,这个关联F才会被我们采用。
卷积层的空间共享
上述提到的是时间共享,还有空间共享的卷积层。前馈神经网络同样可以进行画面识别,但如果使用前馈神经网络学习这是一张图片,那么在这个例子当中就需要学习8989是一个权重。但是如果知道这些权重在空间下是共享的,那么我们局部共享的,那么我可能就只需要学习9个权重。
人眼观察图片
卷积层的空间共享
原因在于我们的眼睛在观察的时候,并非是将整个图片全部映入眼帘,这是一个区域一个区域扫描,像这种这是我们实际观察的图片然后再进行处理,将这些信息进行整合。每一个区域扫描的规则都是共享的,你的眼球不会在扫描这个区域的时候是人眼,扫描到下个区域了变成猫的眼睛。
设计原则
设计神经网络实际上是对假设空间进行调整,也就是说你选择在哪一片海域去寻找你的关联F。这里我总结了四个设计原则:
-
增加共享,降低确定关联所需要的数据量。如果你知道大致的哪一个海域之后,你就可以用更少的渔网去打鱼。
-
增加惩罚,我们事先可能知道关联F或许不满足哪些特点,那么一旦这种特点的关联F在训练时被找到的时候,我们就对结果进行惩罚。提到了筛选的作用,还用打鱼做比喻的话,就是那些不符合条件的小鱼会被大孔的渔网所筛选掉。
-
优化起点,我们优先从哪一片海域开始寻找,找不到我们再找其他的海域。
-
降低变体的数量,变体的数量越多我们就需要见到越多的情况,见到越多的数据。所以我们可以运输的数据将变体数量在学习之前就降低下去,比如说将数据减少平均值或者除以标准差。
说明
任务决定方法
神经网络其实并不黑箱,黑箱的是你要求解的任务。就像高考的难点不是在于你不知道你等待的题目是什么,神经网络也像是料理,并不是一种方式适用于所有的食材,你要根据你的食材特点选择合理的。
那么接下来我再看看应用这些设计原则的各项技术。
迁移学习
迁移学习利用了知识共享这一特点,将一个任务当中已经学到的关联应用到其他的任务当中去。
画面识别
比如画面识别,我们用大量的光线到概念来学习,我们的视觉系统画面识别的前几层其实就可以想象成是人的眼球是如何将光线关联到视网膜上的,而后继层可以想象成视网膜上的成像又如何逐层抽象成图形概念的。
虽然很多的图像识别这一部分不太一样,但是如果将已经训练好的用于识别动物的神经网络的前几层这一部分拿出来,这个f1拿出来用在识别植物的神经网络当中,在额外加两层同样使用,毕竟大家都是人眼,这个f1很大程度上是共享的。这个就是迁移学习。
![[Pasted image 20240817191228.png]]
多任务学习
多任务学习其实和迁移学习使用的是相同的先验知识,只是利用的方式有些许的不同。迁移学习是将已经学到的知识用在另一个共享着相同知识的其他任务上,而多任务学习是在训练的时候共享着「相同底层知识」的其他任务的数据来一起帮助训练,可以起到过冲数据量的作用,同时寻找的这个关联f会更加优秀。因为不同任务对底层的这个共享知识同时进行了约束,只有满足两个任务的这个关联f才会被采用,就排除掉了那些只符合单个任务的关联f。![[Pasted image 20240817191350.png]]
跨层组合
划层组合这是另一条先验知识,我们知道前馈神经网络是不允许跨层组合的,但是在现实当中是否有跨层组合的,他有没有什么潜在的好处。
判断一个人
跨层组合
比如我们在判断一个人的时候,很多时候我们并不是观察他的全部,或者给你的图片本身就是残缺的。这个时候我们会靠利用单个五官,再加这个人的着装,再加他的身形来综合判断这个人,这样即便这个图形本身是残缺的,也可以很好判断他是什么。这和前馈神经网络的先验知识不太一样,前馈神经网络不允许不同层之间之间的因素进行组合。但是这个允许不同层之间的因素进行组合,残差神经网络就是用这种特点的神经网络。
![[Pasted image 20240817191632.png]]
注意
理解角度
大家喜欢用机器学习的方式去理解为什么残差网络更为优秀,我这里只是提供了一个以「先验知识的角度」去理解的方式。需要注意的是,每一层并不会像我这里所展示的那样会形成明确的五官层,只是有这样的组合趋势。你实际没有办法保证神经网络到底学到了什么内容,因为你对他的隐藏层并没有加入限制,你只是对他的最后的输出层给了一个target,给了一个标签。
蒸馏学习
蒸馏学习基本质仍然属于监督学习,但是将知识以不同的方式学习。一般的监督学习是将学习到的权重直接应用在新的模型当中,监督的是权重,而蒸馏学习迁移的是标签。
老师与学生
蒸馏学习
比如这张图形当中有两个模型,一个模型是叫做老师,另一个模型叫做学生,他们完成的任务是相同的。但是这个叫老师的模型拥有更好的特征,可能有额外的信息,而这个叫学生的模型由于实际应用的约束无法使用这样的特征。蒸馏学习的做法就是先训练老师模型,用老师模型的预测值作为一种额外的标签,再和学生模型自己的标签一同使用来共同限制关联F的寻找,让我们帮助学生模型寻找到更好的关联F。而这个帮助过程只是发生在训练阶段,实际使用当中只是用学生模型。
![[Pasted image 20240817213429.png]]
参考答案和家教
蒸馏学习
这就好比一个学生在做题的时候,他既有参考答案,又有一个家教的指导。虽然家教无法代替学生去考试,但因为有家教的辅导,这个学生会比没有家教辅导的其他学生更容易学习。虽然作为叛逆学生的我不喜欢承认这一点,因为不需要使用老师模型,这种技术也用于压缩深层神经网络的大小,同时也应用于那些只有训练时候才可以得到的额外信息的这种任务。
语音口型识别
蒸馏学习
我硕士的研究结合口型的语音识别,就这种特点的任务。我不能在识别一个人说话的时候,在他的嘴里放一个用于测量口型移动的机器,口型数据只可以在训练的时候作为额外的信息来帮助我训练出来更好的一个学生模型。
自动编码器
自动编码器(Auto Encoder)是利用先验知识,这个并行与迭代的这两个先验知识来操控变体的一种技术。当它用作生成模型的时候,它就可以仿造自然界的生成变体的方式来生成不同的变体。
图形例子讲解
自动编码器
比如说我输入一七,它就可以利用自然界的变体生成方式来生成各式各样的种子。当它用作特征工程时,实际上就是"to disentangle the factors of variation",拆分不同变体的因素,达到降低变体数量的作用。所以会从减少,比如说第一层有八个不同的变体,那么第二层我拆分成三个像苹果那样的,不断的拆分,拆分,拆分,那这样的话它的变体会越来越少,我们所需要的训练数据量就会被降下去。
![[Pasted image 20240817213716.png]]
Batch-Normalization
Batch Normalization,一般的我们会在输入和输出进行预处理,减去它的均值和去掉它的标准差,降低变体数量。但是这个思路一样可以在隐藏层实施,因为输入输出是事物的状态有变体,隐藏层同样是发展的中间状态一样有变体。
端到端
端到端,这一张图描述机器学习的历史,我们逐渐减少的在减少人类知识在机器学习当中的作用,而让机器自己学习知识。假设假设我们现在的输入x是细胞层面,而输出的是器官层面。如果使用传统的机器学习方式,我们会尽可能的人工的去学习细胞层面的输入x是如何可以转换到一个线性可分的空间下去,然后再让机器学习来学习它自己的知识。但这个需要一个专家用一生去学习细胞是如何到达组织层的,并且还难以照顾到潜在的细节。而端到端的思想就是直接消除人工运输理和后续处理,尽可能的让模型利用自然界的先验知识,从输入自己形成到达输出的规则,增加模型的整体契合度。
![[Pasted image 20240817214102.png]]
过拟合
过拟合是指你在学习时过分拟合训练级的数据了。
图示
过拟合
拿这几个图作例子,中间的是拟合的刚刚好,而左边的情况是欠拟合,这都没有分开。而右边的这个情况就过分拟合了。
![[Pasted image 20240817214240.png]]
拿历年真题作为训练级,高考作为测试级来说,
Dropout遗忘
训练神经网络的方式是将若干个样本逐步的送到神经网络当中训练。这些样本当中不可能只包含一种规律,那些细小的细节也能形成规律。如果连续送入网络当中的几个样本都具有相同的细节规律,那么神经网络就会记住它,这就影响我们真正想学习的那个大规律。而使用Dropout之后,每次学习都会遗忘一些规律。这样即使拥有几个相同规律的相同细节规律的样本很偶然的被连续送到了网络当中,也会被遗忘掉。只有当所有样本当中都存在的大规律才会被记住。你的Dropout调得越强,忘得就越多。所以招炮的不仅对测试级的效果起到了作用,同时还对训练级的效果起到了作用,它会让你的训练级的表现降低下去,但它会提高你测试级的表现。
Shuffle乱序
训练的样本不要有固定的顺序,而要实际打乱。这和Dropout的原因是一样的,防止拥有相同细节规律的样本连续被送入到网络当中。
背单词顺序
比如说我们不要一直的从"abandon"一切放弃开始背英语单词一样。
L2保持最简化
Shuffle乱序
L2保持最简化解决方案,不要过于的复杂,不然只能顾及到特例而失去普遍性。
普遍解题法
这就老师为什么提倡你在高考时使用最普遍的解题方式一样。
mini-batch(多题一起做)
这个是多题一起来做相互比较之后得出结果,会让你网络的训练Loss function的降低方向会更加的合理,更加的准确。
两边不同的书
mini-batch(多题一起做)
这就相当于你看两本描述不同的书可以得到一个更好的理解,对于一个概念而言。
nosiy-layer(加噪音)
加入噪音,题目当中加入一些干扰项。你在训练的时候加入一些干扰项,改变考前的环境、教师状态等。这就增加了鲁棒性,噪音会对我们的结果产生影响,改变数据的分布。而神经网络就干脆直接将噪音一起建模到网络当中,将正常音速和噪音音速形成的组合作为最后的结果。
6.AI影响
工具
AI是任务不变额工具
机器、计算机、人工智能这些都是人类自身能力的延伸。这些技术可以应用在任何行业之中,曾经我们是使用锄头耕地,现在是靠机器。曾经我们靠算盘来算账,现在靠计算机。但是机器也好,计算机也好,所更换的仅仅是工具,不是工作内容。我们始终需要锄头,始终需要算账。同样的,人工智能帮助我们的仅仅是建立关联,有了合理的关联F之后,我们就可以根据特定的情况产生相应的行为。人工智能和机器和计算机一样都是工具,它并不会改变我们想要完成的任务。而未来的所有任务都可以依靠这项新工具来实现。
杂谈
内容与说明
最后我上面所讲的内容,你在其他的材料上应该不会看到,因为很少会有像我这么不务正业、这也有好奇、那也好奇、这扣点、那扣点的学生。这些内容都是我个人的思考,相当非主流。我都将他们写在了我中山林的超智能体学义书当中,一个关于如何使用人脑学习、如何机器学习的书。我希望这些内容可以给人们理解生命、理解智能一个不一样的角度。
同时我也写了自己所理解的方式,用自己的所理解方式写了一些深度学习的教程。这些教程和其他的材料不一样,我希望读者能够理解其背后的道理,而不是单纯的搭建一个神经网络完成某个特定的任务,对新任务就无从下手。搭建一个神经网络相当于看着一个食谱做一道菜一样。
最后对于那些好奇的人,虽然我叫余建国,但是我不是国庆生的。就这些,这个怎么问,怎么问问答,怎么做问答,这里然后说吧。这个就开摄像头了,这个就是为何在网络当中流动。
问答
1
基本就是这样一层一层的变化,你可以想简单点理解的话,你可以把它认为是好多一个线性方程再加上非线性能力,不断不断的变化,
问答
以向量的方式流动。
这个问题我不是很理解,维度是如何变化的。如果你的第一层输入层有39位,你的隐藏层第一个隐藏层是1000位,那么他就会从39位变到1000位。你的第二个隐藏层是2000位的话,他就会变成2000位。但最后的输出层如果你要的是一个分类结果的话,那他就会变成你有多少类,他就会变成多少维度。之所以这样做,这个叫做one-hot vector。他这样做的原因和增加变体和拆分变体的原因是一样的,因为尽可能的要让不同的变体之间拆分开,也不让他们纠结在一起。
问答
传统的CTR或推荐系统因为有更高维度特征或者稀疏矩阵,转向深度学习如何高效的呈现。
我对稀疏数据的理解是,它虽然维度非常高,但它其实实际上它的变换方式是有很低的维度变换过来的,它并没有像它的实际维度并没有那么高。所以你可以降下来,这一号不是很了解推荐系统拥有更高的维度,具体问题具体分析吧。你要看你的推荐系统它拥有什么样的特点,然后你来加不同的先验知识。
还有问题吗?喝口水,头次讲这么多话嗓子都哑了。
问答
学习率在人工智能当中是怎么体现的?
因为我们是用梯度下降的方式来寻找学习W和B的。你学习的步伐,你要通过一个样本给了一个样本之后,它会产生对你的神经网络起到一个更新作用。你想用这个样本,你希望神经网络根据这个样本起到多大的更新作用,这个就是学习率。
还有吗?学习率一般都不怎么调节了,用着用着大家都习惯用那么几个学习速率。我一般个人喜欢用的学习速率是e-4,我现在所描述的内容都是比较概括性的,当中会有很多的细节。你在实际的操作过程中一定会遇到的,到时候你需要自己去调节。比如说我在读书,我再介绍一下自己,我在日本会议大学读书,我今年是刚刚开始博士第一年。我硕士的研究是做的是结合口型的语音视频,它的特点是口型数据,比如说嘴舌头是怎么移动的,我只可以在训练的时候获得这些数据。在识别的时候这些数据是缺失的,我不能放个机器也来测量这些数据。所以我只能用这些数据在训练的时候,让我训练出了一个更好的模型。
而我现在博士转了一些个其他的方向,画面是比云是比其实已经导致一定程度了。我们需要在这个基础上来转其他的人工智能方向,所以我现在做的是人类行为建模,比如说用一些个数据来推测这个人会干什么或者是性格识别,通过他的数据来猜测他的性格。然后犯罪预测之类的,这种人类行为建模是我所做的课题。
问答
买课
我没有在买课,我其实我这个并不是很想出版,因为我觉得认知你会不断的更新。这个时候我所认知的东西可能会有一些缺陷,会有一些不对的地方。如果我用电子读的方式,我如果发现不对的地方我可以进行及时的修改。出版了书之后,你就得再版再版之类的。而且书的表达方式它全是文字,现在是多媒体时代,我们能够表达的方式有很多个。你可以用动态图,用视频,用各种图表都能表达。但是书的表达方式我觉得有点受限制,所以我再看吧。如果写到一定程度了,我会把书给出版出来。
尤其是我想要写如何用大脑学习,不单单是机器学习的方式。我觉得大脑学习才是对我真正这些年人工智能的学习,对我真正有效的一个。它彻底改变了我的世界观,书可以在gitbook上看到。但是gitbook可能国内需要翻墙吧,如果打不开链接的话,你可以在看云上看。同时我在支乎也有专栏,当中一些文章。不过gitbook上的书是最全的,所有的内容都是顺序的写下来的,所有的思路都是一条线写下来的。
问答
DPG反向基因算法,其实就是我这里面描述的自然选择。
它是一种动态的学习方式,它的作用是提供label不断的试错。有一个正确的label能够符合环境的label就会被存留下来,它其实是一个提供label的方法。比如说有些项目就是用遗传算法加上深度学习来做这个玩这个小游戏,玩这个小游戏的方式。它这个小游戏是没有label的,那么它就用遗传算法来帮它提供label。
支乎的,我支乎的名字就叫这个y jango。我叫于建国,于外国人发不出来这个音。德国人可以建国的话,他们发的也是建国,所以我就改了一些提了这么个名字。
问答
正则化
就是比如说加L2,就是你在寻找关联F的过程当中,它会有很可能你会寻找出很复杂的关联F。刚才你们应该都没有看到是吧,比如说这一段你可能会找到这么复杂的,这就相当于你想要一个数字的两个数字相加等于十。这个结果是付299加上了300,但你尽可能去寻找那些1加0的,或者0.5加0.5的这种结果。不要让它的过于复杂化,保持它的普遍性,不要在高维的时候用这些偏方做题,保持它的普遍性。
问答
框架
TensorFlow其实我最初用的是TensorFlow,但是那个时候的TensorFlow由于刚开源不是很方便。所以我就转而用的Theano,因为我要做的研究是非常疯狂的那种卷积神经网络的各种改造和组合。所以用Theano比较多,然后后来由于它毕竟人家是大公司,它的发展会非常的迅速。我又看到它其实TensorFlow的发展非常快,所以我又转回了TensorFlow。然后其他的框架我并没有怎么用过,Caffe的我不是很喜欢它那种文本的方式的编程方式。不过我知道它非常适合图像处理。
另一点我之所以会有这种理解深度学习的方式,是因着我的硕士研究的信号不是单信号。不是单独的语音信号,而是既有语音信号又有口型信号,它是一个双信号,两个同步的信号。所以它会给我理解深度学习提供了一个非常得天独厚的优势。
Loss会降低上什么程度,跟你的数据相当有关系。你的数据非常好的话,它就会一直降得非常低。但是你要分开来看,你有训练级的Loss和测试级的Loss。训练级的Loss你如果想的话,它可以降到0,就几乎为0的那种状态,0.00000这么一个状态。但是你如果到达这种状态的时候,它就会像就过拟合这样,使你的测试级非常非常的糟糕。所以你会想要尽可能的去降低测试级的那个,也不是测试级是验证级。你有三个级,训练级、验证级、测试级。测试级你是没有办法见到的,但是你会分出来一个验证级来进行调试。
问答
无监督学习
遗传是可以理解成是寻找Label的,其实我个人对于机器学习,我并不很多人理解的无监督学习只认为是没有Label的学习。但我并不这么认为,你没有Label的话你怎么去建立关联呢?这个无监督学习很直白就是没有监督,你的Label不是由你自己不是由别人来提供,而是由你自己来发现的。那极具类就是无监督学习,它是通过X内部的一些个关系来寻找给它分成几个类。它其实也是有方向的,它要分到哪个位置。无监督学习并不是没有Label,而是这个Label不是由其他人来提供,而是由它自己来提供。
比如说我们人类为什么可以无监督学习学习得那么好,人们常常把这个机器和我们人类的小孩作为比较。我觉得这个非常不公平,因为我们进化了那么多年,你刚生下来其实大脑当中有很多很多个先验知识。你知道这个东西,一个球扔到天空之后,你经过一些个成长之后,你就会知道它肯定会往下落,不会往上落。所以你就不会去寻找往上落的那个标签,但是机器没有这种先验知识,它会去哪都寻找。
所以无监督学习,它是我所认为的前提是你已经有了非常多的关于这个物理的知识的基础上。你可以自己具体更Label,密集人群当中识别人,有些人只露出部分的身体有什么方法。你还是给他提供Label,但我觉得这个残差网络应该会非常好,我并没有做过实际的项目。所以我也不敢说,而且我对那个生成对抗模型有我自己的理解,我并不把它看成是两个模型。
而是看成一个模型,一个模型当中你有输入到输出,但是我真正想要的是那个中间隐藏层的东西。但是隐藏层的我没有Label,那怎么办呢?我有一个韩国的Label给它对接起来,韩国Label之后我取中间的Label。这是我对生成对抗模型的理解,关于予畅设法产生标签。
你可以在你如果能看YouTube的话,深蓝应该没有用过神经网络吧。那个它有自己对你刚才所说的大脑学习很感兴趣,你是怎么思考的。怎么将深度学习都自然选择,这样看似不同的东西联系到一起了。我也不知道我是怎么联系到一起的,我就是脑子特别乱,但是思考。但是学习你可以从我之前说的内容能够体会到,我们现在的教育看这里吧。这个东西是我们想学习的知识,你要知道有了x你要怎么给它变换到y。
然后我们现在的教育经常会告诉你,就把这个知识告诉你,这个知识是前人提取出来的,他们训练出来得到的这么一个知识。但是老师很少会告诉你的,你的书是什么,你的书书是什么。而学习一个关联,你至少要明确三个这两个空间,你到底是从哪个空间投射到另一个空间的。如果你连你的问题本身都不知道,即便是把这个知识学到了,你也不会应用。这就是我们现在很多学习方法的不足的地方,我们教育不足的地方。
我自己学习的话,我从来都会非常明确,我想我的书书是什么,我的书书是什么。这个是不太一样的地方,另一点很多人说现在信息大爆炸。你会觉得信息太多了,你没有办法做决策,我觉得这个是错误的。学习就是要将这些大量的变体重新缩回到原来的因素的状态。所以你如果发现你学习越学习越学习,你的结果越复杂,我觉得你肯定是学错方向。你的学习肯定会把东西化繁为简,你如果非常牛逼的话,你可以减化到那种最不变的地方。那是最高层的智慧,这不是智能什么东西,而是智慧。所以越往下底下是大量的变体,越往上就是那些不变的金字塔顶端的智慧部分。
其他的学习规律在这一部分其实我也给出了一些个表达,另外还有一个非常大的一个话题。什么是语言,英语也好,日语也好,中文也好,数学也好,编程也好,这些都是语言。其实你的意识可以说是非常混沌,是没有任何形状,相当于在一片汪洋大海。而你的不同语言,你使用不同语言的时候,你会限制你当中你的大脑的意识是朝哪个方向走动。它就相当于加入了先验知识,这个我没有用过。
换一个问题吧,有多少的先验知识,而且这些内容我希望你不单单是把它用在深度学习之上。我更希望你把它用在你的日常学习当中,你回去之后重新思考一下,重新回顾一下你周围的一些个例子。这些年生长下来的这些所看到所有例子,然后你自己去联想,自己去归纳。这些东西到底是后面是怎么回事,不要就忙不得听别人的说,听这些教材什么的。要有自己独立的思考,
问答
深度学习只是拟合函数。
我觉得不是,这是一个非常正确的废话。人脑也是在你和环境交互的体现,但人脑有在这个技术上有没有其他更高的功能。它肯定是在我们现在就是那个关于这个意识是怎么形成的这一部分。所以Amazing的是,就是搞不出来我也想往这方面努力。但是人脑和深度学习它俩不一样的地方,你说它俩不一样就相当于说你算那个乘法和计算机算乘法不一样。你俩算的结果都是一样的,你俩实现的方式不一样而已。大家都是拟合函数,人脑也是在拟合函数。但是人脑是在这个技术上拥有更高的功能,我们现在只是到了深度学习只是可以关联任何两个空间的映射而已。
并不是说人脑和深度学习不一样,实现方式不一样的,目的是相同的。我在那个知乎上还回过答过这一个问题,我觉得说深度学习是拟合函数觉得有点可笑。很正确但是是废话,
问答
我毕业之后想去哪儿
毕业之后如果你持续看我写的那本书的话。就会发现知道这么多知识之后,我会对人类的发展方向有另一个思考。它会往哪个方向发展,那个是我认为最重要的,我认为最重要的既不是人工智能现在一些个画面识别云识别之大量的英勇。
而是朝了另外一个方向,那个方向是我未来想要做的是想穷奇一生都想实现的一个想法。如果你持续关注的话,你会知道我想要做什么,未来会往哪一方向做。
差不多该收尾了,而且我有很多个我有TensorFlow当中前馈神经网络的一些个教程,我还有LSTM、JRU的教程。教的方式都很不一样,你们感兴趣的话可以看一看。今天就到这里,谢谢大家,谢谢大家。