原创 人工智能应用开发(PyQT5 + OpenCV4.8)从入门到实战

2024-5-24 15:50 141 2 2 分类: 软件与OS

一、大模型快速普及应用的当下,AI浪潮汹涌而至,对于开发者来说,开发一款属于自己的AI应用并不是遥不可及。那么,AI开发的基本流程是怎样的?
一个典型的AI应用开发包括数据处理、算法开发、模型训练、模型部署等,在ModelArts上可以完成以上所有流程。数据处理主要是对上传到云端的数据进行标注和特征分析,算法开发可以使用ModelArts官方发布或自己开发的算法,模型训练即使用云上的CPU/GPU/NPU等资源创建训练作业,最终的模型部署可部署为在线服务或者边缘服务。

二、AI开发究竟在开发什么?
一个硬件开发者的工作成果是一个布满集成电路的服务器,开机就可以运行某种软件。
一个移动端开发者的工作成果可以是一个手机APP,包括了大量二进制数据,可被麒麟芯片直接运行。
一个AI开发者的工作成果则是一个模型,模型本质上是一个函数:
f(图片) = "How are you"
f(猫图片) = "Cat"
无论这个函数有多么复杂,有多少个变量或者参数,AI开发都是试图找出这个函数的表达式。

三、AI模型(函数)是怎么开发出来的?
AI模型本质是一个函数,想要找到这个函数准确的的表达式,仅凭逻辑是无法推导出来的,而是训练出来的,我们喂给机器目前已有的数据,机器就会从这些数据里去找出一个最能满足(专业术语称为拟合)这些数据的函数,当有新的数据需要预测的时候,机器就可以通过这个函数去预测出这个新数据对应的结果是什么。

对于一个具备某种智能能力而言,一般具备以下要素:数据+算法+模型,开发的过程,就是不断地用数据和算法使得模型越来越逼近真实情况,注意是逼近而非推导,这个过程称为训练。

四、人工智能研究目的
人工智能(Artificial Intelligence,AI)研究目的是通过探索智慧的实质,扩展人类智能——促使智能主体会听(语音识别、机器翻译等)、会看(图像识别、文字识别等)、会说(语音合成、人机对话等)、会思考(人机对弈、专家系统等)、会学习(知识表示,机器学习等)、会行动(机器人、自动驾驶汽车等)。

五、常见的AI算法
1、机器学习(Machine Learning): 机器学习是人工智能领域的一个重要的分支,其主要的目的是通过统计学习理论和算法来训练相关的模型,从而使得机器能够从数据中学习并不断优化自身的预测和决策能力。机器学习的算法包括监督学习,无监督学习,和半监督学习等。

2、深度学习(Deep Learning): 深度学习是一种机器学习的技术,其原理是通过建立深层神经网络模型,可以从大 量的数据中进行学习和预测,深度学习被广泛的应用与计算机视觉,自然语言处理,语音识别等领域。

3、自然语言处理(Natural Language Processing): 自然语言处理是研究人工智能系统如何理解和处理人类语言的学科,自然语言处理设计到文本的预处理,语言分析,语言生成,语言理解等多个方面。

4、强化学习(Reinforcement Learning): 强化学习是一种通过与环境互动来学习行为策略的学习方法。其可以通过对不断变化的环境做出反应并获得反馈,强化学习算法可以逐步优化自己的行为决策策略。

5、遗传算法(Genetic Algorithm):遗传算法是一种模拟自然选择和遗传优化算法,可以通过从一个种群中选择和进化最为适应的解决方法,帮助研究者找到最优的解决方法。

六、数据处理-AI的粮食加工
人工智能项目研发的首要阶段就是数据处理,既然是数据处理,那么需要有数据才能处理。数据作为人工智能项目的首要材料之一,是不可或缺的,怎么获得良好的数据,是处理好数据的第一步,没有质量保证的数据,无论如何处理,也很难达到数据处理结果的要求。

数据的要求一般是根据项目最终的要求而定的,比如拿图像视觉方向的项目来说,模型所需要的当然就是图像数据了,那么什么样的图像数据才算是比较好的数据,有利于模型的学习呢?一般来说图像数据对于现实物体的还原度越高越好,一般可以从图像的色彩三要素和图像像素的值来判断。

数据的还原度从根本上影响了模型最终输出的效果,但是如果拿到的原始数据质量就不是很好的时候,就只能想办法对原始数据做一些处理,以期望数据的质量更好一些。但是话说回来,数据处理只是治标不治本,也就是说如果数据的质量真的不怎么好,那么无论如何处理也是很难达到使用的效果的。

所以最好的办法就是采集和使用场景匹配度最高的数据,比如让工作人员到现场实地采集数据。这个做法是非常有必要的,不要光看现在顶会论文上的哪些指标,人家是在做学术研究的,大家使用的数据集都是一样的,比如coco,voc等等,只有使用同样的数据集才能分出大家谁的模型比较好,比如最近比较火热的YOLOX也是在COCO数据集做的测试,和以前各版本的YOLO做的比较。 

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
2
关闭 站长推荐上一条 /7 下一条