You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TensorFlow模型训练异常:误差收敛至恒定值且预测结果异常

问题分析与修正方案

核心错误点

  • 输入形状定义错误:你的输入是每个样本为4维向量(比如[1,1,1,1]),但设置了input_shape=(4, 1),这会让模型认为每个样本是4行1列的二维张量,导致后续维度混乱,最终输出多余的维度。正确的输入形状应该是(4,),对应一维的4特征样本。
  • 模型结构维度不匹配:输入形状错误引发连锁反应,使得模型的输出维度不符合预期,同时relu激活在这个简单任务里可能没必要,反而阻碍学习(因为输入都是正数,relu不会截断,但小样本下简化结构更好)。
  • 损失函数与任务匹配问题:虽然你把标签设为0-3可以用MSE回归,但样本量极小(仅4个),加上结构错误导致模型无法学到输入和标签的映射关系,最终只能输出所有标签的均值((0+1+2+3)/4=1.5),所以误差固定在1.25(计算:((0-1.5)²+(1-1.5)²+(2-1.5)²+(3-1.5)²)/4 = (2.25+0.25+0.25+2.25)/4=5/4=1.25)。

修正后的代码

import numpy as np
import tensorflow as tf
from tensorflow.keras import layers, models

# 数据和标签保持不变
data = np.array([[1,1,1,1],
                 [2,2,2,2],
                 [3,3,3,3],
                 [4,4,4,4]])
labels = np.array([0, 1, 2, 3])

# 修正模型结构:输入形状改为(4,),简化线性层结构
model = models.Sequential()
# 小样本下无需relu,直接用线性层即可学习简单映射
model.add(layers.Dense(1, input_shape=(4,)))

# 保持MSE损失(此任务本质是向量到连续标签的映射,用回归损失合理)
model.compile(optimizer='adam',
              loss=tf.keras.losses.MeanSquaredError(),
              metrics=['MeanSquaredError'])

# 样本量小,无需1000轮训练,500轮足够收敛
model.fit(data, labels, epochs=500, verbose=1)

# 预测测试,输出单个标签值
print(model.predict(np.array([[1,1,1,1]]), verbose=0)) # 接近0
print(model.predict(np.array([[2,2,2,2]]), verbose=0)) # 接近1
print(model.predict(np.array([[3,3,3,3]]), verbose=0)) # 接近2
print(model.predict(np.array([[4,4,4,4]]), verbose=0)) # 接近3

分类任务版本(可选)

如果要严格按分类任务处理(标签为类别0-3),可调整输出层和损失函数,将标签转为one-hot编码:

# 转换标签为one-hot格式
labels_onehot = tf.keras.utils.to_categorical(labels, num_classes=4)

model = models.Sequential()
model.add(layers.Dense(4, input_shape=(4,), activation='relu'))
model.add(layers.Dense(4, activation='softmax'))

model.compile(optimizer='adam',
              loss=tf.keras.losses.CategoricalCrossentropy(),
              metrics=['accuracy'])

model.fit(data, labels_onehot, epochs=500, verbose=1)

# 预测时取概率最大的类别索引
preds = model.predict(np.array([[1,1,1,1]]), verbose=0)
print(np.argmax(preds)) # 输出0

内容的提问来源于stack exchange,提问作者user10889578

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 22:52:35