🚀 タンパク質マトリョーシカ埋め込みモデル
このモデルは、入力されたタンパク質に対して埋め込み表現を生成します。マトリョーシカ損失を用いて学習されているため、短縮された埋め込み表現を高速検索やその他のタスクに利用することができます。
入力はIUPAC - IUBコードを使用し、A - Zの文字がアミノ酸に対応します。例えば:
"M A R N W S F R V"
ベースモデルはRostlab/prot_bert_bfdです。sentence - transformersモデルは、UniProtからの埋め込み表現のコサイン類似度に基づいて学習されています。埋め込み表現と距離のトレーニング/テスト/検証データセットについては、https://huggingface.co/datasets/monsoon - nlp/protein - pairs - uniprot - swissprot を参照してください。
🚀 クイックスタート
📦 インストール
以下の依存関係をインストールします。
pip install -U sentence-transformers datasets
💻 使用例
基本的な使用法
埋め込み表現の生成:
from sentence_transformers import SentenceTransformer
sequences = ["M S L E Q K...", "M A R N W S F R V..."]
model = SentenceTransformer('monsoon-nlp/protein-matryoshka-embeddings')
embeddings = model.encode(sentences)
print(embeddings)
📚 ドキュメント
トレーニング + コード
- CoLabノートブック:https://colab.research.google.com/drive/1uBk - jHOAPhIiUPPunfK7bMC8GnzpwmBy?usp=sharing
- 学習中の検証データセットからの1,000個のタンパク質ペアに対する結果:
| ステップ | コサインピアソン係数 | コサインスピアマン係数 |
| ---- | ---- | ---- |
| 3000 | 0.8598688660086558 | 0.8666855900999677 |
| 6000 | 0.8692703523988448 | 0.8615673651584274 |
| 9000 | 0.8779733537629968 | 0.8754158959780602 |
| 12000 | 0.8877422045031667 | 0.8881492475969834 |
| 15000 | 0.9027359688395733 | 0.899106724739699 |
| 18000 | 0.9046675789738002 | 0.9044183600191271 |
| 21000 | 0.9165801536390973 | 0.9061381997421003 |
| 24000 | 0.9128046401341833 | 0.9076748537082228 |
| 27000 | 0.918547416546341 | 0.9127677526055185 |
| 30000 | 0.9239429677657788 | 0.9187051589781693 |
検証
テストセットのペアを使用して、完全な埋め込み表現と128次元の埋め込み表現を元の埋め込み表現と比較した散布図:https://colab.research.google.com/drive/1hm4IIMXaLt_7QYRNvkiXl5BqmsHdC1Ue?usp=sharing
微調整 / タスク
- 人気のある評価方法の1つは[Tasks Assessing Protein Embeddings (TAPE)](https://github.com/songlab - cal/tape)です。
- SciKit - Learnを使用して、TAPEの回帰タスクである蛍光に関して学習する例:https://colab.research.google.com/drive/1cH9jOBSC56mqJHU_6ztQPp6qWJguNjAn?usp=sharing
- SciKit - Learnを使用して、[greenbeing - binary](https://huggingface.co/datasets/monsoon - nlp/greenbeing - binary)の分類タスクに関して学習する例:https://colab.research.google.com/drive/1MCTn8f3oeIKpB6n_8mPumet3ukm7GD8a?usp=sharing
将来的な展望
このページは、タンパク質分類タスクでの使用例があるときに更新されます。
[埋め込み量子化](https://huggingface.co/blog/embedding - quantization)がさらに効率的かどうかに興味があります。
将来のプロジェクトで協力したい場合や、より多くの埋め込み表現に対して長時間学習するためのリソースがある場合は、ご連絡ください。
📄 ライセンス
このプロジェクトはCCライセンスの下で提供されています。