No1: InterpretML by Microsoft Machine Learning Interpretability
地址:https://github.com/microsoft/interpret
可解釋性是目前機器學習中的一個重要問題。能夠理解模型如何產生它所輸出的內容,這是每個機器學習項目的關鍵。
Interpretml是微軟的一個開源軟件包,用於訓練可解釋模型和解釋黑盒系統。微軟在解釋為什麼解釋性是必要的時候說得非常好:
- 模型調試:為什麼我的模型犯了這個錯誤?
- 檢測偏差:我的模型有區別嗎?
- 人工智能合作:我如何理解和信任模型的決策?
- 法規遵從性:我的模型是否滿足法律要求?
- 高風險應用:醫療、金融、司法等。
從過去的經驗看,最容易理解的模型不是很準確,而最準確的模型是不可理解的。隨著複雜性的增加,解釋機器學習模型的內部工作變得更加困難。於是,MicrosoftResearch開發了一種稱為可解釋增強機(EBM)*的算法,該算法具有高精度和可理解性。EBM使用現代機器學習技術,如 bagging 和boosting,為傳統的GAM模型注入新的活力。這使它們像隨機森林和梯度提升樹一樣準確,並且還增強了它們的可理解性和可編輯性。
此外,該算法不僅限於使用EBM,它還支持LIME、線性模型、決策樹等算法。比較模型併為我們的項目挑選最好的模型從未如此簡單!
而Interpretml的安裝也很簡單,僅需要如下幾行代碼:
pip install numpy scipy pyscaffold
pip install -U interpret
No2:Tensor2Robot (T2R) by Google Research
地址:https://github.com/google-research/tensor2robot
Google Research再次出現在我們推薦的Github系列項目中。因為他們擁有業務中最強大的計算能力,且他們正在將它用於機器學習。
Google最新發布了名為Tensor2Robot(T2R)的開源項目。 T2R是用於大規模深度神經網絡訓練、評估和推理的庫。,此存儲庫包含分佈式機器學習和強化學習基礎結構。它在Alphabet內部使用,開源的目的是使Robotics @ Google的研究對於更廣泛的機器人和計算機視覺社區更具可重複性。
以下是使用Tensor2Robot實現的幾個項目:
- QT-Opt(https://arxiv.org/abs/1806.10293
- Grasp2Vec(https://github.com/google-research/tensor2robot/blob/master/research/grasp2vec)
No3:Generative Models in TensorFlow 2
地址:https://github.com/timsainb/tensorflow2-generative-models
這是一個在Tensorflow 2中實現大量生成模型的小項目。(TensorFlow 2.0是今年最受期待的TensorFlow版本,於不久前正式推出。)圖層和優化器都是使用Keras。這些模型是針對兩個數據集實現的:fashion MNIST和NSYNTH。編寫網絡的目的是儘可能簡單和一致,同時具有可讀性。因為每個網絡都是自包含在notebook中的,所以它們應該可以在colab會話中輕鬆運行。
該存儲庫包含多個生成模型的TF實現,包括:
- 生成對抗網絡(GAN)
- 自動編碼器
- 變分自動編碼器(VAE)
- VAE-GAN等。
No4:STUMPY – Time Series Data Mining
地址:https://github.com/TDAmeritrade/stumpy
STUMPY是一個功能強大且可擴展的庫,可幫助我們執行時間序列數據挖掘任務。 STUMPY旨在計算矩陣輪廓,矩陣輪廓是一個向量,它存儲時間序列中任何子序列與其最近鄰居之間的 z-normalized 歐幾里德距離。
以下是此矩陣配置文件幫助我們執行的一些時間序列數據挖掘任務:
- 異常發現
- 語義分割
- 密度估計
- 時間序列鏈(時序有序的子序列模式集)
使用以下代碼可以通過pip直接安裝STUMPY:
pip install stumpy
No5:MeshCNN in PyTorch
地址:https://github.com/ranahanocka/MeshCNN
MeshCNN是用於3D三角網格的通用深度神經網絡。這些網格可用於3D形狀分類或分割等任務。MeshCNN框架包括直接應用於網格邊緣的卷積,池化和解除層:
卷積神經網絡(CNN)非常適合處理圖像和視覺數據。 CNN近年來風靡一時,隨著圖像相關應用的湧現而興起:物體檢測、圖像分割、圖像分類等,隨著CNN的進步,這些都變成了可能。
而最近3D深度學習吸引了業界的興趣,包括機器人和自動駕駛等領域。3D形狀的問題在於它們本質上是不規則的。這使得像卷積這樣的操作變得很困難。這也是MeshCNN發揮作用的地方。它是是用於3D三角網格的通用深度神經網絡:網格是頂點,邊和麵的列表,它們共同定義3D對象的形狀。