作者 | William G. Wong
出品 | CDA数据分析师
英文标题 | Machine Learning: The Magic is How it Works
虽然人工智能的发展还没有达到人类的想象和预期,但机器学习工具已经可以使应用程序做一些神奇的事情了。
最近,我和朋友谈论人工智能(AI)和机器学习(ML),大家认为,如果用魔术这个词代替AI或ML,那么很多讨论和研究会包含相当多有用的信息量。形成这总现状的原因有很多,包括对AI,ML等当前发展的误解,更具体地说,深度神经网络(DNN) - 特别是ML模型实际上在做什么和理解ML模型如何被协同使用。
希望工作中涉及到ML的人们能够接受我的解释,因为他们的目标是那些想要理解和使用ML的工程师,即使ML公司正在大肆宣传的炒作,但实际上他们还没有做到宣传的程度。超过一半的人正在研究ML,但只有一小部分实际上将其纳入产品中。然而这个数字正在快速增长。
ML只是AI领域的一部分,许多ML工具和模型可供使用,或者正在使用,或者正在开发中(图1)。DNN只是其中的一部分; 其他神经网络方法进入混合,但后来更多。
开发人员应该更多地考虑ML模型,如快速傅里叶变换(FFT)或卡尔曼滤波器。它们是构建具有特定功能的构建块,可以与类似的工具,模块或模型结合使用来解决问题。将黑盒子串在一起的想法是可行的。FFT和DNN模型之间的区别在于配置。前者有一些参数,而DNN模型需要训练。
某些类型的神经网络的训练需要数千个样本,例如照片。这通常在云中完成,这样可以应用大量的存储和计算能力。训练后的模型可以在终端使用,因为它们通常需要较少的存储和计算能力作为其训练对应物。可以在两种情况下使用AI加速器来提高性能并达到降低功率要求。
滚动机器学习模型
可以训练大多数ML模型以使用不同的训练样本集提供不同的结果。例如,猫照片的集合可以与某些模型一起使用以帮助识别猫。
模型可以执行不同的功能,例如检测,分类和分割。这些是基于图像工具的常见应用。其他功能可以包括路径优化或异常检测,或提供推荐等。
单个模型通常不会提供大多数应用程序所需的所有处理,输入和输出数据可能会受益于额外的处理。例如,降噪对于模型的音频输入可能是有用的。降噪可以由传统的模拟或数字滤波器提供,或者同时存在于ML模型中。然后可以使用输出来识别音素,单词等,因为数据被处理直到可能识别语音命令。
同样,可以使用模型或过滤器来识别图像中的感兴趣区域。然后可以将该子集呈现给基于ML的识别子系统等等(图2)。详细程度取决于应用程序。例如,基于视频的门打开系统可能需要区分人和动物以及运动方向,使得门仅在人朝向它移动时打开。
可以使用不同的工具或ML模型来识别感兴趣的区域,然后对这些区域进行隔离和处理以区分诸如人和汽车之类的物体。
模型可以是定制的和预训练的,或者由开发者创建和训练。很大程度上取决于应用程序的要求和目标。例如,保持机器运行可能意味着跟踪系统中电动机的操作。可以从提供给电动机的功率到噪声和振动信息记录和分析许多因素。
H2O.ai和XNor等公司正在为那些不想从头开始或使用可能需要集成和定制的开源模型的人提供预建或定制的模型和培训。H2O.ai拥有针对特定平台和服务的Enterprise Steam和Enterprise Puddle等软件包。XNor的AI2Go使用菜单式方法:开发人员首先选择目标平台,如Raspberry Pi,然后是行业,如汽车,然后是一个用例,如舱内物体分类。最后一步是根据延迟和内存占用限制选择模型(图3)
显示的是XNor AI2Go菜单选择过程的尾部。开发人员可以通过指定内存占用和延迟时间来缩小对理想模型的搜索范围。
这不是关于DNN的全部
在处理神经网络和类似技术时,开发人员需要牢记许多因素。涉及概率,ML模型的结果通常以百分比定义。例如,训练识别猫和狗的模型可能能够提供图像包含狗或猫的高度置信度。水平可以较低,区别于狗与猫等等,以至于识别出特定品种的动物。
通过额外的培训,百分比通常可以提高,但变化通常不是线性的。可能很容易达到50%的标记,90%可能是一个很好的模型。但是,可能需要很多训练时间才能达到99%。
最大的问题是:“在决策过程中有哪些应用要求以及有哪些替代方案?”这就是为什么在安全性和安全性是重要设计因素时使用多个传感器的原因之一。
由于开源解决方案的可用性,包括TensorFlow和Caffe等平台,DNN一直很受欢迎。他们已经从Xilinx,NVIDIA,Intel等公司那里获得了广泛的硬件和软件支持,但它们并不是唯一可用的神经网络工具。卷积神经网络(CNN),递归神经网络(RNN)和尖峰神经网络(SNN)是其他一些可用选择。
SNNS通过使用BrainChip和埃塔计算。BrainChip的Akida开发环境(ADE)旨在支持SNN模型的创建。Eta Compute 通过SNN硬件增强了其超低功耗Cortex-M3微控制器。虽然所有神经网络方法都存在权衡,但SNN比DNN及其同类产品更容易训练。
Neurala的终身DNN(LDNN)是另一种ML方法,类似于DNN,具有较低的SNN训练开销。LDNN是多年来开发的专有系统。它支持使用近似轻量级反向传播的连续学习,允许学习继续而无需保留初始训练信息。LDNN还需要更少的样本来达到与传统DNN相同的培训水平。
与DNN相比,精确度和识别水平存在折衷,但这种差异与涉及SNN的差异相似。由于涉及的因素很多,包括培训时间,样本等,因此不可能在系统之间进行直接比较。
LDNN可以受益于通用GPU(GPGPU)提供的AI加速。SNN更加轻巧,使其更易于在微控制器上使用。即便如此,只要模型不是太苛刻,DNN就可以在微控制器和低端DSP上运行。图像处理可能不实用,但是跟踪电机控制系统上的异常是可行的。
克服ML挑战
处理ML时存在许多挑战。例如,过度拟合是基于培训的解决方案遇到的问题。当模型与训练数据类似的数据很好地工作时,会发生这种情况,但对于新的数据则很差。LDNN使用基于阈值的自动合并系统,可减少冗余权重向量并重置权重,同时保留新的有效异常值。
ML模型可以高精度地成功解决许多任务。然而,这并不意味着所有任务,无论它们是传统的分类或分割问题,都可以适应。有时,改变模型可以帮助或开发新模型。这是数据工程师可以派上用场的地方,尽管它们往往很少见且价格昂贵。
调试模型也可能是一个挑战。ML模块调试与调试传统程序有很大不同。调试在应用程序中工作的模型是另一个问题。请记住,模型的精度通常低于100%; 因此,需要设计应用程序来处理这些条件。对于非关键应用程序而言,这不是一个问题。但是,像自动驾驶汽车这样的应用需要冗余,重叠的系统。
雪崩式的进步
新系统继续来自学术界和研究机构。例如,“使用神经形态传感器学习感知运动控制:迈向超维度主动感知”是马里兰大学工程系的一篇论文。Anton Mitrokhin和Peter Sutor Jr.,CorneliaFermüller和计算机科学教授Yiannis Aloimonos开发了一个用于集成传感器数据,ML分析和控制的超维度管道。它使用自己的超维记忆系统。
ML过去一直没有像其他编程工具那样进步。即使不转向专用硬件,改进也很显着。部分原因在于改进了软件对优化的支持,这些优化可提高准确性或性能,同时降低硬件要求。开发人员面临的挑战是确定要使用的硬件,使用什么ML工具以及如何将它们结合起来以解决其应用问题。
现在制作大多数系统是值得的,而不是等待下一次改进。一些平台将向上兼容; 但是,其他人可能不会。使用硬件加速解决方案将限制可支持但具有显着性能增益的ML模型,通常是多个数量级。
使用ML的系统并不神奇,它们的应用可以使用传统的设计方法。它们确实需要新的工具和调试技术,因此首次采用ML不应该是轻率的任务。另一方面,回报可能很大,ML模型可能经常提供传统编程技术和框架所不具备的支持。
如上所述,单个ML模型可能不是特定应用所需的。组合模型,过滤器和其他模块需要了解每个模块,因此不要假设它只是选择ML模型和进行有限数量的培训。在某些情况下这可能就足够了,特别是如果应用程序与现有模型匹配,但在尝试之前不要指望它。
数据分析咨询请扫描二维码
《Python数据分析极简入门》 第2节 5 Pandas数学计算 importpandasaspdd=np.array([[81,&n ...
2024-11-23数据分析涉及多个方面的学习,包括理论知识和实践技能。以下是数据分析需要学习的主要方面: 基础知识: 数据分析的基本概念 ...
2024-11-22数据分析适合在多个单位工作,包括但不限于以下领域: 金融行业:金融行业对数据分析人才的需求非常大,数据分析师可以从事经 ...
2024-11-22数据分析是一种涉及从大量数据中提取有用信息和洞察力的过程。其工作内容主要包括以下几个方面: 数据收集与整理:数据分析师 ...
2024-11-22数据分析师需要掌握多种技能,以确保能够有效地处理和分析数据,并为业务决策提供支持。以下是数据分析师需要掌握的主要技能: ...
2024-11-22数据开发和数据分析是两个密切相关但又有所区别的领域。以下是它们的主要区别: 定义和目标: 数据开发:数据开发涉及数据的 ...
2024-11-22数据架构师是负责设计和管理企业数据架构的关键角色,其职责涵盖了多个方面,包括数据治理、数据模型设计、数据仓库构建、数据安 ...
2024-11-22数据分析师需要具备一系列技能,以确保能够有效地处理、分析和解释数据,从而支持决策制定。以下是数据分析师所需的关键技能: ...
2024-11-22数据分析师需要具备一系列技能,以确保能够有效地处理、分析和解释数据,从而支持决策制定。以下是数据分析师所需的关键技能: ...
2024-11-22数据分析师需要具备一系列的技能和能力,以确保能够有效地处理、分析和解释数据,从而支持业务决策。以下是数据分析师所需的主要 ...
2024-11-22需求持续增长 - 未来数据分析师需求将持续上升,企业对数据驱动决策的依赖加深。 - 预测到2025年,中国将需要高达220万的数据人 ...
2024-11-22《Python数据分析极简入门》 第2节 4 Pandas条件查询 在pandas中,可以使用条件筛选来选择满足特定条件的数据 importpanda ...
2024-11-22数据分析师的工作内容涉及多个方面,主要包括数据的收集、整理、分析和可视化,以支持商业决策和问题解决。以下是数据分析师的一 ...
2024-11-21数据分析师必须掌握的技能可以从多个方面进行归纳和总结。以下是数据分析师需要具备的主要技能: 统计学基础:数据分析师需要 ...
2024-11-21数据分析入门的难易程度因人而异,总体来看,入门并不算特别困难,但需要一定的学习和实践积累。 入门难度:数据分析入门相对 ...
2024-11-21数据分析是一项通过收集、整理和解释数据来发现有用信息的过程,它在现代社会中具有广泛的应用和重要性。数据分析能够帮助人们更 ...
2024-11-21数据分析行业正在迅速发展,随着技术的不断进步和数据量的爆炸式增长,企业对数据分析人才的需求也与日俱增。本文将探讨数据分析 ...
2024-11-21数据分析的常用方法包括多种技术,每种方法都有其特定的应用场景和优势。以下是几种常见的数据分析方法: 对比分析法:通过比 ...
2024-11-21企业数字化转型是指企业利用数字技术对其业务进行改造和升级,以实现提高效率、降低成本、创新业务模式等目标的过程。这一过程不 ...
2024-11-21数据分析作为一个备受追捧的职业领域,吸引着越来越多的女性加入其中。对于女生而言,在选择成为一名数据分析师时,行业选择至关 ...
2024-11-21