(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-12-14
(54)【発明の名称】手術能力を評価するためのシステム及び方法
(51)【国際特許分類】
G16H 50/20 20180101AFI20231207BHJP
【FI】
G16H50/20
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023533964
(86)(22)【出願日】2021-11-26
(85)【翻訳文提出日】2023-07-31
(86)【国際出願番号】 US2021060900
(87)【国際公開番号】W WO2022119754
(87)【国際公開日】2022-06-09
(32)【優先日】2020-12-03
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】510253996
【氏名又は名称】インテュイティブ サージカル オペレーションズ, インコーポレイテッド
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ブラウン,クリステン
(72)【発明者】
【氏名】ブハッタチャリヤ,キラン
(72)【発明者】
【氏名】ジャーク,アンソニー
(72)【発明者】
【氏名】クラソン,スー
(72)【発明者】
【氏名】ゾウ,リンリン
(72)【発明者】
【氏名】ジア,アネーク
【テーマコード(参考)】
5L099
【Fターム(参考)】
5L099AA00
(57)【要約】
開示された様々な実施形態は、手術パフォーマンスを測定及び監視するためのコンピュータシステム及びコンピュータ実装された方法に関する。例えば、システムは、手術室から取得した生データを受け取り、分析に適したデータから特徴を生成及び選択し、選択された特徴を使用して機械学習分類器をトレーニングして、他の外科医のパフォーマンスのその後の評価を容易にし得る。特徴の生成及び選択自体が、いくつかの実施形態において機械学習分類器の適用を伴い得る。いくつかの実施形態は、手術ロボットシステムから取得した生データを考えているが、いくつかの実施形態は、非ロボット手術室から取得したデータによる評価を容易にする。
【特許請求の範囲】
【請求項1】
手術データに基づいてスコアを生成するためのコンピュータ実装された方法であって、前記方法は:
手術データを取得するステップ;
前記手術データを複数のメトリック値に変換するステップ;及び
少なくとも部分的に機械学習モデルを使用して、前記手術データに関連するスコアを生成するステップ;を含む、
コンピュータ実装された方法。
【請求項2】
スコアを生成するステップは:
予測を生成するために前記機械学習モデルに前記メトリック値を提供するステップ;及び
前記予測をスコアにマッピングするステップ;を含む、
請求項1に記載のコンピュータ実装された方法。
【請求項3】
前記機械学習モデルは:
ニューラルネットワーク;
サポートベクターマシン;
ランダムフォレスト;
ロジスティック回帰分類器;及び
データのパターンに基づいて分類を予測するように設定されたロジック;
のうちの1つ以上を含む、
請求項2に記載のコンピュータ実装された方法。
【請求項4】
前記機械学習モデルはロジスティック回帰分類器であり、
前記スコアを生成するステップは、前記ロジスティック回帰分類器に前記メトリック値を入力するステップ及び前記ロジスティック回帰分類器の出力をスキルスコアへの分類器結果のマッピングに適用するステップを含み、前記スキルスコアへの前記分類器結果のマッピングは参照母集団からの手術データに基づいて生成される、
請求項2に記載のコンピュータ実装された方法。
【請求項5】
前記手術データは、患者側運動学データ、外科医側運動学データ、視覚化ツールビデオ、及びシステムイベントの1つ以上を含む、
請求項2又は4に記載のコンピュータ実装された方法。
【請求項6】
前記メトリックは、少なくとも部分的に、単一のOPI統計分布分析フィルタを使用して選択された、
請求項2に記載のコンピュータ実装された方法。
【請求項7】
前記メトリックは、少なくとも部分的に、複数のOPI統計分布分析フィルタを使用して選択された、
請求項2に記載のコンピュータ実装された方法。
【請求項8】
前記メトリックは、少なくとも部分的に、複数のOPI予測モデルフィルタを使用して選択された、
請求項2に記載のコンピュータ実装された方法。
【請求項9】
前記メトリックは、前記機械学習モデルのトレーニング中に交差検証で選択された、
請求項2、6、7、又は8に記載のコンピュータ実装された方法。
【請求項10】
前記方法はさらに:
外科医の手術パフォーマンスの過程にわたって生成されるいくつかのスコアの1つとして前記スコアを提示するステップを含む、
請求項2に記載のコンピュータ実装された方法。
【請求項11】
前記スコアはスキルスコアであり、前記機械学習モデルはスキルモデルである、
請求項10に記載のコンピュータ実装された方法。
【請求項12】
前記スコアはタスクスコアであり、前記機械学習モデルはタスクモデルである、
請求項10に記載のコンピュータ実装された方法。
【請求項13】
コンピュータシステムに方法を実行させるように構成された命令を含む非一時的コンピュータ可読媒体であって、前記方法は:
手術データを取得するステップ;
前記手術データを複数のメトリック値に変換するステップ;及び
少なくとも部分的に機械学習モデルを使用して、前記手術データに関連するスコアを生成するステップ;を含む、
非一時的コンピュータ可読媒体。
【請求項14】
前記スコアを生成するステップは:
予測を生成するために前記機械学習モデルに前記メトリック値を提供するステップ;及び
前記予測をスコアにマッピングするステップ;を含む、
請求項13に記載の非一時的コンピュータ可読媒体。
【請求項15】
前記機械学習モデルは:
ニューラルネットワーク;
サポートベクターマシン;
ランダムフォレスト;
ロジスティック回帰分類器;及び
データのパターンに基づいて分類を予測するように設定されたロジック;
のうちの1つ以上を含む、
請求項14に記載の非一時的コンピュータ可読媒体。
【請求項16】
前記機械学習モデルはロジスティック回帰分類器であり、
前記スコアを生成するステップは、前記ロジスティック回帰分類器に前記メトリック値を入力するステップ及び前記ロジスティック回帰分類器の出力をスキルスコアへの分類器結果のマッピングに適用するステップを含み、前記スキルスコアへの前記分類器結果のマッピングは参照母集団からの手術データに基づいて生成される、
請求項14に記載の非一時的コンピュータ可読媒体。
【請求項17】
前記手術データは、患者側運動学データ、外科医側運動学データ、視覚化ツールビデオ、及びシステムイベントのうちの1つ以上を含む、
請求項14又は16に記載の非一時的コンピュータ可読媒体。
【請求項18】
前記メトリックは、少なくとも部分的に、単一のOPI統計分布分析フィルタを使用して選択された、
請求項14に記載の非一時的コンピュータ可読媒体。
【請求項19】
前記メトリックは、少なくとも部分的に、複数のOPI統計分布分析フィルタを使用して選択された、
請求項14に記載の非一時的コンピュータ可読媒体。
【請求項20】
前記メトリックは、少なくとも部分的に、複数のOPI予測モデルフィルタを使用して選択された、
請求項14に記載の非一時的コンピュータ可読媒体。
【請求項21】
前記メトリックは、前記機械学習モデルのトレーニング中に交差検証で選択された、
請求項14、18、19、又は20に記載の非一時的コンピュータ可読媒体。
【請求項22】
前記方法はさらに:
外科医の手術パフォーマンスの過程にわたって生成されるいくつかのスコアの1つとして前記スコアを提示するステップを含む、
請求項14に記載の非一時的コンピュータ可読媒体。
【請求項23】
前記スコアはスキルスコアであり、前記機械学習モデルはスキルモデルである、
請求項22に記載の非一時的コンピュータ可読媒体。
【請求項24】
前記スコアはタスクスコアであり、前記機械学習モデルはタスクモデルである、
請求項22に記載の非一時的コンピュータ可読媒体。
【請求項25】
コンピュータシステムであって:
少なくとも1つのプロセッサ;及び
少なくとも1つのメモリ、を有し、前記少なくとも1つのメモリは、前記コンピュータシステムに方法を実行させるように構成された命令を含み、前記方法は:
手術データを取得するステップ;
前記手術データを複数のメトリック値に変換するステップ;及び
少なくとも部分的に機械学習モデルを使用して、前記手術データに関連するスコアを生成するステップ;を含む、
コンピュータシステム。
【請求項26】
前記スコアを生成するステップは:
予測を生成するために前記機械学習モデルに前記メトリック値を提供するステップ;及び
前記予測をスコアにマッピングするステップ;を含む、
請求項25に記載のコンピュータシステム。
【請求項27】
前記機械学習モデルは:
ニューラルネットワーク;
サポートベクターマシン;
ランダムフォレスト;
ロジスティック回帰分類器;及び
データのパターンに基づいて分類を予測するように設定されたロジック;
のうちの1つ以上を含む、
請求項26に記載のコンピュータシステム。
【請求項28】
前記機械学習モデルはロジスティック回帰分類器であり、
前記スコアを生成するステップは、前記ロジスティック回帰分類器に前記メトリック値を入力するステップ及び前記ロジスティック回帰分類器の出力をスキルスコアへの分類器結果のマッピングに適用するステップを含み、前記スキルスコアへの前記分類器結果のマッピングは参照母集団からの手術データに基づいて生成される、
請求項26に記載のコンピュータシステム。
【請求項29】
前記手術データは、患者側運動学データ、外科医側運動学データ、視覚化ツールビデオ、及びシステムイベントの1つ以上を含む、
請求項26又は28に記載のコンピュータシステム。
【請求項30】
前記メトリックは、少なくとも部分的に、単一のOPI統計分布分析フィルタを使用して選択された、
請求項26に記載のコンピュータシステム。
【請求項31】
前記メトリックは、少なくとも部分的に、複数のOPI統計分布分析フィルタを使用して選択された、
請求項26に記載のコンピュータシステム。
【請求項32】
前記メトリックは、少なくとも部分的に、複数のOPI予測モデルフィルタを使用して選択された、
請求項26に記載のコンピュータシステム。
【請求項33】
前記メトリックは、前記機械学習モデルのトレーニング中に交差検証で選択された、
請求項26、30、31、又は32に記載のコンピュータシステム。
【請求項34】
前記方法はさらに:
外科医の手術パフォーマンスの過程にわたって生成されるいくつかのスコアの1つとして前記スコアを提示するステップを含む、
請求項26に記載のコンピュータシステム。
【請求項35】
前記スコアはスキルスコアであり、前記機械学習モデルはスキルモデルである、
請求項34に記載のコンピュータシステム。
【請求項36】
前記スコアはタスクスコアであり、前記機械学習モデルはタスクモデルである、
請求項34に記載のコンピュータシステム。
【請求項37】
手術評価メトリックを選択するためのコンピュータ実装された方法であって、前記方法は:
手術データメトリックタイプの第1のコーパスを取得するステップ;
手術データメトリックタイプの第1のコーパスに第1のフィルタを適用して手術データメトリックタイプの第2のコーパスを生成するステップであって、前記第2のコーパスは前記第1のコーパスのサブセットである、ステップ;
前記第1のコーパスに第2のフィルタを適用して手術データメトリックタイプの第3のコーパスを生成するステップ;
前記第2のコーパスと前記第3のコーパスの和集合を取って手術データメトリックタイプの第4のコーパスを生成するステップ;
前記第4のコーパスの前記手術データメトリックタイプの手術データから複数のメトリック値を生成するステップ;及び
前記複数のメトリック値を使用して、専門家と非専門家の手術データのメトリック値を区別するための機械学習モデルをトレーニングするステップ;を含む、
コンピュータ実装された方法。
【請求項38】
前記手術データメトリックタイプの第1のコーパスは、客観的パフォーマンス指標(OPI)メトリックタイプであり、
前記手術データメトリックタイプの第2のコーパスは、OPIメトリックタイプであり、
前記手術データメトリックタイプの第3のコーパスは、OPIメトリックタイプであり、
前記手術データメトリックタイプの第4のコーパスは、OPIメトリックタイプであり、
前記第1のフィルタは、統計分布分析(SOSDA)フィルタ及びマルチOPI統計分布分析(MOSDA)フィルタのうちの1つであり、
前記第2のフィルタは、マルチOPI予測モデル(MOPM)フィルタである、
請求項37に記載のコンピュータ実装された方法。
【請求項39】
前記第1のフィルタはマンホイットニーUテストによるOPI専門家分布と非専門家分布の比較を含み、前記第2のフィルタは再帰的特徴消去を含む、
請求項38に記載のコンピュータ実装された方法。
【請求項40】
前記スコアは、スキルスコア及びタスクスコアのうちの1つであり、前記機械学習モデルはスキルモデル及びタスクモデルのうちの1つである、
請求項39に記載のコンピュータ実装された方法。
【請求項41】
コンピュータシステムに方法を実行させるように構成された命令を含む非一時的コンピュータ可読媒体であって、前記方法は:
手術データメトリックタイプの第1のコーパスを取得するステップ;
手術データメトリックタイプの第1のコーパスに第1のフィルタを適用して手術データメトリックタイプの第2のコーパスを生成するステップであって、前記第2のコーパスは前記第1のコーパスのサブセットである、ステップ;
前記第1のコーパスに第2のフィルタを適用して手術データメトリックタイプの第3のコーパスを生成するステップ;
前記第2のコーパスと前記第3のコーパスの和集合を取って手術データメトリックタイプの第4のコーパスを生成するステップ;
前記第4のコーパスの前記手術データメトリックタイプの手術データから複数のメトリック値を生成するステップ;及び
前記複数のメトリック値を使用して、専門家と非専門家の手術データのメトリック値を区別するための機械学習モデルをトレーニングするステップ;を含む、
非一時的コンピュータ可読媒体。
【請求項42】
前記手術データメトリックタイプの第1のコーパスは、客観的パフォーマンス指標(OPI)メトリックタイプであり、
前記手術データメトリックタイプの第2のコーパスは、OPIメトリックタイプであり、
前記手術データメトリックタイプの第3のコーパスは、OPIメトリックタイプであり、
前記手術データメトリックタイプの第4のコーパスは、OPIメトリックタイプであり、
前記第1のフィルタは、統計分布分析(SOSDA)フィルタ及びマルチOPI統計分布分析(MOSDA)フィルタのうちの1つであり、
前記第2のフィルタは、マルチOPI予測モデル(MOPM)フィルタである、
請求項41に記載の非一時的コンピュータ可読媒体。
【請求項43】
前記第1のフィルタはマンホイットニーUテストによるOPI専門家分布と非専門家分布の比較を含み、前記第2のフィルタは再帰的特徴消去を含む、
請求項42に記載の非一時的コンピュータ可読媒体。
【請求項44】
前記スコアは、スキルスコア及びタスクスコアのうちの1つであり、前記機械学習モデルはスキルモデル及びタスクモデルのうちの1つである、
請求項43に記載の非一時的コンピュータ可読媒体。
【請求項45】
コンピュータシステムであって:
少なくとも1つのプロセッサ;及び
少なくとも1つのメモリ、を有し、前記少なくとも1つのメモリは、前記コンピュータシステムに方法を実行させるように構成された命令を含み、前記方法は:
手術データメトリックタイプの第1のコーパスを取得するステップ;
手術データメトリックタイプの第1のコーパスに第1のフィルタを適用して手術データメトリックタイプの第2のコーパスを生成するステップであって、前記第2のコーパスは前記第1のコーパスのサブセットである、ステップ;
前記第1のコーパスに第2のフィルタを適用して手術データメトリックタイプの第3のコーパスを生成するステップ;
前記第2のコーパスと前記第3のコーパスの和集合を取って手術データメトリックタイプの第4のコーパスを生成するステップ;
前記第4のコーパスの前記手術データメトリックタイプの手術データから複数のメトリック値を生成するステップ;及び
前記複数のメトリック値を使用して、専門家と非専門家の手術データのメトリック値を区別するための機械学習モデルをトレーニングするステップ;を含む、
コンピュータシステム。
【請求項46】
前記手術データメトリックタイプの第1のコーパスは、客観的パフォーマンス指標(OPI)メトリックタイプであり、
前記手術データメトリックタイプの第2のコーパスは、OPIメトリックタイプであり、
前記手術データメトリックタイプの第3のコーパスは、OPIメトリックタイプであり、
前記手術データメトリックタイプの第4のコーパスは、OPIメトリックタイプであり、
前記第1のフィルタは、統計分布分析(SOSDA)フィルタ及びマルチOPI統計分布分析(MOSDA)フィルタのうちの1つであり、
前記第2のフィルタは、マルチOPI予測モデル(MOPM)フィルタである、
請求項45に記載のコンピュータシステム。
【請求項47】
前記第1のフィルタはマンホイットニーUテストによるOPI専門家分布と非専門家分布の比較を含み、前記第2のフィルタは再帰的特徴消去を含む、
請求項46に記載のコンピュータシステム。
【請求項48】
前記スコアは、スキルスコア及びタスクスコアのうちの1つであり、前記機械学習モデルはスキルモデル及びタスクモデルのうちの1つである、
請求項47に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本出願は、2020年12月3日に出願された「“SYSTEMS AND METHODS FOR ASSESSING SURGICAL ABILITY」と題する米国仮出願No.63/121,220の利益及び優先権を主張し、同仮出願はすべての目的のために参照によりその全体が本出願に組み込まれる。
【0002】
開示された様々な実施形態は、手術パフォーマンスを測定及び監視するためのコンピュータシステム及びコンピュータ実装された方法に関する。
【背景技術】
【0003】
多くの課題が手術スキル評価を複雑にしており、外科医に手術パフォーマンスに関する有意義なフィードバックを提供することは非常に困難にしている。例えば、特定の手術スキルを術後の結果(outcomes)アウトカムのみに基づいて実際には評価することはできない。なぜなら、スキル(skill(技能))に関係のない複数のスキルと累積要因が最終的な結果に寄与し、単一のスキルの影響を曖昧にしているからである。代わりに、外科医のスキルを外科手術中に直接又は記録されたビデオを介して観察することもできるが、このようなリアルタイム及びビデオベースのレビューでは、上級外科医のような人間の専門家が、手術室で、又はビデオに登場する手術スキルを認識し評価する必要がある。残念ながら、このような人間の観察者による評価は、主観的であることが多く、(少なくとも人間のレビュー担当者の存在が必要であるという理由で)規模が低く、所与の種類の外科手術に対する「専門の」の外科医は、ビデオを生成する「初心者」の外科医よりもはるかに少ないことが多いため、手配が困難な場合がある。さらに、多くの専門の外科医は、需要が高く、手術を自身で行う代わりにそのようなビデオをレビューすることに時間を割くことに当然消極的である。
【0004】
新しい手術ツール及び新しい手術ロボットシステムのデータ収集能力によって膨大な量の手術データが利用可能になったが、このデータは、上記の課題を解決できないだけでなく、今克服しなければならない独自の課題ももたらす。例えば、生(raw)データが特定の手術技術と直接相関することはほとんどないため、レビュー担当者は、審査したい技術とレビューに利用できる生データとの間の相関関係を推測するのに苦労しなければならない。同様に、「専門家」と「初心者」の外科医の集団の間の前述したかなりの非対称性が、収集されたデータにしばしば反映され、あらゆる自動データ分析を実行する努力を複雑にしている。
【0005】
したがって、マニュアルレビューのための専門家への依存を減らす、拡張可能で自動化された手術技術評価システムの必要性が存在する。同様に、専門家と非専門家の間で利用可能なデータのかなりの非対称性を説明できるシステムが必要である。このようなシステムは、また、理想的には、外科医に実行可能なフィードバックを提供するのに適した方法で評価を行うことになる。
【図面の簡単な説明】
【0006】
ここで紹介する様々な実施形態は、添付の図面と併せて以下の詳細な説明を参照することによって、よりよく理解することができる。添付の図面では、同様の参照番号が同一又は機能的に類似した要素を示している。
【0007】
【
図1A】いくつかの実施形態に関連して発生し得る外科手術中に外科手術室に現れる様々な要素の概略図である。
【0008】
【
図1B】いくつかの実施形態に関連して発生し得る手術ロボットを使用する外科手術中に外科手術室に現れる様々な要素の概略図である。
【0009】
【
図2A】機械学習モデル及び方法論の従来のグループ分けを示す概略オイラー図である。
【0010】
【
図2B】
図2Aの従来のグループ分けに従った例示的な教師なし学習方法の様々な動作を示す概略図である。
【0011】
【
図2C】
図2Aの従来のグループ分けに従った例示的な教師あり学習方法の様々な動作を示す概略図である。
【0012】
【
図2D】
図2Aの従来のグループ分けに従った例示的な半教師あり学習方法の様々な動作を示す概略図である。
【0013】
【
図2E】
図2Aの従来のグループ分けに従った例示的な強化学習方法の様々な動作を示す概略図である。
【0014】
【
図2F】機械学習モデル、機械学習モデルアーキテクチャ、機械学習方法論、機械学習方法、及び機械学習実装間の関係を示す概略ブロック図である。
【0015】
【
図3A】例示的なサポートベクターマシン(SVM)機械学習モデルアーキテクチャの様々な態様の動作の概略図である。
【0016】
【
図3B】例示的なランダムフォレスト機械学習モデルアーキテクチャの動作の様々な態様の概略図である。
【0017】
【
図3C】例示的なニューラルネットワーク機械学習モデルアーキテクチャの動作の様々な態様の概略図である。
【0018】
【
図3D】
図3Cの例示的なニューラルネットワークアーキテクチャのノードにおける入力と出力の間の可能な関係の概略図である。
【0019】
【
図3E】ベイジアンニューラルネットワークで発生し得る例示的な入出力関係の変動の概略図である。
【0020】
【
図3F】例示的なディープラーニングアーキテクチャの動作の様々な態様の概略図である。
【0021】
【
図3G】例示的なアンサンブルアーキテクチャの動作の様々な態様の概略図である。
【0022】
【
図3H】例示的な機械学習パイプライントポロジの様々な動作を示す概略ブロック図である。
【0023】
【
図4A】様々な機械学習モデルトレーニング方法に共通する様々な動作を示す概略フロー図である。
【0024】
【
図4B】さまざまな機械学習モデル推論方法に共通するさまざまな動作を示す概略的なフロー図である。
【0025】
【
図4C】いくつかのアーキテクチャ及びトレーニング方法においてブロック405bで発生するさまざまな反復トレーニング動作を示す概略的なフロー図である。
【0026】
【
図4D】トレーニング方法と推論方法の間の厳格な区別を欠いたさまざまな機械学習方法の動作を示す概略的なブロック図である。
【0027】
【
図4E】アーキテクチャトレーニング方法と推論方法の間の例示的な関係を示す概略的なブロック図である。
【0028】
【
図4F】機械学習モデルトレーニング方法と推論方法の間の例示的な関係を示す概略的なブロック図であり、トレーニング方法はさまざまなデータサブセット操作を含む。
【0029】
【
図4G】トレーニングデータのトレーニングサブセット、検証サブセット、及びテストサブセットへの例示的な分解を示す概略的なブロック図である。
【0030】
【
図4H】転移学習を組み込んだトレーニング方法におけるさまざまな動作を示す概略的なブロック図である。
【0031】
【
図4I】オンライン学習を組み込んだ例示的なトレーニング方法におけるさまざまな動作を示す概略的なブロック図である;
【0032】
【
図4J】例示的な敵対的生成ネットワーク方法におけるさまざまなコンポーネントを示す概略的なブロック図である。
【0033】
【
図5A】いくつかの実施形態において処理システムで受信され得る手術データの概略図である。
【0034】
【
図5B】様々な開示された実施形態と組み合わせて使用され得る例示的なタスクの表である。
【0035】
【
図6】いくつかの実施形態で発生し得る手術スキル(又はタスク)評価を実行するための情報フローを示す概略図である。
【0036】
【
図7A】いくつかの実施形態で実行され得るスキルモデルを生成し適用するプロセスにおける様々な動作を示すフロー図である。
【0037】
【
図7B】いくつかの実施形態で実施され得る手術スコアを決定するスキルモデルの例示的な適用で採用される様々なコンポーネントを示す概略図である。
【0038】
【
図7C】いくつかの実施形態で実施され得る例示的なウィンドウニングスコア(windowing score)生成プロセスの適用を示す概略図である。
【0039】
【
図7D】いくつかの実施形態で作成され得る時間の経過に伴う例示的なスキルスコア出力のプロットである。
【0040】
【
図8A】いくつかの実施形態で使用され得る様々なメトリック(metrics)とデータ構造の間の関係を示す概略図である。
【0041】
【
図8B】いくつかの実施形態において1つ以上の客観的パフォーマンス指標(OPI)を生成するために使用され得る、例示的な生データ入力、具体的には、3次元空間における鉗子並進運動の概略図である。
【0042】
【
図8C】いくつかの実施形態において1つ以上のOPIを生成するために使用され得る、例示的な生データ入力、具体的には、複数の鉗子コンポーネント軸(forceps component axes)周りの3次元空間における複数の回転の概略図である。
【0043】
【
図8D】いくつかの実施形態において適用され得る例示的なスキルへのOPI及びタスクへのスキルへのマッピングを示す表のペアである。
【0044】
【
図9A】いくつかの実施形態において実装され得る、スキル、スキルモデル、及びOPI間の関係の例示的なセットを示す概略図である。
【0045】
【
図9B】いくつかの実施形態において実装され得る所与のスキル又はタスクのOPIサブセットをフィルタリングするためのOPI関連評価システムの動作を示す概略ブロック図である。
【0046】
【
図9C】いくつかの実施形態においてOPI関連評価システムに実装され得る例示的なフィルタリングフレームワークを示す概略図である。
【0047】
【
図10A】いくつかの実施形態において実装され得る、単一OPI統計分布分析(SOSDA)又はマルチOPI統計分布分析(MOSDA)フィルタリングによるOPIを選択するための例示的なプロセスを示すフロー図である。
【0048】
【
図10B】いくつかの実施形態で検討され得る、例示的な類似及び非類似の専門家及び非専門家のOPI値分布の概略プロットのペアである。
【0049】
【
図10C】いくつかの実施形態で実装され得る、マルチOPI予測モデル(MOPM)フィルタを使用するOPI選択を実行するための例示的なプロセスを示すフロー図である。
【0050】
【
図11A】いくつかの実施形態で実装され得る、スキル(又はタスク)モデル構成及びOPI選択を評価するための例示的なプロセスにおける様々な動作を示すフロー図である。
【0051】
【
図11B】いくつかの実施形態において
図11Aのプロセスに従ってトレーニングするときに適用され得る例示的なトレーニングデータセットの内訳である。
【0052】
【
図12A】いくつかの実施形態において発生し得る抽象特徴空間におけるトレーニング特徴ベクトル及び推論特徴ベクトルの概略プロットである。
【0053】
【
図12B】いくつかの実施形態において実行され得る参照母集団に基づいてモデル出力からスコアマッピングを決定するための例示的なプロセスにおける様々な動作を示すフロー図である。
【0054】
【
図12C】いくつかの実施形態において実行され得る参照集団ベースのスコア決定の例示的な適用を示す概略図である。
【0055】
【
図13A】いくつかの実施形態においてスコア生成のために使用され得る階層的入出力トポロジを示す概略ブロック図である。
【0056】
【
図13B】いくつかの実施形態において実装され得る外科医のパフォーマンスのビデオ上のパフォーマンスメトリックオーバーレイを描いたグラフィカルユーザインターフェイスのスクリーンショットの概略図である。
【0057】
【
図13C】いくつかの実施形態において実装され得るスキル評価システムのための例示的な更新プロセスにおける様々な動作を示すフロー図である。
【0058】
【
図14A】一実施形態の実践への例示的な還元での使用に利用可能なデータサンプルの種類及び量の棒グラフである。
【0059】
【
図14B】一実施形態の実践への例示的な還元におけるスキルタスク及び全体的なタスクロジスティック回帰モデルのそれぞれについて、平均交差検証パフォーマンスメトリック、具体的には均衡精度及びマシューズ相関係数(MCC)を示す表である。
【0060】
【
図15】一実施形態の例示的な実装におけるリサンプリングの適用前後における、子宮角タスクにおける4つの器具の動き値の経済性を示す一対の概略ドットプロットである。
【0061】
【
図16】一実施形態の例示的な実装における、練習への削減の例における経験レベルによるタスク期間の分布と、再帰的特徴消去(RFE)を使用してスキルあたりのさまざまな数のOPIのクロス検証スコアを示す概略線プロットのコレクションである。
【0062】
【
図17】OPIの例示的なコレクション、それぞれの説明、及び、さまざまなスキル及びタスクとの関係をリストにした表である。
【0063】
【
図18】OPIの例示的なコレクション、それぞれの説明、及び、さまざまなスキル及びタスクとの関係をリストにした表である。
【0064】
【
図19】OPIの例示的なコレクション、それぞれの説明、及び、さまざまなスキル及びタスクとの関係をリストにした表である。
【0065】
【
図20】OPIの例示的なコレクション、それぞれの説明、及び、さまざまなスキル及びタスクとの関係をリストにした表である。
【0066】
【
図21】実施形態のいくつかと組み合わせて使用される例示的なコンピュータシステムのブロック図である。
【0067】
図面に描かれている具体例は、理解することを容易にするために選択されている。したがって、開示された実施形態は、図面の特定の詳細又は対応する開示に限定されるべきではない。例えば、図面は縮尺通りに描かれていない可能性がありし、図面のいくつかの要素の寸法は理解を容易にするために調整されていることがあり、フロー図に関連する実施形態の動作は、ここに示されている動作よりも追加的、代替的、又は少ない動作を含むことがある。したがって、いくつかのコンポーネント及び/又は動作は、示されている以外の方法で異なるブロックに分離される又は1つのブロックに結合される可能性がある。実施形態は、実施形態を記述又は描かれた特定の例に限定するのではなく、開示された例の範囲内にあるすべての修正、均等物、及び代替物をカバーすることを意図している。
【発明を実施するための形態】
【0068】
手術室の概要の例
図1Aは、いくつかの実施形態に関連して発生し得る手術中に手術室100aに現れる様々な要素の概略図である。特に、
図1Aは非ロボット手術室100aを示し、患者側の外科医105aは、1人以上の補助メンバー105bの支援を受けて患者120に対して手術を行い、この1人以上の補助メンバー自体は、外科医、医師の助手、看護師、技師などであり得る。外科医105aは、様々なツール、例えば、腹腔鏡下超音波又は内視鏡などの視覚化ツール110b、及び、ハサミ、開創器、ディセクタなどの機械的エンドエフェクタ110aを使用して手術を行い得る。
【0069】
視覚化ツール110bは、例えば、視覚化ツール110bと機械的及び電気的に結合されたカメラからの視覚化出力を表示することによって、外科医105aに患者120の内部ビューを提供する。外科医は、例えば、視覚化ツール110bと結合された接眼レンズを通して又は視覚化出力を受信するように構成されたディスプレイ125上で、視覚化出力を見ることができる。例えば、視覚化ツール110bが内視鏡である場合、視覚化出力はカラー又はグレースケール画像であり得る。ディスプレイ125は、補助メンバー105bが外科医105aの手術中の進行を監視することを可能にし得る。視覚化ツール110bからの視覚化出力は、例えば、視覚化ツール110b自体のハードウェア又はソフトウェアを使用すること、視覚化出力をディスプレイ125に提供されるときに並行してキャプチャすること、又はディスプレイ125からの出力が画面上に表示されたらキャプチャすることによって、将来のレビューのために記録及び保存され得る。視覚化ツール110bを使用した二次元ビデオキャプチャについては、視覚化ツール110bが内視鏡である場合と同様に、ここで広く議論されることがあるが、いくつかの実施形態では、視覚化ツール110bが(例えば、レーザー距離計、立体視などで)二次元画像データの代わりに、又はそれに加えて深度データをキャプチャし得ることは理解できるだろう。したがって、このような三次元深度データが利用可能な場合には、ここで準用して説明する二次元動作(operations(演算))をこのような三次元深度データに適用することが可能であることは理解できるだろう。例えば、機械学習モデル入力は、このような深度データから得られる特徴を受け入れるように拡張又は変更され得る。
【0070】
単一の手術は、いくつかの動作のグループの実行を含むことがあり、各動作のグループは、ここではタスクと呼ばれる個別のユニット(unit(単位))を形成する。例えば、腫瘍の位置を特定することは、第1のタスクであり得、腫瘍を切除することが第2のタスクであり得、手術部位を閉鎖することが第3のタスクであり得る。各タスクには複数の動作が含まれる場合があり、例えば、腫瘍切除タスクにはいくつかの切除動作といくつかの焼灼動作が必要な場合がある。いくつかの手術では、タスクが特定の順序(例えば閉鎖前に切除が行われる)を想定する必要があるが、いくつかの手術におけるいくつかのタスクの順序及び存在を変更することが許可される場合がある(例えば、予防的タスクの排除又は順序が影響しない切除タスクの順序変更)。タスク間の移行では、外科医105aが、患者からツールを取り外すこと、ツールを別のツールに交換すること、新しいツールを導入することを必要とする場合がある。一部のタスクでは、視覚化ツール110bを取り外し、前のタスクの位置を基準に再配置する必要がある場合がある。一部の補助メンバー105bは、患者120に麻酔115を投与するなどの手術関連のタスクを支援する場合がある一方で、補助メンバー105bは、これらのタスクの移行を支援する場合もある、例えば、新しいツール110cの必要性を予測すること。
【0071】
技術の進歩により、
図1Aに示されているような処置をロボットシステムでも実行できるようになり、非ロボット手術室100aでは実行できない処置を実行できるようになった。具体的には、
図1Bは、いくつかの実施形態に関連して発生し得る、da Vinci(商標)手術システムなど手術ロボットを使用した外科手術中に、手術室100bに出現する様々な要素の概略図である。ここで、複数のアーム135a、135b、135c、135dのそれぞれに取り付けられたツール140a、140b、140c、140dを持つ患者側カート130は、患者側外科医105aの位置を取り得る。以前と同様に、ツール140a、140b、140c、140dは、内視鏡、腹腔鏡超音波などの視覚化ツール140dを含み得る。外科医であり得るオペレータ105cは、外科医コンソール155上のディスプレイ160aを通じて視覚化ツール140dの出力を見ることができる。ハンドヘルド入力機構160b及びペダル160cを操作することにより、オペレータ105cは患者側カート130上のツール140a-dと遠隔で通信し、患者120に対して手術処置を行うことができる。実際、いくつかの実施形態では外科医コンソール155と患者側カート130との間の通信が通信ネットワークを介して発生する可能性があるため、オペレータ105cは患者側カート130と患者120と同じ物理的位置にいてもよく又はいなくてもよい。電子機器/制御コンソール145は、患者のバイタル及び/又は視覚化ツール140dの出力を描写するディスプレイ150を含むこともできる。
【0072】
非ロボット手術室100aのタスク移行と同様に、手術室100bの手術動作は、視覚化ツール140dを含むツール140a-dを、様々なタスクのために取り外したり交換したりする必要があるだけでなく、新しいツール例えば、新しいツール165を導入することを必要とする場合もある。以前と同様に、一人以上の補助メンバー105dは、手術の進行に応じてオペレータ105cと協力して必要な調整を行うためにこのような変更を予測できる。
【0073】
また、非ロボット手術室100aと同様に、視覚化ツール140dからの出力は、ここでは、例えば、患者側カート130、外科医コンソール155、ディスプレイ150などから記録され得る。非ロボット手術室100aの一部のツール110a、110b、110cは、温度、動き、伝導率、エネルギレベルなどの追加データを記録し得るが、手術室100bの外科医コンソール155及び患者側カート130の存在は、視覚化ツール140dからの出力のみよりもかなり多くのデータの記録を容易にし得る。例えば、オペレータ105cのハンドヘルド入力機構160bの操作、ペダル160cの作動、ディスプレイ160a内の眼球運動などがすべて記録され得る。同様に、患者側カート130は、手術中のツールの作動(例えば、放射エネルギの印加、ハサミの閉鎖など)、エンドエフェクタの動きなどを記録し得る。
【0074】
機械学習の基礎概念-概要
このセクションでは、開示されたさまざまな実施形態に関連し得る機械学習モデルのアーキテクチャ及び方法の基本的な説明を提供する。機械学習は広大で異質な景観を構成し、多くの突発的で重複する発展を経験してきた。この複雑さを考えると、実践者は常に用語を一貫して又は厳密に明確に使用してきたわけではない。したがって、このセクションでは、開示された実施形態の実体についての読者の理解をより確実にするための共通の基盤を提供しようとする。すべての既知の機械学習モデルだけでなく、そのアーキテクチャ、タスク、方法、及び方法論のすべての既知の変形に完全に対処することは、ここでは実現不可能であることがわかるだろう。代わりに、ここで議論されている例は単に代表的なものであり、開示されているさまざまな実施形態は、明示的に議論されているものよりも多くの他のアーキテクチャ及び方法を採用し得ることがわかるだろう。
【0075】
既存の文献を基準にして読者の方向を決めるために、
図2Aは、手法とも呼ばれる、機械学習モデルと方法論の従来から認識されているグループを、概略オイラー図の形で示している。
図2Aのグループは、
図2Fに関して機械学習分野のより包括的な説明が提供される前に、読者を方向付けるために従来の方法で
図2B-Eを参照して説明する。
【0076】
図2Aの従来のグループ分けは、通常、モデルが受け取ることが期待される入力の性質、又はその方法論が動作することが期待される入力の性質に基づいて、機械学習モデルとその方法論を区別する。教師なし学習方法論は、出力メタデータ(「ラベルなしデータ」とも呼ばれる)を欠いている入力データセットから、又はそのようなメタデータが存在する場合は無視することによって、推論を引き出す。例えば、
図2Bに示すように、教師なしK最近接(KNN)モデルアーキテクチャは、特徴空間205a内の円で表される複数のラベルなし入力を受け取り得る。特徴空間は、与えられたモデルアーキテクチャが動作するように構成された入力の数学的空間である。例えば、128×128のグレースケールのピクセル画像がKNNへの入力として提供された場合、それは16,384の「特徴」(すなわち、生ピクセル値)の線形配列として扱われ得る。この場合、特徴空間は16,384次元空間となる(理解を容易にするため、2次元のみの空間を
図2Bに示す。)。代わりに、例えば、フーリエ変換がピクセルデータに適用された場合、結果として得られる周波数の大きさと位相は、モデルアーキテクチャに入力される「特徴」として機能し得る。特徴空間の入力値は、特徴「ベクトル」と呼ばれることがあるが、すべてのモデルアーキテクチャが線形形式で特徴入力を受け取ることを期待しているわけではないことがわかる(例えば、いくつかのディープラーニングネットワークは入力特徴を行列又はテンソルとして期待している)。したがって、特徴のベクトル、特徴の行列などへの言及は、そうでないことを示すコンテキストがないモデルアーキテクチャに入力される可能性のある形式の例と見るべきである。同様に、「入力」への言及は、アーキテクチャに受け入れ可能な可能性のある特徴タイプ又は形式を含むと理解される。
図2Bの例を続けると、KNN分類器(KNN classifier)は、入力ベクトルと、図に示された正方形、三角形、及び六角形によって表されるようにKNN分類器によって決定されたさまざまなグループとの間の関連付けを出力し得る。したがって、教師なし方法論には、例えば、この例のようにデータ内のクラスタを決定すること、データ入力を表すために使用される特徴次元を削減又は変更することなどが含まれ得る。
【0077】
教師あり学習モデルは、出力メタデータ(「ラベル付きデータ」と呼ばれる)を伴う入力データセットを受け取り、この入力データとメタデータに基づいてモデルアーキテクチャのパラメータ(ニューラルネットワークのバイアス及び重み、又はSVMのサポートベクトルなど)を変更し、その後に受け取った入力を目的の出力によりよくマッピングする。例えば、SVM教師あり分類器(classifier)は、
図2Cに示すように動作し、特徴空間210aにおいて、円で表される複数の入力特徴ベクトルをトレーニング入力として受け取り、特徴ベクトルは、例えば実践者によって提供されるように、出力ラベルA、B、又はCを伴う。教師あり学習方法論に従って、SVMは、これらのラベル入力を使用してパラメータを変更し、SVMが特徴空間210aの特徴ベクトル形式で、以前には見られなかった新しい入力210cを受け取ったときに、SVMは、その出力で目的の分類「C」を出力し得る。したがって、教師あり学習方法論には、例えば、この例のような分類の実行、回帰の実行などが含まれ得る。
【0078】
半教師あり学習方法論は、ラベル付けされたデータとラベル付けされていないデータの両方に基づいて、モデルのアーキテクチャのパラメータ調整を通知する。例えば、教師ありニューラルネットワーク分類器は、
図2Dに示すように動作し、分類A、B、又はCでラベル付けされた特徴空間215a内のいくつかのトレーニング入力特徴ベクトルと、(文字のない円で示されているような)そのようなラベルのないいくつかのトレーニング入力特徴ベクトルを受け取る。ラベルのない入力を考慮しなければ、単純な教師あり分類器は、使用可能なラベル付き入力間の特徴空間における単純な平面分離215dに基づいて、BクラスとCクラスの入力を区別することができる。しかし、ラベルのない入力特徴ベクトルだけでなく、ラベルの付いた入力特徴ベクトルも考慮することによって、半教師あり分類器は、より微妙な分離215eを採用することができる。単純な分離215dとは異なり、微妙な分離215eは、新しい入力215cをCクラスにあるものとして正しく分類することができる。したがって、半教師あり学習方法とアーキテクチャは、少なくとも利用可能なデータの一部がラベル付けされた教師あり学習と教師なし学習の両方のアプリケーションを含むことができる。
【0079】
最後に、
図2Aの従来のグループは、強化学習方法論を、エージェント、例えばロボット又はデジタルアシスタントが、エージェントの環境コンテキスト(例えば、環境内のオブジェクトの場所、ユーザの性質など。)に影響を与える何らかのアクション(例えば、マニピュレーターを動かす、ユーザに提案するなど)を実行し、新しい環境状態及びいくつかの関連する環境ベースの報酬(例えば、環境オブジェクトが目標状態に近づいた場合の正の報酬、ユーザが不快に感じた場合の負の報酬など)を促進するものとして区別する。したがって、強化学習には、例えば、ユーザの行動及び表現された好みに基づいてデジタルアシスタントを更新すること、自律ロボットが工場内を移動すること、コンピュータがチェスをすることなどが含まれ得る。
【0080】
前述のように、多くの実践者は、
図2Aの従来の分類法を認識するだろうが、
図2Aのグループ分けは、機械学習の豊富な多様性を不明瞭にし、そのグループの複数に分類されるか、又はそれらのグループの完全に外側に分類される機械学習アーキテクチャと技術を十分に特徴づけることができない可能性がある(例えば、ランダムフォレストとニューラルネットワークは、教師あり学習タスク又は教師なし学習タスクに使用されることがある;同様に、いくつかの敵対的生成ネットワークは、教師あり分類器を採用しているが、それ自体は
図2Aのいずれかのグループに簡単には分類されない)。したがって、ここでは、読者の理解を容易にするために、
図2Aからの様々な用語を参照することができるが、この説明は、
図2Aの画一的な慣例に限定されるべきではない。例えば、
図2Fは、より柔軟な機械学習分類を提供する。
【0081】
特に、
図2Fは、モデル220a、モデルアーキテクチャ220b、方法論220e、方法220d、及び実装220cを含むものとして機械学習にアプローチしている。高いレベルでは、モデルアーキテクチャ220bは、それぞれの属モデル(genus models)220a(モデルAは可能なアーキテクチャA1、A2などを持つ;モデルBは可能なアーキテクチャB1、B2などを持つ)の種と見なすことができる。モデル220aは、機械学習アーキテクチャとしての実装に適した数学的構造の記述を指す。例えば、「A」、「B」、「C」などのボックスで表されるKNN、ニューラルネットワーク、SVM、ベイズ分類器、主成分分析(PCA)などは、モデルの例である(図中の省略記号は追加項目の存在を示す)。モデルは、例えば、SVMが超平面を含むこと、ニューラルネットワークが層又はニューロンを持つことなど、一般的な計算関係を指定することができるが、SVMが動径基底関数(RBF)カーネルを採用すること、ニューラルネットワークが次元256x256x3の入力を受け取るように構成されることなど、特定のタスクを実行するためのアーキテクチャのハイパーパラメータやデータフローの選択など、アーキテクチャの特定の構造を指定しないこともある。これらの構造的特徴は、例えば、実践者によって選択されたり、トレーニング又は構成プロセスの結果として得られたりする。モデル220aのユニバースは、例えば、アンサンブルモデル(
図3Gに関連して後述する)を作成する場合、又はモデルのパイプライン(
図3Hに関連して後述する)を使用するときのような、メンバーの組み合わせを含むことに留意されたい。
【0082】
明確にするために、多くのアーキテクチャがパラメータとハイパーパラメータの両方を含むことを理解するだろう。アーキテクチャのパラメータはアーキテクチャの構成値を指し、これは入力データの受信に直接基づいて調整することができる(トレーニング中のニューラルネットワークの重みとバイアスの調整など)。アーキテクチャが異なれば、パラメータの選択やパラメータ間の関係も異なる可能性があるが、例えばトレーニング中、パラメータの値を変更しても、アーキテクチャの変更とは見なされない。対照的に、アーキテクチャのハイパーパラメータは、入力データの受信に直接基づいて調整されないアーキテクチャの構成値を指す(例えば、KNN実装における近傍のK個の数、ニューラルネットワークトレーニング実装における学習率、SVMのカーネルタイプなど)。したがって、ハイパーパラメータを変更すると、通常はアーキテクチャが変更される。以下で説明するいくつかの方法の動作、例えば、検証は、トレーニング中にハイパーパラメータを調整し、その結果としてアーキテクチャタイプを調整する可能性があることがわかるだろう。その結果、いくつかの実装は複数のアーキテクチャを検討する可能性があるが、それらの一部のみが使用するように設定されたり、特定の瞬間に使用されたりする可能性がある。
【0083】
モデル及びアーキテクチャと同様の方法で、高いレベルでは、方法220dはその属の方法論220e(方法論Iは方法I.1,I.2などを持つ。方法IIはII.1、II.2などを持つ)の種と見なされる可能性がある。方法論220eは、アーキテクチャのトレーニング、アーキテクチャのテスト、アーキテクチャの検証、アーキテクチャによる推論の実行、敵対的生成ネットワーク(GAN)での複数のアーキテクチャの使用など、1つ以上の特定の機械学習アーキテクチャを使用してタスクを実行する方法として適応に適したアルゴリズムを指す。例えば、勾配降下法は、ニューラルネットワークをトレーニングする方法を記述する方法論であり、アンサンブル学習は、アーキテクチャのグループのトレーニング方法などを記述する方法論である。方法論では、一般的なアルゴリズム操作、例えば、勾配降下法は、コスト又はエラー面に沿って反復ステップを実行すること、アンサンブル学習は、そのアーキテクチャの中間結果を検討することなどを指定することができるが、方法論では、特定のアーキテクチャが方法論のアルゴリズムをどのように実行するか、例えば、勾配降下法は、ニューラルネットワークで反復バックプロパゲーション及び特定のハイパーパラメータを使用してAdamを介した確率最適化を採用すること、アンサンブルシステムは、特定の構成値を使用してAdaBoostを適用するランダムフォレストのコレクションで構成されていること、トレーニングデータは、特定の数のフォールドに編成されていることなどを指定する。既存のアーキテクチャや方法に追加又は変更された機能(例えば、GANアーキテクチャ及びGANトレーニング方法は、ディープラーニングアーキテクチャとディープラーニングトレーニング方法を含んでいると見なすことができる。)を追加する場合のように、アーキテクチャ及び方法自体がサブアーキテクチャ及びサブ方法を持つ場合があることは理解できるだろう。また、すべての可能な方法論がすべての可能なモデルに適用されるわけではないことも理解されるだろう(例えば、PCAアーキテクチャ上で勾配降下を実行することを示唆しても、それ以上の説明がなければ無意味に見えるだろう)。方法には、実践者によるいくつかのアクションが含まれている場合もあれば、完全に自動化されている場合もあることを理解するだろう。
【0084】
上記の例で証明されているように、モデルからアーキテクチャへ及び方法論から方法へ移行すると、いくつかの方法は特定のアーキテクチャにのみ適用され、特定のアーキテクチャは特定の方法にのみ適用される可能性があるため、アーキテクチャの態様は方法に、方法の態様はアーキテクチャに現れる可能性がある。この相互作用を理解すると、実装220cは、トレーニング、推論、GANによる新しいデータの生成など、1つ以上の指定されたタスクを実行するように構成された機械学習システムを形成するために、1つ以上のアーキテクチャと1つ以上の方法の組み合わせである。明確にするために、実装のアーキテクチャはその方法を積極的に実行する必要はなく、単に方法(例えば、付属のトレーニング制御ソフトウェアがアーキテクチャを介して入力を渡すように構成されている場合など)を実行するように構成することができる。方法を適用すると、トレーニング又は推論などのタスクが実行される。したがって、
図2Fに示されている仮想実装A(「Imp.A」で示される)は、単一の方法を持つ単一のアーキテクチャを含む。これは、例えば、16,384次元の空間でRBFカーネルを採用した超平面サポートベクトル分離方法を使用して、128×128グレースケールピクセルイメージ内のオブジェクトを認識するように構成されたSVMアーキテクチャに対応し得る。RBFカーネルの使用と特徴ベクトル入力構造の選択は、アーキテクチャの選択とトレーニング及び推論方法の選択との両方の態様を反映している。したがって、アーキテクチャ構造のいくつかの記述は、対応する方法の態様を暗示している可能性があり、その逆もあることがわかるだろう。仮想実装B(「Imp.B」で示される)は、例えば、推論方法III.3が適用される前に、検証結果に基づいてアーキテクチャB1とC1の間を切り替え得るトレーニング方法II.1に対応し得る。
【0085】
実装内のアーキテクチャと方法の間の密接な関係は、グループが所与の実装内の方法とアーキテクチャの間の密接な関係を簡単にはキャプチャしないため、
図2Aの曖昧さの多くを助長する。例えば、方法又はアーキテクチャの非常に小さな変更は、実践者がラベルを組み込んだ第1の方法(教師あり)でランダムフォレストをトレーニングし、トレーニングされたアーキテクチャで第2の方法を適用して、データに対する推論を実行するのではなく、ラベルなしデータ(教師なし)のクラスタを検出するように、
図2Aのグループ間でモデル実装を移動する場合がある。同様に、
図2Aのグループは、例えば、
図3F及び3Gに関連して後述するように、集約方法及びアーキテクチャを分類することを困難にする場合があり、これは、
図2Aのグループの一部、なし、又はすべてに見られる技術を適用する場合がある。したがって、次のセクションでは、アーキテクチャ、方法、実装間の関係の明確さと読者の認識を容易にするために、
図3A-G及び4A-Jを参照して、さまざまな例示的なモデルアーキテクチャと例示的な方法の間の関係について説明する。議論されているタスクは、例示的であり、したがって、例えば理解を容易にするための分類操作を参照していることは、実装がその目的のために排他的に使用されなければならないことを示唆していると解釈されるべきではないことを理解するだろう。
【0086】
明確にするために、
図2Fに関する上記の説明は、単に読者の理解を容易にするために提供されており、したがって、それを示す明示的な文言がなければ限定的に解釈されるべきではないことを理解するだろう。例えば、当然ながら、「方法」220dはコンピュータ実装された方法であるが、すべてのコンピュータ実装された方法が「方法」220dの意味での方法であるわけではないことを理解するだろう。コンピュータ実装された方法は、機械学習機能を持たないロジックである場合がある。同様に、「方法論」という用語は、常に「方法論」220eの意味で使用されるわけではなく、機械学習機能なしのアプローチを指す場合もある。同様に、「モデル」、「アーキテクチャ」、「実装」という用語は、上記の220a、220b、及び220cで使用されているが、これらの用語は、
図2Fにおけるその区別に限定されず、そのような意味の言語は存在せず、機械学習コンポーネントのトポロジ全般を指すために使用される場合がある。
【0087】
機械学習の基本概念-例示的な実装
図3Aは、例示的なSVM機械学習モデルアーキテクチャの動作の概略図である。高いレベルでは、
図3Aの概略図で円及び三角形で表される入力特徴としての2つのクラス(例えば、犬の画像、猫の画像)からのデータが与えられると、SVMは、各クラスのメンバーからセパレータ305aまでの最小距離を最大化する超平面セパレータ305aを決定しようとする。ここで、トレーニング特徴ベクトル305fは、セパレータ305aまでのすべてのピアの最小距離305eを持つ。逆に、トレーニング特徴ベクトル305gは、セパレータ305aまでのすべてのピアの最小距離305hを持つ。これらの2つのトレーニング特徴ベクトル間に形成されるマージン305dは、したがって、距離305hと305eの組み合わせであり(明確にするために参照線305bと305cが提供されている)、最大最小分離であるため、トレーニング特徴ベクトル305fと305gをサポートベクトルとして識別する。この例は線形超平面分離を示しているが、異なるSVMアーキテクチャは異なるカーネル(例えば、RBFカーネル)に対応しており、非線形超平面分離を容易にする可能性がある。セパレータはトレーニング中に見つかる可能性があり、その後の推論は、特徴空間内の新しい入力がセパレータに対してどこに位置するかを検討することによって達成される可能性がある。同様に、この例では明確にするために(紙の二次元平面内で)2次元の特徴ベクトルを示しているが、アーキテクチャがより多くの次元の特徴を受け入れる可能性があることがわかるだろう(例えば、128×128ピクセルの画像を16,384次元として入力することができる)。この例の超平面は2つのクラスを分離するだけであるが、マルチクラス分離は、例えば、1対1、1対すべてなどの構成でSVM超平面分離のアンサンブルアーキテクチャを使用するなど、さまざまな方法で実現できる。実践者は、SVMを実装するときにLIBSVM(商標)とscikit-learn(商標)ライブラリを使用することが多い。多くの異なる機械学習モデル、例えば、ロジスティック回帰分類器が分離超平面を識別しようとしていることを理解する。
【0088】
上記の例示的なSVM実装では、実践者は実装のアーキテクチャ及び方法の一部として特徴の形式を決定した。一部のタスクでは、入力を処理して新しい又は異なる特徴形式自体を決定するアーキテクチャ及び方法が望ましい場合がある。一部のランダムフォレスト実装では、実質的にこの方法で特徴空間表現を調整する場合がある。例えば、
図3Bは、複数のディシジョンツリー310bを含む例示的なランダムフォレストモデルアーキテクチャを高レベルで示しており、ディシジョンツリーのそれぞれは、ルートノードで入力特徴ベクトル310aのすべて又は一部を受け取る場合がある。この例示的なアーキテクチャでは、最大深さが3レベルの3つのツリーが示されているが、ツリーの数が少なくても多くても、レベルが異なる(同じフォレストのツリー間でも)フォレストアーキテクチャが可能であることは理解できるであろう。各ツリーは入力のその部分を検討するときに、入力部分がさまざまなノードに関連する条件を満たすか満たさないかに基づいて、入力のすべて又は一部を後続のノード、例えばパス310fに参照する。例えば、画像を検討するときに、ツリー内の単一のノードは、特徴ベクトル内の位置にあるピクセル値が特定のしきい値を上回っているか下回っているかを照会する場合がある。しきい値パラメータに加えて、一部のツリーは追加のパラメータを含む場合があり、そのリーフは正しい分類の確率が含まれる場合がある。ツリーの各リーフは、例えば、ツリー間で多数決を取ることによって又は各ツリーの予測の確率加重平均によって、最終的な出力310eを生成する投票メカニズム310dによる検討のために、暫定的な出力値310cに関連付けることができる。このアーキテクチャは、例えば、異なるデータサブセットが異なるツリーでトレーニングされるように、さまざまなトレーニング方法に適する可能性がある。
【0089】
ランダムフォレスト内のツリーの深さは、異なるツリーと同様に、ランダムフォレストモデルによる特徴関係の検討を、初期入力のそれらの直接比較を超えて容易にする可能性がある。例えば、元の特徴がピクセル値であった場合、ツリーは、猫/犬の分類のための「鼻」と「耳」のピクセル間の関係など、タスクに関連するピクセル値のグループ間の関係を認識する可能性がある。しかし、二分決定木(Binary decision tree)の関係は、これらの「高次」の特徴を識別する能力に制限を課す可能性がある。
【0090】
図3Cの例示的なアーキテクチャのように、ニューラルネットワークはまた、初期入力ベクトル間の高次の特徴と関係を推論することもできる可能性がある。しかし、ネットワーク内の各ノードは、さまざまなパラメータと他のノードへの接続に関連付けられる可能性があり、従来のランダムフォレストツリーの二項関係よりも複雑な決定と中間の特徴生成を容易にする。
図3Cに示すように、ニューラルネットワークアーキテクチャは、入力層、少なくとも1つの隠れ層、及び出力層を含むことができる。各層は、いくつかの入力を受け取り、活性化値とも呼ばれる出力値、ネットワークの最終結果として機能する最終出力層の出力値315bを提供することができるニューロンのコレクションを含む。同様に、入力層の入力315aは、以前のニューロン層ではなく、入力データから受け取ることができる。
【0091】
図3Dは、
図3Cのノード315cにおける入力と出力の関係を示している。具体的には、ノード315cの出力n
outは、次のようにその3つの(ゼロベースのインデックス付き)入力に関連し得る:
【数1】
ここで、w
iは入力層のi番目のノードの出力の重みパラメータ、n
iは入力層のi番目のノードの活性化関数からの出力値、bはノード315cに関連付けられたバイアス値、Aはノード315cに関連付けられた活性化関数である。この例では、合計が3つの入力層ノード出力と重みのペアのそれぞれに及び、単一のバイアス値bのみが追加されることに留意されたい。アクティブ化関数Aは、重みの値、バイアス、及び前の層のノードの値に基づいて、ノードの出力を決定し得る。トレーニング中、使用するトレーニング方法に応じて、重み及びバイアスのパラメータの各々が調整され得る。例えば、多くのニューラルネットワークは、バックワードプロパゲーションとして知られる方法論を採用しており、いくつかの方法形式では、重みとバイアスのパラメータがランダムに初期化され、トレーニング入力ベクトルがネットワークを通って渡され、ネットワークの出力値とそのベクトルのメタデータに対する望ましい出力値との間の差が決定される。この差は、それによってネットワークのパラメータが調整されるメトリックとして使用でき、ネットワーク全体にエラーを補正として「伝播」することで、ネットワークが将来の遭遇で入力ベクトルに対して適切な出力を生成する可能性が高くなる。3つのノードが明確にするために
図3Cの実装の入力層に示されているが、異なるアーキテクチャにはより多くのノード又はより少ないノードが存在する可能性があることがわかる(例えば、上記の128×128のグレースケール画像の例でピクセル値を受け取るために16,384のそのようなノードがあり得る)。同様に、この例示的なアーキテクチャの層の各々は次の層と完全に接続されているように示されているが、他のアーキテクチャではこの方法で層間のノードの各々を接続しない可能性があることがわかる。すべてのニューラルネットワークアーキテクチャは、データを左から右に排他的に処理することも、一度に単一の特徴ベクトルのみを検討することもない。例えば、リカレントニューラルネットワーク(RNN)は、現在のインスタンスを検討するときに以前の入力インスタンスを検討するニューラルネットワーク方法とアーキテクチャのクラスを含む。アーキテクチャは、様々なノードで使用される活性化関数、例えば、ロジスティック関数、修正線形単位関数(ReLU)、ソフトプラス関数などに基づいてさらに区別される場合がある。したがって、アーキテクチャ間にはかなりの多様性がある。
【0092】
この概要でこれまでに議論された例示的な機械学習の実装の多くは、(SVM、ロジスティック回帰分類器、
図3Dのようなノードを持つニューラルネットワークなど)「判別」機械学習モデル及び方法論であることがわかるだろう。一般に、判別アプローチは、式2の次の確率を見つけようとする形式を想定する:
【数2】
すなわち、これらのモデルと方法論は、クラスを区別する構造(例えば、SVM超平面)を求め、その構造に関連するパラメータ(例えば、分離超平面を決定するサポートベクトル)をトレーニングデータに基づいて推定する。しかし、ここで議論されているすべてのモデル及び方法論がこの識別形式を想定しているわけではなく、複数の機械学習モデルとそれに対応する方法論(例えば、ナイーブベイズ分類器、隠れマルコフモデル、ベイジアンネットワークなどである。)の1つである可能性があることは理解されるだろう。これらの生成モデルは代わりに、式3の次の確率を見つけようとする形式を仮定する:
【数3】
すなわち、これらのモデル及び方法論は、入力と出力の間の特徴的な関係を反映する構造(例えば、初期パラメータと先行パラメータを持つベイジアンニューラルネットワーク)を探し、トレーニングデータからこれらのパラメータを推定し、ベイズルールを使用して式2の値を計算する。これらの計算を直接実行することは必ずしも実行可能ではなく、そのため、これらの生成モデル及び方法論のいくつかで数値近似の方法が採用される可能性があることを理解するだろう。
【0093】
そのような生成アプローチは、ここでは、判別的な実装で提示された結果を達成するために準用され、その逆もまた同様であることを理解するだろう。例えば、
図3Eは、ベイジアンニューラルネットワークに現れ得る例示的なノード315dを示している。単純に数値を受け取るノード315cとは異なり、ノード315dのようなベイジアンニューラルネットワークのノードは、重み付けされた確率分布315f、315g、315h(例えば、そのような分布のパラメータ)を受け取り、それ自体が分布315eを出力する可能性があることがわかるだろう。したがって、例えば、様々な後処理技術(例えば、出力を判別ニューラルネットワークへのドロップアウトの反復的な適用と比較すること)を介して判別モデルの分類不確実性を決定することができる一方で、例えば、分布315eの分散を検討することによって、確率分布を出力する生成モデルを採用することによって、同様の不確実性尺度を達成することができることがわかるだろう。したがって、ここで1つの特定の機械学習実装を参照することが、同様に機能する実装による置換を除外することを意図していないのと同様に、ここでの判別実装を参照することも、適用可能な場合には生成的対応物による置換を除外すると解釈されるものではなく、またその逆も同様である。
【0094】
機械学習アプローチの一般的な議論に戻ると、
図3Cは単一の隠れ層を持つ例示的なニューラルネットワークアーキテクチャを示しているが、多くのニューラルネットワークアーキテクチャは1より多い隠れ層を持つ可能性がある。多くの隠れ層を持ついくつかのネットワークは驚くほど効果的な結果を生み出しており、「ディープ」ラーニングという用語がこれらのモデルに適用されて、多くの隠れ層を反映している。ここで、ディープラーニングとは、1より多い隠れ層を持つ少なくとも1つのニューラルネットワークアーキテクチャを採用するアーキテクチャ及び方法を指す。
【0095】
図3Fは、例示的なディープラーニングモデルアーキテクチャの動作の概略図である。この例では、アーキテクチャは、猫のグレースケール画像などの二次元入力320aを受け取るように構成される。この例のように分類に使用される場合、アーキテクチャは一般に、一連のレイヤー操作からなる特徴抽出部分と、抽出された特徴間の関係に基づいて出力値を決定する分類部分の2つの部分に分割され得る。
【0096】
多くの異なる特徴抽出層、例えば、畳み込み層、最大プーリング層、ドロップアウト層、クロッピング層などが可能であり、これらの層の多くは、それ自体が変動の影響を受けやすい。例えば、2次元畳み込み層、3次元畳み込み層、異なる活性化関数を持つ畳み込み層など、ネットワークのトレーニングや推論などのための異なる方法及び方法論である。例示されているように、これらの層は異なる次元の複数の中間値320b-jを生成する可能性があり、これらの中間値は複数のパスに沿って処理される可能性がある。例えば、元のグレースケール画像320aは、次元128×128×1(例えば、幅128ピクセル、高さ128ピクセルのグレースケール画像)の特徴入力テンソルとして、又は次元128×128×3(例えば、幅128ピクセル、高さ128ピクセルのRGB画像)の特徴入力テンソルとして表すことができる。第1の層で異なるカーネル関数を持つ複数の畳み込みは、この入力から複数の中間値320bを沈殿させる可能性がある。これらの中間値320bは、別々のパス(この例では2つのパスが示されているが、異なるアーキテクチャではさらに多くのパス、又は単一のパスが可能であることがわかる)に沿って2つの新しい中間値320c及び320dを形成するために、それ自体が2つの異なる層によって検討される可能性がある。さらに、画像が各ピクセルに対して赤、緑、青の値を持つ場合のように、複数の「チャネル」でデータを提供することもあり、例えば、128x128x3の特徴テンソル(わかりやすくするために、この入力には3つの「テンソル」次元があるが、49,152の個別の「特徴」次元がある)の「×3」次元を持つ。さまざまなアーキテクチャが、チャネル上で個別に動作することもあれば、さまざまな層でまとめて動作することもある。図の省略記号は、追加の層(例えば、いくつかのネットワークは何百もの層を持っている)の存在を示している。図示されているように、中間値は、値320eのように、例えばプールに続いて、サイズと寸法が変化する可能性がある。一部のネットワークでは、中間値320e、320f、320g、320hの間に示されているように、パス間のレイヤーで中間値が検討される場合がある。最終的に、特徴値の最終セットは中間コレクション320i及び320jに出現し、例えばフラット化された層、ソフトマックス層、完全に接続された層などを介して、1つ以上の分類層320k及び320lのコレクションに供給され、層320lの出力ノードで出力値320mを生成する。例えば、N個のクラスが認識される場合、各クラスが正しいクラスである確率(例えば、ここではネットワークは3つのクラスの1つを識別しており、与えられた入力に対して最も可能性が高いものとしてクラス「猫」を示している)を反映するためにN個の出力ノードが存在する可能性があるが、いくつかのアーキテクチャでは出力がより少なくなったり、より多くなったりする場合もある。同様に、いくつかのアーキテクチャでは追加の入力(例えば、いくつかのフラッドフィルアーキテクチャは、入力特徴データに加えて入力として受け取られ、分類出力値に加えて出力として修正された形式で生成される可能性のある、進化するマスク構造を利用する;同様に、いくつかのリカレントニューラルネットワークは、他の入力と並行して、1つの反復から後続の反復に入力される値を格納する場合がある)を受け入れる場合や、フィードバックループなどを含む場合がある。
【0097】
TensorFlow(商標)、Caffe(商標)、Torch(商標)は、ディープニューラルネットワークを実装するための一般的なソフトウェアライブラリフレームワークの例であるが、多くのアーキテクチャは、単に層を値の行列又はテンソルに対する演算として表し、そのような行列又はテンソル内の値としてデータを表す「ゼロから」作成される可能性がある。ディープラーニングネットワークアーキテクチャの例としては、VGG-19、ResNet、Inception、DenseNetなどがある。
【0098】
一方、例示的なパラダイム的機械学習アーキテクチャは
図3A乃至3Fに関して議論され、他のアーキテクチャ及び手法に演算及び構造を組み合わせたり、修正したり、追加したりして形成された多くの機械学習モデル及び対応するアーキテクチャがある。例えば、
図3Gはアンサンブル機械学習アーキテクチャの概略図である。アンサンブルモデルには、例えばAdaBoostのように、複数の弱い学習モデルを使用して集合的により強いモデルを形成する「メタアルゴリズム」モデルなど、多種多様なアーキテクチャが含まれる。
図3Aのランダムフォレストは、ランダムフォレスト自体がアンサンブルモデルの中間分類器である場合があるが、このようなアンサンブルモデルの別の例として見ることができる。
【0099】
図3Gの例では、初期入力特徴ベクトル325aは、全体又は一部が、さまざまなモデル実装325bに入力される場合があり、これは同じモデル又は異なるモデル(例えば、SVM、ニューラルネットワーク、ランダムフォレストなど)からのものである可能性がある。これらのモデル325bからの出力は、その後、「融合」モデルアーキテクチャ325dによって受け取られて最終出力325eを生成することができる。融合モデル実装325d自体は、実装325bの1つと同じであっても異なっていてもよい。例えば、いくつかのシステムでは、融合モデル実装325dはロジスティック回帰分類器であってもよく、モデル325bはニューラルネットワークであってもよい。
【0100】
ちょうどアンサンブルモデルアーキテクチャが
図3A乃至3Fのパラダイム的アーキテクチャよりも大きな柔軟性を促進するかもしれないことを理解するだろうが、アーキテクチャ又はその方法に対する修正は、場合によっては比較的わずかであるが、
図2Aの従来のグループ化に容易には適さない新しい動作を容易にする可能性があることを認識すべきである。例えば、PCAは一般に、ラベルのない入力データの次元縮小特徴表現を識別するため、教師なし学習方法及び対応するアーキテクチャとして説明される。しかし、M.Turk及びA.Pentland,"Eigenfaces for Recognition"、J.Cognitive Neuroscience, vol.3, no.1, 1991に記載されているEigenFacesアプリケーションのように、PCAは教師あり方式で分類を容易にするために、ラベル付き入力と共にしばしば使用されてきた。
図3Hは、そのような修正の例示的な機械学習パイプライントポロジを示している。EigenFacesと同様に、ブロック330aにおいて教師なし方法を使用して特徴表現を決定することができる(例えば、いくつかの個人の1人に関連付けられた顔画像の各グループにPCAを使用して主成分を決定する)。教師なし方法として、
図2Aの従来のグループ化は、通常、このPCA操作を「トレーニング」とは解釈しない場合がある。しかし、ブロック330bにおいて入力データ(例えば顔画像)を新しい表現(主成分特徴空間)に変換することによって、後続の推論方法の適用に適したデータ構造を作成することができる。
【0101】
例えば、ブロック330cにおいて、新しい入力特徴ベクトル(新しい顔画像)は、教師なし形式(例えば、主成分特徴空間)に変換され、その後、ブロック330dにおいてメトリック(metric)(例えば、各個人の顔画像グループの主成分と新しいベクトルの主成分表現の間の距離)又は他の後続の分類器(例えば、SVMなど)を適用して新しい入力を分類し得る。したがって、特定の方法論(例えば、メトリックに基づくトレーニング及び推論)の方法に従わないモデルアーキテクチャ(例えば、PCA)は、パイプライン処理などの方法又はアーキテクチャの変更を介して、そのように受け入れられるようにすることができる。ここでも、このパイプラインが一例にすぎないことがわかるだろう-
図2BのKNNの教師なしアーキテクチャ及び方法は、推論入力に特徴空間の最も近い第1のモーメントを持つグループのクラスに新しい推論入力を割り当てることによって、同様に教師あり分類に使用できる。したがって、これらのパイプライン処理アプローチは、慣習的にそのように呼ばれることはないかもしれないが、ここでは機械学習モデルと考えることができる。
【0102】
いくつかのアーキテクチャは、トレーニング方法と共に使用されることがあり、これらのトレーニングされたアーキテクチャのいくつかは、その後、推論方法と共に使用されることがある。しかし、すべての推論方法が分類を実行するわけではなく、すべての訓練されたモデルが推論に使用されるわけではないことを理解するだろう。同様に、すべての推論方法が、所与のタスクの新しい入力を処理するために、事前にトレーニング方法をアーキテクチャに適用する必要があるわけではないことも理解するだろう(例えば、KNNが入力データを直接検討してクラスを生成する場合のように)。トレーニング方法に関して、
図4Aは、さまざまなトレーニング方法における一般的な動作を示す概略的なフロー図である。具体的には、ブロック405aにおいて、実践者が直接又はアーキテクチャのいずれかが、トレーニングデータを1つ以上のトレーニング入力特徴ベクトルに組み立てることができる。例えば、ユーザは、教師あり学習方法のメタデータラベルを持つ犬及び猫の画像、又は、教師なしクラスタリングの場合は、時間の経過とともにラベルなしの株価を収集することができる。前述のように、生データは前処理によって特徴ベクトルに変換されたり、生の形態で特徴として直接取得されたりすることができる。
【0103】
ブロック405bにおいて、トレーニング方法は、トレーニングデータに基づいてアーキテクチャのパラメータを調整することができる。例えば、ニューラルネットワークの重みとバイアスは、バックプロパゲーションを介して更新され、SVMは、超平面計算に基づいてサポートベクトルを選択することができる。しかし、
図3Gのパイプラインアーキテクチャに関して議論されたように、すべてのモデルアーキテクチャが「トレーニング」中にアーキテクチャ自体内のパラメータを更新することができるわけではない。例えば、Eigenfacesでは、顔IDグループの主成分の決定は、既存のパラメータの調整(例えば、ニューラルネットワークアーキテクチャの重みとバイアスを調整すること)としてではなく、新しいパラメータ(主成分特徴空間)の作成として解釈される場合がある。したがって、ここでは、トレーニング画像からの主成分のEigenfaces決定は、依然としてトレーニング方法として解釈される。
【0104】
図4Bは、さまざまな機械学習モデル推論方法に共通するさまざまな動作を示す概略的なフロー図である。前述のように、すべてのアーキテクチャ又はすべての方法に推論機能が含まれるとは限らない。推論方法が適用可能な場合、ブロック410aにおいて、実践者又はアーキテクチャは、生の推論データ、例えば、分類される新しい画像を、推論入力特徴ベクトル、テンソルなどに(例えば、トレーニングデータと同じ特徴入力形態で)組み立てることができる。ブロック410bにおいて、システムは、トレーニングされたアーキテクチャを入力推論特徴ベクトルに適用して、出力、例えば、分類、回帰結果などを決定することができる。
【0105】
「トレーニング」する場合、いくつかの方法と一部のアーキテクチャでは、入力トレーニング特徴データを全体として、単一のパスで、又は反復的に検討することができる。例えば、PCAによる分解は、いくつかの実装では非反復行列演算として実装されることがある。SVMは、その実装に応じて、入力を介した1回の反復によってトレーニングされることがある。最後に、いくつかのニューラルネットワークの実装は、勾配降下中に入力ベクトルに対する複数の反復によってトレーニングされることがある。
【0106】
反復トレーニング方法に関して、
図4Cは、例えば、いくつかのアーキテクチャ及び方法でブロック405bにおいて発生する可能性のある反復トレーニング動作を示す概略フロー図である。単一の反復が、フロー図内の方法を一度適用することができるが、複数の反復を実行する実装は、図内の方法を複数回適用することができる。ブロック415aにおいて、アーキテクチャのパラメータをデフォルト値に初期化することができる。例えば、いくつかのニューラルネットワークでは、重みとバイアスがランダムな値に初期化されることがある。いくつかのSVMアーキテクチャでは、例えば、対照的に、ブロック415aの動作が適用されないことがある。トレーニング入力特徴ベクトルの各々がブロック415bにおいて検討されるため、システムは415cにおいてモデルのパラメータを更新することができる。例えば、SVMトレーニング方法は、新しい入力特徴ベクトルが検討され、サポートベクトルの選択に影響するか否かが決定されるため、新しい超平面を選択する場合としない場合がある。同様に、ニューラルネットワーク方法は、例えば、逆伝播と勾配降下に従って重みとバイアスを更新する場合がある。すべての入力特徴ベクトルを検討する場合、トレーニング方法が1回の反復のみを実行することを要求している場合、モデルは「トレーニング済み」と見なされる場合がある。複数の反復を要求する方法は、
図4Cの動作を再度適用し(当然のことながら、ブロック415aでの初期化を再び避け、前の反復で決定されたパラメータ値を優先する)、条件が満たされたとき、例えば、予測ラベルとメタデータラベルの間のエラー率がしきい値未満に減少したとき、トレーニングを完了することができる。
【0107】
前述のように、多種多様な機械学習アーキテクチャ及び方法には、
図4Eに示すように、明示的なトレーニングと推論ステップを持つもの、及び
図4Dで一般化されているように、持たないものが含まれる。
図4Eは、例えば、推論425bにおいて新しく受け取られた画像を認識するために、ニューラルネットワークアーキテクチャをトレーニングする方法425aを示しており、一方、
図4Dは、例えば、実装420bが入力420aを受け取り、出力420cを生成する、PCAを介してデータ次元を削減するか、KNNクラスタリングを実行する実装を示している。明確にするために、いくつかの実装がデータ入力を受け取り、出力を生成し得るが(例えば、推論方法を備えたSVMアーキテクチャ)、いくつかの実装はデータ入力のみを受け取り得 (例えば、トレーニング方法を備えたSVMアーキテクチャ)、いくつかの実装はデータ入力を受け取らずに出力のみを生成し得る(例えば、新しいデータインスタンスを生成するためのランダムジェネレータ法を備えたトレーニングされたGANアーキテクチャ)ことを理解するだろう。
【0108】
図4D及び4Eの動作は、いくつかの方法でさらに拡張されることがある。例えば、いくつかの方法は、
図4Fの概略ブロック図に示されているようにトレーニングを拡張し、トレーニング方法はさらにさまざまなデータサブセット操作を含む。
図4Gに示されているように、いくつかのトレーニング方法は、トレーニングデータをトレーニングデータサブセット435a、検証データサブセット435b、及びテストデータサブセット435cに分割することができる。
図4Fに示されているように、ブロック430aにおいてネットワークをトレーニングする場合、トレーニング方法は、まず、例えばトレーニングデータサブセット435aのすべて又は一部に基づくバックプロパゲーションを使用して、ネットワークのパラメータを反復的に調整することができる。ただし、ブロック430bにおいて、検証435b用に予約されたデータのサブセット部分を使用して、トレーニングの有効性を評価することができる。すべてのトレーニング方法及びアーキテクチャが、所与のタスクに最適なアーキテクチャパラメータ又は構成を見つけることが保証されているわけではなく、例えば、それらは、ローカル最小値でスタックする可能性があり、非効率的な学習ステップサイズハイパーパラメータを採用する可能性がある。方法は、そのような欠陥を予測して、トレーニングデータサブセット435aとは異なるトレーニングデータ435bを使用してブロック430bにおいて現在のハイパーパラメータ構成を検証し、それに応じてアーキテクチャのハイパーパラメータ又はパラメータを調整できる。いくつかの方法では、方法は、矢印430fで示されるように、検証フィードバックを使用してトレーニングデータサブセット435aの残りの部分のトレーニングを継続する、トレーニングデータサブセット435aのすべて又は一部のトレーニングを再開する、アーキテクチャのハイパーパラメータ又はアーキテクチャのトポロジを調整する(メタ学習でニューラルネットワークに追加の非表示レイヤーが追加される場合)など、トレーニングと検証の間を反復する。アーキテクチャがトレーニングされたら、方法は、テストデータサブセット435cのすべて又は一部にアーキテクチャを適用することによって、アーキテクチャの有効性を評価できる。検証とテストに異なるデータサブセットを使用することは、トレーニング方法がアーキテクチャのパラメータをトレーニングデータに近づけすぎて、アーキテクチャが新しい推論入力に遭遇したときに、より最適な一般化を緩和するオーバーフィッティングを回避するのにも役立つ可能性がある。テスト結果が望ましくない場合、方法は、矢印430eで示されているように、異なるパラメータ構成、異なるハイパーパラメータ構成を持つアーキテクチャなどで再びトレーニングを開始し得る。ブロック430cにおけるテストは、トレーニングされたアーキテクチャの有効性を確認するために使用され得る。モデルがトレーニングされると、新しく受け取られた推論入力に対して推論430dが実行され得る。例えば、タスクに最適なアーキテクチャを決定するために、方法が可能なハイパーパラメータの空間のグリッド検索を実行する場合のように、この検証方法のバリエーションの存在が理解される。
【0109】
多くのアーキテクチャ及び方法は、他のアーキテクチャ及び方法と統合するために変更されることがある。例えば、あるタスクに対して正常にトレーニングされたいくつかのアーキテクチャは、例えば、ランダムに初期化されたパラメータなどから始めるよりも、同様のタスクに対してより効果的にトレーニングされることがある。第2のアーキテクチャ(場合によっては、アーキテクチャは同じかもしれない)で第1のアーキテクチャからのパラメータを採用する方法及びアーキテクチャは、「転移学習」方法及びアーキテクチャと呼ばれる。事前にトレーニングされたアーキテクチャ440a(例えば、画像の中の鳥を認識するように訓練されたディープラーニングアーキテクチャ)が与えられると、転移学習方法は、推論440eが新しいタスクドメイン(例えば、画像内の車を認識するために、車の画像のラベル付きデータを提供する。)で実行され得るように、この新しいタスクドメインからのデータを使用して追加のトレーニングを実行し得る。転移学習トレーニング方法は、前述のようにトレーニング440b、検証440c、及び、テスト440dのサブ方法及びデータサブセット、並びに反復動作440fと440gを区別する場合と区別しない場合がある。事前にトレーニングされたモデル440aは、トレーニングされたアーキテクチャ全体として、又は、例えば、同じ又は類似のアーキテクチャの並列インスタンスに適用されるトレーニングされたパラメータ値のリストとして受け取ることができることがわかる。いくつかの転移学習アプリケーションでは、トレーニング中の調整を防ぐために、事前にトレーニングされたアーキテクチャのいくつかのパラメータが「凍結」される場合があるが、他のパラメータは新しいドメインからのデータでトレーニング中に変化することが許可される。このアプローチは、アーキテクチャを新しいドメインに合わせて調整しながら、アーキテクチャの元のトレーニングの一般的な利点を保持することができる。
【0110】
アーキテクチャと方法の組み合わせも、時間的に拡張される場合がある。例えば、「オンライン学習」方法は、アーキテクチャへの初期トレーニング方法445aの適用、そのトレーニングされたアーキテクチャ445bを使用した推論方法の後続の適用、及び別のトレーニング方法445d、おそらく方法445aと同じ方法だが、通常は新しいトレーニングデータ入力に適用することによる定期的な更新445cを予期する。オンライン学習方法は、例えば、ロボットが初期トレーニング方法445aに従ってリモート環境に展開され、445bでの推論方法の適用を改善する可能性のある追加データに遭遇する場合などに便利な場合がある。例えば、いくつかのロボットがこの方法で展開されている場合、あるロボットが「真陽性(true positive)」認識(例えば、地質学者によって検証された分類を持つ新しいコアサンプル;執刀医によって検証された手術中の新しい患者特性)に遭遇すると、ロボットはそのデータ及び結果を新しいトレーニングデータ入力として方法445dで使用するためにそのピアロボットに送信することができる。ニューラルネットワークは、トレーニング方法445dにおいて真陽性データを使用してバックプロパゲーション調整を実行することができる。同様に、SVMは、トレーニング方法445dにおいて、新しいデータがサポートベクトルの選択に影響を与え、その超平面の調整を沈殿させるかどうかを検討することができる。オンライン学習は多くの場合、強化学習の一部であるが、オンライン学習は、分類、回帰、クラスタリングなどのような他の方法でも現れる場合がある。初期トレーニング方法は、トレーニング方法445aにおけるトレーニング445e、検証445f、及びテスト445gサブ方法、並びに反復調整445k、445lを含んでも含まなくてもよい。同様に、オンライントレーニングは、トレーニング445h、検証445i、及びテストサブ方法、445jと反復調整445mと445nが含まれても含まれなくてもよく、含まれる場合は、サブ方法445e、445f、445g及び反復調整445k、445lとは異なる場合がある。実際、検証とテストに割り当てられたトレーニングデータのサブセットと比率は、各トレーニング方法445aと445dで異なる場合がある。
【0111】
前述したように、多くの機械学習アーキテクチャ及び方法は、トレーニング、クラスタリング、推論など、1つのタスク専用に使用する必要はない。
図4Jは、1つのそのような例示的なGANアーキテクチャ及び方法を示している。GANアーキテクチャでは、ジェネレータサブアーキテクチャ450bは、識別器サブアーキテクチャ450eと競合的に相互作用する場合がある。例えば、ジェネレータサブアーキテクチャ450bは、実在しない個人の合成ポートレートのような合成「フェイク」チャレンジ450cを生成するようにトレーニングされ、並行して、「フェイク」チャレンジを、実在する真陽性データ450d、例えば実在する人物の真のポートレートから区別するようにトレーニングされる識別器サブアーキテクチャ450eが訓練される。このような方法は、例えば、追加のトレーニングデータとして使用するために、例えば、現実世界のデータに似た合成資産を生成するために使用することができる。最初に、ジェネレータサブアーキテクチャ450bは、ランダムデータ450aとパラメータ値で初期化されることができ、非常に説得力のないチャレンジ450cを誘発する。判別子サブアーキテクチャ450eは、最初に真陽性データ450dでトレーニングされ得るため、最初はフェイクチャレンジ450cを簡単に区別する可能性がある。しかし、各トレーニングサイクルで、ジェネレータの損失450gをジェネレータサブアーキテクチャの450bトレーニングの改善に使用し、識別器の損失450fを識別器サブアーキテクチャの450eトレーニングの改善に使用することができる。このような競合トレーニングは、最終的に真陽性データ450dと区別するのが非常に困難な合成チャレンジ450cを生成する可能性がある。明確にするために、GANのコンテキストにおける「敵対的な」ネットワークは、上述の生成子と識別器の競合を指すのに対し、「敵対的な」入力は、実装において特定の出力、場合によっては実装の設計者が意図しない出力に影響を与えるように特別に設計された入力を指すことを理解するだろう。
【0112】
データの概要
図5Aは、いくつかの実施形態において処理システムで受信される可能性のある手術データの概略図である。具体的には、処理システムは、時間505にわたる個々のフレームの連続を構成する視覚化ツール110b又は140dからのビデオなどの生データ510を受信し得る。いくつかの実施形態では、生データ510は、複数の外科手術510a、510b、510c、又は単一の外科手術のみからのビデオ及びシステムデータを含み得る。
【0113】
前述のように、各外科手術はアクションのグループを含むことができ、各グループはここでタスクと呼ばれる個別のユニットを形成する。例えば、外科手術510bはタスク515a、515b、515c、及び515eを含むことができる(省略記号515dはより多くの介在タスクがある可能性を示す)。一部のタスクは手術で繰り返されることがあり、順序が変更されることがあることに留意されたい。例えば、タスク515aは筋膜のセグメントの位置を特定することを伴い、タスク515bは筋膜の第1の部分を切開すること(dissecting)を伴い、タスク515cは筋膜の第2の部分を切開することを伴い、タスク515eは閉鎖前に筋膜の領域を清掃して焼灼することを伴う。
【0114】
タスク515の各々は、対応するフレーム520a、520b、520c、及び520dのセットと、オペレータ運動学データ525a、525b、525c、525d、患者側デバイスデータ530a、530b、530c、530d、及びシステムイベントデータ535a、535b、535c、535dを含むデバイスデータセットに関連付けられ得る。例えば、手術室100bの視覚化ツール140dから取得されたビデオの場合、オペレータ側運動学データ525は、外科医コンソール155での1つ以上のハンドヘルド入力機構160bの並進及び回転の値を含み得る。同様に、患者側運動学データ530は、患者側のカート130からのデータ、1つ以上のツール140a-d、110aに配置されたセンサからのデータ、アーム135a、135b、135c、及び135dからの回転及び並進のデータなどを含み得る。システムイベントデータ535は、1つ以上のペダル160cの作動、ツールの作動、システムアラームの作動、エネルギ印加、ボタンの押下、カメラの動きなど、離散値を取るパラメータのデータを含み得る。状況によっては、タスクデータは、4つすべてではなく、フレームセット520、オペレータ側運動学525、患者側運動学530、システムイベント535の1つ以上を含み得る。
【0115】
明確さと理解を容易にするために、ここでは、運動学データは波形として、システムデータは連続した状態ベクトルとして示されているが、いくつかの運動学データは時間にわたる離散的な値を想定することがあり(例えば、連続コンポーネント位置を測定するエンコーダは固定間隔でサンプリングされてもよい)、逆に、いくつかのシステム値は時間にわたる連続的な値を想定することがある(例えば、パラメトリック関数が温度センサの個別にサンプリングされた値に適合され得る場合のように、値を補間してもよい。)ことを理解するだろう。
【0116】
さらに、理解を容易にするために、手術510a、510b、510cとタスク515a、515b、515cがすぐ隣接しているようにここで示されているが、実際の手術ビデオでは手術とタスクの間にギャップがある可能性があることを理解するだろう。したがって、一部のビデオとデータは、タスクと関連していない、又は、現在の分析の対象ではないタスクと関連している可能性がある。いくつかの実施形態では、データのこれらの「非タスク」/「無関係なタスク」領域は、それ自体が注釈中のタスクとして示される場合があり、例えば、「ギャップ」タスクでは、「本物の」タスクは発生しない。
【0117】
タスクに関連付けられたフレームの離散的なセットは、タスクの開始点と終了点によって決定され得る。各開始点と各終了点は、ツールアクション又はツールによって影響を受けるボディの状態変化のいずれかによってそれ自体が決定され得る。したがって、これら2つのイベント間で取得されたデータはタスクに関連付けられ得る。例えば、タスク515bの開始及び終了ポイントアクションは、それぞれ場所550a及び550bに関連付けられたタイムスタンプで発生し得る。
【0118】
図5Bは、様々な開示された実施形態と組み合わせて使用される可能性がある、対応する開始点及び終了点を持つタスクの例を示す表である。具体的には、タスク「結腸を動かす(Mobilize Colon)」に関連するデータは、ツールが最初に結腸又は周囲の組織と相互作用した時間から、ツールが最後に結腸又は周囲の組織と相互作用した時間までの間に取得されたデータである。したがって、この開始点と終了点の間にタイムスタンプがあるフレームセット520、オペレータ側運動学525、患者側運動学530、及びシステムイベント535のいずれもが、タスク「結腸を動かす」に関連付けられたデータである。同様に、タスク「骨盤内筋膜切開(Endopelvic Fascia Dissection)」に関連付けられたデータは、ツールが最初に骨盤内筋膜(EPF)と相互作用した時間と、前立腺が脱脂され分離された後のEPFとの最後の相互作用のタイムスタンプの間に取得されたデータである。タスク「先端の切開(Apical Dissection)」に関連付けられたデータは、ツールが最初に前立腺の組織と相互作用した時間と、前立腺が患者の体へのすべての付着から解放されたときに終了する時間の間に取得されたデータに対応する。タスクの開始時間と終了時間は、タスク間の時間的な重複を可能にするように選択される場合もあれば、そのような時間的な重複を回避するために選択される場合もあることが理解されるであろう。例えば、いくつかの実施形態では、第1のタスクに従事していた外科医が、第1のタスクを完了する前に第2のタスクに移行し、第2のタスクを完了した後、第1のタスクに戻って完了するときのように、タスクは「一時停止」されることがある。したがって、開始点と終了点はタスクの境界を定義することができるが、複数のタスクに関連するタイムスタンプを反映するようにデータに注釈を付けることができることを理解するだろう。
【0119】
タスクの追加の例には、両手の技術を使用して4つの水平中断縫合を完了することを含む(すなわち、開始時間は、縫合針が最初に組織を貫通した時であり、停止時間は、縫合針が両手のみで組織を出た時であり、例えば、片手での縫合動作はなく、その間に発生する)が含まれる。「子宮角」タスクには、左右の子宮角からの広間膜の切開、及び子宮体の切断が含まれる(ここでは、切開ツールが子宮角又は子宮体のいずれかに接触したときにタスクが開始し、子宮角と体の両方が患者から切り離されたときに終了するように、いくつかのタスクには開始又は終了時間を決定する複数の条件又はイベントがあることを理解するだろう)。「片手縫合」タスクは、片手の技術を使用して4つの垂直中断縫合を完了することを含む(すなわち、開始時間は、縫合針が最初に組織を貫通したときであり、停止時間は、縫合針が片手のみで組織を出たとき、例えば、間に両手の縫合動作が発生しなかったときである)。タスク「懸垂靱帯(Suspensory Ligaments)」は、尿管が露出するように各懸垂靱帯の側面小葉を切開することを含む(すなわち、開始時刻は第1の小葉(leaflet)の切開が開始されたときであり、終了時刻は最後の小葉の切開が完了したときである)。タスク「連続縫合(Running Suture)」は、4つのバイト(bites)で連続縫合を実行することを含む(すなわち、開始時間は縫合針が最初に組織を貫通したときであり、停止時間は4つのバイトがすべて完了した後に針が組織を出たときである)。最後の例として、タスク「直腸動脈/静脈」は、上部直腸動脈と静脈の切開及び結紮を含む(すなわち、開始時間は動脈又は静脈のいずれかで切開が開始されたときであり、終了時間は外科医が結紮後に結紮との接触を中止したときである)。
【0120】
オペレータ評価処理トポロジの例
外科医の技術的スキルは、最適な患者ケアを提供する上で重要な要素である。残念ながら、オペレータのスキルを確認するための既存の多くの方法は、主観的、定性的、又はリソース集約的なままである。ここに開示されている様々な実施形態は、客観的パフォーマンス指標(OPI)、手術データから生成される定量的メトリックを使用してオペレータのスキルを分析することによって、より効果的な手術スキル評価を企図しており、これは、オペレータの個々のスキルパフォーマンス、タスクレベルのパフォーマンス、及び手術全体のパフォーマンスを調べるのに適している。OPIは、データ値から直接取得されるのではなく、他のOPI(例えば、2つのOPIの比率をOPIとみなすことができる)からも生成される可能性があることが理解されるだろう。スキルとは、手術の効率又は結果に影響を与えると認識されている手術中に実行されるアクション又はアクションのグループである。最初に、自動化された動作の目的のために、スキルは、(例えば、専門家によって提案される)OPIの初期割り当てによって「定義」される又は表されるが、そのような初期割り当ては、ここに記載されているさまざまなシステム及び方法を使用して調整され得る。
【0121】
図6は、いくつかの実施形態で発生する可能性がある手術スキル評価を実行するための情報フローを示す概略トポロジ図である。具体的には、「参照」データ605aは、現実世界の非ロボット手術室635a、現実世界のロボット手術室635b、及びシミュレートされた手術635c(ロボットシミュレーターが示されているが、例えば適切なダミー患者の材料を用いた、非ロボット手術もシミュレートできることを理解するだろう)から取得されたデータである場合がある。参照データセット605aは、「経験者」(例えば、スキル又はタスクを実行した経験が100時間を超えるオペレータ)と「初心者」(例えば、スキル又はタスクを実行した経験が100時間未満のオペレータ)の両方のユーザのデータを含み得る。参照データセット605aは、パフォーマンス評価システム625の一部として機械学習モデル分類器(例えば、ここで説明する1つ以上のスキル又はタスクモデル)をトレーニングするために使用され得る。
【0122】
後で、「対象」データセット605bを取得することができ、また、現実世界の非ロボット手術室640a、現実世界のロボット手術室640b、及びシミュレートされた手術640c(繰り返しになるが、ロボットシミュレーターが示されているが、例えば適切なダミー患者の材料を用いた、非ロボット手術もシミュレートされる可能性があることは理解できるだろう)によって提供されるデータを含み得る。対象データセット605bは、同様に、対象データセット605bのパフォーマンスメトリック630(例えば、スキルスコア、タスクスコアなど)を生成するために、「参照」データ605aでトレーニングされたパフォーマンス評価システム625の分類器に提供され得る、「キャプチャケース」ボタン640を選択することは、いくつかの実施形態では、送信ボタン635を選択することと同じ効果を持つ場合がある。
【0123】
いくつかの実施形態では、参照データセット605aと対象データセット605bは、パフォーマンス評価システム625によって消費される前に、それぞれデータストレージ610aと610bに格納され得る。いくつかの実施形態では、データストレージ610aと610bは、同じデータストレージであり得る。いくつかの実施形態では、データストレージ610aと610bは、データが取得された場所からオフサイトに、例えばクラウドベースのネットワークサーバにあり得る。処理システム615aと615bは、データストレージ610aと610bに格納されたデータを処理し得る(例えば、データストリームにキャプチャされた個別の手術を認識する、ストリームに認識された手術を個別のデータセットに分離する、データセットのメタデータ注釈を提供する、単に追加のアクションなしで適切なデータストレージを確保するなど)。いくつかの実施形態では、人間の注釈者は、処理システム615a及び615bの結果を支援、修正、又は検証し得る。いくつかの実施形態では、処理システム615a及び615bは同じ処理システムであり得る。
【0124】
その後、データストレージ610a及び610b内の処理された参照データ620a及び対象データ620bは、前述のようにパフォーマンス評価システム625によってパフォーマンスメトリック630を決定するために使用され得、具体的には、処理されたデータ620aを使用してパフォーマンス評価システム625の分類器をトレーニングし、その後、分類器を使用して処理されたデータ620bのパフォーマンスメトリック630を生成し得る。
【0125】
例示的な処理概要
図7Aは、いくつかの実施形態で実行され得るスキル(又はタスク)モデルを生成し適用するためのプロセス700における様々な動作を示すフロー図である。一般に、動作は、注釈付きトレーニングデータを持つスキルモデルのトレーニング705a、又はそのようなモデルを使用した注釈なしの新しいデータの推論705bのいずれかを含む。具体的には、ブロック705cにおいて、処理システム(例えば、パフォーマンス評価システム625)は、生データ、例えば、視覚化ツールデータ520、オペレータ側運動学データ525、患者側運動学データ530、及びデータセット605aに出現するシステムイベントデータ525を受け取ることができるが、前述のように、いくつかの実施形態では、これらのすべてのタイプのデータよりも少ないデータが利用可能である可能性がある。このデータは、外科医のスキルスコアを決定するために使用されるスキル(又はタスク)モデルのトレーニングに使用されるため、データに注釈を付けて、データが「専門家」又は「非専門家」の外科医によって生成されたかどうかを示すことができる。ここで説明するように、専門家のデータ値よりも多くの非専門家のデータ値がある場合のように、トレーニングデータには非対称性が含まれることがある。その結果、ブロック705cにおける生のトレーニングデータ又はブロック705dにおいて生成されたメトリックに、合成少数派オーバーサンプリング技術(Synthetic Minority Oversampling Technique(SMOTE))(例えば、imblearn(商標)ライブラリ関数imblearn.over_sampling.SMOTEを使用すること)などのリサンプリング方法が適用され得る。SMOTEの変種、例えば、編集された最近傍クリーニングを伴うSMOTE(SMOTEENN)、Tomekリンクを使用するSMOTE(SMOTETomek)なども同様に採用される可能性があることを理解するだろう。
【0126】
ブロック705dにおいて、ここでより詳細に説明するように、システムは生データをメトリック、例えばOPIに変換し得る。単純には、すべての考えられる外科医のスキルを評価するときにすべてのメトリックを使用することができ、実際に、いくつかの実施形態はこのアプローチをとることができる。しかし、ブロック705eにおいて、さまざまな実施形態は、対応するスキル(又はタスク)を評価するときに使用する各モデルの特定のタイプのメトリックを選択する。将来の計算オーバーヘッドを削減するだけでなく、これは、モデルをより細かく調整し、モデルがそれぞれのスキルに対してより適した特徴ベクトルで動作することを確実にし得る。ブロック705fにおいて、システムは、ブロック705eでスキル又はタスクモデルのそれぞれに対して選択されたブロック705dで生成されたメトリック特徴ベクトルを使用して、各スキル又はタスクモデルをトレーニングし得る。わかりやすくするために、スキルモデルは、スキルに関連する専門家と非専門家のOPI値を区別するようにトレーニングされた機械学習モデルであり、タスクモデルは、タスクに関連する専門家と非専門家のOPI値を区別するようにトレーニングされた機械学習モデルである(ただし、ここで議論されているように、例えば
図13Aに関して、スキルモデルからのスコア結果は、タスクのスコア結果を推論するために使用することもできる)。タスクモデルとスキルモデルの両方がOPIデータのコレクションに基づいて動作してスコアを生成するため、スキルモデルに関するOPIの選択、トレーニング、及び適用に関するここでの説明は、タスクモデルにも同様に適用されることがわかるだろう(明確にするためにスキルモデルのみを説明する場合もある)。
【0127】
これらのトレーニングされたモデルは、その後、他の外科医のパフォーマンスを評価するために使用され得る(例えば、対象データセット605bに反映されるように)。具体的には、システムがブロック705gにおいて追加の生データ(これは、推論のために、専門家又は非専門家のいずれかと関連付けられているものとして注釈されない)を受信すると、システムはそのようなデータを反復処理し、ブロック705hにおいて各スキルモデルの適切なメトリックに変換し、ブロック705iにおいてスキルスコアを生成し得る(この例では、別々のタスクが別々のスキルに関連付けられているが、いくつかの実施形態では、同じスキルが手術全体に適用される場合がある)。
【0128】
図7Bは、いくつかの実施形態で実施される可能性のある手術スコアを決定するスキルモデルの適用例で使用される様々なコンポーネントを示す概略図である。具体的には、ブロック705c、705d、705e、及び705fに従ってトレーニングされたスキルモデル710dが与えられると、パフォーマンス評価システム625はブロック705h及び705iの動作を実行し得る。例えば、システムデータ、患者側又はコンソール側運動学、又はビデオフレームデータを含み得る新しい生データ710aが与えられた場合、変換コンポーネント710b(例えば、ソフトウェア、ハードウェア、ファームウェアのロジック)は生データをさまざまなメトリック値710cに変換し得る。この例では、OPI(例えば、ブロック705eにおいてこの特定のスキルモデル710dに選択されたもの)は、各フレームのタイムスタンプ値に関連付けられた個々のOPI値の配列として表される。これらのメトリックが使用可能になると、システムはスキルモデル710d(これらの実施形態では、各スキルは独自のモデルに関連付けられているが、1つのモデルが複数のスキルで出力するようにトレーニングされている実施形態を理解するだろう)による検討のためにOPIのすべて又はサブセットを選択し得る。OPI値をモデル710dに適用すると、モデル出力値710eが生成され得る。モデルは、OPI特徴ベクトル入力に基づいて「専門家」と「非専門家」を認識するようにトレーニングされているため、出力710eは、例えば、入力OPI710cが専門家又は非専門家によって生成されたデータ710aから導き出された確率のように、2つの値になり得る。ここで、例えば、結果は、データの作成者が専門家である確率が55%で、作成者が非専門家である確率が45%であることを示し得る。後述するように、モデル710dは、所与のOPIデータについて専門家と非専門家を一般的に区別できる任意の適切な分類器、例えば、ロジスティック回帰分類器、SVM、ニューラルネットワーク、ランダムフォレストなどであり得る。いくつかの実施形態では、モデル710dは、利用可能な生データの単一のサブセット(例えば、1秒間隔に関連付けられたデータ)のOPI値を受け取るように構成され得、そのため生データに繰り返し適用され得る。しかし、いくつかの実施形態では、モデル710dは、すべての生データ710aを単一の入力として受け取り、データ内の各時点について出力ペア710eを生成するように構成され得る(例えば、データ内のフレームの各タイムスタンプで)。
【0129】
後述するように、生モデル確率出力710eは、問題のスキルに関してデータ710aを生成した外科医の「スコア」を決定するのに必ずしも直接適しているとは限らない(すなわち、モデル710dに関連するスキル)。したがって、システムは、モデル出力値710eを最終スコア値710g(例えば、
図12B及び12Cを参照してここに記述されているように、参照集団からのスコアに出力を関連付けることによって)にマッピングし得る後処理モデル710fを含み得る。
【0130】
図7Bの議論から、システムが複数のデータのセット(例えば、手術のビデオのすべてのフレーム)のスコアを生成するためにどのように適用されるかを理解するだろうが、明確にするために、
図7Cは、そのようなデータを生成するための1つの「ウィンドウ」アプローチを示している。具体的には、生データの全体は、連続する離散時間間隔内に収まる生データに対応し得るデータ「セグメント」750a-eに編成され得る。例えば、データセグメント750aは、記録の最初の30秒間のシステム及び運動学データである可能性があり、データセグメント750bは、セグメント750aの後の30秒で取得されたシステム及び運動学データである可能性があり、データセグメント750cは、同様にデータセグメント750bの後に続く可能性がある。
【0131】
モデル710dは、データの連続する3つのセグメントから生成されたOPI値を受け取るように構成され得る。したがって、3セグメントの「ウィンドウ」がセグメント750a-e全体に一時的に適用され得る。例えば、セグメント750a、750b、及び750cを使用して3つのOPI値750fを生成し得、セグメント750b、750c、及び750dを使用して3つのOPI値750gを生成し得、セグメント750c、750d、及び750eを使用して3つのOPI値750hを生成し得る。OPI値750f、750g、750hのそれぞれは、モデル710dに供給される特徴ベクトル(すなわち、OPI710c)として機能して、対応する予測出力750i、750j、750k(すなわち、出力710eの各インスタンス)を生成し得る。これらの出力のそれぞれは、後処理コンポーネント710fによって処理されて、それぞれ最終スコア0.73、0.72、及び0.75を生成し得る。ウィンドウがデータのセグメントではなく個々のデータポイントを検討する場合、ウィンドウサイズは処理の継続に応じて調整されるなど、バリエーションを理解するだろう。
【0132】
この方法では、最終スコアを対応するデータセグメントのタイムスタンプに関連付けて、時間にわたるスコア評価をプロットし得る。例えば、0.73のスキルスコアをセグメント750bのタイムスタンプに関連付け、0.72のスキルスコアをセグメント750cのタイムスタンプに関連付け、0.73のスキルスコアをセグメント750dのタイムスタンプに関連付け得る。この例では、3セグメントウィンドウを使用し、これらの3つのセグメントに基づいて3つのOPI値を生成しているが、これは理解を容易にするために選択された1つの可能な値にすぎないことをすぐに理解するだろう。より短い/より長いセグメントウィンドウ又はより多い/より少ないセグメントウィンドウが使用され得る。非常に短いウィンドウの場合、予測出力750i、750j、750kは、人間のレビュー担当者による検査を容易にするために、統合、例えば平均化され得る。逆に、長いウィンドウの場合、中間スコア値が補間によって生成され得る。
【0133】
そのようなデータは、
図7Dに示されているようなプロットに編成され得、ここでは、「子宮角」タスクにおけるリトラクション(retraction(引込み))スキルのスコアが、対応するセグメントのタイムスタンプごとに示されている(スキルモデルからのスキルスコアではなく、タスクモデルからの時間にわたるタスクスコアを類推して整理できることを理解するだろう)。この方法のタイムスタンプへの対応するスコアは、例えば、タスク515a、515b、515c、及び515eのそれぞれの間のスキルスコアなど、手術における特定の時間とスコア値の相関を容易にし得る。タスクがこのスキルの習熟を必要とすることがわかっている場合、
図7Dのような対応するプロットは非常に有用であり得る。例えば、タスクに対応するプロットの部分が外科医に強調表示され得、同僚と比較してパフォーマンスが「良い」か「悪い」かを示すフィードバックが提供され得る。当然ながら、1つのタスクに複数のスキルが必要な場合があるため、
図7Dのような複数のプロットは一緒に外科医に提示され得る。タスクが発生した時間に関連するこのようなプロットは、人間のレビュー担当者のスコア値のコンテキスト化にも役立ち得る。例えば、外科医が手術のビデオをレビューする場合、このような詳細な結果は、外科医が、ビデオ全体をレビューするのではなく、パフォーマンスの「ハイライト」を迅速に特定するために、ビデオ内のパフォーマンスが良い又は悪い時間にジャンプすることを可能にし得る。
【0134】
客観的パフォーマンス指標-アプリケーションの概要
理解を容易にするために、
図8Aは、いくつかの実施形態で使用され得る様々なメトリックとデータ構造の間の関係を示す概略図である。体的には、外科手術805aは、複数のタスク、例えば、タスク805b、805c、及び805dからなり得る。各タスクは、それ自体がいくつかのスキルを意味する場合がある。例えば、タスク805cは、スキル805e、805f、及び805gのそれぞれに依存し得る。同様の方法で、各スキル自体が1つ以上のOPIメトリック値に基づいて評価され得る(ただし、前述のように、いくつかの実施形態では、OPI値はスキルを介在させることなく、タスクに直接関連している場合がある)。例えば、スキル805fは、OPIメトリック805h、805i、及び805jによって評価され得る。各OPIメトリックは、1つ以上の生データフィールドから導き出され得る。例えば、OPIメトリック805iは、生データ値805k、805l、及び805mに依存し得る。したがって、手術を意味のあるタスク区分に分割し、各タスクに含まれるスキルを評価し、OPIを決定してさまざまなスキルと関連付け、利用可能なデータからOPIを定義するように注意が払われ得る。
【0135】
生データ(具体的には、運動学データ)の例として、
図8Bは、いくつかの実施形態において1つ以上のOPIを生成するために使用され得るような、三次元空間における鉗子840の並進運動845aを示している。
図8Cは、いくつかの実施形態において1つ以上のOPIを生成するために使用され得るような、生データ入力の例、具体的には、複数の鉗子コンポーネント軸周りの三次元空間における複数の回転である。鉗子840は、それぞれの軸850a、850b、及び850c周りに、その様々なコンポーネントを845b、845c、845d回転させることができ得る。
図8B及び8Cの並進と回転は、時間にわたる生の運動学データにキャプチャされ、生のデータ値805k、805l、及び805mを形成し得る。OPIメトリック805iは、「鉗子先端の移動速度」OPIであり得、生の値805k、805l、及び805mに基づいて鉗子先端の速度を表し得る(例えば、OPIは
図8B及び8Cの生データから導かれるヤコビ行列から先端速度を推測し得る)。OPIメトリック805iは、スキル805fのスキルスコア(又は、ここでもタスク805cのタスクスコア)を生成するためにモデルの特徴ベクトルの一部として使用されるいくつかのOPIメトリックの1つであり得る。いくつかの実施形態では、スキルスコアのコレクションを使用して、その後、外科医のタスク805cのパフォーマンスを評価し、最終的には、すべてのタスクを検討することによって、外科医の全体的なパフォーマンス805aを評価し得る。
【0136】
ここでも、明確にするために、タスク805b、805c、及び805dの1つで外科医のパフォーマンスを評価したい場合、いくつかの実施形態では、スキルベースのモデルから得られるタスクの構成スキルスコアを検討することによってタスクをスコア化し得る。代替的には、いくつかの実施形態では、代わりに単にOPIをタスクに直接割り当て、次いで、OPIと、スキルに関してここで開示されているシステム及び方法を準用して、タスクベースの (スキルベースではなく) モデルをトレーニングすることもできる(すなわち、専門家にスキルではなくタスクのOPIを選択させ、スキル用に選択されたOPIセットではなくタスク用に選択されたOPIセットに対してOPIフィルタリングを実行させるなどである)。
【0137】
OPI-スキル/タスクマッピングの例
図8Dは、表835a、835bのペアであり、いくつかの実施形態(例えば、
図11AのOPI選択プロセスに従うか、又は専門家の直感と経験に基づく初期マッピングとして)で適用され得るスキルへのOPI及びスキルからタスクへのマッピングの例を示している。複数のスキル855cについて、表835bの網掛けのセルは対応するOPI855bを示す。同様に、表835aは網掛けのセルを介してタスク855aがスキル855cにどのように対応し得るかを示す。
【0138】
明確にするために、例えば
図8Dに示されている対応の例では、示されているタスクの6つすべてが「カメラの使用」スキルに依存しているが、「子宮角」タスクのみが「両手アームリトラクション(2-Hand Arm Retraction)」スキルに依存している。同様に、「利き腕の手首関節動作(Dominant Arm Wrist Articulation)」OPIは「縫合」スキルに関連している。これらの表から、推移的な推論を行うこともでき、例えば、「カメラ制御率」OPIは「子宮角」タスクに関連している(「カメラの使用」は各表の両方に共通であるため)。したがって、
図8Dのような表を使用して、スキルモデルとタスクモデルの両方のOPIを選択することができる。この例に示されているものよりも多くのスキル、タスク、及びOPIが適用される可能性があることを理解するだろう。また、単一のスキルが複数のタスクに適用可能であり得ることにも留意されたい。ここでも、初期OPI対スキルの対応は、ここでより詳細に説明されているデータ駆動型の選択を介して強化される場合がある。
【0139】
前述のように、初期OPI対スキル対応、OPI対タスク対応、又はスキル対タスク対応は、検査又は専門家との相談によって決定され得る。ただし、ここで説明するように、マニュアル検査のみでスキル又はタスクに適切なOPIを選択することは、多くの場合困難であるため、ここに示す自動化システムが使用され得る。
【0140】
具体的には、すべてのOPIの特徴に基づいてトレーニングされた機械学習モデルは、より顕著なOPIに処理を自然に集中させる可能性があることは事実であるが(例えば、ニューラルネットワークが無関係な特徴に関連する重みを減らしたり、SVMが一般的に超平面分離を選択する際に無関係な寸法を無視したりする場合などである)、そのようなモデルへの参照は、モデルが所与のOPIを正確にどのようにアップ又はダウン選択したかが実務家にとって不明である可能性があるため、解釈能力を複雑にする可能性がある。代わりに、
図8DのようにOPIをスキルに効率的にマッピングすることで、外科医に報告されるスキルスコアをより一般化し、解釈可能にすることができる。したがって、多くのOPIを必要以上にスキルやタスクに関連付けることよりも、より効率的なOPIのサブセットを選択することで、外科医がより理解しやすいカテゴリにデータをグループ化することが容易になり、それ自体が外科医のフィードバックにおけるより意味のあるブレイクダウンを促進する可能性がある。さらに、入力特徴により少ないOPIを含めることで、それぞれのスキルモデルのトレーニングと推論の間の計算オーバーヘッドを削減することもできる。実際、より少ないOPIに依存することで、利用可能なデータ型がすべてに満たない場合(または同期できるデータがすべてに満たない場合)であっても、システムが少なくとも一部のスキルスコアを生成し続けてOPI値の完全なセットを生成し得る。
【0141】
OPIの選択-例の概要
図9Aは、いくつかの実施形態で実装され得るスキル、スキルモデル、及びOPI間の関係の例示的なセットを示す概略図である。ここで、各スキルスコア905a、910a、915aなどは、それぞれ対応する機械学習モデル905b、910b、915bから導出され得る(ただし、前述のように、いくつかの実施形態では、モデルの出力に対する後処理が最終的なスキルスコア値を決定するために適用される場合がある)。いくつかの実施形態では、すべてのスキルモデルにOPIセット全体を提供することを検討しているが(実際、いくつかの実施形態では、検討されたすべてのスキルの出力を提供するモノリシックモデルを使用する場合がある)、ここでは、各モデル905b、910b、915bは、代わりに、利用可能なOPIのコーパス900全体からのサブセット920a、920b、920cを検討し得る。具体的には、人間の注釈者(annotator)(専門外科医など)が、それぞれのスキルに関連付けられている専門知識と直感に基づいて初期サブセット905c、910c、915cを選択し得る。例えば、専門家は、所与のOPIが問題のスキルに何らかの関係があるかどうかを検討し得る。スキル「カメラ管理」は、カメラ速度に関連するOPIを含み得るが、例えばハサミの起動に関連するOPIに依存する可能性は低い。したがって、カメラ関連スキルの第1のOPIサブセット選択は、カメラ関連データから導出されたすべてのOPIを含み得る。
【0142】
したがって、いくつかの実施形態では、サブセット905c、910c、915cのOPI値は、モデル905b、910b、915bに提供され、スキルスコアを決定するために使用され得る。しかし、前述のように、冗長又は情報のないOPIを削除することには利点がある場合がある。したがって、いくつかの実施形態では、自動化されたフィルタリングがOPI920a、920b、920cの最終セットを決定するために905c、910c、915cに適用される。しかし、自動化されたフィルタリングが初期のサブセット選択(例えば、サブセット905cと920aは同じである)と一致することがあることが理解されるだろう。同様に、いくつかの実施形態は、初期の人間による注釈を省略し、自動化されたフィルタリング(例えば、集合900と初期部分集合905cは同じである)に完全に依存する場合がある。
【0143】
異なるタスクにわたるサブセット920a、920b、920cのそれぞれが、同じOPIの1つ以上を含む場合も含まない場合もあることを理解するだろう。実際、場合によっては、サブセット920a、920b、920cのうちの2つ以上が同じOPIのセットである場合もある。いくつかの実施形態では、スキルが異なるタスクで使用される場合、同じスキルが異なる機械学習モデルで評価される場合がある。代替的には、トレーニングデータがタスクレベルで注釈されている(すなわち、タスクに関連するデータの部分がそのように識別される)いくつかの実施形態では、モデル905b、910b、915bは、タスクを示す追加の入力を受け取るように構成される場合がある(これにより、タスク固有のスキル評価の生成を促す)。したがって、いくつかの実施形態では、異なるタスクごとのスキルモデルが異なるタスクごとのOPIサブセットを受け取る可能性があることを理解するだろう。
【0144】
複製可能かつ意味のある方法でOPIサブセットを効果的に選択するために、様々な実施形態は、
図9Bに示すように、OPI関連性評価器970c(例えば、ソフトウェア、ハードウェア、又はファームウェアのロジック)を適用することを検討する。このようなコンポーネントは、注釈付きトレーニングデータ970a(すなわち、問題となっている特定のスキル又はタスクに関して専門家又は非専門家のいずれかからのものとして注釈された手術データ)と、所与のスキル(又はタスク)に対する初期OPI選択970bを受け取ることができる。OPI関連性評価器コンポーネント970cは、初期OPI選択970bに1つ以上のフィルタリング操作を適用して、最終的なフィルタリングされた選択970dを決定することができる(例えば、初期OPI選択970bは905cに設定されている場合、最終的なセット970dはセット920aとすることができる)。
【0145】
OPI関連性評価器コンポーネント970dの例示的な動作の高レベルの視覚化を
図9Cに示す。ここで、スキルの初期OPIコーパス970b、例えば、ドメインエキスパートによって選択されたセット905cは、8つの異なるOPI(「OPI1」、「OPI2」など)を含み得る。OPI関連性評価器コンポーネント970dは、コーパス970bを1つ以上のフィルタに、例えば、複数のフィルタ950a、950b、950cのそれぞれに伝え得る。これらのフィルタのそれぞれは、それぞれのOPIの対応するデータ970aを検討することによって、コーパス970bのメンバーのすべて又はサブセットを返し得る。ここで、例えば、フィルタ950aは、サブコーパス950dを生成するためにOPI1、4、6、及び8を削除している。同様に、フィルタ950bはサブコーパス950eを生成し、フィルタ950cはサブコーパス950fを生成している。ここでも、フィルタ950a、950b、及び950cの一部は、フィルタリングを実行するときに、専門家/非専門家の注釈付きトレーニングデータ970aを検討してもよい(例えば、
図10A及び10Cの例に関してここでより詳細に説明されているように)。フィルタ950a、950b、及び950cの例には、マンホイットニーU検定、相関ベースのフィルタリング、線形判別分析、カイ二乗検定分析、t検定(及びウェルチなどの変形)、最小絶対収縮及び選択演算子(LASSO)回帰、ランダムフォレスト又はディシジョンツリー、RFE/再帰的特徴除去(ロジスティック回帰ベース推定器、ベース推定器としての標準MLモデルなど)、PCA/スパースPCA/フーリエ法など(例えば、トレーニングデータの中で最大の主成分又は信号の寄与を持つOPIを保持することによって)、t分布確率的近傍埋め込み(t-SNE)、均一多様体近似及び射影(UMAP)次元縮減ベースの手法、レリーフ特徴選択(relief feature selection)、ボルタアルゴリズム(例えば、Boruta R(商標)言語パッケージで実装される)などが含まれる。
【0146】
フィルタ950a、950b、950cがサブコーパス950d、950e、及び950fを生成した後、OPI関連性評価器コンポーネント970cはサブコーパス950d、950e、及び950fを最終セット970dに統合し得る。この統合は、異なる実施形態で異なる形式を取り得る。この例では、コンポーネント970cは、サブコーパス950d、950e、及び950fの論理和(logical OR)(又は、同等に和集合)を取って、スキルモデルがトレーニングされ得る最終的なサブコーパス970dを生成している(つまり、モデルは、セット970dの選択されたOPIに対応するトレーニングと推論のためにOPIデータを消費する)。例えば、OPI2は、サブセット950dと950eの両方に現れるため、最終セット970dに一度だけ現れる。対照的に、セット950d、950e、又は950fのいずれにもOPI8は含まれないため、OPI8は最終セット970dに現れない。ここでは、フィルタは同等に扱われるが、いくつかの実施形態では、一部のフィルタのサブセットが他よりも優先され、セット970dに現れるOPIは、例えば、セット950d、950e、又は950fの加重投票によって選択され得る(例えば、セット950d、950e、又は950fの4つの最も一般的なOPIを選択する)。同様に、いくつかの実施形態では、論理和の代わりにセットの論理積(logical AND)(例えば、各コーパスの共通部分(intersection))を使用し得る。この例では、論理積はOPI2のみを持つ最終セット970dを生成する。
【0147】
サブセットを統合する(加重投票、論理和、論理積など)最善の方法は、使用されるスキルモデル、OPIの性質、及び課される計算上の制約に依存し得る。例えば、計算リソースが豊富であり、スキルモデルが堅牢(例えば、ディープラーニングモデル)であり、複数のOPIの関連性を識別できる場合、又はOPIが必ずしも大量のデータをキャプチャするとは限らないしない場合は、論理和の方が適している可能性がある。一方、計算リソースが限られ、スキルモデルの堅牢性が低い場合、又はOPIが大量のデータをキャプチャする場合は、論理積の方が適している可能性がある。ここで説明するさまざまな実験的な削減を実践では、モデルがロジスティック回帰分類器である場合、OPIは
図17、18、19、及び20に示されているようになり、論理和は好ましい結果をもたらすことがわかった。
【0148】
いくつかの実施形態では、フィルタは、処理されるデータに対して予備検証を行うことによって選択されることもできる。例えば、データが正規性、等分散などの仮定についてテストされ、データソースが様々な独立性の要件を満たしていることが判明した場合、それに応じて様々なフィルタが単独又は組み合わせて適用され得る。
【0149】
前述のように、フィルタ950a、950b、950cは、様々な方法に従ってOPIを選択し得る。一般に、フィルタは、単一OPI統計分布分析(SOSDA)フィルタ、複数OPI統計分布分析(MOSDA)フィルタ、及び複数OPI予測モデル(MOPM)フィルタの3つの形式の1つを想定し得る。SOSDA及びMOSDAフィルタは、OPI値のセットの専門家分布とOPI値のセットの非専門家分布が、それぞれ1つ以上のOPI値の選択に対して十分に異なるかどうかを決定するために使用され得、その1つ以上のOPIが、専門家と非専門家データ(例えば、ここで説明した
図10Aの方法に従って)を区別するために有用であり得る。具体的には、SOSDA及びMOSDAフィルタのそれぞれの「差異」は、専門家分布と非専門家分布に適用される統計的テストに従って決定され得る。SOSDAフィルタで使用される統計的テスト及び分析の例には、例えば、マンホイットニーのような仮説テスト、t検定、Welchのt検定、相関方法、一般化線形モデル、カイ二乗検定などが含まれる。同様に、MOSDAフィルタで使用され得る統計的テスト及び分析の例には、例えば、ワルド検定、ANOVA、一般化線形モデル、PCA、スパースPCA、t-SNE、UMAP/その他の次元削減手法、相関などが含まれる。対照的に、MOPMフィルタは、予測モデルで専門家/非専門家データを区別する際に、1つ以上のOPIの選択からのOPI値の有効性を検討し得、それに応じて、例えば、ログ登録(log reg)又はその他のベース推定器を使用した再帰的特徴除去(RFE)、レリーフ特徴選択、線形判別分析、LASSO回帰、ランダムフォレスト法、ディシジョンツリー、ボルタ特徴選択などが含まれ得る。したがって、フィルタ950a、950b、950cは、すべてSOSDAフィルタであってもよく、すべてMOSDAフィルタであってもよく、すべてMOPMフィルタであってもよく、あるフィルタは1つのタイプのフィルタであってもよいし、他のフィルタは別のタイプのフィルタであってもよいことを理解するだろう。同様に、MOSDAフィルタとMOPMフィルタの両方が、統計的テストとして、K平均、K最近傍、階層的クラスタリング、ノイズを伴うアプリケーションの密度ベースの空間クラスタリング(DBSCAN)などのクラスタリング手法を採用し得ること又は反復モデル予測がその後使用されて、識別されたクラスタの非類似性又は予測有効性を評価し得ることを認識するだろう。
【0150】
OPIの選択-SOSDA/MOSDA OPIフィルタリングプロセスの例
図10Aは、いくつかの実施形態で実装され得る、SOSDAスタイルのOPIフィルタリングの例示的なプロセス1010を示すフロー図であるが、一度に1つのOPIではなく、一度に複数のOPIを検討することによって、ステップをMOSDAフィルタリングに適用できることがわかる。ここで、ブロック1010a及び1010bにおいて、システムはセット970bのOPIを反復処理し得る(繰り返しになるが、MOSDAスタイルのフィルタリング中、単一のOPIではなくOPIのコレクションがブロック1010bにおいて検討され得ることを理解するだろう)。これらのOPIのそれぞれについて、システムは、ブロック1010cにおいて対応する専門家/非専門家の注釈付き(繰り返しになるが、問題のスキルに関する「専門家」)データ970aを参照して、スキルの専門家及び非専門家の各データセットにおけるOPI値のそれぞれの分布を決定し得る。ブロック1010dにおいて、システムは次に、分布が類似しているか非類似であるかを検討し得る。
【0151】
例えば、スキルが「カメラの動き」であり、ブロック1010bにおいて検討されたOPIが「カメラの動きの期間」である場合、初心者ユーザは、多くの場合、迅速かつ正確にカメラを配置する専門家よりも、大きいばらつきを伴って、カメラを配置するのに時間がかかる可能性があるため、分布は非常に似ていない可能性がある。逆に、ブロック1010bにおいて検討されたOPIが「フォーカス」(例えば、ビデオ画像のフーリエ変換から最も広い周波数の多様性(frequency variety)を探すことによって評価される)である場合、専門家と非専門家の両方が迅速に適切なフォーカスを達成できる可能性がある。したがって、データの分布は非常に似ている可能性がある。非類似のOPI分布は、専門家と非専門家を区別するためにより有用であり得るため、それらはブロック1010eにおいて保持され、一方、類似の分布は、ブロック1010fにおいてOPIが削除されことをもたらし得る。読者にわかりやすくするために、
図10BはOPI値分布の例を示している。OPI(例えば、「フォーカス」)の専門家分布が分布1015aであり、非専門家分布が分布1015bであった場合、OPIは専門家と非専門家を区別するには不十分な手段であり得、セットから削除され得る。対照的に、OPI(例えば「カメラの動きの期間」)の専門家分布が分布1015cであり、非専門家分布が分布1015dであった場合、OPIは専門家と非専門家を区別するには適切な手段であり得、セットに保持され得る。すべてのOPIがブロック1010aにおいて検討されると、保持されたOPI(例えば、サブコーパス950d)の最終セットがブロック1010gにおいて出力され得る。
【0152】
分布間の「類似性」の定量的決定を評価するための様々なメカニズムを理解するだろう。例えば、いくつかの実施形態は、分布の平均及び分散を直接比較し、T検定を実行し、p値を評価するなどをし得る。マンホイットニーU検定のような、正規分布を仮定しないノンパラメトリック検定は、ここで検討されているOPI値分布の場合のように、不均衡データを扱う場合に特に有用である。マンホイットニーU検定を含む、これらの検定の多くを実行するためのさまざまなライブラリが存在することを理解するだろう。例えば、SciPY(商標)ライブラリはscipy.stats.mannwhitneyu関数を提供している。この関数を使用して、U統計p値が0.05未満の分布を(例えばブロック1010dにおいて)「非類似」として識別することを実践への還元例では、良好な結果が得られることがわかった。いくつかの実施形態では、誤った結論を減らすために、ボンフェローニ、ボンフェローニホルムのようなファミリーワイズ誤り訂正を適用することもできる(例えば、ボンフェローニは偽陰性を増加させる可能性を犠牲にして偽陽性を減少させる可能性がある)。
【0153】
OPIの選択-MOPM OPIフィルタリングプロセスの例
わかりやすくするために、
図10Cは、例えばRFEに従って使用され得る、MOPMフィルタを使用してOPI選択を実行するための例示的なプロセス1005を示すフロー図である。具体的には、ブロック1005aにおいて、処理システムは、OPI値970bのすべての初期セットについて、専門家/非専門家の注釈付きデータ970aをトレーニングサブセットと検証サブセットに分割し得る。ブロック1005bにおいて、処理システムは、専門家及び非専門家の外科医に関連するOPI値を認識するために、このトレーニングセットのOPIデータで機械学習モデル(例えば、ロジスティック回帰分類器モデル、SVMモデルなど)をトレーニングし得る。ブロック1005cにおいて、処理システムは、検証サブセットを使用してモデルを検証し得る。ブロック1005dにおいて、処理システムは、検証中に正しい分類に影響を与える重要性に基づいて、OPIの順序を決定し得る。例えば、初期のOPIのそれぞれが選択的に削除され、モデルパフォーマンスが再検討され、出力のばらつきを大きくするようなこれらのOPI削除はより重要であると考えられる可能性がある。ランダムフォレストのようないくつかの機械学習モデルは、処理の一部として重要度スコアを提供し得る(例えば、OPIを除外した場合にどれだけ精度が低下するかを示す)ことを理解するだろう。OPIの重要度の順序を特定した後、システムは、ブロック1005fから1005mにおいて重要度の低いOPIを取り除き得る(ただし、さまざまな実施形態は、しきい値を超えて最も重要なOPIを単に選択するために、これらの操作を省略することもできる)。
【0154】
具体的には、ブロック1005eにおいて、サブセットサイズカウンタCNTSが1に初期化され得る(ここでのカウンタの使用は、単に理解を容易にするためのものであり、同等の機能を様々な方法で容易に実装できることは理解されるだろう)。このカウンタは、セット970bから(ブロック1005dで決定された重要度の順に)いくつのS OPIが検討されるかを追跡する。したがって、(ブロック1005dにおいて決定された)最も重要なOPIのすべてのSがブロック1005fにおいて検討されるまで、OPIの数はブロック1005fと1005gにおいて増やされ得る。
【0155】
各繰り返しにおいて、ブロック1005gにおけるCNTSの最も重要なOPIは、ブロック1005hにおいて機械学習モデルをトレーニングするために検討され使用され得る。その後、システムはブロック1005iにおいてトレーニングされたモデルを検証し得る(例えば、ここで生データと分割がブロック1005aのものと同じである)。この検証の有効性は、選択されたOPIのセットの適合性の推定値として使用され得る。したがって、結果、例えば検証におけるモデル精度は、ブロック1005jにおいて記録され得る。CNTSはブロック1005kにおいてインクリメントされ、追加の反復が実行され得る。
【0156】
ブロック1005iにおいて検証を介してOPIのすべての望ましいセットが評価されると、システムはブロック1005lにおいて各セット選択のパフォーマンスプロファイルを決定し得る。その後、システムは、ブロック1005mにおいて最終的なOPIセット、例えば、許容できる、又は最良の検証結果を達成する最小のセットを選択し得る。
【0157】
多くの統計パッケージがSOSDA、MOSDA、又はMOPMフィルタの適用を容易にし得ることを理解するだろう。例えば、RFEはscikit-learn(商標)ライブラリの「sklearn.feature_selection.RFE」クラスを使用して実装され得る。次のコード行リストC1は、一実施形態の実践への還元で使用され、この目的に適した結果を生成することがわかった。
rfe = RFE (estimator = SVC(kernel="linear"), step=1) (C1)
繰り返しになるが、コードリストC1の例ではSVMが使用されていたが、RFEは、他のモデル、例えば、ランダムフォレスト、ロジスティック回帰分類器などでも使用され得ることがわかるだろう。
【0158】
OPIフィルタリングを使用したスキルモデルトレーニングプロセスの例
図11Aは、いくつかの実施形態で実装され得る、スキル(又はタスク)モデル構成とOPI選択を評価し、専門知識モデル(例えば、スキルモデル又はタスクモデル)を生成するためのプロセス1100の例におけるさまざまな動作を示すフロー図である。一般に、プロセス1100は、OPI選択と相互検証操作(cross-validation operations)を統合することによって、専門知識機械学習モデル分類器のパラメータ選択を容易にし得る。相互検証は、利用可能なデータのすべて又は一部のみに対してトレーニングすることによって生成され得るよりも堅牢なモデル構成を達成するために、複数のモデル構成を反復的にトレーニングする方法であることが理解されるだろう。具体的には、参照及び明確化のために、
図11Bのトレーニングデータ1115aの例を参照して、トレーニングデータ1115aは、選択された特徴の形式であり、ここで説明するように注釈を付けられ得る(例えば、専門家又は非専門家に関連付けられていると注釈された生データ値又はOPI値)。このデータは、トレーニング部分1115bとテスト部分1115cに分けられ得る(いくつかの実施形態では、テスト部分1115cは省略されてもよく、すべての利用可能なトレーニングデータがトレーニング部分1115bとして使用されてもよい)。トレーニング部分1115b自体は、モデルのハイパーパラメータの各々を決定し、モデルを検証するために使用され得るが、テスト部分1115cは、生成されたモデル又は生成されたモデルから導出された最終モデルの最終的な検証評価を提供するために保留され得る。この目的のために、トレーニング部分1115b自体は、データのほぼ等しいグループの「フォールド」に分割され得る(ここでは、そのようなフォールドを3つ示している)。各トレーニング反復において、モデルのハイパーパラメータのバージョンは、トレーニング部分1115bからのフォールドの一部又は全部を使用してモデルをトレーニングすることによって決定され得る(例えば、最初にトレーニングされたモデルは、フォールド2とフォールド3を使用して生成され、フォールド1はモデルを検証するために使用され得る;2番目のモデルは、フォールド1と3でトレーニングされ、フォールド2が検証に使用され得る、など)。生成されたモデル及びその検証結果のそれぞれは次に分析されて、選択されたモデルパラメータ(例えば、ニューラルネットワークにおける層の選択、SVMにおけるカーネルの選択など)の有効性を評価し得る。次に、最も好ましいパラメータが新しいモデルとトレーニングされたモデルに、例えばデータ1115b全体に適用され、個別の予約されたテスト部分1115cを使用して評価され得る。
【0159】
プロセス1100を使用して、検証結果を持つ複数のそのような中間モデルを生成し、必要に応じて、パラメータが満足のいく結果を生成する場合は、同様の方法で最終モデルを生成し得る。
図9Aに関して議論されているように、OPIコーパスの専門家選択サブセット(又はOPIコーパス全体)がブロック1190において受け取られ得る。トレーニングデータ(すなわち、専門家/非専門家注釈付き生データ値又はOPI値)を提供することもできる。このデータは、ブロック1186においてトレーニング部分(部分1115bに対応)とテスト部分(部分1115cに対応)に割り当てられ得る。前述のように、トレーニング部分自体を所望の数のフォールドに分割することができ、そこから各反復で所望の数T2の選択を導出することができる(例えば、T2=5)。例えば、最初の選択はフォールド1と2でトレーニングし得、フォールド3で検証し得、2番目の選択はフォールド2と3でトレーニングし得、1で検証し得るなど。したがって、ブロック1105において、外側のカウンタCnt2は、1に初期化され得、ブロック1187におけるフォールド選択を反復処理するために使用され得る(繰り返しになるが、ここでのカウンタの使用は単に理解を容易にするためのものであり、同等の機能がさまざまな方法で容易に実装され得ることを理解するだろう)。
【0160】
検討されたフォールドの選択ごとに、ブロック1110において、システムは、SOSDA又はMOSDA OPIフィルタリング方法、例えば、マンホイットニーUテストによるフィルタリングを使用して、第1のOPIサブセットを決定し得る。明確にするために、ブロック1110の各パフォーマンスのSOSDA又はMOSDA OPIフィルタリングのOPI値によって参照される生データは、ブロック1187からの現在の選択からのフォールド(例えば、選択範囲内のすべてのフォールド、しかし、いくつかの実施形態では、すべてのフォールドよりも少ないフォールドを採用する場合がある)のものであることを理解するだろう。ブロック1110においてSOSDA又はMOSDAフィルタを介してOPIの第1のセットが選択されると、システムはブロック1145においてMOPMフィルタを介して追加のOPIサブセットを生成しようとする場合がある。MOPMフィルタは独自の機械学習モデルを採用する場合があるため、ここでもループ内部交差検証アプローチが望ましい場合がある。具体的には、ブロック1187からの現在のフォールド選択(例えば、トレーニング用に割り当てられたフォールドと検証用に割り当てられたフォールドの両方)は、それ自体がサブフォールドと、ブロック1120、1125、1188で示されるように内部カウンタCnt1を介して検討されるT1の所望の反復サブフォールド選択に分割され得る。Cnt1がブロック1120において第1のしきい値T1(例えば、検討すべきサブフォールド選択の所望の数)未満のままである間、Cnt1はブロック1125においてインクリメントされ得る。
【0161】
ただし、ここでは、ブロック1190で受信した元のデータからの「実際の」OPI値分布を参照するのではなく(ブロック1110でのSOSDA又はMOSDAフィルタの場合と同様)、ブロック1145での各OPI選択は、代わりにブロック1130、1135、1140の動作(総称して「中間合成データセット」生成動作1195aと呼ばれる)を介して作成された合成データセットに基づいて決定され得る。
【0162】
つまり、T1の各反復について、例えばSMOTEを介したアップサンプリングがブロック1130においてサブフォールド選択の専門家注釈付き部分に、例えば、提示不足の(underrepresented)専門家データをアップサンプリングするために、適用され得る。専門家データはアップサンプリングされ得るが、非専門家データは逆にダウンサンプリングされ得る。例えば、ダウンサンプリングは2段階で進行し得る。第1に、ブロック1135において、近隣清掃ルール(NCR)、ダウンサンプリング方法を使用して、他の非専門家サンプルから遠く離れた外れ値ポイントを削除することによって、より大きな非専門家グループのノイズの多いデータを削減し得る(ノイズの多いサンプルを効果的にクリーニングする)。NCRは、いくつかの実施形態ではライブラリ、例えば、ライブラリimblearn(商標)の関数「imblearn.under_sampling.NeighbourhoodCleaningRule」)」を使用して実装され得る。第2に、ブロック1140において、処理システムは、NCRによって削除されなかった残りの非専門家値をランダムにダウンサンプリングし得る。これは、約50/50の比率にするように専門家グループと非専門家グループのバランスを取る効果を有し得る。NCR法は特定の比率までサンプルサンプリングしない場合があるため、ブロック1140はNCRの動作を補償し得る。クラスサイズが小さい場合、ブロック1135と1140のこの組み合わせは、ランダムダウンサンプリング単独よりも優れたパフォーマンスを発揮し得るが、一部の実施形態では代わりにブロック1140のみを使用してブロック1135を削除し得る、又はその逆も可能である。ブロック1130、1135、1140のダウンサンプリングプロセスの前後のOPIデータの例を
図15に示す。
【0163】
明確にするために、これらの動作は、例えば、C2からC8までのコード行リストの例に示されているように、scikit-learn(商用)とimblearn(商用)を介して、様々なライブラリを介して統合され得ることを理解するだろう。
【表1】
ここで、「アップレシオ(upratio)」は、例えば、3x up sampleで表されるSMOTEの比率であり得る。繰り返しになるが、これらの行は一例に過ぎず、他の実施形態では異なる数のフォールド又はモデルを採用してもよいことがわかる。
【0164】
前述のように、ブロック1145において、MOPMフィルタ、例えばここで説明するRFEは、OPIの第2のサブセットを決定するために、動作1195aによって生成された合成データセットに適用され得る。RFEなどのMOPMフィルタは、(例えば、
図10Cに関して述べたように)ブロック1145において、最大交差検証(CV)スコア基準と最小特徴数基準の両方を満たすスキル又はタスクに使用するOPIのセットを決定し得る(したがって、異なるサイズのOPIの2つのセットが同じ機能を果たすことがわかった場合、フィルタは2つのセットのうち小さい方を選択し得る)。明確にするために、ブロック1110のSOSDA又はMOSDAフィルタは、(すなわち、ブロック1150において論理和を取ることによって、ここで別のところで議論されているように、セットは他の方法で結合又は比較され得る)含める価値があり得るブロック1145において省略されたOPIのチェックとして機能し得る。ここでも、ブロック1110が明確にするために内部交差検証ループの前に発生していることが示されているが、いくつかの実施形態では順序が逆になる可能性があること、又はこの2つが並行して追求される可能性があることを理解するだろう。
【0165】
ブロック1120においてCnt1がしきい値T1を超えるとき(つまり、すべてのサブフォールド選択が考慮されている)、ブロック1150において、システムは、ブロック1110で生成されたサブセットとブロック1145の各反復で生成された各サブセットの論理和を取り得る。例えば、T1=5の場合、ブロック1150は、6つのOPIコーパスセット:ブロック1110で生成されたセットとブロック1145までの5回の反復で生成された5つのセットを組み合わせ得る。ただし、さまざまな実施形態が代わりに内部ループからの結果をクロス検証し、ブロック1145で生成された各セットに基づいて最も適した単一のセットを生成し得るため、バリエーションを理解するだろう。これらのバリエーションでは、当然、2つのセットだけがブロック1150で結合される(ブロック1145で生成されたセットとブロック1110で生成されたセットの内部クロス検証からの最適なセット)。次に、ブロック1150の結合コーパスが、T2フォールド選択の現在のフォールド選択(ブロック1187で選択)に関する機械学習モデルをトレーニングするために使用され得る。
【0166】
具体的には、ブロック1155において、外部カウンタCnt2をインクリメントされ得る。バランスのとれたデータでトレーニングされたモデルは、より堅牢な推論結果を提供する可能性が高いため、別の「トレーニング」合成データセットが再び生成される場合があるが、今回はブロック1187からのトレーニングデータフォールド(複数可)の選択全体からである。このトレーニング合成データセットは、動作1195b、例えば、ブロック1160、1165、及び1170のそれぞれで適用されるSMOTE、NCR、及びランダムダウンサンプリングのシーケンス(例えば、ブロック1130、1135、及び1140に関して前述したのと同じ方法で、サブフォールドの選択ではなくフォールドの選択に基づいて)を使用して生成され得る。内部検証ループに関して前述したように、ここでは、いくつかの実施形態は同様にさまざまなブロック1160、1165、及び1170を省略し得る。ただし、ブロックを保持することは、再びブロック1170がNCRの動作を補償する可能性があるため、有益である場合がある。
【0167】
ブロック1175において、システムは、ブロック1150からのマージされたコーパスのOPI値に対応する合成トレーニングデータセットからのデータを使用して、経験分類器(タスク又はスキルモデル)をトレーニングし得る。繰り返しになるが、明確にするために、これらの動作は、さまざまなライブラリ、例えば、コード行リストC9からC14に示されているように、scikit-learn(商標)やimblearn(商標)を介して、統合され得ることを理解するだろう。
【表2】
ここで、この場合も同様に、「アップレシオ(upratio)」は、例えば、3x up sampleで表されるSMOTEの比率であり得る。繰り返しになるが、これらの行は一例に過ぎず、他の実施形態では異なる数のフォールド又はモデルを採用してもよいことがわかる。
【0168】
その後、システムはブロック1180において分類器の有効性を評価し得る。トレーニング合成データセットを使用したモデルのトレーニングとは異なり、ブロック1180におけるモデルの検証では、現在のフォールド選択のデータを元のバランスを取られていない形式で使用し得ることを理解するだろう。これにより、専門家のサンプルサイズを合成的に(synthetically)増やすと不正確なパフォーマンスメトリックが生成される可能性があるため、モデルのパフォーマンスは、実世界のデータに対する操作と比較して評価されることを確実にし得る(例えば、推論中に入力データが合成的にバランスされない)。
【0169】
ここでも、明確にするために、ブロック1175と1180の各反復は、新しいトレーニングされたモデルと、そのモデルの新しい対応する評価を生成し得る。例えば、いくつかの実施形態では、ブロック1175において、フィルタリングされたOPIのトレーニングデータ(ブロック1150から)がロジスティック回帰分類器(又は他の適切なモデル、例えばここで議論されているような)をトレーニングするために使用されるため、複数のこのようなトレーニングされた分類器が反復ごとに生成され得る(及び対応する評価がブロック1180で行われ得る)。これらの評価から、好ましい結果をもたらすモデル構成とOPI選択を推論することができる。例えば、「最良の」モデル構成とOPIの選択は、その後推論に使用され得る、或いは、類似又は同じパラメータを持つ新しいモデルの作成をガイドするために使用され得る。いくつかの実施形態では、サンプルサイズの大きな違いを説明するためのバランスのとれた精度スコア(例えば、ROC-AUC、F1スコア、Jaccardなど、両グループ間のリコールの平均)と、-1(悪い予測)から1(完全な予測)までの範囲の分類のバランスのとれた品質尺度であるマシューズ相関係数(MCC)の2つの方法を使用して、ブロック1180においてパフォーマンスが測定され得る。ブロック1185において、Cnt2がまだ外側のしきい値T2を超えていない場合は、外側のループが再び実行され得る。
【0170】
選択の相対的なメリットを評価するために、パラメータの複数の選択(例えば、ブロック1190で初期OPI選択を変更する、ブロック1175でモデルの選択と構成パラメータを変更する、MOPMとSOSDA/MOSDAの選択など)に対して、ブロック1189を除いて、プロセス1100を複数回実行し得る。好ましい結果を生成するパラメータが特定されると、ブロック1189で示されているように、パラメータを使用して最終モデルがトレーニングされ得るが、代わりに、例えば、モデルをトレーニングするためのトレーニング部分1115bの全体と、テストするための予約部分1115cを使用する(又は、例えば、テストせずに、利用可能なすべてのデータでモデルがトレーニングされ得る)。
【0171】
サンプルサイズが制限されている場合は、少数の交差検証フォールド(例えば、T1=5、T2=5)が実行され得る。これにより、同じデータのセットが何度も再利用されたため、モデルのパフォーマンスを過大評価することを防ぐことができる。より多くの専門家データが利用可能な場合は、より多くのフォールド(例えば、T1=10、20など)が使用され得る。一部の実施形態では、ブロック1110でダウン(又はアップ)サンプリングを意図的に避けることがあり、そうすると偽陽性が発生する可能性があることに注意されたい。実際、マンホイットニーは非対称データセットをうまく扱うことができるかもしれない。このテストは、いくつかの実施形態では、より厳格なフィルタリング(例えば、ボンフェローニ、ボンフェローニホルムなど)を提供するために、その理由から保守的な複数テスト補正を使用し得る。
【0172】
したがって、この方法でSOSDA/MOSDAとMOPMのアプローチを組み合わせると、どちらのアプローチも単独では達成できない相乗効果が得られる可能性がある(ただし、前述のように、いくつかの実施形態では、1つ以上のSOSDA/MOSDA又は1つ以上のMOPMフィルタを単独又は一緒に適用することができる。)。専門家と非専門家を区別するためのOPIの最小有効数を単に特定するのではなく、SOSDA、MOSDA、又はMOPMのアプローチを2つ以上採用することはまた、最小値よりも大きいとはいえ、専門家/非専門家グループを直感的に区別し、モデリングにもうまく機能するOPIを取得するのに役立ち得る。このようなさまざまなOPIキャプチャは、それ自体が交差検証中のモデルのトレーニングに影響を与える可能性がある。これらの組み合わせアプローチは、ここに開示されているリサンプリング技術(例えば、SMOTE、ランダムダウンサンプリング、NCRなど)と組み合わせて使用する場合に特に効果的であり得る。
【0173】
スコア生成の例
いくつかの実施形態では、スキルモデルからの直接出力が、外科医にフィードバックを提供するために使用され得る。例えば、モデルが外科医のパフォーマンスが専門家のパフォーマンスである可能性が80%であると考えていることを知ることは、意味のあるステートメントである可能性がある。しかし、一部のモデルの、例えば、ロジスティック回帰分類器、サポートベクターマシンなどの性質は、スキルレベルに直接マッピングする出力を提供しない可能性がある。
【0174】
例えば、
図12Aの抽象特徴空間1205bに示されているように、第1の状況では、専門家OPI値のグループ1205aは、非専門家OPI値のグループ1205iから特徴空間内において大きな距離1205eに位置し得る。同様に、第2の状況では、専門家OPI値のグループ1205dは、非専門家OPI値のグループ1205hから特徴空間内においてはるかに短い距離1205gに位置し得る。どちらの状況でも、いくつかの機械学習モデルは、セパレータ1205fを決定し得る。モデルがSVMの場合、超平面セパレータから新しい特徴点1205cまでの距離は、その点がクラス内にある確率のプロキシ(proxy)として使用され得る(いくつかのSVMのような多くのバイナリ分類器は、通常、パーセント予測なしで予測されたクラスのみを出力し得ることを理解するだろう)。ただし、特徴空間内の距離は、直感的には外科医としてのパフォーマンスと類似していない。同様に、セパレータ1205fがロジスティック回帰分類器の分離平面である場合、セパレータ1205fからの距離はシグモイド関数の値と対応する出力確率に対応し得る。直感的には、新しい特徴1205cは、グループの第2のインスタンス(すなわち、1205dと1205h)と比較して、グループの第1のインスタンス(すなわち、1205a及び1205i)において異なる確率割り当てを受け取ることが期待されるであろう。しかし、シグモイド関数の性質が、各インスタンスで特徴1205cに対して同様又は同じ確率値を生じさせる(precipitates)状況を想像することができる。同様に、シグモイド関数は頭打ちになり(plateau)、セパレータからかなり離れた新しい特徴に対して同様の確率を提供する場合がある。したがって、このようなシグモイドマッピングは、スキルレベルとの直感的な対応関係を持たない可能性がある。ここでは、SVMとロジスティック回帰分類器の例が示されているが、他のモデルの特徴空間に基づいて、スコアと予測確率の間の同様の不連続性を想像することができる。
【0175】
モデル出力からの予測確率と発生し得るスキルのスコアとの間の不連続性を補償するために、様々な実施形態では、モデル確率を外科医スキルレベルにマッピングするための後処理ステップ(例えば、後処理モジュール710fにおける)を考えている。例えば、
図12Bは、いくつかの実施形態で実行され得る参照母集団に基づいてモデル出力からスコアマッピングを決定するプロセスを示すフロー図である。ブロック1210aにおいて、コンポーネントは、例えば、モデルをトレーニングするために使用されるトレーニングデータのように、専門家と非専門家の値を示すために注釈を付けられ得る、既知の外科医の集団のスキルモデルからの出力をレビューし得る(ただし、別のランダム化された集団が代わりに使用されてもよい)。ブロック1210bにおいて、コンポーネントは、モデルの出力と外科医のスキルレベルとの間のマッピングを生成し得る。ブロック1210cにおいて、システムは、例えば、新しい被験者データを検討する際に将来使用するために、マッピングを記録し得る。例えば、推論中に将来の結果が生成される場合、後処理モジュール710fは、ブロック1210cで記録されたマッピングに基づいて、必要に応じて補間しながら、モデル出力をインデックス化し得る。
【0176】
図12Bのプロセスを明確にするために、
図12Cの参照外科医1215bの仮想的なサンプル母集団を考える。これらの外科医のそれぞれは、対応するOPI値を生成するために使用された生データにキャプチャされた手術パフォーマンスを提供した可能性があり、スキル(又はタスク)モデルを通過し、それによって専門家であることの対応する確率1215aが生成された。この例では、ブロック1210bでのマッピングは、モデル出力1215aを減少する大きさのオーダー1215cに順序付けし、次に線形スコアリングメトリック1215dを示されている値にマッピングし得る (ここでは理解を容易にするために線形メトリックが使用されているが、いくつかの実施形態では、参照集団1215bにおける専門家と非専門家の割合に対応するベルカーブ又はマッピングが代わりに使用され得ることを理解するだろう)。ランク付けされた出力間にある推論中に生成された値は、スコアリングメトリックから対応する値を生成し得る。例えば、新しい外科医1215eのパフォーマンスが同じスキルモデルに適用された場合、専門家である確率0.73が生成され得る。この確率は、ランク付けされた順序1215cの位置1215fに対応するため、スキルの最終的なスコアは、メトリック1215dの対応する位置、例えば、87.5と75の平均(81.25)、モデル出力境界値の間の線形位置によってスケールされた平均(すなわち、(0.73-0.5)/(0.75-0.5)=0.92及び0.92*(87.5-75)+75=86.5)などに基づいて出力され得る。
【0177】
上記のアプローチは、モデル出力の確率分布がランキングデータで十分に分離されている場合に特に効果的であり得る。データ内の確率のグループの分散が小さい場合、いくつかの実施形態では他のアプローチを採用し得る。例えば、いくつかの実施形態は、確率のグループ化のための局所的な最大値を見つけるためにカーネル密度を推定し、それらの最大値をランク又はランクのセットと関連付け得る(例えば、単一の最大値の例では、サンプルの大多数が50%のスコアを示す場合がある)。実施形態では、そのような分布の標準偏差を推定して、サンプルがランクの大きな変化を構成するのに十分なほど大きく逸脱した場合を決定し得る。そのような推定がない場合、機械学習出力の非常に小さな変化が、最終スコアの望ましくない大きな変化を引き起こす可能性がある。
【0178】
分布の混合を推定することによって、実施形態は、ランキングの塊を相互に関連付けることができ、スコアをモデル予測の変動に対してより堅牢にレンダリングするとともに、人間の解釈者にとってより直感的な意味を与えることができる。1次元K-平均アルゴリズムの適用に類似したJenkのナチュラルブレーク最適化は、いくつかの実施形態において同様に適用され得る。
【0179】
スコア表示とメンテナンスの例
外科医のパフォーマンスに関するフィードバックを提供するために、上記の結果が外科医に提示され得る複数の方法を理解するだろう。
図13Aは、いくつかの実施形態においてスコア生成に使用され得る一般的な階層的入出力トポロジを示す概略ブロック図である。前述のように、各スキルモデルの出力(又はモノリシックモデルが使用されている場合は、モデルのスキル固有の出力)がスキルスコアを生成するために後処理され得る。その後、スキルスコアは、スキルスコアが導出された生データから対応するタスクと関連付けられ得る。例えば、タスクBはスキルA、B、Cに依存する場合がある。したがって、タスクBを実行する外科医のデータが、スコア1305a、1305b、1305cを生成するために使用され得る。これらのスコア自体は、外科医のタスクのパフォーマンスのスコア1310bを形成するために組み合わされ得る(代わりに、又は補完的な方法で、ここで説明するように個別にトレーニングされたタスクモデルが、スコアを作成するために使用され得、最終的なタスクスコアは、例えば、このタスクモデルで決定されたスコアと累積スキルで決定されたスコア1310bの平均になり得る)。例えば、スコアは、タスクに対する相対的な重要度によって重み付けされ、合計され、スコア1310bを形成するように正規化され得る。すべてのタスクからのそのようなスコア、例えば、1310a、1310bなどは、同様に、手術全体のスコア1315を形成するために組み合わされ得る。例えば、組み合わされたスコア1315は、手術に対するタスクスコアの相対的な重要性(及び/又は手術時間)によって重み付けされたタスクスコアの平均であり得る。
【0180】
図13Aのスコアは、外科医が詳細な(granular)フィードバック及び全体的なフィードバックの両方を受け取り、時間の経過にわたる様々なレベルの詳細で進歩を追跡することを可能にし得る。このようなフィードバックを提供する一例として、
図13Bは、外科医のパフォーマンスのビデオの上にパフォーマンスメトリックオーバーレイを描写する、グラフィカルユーザインターフェイスのスクリーンショット1320aの概略表現である。具体的には、記録されたビデオ1320fが外科医のパフォーマンスを再生すると、オーバーレイには、例えばアイコン1320eに示されている円グラフのように、描かれている手術の部分に対する外科医のスコアを示すアイコンが含まれ得る(例えば、
図7Cに関して説明されているスキルモデルのウィンドウ化されたアプリケーションに従って)。例えば、円グラフの一部は、対応するスコアのパーセント値に応じて異なる色で網掛けされ得る。アイコン1320bや1320cなどのアイコンは、ユーザが表示したいスコアを選択することを可能にし得る。
図7Cと7Dに関して議論されたように、セグメントごとのスコアが利用可能な場合、アイコン1320eに示されたスコアの値は、ビデオのプレゼンテーションの過程で変わり得る(同様に、ビデオが新しいタスクとそれに対応するスキルを描写すると、アイコン1320bと1320cが変化し得る)。代替的には、いくつかの実施形態では、アイコン1320eは、ビデオで現在描写されている瞬間までに利用可能なデータに基づいて決定された最終スコア値を反映し得る。いくつかの実施形態では、
図7Dに示されているようなプロットが、1つ以上のスキルと、ビデオ1320fの現在表示されているフレームがプロットに対応する場所を示すために使用されるアイコン、例えば矢印に対してオーバーレイされ得る。このようなスコア化されたフィードバックは、マニュアルレビュー結果(例えば、Global evaluative assessment of robotic skills: validation of a clinical assessment tool to measure robotic surgical skillsでGohらによって記述されたthe Global Evaluative Assessment of Robotic Skills. The Journal of Urology, 187(1):247-252,2012)、スキルスコアの結果を他の専門知識カテゴリにグループ化すること(同等の数の処置を行った他の医師に対する医師の相対的なパフォーマンスを示す)、潜在的なスキルのグループ化のためのデータを検索すること(例えば、スキル又はタスクスコアの結果の母集団に対して教師なし方法/クラスタリングを実行すること)などを含む、単なる外科的スコアを超えて拡張され得ることを理解するだろう。
【0181】
継続的なトレーニングとスコアマッピングの更新の例
図13Cは、いくつかの実施形態で実装され得るスキル評価システム(例えば、パフォーマンス評価システム625)の更新プロセスの例におけるさまざまな動作を示すフロー図である。具体的には、ブロック1325aにおいてより多くの注釈付きデータが利用可能になると、システムはブロック1325bにおいてそれに応じてスキル(及び/又はタスク)モデルを更新し得る(例えば、オンライン学習法をニューラルネットワークスキルモデルに適用する、新しい母集団データを含むロジスティック回帰分類器を再トレーニングする、など)。システムは、例えば、
図12B及び12Cに関して上述したように、ブロック1325cにおいてスコアマッピングを更新し得る。
【0182】
同様に、ブロック1325dにおいて手術室で新しいセンサが利用可能になると、さまざまな実施形態はブロック1325eにおいてOPIコーパスを変更し得る。これにより新しい特徴ベクトルが利用可能になり得るため、ブロック1325gで対応するスコアマッピングを更新するだけでなく、ブロック1325fでスキル(及び/又はタスク)モデルを再トレーニング又は更新し得る。
【0183】
結果を使用した実践への還元の例
さまざまな実施形態の実装により、ここで説明するシステムと方法の有効性が実証されている。
図14Aは、実施形態の実践への例示的な還元での使用で利用可能なデータサンプルの種類と量の棒グラフである。示されているように、「両手縫合」、「片手縫合」、「連続縫合」、「子宮角」、「懸垂靱帯」、及び「直腸動脈/静脈1」のさまざまなタスクに関連するスキルごとに、「専門家」、「研修生」、及び「トレーニングスペシャリスト」の注釈付きデータが取得された。研修生はロボット手術の経験がない外科医であり、したがって「非専門家」としてグループ化された。専門家外科医は1000超da Vinci(商標)ロボット手術を実施した。トレーニングスペシャリストは、外科医ではなく、ロボットプラットフォームでの~300-600時間の練習又は使用で評価されたトレーニングタスク演習で経験を積んだ専門家オペレータであった。したがって、トレーニングスペシャリストは同様に「専門家」として扱われた。専門外科医とトレーニングスペシャリスト(「専門家」)のデータセットからは7~9のタスクがあり、研修生グループ(「非専門家」)からは93~122のタスクがあった。研修生の参加者が多い場合、トレーニングプロセスから除外されるようにタスクごとに5人の研修生がランダムに選択され、88~117人が特徴選択のために残された。マッピングされたOPIの各スキルタスクの組み合わせは、4~20のOPIから始まり、RFEはOPIセットを1~18のOPIに減らした。タスクモデルのRFEは、通常は早期に頭打ちになる高いバランスの取れた精度を示した。ボンフェローニ補正によるマンホイットニーテストでは、重複する特徴セットが生成され、最終モデルに0~11のOPIが追加された。
【0184】
「研修生」と「トレーニングスペシャリスト」のデータは「非専門家」データとしてグループ化され、「専門家」データは「専門家」データグループを形成した。前述し、この現実の例に反映されているように、「専門家」データよりも「非専門家」データの方がかなり多かった。データセットは、da Vinci Xi(商標)及びda Vinci Si(商標)ロボット手術システム上の記録デバイスから取得された。
【0185】
図11Aに従って、6つのロジスティック回帰分類器がタスクモデルとしてトレーニングされ、18のロジスティック回帰分類器がスキルモデル(各タスクに関連付けられた対応するスキルを備えた
図14Bで特定されたタスク)としてトレーニングされた。
図14Bは、一実施形態の実践への例示的な還元におけるスキルタスク及び全体的なタスクロジスティック回帰モデル(すなわち、ここで説明するように、タスクのスキルではなくタスク全体のOPIでトレーニングされたモデル)のそれぞれについて、平均交差検証パフォーマンスメトリック、バランスのとれた精度及びMCCを示す表である。ここでの精度は、scikit-learn(商標)ライブラリの関数sklearn.metrics.balanced_accuracy_scoreを使用して生成され得るような、バランスのとれた精度スコアを指すことを理解するだろう。MCCも同様に、scikit-learn(商標)ライブラリ関数sklearn.metrics.matthews_corrcoefを使用して生成され得る。
【0186】
図15は、
図11Aのブロック1130、1135、及び1140又はブロック1160、1165、及び1170に関して説明されたように、実践への例示的な還元例におけるリサンプリングの適用前後の、子宮角タスクにおける4つの器具の運動のエコノミーOPI値(economy of motion OPI values)を示す一対の概略ドットプロットである。
図16は、実践への還元例における経験レベル別のタスク期間の分布と、RFEを使用したスキルあたりのさまざまな数のOPIの交差検証スコアを示す一組の概略線プロットのコレクションである。具体的には、プロット1605a、1605b、1605c、1605d、1605e、及び1605fは異なるグループのタスク期間を示し、プロット1610a、1610b、1610c、1610d、1610e、及び1610fはRFEのパフォーマンスを示している。示されているように、RFEプロットの線は異なるスキルを表している。プロット1610a~fに関して、縦軸はモデルの交差検証バランスのとれた予測精度であり、横軸はプロットで示された各スキルごとにモデルで使用されるOPIの数を反映している。
【0187】
図17、18、19、及び20は、さまざまな実施形態で使用され得るOPIのコレクション例、それぞれの説明、及びさまざまなスキル及びタスクとの関係をリストした表である。ロボットアームについては、「SCE」は 「外科医コンソール」、「Cam」はカメラを保持するアーム、「D」はロボットシステムの利き腕、「N-D」はロボットシステムの非利き腕、「Ret」はロボットのアームを引込むこと(retracting)を指す。スキルについては、「E」は「エネルギ」、「S」は「縫合」、「D」は「切開」、「CU」は 「カメラ使用」、「AR」は「アームリトラクション」、「1-HD」は「片手切開」、「2-HAR」は「両手アームリトラクション」を示す。タスクについては、「SL」は「懸垂靱帯」タスク、「2-HS」は「両手縫合」タスク、「1-HS」は「片手縫合」タスク、「RS」は「連続縫合」タスク、「UH」は「子宮角」タスク、「RA/V」は「直腸動脈/静脈」タスクを示す。
【0188】
この実装例に基づいて、ロジスティック回帰モデルの係数から計算されたOPIあたりのオッズ比に基づいて、外科医は、不必要なエネルギの活性化を減らす(総イベントを減らす)ことを実践することでエネルギスキルを向上させる一方で、より短い時間でより頻繁にエネルギを印加する(頻度を増やす)可能性があることが明らかになった。同様に、結果は、外科医の視野を改善するためにカメラを調整する頻度を増やすだけでなく、より速い速度で調整することも、彼らのカメラスキルを向上させる可能性があることを示した。
【0189】
この実践への還元では、多くのスキルについて、OPIの小さなサブセット(2-10)のみが、技術的スキルを推定するための最高のモデル精度(80-95%)を達成するために必要であった。スキル固有のモデルのほとんどは、タスク全体(80-98%)の専門知識を予測するようにトレーニングされたモデルと同様の精度を持っていた。
【0190】
コンピュータシステム
図21は、実施形態のいくつかと組み合わせて使用され得るコンピュータシステムの例のブロック図である。コンピューティングシステム2100は、例えば、1つ以上のプロセッサ2110、1つ以上のメモリコンポーネント2115、1つ以上の入出力システム2120、1つ以上のストレージシステム2125、1つ以上のネットワークアダプタ2130など、いくつかのコンポーネントを接続するインターコネクト2105を含み得る。インターコネクト2105は、例えば、1つ以上のブリッジ、トレース、バス(例えば、ISA、SCSI、PCI、I2C、Firewireバスなど)、ワイヤ、アダプタ、又はコントローラであり得る。
【0191】
1つ以上のプロセッサ2110は、例えば、インテル(商標)プロセッサチップ、数値演算コプロセッサ、グラフィックスプロセッサなどを含み得る。1つ以上のメモリコンポーネント2115は、例えば、揮発性メモリ(RAM、SRAM、DRAMなど)、不揮発性メモリ(EPROM、ROM、フラッシュメモリなど)、又は類似のデバイスを含み得る。1つ以上の入出力デバイス2120は、例えば、ディスプレイデバイス、キーボード、ポインティングデバイス、タッチスクリーンデバイスなどを含み得る。1つ以上のストレージデバイス2125は、例えば、クラウドベースのストレージ、リムーバブルUSBストレージ、ディスクドライブなどを含み得る。システムによっては、メモリコンポーネント2115とストレージデバイス2125は同じコンポーネントであってもよい。ネットワークアダプタ2130は、例えば、有線ネットワークインターフェイス、ワイヤレスインターフェイス、Bluetooth(登録商標)アダプタ、見通し線インターフェイスなどを含み得る。
【0192】
いくつかの実施形態では、
図21に示されているものよりも、コンポーネントのいくつかのみ、代替コンポーネント、又は追加コンポーネントが存在してもよいことがわかる。同様に、一部のシステムでは、コンポーネントが組み合わされたり、二重の目的を果たすことができる。コンポーネントは、例えば、1つ以上のASIC、PLD、FPGAなどの特殊用途のハードワイヤード回路を使用して実装されることができる。したがって、いくつかの実施形態は、例えば、ソフトウェア及び/又はファームウェアでプログラムされたプログラマブル回路(例えば、1つ以上のマイクロプロセッサ)で実装されたり、完全に特殊用途のハードワイヤード(非プログラム可能)回路で実装されたり、そのような形式の組み合わせで実装されたりすることができる。
【0193】
いくつかの実施形態では、データ構造及びメッセージ構造は、ネットワークアダプタ2130を介して、例えば通信リンク上の信号などのデータ伝送媒体を介して格納又は伝送されることができる。伝送は、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、又はポイントツーポイントのダイヤルアップ接続などの様々な媒体を介して行われ得る。したがって、「コンピュータ可読媒体」は、コンピュータ可読記憶媒体(例えば、「非一時的」コンピュータ可読媒体)及びコンピュータ可読伝送媒体を含むことができる。
【0194】
1つ以上のメモリコンポーネント2115及び1つ以上のストレージデバイス2125は、コンピュータ可読記憶媒体であってもよい。いくつかの実施形態では、1つ以上のメモリコンポーネント2115又は1つ以上のストレージデバイス2125は、ここで議論される様々な動作を実行又は実行させることができる命令を格納し得る。いくつかの実施形態では、メモリ2115に格納された命令は、ソフトウェア及び/又はファームウェアとして実装することができる。これらの命令は、ここで説明するプロセスを実行するために、1つ以上のプロセッサ2110上で動作を実行するために使用され得る。いくつかの実施形態では、そのような命令は、例えばネットワークアダプタ2130を介して、他のシステムから命令をダウンロードすることによって、1つ以上のプロセッサ2110に提供され得る。
【0195】
備考
ここでの図面と説明は例示である。したがって、説明も図面も開示を限定するように解釈すべきではない。例えば、単に読者の便宜を図り、理解を容易にするために、タイトルやサブタイトルが提供されている。したがって、タイトルやサブタイトルは、例えば、特定の順序で提示された特徴をグループ化したり、単に理解を容易にするためにまとめたりするなど、開示の範囲を限定するように解釈されるべきではない。ここで特に定義されていない限り、ここで使用されるすべての技術的及び科学的用語は、この開示が関係する技術分野の通常の技術者によって一般的に理解されるのと同じ意味を持つ。矛盾がある場合、ここで提供される定義を含む、この文書が優先される。ここでの1つ以上の同義語の言及は、他の同義語の使用を排除しない。ここで議論されている用語の例を含む、本明細書のどこかでの例の使用は、例示のみであり、開示又は例示された用語の範囲と意味をさらに限定することを意図していない。
【0196】
同様に、ここでの図における特定の提示にもかかわらず、当業者は、情報を格納するために使用される実際のデータ構造が示されているものとは異なる可能性があることを理解するであろう。例えば、データ構造は、異なる方法で構成されていたり、表示されている情報よりも多く又は少なく含まれていたり、圧縮及び/又は暗号化されていたりする場合がある。図面及び開示は、混乱を避けるために、一般的又はよく知られている詳細を省略する場合がある。同様に、図は、理解を容易にするための特定の一連の動作を示す場合があり、これは単にそのような動作の集合のより広いクラスの例である。したがって、いくつかのフロー図に示されているのと同じ目的又は効果を達成するために、追加的、代替的、又はより少ない動作がしばしば使用されることがあることを容易に認識できる。例えば、図ではそのように示されていないが、データは暗号化されたり、項目は異なるループパターン(「for」ループ、「while」ループなど)で考慮されたり、同じ又は類似の効果を達成するために異なる方法でソートされタリする場合がある。
【0197】
ここでの「一実施形態」又は「1つの実施形態」への言及は、本開示の少なくとも1つの実施形態が、その実施形態に関連して記述された特定の特徴、構造、又は特性を含むことを意味する。したがって、ここでのさまざまな場所での「一実施形態において」という表現は、必ずしもそれらのさまざまな場所のそれぞれで同じ実施形態を指しているわけではない。別個の又は代替の実施形態は、他の実施形態と相互に排他的であるとは限らない。実施形態の範囲から逸脱することなく、様々な変更を加えることができることを認識するであろう。
【国際調査報告】