机器学习领域正在快速的发生着变化,对机器学习和人工智能技术的需求也与日俱增。作为ML工程师
,我们必须寻求更高效
、更有效
的方法来准备数据
和构建模型
。
无论你是机器学习领域的专家还是新手,你都必须对这个领域的最新发展保持开放的心态。下面是一些最新的机器学习技术。它们在很多场景中都有有趣的应用。
Automated Machine Learning(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 的软件平台供你使用。它们包括:Google AutoML、Azure 自动机器学习、Auto Keras 和 Auto sklearn。
受传统 DevOps 的启发,MLOps 寻求消除传统软件开发和机器学习软件开发之间的 gap。
Machine Learning Operationalization Management (MLOps)是机器学习的一个功能,它旨在简化机器学习模型的生产、维护和监控。它使数据科学家和机器学习工程师能够协作并改进模型开发和生产。
MLOps 确保在机器学习生命周期中实施持续集成和部署的(CI/CD)实践。它适用于每个阶段,包括数据收集和分析、模型训练和部署、模型监控和再训练等。
MLOps架构设计:
众所周知,机器学习开发还存在团队沟通、 开发管理流程的构建、可扩展性和大规模敏感数据管理等问题。MLOps 方法可以帮助简化管理过程出现的各种问题,并且自动化机器学习应用的部署。
MLOps 复现性原则:
在机器学习项目中,有许多工具可以实现MLOp。你可以从开源、专有软件、Saas和本地MLOps工具中进行选择。一些最好的MLOps工具包括 Comet[https://www.comet.ml/site/]、Amazon SageMaker、Azure机器学习和谷歌云人工智能平台。
TinyML 的创始人皮特·沃登(Pete Warden)和早期的 TinyML 工程师丹尼尔·西图纳亚克(Daniel Situnayake)推广了 TinyML。
TinyML致力于机器学习算法的开发,该算法可以在小型或低功耗设备(如微控制器)上运行。边缘设备上的机器学习模型能够实现低延迟、低功耗、低带宽,并确保用户隐私。
TinyML 允许物联网设备使用有限的资源和计算能力分析数据,并且只收集有用的数据。这对于高能耗和收集本地设备上的无用数据而言,是一个有用的解决方案。它有助于整合机器学习和物联网。
物联网边缘设备的ML框架:
微控制器非常适合将机器学习引入边缘设备。它们价格低廉,耗电很少。它们还允许我们以非常便宜的价格收集和分析大量数据。然而,它们需要开发 ML 算法,这些算法可以在很少的本地内存或计算能力下运行。
一些边缘设备及其硬件规格:
比如 “Ok Google”、“Alexa” 和 “Hey Siri” 之类的唤醒词就是 TinyML 的例子。专家们相信,未来几年将有更多的 ML 模型在边缘设备上接受训练。Arduino Nano 33 BLE Sense 和 TensorFlow Lite Micro 是用于在边缘部署 ML 模型的一些最流行的硬件和框架。
General Adversarial Networks(GANs)由 Ian Goodfellow 及其同事于2014年在蒙特利尔大学创始。
GAN 是一种新的机器学习趋势,它产生样本,并且能够使用网络来辨别网络,能够删除不需要的内容。就像政府部门一样,GAN 能提供制衡,以确保准确性和可靠性。
GAN 是一种生成性建模方法(一种无监督学习方法,其中模型学习发现输入数据中的模式)。他们以使用卷积神经网络来识别、分析和分类视觉图像而闻名。
GAN结构:
生成对抗网络(GAN)通过将问题呈现为具有两个子模型的监督学习问题,帮助训练生成模型。下面是它们的工作原理:
生成器训练中的反向传播:
鉴别器训练中的反向传播。
这两个子模型通常在对抗性零和游戏中一起训练,直到鉴别器模型绝大多数时间被欺骗了,这表明生成器模型正在生成令人信服的示例。
GAN 正在迅速发展,由于其理解和重新创建视觉内容的能力,目前正用于许多应用程序。它们可以用于从文本生成逼真的图像、创建深度假视频、从轮廓填充图像等。
理查德·萨顿被称为“强化学习之父”
强化学习是奖励期望行为和惩罚消极行为的 ML 方法。它使用了一种基于神经网络的强化学习代理算法。但是,代理人可以通过尝试和错误来学习,也可以感知和解释环境。
在强化学习中,积极值会分配给期望的行为,消极值会分配给不期望的行为。我们对代理人进行编程,以寻求最大的回报并完成所有必要的目标。只要能够设计奖励,这可以在任何机器学习系统中使用。
强化学习的基本框架:
尽管强化学习已经引起了人们的兴趣,但它在现实世界中的应用和应用却很少。强化学习目前的一些用例包括游戏模拟、资源管理、个性化推荐、机器人技术、基于仿真的优化等。
AWS DeepRacer 强化学习小车强化学习很难部署,因为它依赖于对学习环境的探索。这在现实环境中可能会造成问题,因为事情可能非常复杂并且具有很强的动态性。一些强化学习的算法包括 Q-learning、深度 Q-Networks 和状态动作-奖励-状态动作(SARSA)。
机器学习应用正在增长,机器学习方法和工具也在增长。上面提到的五大机器学习趋势应该让你更了解该领域的发展方向。数据科学和机器学习有无限的可能性,这是非常有趣、刺激的事情!
点击卡片关注+星标,第一时间获取干货~本文由 mdnice 多平台发布