人工智能基础
第一章
一、什么是人工智能?
模拟、延申、和拓展人类技能。
- 强人工智能:具备与人类同等或者超越人类智慧,能根据自己意图展开行动。
- 弱人工智能:面向特定的问题或任务,根据人类的经验知识,达到模拟人的效果。
- 应用领域:计算机视觉、自然语言处理NLP、人机博弈、认知推理等。
- 主要软件技术:数据采集技术、数据库技术、数据分析技术、可视化技术等
从数据分析技术又可以进一步推出机器学习:对人类经验数据进行分析预测
第二、三章
一、什么是人工智能技术?
实现模拟人类的典型技术。典型技术方法:机器学习和深度学习。目前处于感知阶段。
发展趋势:感知阶段向认知阶段发展、深度强化学习。
人工智能:能使计算机模仿人类的任何技术。
机器学习:不需要明确编程就可以具备的学习能力。
深度学习:利用神经网络从数据中学习模式
二、机器学习
计算机系统能够利用经验提高自身的效能。本质是基于经验数据的函数估计问题。
机器学习步骤:
-
数据预处理:数据清洗、数据采样、数据拆分。
- 数据清洗:对各种脏数据进行对应处理,得到标准、干净、连续的数据。
- 数据采样:
- 数据拆分:训练数据集、验证数据集、测试数据集。
- 训练数据集:构建机器学习模型。
- 验证数据集:构建过程中评估模型。
- 测试数据集:评估训练好的模型性能
-
特征工程:特征编码、特征选择、特征降维、规范化
- 特征编码:将数据转化为数值形式。
- 特征选择:无
- 特征降维:特征矩阵过大时,用来降低维度。
- 规范化:无
数据建模一般过程:
三大要点:模型(问题建模,确定假设空间)、算法(求解模型参数)、策略(确定目标函数)
机器学习方法分类:
- 分类问题(监督学习):决策树、贝叶斯、支持向量机、逻辑回归
- 回归问题:线性回归、广义线性回归
- 聚类问题(无监督学习):K-means、高斯混合聚类
第四章
一、神经网络
-
激活函数:将神经元的输入信号转换成单一的输出信号。
-
网络拓扑:描述模型中神经元的数量以及层数和他们的连接的方式。
-
训练算法:指定如何设置连接权重。
误差逆传播算法(BP算法):信号正向传播,误差反向传播
二、什么是深度学习?
是机器学习的一个新方向,它具有多个隐藏层的神经网络可以视为深度神经网络,针对它的训练可以视为深度学习。
三、深度学习三大核心问题
- 表示
- 输入的表示:让计算机像人一样理解图像、语音、文字
- 特征的表示:传统方法,深度学习。
- 传统方法:人工特征工程+分类器。
- 深度学习:自动学习多尺度的特征表示。
- 目标函数
- 感知机
- 多层感知机
- 损失函数
- 优化
- 参数学习:找到合适的参数使得模型的损失值最小
- 梯度下降法:通过循环迭代的方式进行参数求解
- 参数学习:找到合适的参数使得模型的损失值最小
四、机器学习方法与深度学习方法的同异点:
相同点:
- 数据驱动:无论是机器学习还是深度学习,都是基于数据来进行模型训练和预测的。它们都依赖于大量的数据来发现模式、建立预测模型。
- 自动化特征提取:机器学习和深度学习方法都能够自动地从数据中学习特征,而不需要手动设计特征提取算法。
不同点:
- 模型复杂度:深度学习方法使用深层神经网络来学习数据的表示和特征,因此通常具有更高的模型复杂度。相比之下,传统的机器学习方法(如决策树、支持向量机等)通常具有较低的模型复杂度。
- 数据需求:深度学习方法通常需要大量的数据来获得良好的性能,而传统的机器学习方法可能对数据量的要求较低。
- 特征工程:传统的机器学习方法通常需要手动进行特征工程,即人工设计和选择合适的特征来训练模型;而深度学习方法能够自动地学习特征,减少了对特征工程的依赖。
五、处理过拟合
- 数据集扩充:增加更多的训练数据可以帮助模型更好地泛化。通过收集更多的数据样本或使用数据增强技术(如镜像、旋转、裁剪等),可以减少过拟合的发生。
- 正则化(Regularization):正则化是通过添加惩罚项来限制模型的复杂度,使其更倾向于简单的解决方案。常见的正则化方法包括L1正则化(Lasso)和L2正则化(Ridge)。正则化可以通过减少模型中参数的权重来防止过拟合。
- 交叉验证(Cross-validation):使用交叉验证可以更好地评估模型的性能,并选择最佳的超参数配置。通过将数据集分成多个训练集和验证集的折叠,可以避免在训练集上的过拟合。
- 特征选择(Feature selection):选择最相关和有用的特征可以减少模型的复杂性,并提高泛化能力。通过分析特征的重要性,可以剔除对模型预测能力贡献较小的特征。
- 提前停止(Early stopping):在训练过程中,可以监控模型在验证集上的性能,并在性能开始下降时停止训练。这样可以防止模型继续训练直到过拟合。
- Dropout:Dropout 是一种常用的正则化技术,它在训练过程中随机地将一部分神经元的输出置为零。这样可以强制模型不依赖于特定的神经元,减少过拟合的发生。
- 模型集成(Model ensemble):通过使用多个模型的预测结果进行集成,可以减少过拟合的风险。常见的模型集成方法包括投票、平均和堆叠等。
六、处理欠拟合
增加模型复杂度、增加更多的特征、增加训练数据量
第五章
计算机视觉原理:局部信息更加重要、放大缩小布局不变。
- 卷积(Convolution): 在CNN中,卷积层使用卷积操作来提取输入数据中的特征。卷积操作通过将一个小的窗口(称为卷积核或滤波器)在输入数据上滑动,将窗口中的数据与卷积核进行对应位置相乘并求和,从而生成输出特征图。这样可以有效地捕获局部特征,并且由于卷积核的参数共享性,可以降低模型的参数数量,减少过拟合的可能性。
- 池化(Pooling): 池化层用于减少特征图的空间维度,从而减少模型对位置的敏感性,并且减少计算量。常见的池化操作包括最大池化和平均池化,它们分别取特定区域内的最大值或平均值作为输出。池化操作有助于保留主要特征并且使模型具有一定程度的平移不变性。
- 权值共享(Weight Sharing): 在卷积神经网络中,卷积核在整个输入数据上共享参数。这意味着相同的卷积核会被应用到输入数据的不同位置上,从而减少了模型的参数数量。这种共享权值的方式使得CNN更加高效并且能够更好地处理平移不变性的特性。
- 全连接:是神经网络中的一种常见结构,也被称为密集连接层或者仿射层。全连接层中的每个神经元与上一层的所有神经元相连接,每个连接都有一个权重,需要在训练过程中进行学习调整。全连接层的作用是对提取的特征进行组合,从而得到最终的输出结果(例如分类或回归)。然而,在设计深度神经网络时,为了减少参数数量和提高泛化能力,通常会在全连接层之前使用池化层或卷积层进行特征提取。
深度学习步骤:
- 建立模型
- 损失函数
- 参数学习
- 梯度下降
- 反向传播算法
卷积神经网络(cnn)步骤:
-
建立模型:
- 卷积神经网络
- 局部连接
- 权重共享
- 下采样
- 卷积层
- 卷积核
- 卷积层
- 多通道卷积
- pooling层
- polling
- 卷积神经网络
-
损失函数:设计依赖于具体的任务
-
参数学习:梯度下降法
第六章
自然语言处理基本流程:
第一个是分词,这意味着将文本分割成单词或词语的过程。
第二个词性分析是指确定句子中每个词语所承担的语法角色,例如名词、动词、形容词等。
第三个句法分析是为了识别句子的结构和成分之间的关系,包括短语结构和依存关系等。
第四个语义分析是为了理解句子的意义和含义,包括命名实体识别、实体关系抽取、情感分析等任务。
第五个语用分析是为了理解句子在特定语境下的用法和意义,包括指代消解、语义角色标注、修辞分析等。
典型方法:
Word2Vec是一种基于神经网络的词嵌入(word embedding)模型,它可以将词语映射到连续的向量空间中,使得具有相似语义的词在向量空间中距离较近。Word2Vec有两种常用的实现方式:CBOW(Continuous Bag-of-Words)和Skip-gram。
Bert(Bidirectional Encoder Representations from Transformers)是一种基于Transformer架构的预训练语言模型。Bert通过双向上下文来学习词语的表示,它在各种自然语言处理任务中取得了很好的性能,例如文本分类、命名实体识别等。
RNN(Recurrent Neural Network)是一种递归神经网络模型,它能够处理序列数据。RNN通过在每个时间步输入当前输入和上一时间步的隐藏状态,从而能够捕捉到序列中的依赖关系。然而,传统的RNN在长期依赖上存在梯度消失或梯度爆炸的问题。
LSTM(Long Short-Term Memory)是一种具有长期记忆能力的RNN变体。LSTM通过引入门控机制,包括输入门、遗忘门和输出门,来解决传统RNN的梯度消失和梯度爆炸问题。LSTM在处理长期依赖的序列任务上表现出色。
GRU(Gated Recurrent Unit)也是一种具有门控机制的RNN变体。与LSTM类似,GRU通过更新门和重置门来控制信息的流动和保留。相比于LSTM,GRU只包含两个门控单元,参数更少,计算效率更高。
第七章
认知推理原理:认知是思维过程,推理是得出判断或者结论
知识图谱(Knowledge Graph)是一种用于表示和组织知识的结构化数据模型。它通过将实体、属性和关系表示为图中的节点和边来描述现实世界中的事物及其之间的关联。知识图谱可以帮助我们理解和推理知识,支持各种智能应用,如问答系统、信息检索、推荐系统等。
图神经网络(Graph Neural Network,GNN)是一类针对图结构数据设计的深度学习模型。GNN通过对图的节点和边进行信息传播和聚合,学习节点的表示和图的全局特征。GNN的核心思想是将节点的特征与其邻居节点的特征进行交互和更新,以捕捉图的结构和节点之间的关系。
将知识图谱与GNN结合可以得到知识图谱表示学习方法,主要包括以下几个方面:
- 图嵌入(Graph Embedding):通过GNN模型学习知识图谱中节点的低维向量表示,将图中的实体和关系映射到连续的向量空间中。这样的表示能够保留实体和关系之间的语义关系,为后续的推理和应用提供基础。
- 关系预测(Link Prediction):利用GNN模型学习知识图谱中实体之间的关系,可以通过预测缺失的关系或发现新的关系来补充和扩展知识图谱。
- 问题回答(Question Answering):将GNN应用于知识图谱上的问答任务,通过对图中相关实体和关系进行推理和聚合,给出准确的答案。
- 推荐系统(Recommendation):结合知识图谱和GNN,可以进行个性化推荐。利用图中实体和关系的信息,为用户提供更准确、多样化的推荐结果。
第八章
强化学习是一种通过智能体与环境不断交互学习的方法。在强化学习中,智能体通过观察环境的状态,采取动作来影响环境,并根据环境的反馈(奖励或惩罚)来调整自己的行为策略,以最大化累积奖励。强化学习的目标是通过试错和反馈来学习适应环境的最佳策略。常见的强化学习算法包括Q-Learning、Deep Q-Network(DQN)、Policy Gradient等。
生成对抗网络(GAN)是由生成器和判别器组成的模型框架。生成器的目标是从随机噪声中生成伪造的样本,而判别器的目标是区分真实样本和伪造样本。两个模型通过对抗训练的方式相互竞争和学习,生成器试图生成逼真的样本以欺骗判别器,而判别器则试图准确地识别真实和伪造的样本。通过这种对抗过程,生成对抗网络可以逐渐提高生成器生成逼真样本的能力。GAN已经成功应用于图像生成、文本生成、视频生成等领域,例如生成逼真的人脸图像、艺术作品等。