<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>My Blog</title>
    <link>https://blog.techlover.shop/</link>
    <description>Recent content on My Blog</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <atom:link href="https://blog.techlover.shop/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title></title>
      <link>https://blog.techlover.shop/posts/beiyesi/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://blog.techlover.shop/posts/beiyesi/</guid>
      <description>&lt;p&gt;&lt;img alt=&#34;image-20251215122710714&#34; loading=&#34;lazy&#34; src=&#34;beiyesi/image-20251215122710714.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251215135300419&#34; loading=&#34;lazy&#34; src=&#34;beiyesi/image-20251215135300419.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251215140018151&#34; loading=&#34;lazy&#34; src=&#34;beiyesi/image-20251215140018151.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;贝叶斯概率：学习局部概率分享参数&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251215141518465&#34; loading=&#34;lazy&#34; src=&#34;beiyesi/image-20251215141518465.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;所以naive模型认为看看是个正面评价&lt;/p&gt;
&lt;p&gt;参数一般是梯度下降得来的，但是naive贝叶斯是数出来的&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251215142210247&#34; loading=&#34;lazy&#34; src=&#34;beiyesi/image-20251215142210247.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;数出来normalize之后就是最大似然&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251215142355830&#34; loading=&#34;lazy&#34; src=&#34;beiyesi/image-20251215142355830.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251215142456817&#34; loading=&#34;lazy&#34; src=&#34;beiyesi/image-20251215142456817.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251215143152825&#34; loading=&#34;lazy&#34; src=&#34;beiyesi/image-20251215143152825.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251215144940522&#34; loading=&#34;lazy&#34; src=&#34;beiyesi/image-20251215144940522.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;相当于supervised里面的标签数据&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251215150127821&#34; loading=&#34;lazy&#34; src=&#34;beiyesi/image-20251215150127821.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;m-step通过左边调整右边的参数&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251215150148849&#34; loading=&#34;lazy&#34; src=&#34;beiyesi/image-20251215150148849.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251215150216571&#34; loading=&#34;lazy&#34; src=&#34;beiyesi/image-20251215150216571.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://blog.techlover.shop/posts/gnn/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://blog.techlover.shop/posts/gnn/</guid>
      <description>&lt;h1 id=&#34;gnn&#34;&gt;GNN&lt;/h1&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251114165612672&#34; loading=&#34;lazy&#34; src=&#34;gnn/image-20251114165612672.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;聚合的过程就是把邻居的信息贴到自己的身上来&lt;/p&gt;
&lt;h4 id=&#34;更新&#34;&gt;更新&lt;/h4&gt;
&lt;p&gt;A的邻居信息为&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251114165718185&#34; loading=&#34;lazy&#34; src=&#34;gnn/image-20251114165718185.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;a b c 都是可以训练的&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251114165921881&#34; loading=&#34;lazy&#34; src=&#34;gnn/image-20251114165921881.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;A的信息为自己的特征加上 阿尔法 倍的邻居特征&lt;/p&gt;
&lt;h4 id=&#34;多层&#34;&gt;多层&lt;/h4&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251114170503670&#34; loading=&#34;lazy&#34; src=&#34;gnn/image-20251114170503670.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251114170619116&#34; loading=&#34;lazy&#34; src=&#34;gnn/image-20251114170619116.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://blog.techlover.shop/posts/lstmandattention/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://blog.techlover.shop/posts/lstmandattention/</guid>
      <description>&lt;h2 id=&#34;lstmimage-20251102140227071&#34;&gt;lstm&lt;img alt=&#34;image-20251102140227071&#34; loading=&#34;lazy&#34; src=&#34;lstm/image-20251102140227071.png&#34;&gt;&lt;/h2&gt;
&lt;p&gt;lstm除了传递 hidden state以外还会传递memory cell&lt;/p&gt;
&lt;p&gt;lstm的计算非常冗长&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251102141215244&#34; loading=&#34;lazy&#34; src=&#34;lstm/image-20251102141215244.png&#34;&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;更稳的梯度传递&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;LSTM 有“细胞状态”（cell state）走&lt;strong&gt;加性通路&lt;/strong&gt;，再配合输入门/遗忘门/输出门，能保留或丢弃信息，显著缓解梯度消失；普通 RNN 的递推是乘性累积，长序列上梯度很容易衰减或爆炸。&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;记忆与选择性更新&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;通过三种门控：
• &lt;strong&gt;遗忘门&lt;/strong&gt;：决定保留多少旧记忆；
• &lt;strong&gt;输入门&lt;/strong&gt;：决定当前时刻写入多少新信息；
• &lt;strong&gt;输出门&lt;/strong&gt;：决定暴露多少内部记忆到隐藏状态。&lt;/li&gt;
&lt;li&gt;这让模型能&lt;strong&gt;长期存储关键信息&lt;/strong&gt;、&lt;strong&gt;屏蔽噪声&lt;/strong&gt;，比 RNN 更擅长跨长距离依赖的任务（如机器翻译、语音、长文本建模等）。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251102141355585&#34; loading=&#34;lazy&#34; src=&#34;lstm/image-20251102141355585.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;所有的t都指的是时间点&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251102142508862&#34; loading=&#34;lazy&#34; src=&#34;lstm/image-20251102142508862.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251102142603439&#34; loading=&#34;lazy&#34; src=&#34;lstm/image-20251102142603439.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251102142722883&#34; loading=&#34;lazy&#34; src=&#34;lstm/image-20251102142722883.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251102142731601&#34; loading=&#34;lazy&#34; src=&#34;lstm/image-20251102142731601.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;​    &lt;img alt=&#34;image-20251102144029191&#34; loading=&#34;lazy&#34; src=&#34;lstm/image-20251102144029191.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251102144042023&#34; loading=&#34;lazy&#34; src=&#34;lstm/image-20251102144042023.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;计算新的hidden state&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251102144058760&#34; loading=&#34;lazy&#34; src=&#34;lstm/image-20251102144058760.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;反向传播&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251102145126628&#34; loading=&#34;lazy&#34; src=&#34;lstm/image-20251102145126628.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251102145146882&#34; loading=&#34;lazy&#34; src=&#34;lstm/image-20251102145146882.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251102145327624&#34; loading=&#34;lazy&#34; src=&#34;lstm/image-20251102145327624.png&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;attention&#34;&gt;attention&lt;/h2&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251102145616212&#34; loading=&#34;lazy&#34; src=&#34;lstmandattention/image-20251102145616212.png&#34;&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;strong&gt;标记&lt;/strong&gt;&lt;/th&gt;
          &lt;th&gt;&lt;strong&gt;完整名称 (英文)&lt;/strong&gt;&lt;/th&gt;
          &lt;th&gt;&lt;strong&gt;完整名称 (中文)&lt;/strong&gt;&lt;/th&gt;
          &lt;th&gt;&lt;strong&gt;在模型中的作用&lt;/strong&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;$\text{BOS}$&lt;/td&gt;
          &lt;td&gt;&lt;strong&gt;B&lt;/strong&gt;egin &lt;strong&gt;O&lt;/strong&gt;f &lt;strong&gt;S&lt;/strong&gt;equence&lt;/td&gt;
          &lt;td&gt;序列开始标记&lt;/td&gt;
          &lt;td&gt;&lt;strong&gt;解码器的&lt;/strong&gt;第一个&lt;strong&gt;输入&lt;/strong&gt;，启动生成过程。&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;$\text{EOS}$&lt;/td&gt;
          &lt;td&gt;&lt;strong&gt;E&lt;/strong&gt;nd &lt;strong&gt;O&lt;/strong&gt;f &lt;strong&gt;S&lt;/strong&gt;equence&lt;/td&gt;
          &lt;td&gt;序列结束标记&lt;/td&gt;
          &lt;td&gt;&lt;strong&gt;解码器的&lt;/strong&gt;预测&lt;strong&gt;输出&lt;/strong&gt;，用于&lt;strong&gt;终止&lt;/strong&gt;生成过程。&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251102211943127&#34; loading=&#34;lazy&#34; src=&#34;lstmandattention/image-20251102211943127.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;上要给时间节点的输出会当作下一个时间节点的输入&lt;/p&gt;
