測(cè)波束成形:車載ISAC毫米波通信實(shí)戰(zhàn)指南)
簡(jiǎn)介這份資源面向具備機(jī)器學(xué)習(xí)與無(wú)線通信基礎(chǔ)的研究人員和工程師聚焦車載網(wǎng)絡(luò)集成感知與通信ISAC場(chǎng)景下的預(yù)測(cè)波束成形難題。針對(duì)傳統(tǒng)方案依賴路側(cè)單元獲取信道狀態(tài)信息、信令開銷大的痛點(diǎn)資源圍繞回波卷積Transformer網(wǎng)絡(luò)ECT-Net展開將卷積模塊與注意力機(jī)制結(jié)合捕捉回波信號(hào)的局部與全局空間依賴并給出最大化通信總速率的優(yōu)化建模與懲罰法轉(zhuǎn)化思路。壓縮包共1個(gè)PDF文件約738KB內(nèi)含完整理論推導(dǎo)、ECT-Net類實(shí)現(xiàn)、ISAC系統(tǒng)模擬、訓(xùn)練流程與性能評(píng)估代碼可直接運(yùn)行復(fù)現(xiàn)。已有109人學(xué)習(xí)適合研究新型傳輸協(xié)議、開發(fā)Transformer波束成形算法或?qū)Ρ炔煌桨感阅艿淖x者也提供了實(shí)時(shí)性優(yōu)化、多車協(xié)同等改進(jìn)方向供進(jìn)一步探索。1. 車載 ISAC 里為什么要用 Transformer 做預(yù)測(cè)波束成形毫米波車載通信有個(gè)繞不開的矛盾波束越窄增益越高但車輛一移動(dòng)、一轉(zhuǎn)彎波束就偏了鏈路立刻掉。傳統(tǒng)做法是靠信道估計(jì)反饋再重新算波束可這個(gè)閉環(huán)有延遲高速場(chǎng)景下等你算完車已經(jīng)開出幾十厘米波束指向早就過(guò)期了。集成感知與通信ISAC給了新思路——同一套毫米波陣列既發(fā)通信信號(hào)又收感知回波于是我們手里多了一份「環(huán)境狀態(tài)」周圍車輛的位置、速度、角度都能從回波里估出來(lái)。問(wèn)題變成怎么用這份歷史和當(dāng)前狀態(tài)去預(yù)測(cè)下一時(shí)刻的最優(yōu)波束方向。預(yù)測(cè)波束成形就是干這個(gè)的而 Transformer 之所以在這兩年被反復(fù)提起是因?yàn)樗幚頃r(shí)序依賴的方式天然適合「多幀感知 通信」這種多模態(tài)輸入。RNN 類模型在長(zhǎng)序列上梯度不穩(wěn)LSTM 記不住太遠(yuǎn)的幀而 Transformer 的自注意力可以直接把過(guò)去若干幀的波束角度、車輛運(yùn)動(dòng)狀態(tài)、信道特征拉到一個(gè)權(quán)重里做加權(quán)。對(duì)車載網(wǎng)絡(luò)來(lái)說(shuō)這意味著模型能學(xué)到「前車減速 → 本車波束需要下壓」這類跨幀的隱式規(guī)律。這篇面向的是做車載通信、毫米波陣列、ISAC 原型驗(yàn)證的工程師尤其是手里有仿真平臺(tái)或 SDR 測(cè)試床、想把預(yù)測(cè)模塊塞進(jìn)波束管理流程的人。下面從數(shù)據(jù)怎么造、模型怎么搭、訓(xùn)練怎么調(diào)、坑在哪一路講到能跑通的代碼。2. 預(yù)測(cè)波束成形的問(wèn)題建模與數(shù)據(jù)構(gòu)造2.1 把波束預(yù)測(cè)寫成序列到序列的回歸任務(wù)先把物理問(wèn)題翻譯成網(wǎng)絡(luò)能吃的張量。假設(shè)車載陣列是 N 元均勻線陣波束由指向角 θ 和波束寬度決定波束成形向量通常寫成陣列響應(yīng)向量的共軛轉(zhuǎn)置。預(yù)測(cè)任務(wù)的定義是給定過(guò)去 T 幀的觀測(cè)序列輸出未來(lái)第 T1 幀的最優(yōu)波束指向角或直接輸出波束成形向量。觀測(cè)序列每一幀包含三類特征感知側(cè)估出的目標(biāo)角度與距離、通信側(cè)的信道狀態(tài)信息CSI幅度相位、以及本車運(yùn)動(dòng)學(xué)量速度、航向角變化率。我一般把標(biāo)簽定義為「使接收信噪比最大的波束索引」而不是連續(xù)角度。原因很實(shí)際毫米波系統(tǒng)普遍用碼本做波束掃描碼本里是離散的波束方向直接預(yù)測(cè)碼本索引部署時(shí)不用再做角度到碼本的二次映射少一層誤差。如果你們的系統(tǒng)是連續(xù)波束賦形那就回歸角度但要在損失里加角度周期性處理否則 179° 和 -179° 會(huì)被當(dāng)成差很遠(yuǎn)。序列長(zhǎng)度 T 是個(gè)關(guān)鍵參數(shù)。太短學(xué)不到運(yùn)動(dòng)趨勢(shì)太長(zhǎng)注意力矩陣爆炸且引入無(wú)關(guān)歷史。車載場(chǎng)景下我通常取 T8 到 16 幀對(duì)應(yīng)幾十到一百多毫秒的歷史窗口覆蓋一次變道或剎車的完整過(guò)程。特征維度上感知角度、CSI 實(shí)部虛部、速度、航向變化率拼成一個(gè)向量每幀維度大概在 32 到 128 之間取決于陣列規(guī)模和 CSI 量化精度。2.2 用仿真器造帶感知回波的車載序列數(shù)據(jù)真實(shí) ISAC 數(shù)據(jù)集極少公開的更少所以第一步基本都得自己造。常見做法是用射線追蹤或幾何隨機(jī)信道模型生成車輛軌跡和信道再疊加感知回波。下面這段代碼用簡(jiǎn)化的幾何模型造一批序列樣本重點(diǎn)是把「感知特征 通信特征 運(yùn)動(dòng)特征」拼成統(tǒng)一的時(shí)間序列標(biāo)簽是下一幀最優(yōu)碼本索引。import numpy as np # 參數(shù)設(shè)置 N 16 # 陣列天線數(shù) T 12 # 歷史幀數(shù) CODEBOOK_SIZE 64 # 碼本波束數(shù) NUM_SAMPLES 5000 # 樣本數(shù) def array_response(theta, nN): 均勻線陣響應(yīng)向量theta 為弧度 idx np.arange(n) return np.exp(1j * np.pi * idx * np.sin(theta)) / np.sqrt(n) def gen_one_sequence(): # 隨機(jī)初始化一輛目標(biāo)車角度、角速度、距離、速度 theta np.random.uniform(-np.pi/3, np.pi/3) omega np.random.uniform(-0.02, 0.02) # 每幀角度變化 dist np.random.uniform(10, 80) vel np.random.uniform(-5, 5) seq_feat, seq_label [], [] for t in range(T 1): theta omega dist vel * 0.01 # 每幀 10ms # 感知特征角度 sin/cos 編碼 距離歸一化 perc [np.sin(theta), np.cos(theta), dist / 100.0, vel / 10.0] # 通信特征用陣列響應(yīng)近似 CSI 主分量 csi array_response(theta) comm np.concatenate([csi.real, csi.imag]) # 32 維 feat np.concatenate([perc, comm]) # 標(biāo)簽使接收增益最大的碼本索引 best_idx, best_gain 0, -1 for k in range(CODEBOOK_SIZE): phi -np.pi/3 k * (2*np.pi/3) / (CODEBOOK_SIZE - 1) gain np.abs(np.vdot(array_response(phi), csi))**2 if gain best_gain: best_gain, best_idx gain, k if t T: seq_feat.append(feat) else: seq_label.append(best_idx) return np.array(seq_feat), np.array(seq_label) X np.zeros((NUM_SAMPLES, T, 4 2*N), dtypenp.float32) y np.zeros((NUM_SAMPLES,), dtypenp.int64) for i in range(NUM_SAMPLES): f, l gen_one_sequence() X[i], y[i] f, l[0] np.save(isac_beam_X.npy, X) np.save(isac_beam_y.npy, y) print(數(shù)據(jù)形狀:, X.shape, y.shape)邏輯上gen_one_sequence每幀更新目標(biāo)角度和距離感知特征用 sin/cos 編碼角度避免周期性斷裂通信特征直接用陣列響應(yīng)拼實(shí)部虛部模擬 CSI 主分量。標(biāo)簽遍歷碼本找接收增益最大的索引。參數(shù)上T12是歷史窗口CODEBOOK_SIZE64對(duì)應(yīng)常見的 64 波束碼本0.01是幀間隔 10ms 的假設(shè)。跑完得到X形狀(5000, 12, 36)y是 5000 個(gè)碼本索引。注意這只是幾何近似真實(shí)項(xiàng)目里 CSI 要用信道模型生成感知回波要加噪聲和多徑否則模型學(xué)到的規(guī)律過(guò)于干凈上真機(jī)就翻車。2.3 特征歸一化與標(biāo)簽對(duì)齊的兩個(gè)細(xì)節(jié)歸一化別偷懶。感知角度用 sin/cos 已經(jīng)落在 [-1,1]但距離和速度量綱差很多必須各自歸一化否則注意力會(huì)被大數(shù)值特征主導(dǎo)。我一般對(duì)每一維特征做 z-score統(tǒng)計(jì)量從訓(xùn)練集算驗(yàn)證測(cè)試集復(fù)用絕不能全量算完再切分那是數(shù)據(jù)泄漏。標(biāo)簽對(duì)齊是另一個(gè)容易錯(cuò)的地方。上面代碼里第 T1 幀的標(biāo)簽對(duì)應(yīng)前 T 幀輸入但如果你在造數(shù)據(jù)時(shí)把標(biāo)簽也放進(jìn)序列就會(huì)造成「用未來(lái)預(yù)測(cè)未來(lái)」。檢查方法很簡(jiǎn)單把輸入序列最后一幀和標(biāo)簽幀的時(shí)間戳打出來(lái)確認(rèn)標(biāo)簽幀嚴(yán)格晚于輸入最后一幀。這個(gè)坑我在早期項(xiàng)目里踩過(guò)模型在驗(yàn)證集上準(zhǔn)確率 95%一上測(cè)試床就掉到 60%查了兩天才發(fā)現(xiàn)是標(biāo)簽錯(cuò)位一幀。3. Transformer 預(yù)測(cè)波束成形模型的搭建與訓(xùn)練3.1 編碼器結(jié)構(gòu)選型為什么不用純 ViT 那套車載波束序列是典型的一維時(shí)序不是圖像所以別直接套 Vision Transformer 的 patch 切分。常見做法是用線性投影把每幀特征映射到 d_model 維再加位置編碼。位置編碼這里有個(gè)選擇正弦編碼還是可學(xué)習(xí)編碼。車載序列長(zhǎng)度固定且不長(zhǎng)T12可學(xué)習(xí)位置編碼更靈活實(shí)測(cè)比正弦編碼收斂快一點(diǎn)。但如果你們的 T 會(huì)變比如不同場(chǎng)景用不同歷史長(zhǎng)度那就用正弦編碼避免位置 embedding 越界。注意力頭數(shù)我一般取 4 或 8d_model 取 64 或 128。頭數(shù)太多在小序列上收益不明顯反而增加過(guò)擬合風(fēng)險(xiǎn)。前饋網(wǎng)絡(luò)維度按慣例取 4 倍 d_model。層數(shù) 2 到 4 層足夠車載波束預(yù)測(cè)不是 ImageNet 那種復(fù)雜任務(wù)堆到 12 層純屬浪費(fèi)算力還容易過(guò)擬合。下面給出編碼器加分類頭的完整模型代碼。import torch import torch.nn as nn class BeamTransformer(nn.Module): def __init__(self, feat_dim, d_model64, nhead4, num_layers3, codebook_size64, dropout0.1): super().__init__() self.proj nn.Linear(feat_dim, d_model) # 可學(xué)習(xí)位置編碼序列長(zhǎng)度固定為 12 self.pos_emb nn.Parameter(torch.randn(1, 12, d_model) * 0.02) encoder_layer nn.TransformerEncoderLayer( d_modeld_model, nheadnhead, dim_feedforward4*d_model, dropoutdropout, batch_firstTrue) self.encoder nn.TransformerEncoder(encoder_layer, num_layersnum_layers) self.norm nn.LayerNorm(d_model) self.head nn.Linear(d_model, codebook_size) def forward(self, x): # x: (B, T, feat_dim) h self.proj(x) self.pos_emb h self.encoder(h) h self.norm(h[:, -1, :]) # 取最后一幀的表示做預(yù)測(cè) return self.head(h) model BeamTransformer(feat_dim36) print(sum(p.numel() for p in model.parameters()), 參數(shù))proj把 36 維特征升到 64 維pos_emb是可學(xué)習(xí)位置編碼encoder是標(biāo)準(zhǔn) Transformer 編碼器。關(guān)鍵在forward里取h[:, -1, :]也就是最后一幀的編碼表示做分類。為什么取最后一幀而不是池化因?yàn)轭A(yù)測(cè)任務(wù)關(guān)心的是「當(dāng)前狀態(tài)之后會(huì)怎樣」最后一幀攜帶最新的運(yùn)動(dòng)信息池化會(huì)把早期幀的信息平均進(jìn)來(lái)反而稀釋了近期趨勢(shì)。參數(shù)上d_model64、nhead4、num_layers3總參數(shù)量大概十幾萬(wàn)嵌入式部署也扛得住。3.2 訓(xùn)練循環(huán)與損失函數(shù)交叉熵還是 MSE如果標(biāo)簽是碼本索引用交叉熵如果回歸角度用 MSE 加周期性處理。交叉熵在這里有個(gè)好處它直接優(yōu)化分類正確率而波束選擇本質(zhì)是選最優(yōu)碼本分類目標(biāo)和業(yè)務(wù)目標(biāo)一致。但要注意類別不平衡——如果車輛長(zhǎng)期直行某些碼本索引出現(xiàn)頻率遠(yuǎn)高于其他交叉熵會(huì)被高頻類主導(dǎo)。解決辦法是在損失里加類別權(quán)重權(quán)重取頻率的倒數(shù)。from torch.utils.data import TensorDataset, DataLoader import numpy as np X np.load(isac_beam_X.npy) y np.load(isac_beam_y.npy) # 按 8:1:1 切分先打亂 idx np.random.permutation(len(X)) X, y X[idx], y[idx] n_train, n_val int(0.8*len(X)), int(0.1*len(X)) train_ds TensorDataset(torch.tensor(X[:n_train]), torch.tensor(y[:n_train])) val_ds TensorDataset(torch.tensor(X[n_train:n_trainn_val]), torch.tensor(y[n_train:n_trainn_val])) train_loader DataLoader(train_ds, batch_size64, shuffleTrue) val_loader DataLoader(val_ds, batch_size128) # 類別權(quán)重 counts np.bincount(y[:n_train], minlength64).astype(np.float32) weights torch.tensor(1.0 / (counts 1e-6)) weights weights / weights.sum() * 64 device cuda if torch.cuda.is_available() else cpu model BeamTransformer(feat_dimX.shape[-1]).to(device) opt torch.optim.AdamW(model.parameters(), lr1e-3, weight_decay1e-4) sched torch.optim.lr_scheduler.CosineAnnealingLR(opt, T_max50) criterion nn.CrossEntropyLoss(weightweights.to(device)) for epoch in range(50): model.train() for xb, yb in train_loader: xb, yb xb.to(device), yb.to(device) opt.zero_grad() loss criterion(model(xb), yb) loss.backward() torch.nn.utils.clip_grad_norm_(model.parameters(), 1.0) opt.step() sched.step() # 驗(yàn)證 model.eval() correct total 0 with torch.no_grad(): for xb, yb in val_loader: xb, yb xb.to(device), yb.to(device) pred model(xb).argmax(-1) correct (pred yb).sum().item() total yb.size(0) print(fepoch {epoch} val_acc {correct/total:.4f})AdamW加weight_decay1e-4是 Transformer 訓(xùn)練的常規(guī)組合CosineAnnealingLR讓學(xué)習(xí)率從 1e-3 平滑降到接近 0。clip_grad_norm_防止梯度爆炸Transformer 在序列任務(wù)上偶爾會(huì)炸梯度加這個(gè)保險(xiǎn)。類別權(quán)重按頻率倒數(shù)算再歸一化到均值為 1 附近避免整體損失尺度變化太大。驗(yàn)證只看 top-1 準(zhǔn)確率但實(shí)際部署更該看 top-3因?yàn)椴ㄊx擇允許次優(yōu)碼本只要增益損失在可接受范圍。我一般會(huì)額外算一個(gè)「增益損失」指標(biāo)預(yù)測(cè)碼本和最優(yōu)碼本的接收增益差多少 dB這個(gè)比準(zhǔn)確率更貼近業(yè)務(wù)。3.3 學(xué)習(xí)率、批量大小與早停的實(shí)操取值學(xué)習(xí)率 1e-3 配 AdamW 是起點(diǎn)如果驗(yàn)證 loss 震蕩降到 3e-4。批量大小 64 在 5000 樣本上比較穩(wěn)太小梯度噪聲大太大泛化差。早??打?yàn)證準(zhǔn)確率連續(xù) 10 個(gè) epoch 不漲就停同時(shí)保存驗(yàn)證集最優(yōu)權(quán)重。別用訓(xùn)練 loss 做早停Transformer 很容易在訓(xùn)練集上過(guò)擬合訓(xùn)練 loss 一直降但驗(yàn)證早就平了。還有一個(gè)容易被忽略的點(diǎn)warmup。Transformer 原論文用了 warmup但在這種小模型短序列上warmup 收益不明顯我一般直接上余弦退火省事。如果你們數(shù)據(jù)量上萬(wàn)、模型更深那加 5 個(gè) epoch 的線性 warmup 會(huì)更穩(wěn)。4. 避坑與排查預(yù)測(cè)波束成形落地時(shí)的五個(gè)翻車點(diǎn)4.1 驗(yàn)證集準(zhǔn)確率虛高測(cè)試床一上就崩現(xiàn)象仿真驗(yàn)證集 top-1 準(zhǔn)確率 90% 以上接到 SDR 測(cè)試床后波束對(duì)準(zhǔn)率不到 60%。原因通常是數(shù)據(jù)泄漏或分布不匹配。數(shù)據(jù)泄漏常見于歸一化用了全量統(tǒng)計(jì)量或者標(biāo)簽錯(cuò)位一幀。分布不匹配則是仿真 CSI 太干凈真實(shí)信道有多徑和相位噪聲模型沒(méi)見過(guò)。解決歸一化統(tǒng)計(jì)量只用訓(xùn)練集標(biāo)簽時(shí)間戳嚴(yán)格檢查訓(xùn)練時(shí)給 CSI 加相位噪聲和幅度擾動(dòng)做數(shù)據(jù)增強(qiáng)擾動(dòng)強(qiáng)度按實(shí)測(cè)信道估計(jì)誤差來(lái)定一般相位噪聲標(biāo)準(zhǔn)差取 0.05 到 0.1 弧度。4.2 注意力全壓在少數(shù)幾幀上模型退化成單幀預(yù)測(cè)現(xiàn)象可視化注意力權(quán)重發(fā)現(xiàn)模型幾乎只看最后一幀前面幀權(quán)重接近零。原因通常是位置編碼沒(méi)學(xué)好或者序列里早期幀特征和標(biāo)簽相關(guān)性弱。解決檢查位置編碼是否被正確加到投影后的特征上如果早期幀確實(shí)信息量低考慮用因果掩碼讓模型只能看歷史同時(shí)加大序列長(zhǎng)度讓趨勢(shì)信息更明顯。另一個(gè)辦法是在損失里加一個(gè)輔助任務(wù)比如讓模型同時(shí)預(yù)測(cè)中間幀的角度逼它利用整段序列。4.3 碼本索引預(yù)測(cè)對(duì)了但波束增益損失很大現(xiàn)象top-1 準(zhǔn)確率不錯(cuò)但實(shí)際接收增益比最優(yōu)低 3 dB 以上。原因是碼本分辨率不夠相鄰碼本角度間隔大預(yù)測(cè)到次優(yōu)碼本時(shí)增益掉得快。解決換更密的碼本或者改成回歸角度再做連續(xù)波束賦形。如果必須用離散碼本訓(xùn)練時(shí)用「增益損失」做損失函數(shù)而不是交叉熵直接優(yōu)化增益而不是分類正確率。增益損失可以寫成負(fù)的接收增益對(duì)碼本索引做 softmax 加權(quán)期望。4.4 訓(xùn)練 loss 不降梯度全是零現(xiàn)象第一個(gè) epoch 后 loss 卡住梯度范數(shù)接近零。原因可能是輸入特征沒(méi)歸一化數(shù)值太大導(dǎo)致 softmax 飽和或者位置編碼初始化太大注意力 logits 爆炸。解決檢查每維特征的均值和方差確保在 [-3,3] 附近位置編碼初始化用 0.02 這種小標(biāo)準(zhǔn)差加梯度裁剪。還有一個(gè)隱蔽原因如果用了batch_firstTrue但輸入維度搞反了Transformer 會(huì)把特征維當(dāng)序列維注意力全亂loss 自然不降。打印輸入形狀確認(rèn)是(B, T, feat)。4.5 推理延遲超標(biāo)滿足不了波束更新周期現(xiàn)象模型精度夠但單次推理超過(guò) 5ms波束更新周期是 10ms留給其他模塊的時(shí)間不夠。原因通常是模型太大或沒(méi)做推理優(yōu)化。解決先減層數(shù)和 d_model3 層 64 維在 CPU 上單樣本推理大概 1 到 2ms再用 ONNX Runtime 或 TensorRT 加速如果還不行把模型量化到 INT8精度掉 1 到 2 個(gè)百分點(diǎn)延遲能降一半。車載平臺(tái)算力有限別一上來(lái)就堆大模型先跑通小模型再按需擴(kuò)。5. 把預(yù)測(cè)波束成形接進(jìn) ISAC 流程的進(jìn)階技巧模型訓(xùn)完只是半成品真正難的是接進(jìn) ISAC 的實(shí)時(shí)流程。我一般會(huì)把預(yù)測(cè)模塊做成一個(gè)獨(dú)立服務(wù)輸入是感知和通信模塊吐出的特征隊(duì)列輸出是下一幀碼本索引通過(guò)共享內(nèi)存或消息隊(duì)列和波束控制模塊通信。這樣模型更新不影響主流程也方便做 A/B 測(cè)試。一個(gè)具體技巧是用「預(yù)測(cè) 校驗(yàn)」雙軌。預(yù)測(cè)給出碼本索引后不直接切波束而是先用一個(gè)窄帶探測(cè)信號(hào)在預(yù)測(cè)方向附近做小范圍掃描確認(rèn)增益達(dá)標(biāo)再鎖定。這樣即使預(yù)測(cè)偶爾錯(cuò)也不會(huì)立刻掉鏈路。校驗(yàn)的開銷很小幾個(gè)符號(hào)周期就夠但能把鏈路中斷率降一個(gè)數(shù)量級(jí)。下面這段偽代碼展示雙軌邏輯。def beam_control_loop(feature_queue, codebook, model, threshold_db-3): while True: seq feature_queue.get_last(T12) # 取最近 12 幀 if seq is None: continue with torch.no_grad(): logits model(torch.tensor(seq).unsqueeze(0)) pred_idx logits.argmax(-1).item() # 在預(yù)測(cè)方向附近掃描 3 個(gè)相鄰碼本 candidates [pred_idx-1, pred_idx, pred_idx1] best_idx, best_gain pred_idx, -np.inf for k in candidates: gain probe_gain(codebook[k]) # 發(fā)探測(cè)信號(hào)測(cè)增益 if gain best_gain: best_gain, best_idx gain, k if best_gain threshold_db: # 增益太差退回全碼本掃描 best_idx full_scan(codebook) apply_beam(codebook[best_idx])probe_gain發(fā)探測(cè)信號(hào)測(cè)實(shí)際接收增益threshold_db是容忍門限低于它就退回全掃描。這個(gè)邏輯把預(yù)測(cè)當(dāng)「先驗(yàn)」而不是「命令」魯棒性高很多。參數(shù)上掃描候選數(shù)取 3 是延遲和精度的折中取 5 更穩(wěn)但多花時(shí)間門限 -3 dB 是經(jīng)驗(yàn)值鏈路預(yù)算緊就放寬到 -2 dB。驗(yàn)證方法上別只看離線準(zhǔn)確率。我習(xí)慣在仿真里跑一個(gè)閉環(huán)模型預(yù)測(cè) → 波束切換 → 信道變化 → 下一幀感知看長(zhǎng)期鏈路吞吐和中斷率。開環(huán)評(píng)估會(huì)高估模型因?yàn)闆](méi)考慮預(yù)測(cè)錯(cuò)誤導(dǎo)致的波束失配會(huì)反過(guò)來(lái)影響下一幀的感知質(zhì)量。閉環(huán)跑下來(lái)如果中斷率比傳統(tǒng)掃描低 30% 以上這個(gè)方案就值得往原型上推。最后說(shuō)個(gè)我自己的習(xí)慣每次訓(xùn)完模型先別急著調(diào)參把預(yù)測(cè)錯(cuò)誤的樣本單獨(dú)撈出來(lái)看。十有八九會(huì)發(fā)現(xiàn)錯(cuò)誤集中在某幾類場(chǎng)景比如急轉(zhuǎn)彎、多車并行、遠(yuǎn)距離弱回波。針對(duì)這些場(chǎng)景補(bǔ)數(shù)據(jù)比盲目加層數(shù)有效得多。波束預(yù)測(cè)這活兒數(shù)據(jù)質(zhì)量比模型結(jié)構(gòu)重要血淚經(jīng)驗(yàn)。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取