Zhanbo's Blog

Articles / Notes

Writing

Practical notes on Java backend engineering, Spring systems, AI agents, RAG, and the implementation details that are hard to preserve in a resume.

Algorithm/Learning Notes/11 min read/2026-09-13

CS546 Learning Notes:从梯度裁剪到 LSTM、GRU,串起一次参数更新

上次学到 RNN 的 BPTT,知道梯度沿时间反传时会连续相乘,也算出了 $0.2^5=0.00032$。但看到 gradient clipping 时,我发现自己还没有真正理解:梯度爆炸到底有什么问题,为什么要裁剪? 这次从这个问题出发,逐步理解 LSTM 和 GRU 的门控机制,最后把 BPTT 与 Optimizer 的分工接起来。最有收获的地方,是分清几组容易混淆的概念:记忆和输出、门值和参数、沿路径相乘和多路径相加。

Read note
Learning Notes/Algorithm/14 min

CS546 Learning Notes:从 Word Embedding 到 RNN,理解 BPTT 与梯度消失

上次把 Softmax、Cross-entropy 和一个 ReLU MLP 的前向、反向传播手算了一遍。这次继续问:如果输入是一句话,文字怎么变成数字?句子长度不一样、词序不一样,模型又怎么处理? 今天走通的主线是:token → embedding → RNN hidden state → 下一个词的预测 → loss → 沿时间反向传播。最需要停下来推的地方,是 embedding 梯度里的转置,以及为什么 RNN 的梯度传得越远可能越小。

Algorithm/Learning Notes/15 min

CS546 Learning Notes:从 Softmax 到 MLP,终于把反向传播算通了

上次我学到的是 Linear Regression、Gradient Descent 和 SGD。这次继续往下:如果预测的不是房价,而是正面、负面、中性三个类别,模型怎么输出?加上 hidden layer 以后,loss 又怎么影响前面的参数? 今天最有收获的是把公式拆成自己能算的步骤,尤其是交叉熵的梯度、反向传播里的转置,以及“算到隐藏层的梯度”和“更新参数”之间的区别。这篇笔记按我们实际提问和计算的顺序整理,后面再把完整公式放在一起。

Algorithm/Learning Notes/12 min

CS546 Learning Notes:原来这就是更新参数,从 Linear Regression 到 SGD

CS546 从第二节课开始,我就感觉有些跟不上了。很多东西本科听过概念,但没有实际用过,课件一换成公式就开始头晕。 所以这次先停下来,用几个数字把训练过程算一遍。这篇记录的是我从“这个就是更新参数的意思吗”到能分清 batch、step、epoch 和 SGD 的过程,还没有进入多层神经网络。

Profile

Master's student in Computer Science at the University of Illinois Urbana-Champaign, bachelor's graduate in Computer Science and Technology from Capital Normal University (Rank 5%). Focused on AI application development and Java backend engineering, with practical experience in microservices architecture, Docker sandboxing, and LLM integration. Participated in the autonomous driving simulation project at NEVC, and led the development of an online programming training platform and an AI music creation platform.

Education

University of Illinois Urbana-Champaign

2026-08 / 2028-05

Master, Computer Science

Rank: N/A

Capital Normal University

2022-09 / 2026-07

Bachelor, Computer Science and Technology

Rank: 5%

Focus

AI Application Development

Building intelligent applications based on large language models, exploring cutting-edge AI engineering practices such as RAG and Agents.

Java Backend Development

Building high-performance, scalable enterprise backend services, proficient in the Spring ecosystem and microservices architecture.

GITHUB ACTIVITY

GitHub contribution activity and LeetCode progress

--
Contributions, past year
--
Active days
--
Repos
OctNovDecJanFebMarAprMayJunJulAugSep
-- contributionsLess - More
LeetCode
--
Problems solved
leetcode.cn
--
Easy
--
Medium
--
Hard
Loading LeetCode stats...

Selected Systems

Projects as technical records.

A smaller set of systems framed by architecture, implementation scope, and tradeoffs instead of product-marketing cards.

01
Microservices/Java + Spring Cloud Alibaba

在线编程训练平台

基于微服务架构与大语言模型的智能刷题系统

基于 Spring Cloud Alibaba 搭建的微服务架构在线判题与智能问答系统,支持多语言代码沙箱、智能问答与可扩展判题策略。

JavaSpring Cloud AlibabaSpring BootNacosDockerMySQLRedis

Implementation notes

  • 基于 Spring Cloud Alibaba 搭建微服务架构,拆分为用户服务、题目服务、判题服务、智能问答服务等模块
  • 通过 Nacos 实现服务注册与发现,保障微服务间的高可用调用
  • 设计在线判题模块,基于 Docker 构建代码执行沙箱,实现用户代码隔离运行、结果评测与执行信息记录
02
AI application/Spring Boot + FastAPI

MusicLens AI 音乐创作与分析平台

AI 驱动的音乐生成、情绪分析与作品管理平台

前后端分离的 AI 音乐平台,提供音乐生成、作品管理、情绪分析、AI 封面生成与图片文字识别等能力。

Spring BootFastAPIPythonAI APIVue.jsMySQL

Implementation notes

  • 设计并实现前后端分离架构,基于 Spring Boot 构建用户端与管理端后端服务
  • 搭建独立 AI 服务模块,基于 FastAPI 封装 Python AI 能力,完成音乐情绪分析等智能功能
  • 集成第三方 AI 服务,实现基于提示词和歌词的音乐生成、AI 封面生成以及图片文字识别