提到人工智能就一定会提到Python,有的初学者甚至认为人工智能和Python是划等号的,其实Python是一种计算机程序设计语言,是一种动态的、面向对象的脚本语言,开始时是用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发, 而人工智能通俗讲就是人为的通过嵌入式技术把程序写入机器中使其实现智能化。但是随着ML.net的问世,我们现在可以在.netcore平台上使用比Python更少的代码来实现AI的功能了。
人工智能其实只是机器学习
ML是Machine Learning的缩写,从命名上可以看出微软对于对于AI的现状还是有非常清醒的认识的,目前我们所有声称的人工智能其实只是机器学习,离真正意义上的人工智能还差的很远,人工智能的定义可以分为两部分,即“人工”和“智能”,“人工”比较好理解,争议性也不大,有时我们会要考虑什么是人力所能及制造的,或者人自身的智能程度有没有高到可以创造人工智能的地步,等等。
人工智能在计算机领域得到了广泛的重视
上一波的AI创业大军已经纷纷倒下了,这也使我们认识到目前AI的水平是很难独立支撑一块完整的创新业务的,但是作为已有系统的补充,作为数据分析的工具,AI还是很有用的,尤其是在图像识别,语义分析,数值预测等已有成熟算法的领域,人工智能在计算机领域内,得到了愈加广泛的重视,并在机器人,经济政治决策,控制系统,仿真系统中得到应用。
还会支持图片中物体识别
目前的Visual Studio 2019已经包含了ML.Net的图形化工具,只不过需要你手动开启,首先在Visual Studio Installer里安装的功能中勾选ML.Net,然后在visual studio的 工具->选项中,选择展示预览功能,安装完毕之后,随便建一个.netcore的项目,控制台的就可以,右键点击添加就会看到ML.NET的选项,点击之后会有图形界面,让你从几种常见的需求中选择,比如语义识别,图像识别,数值预测等,后续它还会支持图片中物体识别等更复杂的需求。
每种任务可以自定义具体分类
在已有项目中手动添加AI的支持,只需要从Nuget上手动引用Microsoft.ML包,以及其他任务相关的包,如果需要使用tensorflow训练的模型,则需要引用SciSharp.TensorFlow.Redist包,训练和使用模型的代码都比较简单,根据机器学习的类型不同,少则10几行,多则几十行代码就可以完成训练的编码,可维护多种图片识别的任务,每种任务可以自定义具体分类每种任务可以指定不同的图片预处理操作,提供后台界面允许管理人员对数据进行标注允许在线增量训练提供对外API接口。
人工智能是一个很老的概念,机器学习是人工智能的一个子集,深度学习又是机器学习的一个子集,机器学习与深度学习都是需要大量数据来维持的,是大数据技术上的一个应用,同时深度学习还需要更高的运算能力支撑,总之人工智能的发展道路还很长远。