人工智能的一些基本概念的简单理解
首先最重要的概念,神经网络是一个函数,所有的神经网络本质上是:由神经网络函数的结果作为预测值,并结合真实值,所构成的代价函数的 优化问题
不过人工智能的另一个方向强化学习是完全不同的
1 基本概念
1人工智能、机器学习、深度学习和人工神经网络四个概念之间的互相关系
这四个概念从大到小是:人工智能(AI)→机器学习(ML)→人工神经网络(ANN)→深度学习(DL)。
AI 是最大范畴,目标是让机器有类人智能,机器学习是实现 AI 的核心技术;
机器学习靠数据学规律,主要通过数据学习数据中的客观规律,人工神经网络是其中一类算法(有输入 / 输出层,简单 ANN 可无隐藏层);
深度学习是 ANN 的进阶,核心是靠多层网络自动学特征(不只是层数多),DNN 是其常见形式;
深度学习是当前实现 AI 的主流工具。
2 大语言模型的核心原理
大语言模型(LLM)核心原理可概括为 “数据预训练 + 上下文学习”,分三步:
先靠海量文本数据(如全网语料)预训练,用 Transformer 架构(核心是自注意力机制,能捕捉文本中词与词的关联)学习语言规律,比如语法、语义和常识,生成一个 “通用语言模型”;
预训练后通过 “指令微调”,用带指令的数据集(如 “总结这段话”“回答问题”)让模型适配具体任务,学会理解人类需求;
推理时,模型根据输入的上下文(比如用户提问),按预训练学到的规律,逐词生成符合逻辑和语义的内容,同时靠注意力机制保证输出和上下文的连贯性。
3 讲解神经网络里的核心算法,最通用的一个算法是什么?
神经网络的核心算法有梯度下降算法里的GD、SGD、MBGD、SGD with momentum、Adam、AdamW等
最通用的一个算法是Adam,Adam及其变体几乎是所有深度学习模型的首选,它结合动量机制(加速收敛)和自适应学习率(对不同参数动态调整步长),在绝大多数场景(图像、文本等)中表现稳定,无需大量调参,因此成为深度学习中最常用的优化算法。
4 什么是梯度?梯度下降算法?梯度是什么?
梯度就是在当前参数下,函数下降最快的那个方向和陡峭程度,是一个向量
梯度下降算法就是在每一轮中通过前向传播计算代价函数,根据代价函数求神经网络中每个参数的偏导(即梯度),以此作为这些参数对代价函数的影响程度,将这些参数按照梯度减去学习率,即可获得下一轮的参数,直到收敛到最小值
5 损失函数是用来干嘛的?
损失函数(或者说代价函数)是神经网络的最终优化目标,通过损失函数控制神经网络参数的调整,梯度下降的目的就是获得能使得损失函数最小化的参数组合
6 反向传播算法是怎么工作的,更新权重的目的是什么?
反向传播是根据前向传播计算得到的损失函数对神经网络的每个权重从后往前逐步通过链式求导计算偏导(即梯度),更新权重的目的是获得能够使得损失函数最小化的参数组合
7 监督与无监督学习
监督学习是有y的,也就是存在目标值,通过输入的数据预测y hat,模型的目标是使得y hat在保持泛化性的基础上能够尽量接近y,而无监督学习不存在目标值,目的是直接对数据寻找某种规律,比如聚类
激活函数
8 了解哪些激活函数和损失函数?详细介绍,优缺点是什么?
激活函数主要有sigmoid、tanh、relu及其变体(leakyLU、ELU)、softmax
sigmoid的优点:1、计算简单,适合二分类输出层 sigmoid的缺点:2、输出范围0-1,输出中心不是0,影响模型的泛化能力。2、容易出现梯度消失问题
tanh的优点:1、适合二分类输出层,输出中心为0,能够更好的处理数据的中心化和对称性。2、中心区域的斜率比sigmoid更大,能够提供更强的非线性特性, tanh的缺点:仍然容易数线梯度消失问题
relu的优点:1、适合隐藏层,解决了梯度消失问题。2、能提供稀疏输出,简化计算。3、计算非常简单 relu的缺点:输出中心不为零,且容易引发神经元死亡问题
9 激活函数有哪些、具体作用?
激活函数主要有....(同上),具体作用是引入非线性特征,提升模型的复杂性, 如果没有激活函数,模型的所有参数都能够直接相乘合为一个大W,无论如何训练模型都是线性的,如果引入激活函数,就从线性函数的复合变成了线性回归与非线性函数的复合函数,模型的输出就不再局限于线性
10 讲解ReLU和sigmoid的区别,主要在训练中,为什么有些地方使用sigmoid,有些地方使用ReLU?
sigmoid和ReLU的主要区别在于sigmoid如果用于隐藏层会导致梯度消失,而ReLU不会,因为ReLU的梯度只有0和1,虽然ReLU可能会引起神经元死亡,但影响和出现频率都低于sigmoid的梯度消失问题,所以sigmoid只能用于二分类的输出层,因为sigmoid能够将二分类的输出映射为概率,ReLU则用于隐藏层
3 过拟合和正则化
11 怎么解决模型的过拟合问题?
降低模型复杂度
增加数据训练量
采用dropout方法在训练中随即丢弃神经元
L1和L2正则化,让损失+loss*参数的L1范数或者L2范数(模型会倾向于缩小进一步减小无用参数的比重,并限制重要参数的比重不要过于大)
13 L1 L2范式正则化的原理及其区别
L1 和 L2 范式正则化,都是在原损失函数里加正则项,变成两者共同优化的问题。正则项会让参数变小,损失函数要保证模型预测能力,lambda 就是控制这两者谁更重要,最终目标是让模型预测强还不复杂。
区别在于,L1 正则项是 L1 范数,几何空间里是菱形或高维八面体,新损失函数最优点常落在坐标系上,因为菱形或高维八面体均存在尖角;L2 正则项是 L2 范数,几何空间是圆形,不会有这情况。但两者都能让无关参数变小,限制重要参数不过于极端。
4 传统算法
KNN:对于新的点,计算其附近最近的n个点的类别,取概率最大的类别作为新的点的类别
Kmeans:随机取几个质心,然后将每个点分类为附近最近的质心,然后计算新质心,再重新分类,直到收敛
SVC: SVC以线性函数的系数向量w作为决策超平面的法向量。在决策超平面上取一点x',在支持超平面上取样本点x(真实样本),计算x沿法向量方向到决策超平面的距离。基于这个距离关系经过转化,形成了初始的损失函数,现在是为了让这个损失函数最大化,即间隔最大化。
为简化计算,通过缩放空间(对w和b进行标准化处理)进一步简化损失函数,这一过程同步引入了"样本需位于支持超平面外侧"的约束条件,因此采用拉格朗日方法求解这个带约束的优化问题,求解后化简为约束下的||w||最小化问题。 针对线性不可分情况,在上述框架中加入松弛变量ξᵢ,并通过惩罚系数C(作为正则项)平衡间隔大小与分类错误,形成软间隔SVC的目标函数。
最终,通过求解优化问题得到所有样本到决策超平面沿法向量距离的最小值,这个最小值的两倍就是两类样本间的最大间隔,而决定这个间隔的正是落在支持超平面上的支持向量,其中主要的优化目标就是法向量的方向(或者说决策超平面的朝向和其与真实值的距离,最终目的是在能够完全分类正确的前提下最大化间隔,当然通过松弛变量C可以适当降低完全分类正确这一标准成为软间隔。
SVR:与线性回归相似,但只有在\epsilon-不敏感区间外的点才会参与计算,这些点称为支持向量,并且也引入了松弛变量C。
随机森林:构造n个决策树,每个决策树的数据是随机取得的,对这n个决策树分别计算结果进行预测,回归问题用n个决策树结果的均值,分类则是投票法
决策树:分类问题,根据信息熵、信息增益、基尼指数等指标来判断哪些参数最重要,重要的放在决策树上面,逐步构建决策树。如果是回归就随机取值作为分叉标准,这个值会取很多次,最终取那个能够使熵下降最快的值。构建决策树后直接让数据走一遍就能预测了,正则方式则是预剪枝和后剪枝,主要需要调整的是后剪枝
梯度提升机:GBDT的主要思路和梯度下降是一样的, 1 首先是计算当前决策树的预测值然后计算损失,这一步类似前向传播 2 然后通过这个损失对下一个决策树预测值的偏导负数作为梯度,让新的决策树去专门拟合这个负梯度,最后再根据学习率(权重)×模型预测值加入总模型, 3 然后根据前面的拟合负梯度的那个决策树调整过的新模型继续预测,如果还有偏差就继续用新的决策树去拟合模型的负梯度然后再以学习率相乘加入模型 4 整体就是这样一步步修正结果
逻辑回归:首先假设样本之间是独立同分布的,并且在给定自变量的条件下y是符合伯努利分布的(非黑即白),然后假设log-odds是线性的,log-odds=Wx+b,此时取log-odds的反函数sigmoid,把sigmoid结果代入伯努利分布,然后求负对数极大似然函数(最终结果恰好是交叉熵),有了损失函数就可以通过梯度下降、拟牛顿法等方式求解
5 模型理解
单指神经网络(通常指人工神经网络,Artificial Neural Network)的网络结构,核心是“分层的神经元连接系统”,模拟生物神经网络中“神经元通过突触连接传递信号”的机制,通过“输入层→隐藏层→输出层”的层级结构,实现对输入数据的非线性变换和规律捕捉。 其网络结构的核心要素可拆解为以下4个维度,理解这些维度就能把握神经网络的结构设计逻辑:
一、基础单元:
神经元(Neuron)—— 结构的“最小功能单位” 神经元是神经网络的基本组成单元,其结构直接决定了“单个节点如何处理信息”: - 输入:接收来自上一层多个神经元的信号(或原始特征),每个输入信号会被赋予一个“权重(Weight)”,代表该信号的重要性; - 处理:对“输入信号×权重”的总和加上“偏置(Bias)”,再通过“激活函数(Activation Function)”进行非线性变换,公式为: a = \sigma(w_1x_1 + w_2x_2 + ... + w_nx_n + b) 其中,a 是神经元的输出,\sigma 是激活函数(如ReLU、Sigmoid),作用是引入非线性,让网络能拟合复杂关系; - 输出:将处理后的信号传递给下一层神经元。 单个神经元可视为一个“简单的非线性处理器”,而网络结构的核心是“神经元如何组合”。
二、层级结构:
输入层→隐藏层→输出层—— 信息流动的“管道” 神经网络的层级是信息传递的路径,不同层级承担不同功能,层级的划分和堆叠是结构设计的核心: 1. 输入层(Input Layer): - 功能:接收原始数据(如图片的像素值、文本的词向量),不做任何处理,仅传递信号; - 结构特点:神经元数量等于输入数据的维度(如32×32的彩色图片,输入层神经元数为32×32×3=3072)。 2. 隐藏层(Hidden Layer): - 功能:对输入信号进行“特征提取与变换”,是网络“学习能力”的核心——浅层隐藏层学习简单特征(如边缘、纹理),深层隐藏层学习抽象特征(如物体部件、语义); - 结构特点: - 可包含1层或多层(超过1层即为“深层神经网络”); - 每层神经元数量可自由设计(通常根据任务复杂度调整,数量越多,表达能力越强,但计算量越大); - 层内神经元通常不直接连接,仅与上下层神经元连接(全连接网络)。 3. 输出层(Output Layer): - 功能:输出最终结果,结果形式由任务决定; - 结构特点: - 神经元数量等于任务目标的维度(如二分类任务输出层1个神经元,10分类任务输出层10个神经元); - 输出值通常经过特殊处理(如分类任务用Softmax输出概率,回归任务直接输出连续值)。
三、连接方式:
神经元之间的“通信规则”—— 决定信息交互的范围 神经元的连接方式决定了“信号能在哪些神经元之间传递”,是网络结构的“拓扑规则”,常见的有3种: 1. 全连接(Fully Connected): - 规则:上一层的每个神经元与下一层的所有神经元都有连接(每个连接对应一个权重); - 示例:多层感知机(MLP)的隐藏层与输出层通常是全连接; - 特点:参数多(表达能力强),但计算量大,易过拟合。 2. 局部连接(Local Connection): - 规则:上一层的神经元仅与下一层的部分神经元连接(通常基于“局部相关性”); - 示例:CNN的卷积层(每个神经元只接收输入的局部区域信号,如3×3的像素块); - 特点:减少参数数量,利用数据的局部相关性(如图像、语音)。 3. 循环连接(Recurrent Connection): - 规则:神经元的输出会反馈到自身或同层其他神经元(引入“时间维度”的记忆); - 示例:RNN/LSTM的隐藏层神经元会接收上一时刻的自身输出; - 特点:能处理序列数据(如文本、时间序列),捕捉前后依赖关系。
四、结构变体:
根据任务定制的“层级与连接组合” 神经网络的结构不是固定的,而是根据任务需求(如图像、文本、语音)设计不同的“层级+连接”组合,形成多样化的网络结构: - 卷积神经网络(CNN): 结构核心:“卷积层(局部连接+参数共享)+ 池化层(降维)+ 全连接层”,专为处理空间结构化数据(图像)设计,利用局部相关性减少参数。 - 循环神经网络(RNN): 结构核心:“循环层(带时间反馈的连接)+ 全连接层”,专为处理时序数据(文本、语音)设计,通过循环连接捕捉序列的前后依赖。 - Transformer: 结构核心:“自注意力层(全局动态连接)+ 前馈网络层”,通过注意力机制实现“任意位置神经元的动态连接”,兼顾并行计算和全局依赖捕捉,是当前大模型的基础结构。
总结:
神经网络结构的本质是“信息处理的流水线” 神经网络的结构本质是“将输入数据通过多层神经元的非线性变换,逐步从原始信号映射到目标输出”,其设计的核心是: 1. 用“神经元”实现基本的非线性处理; 2. 用“层级”实现特征的逐步抽象; 3. 用“连接方式”控制信息交互的范围; 4. 最终通过“层级与连接的组合”,让网络适配特定任务(如图像识别、语言翻译)。 结构的复杂度(层数、神经元数量、连接方式)直接影响网络的“表达能力”和“计算效率”,需要在“拟合能力”和“泛化能力”之间找到平衡。