tag 标签: 机器学习

相关帖子
相关博文
  • 热度 1
    2020-7-7 14:27
    190 次阅读|
    0 个评论
    1 摘要 数据来源跟踪确定与给定输出相关的一组输入。它使数据工程中的质量控制和问题诊断成为可能。大多数现有技术通过跟踪程序依赖性来工作。他们无法从数量上评估相关输入的重要性,这对于机器学习算法至关重要,在机器学习算法中,输出往往取决于大量输入,而其中只有一些输入很重要。在本文中,我们提出了 LAMP,一种用于机器学习算法的出处计算系统。受自动微分(AD)的启发,LAMP 通过计算偏导数来量化输入对于输出的重要性。LAMP 将原始数据处理和更昂贵的导数计算分离到不同的过程中,以实现成本效益。另外,它允许量化与离散行为(例如控制流选择)相关的输入的重要性。对一组现实世界的程序和数据集的评估表明,与基于程序依赖的技术相比,LAMP 产生了更精确,更简洁的出处,而开销却少得多。我们的案例研究证明了 LAMP 在数据工程问题诊断中的潜力。 2 研究简介 与传统软件工程相比,数据工程的复杂性主要在于数据和模型。例如,许多数据处理程序,例如众所周知的机器学习程序,具有较小的尺寸。但是这些程序处理的数据和生成的模型通常很大且很复杂。基于图的机器学习(GML)是一种越来越受欢迎的数据处理方法。提供输入图模型和初始权重值后,GML 算法将生成更新的模型。这些算法大多数都是迭代算法。在每次迭代中,一个顶点与其邻居进行通信并更新其值,直到所有值收敛为止。通过多次迭代,一个顶点会影响到许多边缘不远的其他顶点。这就是所谓的涟漪效应。由于这种计算的性质,要确定所生成模型的正确性极具挑战性,因为故障可能会通过许多步骤传播,而故障状态可能会在传播过程中累积/混淆。即使用户怀疑最终输出的不正确性,他也几乎无法诊断确定根本原因的过程,根本原因可能出现在输入图模型,初始权重值甚至 GML 算法本身中。 数据出处是一种重要的方法解决问题。它标识输入输出依存关系和/或记录操作历史,大多数专注于在运行时选择性地收集中间结果,以努力提供崩溃恢复机制,调试支持等。但是,这些技术几乎无法解释输入输出的依赖性,无法量化单个输入的重要性。由于 GML 算法的涟漪效应,即使大多数输入对输出的影响微不足道,输出也往往取决于大量输入。 在本文中,作者提出了 LAMP,一种量化输入重要性的技术。受到自动差分,LAMP 通过计算关于输入的输出导数来工作。该设计将原始数据处理与出处计算分开,因此在生产运行过程中引入的开销很少。它通过产生过程具体确定输出变化来量化那些可能引起控制流变化的输入重要性。作者团队的主要贡献在于: 正式定义了 GML 算法的出处计算问题,这是量化输入重要性的关键挑战。 提出了一种将原始数据处理与出处计算分离的新颖设计。 提出了一种基于执行的方法来量化与控制相关的输入重要性流程。 我们开发了原型 LAMP。我案例研究证明了 LAMP 在数据工程中的潜力,它可以帮助开发过程和发现输入数据,图形模型甚至 GML 算法实现中的错误。 概念定义 如果一个顶点很重要(即,通过具有高的初始权重或通过与许多其他顶点连接),则其初始值的较小扰动将更改所有连接的顶点的值,并最终导致实质性的输出变化。但是,尽管数学功能在很大程度上是连续的,但 GML 程序具有许多离散的行为。结果,Fn 函数通常是不连续的。请注意,在不连续函数中,任意小的输入变化不会导致任意小的输出变化。结果,导数是无限的。在这种情况下,导数不代表输入变化的影响。因此,作者改为报告输出变化,见图 1。 图 1 LAMP 原理本质示意图 3 LAMP 方法描述 基本思路 LAMP 动态计算每个变量的偏导数。给定一个语句 操作数,LAMP 利用导数链规则计算每个初始权重的偏导数。计算函数组成的导数是一条如下规则: 其中f(u)是最终输出,u是中间结果,x是输入变量。从直觉上讲,它可以根据函数对输入的导数和中间结果对输入的导数来计算函数对输入的导数。利用链规则,可以基于在定义操作数时计算出的操作数值及其偏导数,在本地对语句进行微分计算。在谓词上,LAMP 检查任何初始权重值的微小变化是否会导致谓词采取不同的分支结果。这可以通过使用谓词表达式的计算偏导数通过线性近似来完成。如果是这样,则 LAMP 产生一个新的进程来接管另一个分支。最后,通过比较所有过程的输出得出输出变化。根据§3 中的问题陈述,由不连续性引起的偏导数和输出变化是衡量输入对输出的影响的结果数据来源。 详细设计:运行时数据采集 在生产运行期间,LAMP 进行非常轻量级的跟踪,以收集分支结果和某些操作(例如乘法)的结果。跟踪语义在图 2 中说明。表达规则是标准的。根据评估上下文 E,在应用语句规则之前,首先将表达式评估为值。语句评估具有 σ,ω 和 C 的配置:σ 是存储;ω 是由跟踪项的顺序组成的跟踪日志,每个跟踪项包含一个语句标签,该语句的执行计数器值和一组值; C 记录当前计数器每个陈述的价值。大多数陈述的评估规则是标准的,因此这种模式是合理的。 图 2 语义规则说明 详细介绍了多种运行时数据语义规则构建形式 规则 和 指出 LAMP 可能会记录乘法的操作数值,因为在以后的源计算阶段的导数计算中需要使用这些值。如果编译器静态确定两个操作数变量都与带注释的输入变量相关,则通过将条目附加到 ω 来记录其值,同时计数器也增加了。同样,如果只有一个操作数与输入相关,则记录另一个操作数的值。当两个操作数都不与输入变量相关时,LAMP 无需计算导数,因此不记录操作数值(规则 )。根据条件语句,LAMP 确定谓词是否与输入变量相关。如果是这样,它将通过方法 unstable()进一步检测出分支结果是否可能不稳定。如果小的输入扰动 Δ 翻转分支结果,则分支结果不稳定。 图 3 代码转化规则 描述不同条件下各类代码的转化规则 详细设计:代码转换 LAMP 将原始程序转换为新程序,该程序将获取原始输入图和在跟踪阶段生成的日志,并执行出处计算。图 3 描述了一组转换规则。 1),这表明谓词潜在地不稳定,并且较小的输入变化量 Δ 会导致值变化较大。比(记录的)值大,并利用偏导数。如果是这样,则分支结果可以翻转。因此,LAMP 生成一个进程以继续沿原始程序中的另一个分支执行(第 3 行)。在执行分支之前,LAMP 将恢复临界状态。父进程继续在 true 分支(第 5 行)中进行导数计算。第 4 行用于记录带注释的输入变量,这些变量的变化可能会翻转分支结果和子进程 id。在计算结束时,对于每个导致谓词不稳定的输入,LAMP 会在所有关联过程中以 zmax 和 zmin,最大值和最小值 z 收集输出变量 za 的值,这表示输入对 z 的影响。图 1 显示了转换后的 PageRank。 详细设计:讨论 LAMP 使用导数作为来源,并输出加权偏倚图,其中偏导数作为权重。它可以检测影响此类依赖关系和相应权重的错误。它的能力也会影响具体的数值。对重量不可见或影响不大的 Bug,被 LAMP 检测的概率较小。此外,由于 LAMP 的目标是机器学习计算过程,因此如果工作流中发生错误(例如,选择错误的数据集,不合适的机器学习算法),它将无法提供帮助。 4 验证 作者从来源计算开销,内存开销,日志空间,稳定性等方面评估的 LAMP 的效率,并简单介绍了 LAMP 的实效性。结果表明,该工具具有极高的使用效率,在各项性能和功能的可用性上均有出色表现。相关验证结果图片如下(图 4,表 1): 图 4 内存计算开销 表 1 来源计算开销
  • 热度 1
    2020-6-19 11:19
    203 次阅读|
    0 个评论
    总结 本文实现了一个系统化的测试工具 DeepTest,可以自动检测出 DNN 自动驾驶系统可能导致事故发生的错误决策,主要是分析摄像头捕获到的图像致使自动驾驶汽车转向的行为。首先,DeepTest 系统化自动生成测试用例,能使模型的神经元覆盖率最大化,比如模拟下雨,起雾,光照条件等实际场景。其次,本文证明了神经元覆盖率的变化可以影响到自动驾驶汽车转向行为的变化,并且对于摄像机捕获到图像进行各种转换,可以激活 DNN 中不同组的神经元,从而最大化神经元覆盖率。最后,本文对于不同测试用例进行真实图像变换,利用蜕变关系自动检测错误行为,合成的图像还可以用于再训练,使 DNN 自动驾驶汽车系统具有更强的鲁棒性。 摘要 深度神经网络(DNN)的最新研究进展使得 DNN 驱动的自动驾驶汽车的迅猛发展,该自动驾驶汽车使用摄像头,LiDAR 等传感器,无需任何人工干预即可驾驶。包括 Tesla,GM,Ford,BMW 和 Waymo / Google 在内的大多数主要制造商都在致力于构建和测试不同类型的自动驾驶汽车。美国包括加利福尼亚州,德克萨斯州和纽约州在内的几个州的立法者已经通过了新的立法,以进行道路上自动驾驶汽车的测试和部署。但是,尽管 DNN 取得了令人瞩目的进步,但与传统软件一样,它们经常表现出不正确或意外的极端情况,可能导致致命的碰撞。已经发生了几起涉及自动驾驶汽车的实际事故,其中包括一些事故导致死亡。用于 DNN 驱动的车辆测试技术大部分都严重依赖于在不同驾驶条件下手动收集测试数据,随着测试场景需求的增加,这种测试数据获取的成本过高。在本文中,我们设计,实施和评估一种系统测试工具 DeepTest,用于自动检测 DNN 驱动的车辆的错误行为,这些行为可能导致致命的撞车事故。首先,我们的工具旨在根据驾驶条件(如雨,雾,光照条件等)的实际变化自动生成测试用例。DeepTest 通过最大化激活神经元数量来生成测试用例,系统地探索 DNN 的不同部分的逻辑。 DeepTest 在不同的现实驾驶条件下(例如,模糊,下雨,起雾等)发现了数千种错误行为,其中许多行为可能导致 Udacity 自动驾驶汽车挑战赛中三个性能最高的 DNN 产生致命事故。 本文主要贡献: 我们提供了一种自动合成测试用例的技术,可在安全攸关的 DNN 的系统(例如自动驾驶汽车)中最大化神经元覆盖范围。我们证明了神经元覆盖范围的变化与自动驾驶汽车行为的变化相关。 我们证明了不同的图像变换(如对比度变化,雾的存在等)可用于测试来增加神经元覆盖率。 我们利用特定于变换关系来自动检测错误行为。 我们的实验还表明,合成图像可用于重新训练,并使 DNN 对不同的极端情况更为稳健。 据我们所知,DeepTest 是首款针对 DNN 驱动的自动驾驶汽车的系统化和自动化测试工具。 我们使用 DeepTest 对来自 Udacity 驾驶挑战的三个性能最高的 DNN 模型进行系统测试。 DeepTest 在这些系统中发现了数千种错误行为,其中许多行为可能导致潜在的致命碰撞。 背景知识 自动驾驶汽车的关键组件是由底层的深度神经网络(DNN)控制的感知模块。 DNN 接收来自不同传感器的输入,例如摄像机,光检测和测距传感器(LiDAR)和 IR(红外)传感器,这些传感器可感知环境并输出转向角,制动力度等,使得在各种条件下安全操纵汽车。 自动驾驶汽车中使用的大多数 DNN 可以分为两种类型:(1)前馈卷积神经网络(CNN)和(2)循环神经网络(RNN)。 我们测试的 DNN 包括两个 CNN 和一个 RNN。 实验方法 1. 基于神经元覆盖的系统性测试。 在本文中,我们基于所有具有相似神经元覆盖率的输入均属于同一等价类的假设(即目标 DNN 对于这些输入的行为类似),利用神经元覆盖率作为划分输入空间的一种机制。 2. 利用图像合成的方法最大化神经元覆盖率 DeepTest 通过将图像变换应用于种子图像并模拟不同的现实世界情况(例如相机镜头变形,物体移动,不同的天气条件等)来生成逼真的合成图像。为此,我们研究了九种不同的逼真的图像变换(改变亮度,改变对比度,平移,缩放,水平剪切,旋转,模糊,添加雾效果和施加下雨效果)。 这些转换可以分为三类:线性,仿射和卷积。我们的实验结果表明,转换后所有测试的 DNN 都显著提高了神经元覆盖率。 3. 用变换组合提高神经元覆盖率 不同的图像变换可以激活不同的神经元,如果这些变换堆叠起来的话,可以激活更多的神经元。可是,所有变换组合的状态空间非常巨大,本文提供了一种神经元覆盖率引导的贪婪搜索技术,可以有效地找到导致更高覆盖率的图像变换组合。 4. 利用蜕变关系创造 Test Oracle 自动驾驶系统是一个基于 DNN 的复杂系统,手动创建系统规范是极其困难的,因为这涉及到重新创建人类驾驶员的逻辑。本文巧妙地避免了这个问题,转而考虑不同合成图像间对应汽车不同决策行为之间的蜕变关系。例如,在任何灯光/天气条件、模糊或任何具有小参数值的仿射变换下,对于同一图像,自动驾驶汽车的转向角不应发生显著变化。本文使用相对宽松的蜕变关系寻求一种权衡,于是借助均方差重新定义了一个蜕变关系,即认为模型对于输入的转换图像产生的误差应该在 λ 倍的均方差内。 实验结果 本文将 deeptest 工具用于对三款在 Udacity 自动驾驶挑战赛中获得优异名次的 DNN 车型上进行评估,分别为 Rambo(第二名), Chauffeur (第三名), 和 Epoch(第六名).得出以下四个结论: 神经元覆盖率与输入输出多样性相关,可用于系统化测试生成。 不同的图像变换倾向于激活不同的神经元。 通过系统地组合不同的图像变换,神经元覆盖率比原始种子图像可以提高约 100%。 借助神经元覆盖率引导生成的合成图像,DeepTest 成功地检测到三个模型所预测的 1,000 多种错误行为(图 1)。 通过使用 DeepTest 生成的合成数据对 DNN 进行重新训练,可以将 DNN 的准确性提高多达 46%。 图 1 DeepTest 所发现的错误行为示例 实验有效性讨论 DeepTest 通过对种子图像应用不同的图像变换来生成逼真的合成图像。 但是,这些转换可能无法涵盖所有现实情况。 虽然我们设计的转换(如雨雾效果)是逼近现实的,但由于大量不可预测的因素(例如太阳的位置,雨滴的角度和大小),所生成的图片在现实中可能无法完全重现。 但是,随着图像处理技术变得越来越复杂,生成的图片将越来越接近现实。除此之外,完整的用于驾驶自动驾驶汽车的 DNN 模型还必须处理转向角以外的制动和加速问题。我们限制自己只能测试转向角的准确性,因为我们测试的模型尚不支持制动和加速。 但是,假设模型支持它们,我们的技术也应该很容易应用于测试这些输出。
  • 热度 2
    2020-3-4 15:59
    1178 次阅读|
    0 个评论
    无监督机器学习的诱人前景之一是它可以从混乱中提取秩序。精心设计的聚类算法就像在干草堆中专门寻找针头一样。 问题背景:在美国,ARCOS 阿片类药物数据集中标记可能存在问题的买家。 ARCOS 缩写,是美国毒品执法机构在美国进行处方药交易的记录。其中包括处方阿片类药物交易-以及有关谁制造了这些阿片类药物,谁将它们出售以及将它们出售给美国患者的信息。 由DEA首次公开的ARCOS数据集跨越4亿行和40多个列。它几乎涵盖了2006年至2012年之间在制造商(如Purdue Pharma),分销商(如AmerisourceBergen,Cardinal Health和McKesson)以及全国数千家药房、医院、医生办公室和诊所之间进行的所有阿片类药物交易。 但是从阿片类药物诉讼和美国阿片类药物危机的角度来看,ARCOS数据集也因其遗漏而著称。即使DEA记录了阿片类药物"购买者"(药房,医生办公室,诊所或其他向患者出售药物的企业)的违规行为,ARCOS数据集也没有任何此类标记。 我们的工商管理硕士和数据科学家团队在想: 我们能不能找到一种方法,使用一个纯粹的数据驱动的方法标记可能存在问题的阿片类药物的买家?我们是否可以使用ARCOS交易数据集来实现该目标? 链中的一环 ARCOS数据集列出了涉及各种买家的交易,从大型医院到小型诊所。我们最初决定将搜索范围限制在 连锁药店 ,这有两个原因。 首先,阿片类药物诉讼主要针对大型上市公司。其次,我们认为连锁药房的离群值可能少于独立药房的离群值,后者适合采用聚类方法。 我们开始通过寻找符合以下两个条件的个体药店来搜索 "高收益连锁药店" (我们称之为目标): 他们卖高容量阿片类药物 他们在ARCOS数据集的7年中迅速提高了阿片类药物的销量(以百分比计)。 K-Means聚类 与机器学习项目一样,我们的第一轮集群实际上始于精确的数据清理和组织。经过数周的整理和标准化了约4亿行数据,写一些Python函数,将交易汇总为简化的药房规模数字。通过县级美国人口普查局的人口数据对交易进行加权,以免因大宗交易量而惩罚大城市的药房。 在我们的第一次聚类迭代中,我们将20多种维度的交易数据全部加载到。当然,要可视化这么多个维度非常困难,因此我们利用PCA将这些维度压缩为两个更易于消化的维度。最初的结果是…… PC1反映与绝对销售额相关的维度,而PC2反映增长维度。每个点都是连锁药房。(来源:由Nephron Research提供的经修改的DEA ARCOS数据集) 这个结果不是很令人鼓舞。我们看到了许多快速成长但规模很小的药房( 第2簇,紫色 );许多大型药店的销售额几乎没有变化( 第3簇,黄色 );中间是一堆药房(绿松石色的 第1簇 )。 不过,没有高收益的连锁药房。 集群:版本2 然后,我们决定隔离药物的"强度",而不是平等地对待所有阿片类药物。我们特别关注有关的三种药物: 羟考酮 、 氢可酮 和 芬太尼 。(芬太尼在2012年还没有像最近那样在美国爆炸,但是由于其强大的化学能力,它仍然引起了人们的兴趣)。结果: 该图中通过算法生成的PC1与高销量成反比。0表示高销量,而50表示低销量。(来源:由Nephron Research提供的经修改的DEA ARCOS数据集) 现在我们的遇到的情况是,从阿片类药物交易中分离出"药物强度因素"似乎可以产生一个符合我们两个标准的杰出连锁药店。但是,很难想象PCA产生的奇怪的条纹簇,尤其是PC1,它似乎代表了增长率的倒数,并且难以解释。 集群:版本3 然后,我们进行了三项改进。 首先, 我们根据县级以及人口对药房交易进行加权。通过单独的分析,我们知道,在2006-2012年间,县级阿片类药物处方与县级阿片类药物过量率显着相关: 县的每100人平均处方率与每100,000人的平均死亡率之间存在相当强的相关性(0.70)。 其次, 我们删除了所有与羟考酮,氢可酮和芬太尼有关的交易数据。 第三, 我们使用 "肘法则" 来解决四个不同的集群。结果: 聚类版本3 最终,通过第三次集群聚类,我们找到了: 大量的药店出售大量危险药物 (根据当地人口和处方药率进行调整),并迅速加速了这些药物的销售。此外,在1%的显着性水平下,高产量群集(在上图中的紫色和蓝色统称为)与正常产量群集不同。 比较独立药房和连锁药房 有了我们的聚类结果,我们又有了更多的预感。到目前为止,我们的聚类实验主要针对 连锁药店 ,这仅仅是因为到目前为止连锁药店在阿片类药问题中吸引了很多注意。但是,如果我们需要将分析应用于独立零售药店。夫妻商店是否能比连锁药店出售更多危险的阿片类药物? 简而言之:是的。 当我们在同一聚类分析中结合独立和连锁药房时,高收益独立药房的数量,远远超过了同类连锁药房。两种主要成分均在60%百分位以上的99家药店-称为超高收益药店- 所有99家都是独立零售商。 独立+链组中的高收益药房( 左侧为橙色簇 ),许多是独立药房( 右侧为浅蓝色 )。注意:此处将独立药房标记为"零售",因为它们在ARCOS数据集中表示。 放在一起 在我们项目开始之初,我们的任务是在庞大的ARCOS数据集中识别 可能存在问题的药房 。从2006年开始,结合数据汇总,k均值聚类和PCA以及其他CDC人群和处方数据,我们发现了一些连锁药店和独立药房,从2006年以来,这些药房大量购买了危险的阿片类药物,并以越来越高的速度增长至2012年。 充其量只是建议我们的分析牵涉那些药房,甚至暗示更大的责任。我们的方法只是ARCOS数据集许多潜在的数据驱动方法之一。 我们仍然希望连锁药房(而非独立药房)将与制造商和分销商一起继续进行阿片类药物诉讼。此外,尽管阿片类药物诉讼对象可能不针对单个独立药房,但我们希望DEA已确定并关闭了这些独立药房,并将继续这样做。 最终,我们的目的是证明无监督机器学习是理解ARCOS数据集的可行方法。随着阿片类药物诉讼的持续进行,这种方法无疑可以阐明谁在做什么,以及何时何地在做。
  • 热度 1
    2020-3-3 12:49
    1259 次阅读|
    0 个评论
    这些步骤可确保考虑每个数据源的偏差,并准确地说明问题所在。例如,对来自世界各地卫生机构的心脏病数据进行联合模型的训练可以消除在对一个国家的国内数据进行训练的模型中发现的种族和性别偏见。 保护隐私的需要 如今,对隐私的需求从未像现在这样迫切,数据的价值可比作石油,被认为是个人最重要的资产。个人生成的数据类型从看似无害的细节(如零售偏好)到高度敏感的信息(如病历),甚至是可能会影响的政治观点。 呼吁提高数据安全性的一种可能的答案(越来越受到关注)是 隐私保护机器学习 (也称为联合学习,或联盟学习)的发展。在较高的层次上,联合学习是一种机器学习方法,可以协同训练模型,并旨在通过使用差异隐私和分散数据来防止数据泄漏。因此,联合学习允许个人数据保持匿名,同时帮助建立强大的模型。 用最简单的术语来说, 联合学习 不会将您的数据发送给第三方,而是在加密每个步骤的同时将模型引入了数据中。 机器学习的未来是协作 隐私并不是使用联合学习来解决的唯一问题。它也消除了目前阻碍我们构建更高精度模型的障碍。 这样的问题之一是,没有中央资源可以提取训练这些模型所需的所有数据。训练覆盖整个情况的模型将需要一系列数据类型,通常分布在各个机构中。 例如,为了捕获个人的财务状况并提供洞察力,必须对在多个银行和信贷服务,在线零售行为和付款习惯中发现的数据进行训练。为了增加复杂性,同一公司各部门之间的数据传输可能会面临与管理或隐私相关的问题。 联合学习为各方面各不相同的各方提供了机会,以协作方式训练比在单一数据源上训练的模型更准确的模型。 联合学习 高层次的联合学习可以分为三个步骤: 1. 共享的全局机器学习模型在可用数据上进行训练,并部署在分散的平台上。 2. 将模型下载到边缘设备,可以是智能手机,笔记本电脑或其他智能设备,然后使用其包含的数据更新模型。 3. 更新(例如,计算出的梯度)将被加密并发送回服务器,在该服务器上,来自多个设备的更新将被平均并用于改善主要共享模型。 4. 然后,共享模型由边缘设备下载,从而使模型的数据贡献者和策展人受益。 这些步骤可确保考虑每个数据源的偏差,并准确地说明问题所在。例如,对来自世界各地卫生机构的心脏病数据进行联合模型的训练可以消除在对一个国家的国内数据进行训练的模型中发现的种族和性别偏见。 联合学习的组成部分 创建一个图表,以非常高的层次说明组成联合学习的各种元素: 构成联合学习基础的三点是: 隐私,数据结构和模型类型 。随着不断变化的景观,增加复杂性和增加深度的新研究进一步扩展了这些观点。 1. 隐私 -隐私是联合学习的最重要方面。无论数据的提供者是公司还是个人,隐私保护都可以增进协作的信任度,保护敏感数据,并确保个人的合法权利。 2. 数据结构 -联合学习根据模型在其上训练的数据结构进行分类。数据结构类别有以下三种类型: 水平联合学习、垂直联合学习和迁移学习 。这些结构描述了数据的组织方式,特别是数据集是否共享相同的特征空间,或者它们是否共享相同的样本。这两个描述分别涉及水平学习和垂直学习。 3. 模型类型 -简单来说,要训练的模型是神经网络还是统计学习模型。这将取决于数据类型,数据量和所需的预测结果。 联合学习数据结构图 未来发展方向 尽管联合学习可能成为解决跨多个设备的大量数据的问题的解决方案,但仍然存在一些障碍。 1. 资源瓶颈- 这些问题包括在训练期间连接的IoT设备的电池寿命不同的情况,这可能导致某些设备掉线。设备无法连接wifi,3G或4G网络等通信差异将影响网络。最后,网络上的设备之间的硬件规格(例如内存和CPU)可能会有所不同。 2. 数据差异— 每个设备上的数据在质量,数量和一致性上都会有所不同。例如, 如果收集用于人脸识别的图像数据,则图片中的照明,面部的多样性以及所贡献的数据量将影响本地训练的模型。 这些局部模型的质量差异很大,最终会影响全局模型的整体质量和准确性。
  • 热度 2
    2020-3-3 12:47
    1141 次阅读|
    0 个评论
    建立更结构化的大脑模型是理解大脑如何组织自身的关键步骤,这可以帮助我们从fMRI,EEG等大脑测量数据中获得更多的数据意义。 数据科学是查看数据并从中提取有用知识的艺术。数据无处不在。数据意味着图像、音频、文本、股市趋势。 数据是我们查询世界时出现的一种方式。 获得有用的知识具有巨大的优势,无论是对于物种的生存还是对公司的生存而言。 因此,数据科学家的追求与生命地球本身一样古老:所有生命形式都一直在从来自环境的数据流中提取知识,以一种或另一种方式为他们的生存目标服务。有些长达数亿甚至数十亿年。 大脑以最复杂的方式带头完成了这项工作。 科学查询 科学的追求同样是从世界中提取知识,尽管这是一个更加刻意的过程。这个过程大致分为两个要素:建立世界模型并将这些模型与数据进行比较。 用更抽象的术语讲,这两个步骤类似于诸如自动编码器之类的生成模型的两个部分。 1、编码器:数据→模型 在第一阶段,可以称为 编码器阶段 ,我们从数据中提取某种 表示/模型 ,我们希望以某种方式反映数据背后的某种真实( 因果/概率 等)结构。 2、解码器:模型→预测(新数据) 第二阶段通过对模型进行有关世界的预测来对模型进行解码,然后在实验中将其与观测结果进行比较。 模型反演 但是,我们还需要采取另一步骤。如果我们只有很少的信息或我们的预测不成立(信息不确定性),我们如何建立和更改模型?如果我们的模型由于建立模型的世界发生变化或包含某种固有的不确定性(环境不确定性)而不再足够好,那会发生什么呢?物理定律可能始终保持不变,但是如果我们改而模拟某些善变的事物,比如像一个人行为不确定,该怎么办? 因此,我们需要另一个阶段,将有关世界的预测与现实世界进行比较,并调整模型以适应预测误差。 3、模型反演:预测的数据 vs. 传入的数据→改进模型 如何使用数据最有效地改善模型?如何同时拧紧复杂模型的许多螺钉而不拧脱口? 正如我在开始时提到的,大脑真的非常擅长从数据中提取相关知识。值得一提的是,他们是才华横溢的直觉科学家,即使他们有数百种偏见。他们不断建立世界模型,基于这些模型进行预测,如果预测不正确,则将其反转和改善。 这就是为什么进化过程首先将它们置于我们的脑海。 大脑是执行各种任务的高效学习者。与我们当前的机器学习算法相比,它们趋向于更好地推广和更灵活地学习,这也意味着快速适应不断变化的环境。 他们对难以置信的复杂过程做出了预测,例如 "我几分钟前遇到的这个人下一步要做什么?" ,这意味着我们的大脑会为我们遇到的每个人建立一个模型,并将这个模型集成到预先创建的模型中。现有的人的模型,进一步整合几种数据模式(该人的外观/说话/气味/移动方式)来微调模型,然后使用该人的新的近似模型在实际情况中进行预测,谈论他或她的行为,或迅速将其归类为朋友或敌人。 如果该人的行为与我们的预测相抵触,我们的大脑将无缝地更新其模型,而大多数时候我们不会注意到它。但是,正如机器学习和人工智能领域的当前标准所表明的那样,用计算机来完成这些事情需要花费更长的时间,花费更多的资源并需要更多的数据。 向大脑学习“如何学习” fMRI数据 神经科学家研究大脑已有一百多年了。但是大脑是很难破解的。我们从中收集的数据通常是混乱且难以解释的。有时候,只能是放弃。但是大脑每天都面临类似的情况。 大脑经不起借口 。如果我们的大脑只是屈服并说"世界太复杂了,就不可能从中学习任何有用的东西",那我们早就死了。 因此,即使我们没有大量的干净数据可用,我们也不会放弃,如何学习良好的大脑模型? 在一个光怪陆离的恶性循环中,我们可以看看自己研究的主题以提供指导:我们可以从大脑中学习大脑的学习方式, 找到有关如何改进和构建算法的灵感,进而帮助我们更好分析和建模大脑数据和行为数据 。 大脑中的分层模型 大脑可以有效地推断和改善其变化的世界模型。 层次模型 是对此进行概念化的一种方法。可以将认知视为层次结构中的结构化,这也适用于思想本身。 层次模型是用于逐步建立越来越复杂的对象表示的好工具。他们可以捕捉深刻非平凡的结构和数据背后的概率分布,可用于高效地生成预测。 它们的潜力激发了神经科学家寻找大脑中的分层模型的能力。我们在一个充满不确定性的世界中度过了自己的一生,有证据表明,大脑可能在使用大脑 中概率分布的 隐式 表示 来解释这种不确定性。有一些关于如何在神经元水平上将它们构建到大脑中的理论。 这些世界概率模型的不同层可以分布在不同的大脑区域和前额叶皮层的不同层中,因此我们的世界模型也将物理分布在大脑上。 高斯滤波器模型 作为一种可以以某种形式在大脑中实施的简单层次模型。 感知总是包含有关环境隐藏状态的不确定性。有没有一种方法可以直接对这种不确定性进行建模? 高斯滤波器的目的是了解 隐变量x 随时间变化的概率结构。这个 隐藏的变量可以代表您可能想到的任何类型的数据 ,无论是股票可能如何变化或您最好的朋友的决定。 该模型表示代理对该变量信念如何在时间上表现,并提供可以对变量进行预测的生成模型。 一个 高斯滤波模型 被构建在彼此顶部堆叠的几个高斯随机分布上。每个高斯都有各自的 均值 和 方差 ,从直觉上讲,其 均值 的倒数称为 精确度 ,因为如果高斯方差是由它产生的高估计值,它将 不会非常精确 。 这些高斯函数随时间进行离散的,这意味着每个高斯函数在时间t的新均值是通过从相同的高斯时间t-1绘制得出的。 为了对模型进行预测,我们从顶部开始,并从N个高斯层次中最高的,具有固定精度的高斯中提取值。该高斯给定的值通过某些函数确定其下一层的高斯精度,然后从中进行绘制。该高斯反过来确定下面的高斯的各自协方差。 冲洗,清洗并重复直到到达底层。 我们试图预测的 隐藏变量x 连接到高斯层次的最底层。如果变量是二进制的(在决策过程中采用布尔值,如"是"或"否"),则可以将底部高斯函数连接至像 单位平方的S形 函数 。 如果x本身被假定为高斯,则底部高斯直接 对随机变量x的概率分布进行建模 。 到目前为止,这似乎都还有点抽象,因此让我们对这里发生的事情有一些直觉。 高斯滤波器模型的学习行为 两条路在树林里分叉。我们如何告诉代理确定选哪一条? 高斯滤波器模型不仅被提议以 某种方式在大脑中实现 ,而且可以被"转过身"以分析来自行为实验的数据,为 真实的大脑在现实生活中的学习建模 。 让我们以最简单的情况为例:两个高斯叠加在每个高斯之上,它们通过单位平方的S型函数连接到布尔变量/决策。 假设我们正在让一个代理选择"是"还是"否",这是由某些 隐藏状态 决定的。我们可以将它们视为我们正在观察的主体的内部过程,就像他的 思想和动机一样 。它们当然可以 随着时间 而 改变 (我假设您曾经对某件事说"是",并很遗憾在您的世界模式改变之后稍后再说"是")。 底层的高斯编码表示代理趋向于"是"或"否"的趋势。现在,位于上一层的第二个高斯模型模拟了 底部高斯 模型的 波动性 :代理人趋向于是或否的趋势随时间变化的程度有多强,以及我们对代理人会说是或否的预测又有多大信心? ? 如果我们在两个现有的高斯函数之上叠加其他高斯函数,它们将对 波动率进行 建模,依此类推,以此类推,从而使模型能够捕获代理中隐藏状态的越来越复杂的概率分布。 层次模型中的模型反演 我们还没有完成。正如我在开始时所述,每个模型的第三个也是至关重要的步骤是 模型反演。 神经网络通常通过反向传播进行训练。采用损失函数的梯度并调整网络参数以减小损失。 高斯滤波器模型中的模型反演在结构上有些相似。的预测作出后,其层通过更新 最小化变自由能 ,由逆精度加权,通过对这些层向上该模型。 通过进行平均场近似(假设分布保持高斯分布并独立更新),该方案相对简单且计算效率高,并且可以在试验和实时方式下进行。 基于相应的预测误差来调整参数。从底部开始的事实遵循与反向传播完全相同的逻辑,在反向传播中,您也从连接到输出的网络层开始。 高斯的均值和精度根据预测误差的大小进行更新 。这样想:如果预测确实很好,几乎完全匹配观察结果,则传播的误差很小,并且一旦上移层次结构,误差就会越来越小。 首先,如果预测很差,但是猜测的准确性确实很小,这意味着该模型在此级别上对其预测高度不确定,那么该模型也不会调整得太强,因为它已经假设了预测可能会不确定,甚至可能会失效。 学习大脑如何学习 这个模型真的向我们展示了大脑如何学习吗?答案仍然不确定(问题是我们的大脑如何对这种不确定性进行建模),而且我们可以成功地使用该模型来学习行为的事实并不表明大脑确实是通过这种方式实现的。 尽管如此,伊格莱西亚斯等。 Al声称从神经影像学研究中发现了证据,可以做到这一点,即根据预测误差的大小,观察预测误差传播到不同的大脑区域/层级,然后将它们链接到不同的神经递质,例如参与奖励预测的多巴胺。 根据想法,该模型可以与神经解剖学联系起来:预测可能由 深部锥体细胞 传递,而预测错误则由例如 浅表锥体细胞 编码。 但是仍然存在许多悬而未决的问题,例如如何在解剖上实现模型的高斯,如何根据来自锥体细胞的信号更新其均值和协方差,如何计算预测误差等。 我们不仅可以通过用大脑启发的模型预测大脑的行为来学习大脑如何学习世界。 但是从更一般的意义上讲,层次模型在许多深度学习和数据科学应用中是有用的工具,因为它们在构造推理网络方面具有强大的功能,例如, 动态系统的摊销推理,自然语言处理或在变分自动编码中学习更好的近似后验,并可以使它们更具解释性 。由于我们对世界的感知是分层的,因此拥有分层模型可以轻松地将它们与我们的直觉和日常语言联系起来。 建立更结构化的大脑模型是理解大脑如何组织自身的关键步骤,这可以帮助我们从fMRI,EEG等大脑测量数据中获得更多的数据意义。 学习 无监督的数据生成模型 是AI开发的重要一步。我认为,分层方法是考虑它的更有希望的方法之一。
