Fintech年终特惠
您正在使用IE低版浏览器,为了您的雷锋网账号安全和更好的产品体验,强烈建议使用更快更安全的浏览器
AI+ 正文
发私信给李秀琴
发送

0

一文读懂自适应学习的背后原理,在线教育创业者必看!

本文作者:李秀琴 2017-08-23 11:46
导语:较低等级的自适应学习几乎与AI无关,而最高等级的自适应学习没有一家公司能够完全做出来,是AI领域非常困难的问题。

雷锋网(公众号:雷锋网):上个月,我们转载了胡天硕老师的《揭秘自适应学习的背后原理(第一集)》,其详细阐述了为何要做自适应学习的原因,以及一套自适应学习系统应该包括哪些环节。而今天的这篇,依然来自胡老师撰写的自适应学习系列,属于中篇。在这篇文章里,胡老师将自适应学习从最低等级的Level 0讲到最高等级Level 4,并为每一等级的自适应都举出相应的案例,以助大家消化。本文转载自“EduMax教育资本论”微信公众号,作者:胡天硕。原文标题为《寄在线教育创业者:揭秘自适应学习的背后原理(中)》。

当大家聊起AI与汽车的时候,第一个想到的是无人驾驶技术。当大家聊起AI与教育的时候,第一个往往想到的则是自适应学习。然而自适应学习就像无人驾驶一样,是分为不同的等级。较低等级的自适应学习几乎与AI无关,而最高等级的自适应学习没有一家公司能够完全做出来,是AI领域非常困难的问题。

一文读懂自适应学习的背后原理,在线教育创业者必看!

一文读懂自适应学习的背后原理,在线教育创业者必看!

今天我带着大家从最低水平的自适应学习,一直讲述自适应学习的最高等级。

Level 0 基于纯人工的自适应学习

如果要做一款自适应学习的产品,我们先假设电脑是完全没有能力判断出学生的能力水平,而由老师来做判断,判断之后,由电脑来推送相应的课程。

一文读懂自适应学习的背后原理,在线教育创业者必看!

举例一:英语作文批改

用户在网站上录入了自己的托福作文,提交后,作文被送到一个队列里等待人工的批注。老师收到了新的作文后,对学生作文的各个部分进行标注,哪些单词拼错了,用错了,哪些固定搭配错了,哪些语法有问题,文章结构有什么问题。批改完毕后,学生会收到老师的评价,和系统自动推送出的单词,语法,和结构课。从算法上来讲,逻辑很简单,总共会有不同的几种错误类型,和对应的课程,只要学生在作文里出现某种错误,就自动推这类课程。

举例二:一对一几何课

老师在一对一地个性化辅导一个同学,这时候给出一道几何题目让学生完成,学生通过手写的方式录入自己的答案,但是中间有几个过程问题。老师用手写批改后,在直播过程中的后台,记录了学生的知识漏洞,课后生成的学习报告里,会包括学生的知识点掌握情况,出现的错题,推荐做的同类题目。甚至,完全可以在直播的过程中,老师出什么题目,完全并不由老师决定,而是由系统自动出,老师每次只是给出评价学生到底出现哪些知识漏洞,是否要出一个更难的挑战?从算法上来讲,逻辑也非常简单,一道几何题出现的错误类型有限,可以为每道题目找难度更低和更高的几种题目,然后由老师决定是加大难度,减少难度,还是到下一个学习环节。

接下来我们让电脑来判断学生的对错。

Level 1 基于简单规则的自适应学习

我们要在Level 0的基础上加入简单的条件判断,就可以实现最简单的自适应学习算法。基于规则的自适应学习,其实本质是决策树,适用场景是那些不去判断学生是否掌握某种知识,而是直接去判断学生的某种行为是否是不对的。

一文读懂自适应学习的背后原理,在线教育创业者必看!

举例一: 汽车模拟驾驶

学生闯红灯了,扣分,然后告诉学生,你要注意红绿灯。学生左转忘打转向灯了,扣分,然后告诉学生,你要记得打转向灯。学生超速了,扣分,然后告诉学生,你要注意自己行驶的速度。由于是电脑模拟驾驶,判断语句设计起来都并不复杂。这种情况,不仅适用于开车,也适用于开飞机,开挖掘机,等各种计算机可以模拟的情景。

举例二: 智能健身矫正

一文读懂自适应学习的背后原理,在线教育创业者必看!

通过可穿戴式或者是视频式的动作捕捉设备,能够获得学生在做深蹲,硬拉,平板支撑等一系列动作时各个关节的角度。当学生完成动作的过程中有角度超出规定值的时候,就提醒学生,你硬拉时背部不够收紧,臀部不够翘起。动作捕捉的技术和硬件虽然当前还未普及,但是实际上,判断姿态是否正确的算法并不是那么困难。这种情况,不仅适用于健身,还有各种球类,舞蹈,甚至器乐的基本功学习。

