这才是计算机科学_人工智能
人工智能
- 一、前言
- 二、ML
- 2.1 分类
- 2.1.1 决策树
- 2.2.2 支持向量机
- 2.2.3 人工神经网络
- 三、计算机视觉
- 3.1 Prewitt算子
- 3.2 Viola-Jones 人脸检测算法
- 3.3 卷积神经网络
- 四、自然语言处理
- 4.1 知识图谱
- 4.2 语音识别
一、前言
之前讲了计算机从发展到现在的过程,计算机很适合做迭代的工作
擅长 存放、整理、获取、处理 大量的数据
但是想根据谁做决定,就要牵扯到机器学习,这也是ML的本质
ML算法可以让计算机 从 数据中学习,然后自行做出预测&决 定
机器学习虽然有用,但是不会被定义为 智能
虽然ML AI 这两个词语经常混用,但是大多数科学家会说ML是为了实现AI这个更加宏大目标的技术之一
二、ML
2.1 分类
classification
做分类的算法叫做 “分类器classifier”
虽然可以用 照片声音 训练算法,很多算法会减少复杂度,把数据简化为“特征features”
2.1.1 决策树
举个例子:分类飞蛾,有两个特征值:“翼展” “重量” “”
把决策空间切成几个分块的简单方法,可以用 “决策树decision tree”来表示
一些算法会用多个 decision tree 来预测,科学家称其为 “森林forest”
2.2.2 支持向量机
Suport Vector Machines
本质上是用任意线段来切分 决策空间,不一定是直线,可以是多项式或者是其他数学函数,通过算法不断地对数据迭代,找出最好的线
再加入一个 特征,触角长度,2D的平面就会变成3D的了
四个特征,四维度…上千维度
决策树 & 支持向量机 这样的技术发源于 统计学
2.2.3 人工神经网络
灵感来自于大脑里的神经元,神经元是细胞,用电信号 化学信号来传输消息,神经元细胞从其他细胞得到一个或者多个输入值,然后做出反应 输出信号值,很多很多神经细胞组成巨大的互联网络,能处理复杂的信息
计算机中的人造神经元也很类似,可以接受多个输入,然后整合并发出一个信号
它不用电信号,化学信号 而是 input 数字 output 数字,形成神经元网络
回到上面的例子:看神经元如何分类
-
左侧需要被分类的单个飞蛾的数据(mass重量 wingspan翼展),右侧分类的结果
-
中间有一个隐藏层,负责把输入变成输出,分类
分类神经元:把输入* 权重 ,然后求sum
对于sum(权重*原始值) ,用一个偏差值(bias)处理: + or - 一个x
一开始,这些权重 偏差值x都会是随机的,然后算法会调整这些值 来训练
最后,神将元有激活函数,也叫做传递函数(应用于输出,对结果执行最后一次数学修改(把负数变成0、控制值在一个区间等))
这个过程会应用于多个神经元,如下图3个
最终一层,数字最高的就是结果
中间结果会有很多很多层,这便是深度学习
尽管神经网络50年前就发明了,但是限制于硬件的发展,最近5年才得到应用
以上,一个算法虽然能人脸识别,自动驾驶,但是也都是只能做一件事
这种被称为“弱AI Week AI” or “窄AI Narrow AI”,只能做特定的事情。
通用的AI,像人类一样可以处理各种算法的,叫做“强AI Strong AI”,目前还没有做出来,但是人来留下来的大量的数据,用作训练,可能就是点燃强AI的燃料,就像 ChatGPT。
AI自己不断地学习,阿尔法go 自己和自己下了 上百万盘,自己发现成功的策略,这被称为“强化学习Reinforcement learning”
三、计算机视觉
半个多世纪以来,科学家一直想让计算机有视觉,因此记诞生了“计算机视觉Computer Viesion”这个领域
正如计算机视觉的大佬 李飞飞所说:“看到不等于看懂”
像素每一个是RGB
举个栗子:追踪粉红球
计算机会从上到下一个像素一个像素的check ,找打粉红球的RGB,
然后视频的每一帧都会做这个check,这样就会追踪这个球的踪迹了
但是因为 天气 等因素的变化,这个粉红球的RGB也可能会变,但是会寻找最接近的,每一个像素都要check,像素在这里被称为 “块patches”
3.1 Prewitt算子
举个栗子:找垂直边缘的算法
假设来帮助无人机躲避障碍,为了简单 可以把图片变成灰度
可以很容易的看到,杆子的左边缘从哪里开始的,因为垂直的颜色变化,可以制定规则:
- 某像素是垂直边缘的可能性,取决于左右两边像素的颜色差异程度
这叫做 核Kernal or Filter过滤器,里面的像素用来做像素乘法,总和存到中心像素
这里指定了每个像素要* 的值(-1,0,1)
新的值147就成为了中心像素的值,和原来224的色差很大,说明是边缘
把核Kernal应用到像素块,这个操作叫做 卷积convolution
把这个操作应用到其他块:
结果是1,和原来的色差很小,说明不是边缘
如果把kernal应用到照片中的每一个像素
想要看横向的,就需要用不同的Kernal
这两个边缘增强的核叫做Prewitt算子
3.2 Viola-Jones 人脸检测算法
当然还有很多很多的Kernal
判定眼睛的Kernal:眼睛:一个黑色的圆圈被外层更亮的一层像素包裹
计算机扫描图像,一个窗口,多种核来扫描,那么就可以找到人脸
这个早期人脸检测算法叫做:Viola-Jones 人脸检测算法
3.3 卷积神经网络
输入权重约等于 Kernal的值
但是和Kernal不同的是,卷积神经网络可以不断迭代出自己的权重
第一次卷积 出 边缘edges
第二次卷积出shapes(边缘组成的角落)
第三次卷积出 特征实例(眼睛 嘴巴)
…
最后把直到某一层把所有特征放到一起
卷积神经网络并不是一定需要很多很多层,但是系别复杂物体和场景就需要一定的复杂度,所以是 深度学习
有了脸部识别,那么我们就可用专用的计算机视觉算法来定位面部标识
这些信息可以用情感识别算法来实现
还可以标记一个人两眼之间的距离,以及前额头有多高,来识别是谁
这就是:生物识别biometric data
四、自然语言处理
4.1 知识图谱
让计算机如何理解语言,高级的编程语言也是语言,但是相对固定一些
,和人类的语言完全不同,人类的语言被称为“自然语言”
从计算机诞生之初就出现了计算机处理语言的学科NLP,结合了计算机&语言学
早期就是把一个句子切成一个词一个词 ,然后查词典,但是还有语法的问题,因此开发了 “短语结构规则” 来代表语法规则,基于这个规则可以做出分析树
按照 “短语结构规则” 来生成句子
Google版本的叫“知识图谱Knowledeg Graph”
对话系统Dialog Systenms,用上大量的聊天记录来训练深度学习模型
4.2 语音识别
贝尔实验室在1952年推出一个语音识别系统 Audrey ,自动数字识别器
a & e的两个声音的波形,信号来自麦克风内部隔膜震动的频率
为了更加容易识别,可以换谱图(spectrogram)看
这种图的转换是用 “快速傅里叶变换FFT”
音速phonemes:构成单词的声音片段
语音识别软件知道这些音速,英语大概有44种音速,因此语音识别也就是音速的识别,我们可以识别音速来识别这些
Speech Synthesis让计算机输出声音
相关文章:

