人工智能讲义【大杂烩】(持续更新)

2023-10-10 06:40

本文主要是介绍人工智能讲义【大杂烩】(持续更新),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言:

本文主要面向但不限于非人工智能的专业从业者,只是希望在聊到AI的时候能吹上两句的。可聊话题包括但不限于“AI技术的发展现状”,“AI技术有哪些分类”,“神经网络是什么”等等等

人工智能发展现状

人工智能的现状是:强人工智能很弱、弱人工智能很强。弱人工智能已经强大到可以替代许多的岗位。而人类目前最先进的强人工智能,也远远比不上一个三岁孩子的智力。

  • 强人工智能:指能制造出真正地推理和解决问题的智能机器。比如日本动漫里的“阿童木”、钢铁侠的AI管家“贾维斯”就可以说是一个强人工智能。
  • 弱人工智能:只用于解决某些特定领域的问题,比如 AlphaGo,只会下围棋。

 

 强人工智能很弱的一个原因:机器还没法很好理解人类的语言。

强人工智能很弱的一个原因:机器还没法很好理解人类的语言、思维。

工程上怎么解决呢(强人工智能很弱)?

答案是“人机协作平台”——有别于提供AI算力的平台(后面我们还会提到),人机协作平台旨在提升行业专家参与AI产品开发及运营维护的效率。

>> 举个栗子:智能客服平台

人工智能分类

人工智能分类体系_chenxy02的博客-CSDN博客_人工智能分类

深度学习、神经网络是什么

人工智能讲义(基本概念讲解)_chenxy02的博客-CSDN博客_人工智能讲解

 深度学习是什么?


神经网络体验网站

为什么是神经网络

为什么是神经网络&深度学习_chenxy02的博客-CSDN博客_神经网络scale

神经网络怎么训练

朝着大概率正确的方向去试(想像了一下我们玩“愤怒的小鸟”的,试多了也就大概知道以某组角度及力度 能把小鸟弹多远),这也就是所谓的学习,所谓的训练。其中有两个步骤必不可少:

  • 定义Loss Function(代价/损失函数,判定与现实情况的差距,机器学习的目标即为求解损失函数的最小值
  • 定义Optimizer (优化器,决定神经网络权重参数的变化)

怎么得到大概率正确的方向?

梯度下降是什么意思?

在求解损失函数的最小值最经典且常用的方法 就是使用梯度下降法进行迭代求解。

梯度下降(Gradient Descent GD)简单来说就是一种寻找目标函数最小化的方法,它利用梯度信息,通过不断迭代调整参数来寻找合适的目标值。

想具体的理解梯度下降的原理,可参见:什么是梯度下降 - 知乎

神经网络有哪些

1、全连接网络

 全连接网络的缺点:计算量大,使用全局信息,无法提取局部特征

2、卷积神经网络

传说 在上个世纪90年代扬·乐昆受人脑视觉皮层的启发,发明了卷积神经网络。经过不断优化,开始在图像识别上大放异彩

  • 在CNN卷积神经网络结构中,卷积层的作用是用于提取出图像的特征。并且卷积层的参数是可以学习得到的,高层卷积层根据你的目标,提取出你想要的特征。
  • “局部感知,参数共享”。来大大降低了网络参数,保证了网络的稀疏性,防止过拟合。

目前工业界所使用的神经网络分类大概如下:

人工智能的应用场景

CV(Computer Vision,计算机视觉)常见名词解析

人脸检测:检测图片中是否包含人脸以及人脸位置坐标与5个关键点坐标。(把人脸框出来)

人脸识别:用户给定一张图片,对人脸库中的注册人脸进行检索,并返回人脸信息。(认出谁是谁)

人证对比:判断某个人脸与证件照是否为同一个人

 

 (NLP——Natural Language Processing)

为什么需要“向量化”:

答案:需要计算!如图片、文本、声音等非结构化数据无法很好的进行“相似度”等计算,需要化先转化为相应的数值。

eg: 在"人脸识别"的场景中,人脸注册即将相应的人脸照片转化为固定维度的向量(如128维)保存在人脸底库,人脸识别即通过向量计算度计算 检索出最相似的人脸。

人工智能在各行业中的应用

智能交通

 智慧医疗

 智能零售

 “上帝用七天创造了世界,第八天创造了互联网,第九天创造了人工智能”

以上所列只是人工智能所应用的行业的冰山一角,相信以后人工智能技术会越来越多的渗透进我们生活的方方面面。

AI开发需要哪些工具

人工智能讲义(工具篇)_chenxy02的博客-CSDN博客

云服务提供商能在AI时代扮演什么样的角色

回顾一下AI产品研发的整个流程

目前市面存在许多AI开放平台(叫法不统一),我们阿里云机器学习PAI为例,看一下AI平台的大体架构:

AI 算法模型开也可以简单分为三个阶段:数据准备、模型训练、模型部署。在大型的AI产品开发过程中,这三个阶段无外乎都需要大量的计算、资源、网络等资源。云服务提供商可以针对三个阶段提供相应的产品,提升AI产品的开发部署效率及质量。

数据准备

市面上已经有较多通用平台支撑模型训练与部署阶段,但自2019年后才陆续有各厂商推出特征平台支撑数据准备阶段。特征平台具体做的事情可参见:特征平台(Feature Store):序论 - 知乎

有很多厂商在自己AI开放平台集成了数据标注功能(数据标注确实也是一件工作量特别大的事情)。如下图:

模型训练

1、提供AI算力

目前主流的AI算力平台一般支持按需分配GPU、CPU、内存等资源。

2、交互式建模

 目前主流的交互式建模工具,一般支持 Notebook交互式编程开发、支持Tensorflow等开源深度学习框架、支持CPU/GPU混合调度。

3、可视化建模

即提供零/低代码工具,提供经典的机器学习算法组件,支持调整组件参数、组件的编排组合,一般还支持自定义新组件 。

4、支持分布式训练

如笔者目前项目中所使用的Kubeflow机器学习工具包(一套运行在k8s之上的技术栈),便为Tensorflow等深度框架提供了非常好分布式训练支持。使开发者可以使用声明式API的方式在K8S上,快速的配置及创建分布式训练集群。

详情可参见:Kubeflow--TFJob实现机制分析_chenxy02的博客-CSDN博客

模型部署

 一般支持模型一键部署,支持更新、停止、启动、扩缩容模型服务,支持模型在线调试。

 AI学习网站

DeepLearning.AI中国官网-全球领先的线上AI教育、实践平台

这篇关于人工智能讲义【大杂烩】(持续更新)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/178674

相关文章

Redis缓存问题与缓存更新机制详解

《Redis缓存问题与缓存更新机制详解》本文主要介绍了缓存问题及其解决方案,包括缓存穿透、缓存击穿、缓存雪崩等问题的成因以及相应的预防和解决方法,同时,还详细探讨了缓存更新机制,包括不同情况下的缓存更... 目录一、缓存问题1.1 缓存穿透1.1.1 问题来源1.1.2 解决方案1.2 缓存击穿1.2.1

Linux Mint Xia 22.1重磅发布: 重要更新一览

《LinuxMintXia22.1重磅发布:重要更新一览》Beta版LinuxMint“Xia”22.1发布,新版本基于Ubuntu24.04,内核版本为Linux6.8,这... linux Mint 22.1「Xia」正式发布啦!这次更新带来了诸多优化和改进,进一步巩固了 Mint 在 Linux 桌面

SpringCloud配置动态更新原理解析

《SpringCloud配置动态更新原理解析》在微服务架构的浩瀚星海中,服务配置的动态更新如同魔法一般,能够让应用在不重启的情况下,实时响应配置的变更,SpringCloud作为微服务架构中的佼佼者,... 目录一、SpringBoot、Cloud配置的读取二、SpringCloud配置动态刷新三、更新@R

Ubuntu 24.04 LTS怎么关闭 Ubuntu Pro 更新提示弹窗?

《Ubuntu24.04LTS怎么关闭UbuntuPro更新提示弹窗?》Ubuntu每次开机都会弹窗提示安全更新,设置里最多只能取消自动下载,自动更新,但无法做到直接让自动更新的弹窗不出现,... 如果你正在使用 Ubuntu 24.04 LTS,可能会注意到——在使用「软件更新器」或运行 APT 命令时,

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

poj3468(线段树成段更新模板题)

题意:包括两个操作:1、将[a.b]上的数字加上v;2、查询区间[a,b]上的和 下面的介绍是下解题思路: 首先介绍  lazy-tag思想:用一个变量记录每一个线段树节点的变化值,当这部分线段的一致性被破坏我们就将这个变化值传递给子区间,大大增加了线段树的效率。 比如现在需要对[a,b]区间值进行加c操作,那么就从根节点[1,n]开始调用update函数进行操作,如果刚好执行到一个子节点,

hdu1394(线段树点更新的应用)

题意:求一个序列经过一定的操作得到的序列的最小逆序数 这题会用到逆序数的一个性质,在0到n-1这些数字组成的乱序排列,将第一个数字A移到最后一位,得到的逆序数为res-a+(n-a-1) 知道上面的知识点后,可以用暴力来解 代码如下: #include<iostream>#include<algorithm>#include<cstring>#include<stack>#in

hdu1689(线段树成段更新)

两种操作:1、set区间[a,b]上数字为v;2、查询[ 1 , n ]上的sum 代码如下: #include<iostream>#include<algorithm>#include<cstring>#include<stack>#include<queue>#include<set>#include<map>#include<stdio.h>#include<stdl

hdu 1754 I Hate It(线段树,单点更新,区间最值)

题意是求一个线段中的最大数。 线段树的模板题,试用了一下交大的模板。效率有点略低。 代码: #include <stdio.h>#include <string.h>#define TREE_SIZE (1 << (20))//const int TREE_SIZE = 200000 + 10;int max(int a, int b){return a > b ? a :

AI行业应用(不定期更新)

ChatPDF 可以让你上传一个 PDF 文件,然后针对这个 PDF 进行小结和提问。你可以把各种各样你要研究的分析报告交给它,快速获取到想要知道的信息。https://www.chatpdf.com/