tensorflow/neural-structured-learning

Training neural models with structured signals.

解決的問題

神經結構學習(Neural Structured Learning, NSL)解決了標籤資料稀少時訓練神經網路的挑戰。透過在訓練過程中納入「結構化訊號」——即不同資料樣本之間的關係或相似性資訊——來提升模型的準確性與韌性。

工作原理

NSL 利用兩種類型的結構化訊號來引導任意神經網路(如前饋、卷積或循環網路)的訓練:

  • 顯式結構: 使用圖來表示樣本之間的已知關係。
  • 隱式結構: 使用對抗性擾動來誘導結構,提升模型對惡意攻擊的抵抗能力。

這些訊號僅在訓練階段整合;最終模型的推論與部署工作流程保持不變,因此預測階段不會產生效能損耗。

適用對象

希望提升其基於 TensorFlow 的模型的開發者與研究人員,特別是從事半監督學習或需要提升模型對抗攻擊能力的使用者。

主要亮點

  • 靈活整合: 提供 Keras API、低階 TF 操作與圖建構工具,可輕鬆將結構化訊號加入訓練。
  • 廣泛相容: 與各種神經網路架構(CNN、RNN、MLP)相容。
  • 雙重方法: 將神經圖學習與對抗學習整合至單一框架中。
  • 推論無額外開銷: 結構化訊號僅在訓練時使用,不會影響部署效能。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案