贝叶斯概率:学习局部概率分享参数 所以naive模型认为看看是个正面评价 参数一般是梯度下降得来的,但是naive贝叶斯是数出来的 数出来normalize之后就是最大似然 相当于supervised里面的标签数据 m-step通过左边调整右边的参数
GNN 聚合的过程就是把邻居的信息贴到自己的身上来 更新 A的邻居信息为 a b c 都是可以训练的 A的信息为自己的特征加上 阿尔法 倍的邻居特征 多层
lstm lstm除了传递 hidden state以外还会传递memory cell lstm的计算非常冗长 更稳的梯度传递 LSTM 有“细胞状态”(cell state)走加性通路,再配合输入门/遗忘门/输出门,能保留或丢弃信息,显著缓解梯度消失;普通 RNN 的递推是乘性累积,长序列上梯度很容易衰减或爆炸。 记忆与选择性更新 通过三种门控: • 遗忘门:决定保留多少旧记忆; • 输入门:决定当前时刻写入多少新信息; • 输出门:决定暴露多少内部记忆到隐藏状态。 这让模型能长期存储关键信息、屏蔽噪声,比 RNN 更擅长跨长距离依赖的任务(如机器翻译、语音、长文本建模等)。 所有的t都指的是时间点 计算新的hidden state 反向传播 attention 标记 完整名称 (英文) 完整名称 (中文) 在模型中的作用 $\text{BOS}$ Begin Of Sequence 序列开始标记 解码器的第一个输入,启动生成过程。 $\text{EOS}$ End Of Sequence 序列结束标记 解码器的预测输出,用于终止生成过程。 上要给时间节点的输出会当作下一个时间节点的输入 attention 概览 句子长的话 context vector 为告诉解码器对齐的词是什么 attention 细节 ...
注:初始参数为随机生成 以上为正向传播过程 接下来为反向传播过程 反向 穿越时 第一轮的训练结果,默认学习率为1的情况下第一列减去第二列就是一次训练的结果
softmax 归一化 hard max 非常粗暴设置成1000 softmax 更加优雅,设置为数值 一元线性回归 回归:指回归到均值 一元线性回归增加偏置值 梯度下降 loss 函数位于最小值的附近,f’ 导数越来越小,趋于平缓,此时 x - f’ 的会越来越趋近于最小值,且加减的幅度越来越精细,方便进行微调,达到全局最低点 学习率防止步长过大或者过小 学习率需要人工矫正 参数足够大的话,一般不会下降到局部的小坑中 2 两个feature一个偏置 pytorch 线性层 / 本例中的 inputs @ w 卷积层 / filter 输入形状 [batch, features] (这里 5 × 2) [batch, channels, H, W] (例如图像) 权重形状 [features, out_dim] (这里 2 × 1) [out_channels, in_channels, kH, kW] 运算方式 对 整行特征一次性 做向量点积 → 得到输出标量(或向量) 在输入张量上 滑动窗口,每次取一个局部 patch,与卷积核做元素乘加,再把结果放到对应输出位置 权重共享 不共享:每个特征都有自己唯一的权重系数 共享:同一个卷积核在整幅图像(或序列)上重复使用 几何结构 忽略空间关系,只把特征当作独立维度 保留空间/时序结构,用局部感受野提取模式 结果尺寸 [batch, out_dim](这里 5 × 1) [batch, out_channels, H', W'] 一元逻辑回归 ...
下面从可行性与性能两条主线,把“隐马尔可夫模型(HMM)用于网络加密流量识别”做一次尽量全面、细致、深入的拆解(偏研究与工程落地视角)。内容默认用于合法合规的网络运维、安全检测与研究评测场景。 1) 问题到底在“识别”什么 “加密流量识别”通常不等同于“解密”,而是基于可观测的侧信道/元数据去做分类或检测。常见目标层级(难度递增): 协议/隧道层:TLS/QUIC/SSH/VPN/Tor…(相对更可行) 应用/服务层:YouTube/Zoom/网盘/IM…(中等难度) 细粒度内容/网站指纹:同一CDN下的网站、同一APP内不同功能(最难、最不稳) 综述类工作普遍指出:HTTP/2、QUIC、多路复用、流量伪装/隧道会显著抬高难度与不确定性。京东在线+1 2) 加密后还剩下什么信息?HMM为什么“对口” 即便负载加密,网络侧通常仍能拿到一些序列信号,例如: 包长序列(packet length sequence) 方向序列(上行/下行) 到达间隔/时序(inter-arrival time) 突发/静默结构(burstiness) 握手阶段的可见字段/长度结构(例如 TLS 的部分握手交互“形状”;QUIC则更受限) 这些恰好是时序/序列数据。HMM的强项就是: 用一组“隐状态”(可理解为通信的阶段/模式)去生成观测序列,从而用“序列整体的概率”来做分类。 早期经典工作就展示了:仅用“包大小与时序”的序列建模,HMM可在加密/隧道背景下推断协议行为并做分类。机器学习研究杂志 3) HMM在加密流量识别中的典型建模方式 3.1 观测序列怎么设计(决定上限) 常见做法是把一个流/会话映射为长度为 TTT 的序列 O1:TO_{1:T}O1:T: 离散HMM:把包长、时间间隔分桶(binning),或向量量化(VQ) 连续HMM(GaussianHMM / GMM-HMM):直接用连续值建模观测分布;若同一隐状态下观测是多峰分布,用GMM更合适 双向流:把方向编码进符号(例如“上行包长为正、下行为负”),或做“上下行各一条序列再融合” Wright 等人在协议行为推断中使用了profile HMM并扩展了向量量化以融合包长+时序,这个思路对“加密流量=只能看形状”非常典型。机器学习研究杂志 3.2 分类策略(生成式的优势) 加密流量识别里常见是“每类一个HMM”: 训练:对每个类别 ccc 训练参数 θc\theta_cθc 推断:对未知序列算对数似然 logp(O∣θc)\log p(O|\theta_c)logp(O∣θc),取最大者 或做阈值判断(低于阈值当作未知类/异常) 这类生成式框架对样本量较小、需要解释性/可审计、需要在线打分的场景很友好。 4) 可行性分析:HMM到底适合哪些“加密识别任务” 更可行(工程上更容易做稳) 粗粒度:协议族/隧道识别(TLS vs SSH vs Tor vs VPN…) 场景固定:企业网/园区网内“已知应用集合”识别 恶意加密流量检测:例如“加密C2/恶意通信”相对更像“行为模式”问题 例如《软件学报》有工作用 profile HMM做“跨协议的加密恶意流量检测”,强调在不同条件下有效、且设计了规避检测对抗并验证抗规避能力。软件学报 中等可行(能做,但要接受漂移与误差) 应用级分类:尤其当不同应用的交互节奏差异明显(VoIP、视频、下载、聊天等) 可以借助握手可见交互字段增强:例如有研究利用 SSL 交互阶段字段作为观测序列并用HMM做应用识别,报告其对典型加密应用有更好的性能与鲁棒性。易采网 很难做稳(HMM不占优,甚至整体方法论都很难) 同CDN下细粒度网站/内容指纹 强对抗/强伪装:主动padding、定速整形、随机化分片策略 QUIC/HTTP3 多路复用 + 频繁网络环境变化:序列“形状”本身会被链路条件改变 5) 性能分析:准确率之外,更关键的是“稳不稳” 5.1 经典结果能说明什么 Wright 等的JMLR论文报告:对若干协议在混合流量中分类准确率可超过 90%,在“单连接细粒度分类”上多数协议也能超过 80%,并能在某些加密隧道场景估计连接数,平均误差优于约 20%。机器学习研究杂志 这些结果的意义在于:序列形状确实携带可分信息,HMM能捕捉“阶段性结构”。 ...
likelihood 横轴为tracitions 数轴为emissions 两个表格初始为随机生成的 全概率公式 应该使用动态规划去优化 decoding max(1,2,3) 得到最大的,然后把线路高亮 inference learning