可解释机器学习导论

可解释机器学习公开课,包含人工智能可解释性、显著性分析领域的导论、算法综述、经典论文精读、代码实战、前沿讲座。由B站知名人工智能科普UP主“同济子豪兄”主讲。 课程主页:https://github.com/TommyZihao/zihao_course/blob/main/XAI 一起打开AI的黑盒子,洞悉AI的脑回路和注意力,解释它、了解它、改进它,进而信赖它。知其然,也知其所以然。 第一讲:什么是可解释机器学习?为什么学?学了有什么用?应用场景、研究思路和经典方法。

一.可解释机器学习

可解释性表示模型可以利用人类可认知的说法进行的解释和呈现。机器学习模型本身是一个黑盒,我们虽然可以从中获得准确的预测,但是我们无法清楚地看到背后的逻辑,这就比如软件测试中的黑盒测试,用户可以输入,但是看不到程序中间的运行过程。

模型的解释方法是为了让我们更好地了解过程,如何从模型中提取到重要的和主要的模型解释是我们关注的问题。

可解释机器学习近年来的发展:可解释人工智能被列为数据和分析技术领域的前10个重要趋势之一。2018年,欧洲强调对科技是机器学习的追求,谷歌微软百度等人工智能内的top企业近年来也对可解释学习相关技术的研究。

可解释机器学习导论_第1张图片

近年来知识图谱、自然语言处理、计算机视觉等应用于我们的生活,我们渐渐的对人工智能产生了依赖,无人驾驶、智能交通系统、航天航空等都在应用,但如果AI在学习过程中犯错,我们如何找到Ai的犯错点呢?

工业领域需要现有的可应用的模型的解释才可以落地到相关的领域应用

解释方法有助于知识的表现和发现,在知识图谱、医疗、交通等多个领域中可解释发挥着重要的应用。

这里简单举例:

1.一阶段的目标检测算法如果无法精准检测到目标物体,会导致该算法在落地后对落地的领域造成损失。

2.高校教师发现学生的期末考试成绩和学生是否带手机上课有重大的关系

3.力扣刷题发现只要在检测用例和时间复杂度、空间复杂度三者要求都符合的情况下,机器验证代码通过

在课程中,通过子豪大佬的讲解,他为我们列出来了我们为什么要学习可解释机器学习:

  1. 研究AI的脑回路,即研究AI的本质
  2. 可解释分析是机器学习和数据挖掘的通用研究方法
  3. 和所有AI方向交叉融合: 数据挖掘、计算机视觉、自然语言处理、强化学习、知识图谱、联邦学习。
  4. 包括但不限于:大模型、弱监督、缺陷异常检测、细粒度分类、决策AI和强化学习、图神经网络、AI纠偏、A14Science、MachineTeaching、对抗样本、可信计算、联邦学习
     

 二.前沿的AI方向

最近chatGPT的出现,该功能十分强大,甚至可以写代码,消除人类的消极,这是很有意义的,同时他的表示能力强,如果未来应用于搜索引擎,人工智能其实可以给人带来意想不到的惊喜。

70年代的机器证明到90年代的专家系统,再到目前的人工智能领域,AI给我们带来了很多的惊喜和意外

可解释机器学习导论_第2张图片

海量数据的产生,每天都有大量数据产生,很多企业他们具有高的算力资源,但是我们缺少这样的高算力,我们更加需要多了解知识,可解释学习便是我们在探索前沿AI方向的一个值得我们提前学习和探索的知识。

可解释性好的机器学习算法有哪些 

目前为止,解释性较好的就是基于统计的机器学习算法,他们是使用数学公式和白化式的推导过程表达的,比如聚类算法,日常生活中人以聚类,物以群分,如果你身边的人被别人打上标签,那么你可能也逃不掉。

计算机中,很多软件的代码思想都是if elseif ,我们日常在生活中也是如此,决策树更是利用了if else这样的思想,他的方法很有可行性意义,也容易理解。

可解释机器学习导论_第3张图片

 当下,神经网络虽然拟合能力较强,但他的可解释性差,而像其他的逻辑回归,也许拟合能力较差,但他的可解释性强,当你想要去研究一个算法或者一个领域,那么你要学会去研究他的可解释性。

在进行可解释性分析的时候,我们可以根据以下流程进行:

可解释机器学习导论_第4张图片

 三.深度学习模型的可解释性分析

比如对于卷积神经网络来说,有几种可解释性的方法,这些是非常有趣和有前景的

  • 可视化卷积核、特征图
  • 遮挡Mask、缩放、平移、旋转
  • 找到能使某个神经元激活的原图像素,或者小图
  • 基于类激活热力图(CAM) 的可视化
  • 语义编码降维可视化
  • 由语义编码倒推输入的原图
  • 生成满足某些要求的图像 (某类别预测概率最大)
  • 对破损图像根据经验和图像语义特征进行推敲来修复图像(这一点是我自己加的,请大家多多指正)

扩展阅读

  1. 子豪大佬出品的一个代码,从中可以学习到很多东西https://github.com/TommyZihao/Train_Custom_Dataset/图像分类
  2. pytorch的一个库,里面包含了很多很多可解释性分析https://github.com/utkuozbulak/pytorch-cnn-visualizations
  3. 以及最后还有子豪兄做的一个论文的收集,在他的Readpaper里面都有给出来https://readpaper.com/user/collect/638623946528292864

课后思考题:

  1.  为什么要对机器学习、深度学习模型做可解释性分析和显著性分析 ?
  2. 如何回答“人工智能黑箱子灵魂之问” ?
  3. 人工智能的可解释性分析有哪些应用场景?
  4. 哪些机器学习算法本身可解释性就好?为什么?
  5. 对计算机视觉、自然语言处理、知识图谱、强化学习,分别如何做可解释性分析?
  6. 在你自己的研究领域和行业,如何使用可解释性分析?
  7. 可以从哪几个角度实现可解释性分析 ?
  8. Machine Teaching有哪些应用场景 ?
     

总结

 学习完导论之后,结合我自己目前在做的方向觉得非常不错

我在这里给出自己的拙见对于可解释性分析。通过学习可解释性分析,你会增加自己的学习兴趣,不仅知其然还要知其所有然,无论未来你从事科研还是工作,可解释性的分析都会在你的工作的,因为无论是产品还是论文,都需要一个可解释性。目前,AI应用于大多数领域,产生了 可信式Ai.

可解性分析可以帮助我们知其然,也知其所有然。折对于未来我们我们做哪一个领域都具有很大的帮助。可以帮助AI更加的贴近生活,落地生活,增强它的可信度。

你可能感兴趣的:(可解释性分析,人工智能,算法)