根據科技網站 Venturebeat 的報導,Google 今天推出了神經結構化學習(Neural Structured Learning,以下簡稱 NSL)。據悉,這是一個開源框架,它使用神經圖它使用神經圖學習方法,來訓練帶有圖(Graph)和結構化數據的神經網絡,帶來強大的模型。
NSL 與 TensorFlow 機器學習平臺需要配合使用,新手和高級開發人員都可以使用它來訓練具有結構化信號的神經網絡,適用於機器學習技術的入門開發者和有一些經驗的從業者。NSL 可以為計算機視覺製作模型,執行其框架,使開發人員能夠使用圖表訓練神經網絡。圖表可以來自多個來源,例如知識圖、醫療記錄、基因組數據或多模式關係(例如,圖像-文本)。NSL 還可以運用到對抗性學習算法中。而在醫療領域中,NSL 可以從醫療記錄或知識圖等圖形數據集運行預測。
簡單來說,TensorFlow 中的 NSL 框架為開發人員提供了以下易於使用的 API 和工具,用於訓練具有結構化信號的模型:
Keras API 支持使用圖形(顯式結構)和對抗性擾動(隱式結構)進行訓練。TF 操作和功能,以便在使用較低級別的 TensorFlow API 時啟用結構培訓用於構建圖形和構建用於培訓的圖形輸入的工具
「在培訓期間利用結構化信號可以讓開發人員獲得更高的模型精度,特別是當標記數據量相對較小時。」 TensorFlow 工程師 Da-Cheng Juan 和 Sujith Ravi 在博客中表示,「結構化信號訓練也可以帶來更強大的模型。這些技術已廣泛用於 Google 產品,以提高模型性能,例如 Graph-Regularized Image Semantic Embedding(Graph-RISE)圖形規範化圖像語義嵌入技術等。」
關於 NSL 是如何工作的,TensorFlow 工程師進行了詳細的解釋。在 NSL 中,利用結構化信號,無論是明確定義為圖形還是隱式學習為對抗性實例,只要可以讓開發者獲得更高的模型精度,而在用於規範神經網絡的訓練上受益即可。在執行上,下圖中進行了很好的解釋,通過示例功能中的選取,轉化成結構化信號,用於規範神經網絡的訓練,進行準確的模型學習預測,與此同時,NSL 也會保持來自同一結構的輸入之間的相似性。該技術是通用的,可以應用於任意神經架構,例如前饋 NN,卷積 NN 和循環 NN 中。
使用 NSL,利用結構化信號來構建模型變得簡單而直接。給定圖形(作為顯式結構)和訓練樣本,NSL 提供了一個工具來處理這些,以下是相關的代碼示例截圖:
然而,如果顯式結構(例如圖形)不可用或未作為輸入給出,該怎麼辦?所以,NSL 為開發人員提供了從原始數據構建圖形的工具;或 NSL 提供 API 以「誘導」對抗性示例作為隱式結構化信號。構造對抗樣本示例,以此作為隱形信號。
NSL 可以通過監督、半監督或無監督學習,來訓練使用圖形信號進行正規化的模型,在某些情況下,使用少於五行代碼,就可以獲得了一個神經模型。
新框架還包括幫助開發人員構建數據和 API 的工具,用於創建具有少量代碼的對抗性訓練示例。
今年 4 月,Google Cloud(谷歌雲)在 BigQuery 和 AutoML Tables 中為結構化數據引入了其他解決方案。而在上周,谷歌人工智慧團隊,也就是 Google Research 團隊,發布了開源的 SM3,一個用於優化大規模語言理解模型,如 Google 的 BERT 和 OpenAI 的 GPT2。
關於這項技術的詳細內容,已經發表在 Google TensorFlow 官網,感興趣的開發者可以關注下面的連結看看。