这才是计算机科学_人工智能
人工智能一、前言二、ML2.1 分类2.1.1 决策树2.2.2 支持向量机2.2.3 人工神经网络三、计算机视觉3.1 Prewitt算子3.2 Viola-Jones 人脸检测算法3.3 卷积神经网络四、自然语言处理4.1 知识图谱4.2 语音识别一、前言 之前讲了计算机从发展到现在的过程,计算机很适合做…...

DFS深度优先搜索—Java版
递归三要素 递归的定义 递归的拆解 递归的出口 什么时候使用DFS? 深度回溯问题(DFS与回溯区别不大) 二叉树问题 组合、排列问题 找方案问题(解空间是一棵树或者图,需要自行构造图/树) 图的搜索问题…...

RAY - 小记
文章目录关于 RAYRAY 结构关于 RAY Ray is a unified framework for scaling AI and Python applications. Ray consists of a core distributed runtime and a toolkit of libraries (Ray AIR) for accelerating ML workloads. RAY 是一个简单、通用的分布式计算框架。 RAY 解…...

金三银四软件测试工程师面试题(含答案)
前言:此文专门记载本人平时面试以及收藏的面试题目,如果有错误之处请及时指正,谢谢! 1、python的数据类型有哪些 答:Python基本数据类型一般分为:数字、字符串、列表、元组、字典、集合这六种基本数据类…...

Python 连接数据源与邮件功能(九)
文章目录一、概述二、Python 连接数据源1)Python MySQL 基础操作1、部署MySQL2、MySQL Connector 库【1】安装 mysql-connector-python 库【2】连接 MySQL【3】增加数据【4】查询数据【5】更新数据【6】删除数据2、PyMySQL 库【1】安装 PyMySQL 库【2】连接 MySQL【…...

网站如何锁定用户,超级浏览器有办法解决吗?
随着全球开放,跨境电商人纷纷开启了2023年的搞钱之旅,很多期待着在新的一年大干一场。但前事不忘后事之师,2022年跨境生意全面沦陷,其实除了大环境的因素之外,还有一个很重要的原因是,各个平台都开始实行非…...

Ubuntu下使用Wine运行HBuilderX
安装完wine后,在HbuilderX的目录中打开终端,直接输入wine HBuilderX.exe命令,启动过程中会提示安装wine-mono组件,点击安装按钮下载安装该组件,该组件下载速度慢,需要等待特别长时间。 安装完毕后&…...

如何高效远程维护分布在海外的中大型智能设备?
一、行业需求 随着越来越多的企业进行全球化经营,设备制造商和系统集成商的设备分布到全球各地,数量多而且分散,传统的设备运维方式,面临着出差成本高,工作效率低,服务不及时等问题,客户常常因…...

