一.神经网络的输入数据类型
神经网络的输入数据类型,本质上是根据数据的结构和来源划分的,不同类型的数据对应不同的神经网络架构(比如 CNN 对应图像、RNN 对应序列)。常见的输入数据类型主要有以下 4 类:
1.结构化数据(表格数据——向量)
这是最常见的传统数据类型,数据以行和列的形式组织,每一行是一个样本,每一列是一个特征。(想象成绩表)
- 特点:分为数值型和类别型。
- 数值型特征:年龄、身高、温度特征维度清晰,有明确的含义、价格、销量等连续或离散的数字标签。
- 类别型特征:性别(男 / 女)、颜色(红 / 蓝 / 绿)、职业(教师 / 医生)等非数字标签,输入前需要做编码(如独热编码、标签编码)。
- 适用的神经网络:全连接神经网络(DNN)、多层感知机(MLP)。
- 应用场景:信用评分、客户流失预测、房价预测、疾病风险评估。
2.图像数据(视觉数据——矩阵)
图像数据是二维或三维的像素矩阵,是深度学习最核心的应用领域之一。
- 特点:
- 二维图像:结构为
[高度, 宽度, 通道数],比如一张 224×224 的彩色图,通道数为 3(RGB);灰度图通道数为 1。 - 像素值通常是 0–255 的整数,代表颜色深浅,输入前需要归一化(如除以 255 缩放到 0–1)。
- 二维图像:结构为
- 适用的神经网络:卷积神经网络(CNN),专门用来提取图像的空间特征(边缘、纹理、形状)。
- 应用场景:人脸识别、图像分类(猫 / 狗)、目标检测(识别图片里的汽车 / 行人)、医学影像诊断(CT / 核磁分析)。
3.序列数据(时序/文本数据)
序列数据的核心是数据的顺序有意义,数据是按时间或先后排列的一维序列。
- 常见子类:
- 文本数据:最典型的序列数据,由单词、字符组成,比如一句话、一篇文章。输入前需要做向量化(如 Word2Vec、One-Hot、Transformer 嵌入)。
- 时序数据:随时间变化的数值序列,比如股票价格(每分钟的收盘价)、心电图波形(每秒的电压值)、传感器数据(每小时的温度值)。
- 特点:样本长度不固定(比如不同句子的单词数不同),前后数据存在依赖关系。
- 适用的神经网络:循环神经网络(RNN)、长短时记忆网络(LSTM)、门控循环单元(GRU)、Transformer(BERT、GPT 的核心架构)。
- 应用场景:机器翻译、语音识别、情感分析、股票预测、语音合成。
4.音频数据(矩阵or序列)
音频数据本质是一维的声波信号(序列数据),但通常会被转换成二维的频谱图(矩阵)后再输入神经网络。其类型不是绝对的,既可以作为序列数据,也可以转换为矩阵数据,具体取决于处理方式和对应的神经网络架构。
1. 原始音频:天然的一维序列数据
原始音频是麦克风采集的声波信号,经过采样后会变成一串离散的数字值,它的结构是[采样点数量]的一维数组。
- 特点:数据按时间顺序排列,相邻采样点之间有强依赖关系(前一时刻的声音会影响后一时刻),完全符合序列数据的定义。
- 适用网络:循环神经网络(RNN/LSTM/GRU)、Transformer,这类网络擅长捕捉时序依赖。
- 应用场景:语音合成、实时语音情感识别(对时序连贯性要求高的任务)。
2. 处理后音频:转换为二维矩阵数据
直接处理一维音频序列的难度较高,因为很难直接提取出 “音调”“音色” 这类关键特征,所以实际应用中更常用的是频谱图(Spectrogram)格式。
- 转换方法:通过短时傅里叶变换(STFT),把一维的时间序列,转换成 “时间 - 频率 - 能量” 的二维矩阵:
- 横轴 = 时间
- 纵轴 = 频率
- 每个点的数值 = 对应时间和频率下的声音能量
- 特点:这个二维矩阵和图像数据的结构
[高度, 宽度]完全一致,属于矩阵数据。 - 适用网络:卷积神经网络(CNN),可以像处理图像一样提取局部特征(比如某个时间段的特定频率特征)。
- 应用场景:语音识别、音乐分类、声纹识别(绝大多数主流音频任务)。
3.总结
| 音频数据形态 | 数据类型 | 适用网络 | 核心优势 |
|---|---|---|---|
| 原始采样序列 | 一维序列 | RNN/LSTM/Transformer | 保留完整时序信息 |
| 频谱图 | 二维矩阵 | CNN | 提取频率特征更高效 |
简单来说:原始音频是序列,加工后的频谱图是矩阵,后者在实际项目中更常用。
二.神经网络的输出数据类型
神经网络的输出数据类型,主要由任务目标决定,常见的有以下四大类,每一类都对应着不同的模型结构和损失函数:
1.分类输出(离散类别——选择题)
- 核心特点:输出是离散的类别标签或每个类别的概率分布,任务目标是判断输入属于哪一类。
- 常见形式:
- 单分类:输出一个概率分布(如
[0.95, 0.03, 0.02]对应 “猫、狗、鸟” 三类,取概率最高的 “猫” 作为结果)。 - 多标签分类:输出多个独立的概率值(如一张图里同时有 “猫” 和 “狗”,输出
[0.9, 0.85, 0.01]表示这两个标签都为正)。
- 单分类:输出一个概率分布(如
- 典型任务:图像分类(识别猫 / 狗)、人脸识别(判断是谁)、文本情感分析(正面 / 负面)。
- 输出层激活函数:Softmax(单分类)、Sigmoid(多标签分类)
2.回归输出(连续数值——填空题)
- 核心特点:输出是连续的数值,任务目标是预测一个或多个具体的数值。
- 常见形式:
- 单值回归:输出一个连续值(如预测房价为
150.8 万元,预测温度为25.6℃)。 - 多值回归:输出多个连续值(如预测 bounding box 的坐标
[x1, y1, x2, y2])。
- 单值回归:输出一个连续值(如预测房价为
- 典型任务:房价预测、温度预测、目标检测中的边框回归。
- 输出层激活函数:Linear(无激活),或根据任务范围用 Sigmoid/Tanh 限制输出区间。
3.生成输出(结构化输出数据——简答题)
- 核心特点:输出是高维、结构化的新数据。任务目标是主动创造出全新的、结构完整的内容。
- 生成输出常见形式:
- 文本生成:写文章、聊天机器人、机器翻译
- 图像生成:文生图(如 Stable Diffusion)、图像修复、风格迁移
- 音频生成:语音合成(TTS)、音乐生成
- 其他生成:代码生成,3D模型生成
生成式输出的本质是 “无中生有”,它要求模型不仅要理解输入,还要能创造出符合人类认知和任务要求的全新结构化内容。
三.小练习
1.向量;回归
2.序列;生成(结构化)输出
3.序列;分类生成(结构化输出)(错误想法:在写下代码的前缀时AI会提供可选择的填充代码,因此就将其理解为了分类。正确想法:无论是填充代码还是根据需求自动生成代码,最终生成的是代码序列,是一种结构化输出)
4.矩阵;回归分类(这是一个 “身份识别” 问题,目标是从有限的已知人物集合(如 “张三、李四、王五”)中,选出图片人物对应的标签。)
5.序列;分类
6.序列(也可)矩阵(更主流);分类
7.矩阵矩阵+序列;分类(这是一个典型的多模态分类任务,需要同时处理两种不同类型的输入)
8.矩阵;分类圈出羊是回归,识别羊是分类(圈出羊:需要用一个矩形框(bounding box)把羊框住,这个框的位置由(x1, y1, x2, y2)四个连续的坐标值决定——(x1, y1)代表矩形框的左上角顶点坐标,(x2, y2)代表矩形框的右下角顶点坐标。预测这四个连续数值的过程,就是回归输出)
9.矩阵;分类
解释:这个任务属于图像分割任务,它的输出类型是逐像素分类,本质上是一种分类任务的延伸。
任务本质:这个任务要求为图像中的每个像素点判断它属于 “人”“路”“车” 还是 “背景”,这是一个逐像素的分类问题。每个像素都被分配一个类别标签,最终所有像素的分类结果组合起来,就形成了人、路、车的轮廓。
为什么不是回归或生成
- 回归:回归输出的是连续数值(如坐标、温度),而这里输出的是每个像素的离散类别标签(人 / 路 / 车 / 背景),不是连续值。
- 生成:生成任务是创造全新的内容,而这里是对已有图像的像素进行类别标注,没有 “无中生有”,只是对现有信息的分类。
常见的图像分割类型
- 语义分割:只区分类别,不区分同一类的不同个体(比如把所有行人都标为 “人”)。
- 实例分割:不仅区分类别,还区分同一类的不同个体(比如把不同的行人标为 “人 1”“人 2”)。
10.向量,矩阵,序列 ;结构化输出