人工智能概要
目录
- 前言
- 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 客户端,它提供…...

地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
设计模式和设计原则回顾
设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...

linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词
Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid,其中有多少个 3 3 的 “幻方” 子矩阵&am…...

基于 TAPD 进行项目管理
起因 自己写了个小工具,仓库用的Github。之前在用markdown进行需求管理,现在随着功能的增加,感觉有点难以管理了,所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD,需要提供一个企业名新建一个项目&#…...

免费PDF转图片工具
免费PDF转图片工具 一款简单易用的PDF转图片工具,可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件,也不需要在线上传文件,保护您的隐私。 工具截图 主要特点 🚀 快速转换:本地转换,无需等待上…...
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...
Webpack性能优化:构建速度与体积优化策略
一、构建速度优化 1、升级Webpack和Node.js 优化效果:Webpack 4比Webpack 3构建时间降低60%-98%。原因: V8引擎优化(for of替代forEach、Map/Set替代Object)。默认使用更快的md4哈希算法。AST直接从Loa…...