实际上学生的掌握程度,未必是那么黑白分明,对就是对,错就是错,接下来,我们需要在简单的决策树规则之上建立更好的自适应学习算法。

Level 2 基于难度等级的自适应学习

刚才我们在Level 1级的自适应学习里,通过学生的行为直接指出学生的问题。而拿开车的例子,同样两个人既不闯红灯,也不超速,但依然可能开除的体验非常不同——所谓有新手司机和老司机的区别。

如果我们不去规定,学生什么具体行为错了就推送什么相应课程,而是设计一套难度递增的课程,当学生完成得好的时候就加大挑战难度,当学生完成的有问题时,就相应减少难度。这就是基于难度等级的自适应学习。

一文读懂自适应学习的背后原理,在线教育创业者必看!

举例一:英语分级阅读

一文读懂自适应学习的背后原理,在线教育创业者必看!

一个学生是否能看懂一篇文章,背后的原因是非常多的。一个很难的单词,靠上下文,反而可能能猜测出来;几个简单的单词,组合成短语和搭配,可能完全意思就变了;甚至如果是因为专业问题,可能单词,短语,语法都完全看得懂,但依然不明白的现象也会发生。 

所以国外提出了所谓的readability(可读性)的概念,儿童出版社将书籍按照大概的年龄段划分。教学的时候,虽然每一个孩子有他的真实年龄,但是可以通过阅读测试找到最合适他读的年龄段。一开始当书比较少的时候,可以由教育专家和老师来评定书籍的可读性,但随着要标注的书籍的增加,这件事情就必须由算法来完成。

