美文网首页
人工智能(Artificial Intelligence)

人工智能(Artificial Intelligence)

作者: 李霖弢 | 来源:发表于2022-09-14 09:37 被阅读0次

    框架和工具

    Matlab

    Matlab 即 matrix&laboratory,是一个数学软件(平台),而非一种语言或框架。其拥有自己的语法,基本数据单位是矩阵,专用于数值分析、矩阵计算、科学数据可视化、数学建模等

    Octave

    模仿 Matlab 设计免费开源软件,相比 Matlab 更轻量,且语法和 Matlab 兼容。

    深度学习框架(配合Python/C/C++)

    本质上都是函数库,对比可参考大佬对三个框架的demo

    • 飞桨(PaddlePaddle)是百度的深度学习框架,入门较简单
    • tensorflow 是谷歌开源并维护的深度学习框架,入门较困难,部署更方便,适合工业
    • PyTorch 是Facebook开发的深度学习框架,训练更方便,适合研究
    • Caffe
    • mxnet
    • Keras
    常用标注软件
    • LabelImg 目标检测
    • LabelMe 目标检测、图像分割
    • CVAT 图像分割
    GPU

    GPU的计算能力比CPU更强,适合做复杂的逻辑运算。卷积神经网络在训练和测试时需要大量的计算,使用GPU效率会更高,可能会有几百倍的差距。
    建议使用 nvidia 而非 AMD 的GPU,因为很多深度学习框架是基于 nvidia 开发的
    GPU本身也提供了加速能力,如 nvidia 的 TensorRT,通常先把其他框架转成 Onnx(作为转化中介的通用格式),再转成 TensorRT。

    OpenCV

    本身是个图像库,但也具有一些图像处理方面的深度学习内容


    人工智能的历史

    1. 人工智能之父:图灵
      提出了图灵机、图灵测试等概念
    2. 专家系统
      假人工智能,基于人工定义规则解决特定问题
    3. 机器学习
      通过学习数据E,在没有明确设置规则的情况下使机器提高完成任务T的能力P,并推广到未来新的数据上做出判断或预测。
      相比专家系统更方便处理一些难以设置规则的复杂场景,如下棋AI、兴趣推荐、自动驾驶、CV(Computer Vision,包括图像识别、图像追踪、图像处理)、Natural Language Processing(NLP,自然语言处理)等领域
    4. 人工神经网络(深度学习)
      弱人工智能,通常具有几千或几万个神经元(远小于人脑的几十亿)
      其计算过程是黑盒,没有明确的规则。
      通过对数据学习,获得预测和判断能力。
      初级神经网络->浅层神经网络->深层神经网络->卷积神经网络,神经元逐步增多
      近年来由于训练数据增多(手机、网络等的普及),GPU等硬件计算力变强(支持更多的神经层和参数),算法的创新优化,让深度学习快速发展

    机器学习

    机器学习是人工智能的核心领域,是实现人工智能的方法。
    讨论 “机器是否会思考” 就像说 “潜艇是否会游泳”,机器学习的智能不等于计算机拥有自我意识(弱人工智能)。

    特征

    机器学习的本质是从样本数据中找出一个公式来解决特定问题,通常人工提取特征值(即对问题结果有影响的属性)。选择高质量的特征可以让结果事半功倍。
    通常将一个事物的特征值组成一个 特征向量(feature vector),如鸢尾花长1.1,宽0.1,则其特征向量为 (1.1,0.1)。在坐标系中,该点称为 特征点,两特征点之间的距离称为 特征距离,用于衡量其相似程度。

    机器学习的主要类型
    • 无监督学习:
      训练集数据的目标变量不标记正确值,让机器自己找出数据中的规律或进行分类(未事先人工定义类别)。

      • 如通过聚类算法(clustering algorithm)自动对人群分类等。
        聚类:将物理或抽象对象的集合分成由类似的对象组成的多个类
      • 通过鸡尾酒会算法(cocktail party algorithm)分离嘈杂环境中不同来源的声音。
    • 有监督学习:
      训练集数据的目标变量有标记正确值,在训练中参考比对,改进模型,最终给出更多的正确值
      根据待预测目标是连续还是离散,分为回归(Regression,如房价、股票价格)和分类(Classification,如是否为垃圾邮件,股价涨跌)问题。(注意分类不同于聚类,是在已有分类标准下,对新数据进行划分)

    • 半监督学习(semi-supervised learning):
      介于无监督学习和有监督学习之间,为小部分样本提供正确值

    • 强化学习:
      在行动中学习,最终获得一个策略(policy)。
      训练过程中,从一个初始策略开始,根据每一步行动和环境交互得到的反馈(回报或惩罚),不断地调整策略(无人驾驶、下棋、自动交易)。
      不同于监督学习,强化学习收到的反馈是评估性的而非指导性的,反馈只告知好坏而不告知正确答案。

    • 深度学习:
      在普通机器学习的基础上,结合了人工神经网络来解释数据,例如图像,声音和文本等,让机器自己掌握学习能力。
      如生成对抗网络(generative adversarial network,GAN)为深度学习+无监督学习,可用于自动绘图。

      机器学习的关系

    数据集

    训练数据集(Training Set):

    从原始数据集中分离出来的大量数据,喂给模型用来训练模型。

    验证数据集(Validation Set):

    从原始数据集中分离出来的少量数据,用来给训练集训练结束后的模型进行模型的精度评估。

    测试数据集(Test Set):

    从原始数据集中分离出来的少量数据,用来给训练集训练结束后的模型进行模型的精度评估。其作用和验证集一致,一般是在深度学习的模型中和验证集区别对待,在统计学习模型中一般不单独分离出测试集。

    • 建议划分比例:
      按训练集:验证集:测试集=7:2:1
      按训练集:验证集=8:2(此时不划分测试集)
      当然当数据量很大的时候(上百万数据量级别)也有按训练集:验证集=98:2的比例划分。

    有监督学习的基本原理

    机器学习算法库用于从样本数据中计算出各个属性的权重,使偏离值(代价,cost)尽量小,产生一个可以拟合各个样本数据的函数表达式(称为多元线性回归)。

    AI模型训练基本流程

    1. 分析需求
    2. 收集数据
    3. 标注数据
    4. 训练模型
      将数据按照8:2的比例分成训练集和测试集
      根据测试集预测结果的偏差调参,最终完成训练
    5. 部署并应用模型

    相关文章

      网友评论

          本文标题:人工智能(Artificial Intelligence)

          本文链接:https://www.haomeiwen.com/subject/ntvgnrtx.html