&lt;h4 id=&#34;attention-概览&#34;&gt;attention 概览&lt;/h4&gt;
&lt;p&gt;句子长的话&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251102212338069&#34; loading=&#34;lazy&#34; src=&#34;lstmandattention/image-20251102212338069.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;context vector 为告诉解码器对齐的词是什么&lt;/p&gt;
&lt;h4 id=&#34;attention-细节&#34;&gt;attention 细节&lt;/h4&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251102214337137&#34; loading=&#34;lazy&#34; src=&#34;lstmandattention/image-20251102214337137.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://blog.techlover.shop/posts/rnn/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://blog.techlover.shop/posts/rnn/</guid>
      <description>&lt;p&gt;&lt;img alt=&#34;image-20251031134852606&#34; loading=&#34;lazy&#34; src=&#34;rnn/image-20251031134852606.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34; image-20251031134918744&#34; loading=&#34;lazy&#34; src=&#34;rnn/image-20251031134918744.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251031135306643&#34; loading=&#34;lazy&#34; src=&#34;rnn/image-20251031135306643.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251031135352922&#34; loading=&#34;lazy&#34; src=&#34;rnn/image-20251031135352922.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251031135553040&#34; loading=&#34;lazy&#34; src=&#34;rnn/image-20251031135553040.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251031140054080&#34; loading=&#34;lazy&#34; src=&#34;rnn/image-20251031140054080.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251031140443703&#34; loading=&#34;lazy&#34; src=&#34;rnn/image-20251031140443703.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;注：初始参数为随机生成&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251031142050061&#34; loading=&#34;lazy&#34; src=&#34;rnn/image-20251031142050061.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251031213225065&#34; loading=&#34;lazy&#34; src=&#34;rnn/image-20251031213225065.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251031213234625&#34; loading=&#34;lazy&#34; src=&#34;rnn/image-20251031213234625.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251031213257410&#34; loading=&#34;lazy&#34; src=&#34;rnn/image-20251031213257410.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;以上为正向传播过程&lt;/p&gt;
&lt;p&gt;接下来为反向传播过程&lt;/p&gt;
&lt;h4 id=&#34;反向&#34;&gt;反向&lt;/h4&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251031213457258&#34; loading=&#34;lazy&#34; src=&#34;rnn/image-20251031213457258.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251031214409367&#34; loading=&#34;lazy&#34; src=&#34;rnn/image-20251031214409367.png&#34;&gt;&lt;/p&gt;
&lt;h5 id=&#34;穿越时&#34;&gt;穿越时&lt;/h5&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251031214503189&#34; loading=&#34;lazy&#34; src=&#34;rnn/image-20251031214503189.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251031214530032&#34; loading=&#34;lazy&#34; src=&#34;rnn/image-20251031214530032.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;第一轮的训练结果，默认学习率为1的情况下第一列减去第二列就是一次训练的结果&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251031214726615&#34; loading=&#34;lazy&#34; src=&#34;rnn/image-20251031214726615.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://blog.techlover.shop/posts/%E5%87%BD%E6%95%B0/%E5%90%84%E7%B1%BB%E5%87%BD%E6%95%B0/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://blog.techlover.shop/posts/%E5%87%BD%E6%95%B0/%E5%90%84%E7%B1%BB%E5%87%BD%E6%95%B0/</guid>
      <description>&lt;h3 id=&#34;softmax&#34;&gt;softmax&lt;/h3&gt;
