Ultralytics YOLO27: ウェイトリストに登録する
YOLOのライセンス
Ultralytics用語集に戻る

Split Learning

スプリットラーニングでは、ニューラルネットワークを分割層で分割し、クライアントが生データと前半の層を保持したまま、サーバーがクライアントの活性化を基に残りの部分を学習します。

スプリットラーニングは、選択したカット層でニューラルネットワークをデータ所有者であるクライアントとサーバーの間で分割する、協調型の分散学習手法です。クライアントは非公開データでカット層より前の層を実行し、その結果得られた活性化(smashed dataと呼ばれることもあります)だけを送信します。サーバーは残りの層を実行して損失を計算し、カット層の勾配を返します。クライアントはその勾配を使って自身の層を更新します。生の学習データがクライアントの外へ出ることはなく、どちらの側もモデル全体を保持しません。MIT Media LabのOtkrist GuptaとRamesh Raskarは、2018年10月に複数エージェント間でのディープニューラルネットワークの分散学習でこの手法を発表しました。同グループが2018年12月に発表した続編「Split Learning for Health」では、医用画像解析用のスキャン画像など、異なる種類の患者データを持つ病院が、生の記録を共有せずにモデルを共同学習するための構成を提案しました。

スプリットラーニングの仕組み#

学習ステップごとに、カット層を2回またぎます。順伝播では活性化がクライアントからサーバーへ送られ、逆伝播では活性化に対する損失の勾配が戻されます。連鎖律によれば、処理を続けるために必要な勾配は1つだけなので、クライアントの更新はモデルを分割せずに学習した場合と同一です。PyTorchを使った単一プロセスのシミュレーションで、データのやり取りを確認できます。

import torch
from torch import nn

torch.manual_seed(0)
client = nn.Sequential(nn.Linear(784, 256), nn.ReLU())  # カット層より前の層(非公開データの隣)
server = nn.Sequential(nn.Linear(256, 10))  # カット層より後の層
images, labels = torch.randn(32, 784), torch.randint(0, 10, (32,))

# クライアント:カット層まで順伝播し、活性化だけを送信します
activations = client(images)
received = activations.detach().requires_grad_()

# サーバー:順伝播を完了してカット層まで逆伝播し、その勾配を返します
nn.functional.cross_entropy(server(received), labels).backward()

# クライアント:返された勾配から逆伝播を続けます
activations.backward(received.grad)
split_grad = client[0].weight.grad.clone()

# モデルを分割しない場合も、同じステップでクライアントに同一の勾配が得られます
client.zero_grad()
nn.functional.cross_entropy(server(client(images)), labels).backward()
print("Same client gradients as unsplit training:", torch.equal(split_grad, client[0].weight.grad))

Same client gradients as unsplit training: Trueが出力されます。その後、各側がそれぞれのオプティマイザーを実行します。複数のクライアントがいる場合、元のプロトコルではクライアントを順番に学習させ、各クライアントは前のクライアントが更新した最新のクライアント側の重みを引き継ぎます。

非公開にする必要がある情報に応じて構成は変わります。上記の標準構成ではラベルをサーバーに送信します。U字型構成では最後の層とラベルもクライアント側に保持します。垂直型構成は、同じ記録について異なる特徴を持つ組織向けです。

スプリットラーニングと連合学習#

連合学習もデータを所有者のマシン上に保持しますが、各クライアントがモデル全体のコピーを学習させ、重みの更新を送信して平均化します。スプリットラーニングでは代わりに活性化と勾配を送信するため、クライアントに必要な計算量ははるかに少なく、モデル全体を保持する必要もありません。一方、通信量はモデルサイズではなくデータ量に応じて増え、クライアントは並列ではなく順番に学習します。Chandra Thapaらが2020年に提案したSplitFed学習は、クライアント側の層を並列実行して連合学習方式で平均化することで、両方の手法を組み合わせています。

垂直スプリットラーニングは金融にも利用されます。銀行と、同じ顧客について異なる特徴を持つパートナーが、SecretFlowの銀行マーケティングチュートリアルのように、非公開データを交換せずに1つのモデルを学習させます。パイプライン並列処理も同様にネットワークを深さ方向に分割しますが、大規模モデルをメモリに収めるため、信頼された単一クラスター内のGPU間で分割します。

プライバシーリスク#

活性化と勾配にもデータに関する情報が含まれます。初期層の活性化から認識可能な画像を復元できる場合があります。また、サーバーがラベルを保持している場合、返す勾配からクライアントにラベルが漏れる可能性があります。Dario Pasquini、Giuseppe Ateniese、Massimo BernaschiはACM CCS 2021で、悪意のあるサーバーが返す勾配を通じて学習を乗っ取り、サーバーが非公開入力を再構成できるようクライアントの層を誘導できることを示しました。防御策としては、差分プライバシーによるノイズの追加、入力について活性化が明らかにする情報量へのペナルティ設定、異常な勾配の検出などがありますが、いずれも精度とのトレードオフが生じます。プロトコルが規定するのはカット層を越えるデータだけなので、デプロイでは認証や暗号化通信などのデータセキュリティ対策とスプリットラーニングを併用します。

カット層の選択#

