人工智能概要
目录
- 前言
- 1.什么是人工智能(Artificial Intelligence, AI)
- 2.人工智能发展的三次浪潮
- 2.1 人工智能发展的第一次浪潮
- 2.2 人工智能发展的第二次浪潮
- 2.3 人工智能发展的第三次浪潮
- 3.人工智能发展的必备三要素
- 3.1 数据
- 3.2 算法(algorithm)
- 3.3 算力
- 4.机器学习(Machine Learning)
- 4.1 有监督学习(Supervised learning)
- 4.2 无监督学习(Unsupervised Learning)
- 4.3 强化学习(Reinforcement Learning,RL)
前言
本文旨在使读者对人工智能这个领域有一个大概的了解,包括人工智能的历史、人工智能发展的必备三要素和经典算法机器学习的分类。
国内外知名人工智能企业榜单
1.什么是人工智能(Artificial Intelligence, AI)
首先,人工智能是一个学科
,而不是一个行业。
人工智能是一门研究、开发用于模拟、延伸和拓展人的智能的理论、方法、技术及应用系统的一门新的科学,其研究的内容主要包括:机器学习、计算机视觉、智能语音、自然语言理解、智能机器人等方面。
可以简单理解为模拟人类智能的一种学科,包括很多方法以及各种各样的算法可以解决各行各业的问题。
这里介绍一位英国的科学家——图灵,图灵奖可以说是计算机领域的诺贝尔奖。图灵于1950年提出图灵测试,即测试者(一般为人)与被测试者(一般为机器)在被隔开的情况下,测试者通过装置(键盘) 向被测试者多次提问, 如果有30%的测试者不能确定与其交流的是人还是机器,说明机器通过了测试,并且是一台具有人类智能的机器。迄今为止,还没有一台机器能通过图灵测试。
我们看到图片中央有一个被咬了一口的苹果,这里有一个小外传,图灵晚年因为是同性恋者遭到迫害,最终不堪其辱,吃了一口泡过氰化物的毒苹果,自杀身亡。后世乔布斯捡起这个被咬了一口的苹果,创立了苹果公司。(当个笑话听听啦,不必太当真呢)
2.人工智能发展的三次浪潮
人工智能迄今为止大概有60年发展历史,可以分为三次浪潮。
2.1 人工智能发展的第一次浪潮
第一次浪潮是图灵测试
引起的,在20世纪50~60年代,由于当时这个概念比较新,研究人员对该领域充满了想象,都研究怎么去实现,目的就是创造出一台可以通过图灵测试的机器,当时主要集中于代数、几何问题,围绕推理去展开,现在看来都是一些古老的数学方法。但由于计算能力不足以及美国国会的打压,因为没造出来 这台机器,因此人们怀疑概念难以实现。
2.2 人工智能发展的第二次浪潮
第二次浪潮是80~90年代,专家系统一些古老的手段,将知识整理成数据库,可以进行查询,以及知识工程。但在该方向与背景下,语音识别有了的突破,以及出现了反向传播算法(Backpropagation,简称BP)
,是神经网络模型梯度更新的手段,也是深度学习理论上的飞跃。
2.3 人工智能发展的第三次浪潮
是深度学习拉开了人工智能发展的第三次浪潮序幕,这个概念是06年提出来的,12年AlexNet(图像识别模型)在图像识别大赛上取得了惊人的成绩,相较于第二名 模型准确度高了10个百分点,这是非常夸张的。就引起了学者的好奇心和讨论,为什么深度学习这么优秀,同时引起了新一轮研究。
16年AlphaGo(下围棋的机器)打败了李世石、柯洁,说明人工智能在某些特定领域
可以打败人类,但在泛化领域上离人类还差得远。
20年AlphaFold实现基因合成、蛋白质三维结构预测,号称解决了人类50年没有解决的问题,人工智能着眼于更有意义的领域——研究人类的蛋白质、基因,帮助人类破解自身的秘密。
3.人工智能发展的必备三要素
我们在用深度学习算法解决问题的时候,要同时考虑数据、算法、算力
三个因素,可能有些小伙伴只考虑算法,不够严谨。
3.1 数据
实现人工智能的首要因素是数据,人类学习的也是数据,我们在学习的时候做卷子对答案,只有先学数据,才能在后续拥有自己的智能。在第二次浪潮,上世纪70年代美国康奈尔大学贾里尼克教授在做语音识别时,将大量数据输入到计算机,总结归纳、特征提取,用于算法的输入,得到非常好的性能,这让学术界意识到数据是实现人工智能的钥匙。现在我们无时无刻不在产生大量数据,例如手机、公司记录,这些数据可以是语音、文本、影像,亦或是我们刷的淘宝。深度学习亦或者是说人工智能发展的这么好的根本原因是,当代产生的海量数据而且可以对数据整理归纳。
3.2 算法(algorithm)
算法可以说是数据驱动机、人工智能的发动机,当前主流的算法是传统的机器学习算法和神经网络算法,目前神经网络算法因为深度学习的快速发展而达到了高潮。
这里插入人工智能、机器学习和深度学习概念的辨析。
如下图,人工智能是比较大的概念,可以应用在用在各行各业,比如数字金融、政府、医疗、制药、自动驾驶和语音等生活中的各行各业。正是因为其泛化能力和普世性比较强,所以经常被媒体宣称,这个概念也就比较火。
而机器学习是人工智能的子领域,是实现人工智能的手段,本质是一系列算法,有一个很有名的算法是神经网络,而深度学习几乎可以和神经网路算法画等号。
说回算法,最具有代表的深度学习模型算法:
- 深度神经网络(Deep Nueral Networ,简称DNN)
- 循环神经网络(Recurrent Neural Network,简称RNN)用于自然语言处理,即文本
- 卷积神经网络(Convolutional Neural Networks,简称CNN)用于图象
- 生成对抗网络(Generative AdversarialNetwork,简称GAN)做生成,生成文本、图片
- 图神经网络(Graph Neural Network,简称GNN)现在才兴起,之前没有硬件的支持以及算法的创新,用于图数据相关的应用,如预测分子结构、分析社交网络,用图形式表征的问题可以通过GNN得到很好的解决的。
以上变体本质上是神经网络模型,适用不同领域而被提出。
神经网络算法层可以分为三层,输入层、隐藏层和输出层
。
输入层(第一层)用来接收数据,输出层(最后一层)用来输出计算结果,隐藏层的层数和每层的节点数可以人为调整,经过手动调参,可以使整个网络变得大而宽,也可以调小。而深度学习算法,深度的概念,就在deep上,也就是模型大小的概念即隐藏层的多少, 深度神经网络和神经网络算法的区别是深度神经网络有很多隐藏层。
3.3 算力
算力,顾名思义是计算能力(Computing Power),是算法和数据的支撑。本质是对数据信息的处理从而实现目标结果输出的能力。在AI技术当中,算力是算法和数据的基础设施,可以看作个人的笔记本、台式机或云端的服务器,支撑算法的计算。
第一台电子计算机是在美国的宾夕法尼亚大学诞生,占地约有170平方米,如今的计算机可以做成笔记本,大约是20~30寸,并且计算单元、计算能力有飞的跃进,每秒能处理许多浮点型数据。
学习人工智能知识最好的学习方法就是在学习算法、深度入门的时候,一边学习知识,一边根据算法更好的了解知识,因此快速开始算法的学习才是关键。
pytorch封装了很多可以用来实现深度学习的功能,举个盖房子的例子,我们在盖房子的时候,不需要知道水泥怎么造,钢筋怎么冶炼,我们只需要把钢筋、水泥拿过来直接搭建房子,pytorch就相当于钢筋场、水泥厂,将底层、复杂、重复性的操作封装成产品,实现神将网络。我们不需要关注底层加减乘除算法是怎么实现的,我们只需要把pytorch底层封装好的函数、类拿来用,就可以快速搭建深度学习模型。
人工智能的预备知识 什么是人工智能,ML,DL,概念 愿景
印象
python入门学习 深度学习框架
数据处理 经典科学计算库 pandas numpy
ML 介绍经典、有名的算法——回归、分类、聚类、PCA、主成分、降维、决策树 很多模型,比如随机森林、提升树、并行树、集成学习,以及朴素贝叶斯(概率论的经典算法)、SVM、支持向量机、遗传算法等。
4.机器学习(Machine Learning)
机器学习有三个分支,即有监督学习、无监督学习和强化学习。
(这是一个非常重要的概念~
)
4.1 有监督学习(Supervised learning)
有监督学习是Machine Learning和Deep Learning发展最火、最成熟的方向,有监督学习训练模型有数据和数据的真值,像我们上学做卷子,不仅有题还有对应的答案,训练数据,真值又称标签(Ground Truth)、标记等,模型接收训练数据,输出结果、期望,并将输出的结果与数据的真值比较,以判断模型的结果是否准确,以便向更准的方向优化;类似于我们比对答题结果和答案,看我们答题是否准确,从而思考哪里做错了,该怎么做得更好。有监督学习的训练类似于我们人类做卷子、学习认字等。
有监督学习是AI最大、最重要的分支,当前商业落地的项目基本都是基于有监督去搞的,未来就业的各行各业也是有监督学习的产品产出。
4.2 无监督学习(Unsupervised Learning)
模型、算法 优化 只有数据 没有数据的真值,不同水果 香蕉 苹果 橘子 分类 三四岁的小孩子,不知道什么是苹果香蕉橘子,也可以按照颜色、形状一堆 分开 自己学习数据之间的相关性,根据数据之间的关联,对数据进行分堆,聚类的思想,包括自监督学习、半监督学习。
4.3 强化学习(Reinforcement Learning,RL)
强化学习领域有很多名词,概念不是特别好理解,比如代理、环境、政策、动作等。代理是动作的产生者,比如模型可以输出结果,结果可以看作动作。环境是指代理的周边环境,举一个例子,比如下棋的AlphaGo就是强化学习的产物,在这个任务中,模型就是代理,环境是棋盘、对手,强化学习是代理与环境做互动,代理可以做出一些动作,比如模型可以下棋,之后环境会根据代理的动作而变化,比如对手会落子,模型也会根据环境的变化做出进一步的反应,进行迭代,最后会有一个结果,这盘棋是赢了还是输了,这也是模型的最终目的——赢得比赛。我们会设置一个回报(reward)——我们最终的期望,比如赢了比赛,给模型1w分的奖励,输了比赛给-1w分,模型会根据期望,优化一系列的动作,从下棋的第一步到最后一步,优化动作高维的策略空间,期望最后赢得比赛。
如果未来搞科研,推荐研究的问题、方向为无监督学习和强化学习。
相关文章:

人工智能概要
目录 前言1.什么是人工智能(Artificial Intelligence, AI)2.人工智能发展的三次浪潮2.1 人工智能发展的第一次浪潮2.2 人工智能发展的第二次浪潮2.3 人工智能发展的第三次浪潮 3.人工智能发展的必备三要素3.1 数据3.2 算法(algorithm…...

qt QCommandLineParser详解
1、概述 QCommandLineParser是Qt框架中提供的一个类,专门用于解析命令行参数。它简化了命令行参数的处理过程,使得开发者能够轻松定义、解析和验证命令行选项和参数。QCommandLineParser适用于需要从命令行获取输入的控制台应用程序,以及需要…...

力扣 K个一组翻转链表
K个一组翻转链表 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr) {}* ListNode(int x, ListNode *next) : val(x), next(ne…...

cnocr配置及训练测试
cnocr配置及训练测试 1,相关链接2,已有模型调用测试(1)下载相关模型(2)Cnstd文本检测模型(3)模型调用解析脚本 3,自定义数据集训练测试(1)标签转换…...

解决 Flutter 在 Mac 上的编译错误
解决 Flutter 在 Mac 上的编译错误 在使用 Flutter 进行项目开发并尝试在 Mac 设备上进行编译时,遇到了一系列的错误信息,这些错误信息给项目的构建与部署带来了阻碍。 一、错误详情 在编译过程中,Xcode 输出了大量的信息,其中…...

MR30分布式IO在新能源领域加氢站的应用
导读 氢能被誉为21世纪最具发展潜力的清洁能源,氢能科技创新和产业发展持续得到各国青睐。氢能低碳环保,燃烧的产物只有水,是用能终端实现绿色低碳转型的重要载体。氢能产业链分别为上游制氢、中游储运以及下游用氢。上游制氢工艺目前大部分…...

wxPython中wx.ListCtrl用法(二)
wx.ListCtrl是一个列表组件,可以以列表视图(list view)、报表视图(report view)、图标视图(icon view)和小图标视图(small icon view)等多种模式显示列表。 一、方法 __…...

kubernetes 资源汇总
kubernetes 资源汇总 官网 英文文档 官方英文文档 中文文档 官方中文文档 github github源码地址 培训认证 也就是linux基金会的认证,上面也提供培训课程 下载资源 官网下载资源,国内的话k8s镜像下载不了,要去镜像站 在线练习 killer…...

每日一题(对标gesp三级答案将在第二天公布)
编程题 题目描述: 小杨为数字4,5,6和7设计了一款表示形式,每个数字占用了66的网格。数字4,5,6和7的表示形式如下(此处自行设计复杂一些的表示形式示例): 数字4: …. …. …. …. *… 数字5: …...

让 Win10 上网本 Debug 模式 QUDPSocket 信号槽 收发不丢包的方法总结
在前两篇文章里,我们探讨了不少UDP丢包的解决方案。经过几年的摸索测试,其实方法非常简单, 无需修改代码。 1. Windows 下设置UDP缓存 这个方法可以一劳永逸解决UDP的收发丢包问题,只要添加注册表项目并重启即可。即使用Qt的信号与槽&#…...

Python爬虫之使用BeautifulSoup进行HTML Document文档的解析
BeautifulSoup 是一个用于解析 HTML 和 XML 文档的 Python 库,它为开发者提供了一种简单的方式来查找、遍历和修改文档树。BeautifulSoup 特别擅长处理不规则或格式不佳的标记语言,可以自动更正无效的 HTML,因此在网页抓取(Web Sc…...

vue.config.js配置参数说明新手教程
这篇文章主要是对vue.config.js配置文件的主要参数进行一下说明,方便使用时的查询, 下面进行介绍 1、vue.config.js vue.config.js 是一个可选的配置文件,如果项目的 (和 package.json 同级的) 根目录中存在这个文件,那么它会被…...

C# 关于加密技术以及应用(二)
AES(Advanced Encryption Standard)和 RSA(Rivest-Shamir-Adleman)是两种不同的加密算法,它们各自有特定的使用场景和优势。下面是它们的主要区别和适用场景: AES(高级加密标准) 特…...

视频中的某些片段如何制作GIF表情包?
动态表情包(GIF)已经成为我们日常沟通中不可或缺的一部分。GIF(Graphics Interchange Format),即图形交换格式,是一种支持多帧图像和透明度的位图文件格式。它最初由 CompuServe 公司在 1987 年推出&#x…...

图像识别 | Matlab基于卷积神经网络(CNN)的宝可梦识别源程序,GUI界面。附详细的运行说明。
图像识别 | Matlab基于卷积神经网络(CNN)的宝可梦识别源程序,GUI界面。附详细的运行说明。 目录 图像识别 | Matlab基于卷积神经网络(CNN)的宝可梦识别源程序,GUI界面。附详细的运行说明。预测效果基本介绍程序设计参考资料 预测效果 基本介绍 Matlab基…...

String【Redis对象篇】
🏆 作者简介:席万里 ⚡ 个人网站:https://dahua.bloggo.chat/ ✍️ 一名后端开发小趴菜,同时略懂Vue与React前端技术,也了解一点微信小程序开发。 🍻 对计算机充满兴趣,愿意并且希望学习更多的技…...

top命令和系统负载
1 top中的字段说明 top是一个实时系统监视工具,可以动态展现出 CPU 使用率、内存使用情况、进程状态等信息,注意这些显示的文本不能直接使用 > 追加到文件中。 [rootvv~]# top -bn 1 | head top - 20:08:28 up 138 days, 10:29, 4 users, load av…...

ES6 混合 ES5学习记录
基础 数组 let arr [数据1,数据2,...数组n] 使用数组 数组名[索引] 数组长度 arr.length 操作数组 arr.push() 尾部添加一个,返回新长度 arr.unshift() 头部添加一个,返回新长度 arr.pop() 删除最后一个,并返回该元素的值 shift 删除第一个单元…...

HTTP 状态码大全
常见状态码 200 OK # 客户端请求成功 400 Bad Request # 客户端请求有语法错误 不能被服务器所理解 401 Unauthorized # 请求未经授权 这个状态代码必须和WWW- Authenticate 报头域一起使用 403 Forbidden # 服务器收到请求但是拒绝提供服务 404 Not Found # 请求资源不存…...

Redis学习(13)| Redisson 看门狗机制深度解析
文章目录 摘要1. 引言2. 看门狗的工作原理2.1 自动续期2.2 防止意外释放2.3 合理配置 3. 应用场景4. 最佳实践4.1 设置合理的lockWatchdogTimeout4.2 避免死锁4.3 监控和日志 5. 实现方式6. 使用示例7. 结论 摘要 Redisson 是一个用于 Redis 的 Java 客户端,它提供…...

【开源大屏】玩转开源积木BI,从0到1设计一个大屏
积木 BI 重磅推出免费大屏设计器!功能超强大,操作超流畅,体验超酷炫。快来体验一下吧。 让我们一起来看一下如何从0到1设计一个大屏。 一、积木BI大屏介绍 积木BI可视化数据大屏 是一站式数据可视化展示平台,旨在帮助用户快速通…...

基于PCRLB的CMIMO雷达资源调度方法(MATLAB实现)
集中式多输入多输出CMIMO雷达作为一种新体制雷达,能够实现对多个目标的同时多波束探测,在多目标跟踪领域得到了广泛运用。自从2006年学者Haykin提出认知雷达理论,雷达资源分配问题就成为一个有实际应用价值的热点研究内容。本文基于目标跟踪的…...

PAT--1035 插入与归并
题目描述 根据维基百科的定义: 插入排序是迭代算法,逐一获得输入数据,逐步产生有序的输出序列。每步迭代中,算法从输入序列中取出一元素,将之插入有序序列中正确的位置。如此迭代直到全部元素有序。 归并排序进行如…...

Ubuntu20.04.6编译OpenWRT23.05.5错误
在Ubuntu20.04.6编译OpenWRT23.05.5时,会出现如下提示: fatal error: asm/types.h: No such file or directory 如果我们执行如下命令: sudo ln -s /usr/include/asm-generic /usr/include/asm 此时再次编译,会有如下提示&…...

一文说清flink从编码到部署上线
引言:目前flink的文章比较多,但一般都关注某一特定方面,很少有一个文章,从一个简单的例子入手,说清楚从编码、构建、部署全流程是怎么样的。所以编写本文,自己做个记录备查同时跟大家分享一下。本文以简单的mysql cdc为例展开说明。 环境说明:MySQL:5.7;flink:1.14.0…...

【5G】5G Physical Layer物理层(一)
5G多址接入和物理层与长期演进(LTE)存在一些差异。在下行方向,5G与LTE相似,依旧采用正交频分多址(OFDMA)。而在上行方向,5G采用了OFDMA和单载波频分多址(SC-FDMA)&#x…...

GauHuman阅读笔记【3D Human Modelling】
笔记目录 1. 基本信息2. 理解(个人初步理解,随时更改)3. 精读SummaryResearch Objective(s)Background / Problem StatementMethod(s)EvaluationConclusionReferences1. 基本信息 题目:GauHuman: Articulated Gaussian Splatting from Monocular Human Videos时间:2023.12…...

qemu安装arm64架构银河麒麟
qemu虚拟化软件,可以在一个平台上模拟另一个硬件平台,可以支持多种处理器架构。 一、安装 安装教程:https://blog.csdn.net/qq_36035382/article/details/125308044 下载链接:https://qemu.weilnetz.de/w64/2024/ 我下载的是 …...

在Elasticsearch (ES) 中,integer 和 integer_range的区别
在Elasticsearch (ES) 中,integer 和 integer_range 是两种不同的字段类型,它们用于存储和查询不同类型的数据。 Integer: integer 类型是用于存储32位整数值的简单数据类型。这个类型的字段适合用来表示单一的整数数值,例如用户的年龄、商品的数量等。支持标准的数值操作,…...

Playwright中Page类的方法
导航和页面操作 goto(url: str, **kwargs: Any): 导航到一个URL。 reload(**kwargs: Any): 重新加载当前页面。 go_back(**kwargs: Any): 导航到会话历史记录中的前一个页面。 go_forward(**kwargs: Any): 导航到会话历史记录中的下一个页面。 set_default_navigation_tim…...