相关资源
  • 所需E币: 3
    时间: 前天 00:21
    大小: 19.11MB
    上传者: VinayKIngle
    中英文课件:机器学习在雷达信号分析中的应用1、机器学习问题概述2、ML在遥感中的应用3、ML在目标识别中的应用4、ML在微波多普勒分析中的应用5、案列学习:基于手势识别的调频连续波雷达6、结论
  • 所需E币: 2
    时间: 前天 00:56
    大小: 4.75MB
    上传者: VinayKIngle
    MATLAB发布技术报告《机器学习基础》(IntroducingMachineLearning)
  • 所需E币: 1
    时间: 2020-7-6 14:11
    大小: 2.17MB
    上传者: akencgs
    ARM,机器学习,中文,资料
  • 所需E币: 3
    时间: 2020-6-24 15:04
    大小: 901.68KB
    上传者: sense1999
    整体来说,机器学习算法可以分为3大类:      0.1监督学习    工作原理:该算法由自变量(协变量、预测变量)和因变量(结果变量)组成,由一组自变量对因变量进行预测。通过这些变量集合,我们生成一个将输入映射到输出的函数。训练过程达到我们设定的损失阈值停止训练,也就是使模型达到我们需要的准确度等水平。      监督学习的例子:回归,决策树,随机森林,KNN,逻辑回归等      0.2无监督学习    工作原理:在无监督学习算法中,我们没有目标或结果变量来预测。通常用于不同群体的群体聚类。      无监督学习的例子:Apriori算法,K-means。      0.3强化学习    工作原理:强化学习(reinforcementlearning),又称再励学习、评价学习,学习不是单一方法,而是一种机器学习方式,在智能控制机器人及分析预测等领域有许多应用。    强化学习例子:马尔可夫决策过程    通用机器学习算法列表    1.线性回归    2. Logistic回归    3.决策树    4.SVM  5.朴素贝叶斯        6.KNN  7.K均值        8.随机森林        9.降维算法        10.梯度提升算法        1.GBM  2.XGBoost  3.LightGBM  4.CatBoost
  • 所需E币: 3
    时间: 2020-6-26 22:14
    大小: 12.01MB
    上传者: sense1999
    机器学习与数据挖掘方法和应用(经典)
  • 所需E币: 1
    时间: 2020-6-17 15:32
    大小: 1.65MB
    上传者: sense1999
    以健康监控应用程序为例逐步介绍机器学习工作流程。本部分介绍访问和加载数据、预处理数据、推导特征以及训练和完善模型。
  • 所需E币: 1
    时间: 2020-6-17 15:34
    大小: 4.35MB
    上传者: sense1999
    本电子书建立在使用MATLAB 进行机器学习的基础上,后者回顾了机器学习基础知识,并介绍了监督和无监督学习的技术方法。我们使用心音分类器为例,向您介绍真实世界中的机器学习应用程序从加载数据到部署训练模型的整个开发流程。对于每个训练阶段,我们将演示取得精确模型的关键技术,帮助您掌握更具挑战性的训练任务,包括选择算法、优化模型参数和避免过拟合。在本电子书中,您还将学习如何将模型转变成预测工具,具体包括在新数据上进行训练、提取特征以及生成代码部署到嵌入式设备。
  • 所需E币: 4
    时间: 2020-6-10 16:02
    大小: 23KB
    上传者: 十次方
    如今,各种类型的企业都致力于采用人工智能和机器学习项目,但要发挥其真正的潜力,则需要克服重大的技术障碍。虽然计算基础设施通常是重点,但存储设施也同样重要。以下是对象存储(而不是文件或块存储)适用
  • 所需E币: 4
    时间: 2020-6-3 16:09
    大小: 18KB
    上传者: 十次方
    如今,各种类型的企业都致力于采用人工智能和机器学习项目,但要发挥其真正的潜力,则需要克服重大的技术障碍。虽然计算基础设施通常是重点,但存储设施也同样重要。以下是对象存储(而不是文件或块存储)适用在加强人工智能和机器学习工作负载的
  • 所需E币: 2
    时间: 2020-5-20 15:00
    大小: 45KB
    上传者: 十次方
    对当前学习任务有价值的属性称为是“相关特征”,没有价值的属性称为是“无关特征”,从给定的特征集中选择出相关特征子集的过程,就称为是“特征选择”。其中还有一种特征称为是“冗余特征”,这些特征指的是可以从其他特征中推演出来的特征。
  • 所需E币: 4
    时间: 2020-5-20 15:01
    大小: 825.5KB
    上传者: 十次方
    在本文中,我们将探索TF2.0的10个功能,这些功能让TensorFlow的使用更加顺畅,减少了代码行并提高了效率,因为这些函数/类属于TensorFlowAPI。
  • 所需E币: 4
    时间: 2020-5-21 15:20
    大小: 1.65MB
    上传者: 十次方
    算法公式挺费神,机器学习太伤人。任何一个刚入门机器学习的人都会被复杂的公式和晦涩难懂的术语吓到。但其实,如果有通俗易懂的图解,理解机器学习的原理就会非常容易。本文整理了一篇博客文章的内容,读者可根据这些图理解看似高深的机器学习算法。
  • 所需E币: 5
    时间: 2020-5-16 17:03
    大小: 32.04MB
    上传者: samewell
    机器学习数学基础.pdf
  • 所需E币: 0
    时间: 2020-5-8 11:57
    大小: 16.87MB
    上传者: curton
    2015_Book_MachineLearningInMedicine-ACompleteOverview.pdf
  • 所需E币: 1
    时间: 2020-4-17 17:36
    大小: 22KB
    上传者: 十次方
    C4.5算法是机器学习算法中的一种分类决策树算法,其核心算法是ID3算法.C4.5算法继承了ID3算法的优点,并在以下几方面对ID3算法进行了改进:1)用信息增益率来选择属性,克服了用信息增益选择属性时偏向选择取值多的属性的不足
  • 所需E币: 1
    时间: 2020-4-14 17:15
    大小: 19KB
    上传者: 十次方
    机器学习正以各种方式改变着网络托管行业。许多第三方托管服务提供商,如AWS公司已经开始以不同的能力利用机器学习技术。AmazonSagemaker是机器学习工具之一,它改变了平台向客户提供的服务。Hotels.com公司副总裁兼首席数据科学官MatthewFryer对这项机器学习服务给予了高度评价。并指出使用专用服务器进行机器学习如今变得越来越重要。
  • 所需E币: 1
    时间: 2020-4-9 18:34
    大小: 25KB
    上传者: 十次方
    机器学习模型的训练,通常是通过学习某一组输入特征与输出目标之间的映射来进行的。一般来说,对于映射的学习是通过优化某些成本函数,来使预测的误差最小化。
  • 所需E币: 4
    时间: 2019-12-25 22:47
    大小: 912.78KB
    上传者: wsu_w_hotmail.com
    语音与唇动面部表情的同步是人脸动画的难点之一.综合利用聚类和机器学习的方法学习语音信号和唇动面部表情之间的同步关系,并应用于基于MEPG-4标准的语音驱动人脸动画系统中.在大规模音视频同步数据库的基础上,利用无监督聚类发现了能有效表征人脸运动的基本模式,采用神经网络学习训练,实现了从含韵律的语音特征到人脸运动基本模式的直接映射,不仅回避了语识别鲁棒性不高的缺陷,同时学习的结果还可以直接驱动人脸网格.最后给出对语音驱动人脸动画系统定量和定性的两种分析评价方法.实验结果表明,基于机器学习的语音驱动人脸动画不仅能有效地解决语音视频同步的难题,增强动画的真实感和逼真性,同时基于MPEG-4的学习结果独立于人脸模型,还可用来驱动各种不同的人脸模型,包括真实视频2D卡通人物以及3维虚拟人脸.……
  • 所需E币: 3
    时间: 2019-9-22 17:06
    大小: 37.51MB
    上传者: fuqu_123
    很不错机器学习学习书籍
  • 所需E币: 3
    时间: 2019-8-2 11:15
    大小: 24.32MB
    上传者: bambooslip
    本书是机器学习实战领域的一本佳作,从机器学习的基本概念讲起,旨在将初学者引入机器学习的大门,并走上实践的道路。本书通过讲解机器学习中的监督学习和无监督学习,并结合特征选择和排序、聚类方法、文本和网页挖掘等热点问题,论证了“优化是力量之源”这一观点,为机器学习在企业中的应用提供了切实可行的操作建议。
广告