机器学习领域相对较新,但变化迅速,对机器学习和人工智能技术的需求似乎与日俱增。作为 ML 工程师,我们必须寻求更有效的方法来准备数据和构建模型。
无论是机器学习方面的专家还是新手,都必须对该领域的最新发展保持开放的态度。以下是一些最新的机器学习技术。它们似乎都有有趣的用例。
1. 自动化机器学习(AutoML)
AutoML 是机器学习领域的一项重大交易。它的第一个研究小组由弗莱堡大学的 Frank Hutter 教授于 2013 年创立。
自动化机器学习 (AutoML) 是自动化机器学习模型开发中涉及的耗时且重复的任务的过程。借助 AutoML,您可以设计有效且可持续的模型,以帮助提高效率和生产力。
传统的机器学习包含多个任务,包括清理数据、选择合适的特征、指定模型族、优化模型超参数、设计神经网络拓扑、处理模型和分析结果。
这些任务非常耗时,并且需要大量的机器学习专业知识。然而,AutoML 引入了现成的机器学习方法来帮助自动化整个过程。在处理大量数据时特别有用。
谷歌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 工程师采用的那些。它们包括:谷歌 AutoML、亚马逊 自动机器学习,,Auto Keras和 Auto-sklearn。
2.机器学习操作化管理(MLOps)
受传统 DevOps 的启发,MLOps 旨在消除传统软件开发的孤岛。
MLOps 是机器学习的一项功能,旨在简化机器学习模型的生产、维护和监控。它使数据科学家和机器学习工程师能够协作并改进模型开发和生产。
MLOps 确保在整个机器学习生命周期中实施持续集成和部署 (CI/CD) 实践。它对每个阶段都很有用,包括数据收集和分析、模型训练和开发、模型监控和再训练等。
众所周知,机器学习开发在团队沟通、构建适当的 ML 管道、可扩展性和大规模敏感数据管理方面存在问题。但是,MLOps 方法可以帮助促进管理过程并自动化机器学习应用程序的部署。
3. TinyML
TinyML 由 TinyML 的“创始人”Pete Warden 和 TinyML 早期工程师 Daniel Situnayake 推广。
TinyML 关注机器学习算法的开发,这些算法可以在微控制器等小型或低功耗设备上运行。边缘设备的机器学习模型可实现低延迟、低功耗、低带宽,并确保用户隐私。
TinyML 允许物联网设备使用有限的能量和计算能力分析数据,并只收集有用的数据。对于高能耗和在本地设备上收集无用数据,这是一个有用的解决方案。它有助于集成机器学习和物联网。
微控制器非常适合将机器学习带入边缘设备。它们价格低廉,耗电量极少。它们还使我们能够以非常便宜的价格收集和分析大量数据。但是,它们需要开发可以在本地内存或计算能力很少的情况下运行的 ML 算法。
4.通用对抗网络
GAN 是由 Ian Goodfellow 和他的同事于 2014 年在蒙特利尔大学引入的。
通用对抗网络 (GAN) 是一种新的机器学习趋势,它产生的样本由可以删除不需要的内容的判别网络进行检查。就像政府部门一样,GAN 提供制衡以确保准确性和可靠性。
GAN 是一种生成建模方法(一种无监督学习方法,模型学习发现输入数据中的模式)。他们以使用卷积神经网络(一种深度学习方法)来识别、分析和分类视觉图像而闻名。
生成对抗网络通过将问题呈现为具有两个子模型的监督学习问题来帮助训练生成模型。以下是它们的工作方式:
- 发电机模型
这被训练来生成新的数据集,例如生成类似于真实数据的输出。
鉴别器模型
这被训练来比较和区分生成的数据与真实数据。
这两个子模型通常在对抗性零和游戏中一起训练,直到鉴别器模型被愚弄了大约一半的时间,这表明生成器模型正在生成令人信服的示例。
GAN 正在迅速发展,目前正被用于许多应用,因为它们能够理解和重新创建视觉内容。它们可用于从文本生成逼真的图像、创建深度伪造视频、从轮廓填充图像等。
5.强化学习
Richard S. Sutton 被称为“强化学习之父”。
强化学习是一种奖励期望行为和惩罚消极行为的机器学习方法。它使用强化学习代理——一种基于神经网络的算法。但是代理可以通过反复试验来学习,也可以感知和解释其环境。
在强化学习中,正值被分配给期望的行为,负值被分配给不期望的行为。它对代理进行编程以寻求最大的回报并完成所有必要的目标。只要应用奖励,这可以在任何机器学习系统中运行。
尽管强化学习引起了极大的兴趣,但它在现实世界中的采用和应用却很少。然而,强化学习的一些当前用例包括游戏模拟、资源管理、个性化推荐、机器人技术、基于模拟的优化等。
强化学习部署起来可能很棘手,因为它依赖于对学习环境的探索。由于事物的复杂性和动态性,这可能会在现实环境中造成问题。一些强化学习算法包括 Q-learning、Deep Q-networkk和SARSA。
结论
机器学习应用程序正在增长,机器学习方法和工具也在增长。上面讨论的 5 大机器学习趋势应该让您解该领域的发展方向。数据科学和机器学习有无穷无尽的可能性。这让我们更有趣、更兴奋!