什么是人工智能
人工智能是让计算机具有智能行为的科学,比如让计算机能够做一些人类擅长做的事情。我们可以用图灵测试来判断一个系统是否具有智能。
主要有两种方法来实现人工智能:
- 自上而下(符号推理):从人类专家提取知识规则,用计算机表示并推理
- 自下而上(神经网络):模拟人脑,从数据中学习知识
知识表示与专家系统
知识表示是将人类知识转化为计算机可用形式的技术。专家系统是利用知识表示来模拟人类专家解决问题的能力的系统。
专家系统主要包含:
- 问题内存:存储当前问题信息
- 知识库:存储领域知识
- 推理引擎:根据问题内存和知识库进行推理
例如一个笔记本电脑推荐系统,它可以通过询问用户需求,并应用知识库中的规则,来推荐合适的笔记本电脑。
感知器模型
感知器是一种神经网络模型,可以用来识别不同的图形或数字。
它包含一个权重向量,可以根据输入计算输出。通过训练可以调整权重,使感知器识别不同模式。
例如一个感知器可以识别手写数字,输入是一个图像,输出是判断结果。通过不断训练,感知器可以适应不同样式的手写数字。
神经网络模型
神经网络是模仿人脑结构的计算模型,可以从数据中学习各种特征和规律。
它由多个单元组成,单元之间通过权重相连。权重通过梯度下降算法训练。
例如一个判断奇偶数的神经网络,输入是一个数字,隐藏层对数字的每位求和,输出层根据结果判断奇偶。通过训练可以提高判断准确度。
张量表示文本
张量是多维数组,可以表示各种数据,包括文本。
表示文本的方法:
- 字符级:每个字符映射为一个数字
- 单词级:每个单词映射为一个数字
- 词袋模型:无序表示
例如单词”apple”可以表示为[1, 2, 3, 4, 5]这样的向量。
需要用更高级的模型处理上下文和顺序信息。
计算机视觉
应用:
- 图像处理:滤镜、美颜
- 人脸检测:信息提取
- 特征检测:边缘、形状等
例如可以用OpenCV来处理一本盲文书籍的图像,或者检测视频中的运动。
卷积神经网络
卷积神经网络是处理图像的神经网络。
它通过卷积滤波器提取各级特征图,然后分类。
卷积层提取特征,池化层减少参数,全连接层分类。
例如识别MNIST手写数字,输入图像,输出类别概率。
卷积网络广泛用于图像处理任务。
迁移学习
迁移学习是将一个任务的知识迁移到另一个相关任务。
例如先在ImageNet上训练模型提取特征,然后在新的数据集上训练分类器。
好处:
- 节省时间和资源
- 提高准确度
- 应对少量或低质数据
例如用迁移学习进行猫狗识别,先提取通用图像特征,然后微调分类器。
自编码器
自编码器可以学习数据的有效特征编码,主要用于无标签数据。
它包含编码器和解码器,可以重建数据。
应用:
- 降维
- 去噪
- 超分辨率
- 生成新数据
例如,编码器把图片编码为向量,解码器再解码为图片,实现压缩和重构。
生成对抗网络
生成对抗网络包含生成器和判别器,可以生成新的数据,如艺术创作。
生成器创建数据,判别器判断真伪。两者对抗训练。
可以做风格转换,把内容图片与风格图片结合。
例如,生成器生成猫图片,判别器判断真假,重复训练until生成图片逼真。
物体检测
物体检测可以识别图像中的物体及位置。
主要方法:
- 基于区域:先生成区域,再分类
- 单次检测:一次完成检测
主要模型:R-CNN、Fast R-CNN、Faster R-CNN、YOLO等。
例如,Faster R-CNN使用注意力机制,端到端地完成检测。
图像分割
图像分割将图片中的目标提取出来。
- 语义分割:分类每个像素
- 实例分割:区分同类不同实例
使用编码器-解码器结构的全卷积网络,输出与输入大小相同的掩膜。
例如,输入图片,输出每个像素的语义标签,实现分割。
递归神经网络
递归神经网络可以处理序列数据。
它根据当前输入和前一状态计算当前状态,实现顺序处理。
应用:
- 文本分类
- 语音识别
- 机器翻译
- 文本生成
例如,输入一个句子,输出句子的语义向量表示。
词嵌入
词嵌入将词映射为密集向量,表示语义信息。
方法:
- 连续词袋:根据上下文预测词
- 连续跳跃:根据词预测上下文
例如,单词”apple”映射为[0.1, 0.3, -0.2, …]这样的向量。
词嵌入是自然语言处理的重要技术。
命名实体识别
命名实体识别可以从文本中提取实体,如人名、地点等。
方法:使用循环神经网络或变换器,对词进行BIO标注。
应用:聊天机器人、知识图谱等。
例如,识别句子中的人名、城市名等关键词。
变换器
它使用编码器-解码器结构。
编码器输出向量表示输入序列特征。
解码器根据编码器输出生成目标序列。
例如,编码器编码”I love you”,解码器解码”我爱你”。
GPT
GPT是一个预训练语言模型,可以生成逼真文本。
它通过预测下一个词来进行文本生成任务的通用训练。
可用于文本编辑、问答、翻译等任务。
例如,GPT可以根据提示接着写一篇故事。
遗传算法
遗传算法用于搜索、优化和机器学习,模拟自然进化。
基本思路:
- 编码表示问题的解
- 评价解的适应度
- 进行选择、交叉和变异产生新解
- 重复直到满意
例如,用遗传算法求解背包问题。
强化学习
强化学习让智能体通过环境交互学习最优策略。
目标是最大化累积回报。
方法:策略梯度、Actor-Critic等。
例如,让计算机学习玩游戏直到胜利。
多智能体系统
多智能体系统由多个智能体协作完成复杂任务。
每个智能体有自己的目标和行为规则。
可以组成更智能的整体。
应用:游戏、模拟、自动化等。
例如,一个旅游推荐系统包含查询机票、酒店、景点的智能体。