<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Guts' blogs</title><link>https://myblog-sooty-ten.vercel.app/</link><description>Recent content on Guts' blogs</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Mon, 18 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://myblog-sooty-ten.vercel.app/index.xml" rel="self" type="application/rss+xml"/><item><title>About</title><link>https://myblog-sooty-ten.vercel.app/about/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://myblog-sooty-ten.vercel.app/about/</guid><description>&lt;h2 id="about-me">About Me&lt;/h2>
&lt;p>I work on LLM at Tencent Hunyuan.&lt;/p>
&lt;p>I finished my Ph.D. in Australian National University in Canberra, Australia, supervised by Prof. &lt;a href="https://users.cecs.anu.edu.au/~nmb/">Nick Barnes&lt;/a>.&lt;/p>
&lt;p>2021-2023: I conducted research internship in Sensetime, Shanghai AI Lab and Tencent, working on LLMs.&lt;/p>
&lt;p>Before that, I received my Bachelors from both Beijing Institute of Technology(mechanics) and Australian National University(mechatronics).&lt;/p></description></item><item><title>Hello World - 我的第一篇博客</title><link>https://myblog-sooty-ten.vercel.app/posts/hello-world-%E6%88%91%E7%9A%84%E7%AC%AC%E4%B8%80%E7%AF%87%E5%8D%9A%E5%AE%A2/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://myblog-sooty-ten.vercel.app/posts/hello-world-%E6%88%91%E7%9A%84%E7%AC%AC%E4%B8%80%E7%AF%87%E5%8D%9A%E5%AE%A2/</guid><description>&lt;h2 id="前言">前言&lt;/h2>
&lt;p>这是我的个人博客的第一篇文章。本站使用 Hugo 静态站点生成器搭建，部署在 Vercel 上。&lt;/p>
&lt;h2 id="为什么写博客">为什么写博客&lt;/h2>
&lt;p>写博客是一种很好的学习方式：&lt;/p>
&lt;ol>
&lt;li>整理思路，加深理解&lt;/li>
&lt;li>分享知识，帮助他人&lt;/li>
&lt;li>记录成长，回顾过去&lt;/li>
&lt;/ol>
&lt;h2 id="技术栈">技术栈&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>站点生成器&lt;/strong>: Hugo&lt;/li>
&lt;li>&lt;strong>部署平台&lt;/strong>: Vercel&lt;/li>
&lt;li>&lt;strong>主题&lt;/strong>: 自定义极简主题（灵感来自 nil9.net）&lt;/li>
&lt;/ul>
&lt;h2 id="代码示例">代码示例&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-python" data-lang="python">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000;font-weight:bold">def&lt;/span> &lt;span style="color:#900;font-weight:bold">hello&lt;/span>():
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#0086b3">print&lt;/span>(&lt;span style="color:#d14">&amp;#34;Hello, World!&amp;#34;&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000;font-weight:bold">if&lt;/span> __name__ &lt;span style="color:#000;font-weight:bold">==&lt;/span> &lt;span style="color:#d14">&amp;#34;__main__&amp;#34;&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> hello()
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="下一步计划">下一步计划&lt;/h2>
&lt;ul>
&lt;li>&lt;input disabled="" type="checkbox"> 完善个人介绍页面&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> 写第一篇技术文章&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> 配置自定义域名&lt;/li>
&lt;/ul></description></item><item><title>梯度下降优化算法笔记</title><link>https://myblog-sooty-ten.vercel.app/posts/%E6%A2%AF%E5%BA%A6%E4%B8%8B%E9%99%8D%E4%BC%98%E5%8C%96%E7%AE%97%E6%B3%95%E7%AC%94%E8%AE%B0/</link><pubDate>Sun, 17 May 2026 00:00:00 +0000</pubDate><guid>https://myblog-sooty-ten.vercel.app/posts/%E6%A2%AF%E5%BA%A6%E4%B8%8B%E9%99%8D%E4%BC%98%E5%8C%96%E7%AE%97%E6%B3%95%E7%AC%94%E8%AE%B0/</guid><description>&lt;h2 id="sgd">SGD&lt;/h2>
&lt;p>最基本的随机梯度下降：&lt;/p>
&lt;p>$$
\theta_{t+1} = \theta_t - \eta \nabla_\theta J(\theta_t)
$$&lt;/p>
&lt;p>其中 $\eta$ 是学习率，$\nabla_\theta J(\theta_t)$ 是损失函数对参数的梯度。&lt;/p>
&lt;h2 id="momentum">Momentum&lt;/h2>
&lt;p>引入动量加速收敛：&lt;/p>
&lt;p>$$
v_t = \gamma v_{t-1} + \eta \nabla_\theta J(\theta_t)
$$&lt;/p>
&lt;p>$$
\theta_{t+1} = \theta_t - v_t
$$&lt;/p>
&lt;p>通常取 $\gamma = 0.9$。&lt;/p>
&lt;h2 id="adam">Adam&lt;/h2>
&lt;p>结合一阶矩和二阶矩估计的自适应学习率方法：&lt;/p>
&lt;p>$$
m_t = \beta_1 m_{t-1} + (1-\beta_1) g_t
$$&lt;/p>
&lt;p>$$
v_t = \beta_2 v_{t-1} + (1-\beta_2) g_t^2
$$&lt;/p>
&lt;p>偏差修正：&lt;/p>
&lt;p>$$
\hat{m}_t = \frac{m_t}{1 - \beta_1^t}, \quad \hat{v}_t = \frac{v_t}{1 - \beta_2^t}
$$&lt;/p>
&lt;p>参数更新：&lt;/p>
&lt;p>$$
\theta_{t+1} = \theta_t - \frac{\eta}{\sqrt{\hat{v}_t} + \epsilon} \hat{m}_t
$$&lt;/p>
&lt;h2 id="代码实现">代码实现&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-python" data-lang="python">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000;font-weight:bold">import&lt;/span> &lt;span style="color:#555">torch&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000;font-weight:bold">import&lt;/span> &lt;span style="color:#555">torch.optim&lt;/span> &lt;span style="color:#000;font-weight:bold">as&lt;/span> &lt;span style="color:#555">optim&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>model &lt;span style="color:#000;font-weight:bold">=&lt;/span> MyModel()
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#998;font-style:italic"># SGD with momentum&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>optimizer &lt;span style="color:#000;font-weight:bold">=&lt;/span> optim&lt;span style="color:#000;font-weight:bold">.&lt;/span>SGD(model&lt;span style="color:#000;font-weight:bold">.&lt;/span>parameters(), lr&lt;span style="color:#000;font-weight:bold">=&lt;/span>&lt;span style="color:#099">0.01&lt;/span>, momentum&lt;span style="color:#000;font-weight:bold">=&lt;/span>&lt;span style="color:#099">0.9&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#998;font-style:italic"># Adam&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>optimizer &lt;span style="color:#000;font-weight:bold">=&lt;/span> optim&lt;span style="color:#000;font-weight:bold">.&lt;/span>Adam(model&lt;span style="color:#000;font-weight:bold">.&lt;/span>parameters(), lr&lt;span style="color:#000;font-weight:bold">=&lt;/span>&lt;span style="color:#099">1e-3&lt;/span>, betas&lt;span style="color:#000;font-weight:bold">=&lt;/span>(&lt;span style="color:#099">0.9&lt;/span>, &lt;span style="color:#099">0.999&lt;/span>))
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#998;font-style:italic"># Training loop&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000;font-weight:bold">for&lt;/span> epoch &lt;span style="color:#000;font-weight:bold">in&lt;/span> &lt;span style="color:#0086b3">range&lt;/span>(num_epochs):
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> loss &lt;span style="color:#000;font-weight:bold">=&lt;/span> criterion(model(x), y)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> optimizer&lt;span style="color:#000;font-weight:bold">.&lt;/span>zero_grad()
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> loss&lt;span style="color:#000;font-weight:bold">.&lt;/span>backward()
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> optimizer&lt;span style="color:#000;font-weight:bold">.&lt;/span>step()
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="总结">总结&lt;/h2>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>优化器&lt;/th>
 &lt;th>优点&lt;/th>
 &lt;th>缺点&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>SGD&lt;/td>
 &lt;td>简单、泛化好&lt;/td>
 &lt;td>收敛慢&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>Momentum&lt;/td>
 &lt;td>加速收敛&lt;/td>
 &lt;td>需调动量参数&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>Adam&lt;/td>
 &lt;td>自适应、收敛快&lt;/td>
 &lt;td>泛化可能不如 SGD&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table></description></item></channel></rss>