国外readability的算法在wikipedia(https://en.wikipedia.org/wiki/Readability)有讲述,以常见的Flesch-Kincaid等级为例,单词的平均音节数越多,段落里句子的长度越长,就认为文章越难读懂。例如高考听力的难度最难也就在10年级,高考阅读在12年级左右,托福雅思的阅读题可能会有18-19年级的压轴题。注意像Flesch-Kincaid这类把句子长度考虑进去的readability算法,对于缺乏标点符号的歌词或诗歌,还有标点符号过于频繁的对话型文章,都会有较大偏差,需要进行修正。

举例二:王者荣耀的天梯系统

一文读懂自适应学习的背后原理,在线教育创业者必看!

在这里我们举一个非常有意思的学习例子,那就是手机游戏。像王者荣耀这类MOBA手机游戏,并不是自己去设计不同难度的关卡让用户进阶学习而是采用了天梯的方式,让水平近似的人在相同的段位PK,变相地提供了一个进阶的台阶。在排位赛的个天梯系统里,赢得多了就会遇到更强的对手,输得多了,就会遇到更弱的对手。虽然最终比赛的输赢不仅和个人的操作、意识和配合有关,还跟自己的队友,选择的英雄组合相比较对手是压制和被压制,还有运气有关。但是整体来讲,差一个大的段位(例如钻石和铂金),水平上一定会有明显的差距。

elo算法在围棋,国际象棋,是国际上评估水平高低的重要算法。与天梯系统不同,输赢的得分并不是固定的,而和你和竞争对手的差异有关的,如果你赢了水平比你强的人,你提的分数多,而他掉的分数多,如果你输了水平比你强的人,你掉的分数少,而他提的分数也少。感兴趣的可以参考这里:https://en.wikipedia.org/wiki/Elo_rating_system

基于难度的自适应学习算法的最大缺点是认为学生的学科掌握度是一个值——有点像把学生分为重点班,普通版的感觉——而实际上,更多时候,大家关注的是学科中细粒度的知识点的掌握情况。

Level 3 基于知识点网络和概率模型的自适应学习

Level 2 只有难度等级的概念,现在我们要引入知识图谱的概念了。我们实际上是没有直接办法去测量学生的知识点掌握程度,我们只能倒过来从学生的做题情况,推断知识点的掌握程度。后面可能会涉及到一些数学公式,不会的同学可以选择性跳过。Level 3的内容比较多,我们分为多个部分来讲。

一文读懂自适应学习的背后原理,在线教育创业者必看!

1 相同难度,单一知识点的题目

我们先解释一下,为什么学生的知识点要用概率模型来算。学生做对做错的最简单模型就是翻一枚不均衡的硬币,看正面朝上的分布。假如学生知识点的掌握度为p,p是0~1之间的一个数,意味着每做1道题,有p的概率做对。那么学生做了n道题,得零分的概率为(1-p)的n次方,得满分的概率是p的n次方,他最有可能做对的题目数是n*p。 

问题是,没有人知道p为多少,我们倒过来只知道n道题里,有m道做对了。当n趋近于无穷的时候,我们几乎可以肯定p=m/n,但现实中,别说无穷道题,同一个知识点的题目让学生做20遍,学生就会受不了了。所以为了追求实用,我们必须牺牲一部分精度,我们可以认为n=0的时候,也就是我们对学生一无所知的时候,p应该是一个0~1的均匀分布,但是随着n的增加,p的分布应该如何改变呢?

实际上数学家们早已经告诉我们了,扔不均匀硬币的二项式分布的共轭先验密度函数(conjugate prior probability distribution)是beta分布(其多维版本叫做Dirichlet分布)。具体的公式和推导参见维基百科https://en.wikipedia.org/wiki/Beta_distribution

这里背后核心的思想是,同样是100%的正确率,同样难度的题,张三做了三道,李四做了20道,由于样本容量的不同,会导致知识点掌握度的置信因子不同。

2 不同难度,相同知识点的题目

接下来我们要考虑到,真实的题型,并不是都难度一样的,甚至说难度一个衡量指标,是远远不够的。举一个例子,题目一是1234*56789等于多少,填空题,题目二一个天体为水的密度,重量为1亿亿吨,请问这个天体是否是一个黑洞。前者其实难度是比后者小的,但是,由于前面是填空题,后面是判断题,其实后面的题目有50%的蒙对概率。为了能够对题目更好地建模,我们引入IRT(Item-response-theory)模型。

一文读懂自适应学习的背后原理,在线教育创业者必看!

以上图是三个参数版本的IRT,其中a为区分度,b为难度,c为猜测可能性。横纵标里,值越高代表学生能力越强。c=0.25,意味着哪怕最差的学生都有25%的可能性做对,所以这道题目最有可能是一道4选1的单选题。b=0.0代表,这道题目的难度正好适中,如果b比较大,代表能够把特别优秀的学生和普通学生区分开,如果b比较小,代表这是一道送分题,如果这还做不对,大概是平时没有认真学习。区分度a,可以认为当区分度特别大时,这道题目是要么肯定就会,要么就是彻底不会,不存在中间地带。

IRT模型的初始化可以用老师来标注,但是后期只有有足够多的真实做题数据才反映真实的题目难度。通常来讲,一道题目被1000个不同的学生做后,参数就可以基本确定,当这道题被10000个学生做过后,会基本收敛,再来新的学生,参数变化会非常小。

在IRT的基础上,又出现了利用贝叶斯+HMM的BKT,还有基于深度学习的DKT等一系列算法,不管算法怎么演进,其核心目的在于通过做题情况估算学生真是的知识点掌握度。然而,刚才有一个重要的点被我们略过了,那就是,实际的题目,并不是只有单一知识点的,而往往可能同时对应多个知识点。这时候我们就要引入题目知识映射矩阵(q matrix)的概念。

3 一题多个知识点对应的情况

一文读懂自适应学习的背后原理,在线教育创业者必看!

q matrix就是一个题目与知识点对应的矩阵,其中的值既可以是离散的0或1,也可以是连续的0~1之间的概率。Level 3级自适应学习的最大工作量之一就在于q矩阵的搭建,尤其是当知识点的粒度比较细的时候,所需要投入的人工成本非常大,就光初中数学一个学科,为百万道题目打标签,没有大几百万的经费是几乎不可能完成的。而哪怕在收到足够多的数据后,可以对q矩阵进行演化,做知识点的拆分和合并,但是在没有任何初始化的q矩阵,光有数据几乎是不可能空手套白狼变出一个知识图谱的。 

到底应该怎样给题目打标签呢?这个过程一定要抛开狭义的课本上的知识点,而采用广义知识点(Knowledge Component)。广义知识点,除了章节以外,还应该包括策略,考察点,技巧,知识误区,甚至还有学生是否马虎大意,应用题的阅读理解能力如何。好的系统,可能会给选择题的不同选项都会对应不同的知识点,而填空题的情况还会更加复杂。

4 知识点相互关联形成知识图谱

知识点之间并不是孤立的。当学生做题之后,除了要更新题目所对应的知识点,还要以降低置信度+传播到相关知识点。这部分的算法并不复杂,真正难的是建立知识图谱。 

知识点的关系,远比课本或教参中呈现的章节树复杂的多。章节树的结构,仅仅是做了包含关系,而且由于教材版本的不同,实际上会出现一个知识图谱与不同版本教材章节的映射网络。高中学习阶段,有的知识点会一次次地出现,然而每次地出现都是把