CN116670726A - 用于外科手术数据分类的系统和方法 - Google Patents
用于外科手术数据分类的系统和方法 Download PDFInfo
- Publication number
- CN116670726A CN116670726A CN202180088966.3A CN202180088966A CN116670726A CN 116670726 A CN116670726 A CN 116670726A CN 202180088966 A CN202180088966 A CN 202180088966A CN 116670726 A CN116670726 A CN 116670726A
- Authority
- CN
- China
- Prior art keywords
- machine learning
- data
- model
- learning model
- surgical
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/28—Recognition of hand or arm movements, e.g. recognition of deaf sign language
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
- G06V10/809—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of classification results, e.g. where the classifiers operate on the same input data
- G06V10/811—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of classification results, e.g. where the classifiers operate on the same input data the classifiers operating on different input data, e.g. multi-modal recognition
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B34/00—Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
- A61B34/30—Surgical robots
- A61B34/37—Leader-follower robots
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/44—Event detection
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H40/00—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
- G16H40/60—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices
- G16H40/63—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices for local operation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/03—Recognition of patterns in medical or anatomical images
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Public Health (AREA)
- Life Sciences & Earth Sciences (AREA)
- Surgery (AREA)
- Robotics (AREA)
- General Business, Economics & Management (AREA)
- Primary Health Care (AREA)
- Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
- Epidemiology (AREA)
- Business, Economics & Management (AREA)
- Heart & Thoracic Surgery (AREA)
- Molecular Biology (AREA)
- Animal Behavior & Ethology (AREA)
- Veterinary Medicine (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
Abstract
各种公开的实施例涉及用于从外科手术数据识别外科手术任务的计算机实施的系统和方法。在一些实施例中,可以实施被配置为从外科手术室接收视频数据、运动学数据和系统事件数据的集成模型。该集成模型可以实施用于处理数据的模块化流,即使在少于所有数据类型可用时也促进预测。在一些实施例中,平滑操作可以帮助促进更准确的预测结果。可以在外科手术期间实时采用各种实施例,以每秒的间隔提供预测。
Description
相关申请的交叉引用
本申请要求于2020年11月22日提交的题为“SYSTEMS AND METHODS FOR SURGICALDATA CLASSIFICATION(用于外科手术数据分类的系统和方法)”的美国临时申请No.63/116,907的权益和优先权,出于所有目的通过引用将其全部内容并入本文。
技术领域
各种公开的实施例涉及用于从外科手术数据中识别外科手术任务的计算机实施的系统和方法。
背景技术
许多外科手术室(具有机器人系统的手术室和不具有机器人系统的手术室两者)不断增强的数据收集能力可能使各种新的改进和应用成为可能。例如,来自外科手术机器人系统、内窥镜和腹腔镜传感器的数据可以促进外科手术效率低下的检测,用于向外科医生提供更有意义的反馈、识别患者群体中的共同特性、优化器械使用等。这些应用程序可以包括在外科手术后执行的离线应用程序(例如在医院系统中评估多名医生的表现)以及在外科手术期间执行的实时应用程序(例如实时数字外科医生的助理或外科手术工具优化器)。
不幸的是,这些应用程序的许多处理流水线需要或受益于从外科手术数据中识别外科手术任务。例如,基于云的数字助理可以能够为外科医生提供实时建议,但前提是助理能够识别外科医生在外科手术中的进展情况。虽然外科手术专家可以擅长在外科手术数据内手动识别任务,但依赖人类专家来提供这样的注释存在引入人为错误和主观性的风险,不易扩展,并且在诸如上面描述的实时助理的实时情况下不切实际。然而,自动化解决方案也存在其自身的挑战。虽然这种系统可能更具可扩展性,但必须应对不同手术室中不同的传感器可用性、用于实时应用程序的有限计算资源以及正确识别的高标准,因为不正确的识别可能会使下游机器学习模型不正确地偏置,并存在外科手术室中的负面患者结果的风险。
因此,存在对系统和方法的需求,尽管存在数据可用性的挑战、数据一致性的挑战以及不正确识别保持非常低的要求,这些系统和方法仍能够从外科手术数据中提供对外科手术操作类型的准确且一致的识别。
附图说明
通过结合附图参考以下具体实施方式,可以更好地理解本文介绍的各种实施例,其中相同的附图标记指示相同或功能相似的元件:
图1A是如可以关于一些实施例发生的外科手术操作期间出现在外科手术室中的各种元件的示意性视图;
图1B是如可以关于一些实施例发生的在采用外科手术机器人的外科手术操作期间出现在外科手术室中的各种元件的示意性视图;
图2A是描绘机器学习模型和方法论的常规分组的示意性欧拉图;
图2B是描绘根据图2A的常规分组的示例无监督学习方法的各种操作的示意图;
图2C是描绘根据图2A的常规分组的示例监督学习方法的各种操作的示意图;
图2D是描绘根据图2A的常规分组的示例半监督学习方法的各种操作的示意图;
图2E是描绘根据图2A的常规划分的示例强化学习方法的各种操作的示意图;
图2F是描绘机器学习模型、机器学习模型架构、机器学习方法论、机器学习方法和机器学习实施方式之间的关系的示意性框图;
图3A是示例支持向量机(SVM)机器学习模型架构的各个方面的操作的示意性描绘;
图3B是示例随机森林机器学习模型架构的操作的各个方面的示意性描绘;
图3C是示例神经网络机器学习模型架构的操作的各个方面的示意性描绘;
图3D是图3C的示例神经网络架构的节点中的输入和输出之间的可能关系的示意性描绘;
图3E是如可以在贝叶斯神经网络中发生的示例输入-输出关系变化的示意性描绘;
图3F是示例深度学习架构的操作的各个方面的示意性描绘;
图3G是示例集成架构的操作的各个方面的示意性描绘;
图3H是描绘示例流水线架构的各种操作的示意性框图;
图4A是描绘各种机器学习模型训练方法共有的各种操作的示意性流程图;
图4B是描绘各种机器学习模型推断方法共有的各种操作的示意性流程图;
图4C是描绘在一些架构和训练方法中发生在方框405b的各种遍历(iterative)训练操作的示意性流程图;
图4D是描绘在训练方法和推断方法之间缺乏严格区分的各种机器学习方法操作的示意性框图;
图4E是描绘架构训练方法和推断方法之间的示例关系的示意性框图;
图4F是描绘机器学习模型训练方法和推断方法之间的示例关系的示意性框图,其中训练方法包括各种数据子集操作;
图4G是描绘将训练数据分解成训练子集、验证子集和测试子集的示例的示意性框图;
图4H是描绘并入迁移学习的训练方法中的各种操作的示意性框图;
图4I是描绘并入在线学习的训练方法中的各种操作的示意性框图;
图4J是描绘示例生成对抗网络方法中的各种部件的示意性框图;
图5A是一些实施例中如可以在处理系统处接收到的外科手术数据的示意性图示;
图5B是如可以结合各种公开的实施例使用的示例任务表;
图6是图示如可以在一些实施例中实施以确定数据集的任务分类的模型流之间的关系的示意性集成机器学习模型拓扑图,;
图7A是在一些实施例中如可以在图6的机器学习模型拓扑的可视化机器学习模型615a中使用的示例机器学习模型的示意性集成机器学习模型拓扑图;
图7B是图示如可以在一些实施例中应用的一维卷积神经网络的操作的示意图;
图7C是在一些实施例中如可以在图7A的集成机器学习模型中采用的示例卷积神经网络(CNN)机器学习模型的示意性机器学习模型拓扑图;
图7D是图示如可以在一些实施例中实施的用于训练如图7C中描绘的模型拓扑的过程中的各种操作的流程图;
图8A是在一些实施例中如可以在图7A的集成机器学习模型中采用的递归神经网络(RNN)模型的示意性框图;
图8B是图8A的RNN模型随时间展开的示意性框图;
图8C是如可以在一些实施例中使用的长短期记忆(LSTM)单元的示意性框图;
图8D是如可以在一些实施例中使用的结合卷积和LSTM层的模型拓扑变化的示意性框图;
图9A是图示用于训练视频帧识别模型的过程中的各种操作的流程图;
图9B是图示用于训练视频帧识别模型的过程中的各种操作的流程图;
图10A是在一些实施例中如可以在图6的机器学习模型拓扑的操作者侧运动学机器学习模型615b或患者侧运动学机器学习模型615c中使用的示例机器学习模型的示意性机器学习模型拓扑图;
图10B是图示如可以在一些实施例中应用的用于训练图10A的模型的过程中的各种操作的流程图;
图11A是在一些实施例中如可以在图6的机器学习模型拓扑的事件分类模型615d中使用的机器学习模型的示意性机器学习模型拓扑图;
图11B是图示如可以在一些实施例中应用的用于训练图11A的模型的过程中的各种操作的流程图;
图12A是如可以在一些实施例中被处理的原始外科手术数据的各部分中描绘的JSON摘录的示例文本清单;
图12B是图示用于将原始数据(诸如图12A中描绘的数据)转换为特征向量形式的过程中的各种操作的流程图;
图13A是如可以在一些实施例中实施的并入融合分类模型或逻辑的示意性机器学习模型拓扑图;
图13B是图示如可以在一些实施例中应用的用于训练图13A的模型的过程中的各种操作的流程图;
图14A是如可以在图14B和图14C的不确定性计算中考虑的抽象示例分类结果的表;
图14B是图示如可以在一些实施例中实施的用于利用类计数来计算不确定性的过程中的各种操作的流程图;
图14C是图示如可以在一些实施例中实施的用于利用熵来计算不确定性的过程中的各种操作的流程图;
图14D是如可以在一些实施例中采用的使用生成机器学习模型的不确定性结果的示意性描绘;
图15是图示如可以在一些实施例中实施的用于将不确定性并入到正在进行的任务预测中的过程的各种操作的流程图;
图16A是图示如可以在一些实施例中应用的具有平滑处理的分类中的各种操作的流程图;
图16B是图示如可以在一些实施例中应用的分类平滑操作的示意图;
图16C是图示如可以在一些实施例中实施的任务转变操作的假设集的状态转变图;
图16D是用于图16C的转变图的示例状态转变概率矩阵;
图16E是用于图16C的转变图的示例任务状态发射概率矩阵;
图16F是用于图16C的转变图的示例任务状态开始概率集;
图17A是如可以用于在图17B、图17C和图17E的过程中确定任务概率的带注释的外科手术训练数据的示意性图表;
图17B是图示如可以在一些实施例中实施的用于确定任务开始概率的过程的各种操作的流程图;
图17C是图示如可以在一些实施例中实施的用于确定任务转变概率矩阵的过程的各种操作的流程图;
图17D是图示如可以关于图17C的过程考虑的任务之间随时间的转变的示意图;
图17E是图示如可以在一些实施例中实施的用于确定任务发射概率矩阵的过程的各种操作的流程图;
图18A是描绘用于训练和验证实施例的示例实施方式的示例数据集的特性的表;
图18B是在前列腺切除术数据集上训练的实施例的示例实施方式模型上的各种任务的平均召回精度结果的条形图表;
图18C是在猪数据集上训练的实施例的示例实施方式模型上的各种任务的平均召回精度结果的条形图表;
图19A是在胆囊切除术数据集上训练的实施例的示例实施方式模型上的各种任务的平均召回精度结果的条形图表;
图19B是在子宫切除术数据集上训练的实施例的示例实施方式模型上的各种任务的平均召回精度结果的条形图表;
图19C是在腹股沟疝数据集上训练的实施例的示例实施方式模型上的各种任务的平均召回精度结果的条形图表;并且
图20是如可以结合一些实施例使用的示例计算机系统的框图。。
附图中描绘的具体示例是为了便于理解而选择的。因此,所公开的实施例不应限于附图或对应的公开中的具体细节。例如,附图可能未按比例绘制,图中某些元件的尺寸可能已被调整以便于理解,并且与流程图相关联的实施例的操作可以包含相比于本文所描绘的这些操作附加的、替代的或更少的操作。因此,一些部件和/或操作可以以不同于所描绘的方式被分离成不同的方框或组合成单个方框。实施例旨在涵盖落入所公开示例的范围内的所有修改方式、等同方式和替代方式,而不是将实施例限制为所描述或描绘的特定示例。
具体实施方式
示例外科手术室概述
图1A是如可以关于一些实施例发生的外科手术期间出现在外科手术室100a中的各种元件的示意性视图。特别地,图1A描绘了非机器人外科手术室100a,其中患者侧外科医生105a在一个或多个辅助成员105b的辅助下对患者120执行操作,辅助成员105b本身可以是外科医生、医师助理、护士、技术人员等。外科医生105a可以使用多种工具来执行操作,例如可视化工具110b(诸如腹腔镜超声或内窥镜)和机械末端执行器110a(诸如剪刀、牵开器、解剖器)等。
可视化工具110b为外科医生105a提供患者120的内部视图,例如,通过显示来自与可视化工具110b机械和电气耦合的相机的可视化输出。外科医生可以例如通过与可视化工具110b耦合的目镜或在被配置为接收可视化输出的显示器125上查看可视化输出。例如,在可视化工具110b是内窥镜的情况下,可视化输出可以是彩色或灰度图像。显示器125可以允许辅助成员105b监测外科医生105a在外科手术期间的进展。来自可视化工具110b的可视化输出可以被记录和存储以供将来审阅,例如,使用可视化工具110b本身上的硬件或软件,随着可视化输出被提供给显示器125而并行捕获可视化输出,或者一旦其出现在屏幕上就捕获来自显示器125的输出等。虽然本文可以广泛讨论利用可视化工具110b的二维视频捕获,但当可视化工具110b是内窥镜时,人们将理解,在一些实施例中,可视化工具110b可以捕获深度数据,以替代或附加于二维图像数据(例如,利用激光测距仪、立体视觉等)。因此,人们将理解,当这样的三维深度数据可用时,有可能将在本文讨论的二维操作(进行必要的修改后)应用于这样的三维深度数据。例如,可以扩展或修改机器学习模型输入以接受从此类深度数据导出的特征。
单个外科手术可以包括几组动作的执行,每组动作形成本文称为任务的离散单元。例如,定位肿瘤可以构成第一任务,切除肿瘤可以构成第二任务,并且闭合外科手术部位可以构成第三任务。每个任务可以包括多个动作,例如,肿瘤切除任务可以要求几个切割动作和几个烧灼动作。虽然一些外科手术要求任务假定特定顺序(例如,切除发生在闭合之前),但某些外科手术中一些任务的顺序和存在可以允许有所不同(例如,消除预防性任务或重新排序切除任务,其中该顺序无效)。任务之间的转变可以要求外科医生105a从患者身上移除工具、用不同的工具更换工具或引入新工具。一些任务可以要求移除可视化工具110b并相对于其在先前任务中的位点(position)重新定位可视化工具110b。虽然一些辅助成员105b可以辅助完成与外科手术相关的任务,诸如对患者120实施麻醉115,但辅助成员105b也可以辅助完成这些任务转变,例如,预见对新工具110c的需求。
技术的进步使诸如图1A所描绘的程序也能够用机器人系统执行,以及执行无法在非机器人手术室100a中执行的程序。具体地,图1B是如可以关于一些实施例发生的在采用外科手术机器人(诸如da VinciTM外科手术系统)的外科手术操作期间出现在外科手术室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-140d远程通信以便对患者120执行外科手术程序。事实上,在一些实施例中,由于外科医生控制台155和患者侧推车130之间的通信可以跨越远程通信网络发生,因此操作者105c可以与患者侧推车130和患者120处于或不处于相同的物理位置(location)。电子器件/控制台145还可以包括描绘患者生命体征和/或可视化工具140d的输出的显示器150。
类似于非机器人外科手术室100a的任务转变,手术室100b的外科手术操作可以要求工具140a-140d(包括可视化工具140d)被移除或更换以用于各种任务以及引入新工具,例如新工具165。如前所述,随着外科手术的进展,一个或多个辅助成员105d现在可以预见到这样的改变,与操作者105c一起进行任何必要的调整。
同样类似于非机器人外科手术室100a,来自可视化工具140d的输出在此可以被记录,例如,在患者侧推车130、外科医生控制台155、来自显示器150等。虽然非机器人外科手术室100a中的一些工具110a、110b、110c可以记录附加的数据,诸如温度、运动、电导性、能量水平等,但手术室100b中外科医生控制台155和患者侧推车130的存在可以促进记录比仅从可视化工具140d输出的数据多得多的数据。例如,操作者105c对手持输入机构160b的操纵、踏板160c的激活、显示器160a内的眼睛移动等都可以被记录。类似地,患者侧推车130可以记录整个外科手术中的工具激活(例如辐射能的应用、剪刀的闭合等)、末端执行器的移动等。
机器学习基础概念——概述
本章节提供如可以与所公开的各种实施例相关的机器学习模型架构和方法的基础描述。机器学习包括广阔的、异质的领域,并且经历了许多突然和重叠的发展。鉴于这种复杂性,从业者并不总是一致或严格清晰地使用术语。因此,本章节旨在提供共同点,以更好地确保读者理解所公开的实施例的实质内容。人们将理解,详尽地解决所有已知的机器学习模型及其架构、任务、方法和方法论的所有已知的可能变体在此是不可行的。相反,人们将理解本文讨论的示例仅仅是代表性的并且所公开的各种实施例可以采用与明确讨论的架构和方法不同的许多其他架构和方法。
为了使读者相对于现有文献进行定向,图2A以示意性欧拉图的形式描绘了机器学习模型和方法论(也称为技术)的常规公认分组。在相对于图2F提供机器学习领域的更全面的描述之前,将参照图2B至图2E以它们的常规方式来描述图2A的分组,以便使读者定向。
图2A的常规分组通常基于模型预期接收的输入的性质或在模型上预期进行操作的方法论来在机器学习模型及其方法论之间进行区分。无监督学习方法论从缺少输出元数据(也称为“未标记数据”)的输入数据集中得出推断,或者通过忽略此类元数据(如果存在)得出推断。例如,如在图2B中所示,无监督的K最近邻(KNN)模型架构可以接收多个未标记输入(由特征空间205a中的圆圈表示)。特征空间是输入的数学空间,给定的模型架构被配置为在其上进行操作。例如,如果将128x128灰度像素图像作为KNN的输入提供,其可以被视为16,384个“特征”(即原始像素值)的线性阵列。那么特征空间将是16,384维空间(图2B中仅示出二维空间以便于理解)。如果相反,例如,对像素数据应用傅里叶变换,则得到的频率幅度和相位可以作为“特征”输入到模型架构中。尽管特征空间中的输入值有时可被称为特征“向量”,但人们将理解并非所有模型架构都预期以线性形式接收特征输入(例如,一些深度学习网络预期输入特征为矩阵或张量)。因此,在上下文没有以其他方式指示的情况下,特征向量、特征矩阵等的提及应当被视为可以输入到模型架构的可能形式的示例。类似地,对“输入”的引用将被理解为包括架构可接受的任何可能的特征类型或形式。继续图2B的示例,KNN分类器可以输出输入向量与由KNN分类器确定的各种分组之间的关联,如图中指示的正方形、三角形和六边形所表示的。因此,无监督方法论可以包括例如,如本示例中确定数据中的聚类、减少或改变用于表示数据输入的特征维度等。
监督学习模型接收伴随有输出元数据(称为“标记数据”)的输入数据集,并基于此输入数据和元数据修改模型架构的参数(诸如神经网络的偏置和权重,或SVM的支持向量),以便更好地将随后接收到的输入映射到期望输出。例如,SVM监督分类器可以如图2C所示进行操作,在特征空间210a中接收由圆圈表示的多个输入特征向量作为训练输入,其中特征向量伴随有输出标记A、B或C,例如,如从业者提供的。根据监督学习方法论,SVM使用这些标记输入来修改其参数,使得当SVM接收到特征空间210a的特征向量形式的新的先前未见过的输入210c时,SVM可以在其输出中输出确定期望分类“C”。因此,监督学习方法论可以包括例如,如本示例中执行分类、执行回归等。
半监督学习方法论基于标记数据和未标记数据两者通知其模型架构的参数调整。例如,监督神经网络分类器可以如图2D所示进行操作,接收特征空间215a中标记有分类A、B或C的一些训练输入特征向量和一些没有此类标记的训练输入特征向量(如用缺少字母的圆圈所描绘的)。在不考虑未标记输入的情况下,朴素的监督分类器可以基于可用标记输入之间的特征空间中的简单平面分离215d来区分B类和C类中的输入。然而,通过考虑未标记的和标记的输入特征向量,半监督分类器可以采用更细微的分离215e。与简单分离215d不同,细微分离215e可以将新的输入215c正确分类为C类。因此,半监督学习方法和架构可以包括监督和无监督学习两者中的应用,其中至少一些可用数据被标记。
最后,图2A的常规分组将强化学习方法论区分为其中代理(例如机器人或数字助理)采取影响代理环境上下文(例如对象在环境中的位置、用户的倾向等)的一些动作(例如移动操纵器、向用户提出建议等)从而促成(precipitate)新的环境状态和一些相关联的基于环境的奖励(例如,如果环境对象现在更接近目标状态,则为正奖励,如果用户不高兴,则为负奖励等)的方法论。因此,强化学习可以包括例如更新数字助理(基于用户的行为和表达的偏好)、在工厂中机动的自主机器人、下棋的计算机等。
如前所述,虽然许多从业者将认识到图2A的常规分类法,但图2A的分组掩盖了机器学习的丰富多样性,并且可能无法充分表征机器学习架构和技术,这些架构和技术落入其多个组或完全落在这些组之外(例如,随机森林和神经网络可以用于监督学习任务或无监督学习任务;类似地,一些生成对抗网络虽然采用监督分类器,但它们本身不会轻易落入图2A的任何一个分组内)。因此,尽管本文可以参考图2A中的各种术语以便于读者理解,但本描述不应限于图2A的强求一致的约定。例如,图2F提出更灵活的机器学习分类法。
特别地,图1F将机器学习接近为包括模型220a、模型架构220b、方法论220e、方法220d和实施方式220c。在高层级上,模型架构220b可以被视为它们的相应属模型220a的物种(模型A具有可能的架构A1、A2等;模型B具有可能的架构B1、B2等)。模型220a指代适合于作为机器学习架构来实施的数学结构的描述。例如,框“A”、“B”、“C”等表示的KNN、神经网络、SVM、贝叶斯分类器、主成分分析(PCA)等是模型的示例(图中的省略号指示存在附加的项目)。虽然模型可以指定一般计算关系,例如,SVM包括超平面,神经网络具有层或神经元等,但模型可以不指定架构的特定结构,诸如架构对超参数和数据流的选择,以执行特定任务,例如SVM采用径向基函数(RBF)核,神经网络被配置为接收维度256x256x3的输入等。这些结构特征可以例如由从业者选择或者来自训练或配置过程。请注意,模型220a的域还包括其成员的组合,例如当创建集成模型时(下面关于图3G讨论)或当使用模型流水线时(下面关于图3H讨论)。
为清楚起见,人们将理解许多架构包括参数和超参数两者。架构的参数指代架构的配置值,其可以直接基于输入数据的接收进行调整(诸如在训练期间调整神经网络的权重和偏置)。不同的架构可以具有不同的参数选择和它们之间的关系,但是参数值的改变(例如在训练期间)不会被认为是架构的改变。相比之下,架构的超参数指代架构的配置值,这些值不会直接基于输入数据的接收进行调整(例如,KNN实施方式中的K个邻居、神经网络训练实施方式中的学习率、SVM的内核类型等)。因此,改变超参数通常会改变架构。人们将理解,一些方法操作(例如下面讨论的验证)可以在训练期间调整超参数,并且因此调整架构类型。因此,一些实施方式可以考虑多种架构,尽管其中只有一些可以被配置为使用或在给定时刻使用。
以与模型和架构类似的方式,在高层级上,方法220d可以被视为它们的属方法论220e的物种(方法论I具有方法I.1、I.2等;方法论II具有方法II.1、II.2等)。方法论220e指代适合于作为方法来适应的算法,以用于使用一个或多个特定机器学习架构执行任务,诸如训练架构、测试架构、验证架构、执行架构推断、在生成对抗网络(GAN)中使用多个架构等。例如,梯度下降是一种描述用于训练神经网络的方法的方法论,集成学习是一种描述用于训练架构组的方法的方法论等。虽然方法论可以指定一般算法操作,例如,梯度下降沿成本或误差表面采取遍历步骤,集成学习考虑其架构的中间结果等,但方法指定特定架构应如何执行方法论的算法,例如,梯度下降在神经网络上采用遍历反向传播,并经由具有特定超参数的Adam进行随机优化,集成系统包括应用具有特定配置值的AdaBoost的随机森林集合,训练数据被组织成特定数量的折叠等。如当人们使用附加或修改的功能来增强现有架构或方法时(例如,GAN架构和GAN训练方法可能被视为包括深度学习架构和深度学习训练方法),人们将理解,架构和方法本身可以具有子架构和子方法。人们还将意识到并非所有可能的方法论都将应用于所有可能的模型(例如,在没有进一步解释的情况下建议在PCA架构上执行梯度下降似乎是荒谬的)。人们将理解,方法可以包括从业者的一些动作或者可以是完全自动化的。
正如上面的示例所证明的,当人们从模型转向架构以及从方法论转向方法时,架构的方面可以出现在方法中,并且方法的方面可以出现在架构中,因为一些方法可能只应用于某些架构,并且某些架构可能只适合于某些方法。意识到这种相互作用,实施方式220c是一个或多个架构与一个或多个方法的组合,以形成机器学习系统,该系统被配置为执行一个或多个特定任务,诸如训练、推断、利用GAN生成新数据等。为清楚起见,实施方式的架构不需要主动执行其方法,而可以简单地被配置为执行方法(例如,如当伴随的训练控制软件被配置为通过架构传递输入时)。应用该方法将导致任务的执行,诸如训练或推断。因此,图2F中所描绘的假设实施方式A(由“Imp.A”指示)包括单个架构和单个方法。这可以对应于例如被配置为通过使用在16,384维空间中采用RBF内核的超平面支持向量分离方法来识别128x128灰度像素图像中的对象的SVM架构。RBF内核的使用和特征向量输入结构的选择反映了架构的选择以及训练和推断方法的选择两方面。因此,人们将理解,对架构结构的一些描述可以暗示对应的方法的方面,反之亦然。假设实施方式B(由“Imp.B”指示)可以对应于例如训练方法II.1,在应用推断方法III.3之前,其可以基于验证结果在架构B1和C1之间切换。
实施方式内的架构和方法之间的密切关系促成图2A中的许多歧义,因为这些组不容易捕获给定实施方式中的方法和架构之间的密切关系。例如,方法或架构中非常微小的改变可以在图2A的组之间移动模型实施方式,如当从业者利用并入标记(监督)的第一方法训练随机森林,并且然后将利用经训练的架构应用第二方法以检测未标记数据(无监督)中的聚类,而不是对数据执行推断。类似地,图2A的组可使得难以对聚合方法和架构进行分类,例如,如下面关于图3F和图3G所讨论的,聚合方法和架构可以应用在图2A的一些、没有或所有组中发现的技术。因此,接下来的章节参考图3A至图3G和图4A至图4J讨论各种示例模型架构和示例方法之间的关系,以促进架构、方法和实施方式之间的关系的清晰度和读者识别。人们将理解,所讨论的任务是示例性的,并且因此参考例如分类操作以促进理解,这不应被解释为建议该实施方式必须专门用于该目的。
为了清楚起见,人们将理解,在没有明确的语言表明的情况下,以上相对于图2F所提供的解释仅仅是为了促进读者领会,并且因此不应以限制方式来解释。例如,自然地,人们将理解,“方法”220d是计算机实施的方法,但并非所有计算机实施的方法都是“方法”220d意义上的方法。计算机实施的方法可以是没有任何机器学习功能的逻辑。类似地,术语“方法论”并不总是在“方法论”220e的意义上使用,而是可以指代没有机器学习功能的方式。类似地,虽然在上面的220a、220b和220c处使用了术语“模型”、“架构”和“实施方式”,但在没有这种效果的语言的情况下,这些术语不限于它们在图2F中的区别,并且可以使用以泛指机器学习部件的拓扑。
机器学习基础概念——示例实施方式
图3A是示例SVM机器学习模型架构的操作的示意性描绘。在高层级上,给定来自两个类的数据(例如狗的图像和猫的图像)作为输入特征,在图3A的示意图中由圆圈和三角形表示,SVM寻求确定超平面分离符305a,其最大化从每个类的成员到分离符305a的最小距离。因此,训练特征向量305f在其所有对等体中具有到分离符305a的最小距离305e。相反,训练特征向量305g在其所有对等体中具有到分离符305a具有最小距离305h。因此,这两个训练特征向量之间形成的裕量305d是距离305h和305e的组合(为清楚起见,提供了参考线305b和305c),并且作为最大最小分离,将训练特征向量305f和305g辨识为支持向量。虽然此示例描述了线性超平面分离,但不同的SVM架构容纳不同的内核(例如,RBF内核),这可以促进非线性超平面分离。可以在训练期间找到分离符,并且可以通过考虑特征空间中新输入相对于分离符的位置来实现后续推断。类似地,虽然为了清楚起见,此示例描绘了二维特征向量(在纸张的二维平面中),但人们将理解,架构可能会接受更多维度的特征(例如,128x128像素的图像可能输入为16,384维度)。虽然本例中的超平面仅分离两个类,但可以通过多种方式实现多类分离,例如,在一对一、一对全部等配置中使用SVM超平面分离的集成架构。从业者在实施SVM时经常使用LIBSVMTM和scikit-learnTM库。人们将理解许多不同的机器学习模型(例如逻辑回归分类器)寻求辨识分离超平面。
在上面的示例SVM实施方式中,从业者将特征格式确定为实施方式的架构和方法的一部分。对于某些任务,处理输入以确定新的或不同的特征形式本身的架构和方法可能是可取的。实际上,一些随机森林的实施方式可以按这种方式调整特征空间表示。例如,图3B在高层级上描绘了包括多个决策树310b的示例随机森林模型架构,每个决策树可以在它们的根节点处接收全部或部分输入特征向量310a。尽管此示例架构中示出了三个树,最大深度为三层级,但人们将理解,具有更少或更多的树和不同层级(甚至在同一森林的树之间)的森林架构是可能的。当每个树考虑它的输入部分时,其基于输入部分是否满足或不满足与各种节点相关联的条件,将全部或部分输入引用到后续节点,例如路径310f。例如,在考虑图像时,树中的单个节点可以查询特征向量中某个位点的像素值是否高于或低于某个阈值。除了阈值参数之外,一些树还可以包含附加参数,并且它们的叶子可以包含正确分类的概率。树的每个叶子都可以与暂定输出值310c相关联,以供投票机制310d考虑以产生最终输出310e,例如,通过在树中进行多数投票或通过每个树的预测的概率加权平均值。这种架构可以适用于多种训练方法,例如,不同的数据子集在不同的树上进行训练。
随机森林中的树深度以及不同的树可以促进随机森林模型对特征关系的考虑,而不是直接比较初始输入中的特征关系。例如,如果起初特征是像素值,则树可以识别与任务相关的像素值组之间的关系,诸如猫/狗分类中“鼻子”和“耳朵”像素之间的关系。然而,二元决策树关系可能会对辨别这些“高阶”特征的能力施加限制。
如图3C的示例架构中的神经网络也可以能够推断出更高阶的特征以及初始输入向量之间的关系。然而,网络中的每个节点都可以与各种参数和与其他节点的连接相关联,从而促进比常规随机森林树的二元关系更复杂的决策和中间特征生成。如图3C所示,神经网络架构可以包括输入层、至少一个隐藏层和输出层。每个层包括神经元的集合,这些神经元可以接收多个输入并提供输出值,也称为激活值,最终输出层的输出值315b用作网络的最终结果。类似地,输入层的输入315a可以从输入数据而不是先前的神经元层接收。
图3D描绘了图3C的节点315c处的输入和输出关系。具体地,节点315c的输出nout可以与其三个(零基索引)输入如下相关:
其中wi是对输入层中的第i个节点的输出的权重参数,ni是来自输入层中的第i个节点的激活函数的输出值,b是与节点315c相关联的偏置值,并且A是与节点315c相关联的激活函数。请注意,在此示例中,总和是针对三个输入层节点输出和权重对中的每一个,并且仅添加了单个偏置值b。激活函数A可以基于权重值、偏置值和前一层节点的值来确定节点的输出。在训练期间,可以取决于所使用的训练方法调整权重和偏置参数中的每一个。例如,许多神经网络采用称为反向传播的方法论,其中,在某些方法形式中,权重和偏置参数是随机初始化的,训练输入向量通过网络传递,并且确定网络的输出值与该向量的元数据的期望输出值之间的差。然后可以将差用作调整网络参数的度量,将误差作为修正“传播”到整个网络,使得网络更有可能在未来遇到输入向量时产生正确的输出。虽然为清楚起见在图3C的实施方式的输入层中示出了三个节点,但人们将理解在不同的架构中可以存在更多或更少的节点(例如,在上述128x128灰度图像示例中可能存在16,384个这样的节点来接收像素值)。类似地,虽然此示例架构中的每一层都示出为与下一层完全连接,但人们将理解,其他架构可以不以这种方式连接层之间的每一节点。所有的神经网络架构都不会完全从左到右处理数据,也不会一次只考虑单个特征向量。例如,递归神经网络(RNN)包括在考虑当前实例时考虑先前输入实例的神经网络方法和架构的类。可以基于在各种节点处使用的激活函数进一步区分架构,例如:逻辑函数、校正线性单元函数(ReLU)、softplus函数等。因此,架构之间存在相当大的差异。
人们将认识到,到目前为止在该概述中讨论的许多示例机器学习实施方式是“有判别力的”机器学习模型和方法论(SVM、逻辑回归分类器、具有如图3D中的节点的神经网络等)。通常,有判别力的方式假定一种形式,其寻求找到以下方程式2的概率:
P(output|input)(2)也就是说,这些模型和方法论寻求结构区分类(例如,SVM超平面)并基于训练数据估计与该结构相关联的参数(例如,支持向量确定分离超平面)。然而,人们将理解,并非本文讨论的所有模型和方法论都可以假定这种有判别力的形式,而是可以取而代之的是多个“生成”机器学习模型和对应的方法论(例如,朴素贝叶斯分类器、隐马尔可夫模型、贝叶斯网络等)之一。这些生成模型取而代之假定一种形式,其寻求找到以下方程式3的概率:
P(output),P(input|output)(3)
也就是说,这些模型和方法论寻求反映输入和输出之间特性关系的结构(例如,贝叶斯神经网络,其初始参数和先验),从训练数据中估计这些参数,并且然后使用贝叶斯规则计算方程式2的值。人们将理解,直接执行这些计算并不总是可行的,并且因此在这些生成模型和方法论中的一些中可以采用数值近似方法。
人们将理解,此类生成方式可以在本文中(进行必要的修改后)使用,以实现通过有判别力的实施方式所展现的结果,反之亦然。例如,图3E图示了如可以出现在贝叶斯神经网络中的示例节点315d。与简单地接收数值的节点315c不同,人们将理解,贝叶斯神经网络中的节点(诸如节点315d)可以接收加权概率分布315f、315g、315h(例如,此类分布的参数)并且可以自身输出分布315e。因此,人们将认识到,虽然人们可以例如经由各种后处理技术(例如,将利用丢弃的遍历应用的输出与有判别力的神经网络进行比较)来确定有判别力的模型中的分类不确定性,但人们可以通过采用生成模型输出概率分布来实现类似的不确定性测量,例如通过考虑分布315e的方差。因此,正如本文对一个特定机器学习实施方式的引用并不旨在排除任何类似功能实施方式的替代,在适用的情况下,本文对有判别力的实施方式的引用也不应被解释为排除生成对应物的替代,反之亦然。
回到机器学习方式的一般讨论,尽管图3C描绘了具有单个隐藏层的示例神经网络架构,但许多神经网络架构可以具有多于一个的隐藏层。具有许多隐藏层的一些网络已经产生了令人惊讶的有效结果,并且术语“深度”学习已应用于这些模型以反映大量隐藏层。在此,深度学习指代采用具有多于一个隐藏层的至少一个神经网络架构的架构和方法。
图3F是示例深度学习模型架构的操作的示意性描绘。在此示例中,架构被配置为接收二维输入320a,诸如猫的灰度图像。当用于分类时,如在本示例中,该架构通常可以分为两部分:特征提取部分,其包括一系列层操作;以及分类部分,其基于所提取的特征之间的关系确定输出值。
许多不同的特征提取层是可能的,例如卷积层、最大池化层、丢弃层、裁剪层等,并且这些层中的许多层本身易受变化(例如二维卷积层、三维卷积层,具有不同激活函数的卷积层等)以及用于网络的训练、推断等不同的方法和方法论的影响。如图所示,这些层可以产生不同维度的多个中间值320b-320j,并且可以沿着多个路径处理这些中间值。例如,起初灰度图像320a可以表示为维度为128x128x1的特征输入张量(例如,128像素宽和128像素高的灰度图像)或维度为128x128x3的特征输入张量(例如,128像素宽和128像素高的RGB图像)。在第一层具有不同内核函数的多个卷积可以从该输入促成多个中间值320b。这些中间值320b本身可以被两个不同的层考虑,以沿着分离的路径形成两个新的中间值320c和320d(虽然在此示例中示出了两条路径,但是人们将理解,更多的路径或单个路径在不同的架构是可能的)。附加地,当图像针对每个像素具有红色、绿色和蓝色值时,例如,128x128x3特征张量中的“x3”维度(为清楚起见,此输入具有三个“张量”维度,但49,152个单独的“特征”维度),可以在多个“通道”中提供数据。各种架构可以在各种层中单独或共同地对通道进行操作。图中的椭圆指示附加层的存在(例如,一些网络有数百层)。如图所示,中间值的大小和维度可以改变,例如,在池化之后,如在值320e中。在一些网络中,可以在路径之间的层处考虑中间值,如中间值320e、320f、320g、320h之间所示。最终,最终特征值集出现在中间集合320i和320j处,并被馈送到一个或多个分类层320k和320l的集合,例如,经由展平层、SoftMax层、完全连接层等来产生在层320l的输出节点处的输出值320m。例如,如果要识别N个类,则可以存在N个输出节点来反映每个类是正确类的概率(例如,此处网络正在辨识三个类之一,并针对给定的输入将类“猫”指示为最可能的),尽管一些架构可以具有更少或更多的输出。类似地,一些架构可以接受附加的输入(例如,一些洪水填充架构利用发展的掩码结构,其可以作为除了输入特征数据之外的输入接收,并且作为除了分类输出值之外的输出以修改的形式产生;类似地,一些递归神经网络可以存储来自一次遍历的值,以便与其他输入一起被输入到后续遍历中),可以包括反馈循环等。
TensorFlowTM、CaffeTM和TorchTM是用于实施深度神经网络的常见软件库框架的示例,尽管许多架构可以是“从头开始”创建的,其简单地将各层表示为对值矩阵或张量的操作,将数据表示为这些矩阵或张量中的值。深度学习网络架构的示例包括VGG-19、ResNet、Inception、DenseNet等。
虽然示例范例机器学习架构已经关于图3A到图3F进行了讨论,但许多机器学习模型和对应的架构是通过组合、修改操作和结构或将其追加到其他架构和技术而形成的。例如,图3G是集成机器学习架构的示意性描绘。集成模型包括各种各样的架构,包括例如“元算法”模型,其使用多个弱学习模型共同形成更强的模型,例如AdaBoost。图3A的随机森林可以被视为此类集成模型的另一个示例,尽管随机森林本身可以是集成模型中的中间分类器。
在图3G的示例中,初始输入特征向量325a可以全部或部分输入到各种模型实施方式325b,这些模型实施方式可以来自相同或不同的模型(例如,SVM、神经网络、随机森林等)。来自这些模型325c的输出然后可以由“融合”模型架构325d接收以生成最终输出325e。融合模型实施方式325d本身可以是与实施方式325b之一相同或不同的模型类型。例如,在一些系统中,融合模型实施方式325d可以是逻辑回归分类器并且模型325b可以是神经网络。
正如人们将理解的,集成模型架构可以促进比图3A到图3F的范例架构更大的灵活性,人们应意识到,对架构或其方法的修改(有时是相对轻微的修改)可以促进新颖的行为,而这些新颖的行为并不容易将其本身用于图2A的常规分组。例如,PCA通常被描述为无监督学习方法和对应的架构,因为其辨别缺少标记的输入数据的维度减少的特征表示。然而,PCA经常与标记的输入一起使用,以促进以监督方式进行分类,如M.Turk和A.Pentland所描述的EigenFaces应用,“Eigenfaces for Recognition”,J.Cognitive Neuroscience,第3卷,第1期,1991。图3H描绘了此类修改的机器学习流水线拓扑示例。如同在EigenFaces中,人们可以在方框330a使用无监督方法确定特征展示(例如,使用PCA确定与几个人中的一个相关联的每个面部图像组的主成分)。作为无监督方法,图2A的常规分组通常不可以将此PCA操作解释为“训练”。然而,通过在方框330b将输入数据(例如,面部图像)转换为新的表示(主成分特征空间),人们可以创建适用于后续推断方法的应用的数据结构。
例如,在方框330c,可以将新的传入特征向量(新面部图像)转换为无监督形式(例如,主成分特征空间),并且然后在方框330d应用度量(例如,每个人的面部图像组的主成分与新向量的主成分表示之间的距离)或其他后续分类器(例如,SVM等)以对新输入进行分类。因此,可以经由方法或架构修改(诸如流水线)使不适合某些方法论(例如,基于度量的训练和推断)的方法的模型架构(例如,PCA)变得如此适合。同样,人们将理解,该流水线只是一个示例——通过将新的推断输入分配给在特征空间中具有最接近推断输入的第一矩的组的类,图2B的KNN无监督架构和方法可以类似地用于监督分类。因此,这些流水线方式在本文中可以被认为是机器学习模型,尽管它们通常不被这样称呼。
一些架构可以与训练方法一起使用,并且然后这些经训练的架构中的一些可以与推断方法一起使用。然而,人们将理解,并非所有推断方法都执行分类,并且并非所有经训练的模型都可以用于推断。类似地,人们将理解,并非所有推断方法都需要预先将训练方法应用于架构以针对给定任务处理新输入(例如,当KNN通过直接考虑输入数据而产生类时)。关于训练方法,图4A是描绘各种训练方法中的共同操作的示意流程图。具体地,在方框405a,或者是从业者直接地或者是架构可以将训练数据组装成一个或多个训练输入特征向量。例如,用户可以为监督学习方法收集带有元数据标记的狗和猫的图像,或者为无监督聚类收集随时间推移未标记的股票价格。如所讨论的,原始数据可以经由预处理转换为特征向量,或者可以直接作为原始形式的特征。
在方框405b,训练方法可以基于训练数据调整架构的参数。例如,神经网络的权重和偏置可以经由反向传播更新,SVM可以基于超平面计算选择支持向量等。人们将理解,正如关于图3G中的流水线架构所讨论的,然而,并非所有模型架构都可以在“训练”期间更新架构本身内的参数。例如,在Eigenfaces中,面部身份组的主成分的确定可以解释为新参数(主成分特征空间)的创建,而不是现有参数的调整(例如,调整神经网络架构权重和偏置)。因此,在本文中,从训练图像中主成分的Eigenfaces确定仍将被解释为训练方法。
图4B是描绘各种机器学习模型推断方法共有的各种操作的示意流程图。如前所述,并非所有架构或所有方法都可以包括推断功能。在推断方法适用的情况下,在方框410a,从业者或架构可以将原始推断数据(例如,要分类的新图像)组装成推断输入特征向量、张量等(例如,以相同的特征输入形式作为训练数据)。在方框410b,系统可以将经训练的架构应用于输入推断特征向量以确定输出,例如分类、回归结果等。
在“训练”时,一些方法和一些架构可以整体、单次或遍历地考虑输入训练特征数据。例如,在一些实施方式中,经由PCA的分解可以实施为非遍历矩阵操作。SVM,取决于其实施方式,可以通过对输入的单次遍历来训练。最后,一些神经网络实施方式可以通过在梯度下降期间对输入向量进行多次遍历来训练。
关于遍历训练方法,图4C是描绘遍历训练操作的示意流程图,例如,如在一些架构和方法中可以发生在方框405b中。单次遍历可以应用流程图中的方法一次,而执行多次遍历的实施方式可以多次应用图中的方法。在方框415a,架构的参数可以被初始化为默认值。例如,在一些神经网络中,权重和偏置可以被初始化为随机值。在一些SVM架构中,例如,相反,可以不应用方框415a的操作。由于在方框415b考虑了每个训练输入特征向量,因此系统可以在415c更新模型的参数。例如,SVM训练方法可以选择或可以不选择新的超平面,因为新的输入特征向量被考虑并确定影响或不影响支持向量选择。类似地,神经网络方法可以例如根据反向传播和梯度下降来更新其权重和偏置。当考虑所有输入特征向量时,如果训练方法经调用仅执行一次遍历,则可以认为模型“经训练”。调用多次遍历的方法可以再次应用图4C的操作(自然地,再次避免在方框415a初始化以赞同在先前遍历中确定的参数值)并在满足条件时完成训练,例如,预测标记和元数据标记之间的错误率降低到阈值以下。
如前所述,各种各样的机器学习架构和方法包括那些具有明确的训练和推断步骤的架构和方法,如图4E所示的,以及那些没有明确的训练和推断步骤的架构和方法,如图4D中所概括的。例如,图4E描绘了方法训练425a神经网络架构以在推断425b处识别新接收的图像,而图4D描绘了例如经由PCA减少数据维度或执行KNN聚类的实施方式,其中实施方式420b接收输入420a并产生输出420c。为清楚起见,人们将理解,虽然一些实施方式可以接收数据输入并产生输出(例如,具有推断方法的SVM架构),但一些实施方式可以仅接收数据输入(例如,具有训练方法的SVM架构),并且一些实施方式可以仅产生输出而不接收数据输入(例如,具有用于产生新数据实例的随机生成器方法的经训练的GAN架构)。
图4D和图4E的操作可以在一些方法中进一步扩展。例如,一些方法扩展训练,如图4F的示意性框图所描绘,其中训练方法进一步包括各种数据子集操作。如图4G所示,一些训练方法可以将训练数据划分为训练数据子集435a、验证数据子集435b和测试数据子集435c。如图4F所示,当在方框430a训练网络时,训练方法可以首先基于训练数据子集435a的全部或一部分使用例如反向传播来遍历地调整网络的参数。然而,在方框430b,为验证435b所保留的数据的子集部分可以用于评估训练的有效性。并非所有训练方法和架构都能保证为给定任务找到最佳架构参数或配置,例如,它们可能陷入局部最小值,可能采用低效的学习步长超参数等。方法可以在方框430b利用不同于预见此类缺陷的训练数据子集435a的训练数据435b来验证当前超参数配置,并相应地调整架构超参数或参数。在一些方法中,该方法可以如箭头430f所示在训练和验证之间遍历,使用验证反馈以继续对训练数据子集435a的剩余部分进行训练,重新开始对训练数据子集435a的全部或部分进行训练,调整架构的超参数或架构的拓扑(例如当在元学习中可以将附加的隐藏层添加到神经网络时)等。一旦架构已经被训练,该方法可以通过将该架构应用于全部或部分测试数据子集435c来评估架构的有效性。使用不同的数据子集进行验证和测试也可以有助于避免过度拟合,其中训练方法将架构的参数定制得与训练数据过于密切,一旦架构遇到新的推断输入,就会减少更优的概括。如果测试结果不理想,则该方法可以利用不同的参数配置(具有不同的超参数配置的架构等,如箭头430e所指示的)再次开始训练。方框430c的测试可以用于确认经训练的架构的有效性。一旦模型被训练,就可以对新接收的推断输入执行推断430d。人们将理解,这种验证方法存在变化,例如,当方法对可能的超参数空间执行网格搜索以确定最适合任务的架构时。
可以修改许多架构和方法以与其他架构和方法集成。例如,针对一项任务成功训练的一些架构可以更有效地针对类似任务进行训练,而不是从例如随机初始化的参数开始。在第二架构(在一些情况下,架构可以相同)中采用来自第一架构的参数的方法和架构被称为“迁移学习”方法和架构。给定经预训练的架构440a(例如,经训练以识别图像中的鸟类的深度学习架构),迁移学习方法可以使用来自新任务域的数据执行附加的训练(例如,提供汽车的图像的标记数据以识别图像中的汽车),使得可以在这个新任务域中执行推断440e。迁移学习训练方法可以区分或可以不区分如上所述的训练440b、验证440c和测试440d子方法和数据子集,以及遍历操作440f和440g。人们将理解,经预训练的模型440a可以作为整个经训练的架构接收,或者例如作为要应用于相同或相似架构的并行实例的经训练的参数值的列表。在一些迁移学习应用中,经预训练的架构的一些参数可以被“冻结”以防止它们在训练期间进行调整,而其他参数在使用来自新域的数据进行训练期间允许变化。这种方式可以保留架构的起初训练的一般优势,同时针对新域定制架构。
架构和方法的组合也可以在时间上进行扩展。例如,“在线学习”方法预见将初始训练方法445a应用于架构,随后将该经训练的架构应用于推断方法445b,以及通过应用另一个训练方法445d来定期更新445c,该另一个训练方法445d可以是与方法445a相同的方法,但通常用于新的训练数据输入。在线学习方法可以是有用的,例如,在初始训练方法445a之后机器人被部署到远程环境的情况下,在远程环境中它可以遇到附加的数据,这些数据可以改善445b处的推断方法的应用。例如,在以这种方式部署多个机器人的情况下,当一个机器人遇到“真阳性”识别时(例如,具有地质学家验证的分类的新核心样本;外科手术期间由操作外科医生验证的新患者特性),机器人可以将该数据和结果作为新的训练数据输入传输到其对等机器人以与方法445d一起使用。神经网络可以在训练方法445d处使用真阳性数据执行反向传播调整。类似地,SVM可以在训练方法445d处考虑新数据是否影响其支持向量选择、促成其超平面的调整。虽然在线学习经常是强化学习的部分,但在线学习也可以出现在其他方法中,诸如分类、回归、聚类等。初始训练方法可以包括也可以不包括训练445e、验证445f和测试445g子方法,以及训练方法445a处的遍历调整445k、445l。类似地,在线训练可以包括也可以不包括训练445h、验证445i和测试子方法445j以及遍历调整445m和445n,并且如果包括的话,可以不同于子方法445e、445f、445g和遍历调整445k、445l。实际上,经分派用于验证和测试的训练数据的子集和比率在每个训练方法445a和445d处可以不同。
如上所讨论的,许多机器学习架构和方法不需要排他地用于任何一项任务,诸如训练、聚类、推断等。图4J描绘了一个这样的示例GAN架构和方法。在GAN架构中,生成器子架构450b可以与鉴别器子架构450e竞争性地交互。例如,生成器子架构450b可以被训练以产生合成的“假”挑战450c,例如不存在的个人的合成肖像,同时鉴别器子架构450e被训练以区分“假”挑战与真实的真阳性数据450d,例如真实人物的真正肖像。此类方法可以用于生成例如看起来像真实世界数据的合成资产,以用作例如附加的训练数据。最初,生成器子架构450b可以用随机数据450a和参数值初始化,促成非常不可信的挑战450c。鉴别器子架构450e最初可以用真阳性数据450d训练,并且因此最初可以容易地区分假挑战450c。然而,对于每个训练周期,生成器的丢失(loss)450g可以用于改善生成器子架构450b的训练,鉴别器的丢失450f可以用于改善鉴别器子架构450e的训练。这种竞争性训练最后可以产生很难与真阳性数据450d区分开的合成挑战450c。为了清楚起见,人们将理解,GAN上下文中的“对抗性”网络指代上面所描述的生成器和鉴别器的竞争,而“对抗性”输入指代专门设计用于在实施方式中影响特定输出(可能是实施方式设计者无意的输出)的输入。
数据概述
图5A是一些实施例中如可以在处理系统处接收的外科手术数据的示意性图示。具体地,处理系统可以接收原始数据510,诸如来自可视化工具110b或140d的视频,其包括随着时间505的连续的单独帧。在一些实施例中,原始数据510可以包括来自多个外科手术操作510a、510b、510c或仅单个外科手术操作的视频和系统数据。
如所提到的,每个外科手术操作可以包括动作组,每个组形成本文中称为任务的离散单元。例如,外科手术操作510b可以包括任务515a、515b、515c和515e(椭圆515d指示可以存在更多的中间任务)。请注意,一些任务可以在操作中重复,或者它们的顺序可以改变。例如,任务515a可以涉及定位筋膜段,任务515b涉及解剖筋膜的第一部分,任务515c涉及解剖筋膜的第二部分,并且任务515e涉及在闭合前清洁和烧灼筋膜区域。
每个任务515可以与对应的的帧集520a、520b、520c和520d,以及包括操作者运动学数据525a、525b、525c、525d、患者侧设备数据530a、530b、530c、530d和系统事件数据535a、535b、535c、535d的设备数据集相关联。例如,对于从外科手术室100b中的可视化工具140d获取的视频,操作者侧运动学数据525可以包括外科医生控制台155处的一个或多个手持输入机构160b的平移值和旋转值。类似地,患者侧运动学数据530可以包括来自患者侧推车130的数据、来自位于一个或多个工具140a-140d、110a上的传感器的数据、来自臂135a、135b、135c和135d的旋转和平移数据等。系统事件数据535可以包括取离散值的参数的数据,诸如一个或多个踏板160c的激活、工具的激活、系统警报的激活、能量应用、按钮按压、相机移动等。在一些情况下,任务数据可以包括帧集520、操作者侧运动学525、患者侧运动学530和系统事件535中的一个或多个,而不是所有四个。
人们将理解,虽然为了清楚和便于理解,运动学数据在本文中示出为波形,并且系统数据示出为连续状态向量,但人们将理解,一些运动学数据可以假定随时间呈离散值(例如,测量连续部件位点的编码器可以按固定间隔采样),并且相反,一些系统值可以假定随时间呈连续值(例如,值可被内插,如当参数函数可以适配温度传感器的单独采样值时)。
此外,虽然在这里将外科手术510a、510b、510c和任务515a、515b、515c示出为紧邻以便于理解,但是人们将理解,在真实世界的外科手术视频中外科手术和任务之间可以存在间隙。因此,一些视频和数据可以与任务无关。在一些实施例中,这些非任务区域本身可以被表示为任务,例如,“间隙”任务,其中没有“真正”任务发生。
与任务相关联的离散帧集可以由任务的起点和终点确定。每个起点和每个终点本身可以由工具动作或身体中受工具影响的状态改变来确定。因此,在这两个事件之间获取的数据可以与任务相关联。例如,任务515b的起点动作和终点动作可以发生在分别与位置550a和550b相关联的时间戳处。
图5B是描绘如可以结合各种公开的实施例使用的示例任务及其对应的起点和终点的表格。具体地,与任务“调动结肠”相关联的数据是在工具首次与结肠或周围组织相互作用的时间与工具最后与结肠或周围组织相互作用的时间之间获取的数据。因此,具有该起点和终点之间的时间戳的帧集520、操作者侧运动学525、患者侧运动学530和系统事件535中的任何一个是与任务“调动结肠”相关联的数据。类似地,与任务“骨盆内筋膜解剖”相关联的数据是在工具首次与骨盆内筋膜(EPF)相互作用的时间与前列腺脱脂和分离后最后与EPF相互作用的时间戳之间获取的数据。与任务“尖端解剖”相关联的数据对应于在工具首次与前列腺处的组织相互作用的时间与前列腺已从患者身体的所有附件中游离的时间之间获取的数据。人们将理解,任务开始和结束时间可以被选择以允许任务之间的时间重叠,或者可以被选择以避免这种时间重叠。例如,在一些实施例中,任务可以被“暂停”,如当参与第一任务的外科医生在完成第一任务之前转变到第二任务、完成第二任务、然后返回并完成第一任务时。因此,虽然起点和终点可以定义任务边界,但人们将理解,可以对数据进行注释以反映与不止一项任务有关的时间戳。
附加的任务示例包括“2手缝合”,其涉及使用双手技术完成4个水平间断缝合(即,在仅双手的情况下,例如没有单手缝合动作发生在其间,开始时间是在缝合针首次刺穿组织时,并且停止时间是在缝合针退出组织时)。“子宫角”任务包括从左右子宫角解剖阔韧带,以及子宫体的切断(人们将理解,一些任务具有确定它们的开始或结束时间的不止一个条件或事件,如这里,当解剖工具接触子宫角或子宫体时任务开始,并且当子宫角和子宫体两者都与患者断开连接时任务结束)。“1手缝合”任务包括使用单手技术完成四个竖直间断缝合(即,在仅单手的情况下,例如没有双手缝合动作发生在其间,开始时间是在缝合针首次刺穿组织时,并且停止时间是在缝合针退出组织时)。任务“悬韧带”包括解剖每个悬韧带的侧叶以暴露输尿管(即,开始时间是在第一叶的解剖开始时,并且停止时间是最后一叶的解剖完成时)。任务“连续缝合”包括用四个咬合执行连续缝合(即,开始时间是在缝合针首次刺穿组织时,并且停止时间是在完成所有四个咬合后针退出组织时)。作为最终的示例,任务“直肠动脉/静脉”包括解剖和结扎直肠上动脉和静脉(即,开始时间是在开始解剖动脉或静脉时,并且停止时间是在结扎后外科医生停止与结扎物接触时)。
任务分类模型拓扑
给定外科手术程序的视频、运动学和系统数据中的一个或多个,人们可能希望辨识所描绘的任务,例如任务515a、515b、515c和515e。图6描绘了示例集成机器学习模型拓扑600,当给定数据集(诸如与特定外科手术程序相关联的原始数据510集510b)时,该集成机器学习模型拓扑可以用于确定这样的任务分类。例如,系统可以接收可视化工具数据605a(诸如一个或多个视频帧610a)、操作者侧运动学数据605b(诸如在获取视频帧610a时的时间的时间范围内的运动学波形的子集610b)、患者侧运动学数据605c(诸如也在获取视频帧610a时的时间的时间范围内的运动学波形的子集610c)以及系统事件数据605d(诸如可以也在获取视频帧610a时的时间的时间范围内的状态向量的子集610d)。
这些类型中的一种或多种的数据可以通过对应的机器学习模型(具体地,可视化机器学习模型615a、操作者侧运动学机器学习模型615b、患者侧运动学机器学习模型615c和系统事件机器学习模型615d)在处理系统处接收。每个模型都可以产生相应任务分类输出620a、620b、620c和620d。例如,在模型从50种任务分类可能性中进行选择的情况下(人们将理解,在一些实施例中,一些值可以对应于“无任务”、“未知”或“检测失败”),每个输出620a、620b、620c和620d可以包括针对每个可能任务分类的50个概率值的向量(尽管情况不一定如此,例如,模型输出少于50个值以促进压缩表示,如在自动编码器中)。
处理系统然后可以归并输出620a、620b、620c和620d以形成归并的向量625。例如,在每个输出是50个概率值的向量的情况下,这些向量可以相互连结(concatenate)以形成200个值的向量(或在另一个维度上连结以形成4x50个值的矩阵)。然后,处理系统可以将该归并的向量625输入到归并的分类融合机器学习模型或逻辑630(例如,逻辑回归分类器、随机森林、对先前模型的预测进行多数投票的软件等)以产生最终归并的分类输出635(例如,其可以再次是50个概率值的向量)。
人们将理解,数据605a、605b、605c和605d可以从其起初捕获率被下采样。这样的下采样可以促成对重新对齐的需要,在一些实施例中,可以使用每个流的时间戳在下采样之后以每秒为基础执行重新对齐(这样的重新对齐可以引入几十毫秒的量级的可接受误差)。在一些情况下,来自不同流的数据可能不在相同的时间范围内或不处于相同的采样频率。例如,基于视频的模型可以使用例如32秒的过去数据,运动学模型可以使用128秒的先前运动学数据,并且系统模型可以使用196秒的先前事件数据。人们将理解,所有这些输入都可以用于对所考虑的最终秒进行预测,尽管它们各自的范围不同。因此,在一些实施例中,视频可以以每秒60帧被起初采样,运动学数据以每秒50个样本,并且事件在发生时被记录(即,未采样)。在一些实施例中,视频数据可以被下采样到每秒1个帧(并且大小被调整为224x224x3的维度,即针对红色、绿色、蓝色像素的宽度和高度为224个像素)并且运动学数据可以被下采样到每秒4个样本。
如本文将讨论的,数据可能并不总是可用于所有四个流,并且模型615a、615b、615c和615d和/或模型或逻辑630可以被训练以代替它们接受“虚拟”值,以便处理可以对此类缺漏保持弹性。
任务分类模型拓扑——示例视频数据模型
图7A是在一些实施中如可以在图6的机器学习模型拓扑的可视化机器学习模型615a中使用的示例机器学习模型的示意性集成机器学习模型拓扑图。具体地,该模型可以在多个多层卷积神经网络705e、705f、705g处接收多个帧705a、705b、705c(椭圆705d指示更多介于中间的网络的可能)。例如,帧705a的维度可以是256x256x3(宽度和高度各为256像素的图像的红色、绿色和蓝色像素值)。网络705e可以处理帧705a以产生1xK个值的线性向量输出(在一些实施例中,K是要预测的任务的数量),其可以被追加到彼此。由于存在N个帧和来自多层卷积神经网络705e、705f、705g的N个对应的输出,因此所得结构可以具有NxK的维度。然后,此NxK结构可以由被配置为处理时间输入序列的一个或多个层考虑。例如,一些实施例然后可以直接提交该NxK结构到一个或多个层以按序列考虑结果,在本文中称为一个或多个序列层705j。例如,可以将结果提交给RNN 705i以产生1xT个任务预测705k(例如,经由例如最终密集和/或SoftMax层分配给每个可能的任务分类的概率)。一些实施例可以代替地将NxK结构发送到一维卷积神经网络(Conv1D)705h(其之后可再次是最终密集和/或SoftMax层以产生最终预测概率)。如此处所示,一些实施例可以采用RNN 705i和Conv1D层705h两者。例如,一维卷积层705h可以接收NxK值集以产生MxK值集,其中M<N,然后将这些结果提供给RNN 705i(有效地允许RNN 705i对结果的经下采样的版本进行操作)。在一些实施例中,一维卷积层705h可以包括大小为3-8的核,具有96-480个滤波器,以及1-3个连续的卷积层。
为了促进在讨论二维结构上的一维卷积时清楚,图7B提供了预期操作的示意性表示。具体地,此处示出为包含三个连续帧的卷积核或窗口715a可以从N个多层CNN输出中的第一个从左向右滑动。因此,在窗口为3的情况下,M就是N-3。每个新创建的向量可以通过根据学习到的核的权重在核窗口内组合向量来确定。例如,新向量中的第一值715b可以是出现在窗口715a中所图示位点的向量中K个值的第一个的加权和,新向量中的第二值715c可以是出现在窗口715a中所图示位点的向量中K个值的第二个的加权和,以此类推。
回到图7A,人们将理解,在一些实施例中,如当多层CNN 705e、705f、705g本身在相同的训练数据上被训练以识别任务时,K可以与要预测的T个任务类的数量相同(即,K=T)。然而,在一些实施例中,如当多层卷积神经网络705e、705f、705g用整个模型进行端到端训练时,K可以不等于T。启用K>T可以提供更大的中间特征灵活性,而K<T可以改善特征选择,类似于自动编码器、PCA等的操作。
人们将理解,在可替代实施例中,处理系统可以通过单个多层CNN连续地输入帧705a、705b、705c中的每一个,而不是通过并行的CNN集同时地馈送帧。事实上,尽管通过多个实例的并行处理帧可以在推断期间为实时识别应用程序提供时间效率,但训练单个多层CNN可以更具有时间和资源效率。类似地,可以采用一种中间方法,其将帧的子集应用于少于帧总数的几个CNN实例之一(即,多层CNN的数量少于N)。
人们将理解,多个多层CNN架构可以适合用作多层CNN 705e、705f、705g,只要它们提供足够的能力来识别待分类的任务。例如,图7C是VGG19架构的多层CNN变体的示意性机器学习模型拓扑图(同样,人们将理解类似架构的对应变体(进行必要的修改后),诸如ResNet 50、InceptionV3等)。人们将理解,这些模型的经预训练的实施方式很容易获得(例如,KerasTM库提供了在ImageNet库上预训练的VGG19的版本)。
在一些实施例中,通过从模型的这种经预训练的版本进行迁移学习,人们可以创建图7A中所示的一个或多个多层CNN。具体地,人们可以保留接收输入图像710a的经预训练的层,直到模型的完全连接输出之前的最终层(此处为最大池化层710c)。因此,层710b中的每一个都可以包含来自预训练的预先存在的超参数(人们将认识到这些层对应于上面关于图3F讨论的“特征提取”层)。这些层的超参数可以保持固定或“冻结”,并且不允许在未来专门针对任务识别上下文的训练期间发生变化。相比之下,最大池化层710c之后的层(称为“头部层”,对应于图3F的“分类”层)可以保留并且允许改变它们的权重,或者用允许改变权重的层替换。例如,一些实施例用层结构710d替换这些层,层结构710d具有单个完全连接的层,随后是SoftMax层。其他实施例可以包括多个完全连接的层,如层结构710e中所示,这可以促进更大的识别能力。因此,当区分少量非常不同的任务时,层结构710d可以比层结构710e更合适。反之,当区分许多具有细微差异的任务时,层结构710e可以比层结构710d更合适。人们将理解,在一些实施例中,并非多层CNN 705e、705f、705g中的每一个都可以具有相同的头部结构选择(头部结构的可变选择可以促进在一些情况下更稳健的识别)。
因此,在一些实施例中,人们可以利用如图7D所示的过程来训练诸如图7C所示示例的迁移模型。具体地,在方框720a,训练系统可以获取经预训练的模型(例如,上面讨论的在ImageNet数据集上预训练的VGG19模型)并在方框720b冻结非头部参数,例如,冻结层710b。人们将理解,方框720b可以不反映肯定步骤,而是,例如,只是忽略更新被冻结的层的权重的训练配置。在方框720c,可以修改或替换预先存在的未被冻结的层(例如,用层结构710e或层结构710d替换),尽管一些实施例省略方框720c以支持修改来自起初模型的现有头部层。
如将更详细地讨论的,人们现在可以训练多层CNN以直接识别任务或可以与模型的其余部分成为一体(例如,单独训练或当与一维卷积层705h和RNN 705i成为一体时)。此处,在方框720d,多层CNN模型与集成模型的其余部分成为一体,并且该集成作为整体在方框720e被训练。同样,为了清楚起见,人们将理解,在一些实施例中,人们可以代替为在带注释的帧训练数据上训练多层CNN模型(即,调整它们的未被冻结的权重),并且然后使用一个或多个经训练的多层CNN的输出在相同或不同的训练数据上训练CNN和/或RNN。
任务分类模型拓扑——示例视频数据模型——递归网络
RNN 705i可以采取适合于从多层CNN 705e、705f、705g的细化特征中辨别与每个任务相关联的随时间变化的模式的形式。通常,这样的RNN 705i可以根据图8A的拓扑进行结构化。此处,神经元网络805b可以被布置成接收输入805c并产生输出805a,如关于图3C、图3D和图3F所讨论的。然而,来自网络805b的输出中的一个或多个可以作为(一个或多个)递归隐藏输出805d反馈到网络805b,在网络805b的操作中及时保存。
例如,图8B示出与图8A相同的RNN,但在推断期间的每个时间步输入。在时间1的第一次遍历中,在第一输入810n上应用网络805b可以产生输出810a以及第一隐藏递归输出810i。在时间2,网络可以接收第一隐藏递归输出810i以及新输入810o并产生新输出810b。人们将理解,在时间1的第一次遍历期间,可以向网络馈送初始的默认隐藏递归值810r。
以这种方式,输出810i和随后生成的输出810j可以取决于先前的输入,例如:
ht = f (ht-1, xt) (4)
如椭圆810s所示,这些遍历可以持续多个时间步直到所有输入数据都被考虑。例如,一维卷积层705h可以产生MxK输出,并且因此在M次遍历的过程中,可以在每次遍历中考虑K大小的数据向量。
由于倒数第二个输入810p和最终输入810q被提交给网络805b(以及先前生成的隐藏输出810k),因此系统可以产生对应的倒数第二个输出810c、最终输出810d、倒数第二个隐藏输出810l和最终(可能未使用)隐藏输出810m。由于810d先前的输出是在没有考虑所有数据输入的情况下生成的,因此在一些实施例中,它们可以被弃置,并且仅将最终输出810d作为RNN的预测。然而,在其他实施例中,如当融合模型被训练以从输出的遍历性质识别预测时,可以考虑每个输出。人们将理解用于此类“多对一”RNN拓扑(接收许多输入但产生单个预测输出)的各种方式。
在一些实施例中,网络805b可以包括一个或多个长短期记忆(LSTM)单元,如图8C所指示的。除了隐藏输出H(对应于隐藏输出805d的一部分)之外,LSTM单元还可以输出单元状态C(也对应于隐藏输出805d的一部分),其由乘法运算815a和加法运算815b修改。Sigmoid神经层815f、815g和815i以及tanh层815e和815h也可以对输入815j和中间结果进行运算,同样使用如图所示的乘法运算815c和815d。
虽然单独的RNN层(例如,LSTM层)或Conv1D层在一些实施例中可能就足够了,但一些实施例考虑组合这两种方式。例如,图8D图示了组合RNN 705i和一维卷积705h的模型拓扑820。
此处,初始一维卷积层820g可以接收多层CNN 705e、705f、705g的NxK归并的输出(此处,连结的输入820h)。在一些实施例中,卷积层820g之后可以是最大池化层820f,计算特征图的间隔的最大值,这可以促进最显着特征的选择。类似地,在一些实施例中,最大池化层820f之后可以是平坦化层820e。然后可以将结果作为输入供应给LSTM层820d。在一些实施例中,拓扑可以结束于LSTM层820d。然而,在LSTM层820d尚未处于多对一配置的情况下,可以采用后续层(诸如之后的密集层820c和合并(consolidate)层820b)执行平均、SoftMax等来产生输出820a。同样,如前所述,人们将理解,图8D的虚线层中的一个或多个可以在实施经组合的LSTM和Conv1D的各种实施例中被移除。
当使用LSTM时(无论是单独使用还是例如如图8D所示),一些实施例采用单层LSTM模型,其中层数的范围为64到1024。类似地,也可以使用LSTM和最终密集层之间的丢弃层,其中丢弃的比例范围为0-0.5(同样,无论是单独的还是例如如图8D中所示)。
任务分类模型拓扑——示例视频数据模型——训练
可以以多种方式训练上面所描述的基于视频的模型。例如,图9A图示训练过程中的各种操作(例如,由训练系统、人类训练员、元学习系统等执行),其将一个或多个多层CNN705e、705f、705g与一维卷积层705h和RNN 705i分开考虑。具体地,在方框905a,训练系统可以接收训练数据,例如,其帧已经用对应的任务注释的视频数据。在方框905b,可以将该数据处理成适合执行训练的形式。例如,代表性不足的任务可以经由诸如合成少数过采样技术(SMOTE)(例如,使用imblearnTM库函数imblearn.over_sampling.SMOTE)的算法被合成上采样,尽管如果起初训练数据分布充分(而不是对所有数据应用上采样,这种上采样可以只在发现具有代表性不足的类的训练折叠(folds)中执行),则这可能不是必需的。方框905b还可以包括这样的操作,例如基于要区分的任务分类的数量(以及期望多层CNN的期望配置种类)选择完全连接层的数量,例如组710d或710e。在要经由迁移学习训练模型的情况下(例如,如上文关于图7B所描述的),方框905b处的预处理可以涉及设置模型的被冻结的权重和未被冻结的权重。
与图7D的方框720e在整个集成中训练模型相反,在示例过程905中,在方框905c,系统可以单独训练一个或多个多层CNN(例如,以识别任务)。自然地,经预训练的模型仍然可以经由迁移学习来使用,如上文在方框905c处所描述的。一旦经过训练,在方框905d,一个或多个多层CNN可以将训练数据转换成它们的相应预测输出。这些预测结果然后可以用于在方框905e训练一个或多个序列层705j,例如Conv1d和/或RNN结构(例如,图8D的结构)。人们将理解,诸如时间反向传播(BPTT)的方法可以允许经由使用一维和其他反向传播经训练层的正常反向传播和随机梯度下降方式来训练时间RNN结构。因此,在一些实施例中,RNN可以是加载有随机权重的LSTM层,随机梯度下降优化器的学习率可以是可变的,但通常为0.0005,并且可以在训练数据的验证部分上在每个时期之后评定LSTM。当验证准确度不再改善到连续遍历的阈值以上时,训练可以结束。
对比图9A的方式,一些实施例可以替代地从如图9B所示的“端到端”过程910训练集成模型(例如,与图7D的示例一致)。也就是说,在方框910a接收到训练数据并在方框910b前对数据进行预处理之后,图8B的整个集成模型可以在方框910c处作为组被训练。虽然这种方式中的模型长度可以存在梯度消失的风险,但这种训练可以适用于一个或多个多层CNN的输出多于或少于任务分类的数量的情况。这可以很有用,例如,在集成模型的行为类似于自动编码器(多层CNN输出少于类的数量)的情况下,从每个图像中识别出最显着的特征集,供一维卷积层和RNN模型考虑。
任务分类模型拓扑——示例运动学数据模型
图10A是在一些实施例中如可以在图6的机器学习模型拓扑的操作者侧运动学机器学习模型615b或患者侧运动学机器学习模型615c中使用的示例机器学习模型的示意性集成机器学习模型拓扑图。具体地,处理系统可以接收原始运动学数据1005并且对数据1010进行下采样以产生压缩运动学数据1015,然后处理系统可以将压缩运动学数据1015连结以产生连结的运动学数据1020。同样,原始运动学数据1005可以是例如以每秒50个样本进行采样的多个系统传感器成分的时间序列。因此,这些值可以包括例如机器人关节角位点、机器人关节相对平移、与以相机为中心的参考系相关的三维空间中的工具位点等。对数据1010进行下采样还可以包括通过应用PCA进行降维,例如,以规范化数据。在一些实施例中,处理系统可以使数据变白,使得所有数据的标准偏差被强制为一。在一些实施例中,PCA算法可以是增量PCA算法(例如,使用scikit-learnTM库sklearn.decomposition.Incremental PCA函数),其用于将数据转换为低维表示,例如64或96维。然而,在一些实施例中,运动学数据的下采样可以通过代替地在时间上对现有数据点进行欠采样来实现(例如,每隔一个可用点采样)。在其他实施例中,可以组合这两种方式,例如应用PCA和对数据进行欠采样。
然后,处理系统可以向一个或多个序列层1050提供连结的运动学数据1020(例如,对于每个时间点,来自每个运动学数据源的连结的值集),这些序列层可以按照上面关于序列层705j所描述的方式之一(包括关于图8D的描述)进行结构化。例如,可以使用Conv1d层1025和RNN层1030(诸如LSTM层)中的一者或两者来产生任务辨识输出1035。在一些实施例中,针对运动学可以仅使用一维CNN模型1025并且移除RNN模型1030,因为这被发现有时提供足够的结果,特别是在运动学数据要与系统或可视化工具数据结合考虑的情况下。
相反,在保留RNN模型1030并包括LSTM层的那些实施例中,一些实施例可以采用具有32到1024个单元的双向LSTM。这种架构可以适用于在没有系统或可视化工具数据的情况下执行任务识别的情况或此类数据预计会经常缺失的情况。
任务分类模型拓扑——示例运动学数据模型——训练
图10B是图示如可以在一些实施例中应用的用于训练图10A的模型的过程1040中的各种操作的流程图。具体地,在方框1040a,系统可以接收带注释的训练数据(例如,随时间推移的一个或多个工具位点、随时间推移的操作者输入位点等)。根据上面所描述的操作1010、1015、1020,可以在方框1040b将该数据转换为特征向量形式。在方框1040c,一个或多个序列层1050可以用这些带注释的特征向量进行训练以在方框1040d产生经训练的模型。
任务分类模型拓扑——示例系统事件数据模型
与可以经常随时间推移以频繁的间隔定期采样的运动学数据不同,许多事件可以在时间的单个实例或不规则的间隔内发生。因此,系统事件识别可以受益于不同于先前描述的那些拓扑的拓扑。例如,图11A是在一些实施例中如可以在图6的机器学习模型拓扑的系统事件分类模型615d中使用的机器学习模型的示意性机器学习模型拓扑图。
具体地,在一些实施例中,系统事件机器学习模型615d可以采取堆叠式集成学习模型1100的形式。处理系统可以向一个或多个基础模型1110提供系统事件数据1105。在一些实施例中,基础模型可以包括逻辑回归模型1110a、随机森林模型1110b和神经网络模型1110c(尽管在一些实施例中可以考虑比这些模型更多或更少的模型)。
基础模型1110可以产生多个分类输出1115a、1115b和1115c(例如,如图所示,所考虑的任务的概率值的向量)。在一些实施例中,输出1115a、1115b和1115c中的每一个的大小都是潜在任务分类的数量,尽管如前所讨论的,在其他实施例中不需要如此(例如,寻求执行类似于自动编码器的特征减少的那些实施例)。处理系统然后可以连结输出1115a、1115b和1115c以形成归并的向量1120。
处理系统然后可以将归并的向量1120提供给一个或多个融合模型1125。虽然模型的集成可以用于融合模型,正如可以对基础模型所做的那样,但在许多实施例中,单个融合模型(其为随机森林1125a或极端随机树1125b(或者,在一些实施例中,如此处所示,是这两者))可以与基础模型的集成结合使用以产生良好的结果。
然后可以使用来自一个或多个融合模型1125的输出来确定最终任务辨识1130(在一些实施例中其可以用作任务分类输出620d)。人们将理解,在存在多于一个融合模型1125的情况下,可以使用伴随的逻辑(例如,每个融合模型的结果的多数投票)来选择最终任务辨识1130。
为清楚起见,人们将理解,融合模型可以利用scikit-learnTM库使用代码行清单C1或C2中所示的函数调用来实施:
RandomForestClassifier(n_estimators=200,class_weight='balanced') (C1)
ExtraTreesClassifier(n_estimators=200,class_weight='balanced') (C2)
类似地,基础模型可以利用代码行清单C3到C7中示出的一个或多个调用来实施:
KNeighborsClassifier(n_neighbors=10) (C4)
RandomForestClassifier(n_estimators=200,class_weight='balanced') (C6)
ExtraTreesClassifier(n_estimators=200,class_weight='balanced') (C7)
也就是说,关于行C6和C7,用于融合模型的相同模型拓扑的单独实例也可以出现在基础模型中。
任务分类模型拓扑——示例系统事件数据模型——训练
图11B是图示如可以在一些实施中应用的用于训练图11A的模型的过程1150中的各种操作的流程图。在方框1150a,训练系统可以接收带注释的系统事件训练数据并且可以在方框1150b将该数据转换为特征向量。虽然人们可以使用这些特征以“端到端”形式训练模型,如在图9B中关于一些实施例中的视觉模型所讨论的,此处,分别训练基础模型和融合模型。具体地,在方框1150c和1150d,训练系统可以遍历基础模型并在方框1150e基于特征向量来训练它们。一旦基础模型被训练,在方框1150f,训练特征向量可以被转换成来自基础模型的其对口输出。利用起初训练数据注释,这种形式的数据同样可以用于在方框1150g、1150h和1150i处训练(一个或多个)融合模型。在训练(一个或多个)融合模型之后,系统可以在方框1150j产生最终的堆叠式学习器以供将来推断。
示例系统和事件数据生成
运动学数据1005和事件数据1105都可以已根据原始传感器输出重新格式化。在一些情况下,运动学数据可以以易于与事件数据区分的形式出现,如当运动学数据被提供作为编码器传感器值的时间序列时。然而,在某些情况下,可能需要从原始系统输出中推断事件和运动学行为。
例如图12A是来自机器人系统上的传感器数据的JSON摘录的示例文本清单。该数据可以例如根据图12B的过程被转换成NumpyTM阵列以用于由图10A和图11A的系统处理。在该示例中,机器人系统可以输出数据条目阵列,每个条目具有各种属性。如行1所示出的“记录的时间戳”属性可以指示相对于系统时钟获取数据的时间。部分数据可以被加密以满足隐私和监管义务,并且条目的内容可以需要在由行3的“decoded_msg_dict”所指示处进行解密。经解码的数据中行4的头部可以包括提供关于事件的元数据的多个参数。经解码的数据还可以包括特定于工具的属性,如行(10)的“工具数据”所指示的,提供名称(行12)和设备细节(例如,行11的序列号)。然后,“event_entry”参数可以指示促成条目创建的数据。此处,该工具已移出屏幕,如行13的事件名称和行17的id所指示的。其他参数(诸如消息类型(行18))可以有助于确定事件的上下文(例如,工具响应于相机移动而出现在屏幕外,而不是从患者身上移除)。一些参数(诸如历史缓冲(行16))可以指示条目与其他条目的关系。
人们将理解,系统数据参数不必是二元的,如当工具的位点随时间推移由浮点值阵列表示时。可以解析此JSON以创建二元NumpyTM阵列特征向量以供相应模型消耗。例如,图12B是图示用于将原始数据(诸如图12A中描绘的数据)转换为特征向量形式的过程1245中的各种操作的流程图。在方框1245a,转换系统可以考虑是否已经考虑了所有事件数据(例如,JSON条目),并且如果没有,则在方框1245b考虑下一个条目。
一些条目可以被识别为代表较大的运动学操作或系统事件的一部分。例如,JSON可以不包括“能量饱和”事件,但考虑到JSON中的一系列“能量应用”事件可以允许人们推断此类事件何时发生。因此,在方框1245c所考虑的事件被认为是事件的这种部分指示的情况下,系统可以将该条目追加到缓冲以供稍后在方框1245d考虑。一旦缓冲在方框1245e完成(例如,收集到足够的数据以推断完整的时间传播事件),系统可以在方框1245f将缓冲的数据转换为适当的特征向量项以供机器学习模型考虑(或者用于训练或推断期间)。例如,可以审阅缓冲中的多个存储的能量应用事件,并且如果它们发生的时间足够接近以使部件饱和,则系统可以在方框1245f生成饱和特征,该饱和特征在系统确定发生饱和时加上时间戳。
一旦考虑了所有JSON条目,系统就可以在方框1245g在要用于运动学模型(例如,图10A的模型)和系统事件模型(例如,图11A的模型)的特征向量之间进行区分。例如,当操作者将手持输入从一个机器人臂重新分配到另一个机器人臂时,可以发生“臂交换”系统事件。每个臂的移动的原始JSON条目可以直接转换为运动学数据值。然而,“臂交换”系统事件可以需要通过识别每个臂都可以与相同的输入相关联、一个臂的静态/活动运动学值补充另一个臂的静态/活动运动学值,以及静态/活动关系变得反转的时间(即交换事件发生的时间)来推断。因此,这将是与系统事件模型一起使用的“系统事件”特征向量。因此,与运动学或系统数据相关联的JSON条目和从中导出的事件可以映射到它们合适的特征向量形式,并提供给适当的对应的机器学习模型。
示例融合模型
图13A是如可以在一些实施例中实施的并入融合分类模型或逻辑的示意性机器学习模型拓扑图。人们将理解,模型或逻辑(例如,对先前模型的预测进行多数投票的软件)1305k可以与模型或逻辑630相同。在一些实施例中,模型1305k可以根据数据输出每个连续时间点的任务分类。在一些实施例中,模型1305k可以只输出任务的开始/停止时间和视频记录中的任务名称。
如所讨论的,在推断期间,视频1305a、操作者侧运动学数据1305b、外科医生侧运动学数据1305c和系统事件数据1305d中的一个或多个可以分别供应给视频模型1305e(如关于图7A所讨论的)、操作者侧运动学模型1305f(如关于图10A所讨论的)、外科医生侧运动学数据模型1305g(也如关于图10A所讨论的)以及系统事件模型1305h(如关于图11A所讨论的)。这些模型可以针对它们的相应数据语料库产生预测1305i。然而,在一些实施例中,视频模型1305e的“预测”可以是来自多层CNN 705e、705f、705g的连结的输出而不是最终输出705k,即,在这些实施例中可以移除或忽略序列层705j。在一些实施例中,序列层1050和融合模型1125可以同样被移除,以支持来自连结的运动学1020和归并的向量1120的输出分别用于预测1305i。然而,在大多数实施例中,如图13A所示,可以针对每个预测1305i考虑每个流的最终预测输出。可以将来自这些预测的归并的结构1305j提供给融合模型1305k以产生预测1305l。
在一些实施例中,融合模型1305k是随机森林或极端随机树,例如,使用上面的代码行清单行C1或C2创建的。在一些实施例中,融合模型可以是逻辑回归模型(例如,根据代码行清单C3)。类似地,人们将理解,在仅使用模型1305e、1305f、1305g、1305g中的单一个的实施例中,可以不应用通过融合模型1305k的预测。
在一些实施例中,还可以存在不确定性逻辑1305m,其可以基于预测1305i确定不确定性值1305n。在融合模型是生成模型(例如,贝叶斯神经网络)的一些实施例中,不确定性可以从预测分布13051的固有特征(例如,从最可能预测结果的分布的方差)中辨别出来。
示例融合模型——训练
训练融合模型1305k可以以通常类似于本文描述的其他模型的方式进行。具体地,图13B是图示如可以在一些实施例中应用的用于训练图13A的模型的过程中的各种操作的流程图。在方框1310a接收带注释的训练数据并在方框1310b将数据转换为适当的特征向量形式之后,模型1305e、1305f、1305g、1305g中的每一个都可以根据本文先前在方框1310c描述的方法进行训练。一旦经过训练,这些模型可以用于在方框1310d将训练特征向量转换为预测1305i。在方框1310f,这些预测和来自它们的相应训练特征向量的对应的注释然后可以用于训练融合模型1305k。
本文所描述的四个有区别的模型的模块化结构后接融合预测模型可以提供比单个数据流上的任何单个模型更准确的预测。通过训练有区别的模型1305e、1305f、1305g、1305g,随时间推移同步数据的问题也可能更少,因为每个数据流可以被单独处理以针对外科手术的每一秒(或其他期望的合适间隔)产生任务预测。这可以克服流之间的亚秒级数据对齐的挑战,特别是在流具有不同采样率的情况下。
即使在遇到丢失数据时,本文公开的方式也可以促进稳健的识别模型。例如,每种数据类型可能并不总是可用,如当外科手术室100a仅提供视频数据时,或者当来自外科手术室100b的机器人事件数据不能与来自外科手术的对应的视频数据同步时。因此,在方框1310e,训练系统可以包括“虚拟”特征向量,当给定数据流不可用时,该“虚拟”特征向量也将在推断期间被提交。例如,对于所有四个流的训练数据,可以用虚拟特征向量替换流中的一个和三个之间的组合,以模拟仅剩余流的可用性。以这种方式,模型1305k可以在部署用于推断时对数据不可用具有弹性。
示例不确定性算法
在计算不确定性的那些实施例中,可以存在各种可行的方式可用于此类计算,这取决于所涉及的模型是否是有判别力的或生成性的。例如,图14B和图14C中的每一个描绘了用于参考图14A的表中的假设结果集测量不确定性的示例过程。在图14B的示例过程1400a中,在方框1405a,计算机系统可以为所有分类的类中的最大计数初始化保持器“max”,无论是专业还是程序。如方框1405b所指示的,系统可以遍历所有类(即,所有正在考虑的任务)。由于在方框1405c考虑了每个任务类,因此可以在方框1405d确定其最大计数“max_cnt”,并在方框1405e将其与保持器“max”的当前值进行比较。如果max_cnt较大,则可以在方框1405f将保持器max重新分配到max_cnt的值。
例如,参考图14A的表中的假设值,对于类任务A、任务B、任务C和任务D,以及对于来自模型1305e、1305f、1305g和1305h中的每个流给出四个预测结果,融合模型或逻辑1305k可以已经得出预测应该是任务A的结论,因为模型中的三个将任务A预测为最有可能的类或至少与另一个类一样可能。
例如,对于预测流1,模型产生帧集属于任务A的概率30%,属于任务B的概率20%,属于任务C的概率20%,以及预测流属于任务D的概率30%。在通过方框1405c的第一次遍历期间,系统可以考虑每个流的任务A的值。此处,任务A是预测流1、预测流2和预测流3中预测最多的类(平局均被计为预测最多的结果)。由于任务A是这三个流中预测最多的类,因此对于该类,max_cnt为3。由于3大于0,因此系统将在方框1405f将保持器“max”分配到3。后续遍历的类似程序可以确定任务B的max_cnt值为0,任务C为0,任务D为2。由于每个后续的max_cnt确定都小于3,因此当在考虑了所有类之后过程转变到方框1405g时,最大保持器将保持在3。在这个方框1405g,不确定性可以输出为:
继续关于图14A的表的示例,存在四个预测流,并且因此不确定性为1-3/4,或0.25。
图14C描绘了用于计算不确定性的另一个示例过程1400b。此处,在方框1410a,系统可以将熵保持器变量设置为0。在方框1410b和1410c,系统可以再次考虑每个类,在方框1410d确定类的平均并在方框1410e追加平均的对数值,其中对数取类数为底数。例如,参考图14A的表,人们将理解,“任务A”类的平均值是
其中为其他任务示出了对应的平均计算。一旦所有类都已被考虑,最终的不确定性可以在方框1410f被输出为熵值除以类数的负数。因此,对于图14A中的表的示例平均可以导致最终不确定值约为0.227。
人们将理解图14C的过程为计算结果Shannon熵。具体地,其中yc,n表示第n个预测流的第c个类的SoftMax预测输出
如上面所指示的,然后可以将其合并到Shannon熵H的计算中
其中Class_Cnt是类的总数(例如,在图14A的表中,Class_Cnt是4)。人们将理解,按照惯例,“0logClass_Cnt 0”在这些计算中为0。
人们将理解,图14B和图14C的方式可以是互补的。因此,在一些实施例中,两者都可以被执行并且不确定性被确定为它们的结果的平均值。
为了完整性,如所讨论的,在模型1305k是生成模型的情况下,可以从预测1305l测量不确定性而不是通过考虑如上所描述的多个模型输出。例如,在图14D中,融合模型是生成模型1425b,其被配置为接收连结的特征结果1425a并输出预测1425c、1425d、1425e(在该示例中,只有三个任务被预测)。例如,贝叶斯神经网络可以输出分布,选择最高概率分布作为预测(此处,预测1425d)。不确定性逻辑1305m此处可以根据预测分布1425d的方差评估不确定性。
人们将理解用于评估不确定性的附加方法。例如,在融合模型1305k是神经网络的情况下,在神经网络中的各种节点丢弃的情况下的推断期间的遍历应用同样可以产生类似于预测分布1425d的分布,不确定性逻辑1305m可以根据预测分布1425d的方差计算不确定性。在已将虚拟值插入到流中的情况下,人们将理解,可以从上述不确定性分析中省略该流(例如,不确定性逻辑1305m可以仅考虑非虚拟流)。
示例实时处理
如本文所讨论的,各种公开的实施例可以在外科手术期间实时应用,例如,应用在患者侧推车130或外科医生控制台155或位于外科手术室中的计算机系统上。图15是图示用于本文描述的各种系统和方法的实时应用的示例过程1505中的各种操作的流程图。具体地,在方框1505a,计算机系统可以从正在进行的外科手术接收帧。直到在方框1505b接收到足够数量的数据来执行预测(例如,足够的帧来为至少一个流生成经下采样的数据集),系统可以在方框1505c延迟超时间隔(例如,针对每个可用模型都有足够的数据来处理每个对应的流)。
一旦在方框1505b处接收到足够数量的帧,系统可以在方框1505p考虑虚拟替换变量是否将合适(例如,如果有足够的数据来执行预测,但针对少于所有的流,或者如果数据源离线或以其他方式不可用)。如果是,则可以如本文所描述的在方框1505q插入虚拟值。然后可以在方框1505d在可用数据流的预测结果上执行预测(用虚拟值替换不可用的那些)。在方框1505e,如果对应于预测结果的不确定性还不可接受,例如,低于阈值(例如,熵大于最大可能熵的一半,图14A中的每个平均值小于0.5,等),系统可以在方框1505g再次等待另一个超时间隔,在方框1505h接收正在进行的外科手术的附加帧并在方框1505d使用可用帧执行新预测。在一些实施例中,即使不确定性是不可接受的,也可以在方框1505f报告暂定预测结果。人们将理解,可以在插入虚拟值的情况下调整不确定性计算(例如,在不确定性计算中忽略流或引入随机数值或中值)。
一旦已经实现可接受的不确定性,系统就可以在方框1505i向任何消耗下游应用程序(例如,基于云的外科手术助理)报告预测结果。然后在方框1505j可以周期性地确认预测以确定任务是否已经改变(或者起初预测是否不正确)直到会话结束。因此,在方框1505k,系统可以从正在进行的外科手术接收附加数据,在方框1505r再次考虑虚拟替换是否合适,并且如果是,则在方框1505l将新数据并入到新预测中之前,在方框1505s插入这样的虚拟值。在方框1505m,如果新预测与先前最确定的预测相同,或者如果新预测的不确定性足够高,则系统可以在方框1505n等待附加超时间隔。然而,在方框15051预测产生的不确定性低于先前预测所实现的不确定性并且预测不同的情况下,系统可以在方框1505o更新结果(例如,根据外科手术转变到下一个任务)。输出预测结果可以促进例如实时数字助理中的操作、工具优化算法、向外科手术人员提供警报等。
如下所讨论的,平滑可以随着每个新预测实时应用或在累积预测一段时间后(例如2分钟,视所考虑的应用程序的需要而定)应用。
平滑——概述
虽然上面所描述的系统和方法在某些情况下可能足够,但实验已经表明,在某些情况下,平滑来自(一个或多个)融合模型1305k的预测输出可以产生更可行的结果。具体地,图16A是图示如可以在一些实施例中应用的具有平滑处理1600的分类中的各种操作的流程图。如先前所描述的,系统可以在方框1605接收视频、运动学或系统事件数据中的一个或多个,并且在方框1610应用本文所描述的分类器(和可能的虚拟变量)以获取预测。然而,随时间推移获取的预测(例如,如图15的实时示例中)可以受益于后处理,诸如方框1615的平滑操作。
如图16B所示,融合模型1305k随时间1620推移进行的初始任务预测1630a可以包括许多错误识别。在此示例中,只有四个任务,但人们将理解,随着考虑更多任务,此类错误识别可以增加。应用平滑操作1625可以帮助减少这样的假阳性(false positive),提供更连续更真实的输出1630b。
在一些实施例中,可以通过在任务预测1630a上及时移动窗口,并将窗口内的多数投票分配作为最终输出1630b中的对应值来实现平滑。然而,实验表明,有时可以通过使用隐马尔可夫模型(HMM)方式来实现改善的结果。图16C是图示如可以在一些实施例中实施的假设的任务转变操作集的状态转变图。具体地,对于四个任务T1、T2、T3、T4,模型可以假定给定当前间隔任务分类的情况下,在下一个间隔的预测中转变到任何其他任务(例如,当在逐秒的基础上进行预测时)或返回任务(如针对连续间隔预测到相同任务时)的概率。例如,在以一秒为间隔获取数据的情况下,模型可以基于当前间隔的分类指示下一秒间隔为给定任务的可能性。
应用于平滑的HMM可以取决于其操作的几个概率。具体地,可以为每个任务分配“开始任务概率”,指示第一间隔的预测是针对该任务的可能性。例如,图16E是图16C的转变图的示例任务状态开始概率集。
“转变概率”可以指示在后接的间隔中保持在任务状态或在下一个间隔中转变到另一个给定任务的概率。例如,图16D是图16C的转变图的示例状态转变概率矩阵。因此,例如由T2行和T4列引用的单元格指示从第一间隔中的任务T2转变到下一连续秒中的任务T4的概率为0.002。
“发射概率”可以指示给定任务的预测在该间隔内成为真正任务的可能性有多大。这样的概率也可以在矩阵中引用。例如,图16E是图16C的转变图的示例任务状态发射概率矩阵。因此,如果预测是T2(即行T2),则外科手术实际在T1中的概率为0.05,外科手术真正在T2中的概率为0.91,任务T3的概率为0.01,并且任务T4的概率为0.03。
使用HMM和这些概率,系统可以沿着初始预测1630a遍历并基于HMM将输出1630b调整为的最可能任务分类,其中HMM与起初预测不一致。例如,人们将理解,HMM可以与前向-后向算法一起使用以平滑初始预测1630a。
平滑——HMM概率确定方法
在一些实施例中,图16C中的模型的概率可以根据图17B、图17C和图17E的过程来确定。这些方法中的每一个都可以考虑按时间排序的多个用任务注释的外科手术,如图17A的示例所示。通常,通过考虑任务随时间的发生,系统可以推断任务发生的频率、转变和对应的概率。
例如,图17B图示用于确定开始概率(例如,图16F中的那些)的过程1705。在方框1705a,系统可以接收用任务注释的数据,例如图17A中所示的数据。在方框1705b,系统可以将每个任务的开始概率初始化为0。在方框1705c和1705d,系统然后可以考虑图17A中的每个外科手术。在方框1705e,系统可以考虑外科手术中的第一任务,并在方框1705f增长对应的开始概率。因此,对于外科手术1,任务T3的开始概率可以增长,对于外科手术2,任务T1的概率增长等。在已经考虑了所有外科手术之后,在方框1705g每个概率值可以除以外科手术总数(此处,总共NN个外科手术)并且在方框1705h输出。因此,程序1705基于作为开始任务的任务在图17A的语料库中的出现来确定开始概率。
类似地,图17C描绘用于确定转变矩阵概率(例如图16D的矩阵)的过程1710。同样,在方框1710a,系统可以接收用任务注释的外科手术(例如,图17A的带注释的外科手术)。在方框1710b,矩阵的每个条目可以被初始化为零并且在方框1710c将总和计数器设置为0。在方框1710d和1710e,系统然后可以遍历每个外科手术。在方框1710f和1710g,对于这些外科手术中的每个,所有间隔(例如,在模型600中的训练和推断期间使用的相同大小的间隔)可以在外科手术中被考虑。具体地,方框1710g考虑程序中的间隔对。例如,参考图17D的外科手术任务分类,在时间间隔1和2处,外科手术可以正在执行任务1,而在时间3、4和5处,外科医生可以正在执行任务2。因此,方框1710g的第一次遍历可以考虑时间间隔1和2处的任务,方框1710g的第二次遍历可以考虑时间2和3处的任务等。在这些对中的每一对处,在方框1710h,系统可以基于该基准真值数据增长对应的转变矩阵条目并且在方框1710i增长SUM计数器。在考虑语料库中的所有外科手术和每个外科手术对连续时间间隔的任务分配对之后,在方框1710j,系统可以将矩阵的每个条目除以SUM计数器的值,并且在方框1710k输出结果。因此,矩阵再次反映语料库中每个转变出现的频率。
人们将理解,通常,特别是在图17D的时间之间的间隔短的情况下,很多任务的自转变将相当高。事实上,如图16D所示,在对角线上的值比不在对角线上的值大几个数量级。尽管如此,这些微小的差异可以为整体任务顺序产生准确结果。例如,在任务经常以特定排序执行的情况下,可以在这些值中捕获该排序,尽管它们的大小相对较小,但促进使用HMM进行平滑。
最后,一些实施例可以使用图17E的过程1715来推断发射概率(例如,在图16E的矩阵中)。此处,系统可以依赖于训练期间来自融合模型1305k的结果而不是图17A的外科手术(虽然模型1305k可以已经用图17A的数据训练)。具体地,在方框1715a,系统可以从融合模型接收预测结果并在方框1715b计算得到的混淆矩阵(通过将融合模型的预测与来自训练数据注释的真阳性值进行比较)。在方框1715c,归一化该混淆矩阵然后可以提供可以在HMM中使用的发射概率矩阵。
人们将理解,hmmlearnTM库可以用于执行这些操作中的各种操作。所描述的参数可以使用Expectation-Maximization(诸如Baum-Welch算法)从数据中学习。一些实施例可以利用关于来自专家的任务的主题知识来修改以这种方式确定的概率。
示例实施例实施结果
图18A是用于训练和验证实施例的示例实施方式的示例数据集的表。人类注释者在案例的每个部分辨识任务(即,每个案例可以由每秒任务注释标识符的时间序列表示,诸如[0,0,0,1,1,1,1,1,1,1,...,2,2,2,2,2,2,...,0,0,0,…,3,3,3])。每个数据集都可以具有其自己的对应的任务。在训练和推断测试之后,为每个任务的人类注释和ML预测之间的每个数据集计算召回精度值,并取平均以产生在图18B、图18C、图19A、图19B和图19C的条形图表中的平均召回精度。具体地,图18B是在“前列腺切除术”数据集上训练的实施例的示例实施方式模型上的各种任务的平均召回精度结果的条形图表。图18C是在“猪训练实验室”数据集上训练的实施例的示例实施方式模型上的各种任务的平均召回精度结果的条形图表。图19A是在“胆囊切除术”数据集上训练的实施例的示例实施方式模型上的各种任务的平均召回精度结果的条形图表。图19B是在“子宫切除术”数据集上训练的实施例的示例实施方式模型上的各种任务的平均召回精度结果的条形图表。图19C是在“腹股沟疝”数据集上训练的实施例的示例实施方式模型上的各种任务的平均召回精度结果的条形图表。
平均召回精度接近100的值意味着机器学习模型在辨识程序类型中的特定任务方面的完美性能。相反,接近0的值意味着较差性能。如图所示,性能取决于程序类型、任务和可用的训练数据量。
计算机系统
图20是如可以结合一些实施例使用的示例计算机系统的框图。计算系统2000可以包括互连件2005,其连接若干部件,诸如一个或多个处理器2010、一个或多个存储器部件2015、一个或多个输入/输出系统2020、一个或多个存储系统2025、一个或多个网络适配器2030等。互连件2005可以是例如一个或多个桥、迹线、总线(例如ISA、SCSI、PCI、I2C、Firewire总线等)、电线、适配器或控制器。
一个或多个处理器2010可以包括例如IntelTM处理器芯片、数学协处理器、图形处理器等。一个或多个存储器部件2015可以包括例如易失性存储器(RAM、SRAM、DRAM等)、非易失性存储器(EPROM、ROM、闪存等)或类似设备。一个或多个输入/输出设备2020可以包括例如显示设备、键盘、定点设备、触摸屏设备等。一个或多个存储设备2025可以包括例如基于云的存储、可移动USB存储、磁盘驱动器等。在一些系统中,存储器部件2015和存储设备2025可以是相同的部件。网络适配器2030可以包括例如有线网络接口、无线接口、蓝牙TM适配器、视线接口等。
人们将认识到,在一些实施例中可以存在部件中的仅一些、替代部件或者除了图20中描绘的部件之外的附加部件。类似地,在一些系统中,部件可以组合或用于双重目的。这些部件可以使用专用硬连线电路系统来实施,例如一个或多个ASIC、PLD、FPGA等。因此,一些实施例可以在例如用软件和/或固件编程的可编程电路系统(例如,一个或多个微处理器)中实施,或者完全在专用硬连线(非可编程)电路系统中实施,或者在这些形式的组合中实施。
在一些实施例中,数据结构和消息结构可以经由网络适配器2030经由数据传输介质(例如,通信链路上的信号)存储或传输。传输可以跨各种介质发生,例如互联网、局域网、广域网或点对点拨号连接等。因此,“计算机可读介质”可以包括计算机可读存储介质(例如,“非暂时性”计算机可读介质)和计算机可读传输介质。
一个或多个存储器部件2015和一个或多个存储设备2025可以是计算机可读存储介质。在一些实施例中,一个或多个存储器部件2015或一个或多个存储设备2025可以存储指令,这些指令可以执行或导致执行本文讨论的各种操作。在一些实施例中,存储在存储器2015中的指令可以被实施为软件和/或固件。这些指令可以用于在一个或多个处理器2010上执行操作以执行本文描述的过程。在一些实施例中,可以通过例如经由网络适配器2030从另一系统下载指令来将此类指令提供给一个或多个处理器2010。
评论
此处的附图和描述是说明性的。因此,说明书和附图均不应被解释为限制本公开。例如,标题或副标题只是为了方便读者和促进理解而提供的。因此,标题或副标题不应被解释为限制本公开的范围,例如,通过将以特定顺序呈现的特征分组或简单地组合在一起以促进理解。除非本文另有定义,否则本文使用的所有技术和科学术语具有与本公开所属领域的普通技术人员普遍理解的相同含义。在发生冲突的情况下,以本文档(包括此处提供的任何定义)为准。本文中一个或多个同义词的叙述不排除使用其他同义词。本说明书中任何地方的示例(包括本文讨论的任何术语的示例)的使用仅是说明性的并且不旨在进一步限制本公开或任何例示术语的范围和含义。
类似地,尽管在本文的附图中进行了特定表示,但本领域技术人员将理解,用于存储信息的实际数据结构可以与所示出的不同。例如,数据结构可以以不同的方式组织,可以包含比所示更多或更少的信息,可以压缩和/或加密等。附图和公开可以省略常见或众所周知的细节以避免混淆。类似地,附图可以描绘特定系列的操作以促进理解,这些操作只是更广泛的此类操作集合的示例。因此,人们将很容易认识到,通常可以使用附加的、替代的或更少的操作来实现一些流程图中描绘的相同目的或效果。例如,数据可以被加密,虽然没有在图中这样展现,项目可以被认为是不同的循环模式(“for”循环、“while”循环等),或者以不同的方式排序,以实现相同或相似的效果等。
本文提及“实施例”或“一个实施例”意味着本公开的至少一个实施例包括结合该实施例描述的特定特征、结构或特性。因此,本文各个地方的短语“在一个实施例中”不一定在那些各个地方中的每一个地方指代相同的实施例。单独的或替代的实施例可以不与其他实施例相互排斥。人们将认识到在不脱离实施例的范围的情况下可以进行各种修改。
Claims (51)
1.一种用于确定外科手术数据的外科手术任务分类的计算机实施的方法,所述方法包括:
将第一机器学习模型应用于从第一外科手术数据集导出的特征以产生第一模型输出;
将第二机器学习模型应用于第二外科手术数据集以产生第二模型输出;以及
基于所述第一模型输出和所述第二模型输出,确定归并的任务分类预测。
2.根据权利要求1所述的计算机实施的方法,其中,
所述第一数据集的类型是视觉图像帧数据、操作者侧运动学数据、患者侧运动学数据或系统事件数据,
所述第一模型被配置为接收所述第一数据集的类型的数据,
所述第二数据集的类型是视觉图像帧数据、操作者侧运动学数据、患者侧运动学数据或系统事件数据,
所述第二模型被配置为接收所述第二数据集的类型的数据,并且其中,
所述第一数据集的类型不同于所述第二数据集的类型。
3.根据权利要求2所述的计算机实施的方法,所述方法进一步包括:
将第三机器学习模型应用于第三外科手术数据集以产生第三模型输出;以及
将第四机器学习模型应用于第四外科手术数据集以产生第四模型输出,并且其中,
基于所述第一模型输出和所述第二模型输出确定所述归并的任务分类预测包括基于所述第一模型输出、所述第二模型输出、所述第三模型输出和所述第四模型输出确定所述归并的任务分类预测。
4.根据权利要求3所述的计算机实施的方法,其中,
所述第一外科手术数据集的类型是视频帧图像数据,
所述第二外科手术数据集的类型是操作者侧运动学数据,
所述第三外科手术数据集的类型是患者侧运动学数据,
所述第三机器学习模型被配置为接收患者侧运动学数据,
所述第四外科手术数据集的类型是系统事件数据,并且其中,
所述第四机器学习模型被配置为接收系统事件数据。
5.根据权利要求4所述的计算机实施的方法,其中所述第一机器学习模型包括:
多层卷积神经网络,所述多层卷积神经网络的输入被配置为与至少一个视频帧特征输入通信;
一维卷积神经网络,所述一维卷积神经网络的输入被配置为与来自所述多层卷积神经网络的输出通信;以及
递归神经网络,所述递归神经网络的输入被配置为与来自所述一维卷积神经网络的输出通信。
6.根据权利要求5所述的计算机实施的方法,其中所述一维卷积神经网络的所述输入被配置为接收来自一个或多个多层卷积神经网络的输出的连结。
7.根据权利要求5或权利要求6所述的计算机实施的方法,其中所述第一机器学习模型的所述多层卷积神经网络包括VGG19神经网络。
8.根据权利要求4所述的计算机实施的方法,其中,
所述第二机器学习模型包括一个或多个神经网络,
所述第三机器学习模型包括一个或多个神经网络,并且其中
所述第二机器学习模型和所述第三机器学习模型的所述一个或多个神经网络中的每一个包括:
一维卷积层;以及
递归神经网络层。
9.根据权利要求4或权利要求8所述的计算机实施的方法,其中所述第四机器学习模型包括:
一个或多个基础机器学习模型;以及
一个或多个融合机器学习模型。
10.根据权利要求9所述的计算机实施的方法,其中所述第四基础机器学习模型的所述一个或多个基础机器学习模型包括逻辑回归分类器、随机森林或神经网络中的至少一个。
11.根据权利要求10所述的计算机实施的方法,其中所述第四模型的所述一个或多个融合机器学习模型包括随机森林或极端随机树中的至少一个。
12.根据权利要求4、权利要求5或权利要求8所述的计算机实施的方法,所述方法进一步包括:
将所述第一机器学习模型、所述第二机器学习模型、所述第三机器学习模型或所述第四机器学习模型中的至少一个的输出用虚拟值替换到所述归并的分类融合机器学习模型,并且其中
所述归并的分类融合机器学习模型被配置为部分地基于所述虚拟值产生所述外科手术数据的所述预测分类。
13.根据权利要求4所述的计算机实施的方法,所述方法进一步包括:
对来自所述归并的分类融合机器学习模型的所述外科手术数据的所述归并的任务分类预测应用平滑操作。
14.根据权利要求13所述的计算机实施的方法,其中,
所述平滑操作包括应用程序或隐马尔可夫模型滤波器,
所述隐马尔可夫模型的状态对应于外科手术任务,并且其中,
所述隐马尔可夫模型的每个状态与开始概率、转变概率和发射概率相关联。
15.根据权利要求14所述的计算机实施的方法,所述方法进一步包括:
确定与所述归并的任务分类预测相关联的不确定性。
16.一种非暂时性计算机可读介质,其包括被配置为致使计算机系统执行方法的指令,所述方法包括:
将第一机器学习模型应用于从第一外科手术数据集导出的特征以产生第一模型输出;
将第二机器学习模型应用于第二外科手术数据集以产生第二模型输出;以及
基于所述第一模型输出和所述第二模型输出,确定归并的任务分类预测。
17.根据权利要求16所述的非暂时性计算机可读介质,其中,
所述第一数据集的类型是视觉图像帧数据、操作者侧运动学数据、患者侧运动学数据或系统事件数据,
所述第一模型被配置为接收所述第一数据集的类型的数据,
所述第二数据集的类型是视觉图像帧数据、操作者侧运动学数据、患者侧运动学数据或系统事件数据,
所述第二模型被配置为接收所述第二数据集的类型的数据,并且其中,
所述第一数据集的类型不同于所述第二数据集的类型。
18.根据权利要求17所述的非暂时性计算机可读介质,所述方法进一步包括:
将第三机器学习模型应用于第三外科手术数据集以产生第三模型输出;以及
将第四机器学习模型应用于第四外科手术数据集以产生第四模型输出,并且其中,
基于所述第一模型输出和所述第二模型输出确定所述归并的任务分类预测包括基于所述第一模型输出、所述第二模型输出、所述第三模型输出和所述第四模型输出确定所述归并的任务分类预测。
19.根据权利要求18所述的非暂时性计算机可读介质,其中,
所述第一外科手术数据集的类型是视频帧图像数据,
所述第二外科手术数据集的类型是操作者侧运动学数据,
所述第三外科手术数据集的类型是患者侧运动学数据,
所述第三机器学习模型被配置为接收患者侧运动学数据,
所述第四外科手术数据集的类型是系统事件数据,并且其中,
所述第四机器学习模型被配置为接收系统事件数据。
20.根据权利要求19所述的非暂时性计算机可读介质,其中所述第一机器学习模型包括:
多层卷积神经网络,所述多层卷积神经网络的输入被配置为与至少一个视频帧特征输入通信;
一维卷积神经网络,所述一维卷积神经网络的输入被配置为与来自所述多层卷积神经网络的输出通信;以及
递归神经网络,所述递归神经网络的输入被配置为与来自所述一维卷积神经网络的输出通信。
21.根据权利要求20所述的非暂时性计算机可读介质,其中所述一维卷积神经网络的所述输入被配置为接收来自一个或多个多层卷积神经网络的输出的连结。
22.根据权利要求20或权利要求21所述的非暂时性计算机可读介质,其中所述第一机器学习模型的所述多层卷积神经网络包括VGG19神经网络。
23.根据权利要求19所述的非暂时性计算机可读介质,其中,
所述第二机器学习模型包括一个或多个神经网络,
所述第三机器学习模型包括一个或多个神经网络,并且其中
所述第二机器学习模型和所述第三机器学习模型的所述一个或多个神经网络中的每一个包括:
一维卷积层;以及
递归神经网络层。
24.根据权利要求19或权利要求23所述的非暂时性计算机可读介质,其中所述第四机器学习模型包括:
一个或多个基础机器学习模型;以及
一个或多个融合机器学习模型。
25.根据权利要求24所述的非暂时性计算机可读介质,其中所述第四基础机器学习模型所述一个或多个基础机器学习模型包括逻辑回归分类器、随机森林或神经网络中的至少一个。
26.根据权利要求25所述的非暂时性计算机可读介质,其中所述第四模型的所述一个或多个融合机器学习模型包括随机森林或极端随机树中的至少一个。
27.根据权利要求19、权利要求20或权利要求23所述的非暂时性计算机可读介质,所述方法进一步包括:
将所述第一机器学习模型、所述第二机器学习模型、所述第三机器学习模型或所述第四机器学习模型中的至少一个的输出用虚拟值替换到所述归并的分类融合机器学习模型,并且其中
所述归并的分类融合机器学习模型被配置为部分地基于所述虚拟值产生所述外科手术数据的所述预测分类。
28.根据权利要求19所述的非暂时性计算机可读介质,所述方法进一步包括:
对来自所述归并的分类融合机器学习模型的所述外科手术数据的所述归并的任务分类预测应用平滑操作。
29.根据权利要求2813所述的非暂时性计算机可读介质,其中,
所述平滑操作包括应用程序或隐马尔可夫模型滤波器,
所述隐马尔可夫模型的状态对应于外科手术任务,并且其中,
所述隐马尔可夫模型的每个状态与开始概率、转变概率和发射概率相关联。
30.根据权利要求29所述的非暂时性计算机可读介质,所述方法进一步包括:
确定与所述归并的任务分类预测相关联的不确定性。
31.一种计算机系统,其包括:
至少一个处理器;
至少一个存储器,所述至少一个存储器包括被配置为致使所述计算机系统执行方法的指令,所述方法包括:
将第一机器学习模型应用于从第一外科手术数据集导出的特征以产生第一模型输出;
将第二机器学习模型应用于第二外科手术数据集以产生第二模型输出;以及
基于所述第一模型输出和所述第二模型输出,确定归并的任务分类预测。
32.根据权利要求31所述的计算机系统,其中,
所述第一数据集的类型是视觉图像帧数据、操作者侧运动学数据、患者侧运动学数据或系统事件数据,
所述第一模型被配置为接收所述第一数据集的类型的数据,
所述第二数据集的类型是视觉图像帧数据、操作者侧运动学数据、患者侧运动学数据或系统事件数据,
所述第二模型被配置为接收所述第二数据集的类型的数据,并且其中,
所述第一数据集的类型不同于所述第二数据集的类型。
33.根据权利要求32所述的计算机系统,所述方法进一步包括:
将第三机器学习模型应用于第三外科手术数据集以产生第三模型输出;以及
将第四机器学习模型应用于第四外科手术数据集以产生第四模型输出,并且其中,
基于所述第一模型输出和所述第二模型输出确定所述归并的任务分类预测包括基于所述第一模型输出、所述第二模型输出、所述第三模型输出和所述第四模型输出确定所述归并的任务分类预测。
34.根据权利要求33所述的计算机系统,其中,
所述第一外科手术数据集的类型是视频帧图像数据,
所述第二外科手术数据集的类型是操作者侧运动学数据,
所述第三外科手术数据集的类型是患者侧运动学数据,
所述第三机器学习模型被配置为接收患者侧运动学数据,
所述第四外科手术数据集的类型是系统事件数据,并且其中,
所述第四机器学习模型被配置为接收系统事件数据。
35.根据权利要求34所述的计算机系统,其中所述第一机器学习模型包括:
多层卷积神经网络,所述多层卷积神经网络的输入被配置为与至少一个视频帧特征输入通信;
一维卷积神经网络,所述一维卷积神经网络的输入被配置为与来自所述多层卷积神经网络的输出通信;以及
递归神经网络,所述递归神经网络的输入被配置为与来自所述一维卷积神经网络的输出通信。
36.根据权利要求35所述的计算机系统,其中所述一维卷积神经网络的所述输入被配置为接收来自一个或多个多层卷积神经网络的输出的连结。
37.根据权利要求35或权利要求36所述的计算机系统,其中所述第一机器学习模型的所述多层卷积神经网络包括VGG19神经网络。
38.根据权利要求34所述的计算机系统,其中,
所述第二机器学习模型包括一个或多个神经网络,
所述第三机器学习模型包括一个或多个神经网络,并且其中
所述第二机器学习模型和所述第三机器学习模型的所述一个或多个神经网络中的每一个包括:
一维卷积层;以及
递归神经网络层。
39.根据权利要求34或权利要求38所述的计算机系统,其中所述第四机器学习模型包括:
一个或多个基础机器学习模型;以及
一个或多个融合机器学习模型。
40.根据权利要求39所述的计算机系统,其中所述第四基础机器学习模型所述一个或多个基础机器学习模型包括逻辑回归分类器、随机森林或神经网络中的至少一个。
41.根据权利要求40所述的计算机系统,其中所述第四模型的所述一个或多个融合机器学习模型包括随机森林或极端随机树中的至少一个。
42.根据权利要求34、权利要求35或权利要求38所述的计算机系统,所述方法进一步包括:
将所述第一机器学习模型、所述第二机器学习模型、所述第三机器学习模型或所述第四机器学习模型中的至少一个的输出用虚拟值替换到所述归并的分类融合机器学习模型,并且其中
所述归并的分类融合机器学习模型被配置为部分地基于所述虚拟值产生所述外科手术数据的所述预测分类。
43.根据权利要求34所述的计算机系统,所述方法进一步包括:
对来自所述归并的分类融合机器学习模型的所述外科手术数据的所述归并的任务分类预测应用平滑操作。
44.根据权利要求43所述的计算机系统,其中,
所述平滑操作包括应用程序或隐马尔可夫模型滤波器,
所述隐马尔可夫模型的状态对应于外科手术任务,并且其中,
所述隐马尔可夫模型的每个状态与开始概率、转变概率和发射概率相关联。
45.根据权利要求44所述的计算机系统,所述方法进一步包括:
确定与所述归并的任务分类预测相关联的不确定性。
46.一种用于确定外科手术任务分类的计算机实施的方法,所述方法包括:
接收在外科手术期间用可视化工具捕获的视频图像帧;
接收在所述外科手术期间捕获的运动学数据;
接收在所述外科手术期间捕获的系统事件数据;
通过将所述多个视频帧应用于第一机器学习模型来生成第一任务分类集,
通过将所述运动学数据应用于第二机器学习模型来生成第二任务分类集;
通过将所述系统事件数据应用于第三机器学习模型来生成第三任务分类集;
通过将所述第一任务分类集、所述第二任务分类集和所述第三任务分类集应用于融合机器学习模型来生成第四任务分类集;以及
平滑所述第四任务分类集以产生与所述外科手术中的时间相关联的任务分类集。
47.根据权利要求46所述的计算机实施的方法,其中,
所述第一机器学习模型包括一个或多个多层卷积神经网络,其中每个多层卷积神经网络的输入被配置为与来自视频图像帧的特征通信,
所述第二机器学习模型包括序列层,所述序列层包括卷积层和LSTM层,并且其中
所述第三机器学习模型包括集成模型,所述集成模型包括至少一个基础模型和至少一个融合模型。
48.一种非暂时性计算机可读介质,其包括被配置为致使计算机系统执行方法的指令,所述方法包括:
接收在外科手术期间用可视化工具捕获的视频图像帧;
接收在所述外科手术期间捕获的运动学数据;
接收在所述外科手术期间捕获的系统事件数据;
通过将所述多个视频帧应用于第一机器学习模型来生成第一任务分类集,
通过将所述运动学数据应用于第二机器学习模型来生成第二任务分类集;
通过将所述系统事件数据应用于第三机器学习模型来生成第三任务分类集;
通过将所述第一任务分类集、所述第二任务分类集和所述第三任务分类集应用于融合机器学习模型来生成第四任务分类集;以及
平滑所述第四任务分类集以产生与所述外科手术中的时间相关联的任务分类集。
49.根据权利要求48所述的非暂时性计算机可读介质,其中,
所述第一机器学习模型包括一个或多个多层卷积神经网络,其中每个多层卷积神经网络的输入被配置为与来自视频图像帧的特征通信,
所述第二机器学习模型包括序列层,所述序列层包括卷积层和LSTM层,并且其中
所述第三机器学习模型包括集成模型,所述集成模型包括至少一个基础模型和至少一个融合模型。
50.一种计算机系统,其包括:
至少一个处理器;
至少一个存储器,所述至少一个存储器包括被配置为致使所述计算机系统执行方法的指令,所述方法包括:
接收在外科手术期间用可视化工具捕获的视频图像帧;
接收在所述外科手术期间捕获的运动学数据;
接收在所述外科手术期间捕获的系统事件数据;
通过将所述多个视频帧应用于第一机器学习模型来生成第一任务分类集,
通过将所述运动学数据应用于第二机器学习模型来生成第二任务分类集;
通过将所述系统事件数据应用于第三机器学习模型来生成第三任务分类集;
通过将所述第一任务分类集、所述第二任务分类集和所述第三任务分类集应用于融合机器学习模型来生成第四任务分类集;以及
平滑所述第四任务分类集以产生与所述外科手术中的时间相关联的任务分类集。
51.根据权利要求50所述的计算机系统,其中,
所述第一机器学习模型包括一个或多个多层卷积神经网络,其中每个多层卷积神经网络的输入被配置为与来自视频图像帧的特征通信,
所述第二机器学习模型包括序列层,所述序列层包括卷积层和LSTM层,并且其中
所述第三机器学习模型包括集成模型,所述集成模型包括至少一个基础模型和至少一个融合模型。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US202063116907P | 2020-11-22 | 2020-11-22 | |
| US63/116,907 | 2020-11-22 | ||
| PCT/US2021/059954 WO2022109177A1 (en) | 2020-11-22 | 2021-11-18 | Systems and methods for surgical data classification |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN116670726A true CN116670726A (zh) | 2023-08-29 |
Family
ID=78827859
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202180088966.3A Pending CN116670726A (zh) | 2020-11-22 | 2021-11-18 | 用于外科手术数据分类的系统和方法 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US20230326193A1 (zh) |
| EP (1) | EP4248425A1 (zh) |
| CN (1) | CN116670726A (zh) |
| WO (1) | WO2022109177A1 (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118044883A (zh) * | 2024-01-16 | 2024-05-17 | 北京长木谷医疗科技股份有限公司 | 智能导航手术机械臂路径规划方法及装置 |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116269828A (zh) * | 2022-09-09 | 2023-06-23 | 杭州三坛医疗科技有限公司 | 一种自动配准方法、装置、电子设备及介质 |
| CN115359873B (zh) * | 2022-10-17 | 2023-03-24 | 成都与睿创新科技有限公司 | 用于手术质量的控制方法 |
| US20240221937A1 (en) * | 2022-12-30 | 2024-07-04 | Cilag Gmbh International | Method for advanced algorithm support |
| US12475978B2 (en) | 2022-12-30 | 2025-11-18 | Cilag GmbH Intenational | Adaptable operation range for a surgical device |
| EP4521365A1 (en) * | 2023-09-06 | 2025-03-12 | Carl Zeiss Meditec AG | Determining types of microsurgical interventions |
| CN119782703A (zh) * | 2024-12-12 | 2025-04-08 | 福州大学 | 一种面向视觉-触觉-动觉联合感知的物体识别方法 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110026840A1 (en) * | 2009-07-28 | 2011-02-03 | Samsung Electronics Co., Ltd. | System and method for indoor-outdoor scene classification |
| US10758309B1 (en) * | 2019-07-15 | 2020-09-01 | Digital Surgery Limited | Methods and systems for using computer-vision to enhance surgical tool control during surgeries |
-
2021
- 2021-11-18 EP EP21823440.9A patent/EP4248425A1/en active Pending
- 2021-11-18 WO PCT/US2021/059954 patent/WO2022109177A1/en not_active Ceased
- 2021-11-18 CN CN202180088966.3A patent/CN116670726A/zh active Pending
- 2021-11-18 US US18/035,095 patent/US20230326193A1/en active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110026840A1 (en) * | 2009-07-28 | 2011-02-03 | Samsung Electronics Co., Ltd. | System and method for indoor-outdoor scene classification |
| US10758309B1 (en) * | 2019-07-15 | 2020-09-01 | Digital Surgery Limited | Methods and systems for using computer-vision to enhance surgical tool control during surgeries |
Non-Patent Citations (2)
| Title |
|---|
| JAVED IMRAN等: "Evaluating fusion of RGB-D and inertial sensors for multimodal human action recognition", JOURNAL OF AMBIENT INTELLIGENCE AND HUMANIZED COMPUTING, vol. 11, 12 February 2019 (2019-02-12), pages 189 - 208, XP036983188, DOI: 10.1007/s12652-019-01239-9 * |
| MEHRDAD J. BANI等: "A New Classification Approach for Robotic Surgical Tasks Recognition", ARXIV, 11 July 2017 (2017-07-11), pages 1 - 6 * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118044883A (zh) * | 2024-01-16 | 2024-05-17 | 北京长木谷医疗科技股份有限公司 | 智能导航手术机械臂路径规划方法及装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20230326193A1 (en) | 2023-10-12 |
| WO2022109177A1 (en) | 2022-05-27 |
| EP4248425A1 (en) | 2023-09-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN116670726A (zh) | 用于外科手术数据分类的系统和方法 | |
| KR20230113600A (ko) | 수술 능력을 평가하기 위한 시스템들 및 방법들 | |
| US20230316756A1 (en) | Systems and methods for surgical data censorship | |
| US20240169579A1 (en) | Prediction of structures in surgical data using machine learning | |
| Ahmidi et al. | A dataset and benchmarks for segmentation and recognition of gestures in robotic surgery | |
| Tao et al. | Surgical gesture segmentation and recognition | |
| Twinanda | Vision-based approaches for surgical activity recognition using laparoscopic and RBGD videos | |
| US20230316545A1 (en) | Surgical task data derivation from surgical video data | |
| CN112614571B (zh) | 神经网络模型的训练方法、装置、图像分类方法和介质 | |
| Zhou et al. | Early prediction for physical human robot collaboration in the operating room | |
| Rodrigues et al. | Surgical tool datasets for machine learning research: a survey | |
| Thannoon et al. | Detection of deception using facial expressions based on different classification algorithms | |
| CN116710972A (zh) | 用于外科手术识别的系统和方法 | |
| Quintana et al. | Improving retail efficiency through sensing technologies: A survey | |
| Sarikaya et al. | Joint surgical gesture and task classification with multi-task and multimodal learning | |
| Xi et al. | Forest graph convolutional network for surgical action triplet recognition in endoscopic videos | |
| Bature et al. | Boosted gaze gesture recognition using underlying head orientation sequence | |
| De Rossi et al. | A multi-modal learning system for on-line surgical action segmentation | |
| Mici et al. | Recognition and prediction of human-object interactions with a self-organizing architecture | |
| Freeman | Feature selection and hierarchical classifier design with applications to human motion recognition. | |
| Lea | Multi-modal models for fine-grained action segmentation in situated environments | |
| Qin | Autonomous Temporal Understanding and State Estimation during Robot-Assisted Surgery | |
| Stauder | Context awareness for the operating room of the future | |
| Czempiel | Symphony of Time: Temporal Deep Learning for Surgical Activity Recognition | |
| Mohd et al. | Integrated Control of Robotic Arm through EMG and Speech: Decision-Driven Multimodal Data Fusion |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination |