这才是计算机科学_人工智能

news2024/11/16 21:49:32

人工智能

  • 一、前言
  • 二、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 数字,形成神经元网络

回到上面的例子:看神经元如何分类

  1. 左侧需要被分类的单个飞蛾的数据(mass重量 wingspan翼展),右侧分类的结果
    在这里插入图片描述

  2. 中间有一个隐藏层,负责把输入变成输出,分类

分类神经元:把输入* 权重 ,然后求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算子

举个栗子:找垂直边缘的算法
假设来帮助无人机躲避障碍,为了简单 可以把图片变成灰度
在这里插入图片描述

可以很容易的看到,杆子的左边缘从哪里开始的,因为垂直的颜色变化,可以制定规则:

  1. 某像素是垂直边缘的可能性,取决于左右两边像素的颜色差异程度
    在这里插入图片描述这叫做 核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让计算机输出声音

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/354816.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[软件工程导论(第六版)]第2章 可行性研究(课后习题详解)

文章目录1. 在软件开发的早期阶段为什么要进行可行性研究?应该从哪些方面研究目标系统的可行性?2. 为方便储户,某银行拟开发计算机储蓄系统。储户填写的存款单或取款单由业务员输入系统,如果是存款,系统记录存款人姓名…

ThreadLocal 内存泄漏问题

1. 认识ThreadLocal java中提高了threadlocal&#xff0c;为每个线程保存其独有的变量&#xff0c;threadlocal使用的一个小例子是&#xff1a; public class ThreadLocalTest {public static void main(String[] args) {ThreadLocal<String> threadIds new ThreadLoc…

FreeRTOS系统延时函数分析

FreeRTOS提供了两个系统延时函数&#xff0c;相对延时函数vTaskDelay()和绝对延时函数vTaskDelayUntil()。相对延时是指每次延时都是从任务执行函数vTaskDelay()开始&#xff0c;延时指定的时间结束&#xff0c;绝对延时是指每隔指定的时间&#xff0c;执行一次调用vTaskDealyU…

操作系统闲谈07——系统启动

操作系统闲谈07——系统启动 一、BIOS启动 BIOS程序不需要由谁加载&#xff0c;本身便固化在ROM只读存储器中。 开机的一瞬间 cs:ip 便被初始化为0xf000 : 0xfff0。开机的时候处于实模式&#xff0c;其等效地址为0xffff0&#xff0c;如上图所示此地址为BIOS的入口地址。 建立…

C/C++每日一练(20230218)

目录 1. 整数转罗马数字 2. 跳跃游戏 II 3. 买卖股票的最佳时机 IV 1. 整数转罗马数字 罗马数字包含以下七种字符&#xff1a; I&#xff0c; V&#xff0c; X&#xff0c; L&#xff0c;C&#xff0c;D 和 M。 字符 数值 I 1 V 5 X …

物联网中RocketMQ的使用

物联网中RocketMQ的使用 1. 背景 随着物联网行业的发展、智能设备数量越来越多&#xff0c;很多常见的智能设备都进入了千家万户&#xff1b;随着设备数量的增加&#xff0c;也对后台系统的性能提出新的挑战。 在日常中&#xff0c;存在一些特定的场景&#xff0c;属于高并发请…

Java数据类型、基本与引用数据类型区别、装箱与拆箱、a=a+b与a+=b区别

文章目录1.Java有哪些数据类型2.Java中引用数据类型有哪些&#xff0c;它们与基本数据类型有什么区别&#xff1f;3.Java中的自动装箱与拆箱4.为什么要有包装类型&#xff1f;5.aab与ab有什么区别吗?1.Java有哪些数据类型 8种基本数据类型&#xff1a; 6种数字类型(4个整数型…

java ssm志愿者信息服务平台springmvc

志愿者服务平台&#xff0c;采用ssm框架技术&#xff0c;java语言&#xff0c;jsp前端页面以及js&#xff0c;DIVCSS&#xff0c;html5等技术综合应用开发实现。志愿者服务平台&#xff0c;采用了前台后台的模式开发&#xff0c;前台用于志愿者在线项目培训&#xff0c;视频学习…

CUDA编程接口

编程接口 文章目录编程接口3.1利用NVCC编译3.1.1编译流程3.1.1.1 离线编译3.1.1.2 即时编译3.1.2 Binary 兼容性注意&#xff1a;仅桌面支持二进制兼容性。 Tegra 不支持它。 此外&#xff0c;不支持桌面和 Tegra 之间的二进制兼容性。3.1.3 PTX 兼容性3.1.4 应用程序兼容性3.1…

Kafka框架快速入门及异步通知

文章目录1、异步通信原理1.1 观察者模式1.2 生产者消费者模式1.3 缓冲区1.4 数据单元2、消息系统原理2.1 点对点消息传递2.2 发布订阅消息传递3、Kafka简介3.1 设计目标3.2 Kafka的优点4、Kafka系统架构4.1 Broker4.2 Topic4.3 Partition4.4 Leader4.5 Follower4.6 replication…

ACL与NAT

ACL---访问控制列表&#xff0c;是一种策略控制工具 功能&#xff1a;1.定义感兴趣流量&#xff08;数据层面 &#xff09; 2.定义感兴趣路由&#xff08;控制层面&#xff09; ACL 条目表项组成&#xff1a; 编号规则&#xff1a;步数或者跳数默认值为5&#xff0c;…

Rancher 部署 MySQL

文章目录创建 pvc部署 MySQL前置条件&#xff1a;安装 rancher&#xff0c;可参考文章 docker 部署 rancher 创建 pvc MySQL 数据库是需要存储的&#xff0c;所以必须先准备 pvc 创建 pvc 自定义 pvc 名称选择已经新建好的 storageclass&#xff0c;storageclass 的创建可参考…

Mac os如何安装绿盾客户端

环境&#xff1a; Apple Mac mini 八核M1芯片 8G 256G Mac os 11.0 问题描述&#xff1a; Mac os如何安装绿盾客户端 解决方案&#xff1a; 一、关闭系统保护 1.关机电脑&#xff0c;按住“开机键”不放直到屏幕上出现“选项” 点击“继续”&#xff0c;等待进入恢复模…

github 使用

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录一、git与github二、出错的地方1.GitHub没有css样式2、git clone出现错误3、明明创建了responsibility 但git 不显示一、git与github 这个博客写的很好&#xff01;…

剔除绿化后的比较可靠的评价模型

sheet4权重实际评分&#xff08;越高越不好&#xff09;&#xff08;0-5分&#xff09;正向化&#xff08;5-X&#xff09;后分别与权重相乘得到该地的总分总分高&#xff0c;排名高为好&#xff0c;即污染小排序后

【Kubernetes】第三篇 - ci-server 构建节点 Docker、Jenkins 环境搭建

一&#xff0c;前言 上一篇&#xff0c;主要介绍了阿里云服务器的采购和简单配置&#xff1a; 三台服务器规划如下&#xff1a; 服务配置内网IP外网IP说明ci-server2c4g172.17.178.104182.92.4.158Jenkins Nexus Dockerk8s-master2c4g172.17.178.10547.93.9.45Kubernetes …

ARM uboot 源码分析5 -启动第二阶段

一、start_armboot 解析6 1、console_init_f (1) console_init_f 是 console&#xff08;控制台&#xff09;的第一阶段初始化。_f 表示是第一阶段初始化&#xff0c;_r 表示第二阶段初始化。有时候初始化函数不能一次一起完成&#xff0c;中间必须要夹杂一些代码&#xff0c;…

ccc-pytorch-回归问题(1)

文章目录1.简单回归实战&#xff1a;2.手写数据识别1.简单回归实战&#xff1a; 用 线性回归拟合二维平面中的100个点 公式&#xff1a;ywxbywxbywxb 损失函数&#xff1a;∑(yreally−y)2\sum(y_{really}-y)^2∑(yreally​−y)2 迭代方法&#xff1a;梯度下降法&#xff0c;…

【QA】[Vue/复选框全选] v-model绑定每一项的赋初值问题

发生场景&#xff1a;不只是复选框的状态改变&#xff0c;还有的功能要用到复选框的选中状态&#xff0c;比如&#xff1a;购物车计算总价&#xff0c;合计等等。 引入&#xff1a;复选框 checkbox 在使用时&#xff0c;需要用v-model绑定布尔值&#xff0c;来获取选中状态&…

一台电脑安装26个操作系统(windows,macos,linux,chromeOS,Android,静待HarmonyOS)

首先看看安装了哪些操作系统1-4: windows系统 四个5.Ubuntu6.deepin7.UOS家庭版8.fydeOS9.macOS10.银河麒麟11.红旗OS12.openSUSE Leap13.openAnolis14.openEuler(未安装桌面UI)15.中标麒麟&#xff08;NeoKylin&#xff09;16.centos17.debian Edu18.fedora19.oraclelinux(特别…