&lt;p&gt;&lt;img alt=&#34;image-20250727205830679&#34; loading=&#34;lazy&#34; src=&#34;%E5%90%84%E7%B1%BB%E5%87%BD%E6%95%B0/image-20250727205830679.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20250727210056516&#34; loading=&#34;lazy&#34; src=&#34;%E5%90%84%E7%B1%BB%E5%87%BD%E6%95%B0/image-20250727210056516.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;归一化&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20250727212449071&#34; loading=&#34;lazy&#34; src=&#34;%E5%90%84%E7%B1%BB%E5%87%BD%E6%95%B0/image-20250727212449071.png&#34;&gt;&lt;img alt=&#34;image-20250727212533918&#34; loading=&#34;lazy&#34; src=&#34;%E5%90%84%E7%B1%BB%E5%87%BD%E6%95%B0/image-20250727212533918.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20250727213127638&#34; loading=&#34;lazy&#34; src=&#34;%E5%90%84%E7%B1%BB%E5%87%BD%E6%95%B0/image-20250727213127638.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;hard max 非常粗暴设置成1000 softmax 更加优雅，设置为数值&lt;/p&gt;
&lt;h3 id=&#34;一元线性回归&#34;&gt;一元线性回归&lt;/h3&gt;
&lt;p&gt;&lt;img alt=&#34;image-20250728160013047&#34; loading=&#34;lazy&#34; src=&#34;%E5%90%84%E7%B1%BB%E5%87%BD%E6%95%B0/image-20250728160013047.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;回归：指回归到均值&lt;/p&gt;
&lt;h3 id=&#34;一元线性回归增加偏置值&#34;&gt;一元线性回归增加偏置值&lt;/h3&gt;
&lt;p&gt;&lt;img alt=&#34;image-20250728190621921&#34; loading=&#34;lazy&#34; src=&#34;%E5%90%84%E7%B1%BB%E5%87%BD%E6%95%B0/image-20250728190621921.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20250728193201993&#34; loading=&#34;lazy&#34; src=&#34;%E5%90%84%E7%B1%BB%E5%87%BD%E6%95%B0/image-20250728193201993.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20250728193209707&#34; loading=&#34;lazy&#34; src=&#34;%E5%90%84%E7%B1%BB%E5%87%BD%E6%95%B0/image-20250728193209707.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20250728195336133&#34; loading=&#34;lazy&#34; src=&#34;%E5%90%84%E7%B1%BB%E5%87%BD%E6%95%B0/image-20250728195336133.png&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;梯度下降&#34;&gt;梯度下降&lt;/h3&gt;
&lt;p&gt;&lt;img alt=&#34;image-20250729151052538&#34; loading=&#34;lazy&#34; src=&#34;%E5%90%84%E7%B1%BB%E5%87%BD%E6%95%B0/image-20250729151052538.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;loss 函数位于最小值的附近，f&amp;rsquo; 导数越来越小，趋于平缓，此时 x - f&amp;rsquo; 的会越来越趋近于最小值，且加减的幅度越来越精细，方便进行微调，达到全局最低点&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20250729151521303&#34; loading=&#34;lazy&#34; src=&#34;%E5%90%84%E7%B1%BB%E5%87%BD%E6%95%B0/image-20250729151521303.png&#34;&gt;学习率防止步长过大或者过小&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20250729154447829&#34; loading=&#34;lazy&#34; src=&#34;%E5%90%84%E7%B1%BB%E5%87%BD%E6%95%B0/image-20250729154447829.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20250729162733234&#34; loading=&#34;lazy&#34; src=&#34;%E5%90%84%E7%B1%BB%E5%87%BD%E6%95%B0/image-20250729162733234.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;学习率需要人工矫正&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20250729163845560&#34; loading=&#34;lazy&#34; src=&#34;%E5%90%84%E7%B1%BB%E5%87%BD%E6%95%B0/image-20250729163845560.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;参数足够大的话，一般不会下降到局部的小坑中&lt;/p&gt;
&lt;h4 id=&#34;2&#34;&gt;2&lt;/h4&gt;
&lt;p&gt;&lt;img alt=&#34;image-20250729164455023&#34; loading=&#34;lazy&#34; src=&#34;%E5%90%84%E7%B1%BB%E5%87%BD%E6%95%B0/image-20250729164455023.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;两个feature一个偏置&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20250729165846098&#34; loading=&#34;lazy&#34; src=&#34;%E5%90%84%E7%B1%BB%E5%87%BD%E6%95%B0/image-20250729165846098.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20250729165930801&#34; loading=&#34;lazy&#34; src=&#34;%E5%90%84%E7%B1%BB%E5%87%BD%E6%95%B0/image-20250729165930801.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20250729165955772&#34; loading=&#34;lazy&#34; src=&#34;%E5%90%84%E7%B1%BB%E5%87%BD%E6%95%B0/image-20250729165955772.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20250729200641735&#34; loading=&#34;lazy&#34; src=&#34;%E5%90%84%E7%B1%BB%E5%87%BD%E6%95%B0/image-20250729200641735.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20250729200649767&#34; loading=&#34;lazy&#34; src=&#34;%E5%90%84%E7%B1%BB%E5%87%BD%E6%95%B0/image-20250729200649767.png&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;pytorch&#34;&gt;pytorch&lt;/h3&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;线性层 / 本例中的 &lt;code&gt;inputs @ w&lt;/code&gt;&lt;/th&gt;
          &lt;th&gt;卷积层 / filter&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;输入形状&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;[batch, features]&lt;/code&gt; (这里 5 × 2)&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;[batch, channels, H, W]&lt;/code&gt; (例如图像)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;权重形状&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;[features, out_dim]&lt;/code&gt; (这里 2 × 1)&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;[out_channels, in_channels, kH, kW]&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;运算方式&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;对 &lt;strong&gt;整行特征一次性&lt;/strong&gt; 做向量点积 → 得到输出标量（或向量）&lt;/td&gt;
          &lt;td&gt;在输入张量上 &lt;strong&gt;滑动窗口&lt;/strong&gt;，每次取一个局部 patch，与卷积核做元素乘加，再把结果放到对应输出位置&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;权重共享&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;&lt;strong&gt;不共享&lt;/strong&gt;：每个特征都有自己唯一的权重系数&lt;/td&gt;
          &lt;td&gt;&lt;strong&gt;共享&lt;/strong&gt;：同一个卷积核在整幅图像（或序列）上重复使用&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;几何结构&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;忽略空间关系，只把特征当作独立维度&lt;/td&gt;
          &lt;td&gt;保留空间/时序结构，用局部感受野提取模式&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;结果尺寸&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;[batch, out_dim]&lt;/code&gt;（这里 5 × 1）&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;[batch, out_channels, H&#39;, W&#39;]&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;一元逻辑回归&#34;&gt;一元逻辑回归&lt;/h3&gt;
&lt;p&gt;&lt;img alt=&#34;image-20250730105302930&#34; loading=&#34;lazy&#34; src=&#34;%E5%90%84%E7%B1%BB%E5%87%BD%E6%95%B0/image-20250730105302930.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://blog.techlover.shop/posts/%E5%8A%A0%E5%AF%86%E6%B5%81%E9%87%8F%E9%9A%90%E9%A9%AC%E5%B0%94%E5%8F%AF%E5%A4%AB%E5%8F%AF%E8%A1%8C%E6%80%A7/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://blog.techlover.shop/posts/%E5%8A%A0%E5%AF%86%E6%B5%81%E9%87%8F%E9%9A%90%E9%A9%AC%E5%B0%94%E5%8F%AF%E5%A4%AB%E5%8F%AF%E8%A1%8C%E6%80%A7/</guid>
      <description>&lt;p&gt;下面从&lt;strong&gt;可行性&lt;/strong&gt;与&lt;strong&gt;性能&lt;/strong&gt;两条主线，把“隐马尔可夫模型（HMM）用于网络加密流量识别”做一次尽量全面、细致、深入的拆解（偏研究与工程落地视角）。内容默认用于&lt;strong&gt;合法合规&lt;/strong&gt;的网络运维、安全检测与研究评测场景。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;1-问题到底在识别什么&#34;&gt;1) 问题到底在“识别”什么&lt;/h2&gt;
&lt;p&gt;“加密流量识别”通常不等同于“解密”，而是基于&lt;strong&gt;可观测的侧信道/元数据&lt;/strong&gt;去做分类或检测。常见目标层级（难度递增）：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;协议/隧道层&lt;/strong&gt;：TLS/QUIC/SSH/VPN/Tor…（相对更可行）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;应用/服务层&lt;/strong&gt;：YouTube/Zoom/网盘/IM…（中等难度）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;细粒度内容/网站指纹&lt;/strong&gt;：同一CDN下的网站、同一APP内不同功能（最难、最不稳）&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;综述类工作普遍指出：HTTP/2、QUIC、多路复用、流量伪装/隧道会显著抬高难度与不确定性。&lt;a href=&#34;https://www.joconline.com.cn/zh/article/doi/10.11959/j.issn.1000-436x.2016187/&#34;&gt;京东在线+1&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;2-加密后还剩下什么信息hmm为什么对口&#34;&gt;2) 加密后还剩下什么信息？HMM为什么“对口”&lt;/h2&gt;
&lt;p&gt;即便负载加密，网络侧通常仍能拿到一些序列信号，例如：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;包长序列&lt;/strong&gt;（packet length sequence）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;方向序列&lt;/strong&gt;（上行/下行）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;到达间隔/时序&lt;/strong&gt;（inter-arrival time）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;突发/静默结构&lt;/strong&gt;（burstiness）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;握手阶段的可见字段/长度结构&lt;/strong&gt;（例如 TLS 的部分握手交互“形状”；QUIC则更受限）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这些恰好是&lt;strong&gt;时序/序列数据&lt;/strong&gt;。HMM的强项就是：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;用一组“隐状态”（可理解为通信的阶段/模式）去生成观测序列，从而用“序列整体的概率”来做分类。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;早期经典工作就展示了：仅用“包大小与时序”的序列建模，HMM可在加密/隧道背景下推断协议行为并做分类。&lt;a href=&#34;https://jmlr.org/papers/volume7/wright06a/wright06a.pdf&#34;&gt;机器学习研究杂志&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;3-hmm在加密流量识别中的典型建模方式&#34;&gt;3) HMM在加密流量识别中的典型建模方式&lt;/h2&gt;
&lt;h3 id=&#34;31-观测序列怎么设计决定上限&#34;&gt;3.1 观测序列怎么设计（决定上限）&lt;/h3&gt;
&lt;p&gt;常见做法是把一个流/会话映射为长度为 TTT 的序列 O1:TO_{1:T}O1:T：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;离散HMM&lt;/strong&gt;：把包长、时间间隔分桶（binning），或向量量化（VQ）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;连续HMM（GaussianHMM / GMM-HMM）&lt;/strong&gt;：直接用连续值建模观测分布；若同一隐状态下观测是多峰分布，用GMM更合适&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;双向流&lt;/strong&gt;：把方向编码进符号（例如“上行包长为正、下行为负”），或做“上下行各一条序列再融合”&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Wright 等人在协议行为推断中使用了&lt;strong&gt;profile HMM&lt;/strong&gt;并扩展了向量量化以融合包长+时序，这个思路对“加密流量=只能看形状”非常典型。&lt;a href=&#34;https://jmlr.org/papers/volume7/wright06a/wright06a.pdf&#34;&gt;机器学习研究杂志&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;32-分类策略生成式的优势&#34;&gt;3.2 分类策略（生成式的优势）&lt;/h3&gt;
&lt;p&gt;加密流量识别里常见是“每类一个HMM”：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;训练：对每个类别 ccc 训练参数 θc\theta_cθc&lt;/li&gt;
&lt;li&gt;推断：对未知序列算对数似然 log⁡p(O∣θc)\log p(O|\theta_c)logp(O∣θc)，取最大者
或做阈值判断（低于阈值当作未知类/异常）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这类生成式框架对&lt;strong&gt;样本量较小&lt;/strong&gt;、&lt;strong&gt;需要解释性/可审计&lt;/strong&gt;、&lt;strong&gt;需要在线打分&lt;/strong&gt;的场景很友好。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;4-可行性分析hmm到底适合哪些加密识别任务&#34;&gt;4) 可行性分析：HMM到底适合哪些“加密识别任务”&lt;/h2&gt;
&lt;h3 id=&#34;更可行工程上更容易做稳&#34;&gt;更可行（工程上更容易做稳）&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;粗粒度：协议族/隧道识别&lt;/strong&gt;（TLS vs SSH vs Tor vs VPN…）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;场景固定：企业网/园区网内“已知应用集合”识别&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;恶意加密流量检测&lt;/strong&gt;：例如“加密C2/恶意通信”相对更像“行为模式”问题&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;例如《软件学报》有工作用 &lt;strong&gt;profile HMM&lt;/strong&gt;做“跨协议的加密恶意流量检测”，强调在不同条件下有效、且设计了规避检测对抗并验证抗规避能力。&lt;a href=&#34;https://jos.org.cn/html/2022/7/6282.htm&#34;&gt;软件学报&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;中等可行能做但要接受漂移与误差&#34;&gt;中等可行（能做，但要接受漂移与误差）&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;应用级分类&lt;/strong&gt;：尤其当不同应用的交互节奏差异明显（VoIP、视频、下载、聊天等）&lt;/li&gt;
&lt;li&gt;可以借助&lt;strong&gt;握手可见交互字段&lt;/strong&gt;增强：例如有研究利用 SSL 交互阶段字段作为观测序列并用HMM做应用识别，报告其对典型加密应用有更好的性能与鲁棒性。&lt;a href=&#34;https://www.ecice06.com/CN/Y2020/V46/I4/151&#34;&gt;易采网&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;很难做稳hmm不占优甚至整体方法论都很难&#34;&gt;很难做稳（HMM不占优，甚至整体方法论都很难）&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;同CDN下细粒度网站/内容指纹&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;强对抗/强伪装&lt;/strong&gt;：主动padding、定速整形、随机化分片策略&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;QUIC/HTTP3 多路复用 + 频繁网络环境变化&lt;/strong&gt;：序列“形状”本身会被链路条件改变&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&#34;5-性能分析准确率之外更关键的是稳不稳&#34;&gt;5) 性能分析：准确率之外，更关键的是“稳不稳”&lt;/h2&gt;
&lt;h3 id=&#34;51-经典结果能说明什么&#34;&gt;5.1 经典结果能说明什么&lt;/h3&gt;
&lt;p&gt;Wright 等的JMLR论文报告：对若干协议在混合流量中分类准确率可超过 90%，在“单连接细粒度分类”上多数协议也能超过 80%，并能在某些加密隧道场景估计连接数，平均误差优于约 20%。&lt;a href=&#34;https://jmlr.org/papers/volume7/wright06a/wright06a.pdf&#34;&gt;机器学习研究杂志&lt;/a&gt;
这些结果的意义在于：&lt;strong&gt;序列形状确实携带可分信息，HMM能捕捉“阶段性结构”。&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://blog.techlover.shop/posts/%E9%9A%90%E9%A9%AC%E5%B0%94%E5%8F%AF%E5%A4%AB/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://blog.techlover.shop/posts/%E9%9A%90%E9%A9%AC%E5%B0%94%E5%8F%AF%E5%A4%AB/</guid>
      <description>&lt;h2 id=&#34;likelihood&#34;&gt;likelihood&lt;/h2&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251215152126276&#34; loading=&#34;lazy&#34; src=&#34;%E9%9A%90%E9%A9%AC%E5%B0%94%E5%8F%AF%E5%A4%AB/image-20251215152126276.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251215152132029&#34; loading=&#34;lazy&#34; src=&#34;%E9%9A%90%E9%A9%AC%E5%B0%94%E5%8F%AF%E5%A4%AB/image-20251215152132029.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251215152138202&#34; loading=&#34;lazy&#34; src=&#34;%E9%9A%90%E9%A9%AC%E5%B0%94%E5%8F%AF%E5%A4%AB/image-20251215152138202.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251215152352472&#34; loading=&#34;lazy&#34; src=&#34;%E9%9A%90%E9%A9%AC%E5%B0%94%E5%8F%AF%E5%A4%AB/image-20251215152352472.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251215163856080&#34; loading=&#34;lazy&#34; src=&#34;%E9%9A%90%E9%A9%AC%E5%B0%94%E5%8F%AF%E5%A4%AB/image-20251215163856080.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251215194405358&#34; loading=&#34;lazy&#34; src=&#34;%E9%9A%90%E9%A9%AC%E5%B0%94%E5%8F%AF%E5%A4%AB/image-20251215194405358.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251215194232466&#34; loading=&#34;lazy&#34; src=&#34;%E9%9A%90%E9%A9%AC%E5%B0%94%E5%8F%AF%E5%A4%AB/image-20251215194232466.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251215195021191&#34; loading=&#34;lazy&#34; src=&#34;%E9%9A%90%E9%A9%AC%E5%B0%94%E5%8F%AF%E5%A4%AB/image-20251215195021191.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251215195122014&#34; loading=&#34;lazy&#34; src=&#34;%E9%9A%90%E9%A9%AC%E5%B0%94%E5%8F%AF%E5%A4%AB/image-20251215195122014.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;横轴为tracitions&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251215195208989&#34; loading=&#34;lazy&#34; src=&#34;%E9%9A%90%E9%A9%AC%E5%B0%94%E5%8F%AF%E5%A4%AB/image-20251215195208989.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;数轴为emissions&lt;/p&gt;
&lt;p&gt;两个表格初始为随机生成的&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251216205941011&#34; loading=&#34;lazy&#34; src=&#34;%E9%9A%90%E9%A9%AC%E5%B0%94%E5%8F%AF%E5%A4%AB/image-20251216205941011.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251216205952361&#34; loading=&#34;lazy&#34; src=&#34;%E9%9A%90%E9%A9%AC%E5%B0%94%E5%8F%AF%E5%A4%AB/image-20251216205952361.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;全概率公式&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251216211049319&#34; loading=&#34;lazy&#34; src=&#34;%E9%9A%90%E9%A9%AC%E5%B0%94%E5%8F%AF%E5%A4%AB/image-20251216211049319.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;应该使用动态规划去优化&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251216211235928&#34; loading=&#34;lazy&#34; src=&#34;%E9%9A%90%E9%A9%AC%E5%B0%94%E5%8F%AF%E5%A4%AB/image-20251216211235928.png&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;decoding&#34;&gt;decoding&lt;/h2&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251216213503906&#34; loading=&#34;lazy&#34; src=&#34;%E9%9A%90%E9%A9%AC%E5%B0%94%E5%8F%AF%E5%A4%AB/image-20251216213503906.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;max（1，2，3）&lt;/p&gt;
&lt;p&gt;得到最大的，然后把线路高亮&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251216214500728&#34; loading=&#34;lazy&#34; src=&#34;%E9%9A%90%E9%A9%AC%E5%B0%94%E5%8F%AF%E5%A4%AB/image-20251216214500728.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251216214610452&#34; loading=&#34;lazy&#34; src=&#34;%E9%9A%90%E9%A9%AC%E5%B0%94%E5%8F%AF%E5%A4%AB/image-20251216214610452.png&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;inference&#34;&gt;inference&lt;/h2&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251216220637868&#34; loading=&#34;lazy&#34; src=&#34;%E9%9A%90%E9%A9%AC%E5%B0%94%E5%8F%AF%E5%A4%AB/image-20251216220637868.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251216220645644&#34; loading=&#34;lazy&#34; src=&#34;%E9%9A%90%E9%A9%AC%E5%B0%94%E5%8F%AF%E5%A4%AB/image-20251216220645644.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251217133901246&#34; loading=&#34;lazy&#34; src=&#34;%E9%9A%90%E9%A9%AC%E5%B0%94%E5%8F%AF%E5%A4%AB/image-20251217133901246.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251217135615981&#34; loading=&#34;lazy&#34; src=&#34;%E9%9A%90%E9%A9%AC%E5%B0%94%E5%8F%AF%E5%A4%AB/image-20251217135615981.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251217135625999&#34; loading=&#34;lazy&#34; src=&#34;%E9%9A%90%E9%A9%AC%E5%B0%94%E5%8F%AF%E5%A4%AB/image-20251217135625999.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251217135739904&#34; loading=&#34;lazy&#34; src=&#34;%E9%9A%90%E9%A9%AC%E5%B0%94%E5%8F%AF%E5%A4%AB/image-20251217135739904.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251217135744855&#34; loading=&#34;lazy&#34; src=&#34;%E9%9A%90%E9%A9%AC%E5%B0%94%E5%8F%AF%E5%A4%AB/image-20251217135744855.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251217140755695&#34; loading=&#34;lazy&#34; src=&#34;%E9%9A%90%E9%A9%AC%E5%B0%94%E5%8F%AF%E5%A4%AB/image-20251217140755695.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20251217153927364&#34; loading=&#34;lazy&#34; src=&#34;%E9%9A%90%E9%A9%AC%E5%B0%94%E5%8F%AF%E5%A4%AB/image-20251217153927364.png&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;learning&#34;&gt;learning&lt;/h2&gt;</description>
    </item>
  </channel>
</rss>