カット層の位置によって、クライアント側の計算量、通信量、情報漏えいリスクのバランスが決まります。早い位置で分割すればクライアント側の計算量は最小限になりますが、入力に似た大きな活性化を送信することになります。遅い位置で分割すると、より抽象化された特徴マップを送信できますが、クライアントのハードウェアにより大きな負荷がかかります。これはエッジAIデバイスで重要です。スキップ接続があると、カット層をまたぐすべてのテンソルを送信する必要があるため、選択が複雑になります。Ultralytics YOLO26をバックボーンの後で分割する場合、層4、6、10の出力がネックに入力されるため、3つの特徴マップを送信します。モデル構成においてimgsz=640を使用するYOLO26nでは、それらの値は合計1,126,400個であり、入力画像の1,228,800個にほぼ匹敵します。

Explore solutions

スポーツにおけるコンピュータービジョン

スポーツにおけるコンピュータービジョン

Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを活用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、環境モニタリング、自然保護、地理空間分析に役立てましょう。
詳しく見る
航空宇宙分野のコンピュータービジョン

航空宇宙分野のコンピュータービジョン

Ultralytics YOLOモデルで航空モニタリングにビジョンAIを導入しましょう。コンピュータービジョンソリューションで、ドローン、航空宇宙のワークフロー、環境保全、地理空間業界を支援します。
詳しく見る
セキュリティ分野のコンピュータービジョン

セキュリティ分野のコンピュータービジョン

Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン

ロボティクス分野のコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律ナビゲーション、認識、物体追跡、リアルタイム制御を支援します。
詳しく見る
物流におけるコンピュータービジョン

物流におけるコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物検査、仕分け、車両追跡、倉庫のリアルタイム安全監視を実現します。
詳しく見る
小売業におけるコンピュータービジョン

小売業におけるコンピュータービジョン

Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン

医療分野におけるコンピュータービジョン

Ultralytics YOLOモデルで医療ソリューションを構築しましょう。医療分野のビジョンAIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳しく見る
製造業におけるコンピュータービジョン

製造業におけるコンピュータービジョン

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPE準拠、組立ラインの自動化を推進します。
詳しく見る
自動車分野におけるコンピュータービジョン

自動車分野におけるコンピュータービジョン

Ultralytics YOLOモデルで自動車分野にコンピュータービジョンを導入しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳しく見る
農業におけるコンピュータービジョン

農業におけるコンピュータービジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る
スポーツにおけるコンピュータービジョン

スポーツにおけるコンピュータービジョン

Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを活用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、環境モニタリング、自然保護、地理空間分析に役立てましょう。
詳しく見る
航空宇宙分野のコンピュータービジョン

航空宇宙分野のコンピュータービジョン

Ultralytics YOLOモデルで航空モニタリングにビジョンAIを導入しましょう。コンピュータービジョンソリューションで、ドローン、航空宇宙のワークフロー、環境保全、地理空間業界を支援します。
詳しく見る
セキュリティ分野のコンピュータービジョン

セキュリティ分野のコンピュータービジョン

Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン

ロボティクス分野のコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律ナビゲーション、認識、物体追跡、リアルタイム制御を支援します。
詳しく見る
物流におけるコンピュータービジョン

物流におけるコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物検査、仕分け、車両追跡、倉庫のリアルタイム安全監視を実現します。
詳しく見る
小売業におけるコンピュータービジョン

小売業におけるコンピュータービジョン

Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン

医療分野におけるコンピュータービジョン

Ultralytics YOLOモデルで医療ソリューションを構築しましょう。医療分野のビジョンAIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳しく見る
製造業におけるコンピュータービジョン

製造業におけるコンピュータービジョン

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPE準拠、組立ラインの自動化を推進します。
詳しく見る
自動車分野におけるコンピュータービジョン

自動車分野におけるコンピュータービジョン

Ultralytics YOLOモデルで自動車分野にコンピュータービジョンを導入しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳しく見る
農業におけるコンピュータービジョン

農業におけるコンピュータービジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る
スポーツにおけるコンピュータービジョン

スポーツにおけるコンピュータービジョン

Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを活用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、環境モニタリング、自然保護、地理空間分析に役立てましょう。
詳しく見る
航空宇宙分野のコンピュータービジョン

航空宇宙分野のコンピュータービジョン

Ultralytics YOLOモデルで航空モニタリングにビジョンAIを導入しましょう。コンピュータービジョンソリューションで、ドローン、航空宇宙のワークフロー、環境保全、地理空間業界を支援します。
詳しく見る
セキュリティ分野のコンピュータービジョン

セキュリティ分野のコンピュータービジョン

Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン

ロボティクス分野のコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律ナビゲーション、認識、物体追跡、リアルタイム制御を支援します。
詳しく見る
物流におけるコンピュータービジョン

物流におけるコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物検査、仕分け、車両追跡、倉庫のリアルタイム安全監視を実現します。
詳しく見る
小売業におけるコンピュータービジョン

小売業におけるコンピュータービジョン

Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン

医療分野におけるコンピュータービジョン

Ultralytics YOLOモデルで医療ソリューションを構築しましょう。医療分野のビジョンAIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳しく見る
製造業におけるコンピュータービジョン

製造業におけるコンピュータービジョン

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPE準拠、組立ラインの自動化を推進します。
詳しく見る
自動車分野におけるコンピュータービジョン

自動車分野におけるコンピュータービジョン

Ultralytics YOLOモデルで自動車分野にコンピュータービジョンを導入しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳しく見る
農業におけるコンピュータービジョン

農業におけるコンピュータービジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る

AIの未来を一緒に築きましょう!

機械学習の未来に向けた歩みを始めましょう