机器学习领域相对较新,但它正在以快速的速度发展,对机器学习和人工智能技术的需求似乎日益增长。作为机器学习工程师,我们必须寻求更有效和更有效的方式来准备数据和构建模型。
无论你是机器学习的专家还是新手,都必须对该领域的最新发展保持开放的态度。以下是一些最新的机器学习技术。所有这些技术似乎都有有趣的用例。
1. 自动机器学习(AutoML)
自动机器学习(AutoML)在机器学习中是一项重大的工作。它的第一个研究小组于2013年由弗莱堡大学的弗兰克·胡特教授成立。
自动机器学习(AutoML)是自动化涉及机器学习模型开发的耗时和重复任务的过程。通过AutoML,你可以设计有效和可持续的模型,以帮助提高效率和生产力。
传统的机器学习包括多个任务,包括数据清理,选择适当的特征,指定模型系列,优化模型超参数,设计神经网络的拓扑结构,处理模型以及分析结果。
这些任务耗时且需要机器学习方面的专业知识。然而,AutoML引入了现成的机器学习方法,帮助自动化整个过程。在处理大量数据时,它特别有用。
Google AutoML代码示例:
from google.cloud import automl# TODO(developer): Uncomment and set the following variables
# project_id = “YOUR_PROJECT_ID”
# dataset_id = “YOUR_DATASET_ID”
# display_name = “YOUR_MODEL_NAME”client = automl.AutoMlClient()# A resource that represents Google Cloud Platform location.
project_location = f”projects/{project_id}/locations/us-central1"
# Leave model unset to use the default base model provided by Google
metadata = automl.TextClassificationModelMetadata()
model = automl.Model(
display_name=display_name,
dataset_id=dataset_id,
text_classification_model_metadata=metadata,
)# Create a model with the model metadata in the region.
response = client.create_model(parent=project_location, model=model)print(“Training operation name: {}”.format(response.operation.name))
print(“Training started…”)
自动ML使机器学习更加用户友好,并赋予那些没有广泛编程语言知识的人实施ML解决方案的能力。它允许更快,更准确的输出,敏捷的问题解决,并利用数据科学的最佳实践。
有几个AutoML软件平台可供你使用。但我们将提及大多数组织和ML工程师今天采用的软件平台。它们包括:Google AutoML,Azure自动化机器学习,Auto Keras和Auto-sklearn。
2. 机器学习操作管理(MLOps)
受传统DevOps的启发,MLOps旨在消除传统软件开发的孤立状态。
MLOps是机器学习的一个功能,旨在简化机器学习模型的生产,维护和监控。它使数据科学家和机器学习工程师能够合作并改进模型的开发和生产。
MLOps确保在整个机器学习生命周期中实施持续集成和部署(CI / CD)实践。它对于每个阶段都很有用,包括数据收集和分析,模型培训和开发,模型监控和重新培训等。
MLOps架构设计:
图片来自:https://content.cloud.redhat.com/
机器学习开发也被称为存在团队沟通问题,构建适当的ML管道,可扩展性以及大规模管理敏感数据。但是,MLOps方法可以帮助促进管理过程并自动部署机器学习应用程序。
用于可重复性的MLOps原则:
图片来源:ml-ops.org
有许多工具可用于在机器学习项目中实施MLOps。你可以从开源,专有软件,Saas和本地MLOps工具中进行选择。一些最佳的MLOps工具包括Comet,Amazon SageMaker,Azure Machine Learning和Google Cloud AI Platform。
创新和学术研究是相辅相成的。听听我们的CEO Gideon Mendels与斯坦福大学MLSys Seminar Series团队的聊天,了解MLOps的未来并免费试用Comet平台!
3. TinyML
TinyML由Pete Warden和Daniel Situnayake等早期的TinyML工程师推广。TinyML(微型机器学习)是一种针对微控制器等小型或低功耗设备开发机器学习算法的技术。边缘设备上的机器学习模型可以实现低延迟、低功耗、低带宽,并确保用户隐私。
TinyML允许IoT设备使用有限的能源和计算能力分析数据,仅收集有用的数据。对于本地设备高能耗和收集无用数据的问题,这是一个有用的解决方案。它有助于将机器学习和IoT集成在一起。
IoT边缘设备的ML框架:
图片来源:therobotreport.com
微控制器非常适合将机器学习带到边缘设备中。它们价格低廉,耗电量极低。它们还允许我们以非常便宜的价格收集和分析大量数据。但是,它们需要开发可以在本地内存或计算能力很少的情况下运行的ML算法。
一些边缘设备及其硬件规格:
图片来源:therobotreport.com
“Ok Google”、“Alexa”和“Hey Siri”等唤醒词是TinyML的一些例子。专家们认为,在未来几年中,会有更多的ML模型在边缘设备上进行训练。Arduino Nano 33 BLE Sense和TensorFlow Lite Micro是目前最流行的硬件和框架,用于在边缘部署ML模型。
4. 生成对抗网络
GAN是由Ian Goodfellow和他的同事于2014年在蒙特利尔大学引入的。
生成对抗网络(GAN)是一种新的机器学习趋势,它生成样本供鉴别网络检查,并删除不需要的内容。就像政府的分支机构一样,GAN提供了检查和平衡,以确保准确性和可靠性。
GAN是一种生成建模方法(一种无监督学习方法,其中模型学习发现输入数据中的模式)。它们以使用卷积神经网络,一种深度学习方法,来识别、分析和分类视觉图像而闻名。
GAN结构:
生成对抗网络通过将问题呈现为带有两个子模型的监督学习问题来帮助训练生成模型。这是它们的工作方式:
- 生成器模型
这是被训练用于生成新数据集的模型,例如产生类似真实数据的输出。
生成器训练中的反向传播:
- 鉴别器模型
这是被训练用于比较和区分生成数据和真实数据的模型。
鉴别器训练中的反向传播:
这两个子模型通常在对抗的零和游戏中一起训练,直到鉴别器模型大约一半的时间被愚弄,表明生成器模型正在生成令人信服的示例。
GAN正在快速发展,并且由于其理解和重现视觉内容的能力,目前正在用于许多应用。它们可以用于从文本生成逼真的图像、创建深度伪造视频、从轮廓中填充图像等。
5. 强化学习
Richard S. Sutton被称为“强化学习之父”。
强化学习是一种通过奖励期望行为和惩罚负面行为的ML方法。它使用强化学习代理-一种基于神经网络的算法。但是,代理也可以通过试错来学习,以及感知和解释其环境。
在强化学习中,为期望行为分配正值,为不希望的行为分配负值。它将代理程序编程为寻求最大的奖励并完成所有必要的目标。只要奖励被应用,它就可以在任何机器学习系统中运行。
强化学习的大致框架:
图片来源:blog.floydhub.com
尽管强化学习引起了很多兴趣,但其在现实世界中的采用和应用仍然很少。但是,强化学习的一些当前用例包括游戏模拟、资源管理、个性化推荐、机器人、基于模拟的优化等。
AWS DeepRacer强化学习在部署时可能会有些棘手,因为它依赖于对环境的探索来进行学习。由于现实世界中事物的复杂性和动态性,这可能会成为问题。一些强化学习算法包括Q学习,深度Q网络和状态动作奖励状态动作(SARSA)。
结论
机器学习应用正在增长,机器学习方法和工具也在不断发展。上述前五种机器学习趋势应让你了解这个领域可能的发展方向。数据科学和机器学习有无限的可能性。这使得我们的工作更有趣和挑战!
编辑注:Heartbeat是一个贡献者驱动的在线出版物和社区,致力于为数据科学、机器学习和深度学习从业者提供优质的教育资源。我们致力于支持和激励来自各行各业的开发人员和工程师。
Heartbeat在编辑上独立,由MLOps平台Comet赞助和发布,该平台使数据科学家和机器学习团队能够跟踪、比较、解释和优化他们的实验。我们向贡献者支付报酬,不销售广告。
译自:https://heartbeat.comet.ml/top-5-machine-learning-trends-for-2022-e3facd83f18f
评论(0)