人工智能开发指在计算机科学的基础上,综合信息论、心理学、生理学、语言学、逻辑学和数学等知识,制造能模拟人类智能行为的计算机系统的边缘学科。
人工智能(英语:Artificial Intelligence,缩写为AI)亦称智械、机器智能,指由人制造出来的机器所表现出来的智能。通常人工智能是指通过普通计算机程序来呈现人类智能的技术。该词也指出研究这样的智能系统是否能够实现,以及如何实现。同时,通过医学、神经科学、机器人学及统计学等的进步,有些预测则认为人类的无数职业也逐渐被其取代。[1][2]
图灵测试(The Turing test)由艾伦·麦席森·图灵发明,指测试者与被测试者(一个人和一台机器)隔开的情况下,通过一些装置(如键盘)向被测试者随意提问。
进行多次测试后,如果有超过30%的测试者不能确定出被测试者是人还是机器,那么这台机器就通过了测试,并被认为具有人类智能。「图灵测试」一词来源于计算机科学和密码学的先驱阿兰·麦席森·图灵写于1950年的一篇论文《计算机器与智能》,其中30%是图灵对2000年时的机器思考能力的一个预测,目前我们已远远落后于这个预测。
人工智能于一般教材中的定义领域是“智能主体(intelligent agent)的研究与设计”[3],智能主体指一个可以观察周遭环境并作出行动以达致目标的系统[4]。约翰·麦卡锡于1955年的定义是[5]“制造智能机器的科学与工程”[6]。安德里亚斯·卡普兰(Andreas Kaplan)和迈克尔·海恩莱因(Michael Haenlein)将人工智能定义为“系统正确解释外部数据,从这些数据中学习,并利用这些知识通过灵活适应实现特定目标和任务的能力”。[7]
人工智能的研究是高度技术性和专业的,各分支领域都是深入且各不相通的,因而涉及范围极广[8]。人工智能的研究可以分为几个技术问题。其分支领域主要集中在解决具体问题,其中之一是,如何使用各种不同的工具完成特定的应用程序。
AI的核心问题包括建构能够跟人类似甚至超卓的推理、知识、规划、学习、交流、感知、移物、使用工具和操控机械的能力等[9]。人工智能当前仍然是该领域的长远目标[10]。当前强人工智能已经有初步成果,甚至在一些影像识别、语言分析、棋类游戏等等单方面的能力达到了超越人类的水平,而且人工智能的通用性代表着,能解决上述的问题的是一样的AI程序,无须重新开发算法就可以直接使用现有的AI完成任务,与人类的处理能力相同,但达到具备思考能力的统合强人工智能还需要时间研究,比较流行的方法包括统计方法,计算智能和传统意义的AI。当前有大量的工具应用了人工智能,其中包括搜索和数学优化、逻辑推演。而基于仿生学、认知心理学,以及基于概率论和经济学的算法等等也在逐步探索当中。 思维来源于大脑,而思维控制行为,行为需要意志去实现,而思维又是对所有数据采集的整理,相当于数据库,所以人工智能最后会演变为机器替换人类。
常见的机器学习方法包括:线性模型,神经网络模型(和下方神经网络方法的区别是,此处指简单的神经网络方法,例如多层感知机:MLP),支持向量机模型,决策树模型,贝叶斯分类器,聚类,降维。
常用的神经网络模型包括:CNN(卷积神经网络),RNN(循环神经网络,又译递归神经网络),GAN(生成对抗模型),GNN(图神经网络),RL(强化学习)及模型多个变种。
计算机视觉是使用计算机及相关设备对生物视觉的一种模拟。它的主要任务就是通过对采集的图片或视频进行处理以获得相应场景的三维信息,就像人类和许多其他类生物每天所做的那样。 计算机视觉是一门关于如何运用照相机和计算机来获取我们所需的,被拍摄对象的数据与信息的学问。形象地说,就是给计算机安装上眼睛(照相机)和大脑(算法),让计算机能够感知环境。我们中国人的成语“眼见为实”和西方人常说的“One picture is worth ten thousand words”表达了视觉对人类的重要性。不难想象,具有视觉的机器的应用前景能有多么地宽广。 计算机视觉既是工程领域,也是科学领域中的一个富有挑战性重要研究领域。计算机视觉是一门综合性的学科,它已经吸引了来自各个学科的研究者参加到对它的研究之中。其中包括计算机科学和工程、信号处理、物理学、应用数学和统计学,神经生理学和认知科学等。
深度学习的基本技巧是利用这个距离值作为反馈信号来对权重值进行微调,以降低当前示例对应的损失值。这种调节由优化器(optimizer)来完成,它实现了所谓的反向传播(backpropagation)算法,这是深度学习的核心算法。一开始对神经网络的权重随机赋值,因此网络只是实现了一系列随机变换。其输出结果自然也和理想值相去甚远,相应地,损失值也很高。但随着网络处理的示例越来越多,权重值也在向正确的方向逐步微调,损失值也逐渐降低。这就是训练循环(training loop),将这种循环重复足够多的次数(通常对数千个示例进行数十次迭代),得到的权重值可以使损失函数最小。具有最小损失的网络,其输出值与目标值尽可能地接近,这就是训练好的网络
深度学习任务的一般工作流程如下图:
虽然深度学习相当复杂,但是一般的深度学习任务,都有非常方便使用的深度学习框架完成,常用的深度学习框架有:百度的PaddlePaddle(飞桨)、谷歌的Tensorflow和Keras(其中Tensorflow 2.0已经包含了Keras)、Caffe、Mxnet、Theno等等。新手根据自己的需求,先学会一个深度学习框架,之后再慢慢展开。
以一个分类任务为例
准备好需要被模型学习的数据
数据集被划分为训练集(占总数据集80%)、测试集(占总数据集20%)或者训练集(70%)、验证集(15%)、测试集(15%),比例上可以有些出入。
各种深度学习框架都包含了丰富的算子,定义输入和输出,利用算子搭建自己需要的神经网络,再定义每层神经网络的激活函数,就算完成 了神经网络的搭建
编译 编译的过程是让我们选择损失函数、优化器、评价指标 损失函数(loss function):网络如何衡量在训练数据上的性能,即网络如何朝着正确的方向前进。常用的有交叉熵、均方误差等等。 优化器(optimizer):基于训练数据和损失函数来更新网络的机制。常用的有SGD(随机梯度下降法)、AdaGrid、Adam等等。 在训练和测试过程中需要监控的指标(metric):根据自己任务的不同,选择不同的评价指标,例如分类任务常用的有正确率(accuracy)、精确率(Precision)、召回率(Recall)、F1 score(综合评价精确率和召回率)、AUC曲线等等。可能会遇到回归和分类混合的任务,例如目标识别的评价指标是mAP。
根据任务的不同,会有不同的数据集,这些数据集最后都会变成矩阵的形式传入神经网络,而不同的任务对应的数据预处理方式也不同,这个要具体场景去决定。
有监督学习都会有标签,对于分类任务来说,类别就是标签,对于回归任务来说,算出的精准值就是标签,当然可能随着任务的复杂,回归和分类的任务混合,多模态的数据集都会出现,例如目标识别就是典型的回归和分类的任务混合,既要对图像中的多物体分类还要将物体的位置确定下来。
拟合模型的过程就是在输入训练样本和训练标签,再定义一些其他的超参数,有迭代次数(epoch)、一次训练样本个数(batchsize)等等。
模型训练完成之后,再利用模型没有”见“过的数据,去测试模型。
这里存放条目相关的国家标准
Louis Studio, Lily_Cai, 马经纬, littleziao, 北屿, Oliver.z, 伯恺, 7haoyu, bian, 木又