深度长文:揭秘自适应学习背后的原理、产品设计与商业模式(产品设计与商业,关键词优化)

时间:2024-05-07 02:12:12 作者 : 石家庄SEO 分类 : 关键词优化
  • TAG :

    %E6%B7%B1%E5%BA%A6%E9%95%BF%E6%96%87%EF%BC%9A%E6%8F%AD%E7%A7%98%E8%87%AA%E9%80%82%E5%BA%94%E5%AD%A6%E4%B9%A0%E8%83%8C%E5%90%8E%E7%9A%84%E5%8E%9F%E7%90%86%E3%80%81%E4%BA%A7%E5%93%81%E8%AE%BE%E8%AE%A1%E4%B8%8E%E5%95%86%E4%B8%9A%E6%A8%A1%E5%BC%8F

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

结合国外公开发表的文献,我整理、总结和分析了一下从最低水平的自适应学习,一直自适应学习的最高等级。

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

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

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

图1

举例:一对一辅导课

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

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

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

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

图2

举例汽车模拟驾驶培训

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

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

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

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

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

图3

举例:英语分级阅读

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

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

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

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

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

图4

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

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

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

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

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

图5

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

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

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

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

知识点的关系,远比课本或教参中呈现的章节树复杂的多。章节树的结构,仅仅是做了包含关系,而且由于教材版本的不同,实际上会出现一个知识图谱与不同版本教材章节的映射网络。高中学习阶段,有的知识点会一次次地出现,然而每次地出现都是把过去的定义,特性推倒重来,可是到了高三总复习的时候,又要融会贯通,这些同类知识点,需要关联起来。很多团队做了知识的先后依存关系,但是忽略了,实际上有的时候多学的知识,不仅没有强化过去的知识,反而有可能会导致困惑,让过去的知识的掌握程度降低(例如英语里学完compose之后又学了comprise)。

5考虑到时间的影响

一个学生做了100道知识点一样的题目,最终对了50道,这真的代表学生水平是0.5吗?实际上很有可能,前20道题,由于学生什么都不会,只对了2-3道,而后20道题,学生已经基本掌握了,可能一道都没错。我们要以变化的眼光去看待学生的发展,这就意味着,我们需要“遗忘”那些时间久远的事情。也就是我们需要一个滑动的窗口(sliding window),越遥远的行为数据权重越低。

还有一个时间的影响就是记性,随着时间的推移,学生遗忘的比例会越来越高。而最佳的复习时间,就是学生恰好要遗忘,却没有忘记的时候。自适应的复习算法,开源软件anki采用了supermemo的早期spaced repeatition算法,已经能够满足绝大多数的需求,也是多数背单词软件所采纳的算法。

自适应做到这个地步,依然存在两大问题,一个问题是人工教研工作量耗大,做得越细越好,越困难。另一个问题是,只能解决客观题,对于证明题,简答题,完全没有办法做。而只有能够在解题步骤里做自适应,才是真正的终极解决办法。

Level 4 基于NLP和推理引擎的自适应学习

真正的AI级别的自适应学习,说的就是Level 4。如果拿自动驾驶技术来对比,这就是你可以撒手,不摸方向盘,不看路面,不听导航,在汽车里睡觉,汽车就会安全送你到你的指定位置。达到这个水平的自适应学习系统,可以做到拿到任何一道学科题目,通过NLP审题为数学关系,然后用多种策略得到正确答案(也就是最近高考机器人在比拼的事情),并且看到别人的答案时,判断答案是否正确。

图6

一个简单粗暴的想法是略过推理引擎,直接拿着几百万道题目做char-rnn,做题目序列与解析序列的映射,但很显然这个是不work的。可以认为答案就是如同程序代码一样的,是其内在逻辑的,然而目前char-rnn是根本没有能力生成任何有真实意义的代码,最多只能生成一些格式上看起来正确,但是没有任何含义的代码。

这件事情如果要做成,必须死磕推理逻辑。毕竟一道题目里,学生可能会出现的错误类型实在是太多了。例如:

1. 推导错误

2. 计算错误

3. 关键步骤顺序不对

4. 推导正确但原因不对

5. 多次计算错误,但最终答案凑巧对了

6. 用结论来“反证”结论

7. 引入原本不存在的条件

8. 冗余步骤

这个其实会像alphago一样,除了一个深度学习的价值和策略网络以外,也需要一个通晓逻辑的mcts,在数学运算这种场景下,一样也是需要“阅读理解”和“推理逻辑”两个部分。

所以,整个过程应该是:

1. 【识别】将题目的题干和相关图片抽取成机器能读懂的条件

2. 【逻辑】判断题目没有逻辑错误,确实有解(小红有三个苹果,小明有四个,请问小红多大了,或者是|sin(x)|=2,求x)

3. 【逻辑】得出标准答案

4. 【识别】如果学生是手写的答案,先做图像识别(这部分会丢失一部分准确率可以通过语法结构来弥补,例如识别连笔的1W其实是100)

5. 【逻辑】如果是选择,填空,直接对比学生的答案

6. 【逻辑】如果是大题,验证学生的推理过程是否完备,正确

7. 【表达】判断学生出错的环节,不告诉完整答案,而只是给学生一个点拨性的提示

8. 【表达】AI与人之间可以以一种对话式的界面

对比当下的扫题软件,学生哪里不会,去哪里抄答案。而这一的自适应学习系统,则更是,哪里卡住了,算错了,哪里小小地提醒一下。这种教学方法才是真正帮助学生成长和前进,当然这里也要防止部分学生利用提醒的机制不断刷最终答案。

举例一对一辅导课

还是Level 0的例子,老师这回是真的面临失业了,全中国的每一个学生都配备了一个最厉害的AI老师,他能够针对性地解决你的学习问题,你做题并不需要在电脑上做,依然是笔和纸,但是他随时会提醒提示你,学习的过程由过去的很长时间才有反馈,变成了像游戏一样,很快就有反馈和进步。

结论,一旦出现了Level 4级别的自适应学习,从Level 0到Level 3级别的都会收到巨大的颠覆,毕竟都能自动驾驶了,自然就不需要单独的自动泊车技术。然而Level 4级别的难度非常高,无论是国内还是国际上都是在探索阶段。说实在,我这里没有展开说算法,因为连我也不知道具体算法该怎么做。至于在Level 4之后,未来几年会不会有没有像移植记忆等黑科技,目前我们就不得而知了。

作者:尉迟道坤,超过10年在线教育投资和运营管理经历、500强公司高管、知名教育集团合伙人,对互联网教育产业的趋势、发展、出路有一些思考,抛砖引玉希望引领大家深刻探讨。

本文:深度长文:揭秘自适应学习背后的原理、产品设计与商业模式的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:自己做点小生意好还是老实上班好?听听网友们是怎么说的!下一篇:

6 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18