【双指针问题】LeetCode 925. 长按键入
Halo,这里是Ppeua。平时主要更新C语言,C,数据结构算法......感兴趣就关注我吧!你定不会失望。 🌈个人主页:主页链接 🌈算法专栏:专栏链接 我会一直往里填充内容哒! &…...

APP测试中IOS和Android的区别,有哪些注意点?
01、常识性区别 02、导航方式 iOS:Tab放在页面底部,不能通过滑动来切换,只能点击。也有放在上面的,也不能滑动,但有些Tab本身可以滑动,比如天猫的。还有新闻类的应用。 Android:一般放在页面…...

2019蓝桥杯真题平方序列(填空题) C语言/C++
题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 小明想找到两个正整数 X 和 Y,满足2019<X<Y;2019^2, X^2, Y^2组成等差数列。 请你求出在所有可能的解中,XY 的最小值是多少?…...

vue中,给一个URL地址,利用FileSaver.js插件下载文件到本地
①首先下载 FileSaver.js 插件 npm install file-saver --save ②在需要的.vue页面引入 import { saveAs } from file-saver 在HTML中引入 <script src"https://cdn.bootcdn.net/ajax/libs/FileSaver.js/2.0.5/FileSaver.min.js"></script> //Fil…...

从0开始学python -34
Python3 输入和输出-2 读和写文件 open() 将会返回一个 file 对象,基本语法格式如下: open(filename, mode)filename:包含了你要访问的文件名称的字符串值。mode:决定了打开文件的模式:只读,写入,追加等。…...

瑞典军事研究:从认知心理学的视角探讨军事创新进程
来源:Military Innovation as the Result of Mental Models of Technology 《摘要》 政治紧张局势的加剧和技术发展的进步促使Scandinavian 国家(斯堪的纳维亚半岛,欧洲最大的半岛,有挪威、瑞典两国以及芬兰北端的一小部分。&am…...

【MySQL进阶-08】深入理解innodb存储格式,双写机制,buffer pool底层结构和淘汰策略
MySql系列整体栏目 内容链接地址【一】深入理解mysql索引本质https://blog.csdn.net/zhenghuishengq/article/details/121027025【二】深入理解mysql索引优化以及explain关键字https://blog.csdn.net/zhenghuishengq/article/details/124552080【三】深入理解mysql的索引分类&a…...

5. AOP
一、如何定义一个MethodHandler? 1.Controller注解修饰的类 1.注册成Spring Bean 2.表示它是一个SpringMVC下的Controller 2.在这个类下的方法中,只要被RequestMapping修饰&&方法的形参符合规定(需要看文档) 方法的返回值符合规定…...
ubuntu上尝试libpqxx库链接人大金仓
ubuntu上尝试libpqxx库链接人大金仓 C的项目让使用国产数据库 运维给架了一个人大金仓数据库, Kingbase 8 是基于 PostgreSQL 9.6 做的, 尝试直接使用libpqxx链接数据库。 文章目录ubuntu上尝试libpqxx库链接人大金仓第一步 搭建libpqxx开发环境搜索lib…...

【Python入门第十二天】Python 列表
Python 集合(数组) Python 编程语言中有四种集合数据类型: 列表(List)是一种有序和可更改的集合。允许重复的成员。元组(Tuple)是一种有序且不可更改的集合。允许重复的成员。集合(…...
Android 异步操作库 RxJava
RxJava概述 RxJava 是一种响应式编程,来创建基于事件的异步操作库。基于事件流的链式调用、逻辑清晰简洁。 RxJava 我的理解是将事件从起点(上游)流向终点(下游),中间有很多卡片对数据进操作并传递&#x…...
2021-12-05青少年软件编程(C语言)等级考试试卷(六级)解析
2021-12-05青少年软件编程(C语言)等级考试试卷(六级)解析T1. 电话号码 给你一些电话号码,请判断它们是否是一致的,即是否有某个电话是另一个电话的前缀。比如: Emergency 911 Alice 97 625 999 Bob 91 12 54 26 在这个例子中,我们不可能拨通Bob的电话,因为Emergency的…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...

Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...
五年级数学知识边界总结思考-下册
目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...
Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器
第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...

MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

中医有效性探讨
文章目录 西医是如何发展到以生物化学为药理基础的现代医学?传统医学奠基期(远古 - 17 世纪)近代医学转型期(17 世纪 - 19 世纪末)现代医学成熟期(20世纪至今) 中医的源远流长和一脉相承远古至…...
Java编程之桥接模式
定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...
JS手写代码篇----使用Promise封装AJAX请求
15、使用Promise封装AJAX请求 promise就有reject和resolve了,就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...

iview框架主题色的应用
1.下载 less要使用3.0.0以下的版本 npm install less2.7.3 npm install less-loader4.0.52./src/config/theme.js文件 module.exports {yellow: {theme-color: #FDCE04},blue: {theme-color: #547CE7} }在sass中使用theme配置的颜色主题,无需引入,直接可…...