2、从手撸线性回归到刷爆朋友圈的AI写诗器

96 阅读2分钟

一句话摘要:从最简单的线性回归模型出发,我们手把手撸到一个能“写诗”的文本生成模型,见证AI的进化之路,笑点+代码+干货一个都不少。


🎯 写这篇文章的目的

很多人被 GPT 吓到了:怎么它什么都会?其实,你也可以一步步从最简单的线性回归,构建出一个“文本生成”模型。你差的不是智商,是路径。

今天我们来走一次这条路径:

复制编辑
线性回归 ➜ 多元回归 ➜ 神经网络 ➜ 循环网络 ➜ 文本生成模型 ➜ AI写诗器

🧮 Step1:线性回归,模型界的Hello World

我们从最经典的模型开始:

python
复制编辑
# y = wx + b
import numpy as np
from sklearn.linear_model import LinearRegression

x = np.array([[1], [2], [3]])
y = np.array([2, 4, 6])

model = LinearRegression()
model.fit(x, y)

print(model.predict([[4]]))  # 输出:8,完美

看懂这个,你已经掌握了最朴素的“模型预测”能力。


🔀 Step2:多元线性回归 -> 模拟词向量输入

我们给每个“词”一个数值,比如:

rust
复制编辑
"我" -> 1.0
"爱" -> 2.0
"你" -> 3.0

这就是一个简单的“词向量”,虽然傻,但能用。

然后训练一个模型,让它根据前两个词预测第三个词:

python
复制编辑
x = np.array([[1.0, 2.0], [2.0, 3.0]])
y = np.array([3.0, 4.0])  # 模拟“你”、“他”

🧠 Step3:神经网络接手,大脑上线

python
复制编辑
from keras.models import Sequential
from keras.layers import Dense

model = Sequential()
model.add(Dense(10, activation='relu', input_dim=2))
model.add(Dense(1))  # 输出一个词的向量(简化版)

model.compile(optimizer='adam', loss='mse')
model.fit(x, y, epochs=100)

模型现在已经学会了“看两个词,预测第三个词”。

这就像小学生写对联:“天对地,雨对____(风)。”


🔁 Step4:加入循环结构,能“续写”的模型

用了循环神经网络(RNN / LSTM),就能做这事:

python
复制编辑
input_seq = ["风", "吹", "柳"]
输出 -> "絮"

模型开始具备“上下文理解”的能力。


🪄 Step5:简易版写诗器上线!

我们用小规模唐诗语料,训练一个模型:

python
复制编辑
["春眠不觉晓", "处处闻啼鸟", "夜来风雨声", "花落知多少"]

模型输入:“春眠不觉晓”,输出:“处处闻啼鸟”

再输入:“处处闻啼鸟”,输出:“夜来风雨声”

你就拥有了一个“AI写诗器”。


😂 效果演示(部分生成示例)

输入:春眠不觉晓
输出:风起柳如烟 🌬️

输入:昨夜星辰昨夜风
输出:今朝落笔成诗中 ✍️

是不是有点上头?


💡 总结

阶段技术关键词能力提升
线性回归wx + b拟合直线,预测数值
多元回归多维向量模拟词语映射关系
神经网络Dense + ReLU拟合复杂函数
循环网络RNN / LSTM理解上下文,生成序列
文本生成模型NLP语料+训练让AI具备“说话”的能力