如何進行AdaNet工具的分析,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
創(chuàng)新互聯公司專注于網站建設,為客戶提供成都網站設計、成都網站建設、網頁設計開發(fā)服務,多年建網站服務經驗,各類網站都可以開發(fā),品牌網站設計,公司官網,公司展示網站,網站設計,建網站費用,建網站多少錢,價格優(yōu)惠,收費合理。
AdaNet,這是一個基于TensorFlow的輕量級框架,可以通過最少的專家干預自動學習高質量的模型。 AdaNet以谷歌最新的強化學習和基于進化算法的AutoML為基礎,在提供學習保證的同時實現快速靈活的模型構建。而且,AdaNet是一個通用框架,它不僅可以學習神經網絡架構,還可以模型集成以獲得更好的模型。
AdaNet易于使用,可以構筑高質量的模型,幫助機器學習從業(yè)者節(jié)省選擇最佳神經網絡架構的時間,并能夠自適應實現將子網絡集成學習為新的網絡架構的方法。
AdaNet能夠添加不同深度和寬度的子網絡,以創(chuàng)建多樣化的集成,并可以在參數數量和模型性能之間方便做出權衡。
AdaNet自適應地增長了神經網絡的集合。在每次迭代中,它測量每個候選者的集成損失,并選擇最佳的一個進入下一次迭代。
快速且易于使用
AdaNet實現了TensorFlow Estimator接口,通過封裝訓練、評估、預測和模型導出,大大簡化了機器學習編程。它集成了開源工具,如 TensorFlow Hub modules, TensorFlow Model Analysis, 和 Google Cloud’s Hyperparameter Tuner。分布式訓練的支持可顯著縮短訓練時間,并能與可用的CPU和加速器(例如GPU)進行線性擴展。
AdaNet在CIFAR-100上訓練結果,x軸代表訓練step數,y軸代表精度。藍線是訓練集上的準確度,紅線是測試集上的性能。每隔一百萬step就加入一個新的子網絡,最終提高整體的性能。灰線和綠線是在添加新子網之前的精度。
AdaNet的學習保證Learning Guarantees
構建神經網絡集成有幾個挑戰(zhàn):比如要考慮的最佳子網架構是什么?是否要重用相同的架構還是鼓勵模型多樣性?雖然具有更多參數的復雜子網將傾向于在訓練集上表現更好,但由于其更大的復雜性,推廣性能可能不好。這些挑戰(zhàn)源于如何評估模型性能??梢酝ㄟ^將訓練集樣本分割來評估,但這樣做會減少可用于訓練神經網絡的樣本數量。
AdaNet的做法(源自論文“AdaNet: Adaptive Structural Learning of Artificial Neural Networks” at ICML 2017)是為了優(yōu)化平衡集合在訓練集上的表現及其推廣到看不見的數據的能力之間的權衡的目標。直覺上是指只有當新加入的子網絡改善整體訓練損失而不會影響其推廣能力時才將其加入。
這項學習保證意味著:
1)集合的泛化誤差受其訓練誤差和模型復雜性的限制。
2)通過優(yōu)化此目標,直接最小化此限制。
優(yōu)化此目標的一個實際好處是,它不需要訓練樣本集專門劃出一部分子集來評估選擇要添加到集合中的候選子網,況且可以使用更多的訓練數據來訓練子網。
要了解更多信息,請瀏覽有關AdaNet優(yōu)化目標的教程:
https://github.com/tensorflow/adanet/tree/v0.1.0/adanet/examples/tutorials/adanet_objective.ipynb
用戶自定義擴展
AdaNet不僅提供了常用的模型架構供研究人員使用,同時允許用戶將自己定義的網絡加入進來,用戶可以使用adanet.subnetwork.Builder加入使用TensorFlow API(如tf.layers)定義的網絡架構,定義自己的AdaNet。
使用TensorFlow構建模型的用戶可以輕松將TensorFlow代碼轉換為AdaNet子網,使用adanet.Estimator提高模型性能,同時獲得學習保證。AdaNet將探索他們定義的候選子網的搜索空間,并學習整合子網。
在這個例子中,使用了NASNet-A CIFAR架構的開源實現,將其轉換為子網,在八次AdaNet迭代后對CIFAR-10最先進的結果進行了改進。不僅提高進行而且新模型使用的參數更少。
用戶還可以使用tf.contrib.estimator.Heads將自己的自定義損失函數用作AdaNet目標函數的一部分,以便訓練回歸,分類和多任務學習問題。
用戶還可以通過擴展adanet.subnetwork.Generator類來定義要探索的候選子網的搜索空間,根據可用硬件增加或減少搜索空間。子網的搜索空間可以簡單到使用不同的隨機種子復制相同的子網配置,或者訓練具有不同超參數組合的數十個子網,讓AdaNet選擇包含在最終集成模型中的子網。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創(chuàng)新互聯行業(yè)資訊頻道,感謝您對創(chuàng)新互聯的支持。