「可解釋ML/3D深度學習等」Github六月最受歡迎的機器學習庫來啦
SHUBHAM SINGH總結了Github上6月份最火的7個項目。這七個項目涵蓋可解釋性機器學習、3D深度學習、時間序列挖掘以及可視化工具等。各個項目都非常優秀。值得收藏查看。
InterpretML by Microsoft – Machine Learning Interpretability
解釋性在機器學習中是一件巨大的事情。能夠理解模型如何產生它所做的輸出 - 這是任何機器學習項目的關鍵方面。
InterpretML是Microsoft的一個開源軟件包,用於訓練可解釋的模型和解釋黑盒系統。微軟在解釋為什麼可解釋性至關重要時說得最好:
- 模型調試:為什麼我的模型犯了這個錯誤?
- 檢測偏差:我的模型是否有區分能力?
- 人與人工智能合作:我如何理解並信任模型的決策?
- 法規遵從性:我的模型是否滿足法律要求?
- 高風險應用:醫療保健,金融,司法等
隨著複雜性的增加,解釋機器學習模型的內部工作變得更加困難。你有沒有試過拆開並理解多個模型合奏?這需要花費大量的時間和精力。
我們不能簡單地使用複雜的模型去應對我們的客戶或領導,而不能解釋它如何產生良好的分數/準確性。
Microsoft Research的人員開發了可解釋的提升機(EBM)算法來幫助解釋。這種EBM技術具有高精度和可解釋性。
解釋ML不僅限於使用EBM。它還支持LIME,線性模型,決策樹等算法。它能比較模型併為我們的項目挑選最好的模型!
https://github.com/microsoft/interpret
Tensor2Robot (T2R) by Google Research
Google發佈的最新開源名為Tensor2Robot(T2R)的庫非常有意思。 T2R是用於大規模深度神經網絡的訓練,評估和推理的庫。 但是它的開發考慮了一個特定的目標,即它適用於與機器人感知和控制相關的神經網絡。
此存儲庫包含分佈式機器學習和強化學習基礎結構
它在Alphabet內部使用,開源的目的是使Robotics @ Google的研究對於更廣泛的機器人和計算機視覺社區提供可重複性的工作。T2R是基於Tensorflow的框架。
機器人研究中的常見任務涉及向神經網絡圖添加新的傳感器模態或新的標籤張量。 這涉及1)更改保存的數據,2)在訓練時更改數據管道代碼以讀取新模態3)添加新的tf.placeholder以在測試時處理新的輸入模態。 Tensor2Robot的主要功能是為步驟2和3自動生成TensorFlow代碼。Tensor2Robot可以自動生成模型的佔位符以匹配其輸入,或者導出可以與TFExportedSavedModelPolicy一起使用的SavedModel,以便原始圖形不是必須重建。
https://github.com/google-research/tensor2robot
Generative Models in TensorFlow 2
這是一個在Tensorflow 2中實現大量生成模型的小項目。圖層和優化器使用Keras。 這些模型是針對兩個數據集實現的:MNIST和NSYNTH。 編寫這個框架的目的是儘可能簡單和一致,同時仍然可讀。 因為每個網絡都是自包含在notebook中的,所以它們應該可以在colab會話中輕鬆運行。
這個庫已經實現的模型包含:
- Autoencoder(AE)
- Variational Autoencoder(VAE)
- Generative Adversarial Network(GAN)
- Wasserstein GAN with Gradient Penalty (WGAN-GP)
- VAE-GAN
- Generative adversarial interpolative autoencoder (GAIA)
https://github.com/timsainb/tensorflow2-generative-models
STUMPY – Time Series Data Mining
STUMPY是一個功能強大且可擴展的庫,可幫助我們執行時間序列數據挖掘任務。 STUMPY旨在計算矩陣輪廓(matrix profile)。矩陣輪廓是一個向量,它存儲了時間序列中任何子序列與其最近鄰居之間的z標準化歐幾里德距離。
詳情可參考:https://stumpy.readthedocs.io/en/latest/Tutorial_0.html
它可以用來處理很多時序數據的挖掘任務:
- 模式/主題(在較長時間序列內近似重複的子序列)發現
- 異常點發現
- shapelet 發現
- 語義分割
- 密度估計
- 時間序列鏈(時序有序的子序列模式)
- 等等其他的
https://github.com/TDAmeritrade/stumpy
MeshCNN in PyTorch
MeshCNN是用於3D三角網格的通用深度神經網絡。 這些網格可用於3D形狀分類或分割等任務。 計算機視覺的精湛應用。
MeshCNN框架包括直接應用於網格邊緣的卷積,池化和解除層:
3D深度學習吸引了業界的興趣,包括機器人和自動駕駛等領域。 3D形狀的問題在於它們本質上是不規則的。 這使得像卷積這樣的操作變得很困難。
https://github.com/ranahanocka/MeshCNN
Awesome Decision Tree Research Papers
決策樹算法是我們在機器學習中學到的第一批高級技術。這種方法可以在更大的數據集上使用。
這個存儲庫是數據科學家的寶庫。 存儲庫包含基於樹的算法的論文集合,包括決策,迴歸和分類樹。 存儲庫還包含每篇論文的實現。
https://github.com/benedekrozemberczki/awesome-decision-tree-papers
TensorWatch by Microsoft Research
TensorWatch是一個調試和可視化工具,專為數據科學,深度學習和強化學習而設計。 它適用於Jupyter Notebook,可顯示機器學習訓練的實時可視化,併為您的模型和數據執行其他幾項關鍵分析任務。
TensorWatch旨在靈活且可擴展,因此您還可以構建自己的自定義可視化,UI和儀表板。 除了傳統的“所見即所見”方法外,它還具有針對您的實時ML訓練流程執行任意查詢的獨特功能,作為查詢結果返回流並使用。
https://github.com/microsoft/tensorwatch