JP2023552666A - アクションセンターを介した人工知能(ai)/機械学習(ml)モデルの補足、ai/mlモデル再訓練ハードウェア制御、およびai/mlモデル設定管理 - Google Patents
アクションセンターを介した人工知能(ai)/機械学習(ml)モデルの補足、ai/mlモデル再訓練ハードウェア制御、およびai/mlモデル設定管理 Download PDFInfo
- Publication number
- JP2023552666A JP2023552666A JP2021577267A JP2021577267A JP2023552666A JP 2023552666 A JP2023552666 A JP 2023552666A JP 2021577267 A JP2021577267 A JP 2021577267A JP 2021577267 A JP2021577267 A JP 2021577267A JP 2023552666 A JP2023552666 A JP 2023552666A
- Authority
- JP
- Japan
- Prior art keywords
- model
- requested
- action center
- server
- processor
- 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
- 238000010801 machine learning Methods 0.000 title claims abstract description 275
- 238000013473 artificial intelligence Methods 0.000 title claims abstract description 268
- 230000009471 action Effects 0.000 title claims abstract description 79
- 230000009469 supplementation Effects 0.000 title description 2
- 238000012552 review Methods 0.000 claims abstract description 29
- 238000004801 process automation Methods 0.000 claims abstract description 5
- 238000000034 method Methods 0.000 claims description 37
- 230000000694 effects Effects 0.000 claims description 32
- 238000012986 modification Methods 0.000 claims description 26
- 230000004048 modification Effects 0.000 claims description 26
- 238000012545 processing Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 18
- 238000012544 monitoring process Methods 0.000 claims description 13
- 238000012549 training Methods 0.000 claims description 8
- 230000006872 improvement Effects 0.000 claims description 3
- 238000012937 correction Methods 0.000 abstract description 5
- 239000013589 supplement Substances 0.000 abstract description 5
- 239000004020 conductor Substances 0.000 description 23
- 230000008569 process Effects 0.000 description 22
- 239000003795 chemical substances by application Substances 0.000 description 17
- 238000004891 communication Methods 0.000 description 16
- 238000007726 management method Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 12
- 230000008901 benefit Effects 0.000 description 10
- 230000015654 memory Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 238000011161 development Methods 0.000 description 5
- 238000012015 optical character recognition Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 230000001502 supplementing effect Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 241000282412 Homo Species 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 230000002688 persistence Effects 0.000 description 2
- 238000010897 surface acoustic wave method Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012634 optical imaging Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 210000001525 retina Anatomy 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/096—Transfer learning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Hardware Design (AREA)
- Fuzzy Systems (AREA)
- Computer Graphics (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- User Interface Of Digital Computer (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
アクションセンターを介して人工知能(AI)/機械学習(ML)モデルを補足し、AI/MLモデル再訓練ハードウェア制御を提供し、AI/MLモデル設定管理を提供することが開示されている。AI/MLモデルは、AI/MLモデルがロボティックプロセスオートメーション(RPA)ロボットによって呼び出され得るホスティングインフラストラクチャ上に展開され得る。AI/MLモデルの性能がしきい値を下回ると、AI/MLモデル予測の結果および他のデータがアクションセンターに送信され、そこで人間は適切なアプリケーションを使用してデータをレビューし、予測を承認するか、または予測が誤っている場合は修正を提供する。次いで、このアクションセンター承認結果は、AI/MLモデルからの予測の代わりに使用されるRPAロボットに送信される。
Description
(関連出願の相互参照)
本出願は、2021年1月22日に出願された米国特許出願第17/155,209号の利益を主張し、上記出願は、2020年12月11日に出願されたインド特許出願第202011053926号の利益を主張する。これらの先願の主題は、その全体が参照により本明細書に組み込まれる。
本出願は、2021年1月22日に出願された米国特許出願第17/155,209号の利益を主張し、上記出願は、2020年12月11日に出願されたインド特許出願第202011053926号の利益を主張する。これらの先願の主題は、その全体が参照により本明細書に組み込まれる。
本発明は、一般に、人工知能(AI)および機械学習(ML)に関し、より具体的には、アクションセンターを介してAI/MLモデルを補足すること、AI/MLモデル再訓練ハードウェア制御、およびAI/MLモデル設定管理に関する。
AI/MLモデルは、定義が困難であり、変動性が高く、確率的手法を必要とするステップを自動化するために、ロボティックプロセスオートメーション(RPA)において有益であり得る。RPAロボットによって呼び出すことができるAI/MLモデルは、適切なインフラストラクチャ上に展開することができる。例えば、RPAロボットによって呼び出されると、そのようなAI/MLモデルは、結果(例えば、予測)および信頼度を返すことができる。しかしながら、経時的に、AI/MLモデルは、データおよび/またはモデルドリフトのために精度が低下する可能性がある。
通常、AI/MLモデルの精度が低下すると、ラベル化された訓練データが取得され、その性能を改善する試みでAI/MLモデルを再訓練するために使用される。しかしながら、ラベル付き訓練データを取得するプロセスは高価で時間がかかる可能性があり、再訓練には少なからぬ時間がかかる可能性があり、再訓練されたAI/MLモデルが提供されるまでAI/MLモデルは所望よりも正確ではない。また、どのハードウェアが再訓練に使用されるかに対する制御はない。したがって、AI/MLモデルの再訓練および管理に対する改善されたアプローチが有益であり得る。
本発明の特定の実施形態は、現在のRPA技術によってまだ完全に識別、認識、または解決されていない当技術分野の問題および必要性に対するソリューションを提供することができる。例えば、本発明のいくつかの実施形態は、アクションセンターを介したAI/MLモデルの補足、AI/MLモデル再訓練ハードウェア制御、およびAI/MLモデル設定管理に関する。
一実施形態では、システムは、1つまたは複数のAI/MLモデルを含むか、あるいは1つまたは複数のAI/MLモデルにアクセスするサーバーを含む。システムはまた、遂行中に1つまたは複数のAI/MLモデルのうちの少なくとも1つを呼び出すように構成された1つまたは複数のRPAロボットと、アクションセンターと、を含む。サーバーは、1つまたは複数のAI/MLモデルの性能を監視し、1つまたは複数のAI/MLモデルのうちの1つのAI/MLモデルを遂行するために、1つまたは複数のRPAロボットのうちの呼び出しRPAロボットから要求を受信するように構成される。要求されたAI/MLモデルの性能が、ある期間にわたって、または要求されたAI/MLモデルの実行回数にわたって、初めて1つまたは複数の性能しきい値を下回る場合に、サーバーは、要求されたAI/MLモデルの遂行の結果をレビューするために、アクションセンターにレビュー要求を送信するように構成される。アクションセンターは、結果が正しいという指示をアクションセンターアプリケーションから受信するか、または修正された結果をアクションセンターアプリケーションから受信するように構成される。結果が正しくない場合に、アクションセンターはまた、アクションセンターから呼び出しRPAロボットか、サーバーか、またはその両方に修正された結果を提供するように構成される。
別の実施形態では、コンピュータにより実施される方法は、アクションセンターアプリケーションにより、AI/MLモデルからの結果をレビューする要求を受信するステップと、アクションセンターアプリケーションにより、AI/MLモデルにより解析された画像と、結果についての1つまたは複数のパラメータと、をディスプレイに表示させるステップと、を含む。1つまたは複数のパラメータは、AI/MLモデルによる予測を含む。コンピュータにより実施される方法はまた、アクションセンターアプリケーションによって、1つまたは複数のパラメータのうちの少なくとも1つに対する修正を受信するステップと、AI/MLモデルの再訓練のために修正をサーバーに送信するステップと、を含む。
さらに別の実施形態では、非一時的コンピュータ可読媒体がコンピュータプログラムを格納する。コンピュータプログラムは、少なくとも1つのプロセッサに、RPAロボットによって要求されたAI/MLモデルを遂行させ、AI/MLモデルの性能を監視させるように構成される。AI/MLモデルの性能が、ある期間にわたって、またはAI/MLモデルの実行回数にわたって、初めて1つまたは複数の性能しきい値を下回る場合に、コンピュータプログラムは、少なくとも1つのプロセッサに、AI/MLモデルの遂行の結果をレビューするためにアクションセンターにレビュー要求を送信させるように構成される。
本発明の特定の実施形態の利点が容易に理解されるように、上記で簡単に説明した本発明のより具体的な説明は、添付の図面に示されている特定の実施形態を参照することによって提供される。これらの図面は、本発明の典型的な実施形態のみを示しており、したがってその範囲を限定するものと見なされるべきではないことを理解されたいが、本発明は、添付の図面を使用することによって追加の具体性および詳細を伴って説明および説明される。
別段の指示がない限り、同様の符号は、添付の図面を通して一貫して対応する特徴を示す。
いくつかの実施形態は、アクションセンターを介したAI/MLモデルの補足、AI/MLモデル再訓練ハードウェア制御、およびAI/MLモデル設定管理に関する。AI/MLモデルは、AI/MLモデルがRPAロボットによって呼び出され得るホスティングインフラストラクチャ上に展開され得る。例えば、いくつかの実施形態では、顧客は、RPAサービスプロバイダによってホストされたシステムにAI/MLモデルを展開することができ、これらのホストされたAI/MLモデルは、顧客のRPAロボットにおける関連するアクティビティによって呼び出され得る。しかしながら、特定の実施形態では、顧客は、自身のシステム上で自身のAI/MLモデルをホストすることができる。
AI/MLモデルホスティングシステムは、そこでホストされるAI/MLモデルの性能を監視することができる。AI/MLモデルの性能は、初めてしきい値を下回るか、または何らかの一貫性(例えば、特定の期間にわたる、AI/MLモデルの特定の実行回数にわたる平均性能など)を伴って低下し得る。例えば、所与のAI/MLモデルのターゲット信頼度または予想される信頼度は少なくとも90%であり得るが、信頼度は89%、85%、70%などに低下する可能性がある。これが発生すると、いくつかの実施形態では、AI/MLモデル遂行の結果(例えば、予測)および他のデータ(例えば、AI/MLモデルが解析していたユーザーインターフェース(UI)のスクリーンショット、AI/MLモデルが処理していた文書、ユーザーインタラクションのシーケンスに関連するデータ、パターンについて解析されていたデータベース内のデータなど)がアクションセンターに送信され、人間が適切なアプリケーションを使用してデータをレビューし、予測を承認するか、または予測が間違っている場合は修正を提供する。いくつかの実施形態では、アクションセンターアプリケーションは、アクションセンターユーザーがAI/MLモデルが解析していた画像およびAI/MLモデルが提供した値を見るヒューマンインザループウェブアプリケーションであってもよい。例えば、図7を参照されたい。次いで、このアクションセンター承認結果(すなわち、AI/MLモデルによって予測された承認結果または修正結果)は、AI/MLモデルからの予測の代わりに使用されるRPAロボットに送信される。そのような手法は、AI/MLモデルがターゲット信頼度を下回っても、所望の精度を実現する再訓練されたAI/MLモデルが提供され得るまで、迅速に正確な予測を提供することができる。しかしながら、特定の実施形態では、すべてのAI/MLモデル予測は、人間によるレビューのためにアクションセンターに送信されてもよい。
いくつかの実施形態では、AI/MLモデルからの予測はRPAロボットに送信され、RPAロボットは次に、性能しきい値が満たされたかどうかを判定し、満たされていない場合はアクションセンターの人間のレビュアーによるレビューのためにデータを送信する。特定の実施形態では、AI/MLモデルをホストする、および/または呼び出すコンピューティングシステムは、この機能を実行する。次いで、人間によるレビューの結果は、ホイストおよび/または呼び出しコンピューティングシステムに送信され、RPAロボットに送信されてもよいし、アクションセンターからRPAロボットに直接送信されてもよい。
いくつかの実施形態では、ロジックは、RPAロボットの呼び出しアクティビティ、またはアクションセンターからの結果をRPAロボットに待機させる何らかの他のアクティビティに含まれてもよい。例えば、UI内のグラフィカル要素を見つけるように訓練されたAI/MLモデルが、所与のグラフィカル要素がターゲット信頼度を下回る信頼度を有するボタンであるという予測を返す場合、RPAロボットはアクションセンターが応答するのを待つことができる。いくつかの実施形態では、RPAロボットは、アクションセンターによる人間のレビューのためにデータを送信することができる。特定の実施形態では、このデータは、AI/MLモデルをホストするサーバーによって、AI/MLモデル自体によって、AI/MLモデルおよび/またはRPAロボットから通信を受信することができる別のコンピューティングシステムなどによって送信されてもよい。
いくつかの実施形態では、RPAロボットは、アクションセンターからの結果の確認のために一定時間待機するように構成されてもよい。その期間内に結果が受信されない場合、RPAロボットは、AI/MLモデルからの予測を使用してその動作を継続しようとし、そのワークフロー内の関連するアクティビティをスキップし、デフォルトのアクションを実行するなどを試みることができる。特定の実施形態では、結果がその期間内に受信されないか、または動作を継続しようとする試みが失敗した場合、RPAロボットは例外をスローするか、またはエラーメッセージを提供することができる。
非限定的な例として、請求書が合計価格フィールドおよびベンダーフィールドを有する場合を考える。AI/MLモデルのターゲット信頼度は90%であるが、AI/MLモデルは、89%の信頼度でこれらのグラフィカル要素の値を識別する。UIのスクリーンショットはアクションセンターに送信されてもよく、その結果、人間のレビュー者は、AI/MLモデルによって提供されるベンダー名および価格が正確であることを確認し、そうである場合には確認を送信し、予測が正しくない場合には修正を送信することができる。
アクションセンターの人間のレビュアーによって行われた修正および彼らがレビューした関連データは、AI/MLモデルのその後の再訓練のためにデータベースに格納され得る。修正は、レビュアーのコンピューティングシステム、呼び出しRPAロボット、AI/MLモデルをホストするサーバーなどによって押し出されてもよい。これは、呼び出しRPAロボットに正確な結果を提供しながら、再訓練のためにデータをプッシュするフィードバックループを提供する。再訓練は、一定量の訓練データが受信された後に、一定期間が経過した後に、一定数の修正が受信された後などに実行されてもよい。再訓練されたAI/MLモデルがターゲット信頼度よりも高い、または少なくとも現在展開されているAI/MLモデルよりも高い典型的な信頼度を有する場合、再訓練されたバージョンは、現在展開されているAI/MLモデルの代わりに展開されて使用され、現在展開されているAI/MLモデルと連携して使用されて、2つから最良の予測を取得することなどができる。
いくつかの実施形態では、AI/MLモデルは、単一の画像およびラッパーとしてアップロードされ、Docker(商標)画像としてKubernetes(商標)クラスタに展開され得る。提供される値(例えば、フラグまたは環境変数)に基づいて、コンテナは、AI/MLモデルを呼び出し、それらの遂行の結果を返すサービング予測呼び出し元として機能することができる。あるいは、コンテナは、AI/MLモデルを訓練するために使用されてもよい。
いくつかの実施形態では、再訓練のためにグラフィックスプロセッシングユニット(GPU)、中央プロセッシングユニット(CPU)、それらの組み合わせ、最初に利用可能な(例えば、すべてのGPUがビジーである場合には、CPUを代わりに使用して再訓練を直ちに開始することができるが、再訓練はGPUよりも長くかかる可能性がある)などを使用するかどうかを指定することができる。特定の実施形態では、ユーザーはこれらの設定を無効にすることができる。例えば、ユーザーは、「最初に利用可能な」設定を無効にし、GPUが利用可能になるとGPUが再訓練に使用されるように指示することができる。
いくつかの実施形態では、過剰容量を再訓練に使用することができる。例えば、コンピューティングシステムがAI/MLモデルをホストおよび再訓練する場合、コンピューティングシステムは再訓練のためにアイドルプロセッサ(例えば、GPUおよび/またはCPU)を使用することができ、これにより、現在サービス提供しているAI/MLモデルによって消費されるハードウェアリソースが少なくなるため、再訓練プロセスが高速化される。逆に、いくつかの実施形態では、現在サービス提供しているAI/MLモデルおよび/または他のサービスの遂行に対する需要が増加した場合、再訓練から処理リソースを割り当てることができる。しかしながら、特定の実施形態では、AI/MLモデルを再訓練することを既に任されているプロセッサは、現在サービス提供しているAI/MLモデルおよび/または他のサービスの遂行の需要が増加した場合でも、再訓練に専念することができる。
いくつかの実施形態では、システムは、所与のAI/MLモデルに対してどのCPU/GPUリソースが最適であるかを学習することができる。次いで、システムは、最適な構成に基づいてCPUとGPUとの組み合わせを自動的に調整する(またはすべてのCPUもしくはすべてのGPUを割り当てる)ことができる。いくつかの実施形態では、CPUおよびGPUは、実行時にRPAロボットによって呼び出されるAI/MLモデルを提供するために選択されてもよく、自動平衡化は、所与のAI/MLモデルに対してそれらの改善された組み合わせを提供するために実行されてもよい。
いくつかの実施形態では、設定スクリプトを使用して、AI/MLモデルを管理し、AI/MLモデルにサービスを提供するためのハードウェアリソースを設定し、および/または再訓練することができる。例えば、Kubernetes(登録商標)の場合、ユーザーがポッドを指定するとき、ユーザーは、CPU、GPU、および/またはRAMリソースなど、コンテナが使用するリソースを指定することもできる。リソース仕様を使用して、ポッドを配置するノードを決定することができる。
apiバージョン:v1
種類:ポッド
メタデータ:
名称:フロントエンド
仕様:
コンテナ:
タイプ:「サービング」
-名称:aiapp
画像:images.UiPath.example/aiapp:v2
リソース:
好ましいcpu:「偽」
好ましいgpu:「真」
最初に利用可能:「真」
使用cpu:「真」
使用gpu:「真」
要求:
メモリ:「64Mi」
cpu;「250m」
gpu:「1g」
限界:
メモリ:「128Mi」
cpu:「500m」
gpu:「2g」
-名称:ai-ログ-アグリゲータ
画像:images.UiPath.example/ai-log-aggregator:v4
リソース:
最初に利用可能:「偽」
使用cpu:「真」
使用gpu:「偽」
要求:
cpu;「250m」
限界:
メモリ:「128Mi」
cpu:「500m」
apiバージョン:v1
種類:ポッド
メタデータ:
名称:フロントエンド
仕様:
コンテナ:
タイプ:「サービング」
-名称:aiapp
画像:images.UiPath.example/aiapp:v2
リソース:
好ましいcpu:「偽」
好ましいgpu:「真」
最初に利用可能:「真」
使用cpu:「真」
使用gpu:「真」
要求:
メモリ:「64Mi」
cpu;「250m」
gpu:「1g」
限界:
メモリ:「128Mi」
cpu:「500m」
gpu:「2g」
-名称:ai-ログ-アグリゲータ
画像:images.UiPath.example/ai-log-aggregator:v4
リソース:
最初に利用可能:「偽」
使用cpu:「真」
使用gpu:「偽」
要求:
cpu;「250m」
限界:
メモリ:「128Mi」
cpu:「500m」
CPUユニットは、CPUの処理能力の1000分の1であるmillicpu(m)で指定される。GPUユニットは、1g、2g、10gなどの整数GPU(g)で指定される。この例のメモリユニットは、1,048,576バイトに等しいメビバイト(Mi)で指定される。
「タイプ」設定は、AI/MLモデルコンテナがAI/MLモデル(例えば、AI/MLモデルは入力データを取り込み、呼び出しRPAロボットの結果を提供する)を提供するためのものであるか、AI/MLモデルを再訓練するためのものであるかを指定する。上記の例では、コンテナはサービングコンテナである。「最初に利用可能」設定は、最初に利用可能な処理リソースを使用するかどうかを指定する。例えば、CPUのみが利用可能であるがGPUが好ましい場合には、CPUが使用される。「最初に利用可能」が真である場合には、「好ましいcpu」および「好ましいgpu」を設定してプリファレンスを指定することができる。あるいは、好ましいcpuまたは好ましいgpuのみが提供される場合には、このフラグが真である場合にはこの処理リソースが好ましく、このフラグが偽である場合には他の処理リソースが好ましいと仮定することができる。
「cpu」および「gpu」設定は、使用されるCPUおよびGPUリソースを指定する。「使用cpu」および「使用gpu」フラグは、それぞれ、使用するCPUまたはGPUを指定する。しかしながら、いくつかの実施形態では、CPUを使用するかGPUを使用するかは、「cpu」および「gpu」値から推測することができる。「cpu」または「cpu」の一方のみの値が提供される場合、いくつかの実施形態では、省略された処理リソースは望ましくないと想定され得る。
図1は、本発明の一実施形態による、RPAシステム100を示すアーキテクチャ図である。RPAシステム100は、開発者がワークフローを設計および実装することを可能にするデザイナ110を含む。デザイナ110は、アプリケーション統合、ならびにサードパーティアプリケーション、管理情報技術(IT)タスク、およびビジネスITプロセスを自動化するためのソリューションを提供することができる。デザイナ110は、ビジネスプロセスのグラフィカル表現である自動化プロジェクトの開発を容易にすることができる。簡単に言えば、デザイナ110は、ワークフローおよびロボットの開発およびデプロイメントを容易にする。
自動化プロジェクトは、本明細書で「アクティビティ」と定義される、ワークフローで開発されたステップのカスタムセット間の遂行順序および関係の制御を開発者に与えることによって、ルールベースのプロセスの自動化を可能にする。デザイナ110の一実施形態の一商用例は、UiPath Studio(商標)である。各アクティビティは、ボタンのクリック、ファイルの読み取り、ログパネルへの書き込みなどのアクションを含むことができる。いくつかの実施形態では、ワークフローはネストまたは埋め込みされてもよい。
いくつかのタイプのワークフローは、シーケンス、フローチャート、有限状態機械(FSM)、および/またはグローバル例外ハンドラを含むことができるが、これらに限定されない。シーケンスは、ワークフローを乱すことなく1つのアクティビティから別のアクティビティへの流れを可能にする線形プロセスに特に適し得る。フローチャートは、より複雑なビジネスロジックに特に適しており、複数の分岐論理演算子を介してより多様な方法で決定の統合およびアクティビティの接続を可能にする。FSMは、大規模なワークフローに特に適している場合がある。FSMは、条件(すなわち、遷移)またはアクティビティによってトリガされる有限数の状態をそれらの遂行において使用することができる。グローバル例外ハンドラは、遂行エラーに遭遇したときのワークフローの挙動を判定し、プロセスをデバッグするのに特に適し得る。
ワークフローがデザイナ110で開発されると、ビジネスプロセスの遂行は、デザイナ110で開発されたワークフローを遂行する1つまたは複数のロボット130を編成するコンダクタ120によって編成される。コンダクタ120の一実施形態の一商用例は、UiPathオーケストレータ(商標)である。コンダクタ120は、環境内のリソースの作成、監視、およびデプロイメントの管理を容易にする。コンダクタ120は、第三者のソリューションおよびアプリケーションとの統合ポイントとして機能することができる。
コンダクタ120は、集中ポイントからロボット130を接続し遂行するすべてのロボット130を管理することができる。管理され得るロボット130のタイプは、これらに限定されないが、アテンディッドロボット132、アンアテンディッドロボット134、開発ロボット(アンアテンディッドロボット134と同様であるが、開発および試験の目的で使用される)、および非生産ロボット(アテンディッドロボット132と同様であるが、開発および試験の目的で使用される)を含む。アテンディッドロボット132は、ユーザーイベントによってトリガされ、同じコンピューティングシステム上で人間と一緒に動作する。アテンディッドロボット132は、集中プロセスデプロイメントおよび記録媒体のためのコンダクタ120と共に使用することができる。アテンディッドロボット132は、人間のユーザーが様々なタスクを達成するのを助けることができ、ユーザーイベントによってトリガすることができる。いくつかの実施形態では、プロセスは、このタイプのロボットのコンダクタ120から開始することができず、および/またはロックされた画面の下で実行することができない。特定の実施形態では、アテンディッドロボット132は、ロボットトレイまたはコマンドプロンプトからのみ起動することができる。いくつかの実施形態では、アテンディッドロボット132は人間の監督下で動作するべきである。
アンアテンディッドロボット134は、仮想環境で無人で動作し、多くのプロセスを自動化することができる。アンアテンディッドロボット134は、リモート遂行、監視、スケジューリング、および作業待ち行列のサポートの提供を担当することができる。いくつかの実施形態では、すべてのロボットタイプのデバッグを、デザイナ110で実行することができる。アテンディッドロボットおよびアンアテンディッドロボットの両方は、メインフレーム、ウェブアプリケーション、VM、エンタープライズアプリケーション(例えば、SAP(登録商標)、SalesForce(登録商標)、Oracle(登録商標)などによって製造されたもの)、およびコンピューティングシステムアプリケーション(例えば、デスクトップおよびラップトップアプリケーション、モバイルデバイスアプリケーション、ウェアラブルコンピュータアプリケーションなど)を含むがこれらに限定されない様々なシステムおよびアプリケーションを自動化することができる。
コンダクタ120は、プロビジョニング、デプロイメント、構成、キューイング、監視、ロギング、および/または相互接続性の提供を含むがこれらに限定されない様々な機能を有することができる。プロビジョニングは、ロボット130とコンダクタ120(例えば、ウェブアプリケーション)との間の接続の作成および保守を含むことができる。デプロイメントは、遂行のために割り当てられたロボット130へのパッケージバージョンの正しい配信を保証することを含むことができる。構成は、ロボット環境およびプロセス構成の維持および配信を含むことができる。キューイングは、キューおよびキュー項目の管理を提供することを含むことができる。監視は、ロボット識別データを追跡し、ユーザー権限を維持することを含むことができる。ロギングは、データベース(例えば、SQLデータベース)および/または別のストレージ機構(例えば、大規模なデータセットを格納し、迅速にクエリする能力を提供するElasticSearch(登録商標))へのログの格納およびインデックス付けを含むことができる。コンダクタ120は、第三者のソリューションおよび/またはアプリケーションのための通信の集中ポイントとして作用することによって相互接続性を提供することができる。
ロボット130は、デザイナ110に構築されたワークフローを実行する遂行エージェントである。ロボット130のいくつかの実施形態の一商用例は、UiPath Robots(商標)である。いくつかの実施形態では、ロボット130は、デフォルトでMicrosoft Windows(登録商標)Service Control Manager(SCM)管理サービスをインストールする。結果として、そのようなロボット130は、ローカルシステムアカウントの下でインタラクティブなWindows(登録商標)セッションを開き、Windows(登録商標)サービスの権利を有することができる。
いくつかの実施形態では、ロボット130は、ユーザーモードで設置することができる。このようなロボット130の場合、これは、所与のロボット130が設置されているユーザーと同じ権利を有することを意味する。この特徴は、その最大の可能性で各機械の完全な利用を保証する高密度(HD)ロボットにも利用可能であり得る。いくつかの実施形態では、任意のタイプのロボット130をHD環境で構成することができる。
いくつかの実施形態におけるロボット130は、各々が特定の自動化タスク専用であるいくつかのコンポーネントに分割される。いくつかの実施形態におけるロボットコンポーネントは、SCM管理ロボットサービス、ユーザーモードロボットサービス、エグゼキュータ、エージェント、およびコマンドラインを含むが、これらに限定されない。SCM管理ロボットサービスは、Windows(登録商標)セッションを管理および監視し、コンダクタ120と遂行ホスト(すなわち、ロボット130が遂行されるコンピューティングシステム)との間のプロキシとして機能する。これらのサービスは、ロボット130の資格情報で信頼され、管理する。コンソールアプリケーションは、ローカルシステムの下でSCMによって起動される。
いくつかの実施形態におけるユーザーモードロボットサービスは、Windows(登録商標)セッションを管理および監視し、コンダクタ120と遂行ホストとの間のプロキシとして機能する。ユーザーモードロボットサービスは、ロボット130のための資格情報を信頼し管理することができる。SCM管理ロボットサービスがインストールされていない場合、Windows(登録商標)アプリケーションを自動的に起動することができる。
エグゼキュータは、Windows(登録商標)セッション下で所与のジョブを実行することができる(すなわち、エグゼキュータはワークフローを遂行することができる)。エグゼキュータは、モニターごとのドット/インチ(DPI)設定を認識することができる。エージェントは、システムトレイウィンドウに利用可能なジョブを表示するWindows(登録商標)Presentation Foundation(WPF)アプリケーションであってもよい。エージェントは、サービスのクライアントであってもよい。エージェントは、ジョブの開始または停止および設定の変更を要求することができる。コマンドラインは、サービスのクライアントである。コマンドラインは、ジョブの開始を要求し、その出力を待つことができるコンソールアプリケーションである。
上記で説明したようにロボット130のコンポーネントを分割することは、開発者、サポートユーザー、およびコンピューティングシステムが各コンポーネントが実行しているものをより容易に実行、識別、および追跡するのに役立つ。このようにして、エグゼキュータおよびサービスに対して異なるファイアウォールルールを設定するなど、特別な挙動をコンポーネントごとに構成することができる。エグゼキュータは、いくつかの実施形態では、モニターごとにDPI設定を常に認識することができる。結果として、ワークフローは、それらが作成されたコンピューティングシステムの構成にかかわらず、任意のDPIで遂行され得る。いくつかの実施形態では、デザイナ110からのプロジェクトは、ブラウザのズームレベルとは無関係であってもよい。DPIを認識していない、または意図的に認識していないとマークされたアプリケーションの場合、いくつかの実施形態ではDPIを無効にすることができる。
図2は、本発明の一実施形態による、展開されたRPAシステム200を示すアーキテクチャ図である。いくつかの実施形態では、RPAシステム200は、図1のRPAシステム100であってもよいし、その一部であってもよい。クライアント側、サーバー側、またはその両方は、本発明の範囲から逸脱することなく、任意の所望の数のコンピューティングシステムを含むことができることに留意されたい。クライアント側では、ロボットアプリケーション210は、エグゼキュータ212と、エージェント214と、デザイナ216と、を含む。しかしながら、いくつかの実施形態では、デザイナ216は、コンピューティングシステム210上で実行されていなくてもよい。エグゼキュータ212は、実行中のプロセスである。図2に示すように、いくつかのビジネスプロジェクトが同時に実行されてもよい。エージェント214(例えば、Windows(登録商標)サービス)は、この実施形態ではすべてのエグゼキュータ212に対する単一の接続ポイントである。この実施形態におけるすべてのメッセージは、データベースサーバー240、インデクササーバー250、またはその両方を介してそれらをさらに処理するコンダクタ230にログされる。図1に関して上述したように、エグゼキュータ212はロボットコンポーネントであってもよい。
いくつかの実施形態では、ロボットは、機械名とユーザー名との間の関連付けを表す。ロボットは、複数のエグゼキュータを同時に管理することができる。同時に実行される複数のインタラクティブなセッション(例えば、Windows(登録商標)Server 2012)をサポートするコンピューティングシステムでは、複数のロボットが同時に実行され、それぞれが一意のユーザー名を使用して別々のWindows(登録商標)セッションで実行されてもよい。これは、上記ではHDロボットと呼ばれる。
エージェント214はまた、ロボットのステータス(例えば、ロボットがまだ機能していることを示す「ハートビート」メッセージを定期的に送信する)を送信し、遂行されるパッケージの必要なバージョンをダウンロードする役割も担う。エージェント214とコンダクタ230との間の通信は、いくつかの実施形態では常にエージェント214によって開始される。通知シナリオでは、エージェント214は、ロボットにコマンド(例えば、始動、停止など)を送信するためにコンダクタ230によって後で使用されるWebSocketチャネルを開くことができる。
サーバー側には、プレゼンテーション層(ウェブアプリケーション232、オープンデータプロトコル(OData)代表状態転送(REST)アプリケーション・プログラミング・インターフェース(API)エンドポイント234、ならびに通知および監視236)、サービス層(API実装/ビジネスロジック238)、永続層(データベースサーバー240、インデクササーバー250)が含まれる。コンダクタ230は、ウェブアプリケーション232、OData REST APIエンドポイント234、通知および監視236、ならびにAPI実装/ビジネスロジック238を含む。いくつかの実施形態では、ユーザーがコンダクタ230のインターフェース内で(例えば、ブラウザ220を介して)実行するほとんどのアクションは、様々なAPIを呼び出すことによって実行される。そのようなアクションは、本発明の範囲から逸脱することなく、ロボット上のジョブの開始、キュー内のデータの追加/削除、無人で実行するためのジョブのスケジューリングなどを含むことができるが、これらに限定されない。ウェブアプリケーション232は、サーバープラットフォームのビジュアル層である。この実施形態では、ウェブアプリケーション232は、ハイパーテキストマークアップ言語(HTML)およびJavaScript(JS)を使用する。しかしながら、本発明の範囲から逸脱することなく、任意の所望のマークアップ言語、スクリプト言語、または任意の他のフォーマットを使用することができる。ユーザーは、コンダクタ230を制御するための様々なアクションを実行するために、この実施形態ではブラウザ220を介してウェブアプリケーション232からのウェブページとインタラクトする。例えば、ユーザーは、ロボットグループを作成し、ロボットにパッケージを割り当て、ロボットごとおよび/またはプロセスごとにログを分析し、ロボットを起動および停止することなどができる。
ウェブアプリケーション232に加えて、コンダクタ230はまた、OData REST APIエンドポイント234を公開するサービス層を含む。しかしながら、本発明の範囲から逸脱することなく、他のエンドポイントが含まれてもよい。REST APIは、ウェブアプリケーション232とエージェント214の両方によって消費される。エージェント214は、この実施形態ではクライアントコンピュータ上の1つまたは複数のロボットの管理者である。
この実施形態におけるREST APIは、構成、ロギング、監視、およびキューイング機能をカバーする。構成エンドポイントは、いくつかの実施形態では、アプリケーションユーザー、権限、ロボット、アセット、リリース、および環境を定義および構成するために使用され得る。例えば、エラー、ロボットによって送信された明示的なメッセージ、および他の環境固有の情報などの様々な情報をログに記録するために、RESTエンドポイントをロギングすることができる。開始ジョブコマンドがコンダクタ230内で使用される場合に遂行されるべきパッケージバージョンをクエリするために、デプロイメントRESTエンドポイントがロボットによって使用されてもよい。RESTエンドポイントをキューイングすることは、キューにデータを追加すること、キューからトランザクションを取得すること、トランザクションの状態を設定することなど、キューおよびキュー項目管理を担当することができる。
RESTエンドポイントの監視は、ウェブアプリケーション232およびエージェント214を監視することができる。通知監視API236は、エージェント214の登録、エージェント214への構成設定の配信、ならびにサーバーおよびエージェント214からの通知の送信/受信に使用されるRESTエンドポイントであってもよい。通知監視API236はまた、いくつかの実施形態では、WebSocket通信を使用してもよい。
永続層は、この実施形態におけるサーバーのペア、すなわちデータベースサーバー240(例えば、SQLサーバー)およびインデクササーバー250を含む。この実施形態におけるデータベースサーバー240は、ロボット、ロボットグループ、関連するプロセス、ユーザー、役割、スケジュールなどの構成を格納する。この情報は、いくつかの実施形態ではウェブアプリケーション232を介して管理される。データベースサーバー240は、キューおよびキュー項目を管理することができる。いくつかの実施形態では、データベースサーバー240は、(インデクササーバー250に加えて、またはその代わりに)ロボットによって記録されたメッセージを格納することができる。
インデクササーバー250は、いくつかの実施形態ではオプションであり、ロボットによって記録された情報を格納し、インデックス付けする。特定の実施形態では、インデクササーバー250は、構成設定を通じて無効にすることができる。いくつかの実施形態では、インデクササーバー250は、オープンソースプロジェクトのフルテキスト探索エンジンであるElasticSearch(登録商標)を使用する。ロボット(例えば、ログメッセージまたは行書き込みのようなアクティビティを使用する)によってログされたメッセージは、ロギングRESTエンドポイントを介してインデクササーバー250に送信されてもよく、そこでそれらは将来の利用のためにインデックス付けされる。
図3は、本発明の一実施形態による、デザイナ310、アクティビティ320,330、ドライバ340、およびAI/MLモデル350の間の関係300を示すアーキテクチャ図である。上記により、開発者は、デザイナ310を使用して、ロボットによって遂行されるワークフローを開発する。ワークフローは、ユーザー定義のアクティビティ320およびUI自動化アクティビティ330を含むことができる。ユーザー定義のアクティビティ320および/またはUI自動化アクティビティ330は、いくつかの実施形態では、1つまたは複数のAI/MLモデル350を呼び出すことができ、これは、ロボットが動作しているコンピューティングシステムに対してローカルにおよび/またはそこから遠隔に配置することができる。いくつかの実施形態は、本明細書ではコンピュータビジョン(CV)と呼ばれる、画像内の非テキスト視覚コンポーネントを識別することができる。そのようなコンポーネントに関係するいくつかのCVアクティビティは、クリック、タイプ、テキストを取得、ホバー、要素存在、リフレッシュ範囲、ハイライトなどを含み得るが、これらに限定されない。いくつかの実施形態では、クリックは、例えば、CV、光学文字認識(OCR)、ファジー文字マッチング、およびマルチアンカーを使用して要素を識別し、それをクリックする。タイプは、上記および要素内のタイプを使用して要素を識別することができる。テキストを取得し、OCRを使用して特定のテキストの位置を識別し、それをスキャンすることができる。ホバーは、要素を識別し、それをホバーすることができる。要素が存在することは、上述した技術を使用して、画面上に要素が存在するかどうかをチェックすることができる。いくつかの実施形態では、デザイナ310に実装することができるアクティビティは、数百または数千であってもよい。しかしながら、本発明の範囲から逸脱することなく、任意の数および/またはタイプのアクティビティが利用可能であり得る。
UI自動化アクティビティ330は、下位レベルコード(例えば、CVアクティビティ)に書き込まれ、画面とのインタラクションを容易にする特別な低レベルのアクティビティのサブセットである。UI自動化アクティビティ330は、ロボットが所望のソフトウェアとインタラクトすることを可能にするドライバ340および/またはAI/MLモデルを介したこれらのインタラクションを容易にする。例えば、ドライバ340は、OSドライバ342、ブラウザドライバ344、VMドライバ346、エンタープライズアプリケーションドライバ348などを含むことができる。AI/MLモデル350のうちの1つまたは複数は、コンピューティングシステムとのインタラクションの実行を決定するためにUI自動化アクティビティ330によって使用され得る。いくつかの実施形態では、AI/MLモデル350は、ドライバ340を増強するか、それらを完全に置き換えることができる。実際、特定の実施形態では、ドライバ340は含まれない。
ドライバ340は、フックを探し、キーを監視するなど、低レベルでOSとインタラクトすることができる。それらは、Chrome(登録商標)、IE(登録商標)、Citrix(登録商標)、SAP(登録商標)などとの統合を容易にすることができる。例えば、「クリック」アクティビティは、ドライバ340を介してこれらの異なるアプリケーションで同じ役割を実行する。
図4は、本発明の一実施形態による、RPAシステム400を示すアーキテクチャ図である。いくつかの実施形態では、RPAシステム400は、図1および/または図2のRPAシステム100および/または200であり得るか、それらを含み得る。RPAシステム400は、ロボットを実行する複数のクライアントコンピューティングシステム410を含む。コンピューティングシステム410は、その上で実行されるウェブアプリケーションを介してコンダクタコンピューティングシステム420と通信することができる。次に、コンダクタコンピューティングシステム420は、データベースサーバー430および任意選択のインデクササーバー440と通信することができる。
図1および図3に関して、これらの実施形態ではウェブアプリケーションが使用されているが、本発明の範囲から逸脱することなく、任意の適切なクライアント/サーバーソフトウェアを使用できることに留意されたい。例えば、コンダクタは、クライアントコンピューティングシステム上の非ウェブベースのクライアントソフトウェアアプリケーションと通信するサーバー側アプリケーションを実行することができる。
図5は、本発明の一実施形態による、アクションセンターを介してAI/MLモデルを補足し、AI/MLモデル再訓練ハードウェア制御を提供し、AI/MLモデル設定管理を提供するように構成されたコンピューティングシステム500を示すアーキテクチャ図である。いくつかの実施形態では、コンピューティングシステム500は、本明細書に図示および/または記載されたコンピューティングシステムのうちの1つまたは複数であってもよい。コンピューティングシステム500は、情報を通信するためのバス505または他の通信機構と、情報を処理するためにバス505に結合されたプロセッサ510と、を含む。プロセッサ510は、中央プロセッシングユニット(CPU)、特定用途集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、グラフィックスプロセッシングユニット(GPU)、それらの複数のインスタンス、および/またはそれらの任意の組み合わせを含む、任意のタイプの汎用または専用プロセッサであってもよい。プロセッサ510はまた、複数の処理コアを有してもよく、コアの少なくともいくつかは、特定の機能を実行するように構成されてもよい。いくつかの実施形態では、複数並列処理が使用されてもよい。特定の実施形態では、プロセッサ510の少なくとも一方は、生体ニューロンを模倣する処理要素を含むニューロモーフィック回路であってもよい。いくつかの実施形態では、ニューロモーフィック回路は、フォン・ノイマン・コンピューティングアーキテクチャの典型的なコンポーネントを必要としない場合がある。
コンピューティングシステム500は、プロセッサ510によって遂行される情報および命令を格納するためのメモリ515をさらに含む。メモリ515は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、フラッシュメモリ、キャッシュ、磁気もしくは光ディスクなどの静的ストレージ、または任意の他のタイプの非一時的コンピュータ可読媒体、またはそれらの組み合わせの任意の組み合わせで構成することができる。非一時的コンピュータ可読媒体は、プロセッサ510によってアクセス可能な任意の利用可能な媒体であってもよく、揮発性媒体、不揮発性媒体、またはその両方を含んでもよい。媒体はまた、取り外し可能、取り外し不能、またはその両方であってもよい。
さらに、コンピューティングシステム500は、無線接続および/または有線接続を介して通信ネットワークへのアクセスを提供するためのトランシーバなどの通信デバイス520を含む。いくつかの実施形態では、通信デバイス520は、周波数分割多元接続(FDMA)、シングルキャリアFDMA(SC-FDMA)、時分割多元接続(TDMA)、符号分割多元接続(CDMA)、直交周波数分割多重方式(OFDM)、直交周波数分割多元接続(OFDMA)、移動体用グローバルシステム(GSM)通信、汎用パケット無線サービス(GPRS)、ユニバーサル移動体通信システム(UMTS)、cdma2000、広帯域CDMA(W-CDMA)、高速ダウンリンクパケットアクセス(HSDPA)、高速アップリンクパケットアクセス(HSUPA)、高速パケットアクセス(HSPA)、ロングタームエボリューション(LTE)、LTEアドバンスト(LTE-A)、802.11x、Wi-Fi、Zigbee、超広帯域無線(UWB)、802.16x、802.15、ホームノードB(HnB)、Bluetooth、無線周波数識別(RFID)、赤外線データ協会(IrDA)、近距離通信(NFC)、第5世代(5G)、新無線(NR)、それらの任意の組み合わせ、ならびに/あるいは本発明の範囲から逸脱することなく、任意の他の現在存在する、または将来実施される通信規格および/またはプロトコルを使用するように構成されてもよい。いくつかの実施形態では、通信デバイス520は、本発明の範囲から逸脱することなく、単一、アレイ、位相、切り替え、ビームフォーミング、ビームステア、それらの組み合わせ、および/または任意の他のアンテナ構成である1つまたは複数のアンテナを含むことができる。
プロセッサ510はさらに、バス505を介して、プラズマディスプレイ、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、電界放出ディスプレイ(FED)、有機発光ダイオード(OLED)ディスプレイ、フレキシブルOLEDディスプレイ、フレキシブル基板ディスプレイ、プロジェクションディスプレイ、4Kディスプレイ、高精細ディスプレイ、Retina(登録商標)ディスプレイ、インプレーンスイッチング(IPS)ディスプレイ、またはユーザーに情報を表示するための任意の他の適切なディスプレイなどのディスプレイ525にさらに結合される。ディスプレイ525は、抵抗性、容量性、表面弾性波(SAW)容量性、赤外線、光学イメージング、分散信号技術、音響パルス認識、フラストレート全内部反射などを使用して、タッチ(触覚)ディスプレイ、3次元(3D)タッチディスプレイ、マルチ入力タッチディスプレイ、マルチタッチディスプレイなどとして構成され得る。本発明の範囲から逸脱することなく、任意の適切なディスプレイデバイスおよび触覚I/Oが使用され得る。
キーボード530およびコンピュータマウス、タッチパッドなどのカーソル制御デバイス535は、ユーザーがコンピューティングシステムとインターフェースすることを可能にするためにバス505にさらに結合される。しかしながら、特定の実施形態では、物理的なキーボードおよびマウスが存在しなくてもよく、ユーザーは、ディスプレイ525および/またはタッチパッド(図示せず)のみを介してデバイスとインタラクトすることができる。入力デバイスの任意のタイプおよび組み合わせを、設計上の選択事項として使用することができる。特定の実施形態では、物理的入力デバイスおよび/またはディスプレイは存在しない。例えば、ユーザーは、それと通信する別のコンピューティングシステムを介してコンピューティングシステム500と遠隔でインタラクトすることができ、またはコンピューティングシステム500は自律的に動作することができる。
メモリ515は、プロセッサ510によって遂行されると機能を提供するソフトウェアモジュールを格納する。モジュールは、コンピューティングシステム500のためのオペレーティングシステム540を含む。モジュールは、本明細書に記載のプロセスまたはその派生物の全部または一部を実行するように構成されたAI/MLモデル管理モジュール545をさらに含む。コンピューティングシステム500は、追加の機能を含む1つまたは複数の追加の機能モジュール550を含むことができる。
当業者は、「システム」が、本発明の範囲から逸脱することなく、サーバー、組込みコンピューティングシステム、パーソナルコンピュータ、コンソール、パーソナルデジタルアシスタント(PDA)、携帯電話、タブレットコンピューティングデバイス、量子コンピューティングシステム、もしくは任意の他の適切なコンピューティングデバイス、またはデバイスの組み合わせとして具現化され得ることを理解するであろう。上記の機能を「システム」によって実行されるものとして提示することは、本発明の範囲を決して限定することを意図するものではなく、本発明の多くの実施形態の一例を提供することを意図している。実際、本明細書に開示する方法、システム、および装置は、クラウドコンピューティングシステムを含むコンピューティング技術と一致する局所化された形態および分散された形態で実装されてもよい。コンピューティングシステムは、ローカルエリアネットワーク(LAN)、移動通信ネットワーク、衛星通信ネットワーク、インターネット、パブリッククラウドもしくはプライベートクラウド、ハイブリッドクラウド、サーバーファーム、それらの任意の組み合わせなどの一部であるか、またはそれらによってアクセス可能であり得る。本発明の範囲から逸脱することなく、任意の局所化されたまたは分散されたアーキテクチャが使用されてもよい。
本明細書に記載されたシステム特徴のいくつかは、それらの実施態様の独立性をより具体的に強調するために、モジュールとして提示されていることに留意されたい。例えば、モジュールは、カスタムの超大規模集積(VLSI)回路またはゲートアレイ、ロジックチップ、トランジスタ、または他のディスクリートコンポーネントなどの既製の半導体を含むハードウェア回路として実装されてもよい。モジュールはまた、フィールドプログラマブルゲートアレイ、プログラマブルアレイロジック、プログラマブルロジックデバイス、グラフィックスプロセッシングユニットなどのプログラマブルハードウェアデバイスに実装されてもよい。
モジュールはまた、様々なタイプのプロセッサによって遂行するためのソフトウェアに少なくとも部分的に実装されてもよい。遂行可能コードの識別されたユニットは、例えば、オブジェクト、プロシージャ、または関数として編成することができるコンピュータ命令の1つまたは複数の物理ブロックまたは論理ブロックを含むことができる。それにもかかわらず、識別されたモジュールの遂行可能ファイルは、物理的に共に配置される必要はないが、論理的に共に結合されたときにモジュールを含み、モジュールの記載された目的を達成する異なる場所に格納された異なる命令を含むことができる。さらに、モジュールは、コンピュータ可読媒体に格納されてもよく、それは、例えば、ハードディスクドライブ、フラッシュデバイス、RAM、テープ、および/または本発明の範囲から逸脱することなくデータを格納するために使用される任意の他のそのような非一時的コンピュータ可読媒体であってもよい。
実際、遂行可能コードのモジュールは、単一の命令、または多くの命令であってもよく、いくつかの異なるコードセグメント、異なるプログラム、およびいくつかのメモリデバイスに分散されてもよい。同様に、操作データは、本明細書ではモジュール内で識別および図示されてもよく、任意の適切な形態で具現化され、任意の適切なタイプのデータ構造内に編成されてもよい。操作データは、単一のデータセットとして収集されてもよく、または異なるストレージデバイスを含む異なる場所に分散されてもよく、少なくとも部分的に、システムまたはネットワーク上の電子信号としてのみ存在してもよい。
図6は、本発明の一実施形態による、アクションセンターを介してAI/MLモデルを補足し、AI/MLモデル再訓練ハードウェア制御を提供し、AI/MLモデル設定管理を提供するように構成されたシステム600を示すアーキテクチャ図である。システム600は、デスクトップコンピュータ602、タブレット604、およびスマートフォン606などのユーザーコンピューティングシステムを含む。しかしながら、限定はしないが、スマートウォッチ、ラップトップコンピュータなどを含む、本発明の範囲から逸脱することなく、任意の所望のコンピューティングシステムを使用することができる。また、図6には3つのユーザーコンピューティングシステムが示されているが、本発明の範囲から逸脱することなく、任意の適切な数のコンピューティングシステムを使用することができる。例えば、いくつかの実施形態では、数十、数百、数千、または数百万のコンピューティングシステムを使用することができる。
各コンピューティングシステム602,604,606は、特定のタスク(例えば、連鎖または非連鎖のいずれかのAI/MLモデル632のうちの1つまたは複数)の実行においてAI/MLモデルを呼び出すRPAロボット610を有する。例えば、RPAロボット610のうちの1つまたは複数は、CVを使用してユーザーがそれぞれのコンピューティングシステム上で何をしているかを認識するように訓練されたAI/MLモデルを呼び出すことができる。コンピューティングシステム602,604,606は、ネットワーク620(例えば、ローカルエリアネットワーク(LAN)、移動通信ネットワーク、衛星通信ネットワーク、インターネット、それらの任意の組み合わせなど)を介して、AI/MLモデル632の遂行の要求および関連する入力情報などの情報をサーバー630に送信する。いくつかの実施形態では、サーバー630は、パブリッククラウドアーキテクチャ、プライベートクラウドアーキテクチャ、ハイブリッドクラウドアーキテクチャなどの一部であってもよい。特定の実施形態では、サーバー630は、単一のコンピューティングシステム630上で複数のソフトウェアベースのサーバーをホストしてもよい。いくつかの実施形態では、サーバー630は、1つまたは複数の仮想マシン(VM)を介して実装されてもよい。特定の実施形態では、サーバー630は、インターネット接続性を有さない「エアギャップ」サーバーであってもよい。サーバー630は、この実施形態では、それぞれの呼び出しRPAロボットが自動化を完了するのを支援する情報を提供するためにRPAロボット610のうちの1つまたは複数によって呼び出されるAI/MLモデル632を含む。いくつかの実施形態では、RPAロボット610によって呼び出されるAI/MLモデル632は、統計的モデリング(例えば、隠れマルコフモデル(HMM))などの様々な機能を実行する複数の層を有し、深層学習技術(例えば、長期短期記憶(LSTM)深層学習、以前の隠れ状態の符号化など)を利用してユーザーインタラクションのシーケンスを識別することができる。
サーバー630は、その上で実行されるAIセンターソフトウェアを介して、AI/MLモデル632の性能を監視し、例えば、ローカルまたはデータベース640に格納され得るAI/MLモデル632のための1つまたは複数のしきい値にアクセスする。しかしながら、いくつかの実施形態では、RPAロボット610は、性能しきい値を監視することができる。AI/MLモデル632が初めて性能しきい値を下回ったとき、または何らかの一貫性(例えば、特定の期間にわたる、AI/MLモデルの特定の実行回数にわたる平均性能など)を伴って下回った場合に、AI/MLモデル遂行(例えば、予測)の結果および他のデータ(例えば、AI/MLモデルが解析していたユーザーインターフェース(UI)のスクリーンショット、AI/MLモデルが処理していた文書、ユーザーインタラクションのシーケンスに関連するデータ、パターンについて解析されていたデータベース内のデータなど)はアクションセンター650に送信され、そこで人間がそれぞれのコンピューティングシステム652のレビューアプリケーション654を使用してデータをレビューする。予測が正しい場合、レビュアーはレビューアプリケーション654を介して予測を承認し、予測が正しくない場合、レビュアーは正しい予測を提供する。サーバー630を介してAI/MLモデル632によって以前に提供されていない場合、予測は、その自動化に使用するためにRPAロボット610に提供される。
いくつかの実施形態では、ロジックは、RPAロボット610の呼び出しアクティビティ、またはアクションセンター650からの結果をRPAロボット610に待機させる何らかの他のアクティビティに含まれてもよい。いくつかの実施形態では、RPAロボット610は、アクションセンター650による人間のレビューのためにデータを送信することができる。特定の実施形態では、このデータは、サーバー630によって、AI/MLモデル632自体によって、AI/MLモデル632および/またはRPAロボット610などから通信を受信することができる別のコンピューティングシステムによって送信されてもよい。
いくつかの実施形態では、RPAロボット610は、アクションセンター650からの結果の確認のために一定時間待機するように構成されてもよい。結果がその期間内に受信されない場合、RPAロボット610は、AI/MLモデル632からの予測を使用してその動作を継続しようと試み、そのワークフロー内の関連するアクティビティをスキップし、デフォルトのアクションをとるなどしてもよい。特定の実施形態では、RPAロボット610は、その期間内に結果が受信されない場合、または動作を継続する試みが失敗した場合、例外をスローするか、またはエラーメッセージを提供することができる。
アクションセンター650の人間のレビュー者によって行われた修正および彼らがレビューした関連データは、AI/MLモデル632のその後の再訓練のためにデータベース640に格納することができる。修正は、レビューアプリケーション654を介して、RPAロボット610を呼び出すことによって、AI/MLモデル632をホストするサーバー630などによって、レビュアーのコンピューティングシステム652によって押し出されてもよい。これは、呼び出しRPAロボット610に正確な結果も提供しながら、再訓練のためにデータをプッシュするフィードバックループを提供する。再訓練は、一定量の訓練データが受信された後か、一定期間が経過した後か、一定数の修正が受信された後などに、サーバー630または他の何らかのコンピューティングシステムによって実行することができる。再訓練されたAI/MLモデルが、ターゲット信頼度よりも高い、または少なくとも現在展開されているAI/MLモデル632よりも高い典型的な信頼度を有する場合には、再訓練されたバージョンは、現在展開されているAI/MLモデル632の代わりに展開されて使用され、現在展開されているAI/MLモデル632と連携して使用されて、それらの2つから最良の予測を取得することなどができる。
いくつかの実施形態では、AI/MLモデル632は、単一の画像およびラッパーとしてアップロードされ、Docker(商標)画像としてKubernetes(商標)クラスタに展開され得る。提供される値に基づいて、コンテナは、AI/MLモデル632を呼び出し、それらの遂行の結果を返すサービング予測呼び出し元として機能することができる。あるいは、コンテナは、AI/MLモデル632を訓練するために使用されてもよい。
いくつかの実施形態では、AI/MLモデル632の所与のAI/MLモデルを再訓練するためにどのハードウェアを使用するかを指定するための構成がサーバー630に提供され、および/またはデータベース640に格納され得る。例えば、再訓練のためにグラフィックスプロセッシングユニット(GPU)、中央プロセッシングユニット(CPU)、それらの組み合わせ、最初に利用可能な(例えば、すべてのGPUがビジーである場合には、CPUを代わりに使用して再訓練を直ちに開始することができるが、再訓練はGPUよりも長くかかる可能性がある)などを使用するかどうかを指定することができる。特定の実施形態では、これらの設定は、構成内の設定を無効にし、GPUが利用可能になると再訓練に使用することを要求することなどによって無効にすることができる。
いくつかの実施形態では、過剰容量を再訓練に使用することができる。例えば、サーバー630がAI/MLモデルをホストして再訓練する場合、サーバー630は、再訓練のためにアイドルプロセッサ(例えば、GPUおよび/またはCPU)を使用することができ、これにより、現在サービス提供しているAI/MLモデル632によって消費されるハードウェアリソースが少なくなるため、再訓練プロセスが高速化される。逆に、いくつかの実施形態では、現在サービス提供しているAI/MLモデル632および/または他のサービスの遂行に対する需要が増加した場合、再訓練から処理リソースを割り当てることができる。しかしながら、特定の実施形態では、現在サービス提供しているAI/MLモデル632および/または他のサービスの遂行の需要が増加しても、AI/MLモデルを再訓練することを既に任されているプロセッサは、再訓練に専念することができる。
いくつかの実施形態では、サーバー630は、AI/MLモデル632の所与のAI/MLモデルに対してどのCPU/GPUリソースが最適であるかを学習することができる。次いで、サーバー630は、最適な構成に基づいてCPUとGPUとの組み合わせを自動的に調整する(またはすべてのCPUもしくはすべてのGPUを割り当てる)ことができる。いくつかの実施形態では、実行時にRPAロボット610によって呼び出されるAI/MLモデル632を提供するためにCPUおよびGPUを選択することができ、AI/MLモデル632の所与のAI/MLモデルに対してそれらの改善された組み合わせを提供するために自動平衡化を実行することができる。
AI層
いくつかの実施形態では、複数のAI層を使用することができる。各AI層は、データ上で実行されるアルゴリズム(またはモデル)であり、AIモデル自体は、訓練データで訓練された訓練済人工「ニューロン」の深層学習ニューラルネットワーク(DLNN)であってもよい。層は、直列、並列、またはそれらの組み合わせで実行されてもよい。
AI層は、シーケンス抽出層、クラスタリング検出層、視覚コンポーネント検出層、テキスト認識層(例えば、OCR)、音声テキスト変換層、またはそれらの任意の組み合わせを含むことができるが、これらに限定されない。しかしながら、本発明の範囲から逸脱することなく、任意の所望の数およびタイプの層を使用することができる。複数の層を使用することにより、システムは画面内で何が起こっているかの全体像を作成することができる。例えば、1つのAI層はOCRを実行することができ、別のAI層はボタンを検出することができ、別のAI層はシーケンスを比較することができるなどである。パターンは、AI層によって個別に、または複数のAI層によって集合的に決定され得る。
図7は、本発明の一実施形態による、アクションセンターアプリケーションのためのインターフェース700を示す。インターフェース700は、AI/MLモデルが解析していた画像を表示する画像表示ペイン710と、AI/MLモデルによって識別されたオブジェクトのタイプおよびその位置を示すAI/MLモデルパラメータペイン720とを含む。この例では、AI/MLモデルは、バウンディングボックス714に見られるトラック712を列車と誤認している。AI/MLモデルによって識別されたオブジェクトタイプ、ならびにバウンディングボックス714の位置およびサイズは、それぞれタイプフィールド722および位置フィールド724に示す。予測の信頼度も示されている。
AI/MLモデルがオブジェクトを正しく識別した場合、ユーザーは承認ボタン726をクリックして識別を確認することができる。いくつかの実施形態では、RPAロボットは、ユーザーが修正を提供するかどうかにかかわらず、AI/MLモデルからの予測を使用して進めることができる。特定の実施形態では、RPAロボットは、AI/MLモデルからの予測が正確であるというアクションセンターアプリケーションからの指示を待つことができる。
この例では、AI/MLモデルがオブジェクトを列車と誤認したため、ユーザーは、フィールド722を更新することによって、画像内で識別されたオブジェクトのタイプを修正することができる。特定の実施形態では、他の修正も行うことができる。例えば、画像内のオブジェクトが識別されなかった場合、またはオブジェクトの位置が間違っている場合、ユーザーは、正しいオブジェクトの周りにバウンディングボックスを描画するか、またはこの実施形態では手動でパラメータを入力することができる。修正が行われた後に、ユーザーは、修正ボタン728をクリックして、RPAロボットに修正を提供するか、再訓練のためにサーバー/データベースに修正を提供するか、またはその両方を行うことができる。
いくつかの実施形態では、様々なタイプの情報が画像表示ペイン710に示され得ることに留意されたい。例えば、画像表示ペイン710は、本発明の範囲から逸脱することなく、文書(例えば、PDF文書、Microsoft Word(登録商標)文書など)、ユーザーインターフェースのスクリーンショット、またはAI/MLモデルが解析している任意の他のコンテンツを示すことができる。実際、インターフェース700は、インターフェース700がAI/MLモデルが解析するコンテンツ、その入力、および/またはその出力に関連するように、任意の所望の方法で構成され得る。
図8は、本発明の一実施形態による、アクションセンターを介してAI/MLモデルを補足し、AI/MLモデル再訓練ハードウェア制御を提供し、AI/MLモデル設定管理を提供するためのプロセス800を示すフローチャートである。プロセスは、805でRPAロボットからAI/MLモデルを遂行する呼び出しを受信し、810で要求されたAI/MLモデルを遂行することから始まる。いくつかの実施形態では、要求されたAI/MLモデルを遂行するとき、要求されたAI/MLモデルを再訓練するために使用するプロセッサを指定する構成が使用される。プロセッサは、例えば、GPUおよびCPUを含むことができる。特定の実施形態では、構成は、すべてのGPUを使用するかどうか、すべてのCPUを使用するかどうか、またはGPUとCPUとの組み合わせを使用するかどうかを指定する。いくつかの実施形態では、構成は、好ましいタイプのプロセッサが利用できない場合、利用可能な任意のプロセッサを使用することを指定する。特定の実施形態では、アイドルプロセッサは、要求されたAI/MLモデルを再訓練するために使用される。いくつかの実施形態では、AL/MLモデルを遂行するためのRPAロボットからの要求に基づいて、要求されたAI/MLモデルの再訓練にプロセッサが追加されるか、または要求されたAI/MLモデルの再訓練からプロセッサが除去される。特定の実施形態では、呼び出しRPAロボットのアクティビティは、アクションセンターからのAI/MLモデルの遂行の結果を、呼び出しRPAロボットに、ある期間待たせるロジックを含む。特定の実施形態では、AI/MLモデルの遂行の結果がその期間中に受信されない場合、RPAロボットは、要求されたAI/MLモデルからの結果を使用して動作を継続しようとするか、要求されたAI/MLモデルに関連するアクティビティをスキップするか、またはデフォルトアクションをとるように構成される。
しきい値監視が815で実行され、AI/MLモデル性能(例えば、値しきい値、標準偏差、別の統計的尺度などで)の信頼度または他の何らかのメトリックがしきい値を下回らない場合、AI/MLモデルの遂行の結果が820でRPAロボットに提供される。特定の実施形態では、820において、要求されたAI/MLモデルを遂行するためのプロセッサの最適な組み合わせを学習することによって性能を改善することができ、学習されたプロセッサの最適な組み合わせを使用して、要求されたAI/MLモデルを遂行するためのプロセッサの自動平衡化を実行することができる。いくつかの実施形態では、AI/MLモデルの遂行の結果、および場合によっては精度および/または他の何らかの性能メトリックは、しきい値に関係なくRPAロボットに提供される。特定の実施形態では、要求されたAI/MLモデルの性能は、最初に、ある期間にわたって、または実行されるステップ815の「はい」分岐のための要求されたAI/MLモデルの実行回数にわたって、1つまたは複数の性能しきい値を下回らなければならない。
815でしきい値が満たされない場合、825でAI/MLモデル結果のレビュー要求がアクションセンターに送信される。いくつかの実施形態では、レビュー要求は、要求されたAI/MLモデルによって解析された画像のスクリーンショットと、要求されたAI/MLモデルからの予測とを含む。次いで、アクションセンターは、830において、結果(例えば、アクションセンターアプリケーションを介して)のレビューを実行する。いくつかの実施形態では、レビューは、AI/MLモデルから結果をレビューする要求を受信することと、AI/MLモデルによって解析された画像および結果の1つまたは複数のパラメータを、アクションセンターアプリケーションを遂行するコンピューティングシステムのディスプレイに表示することと、結果が正しくない場合、パラメータの少なくとも1つに対する修正を受信することと、を含む。835で結果が正しい場合、840で、アクションセンターアプリケーションを介して結果が承認され、RPAロボットに送信されるか、またはそれ以上のアクションは行われない。
しかしながら、835において結果が正しくない場合、845において、修正された結果は、アクションセンターアプリケーションを介して提供されてもよく、結果は、再訓練のために格納されるか、または呼び出しRPAロボットに送信されてもよい。データが再訓練のためにRPAプロバイダによって格納されるのではなく、呼び出しRPAロボットに送信される場合、これは、顧客がデータを機密または専有であると考え、したがってデータをローカルに記憶し、セキュリティ目的のために顧客側で再訓練するときに起こり得る。850で再訓練基準が満たされる場合(例えば、訓練データの量が受信され、期間が経過し、アクションセンターから修正数が受信されるなど)、855でAI/MLモデルが再訓練される。次いで、再訓練されたAI/MLモデルは、860で展開される。いくつかの実施形態では、再訓練されたAI/MLモデルが性能しきい値の少なくとも1つに関して改善する場合、保持されたAI/MLモデルは、AI/MLモデルの以前のバージョンの代わりに、またはそれと並行して使用され、2つの間の最良の結果が使用され得る。特定の実施形態では、再訓練されたAI/MLモデルは、再訓練されたAI/MLモデルが1つまたは複数の性能しきい値を1つまたは複数のそれぞれの最小改善量だけ改善する場合にのみ展開される。
図8で実行されるプロセスステップは、本発明の実施形態に従って、プロセッサが図8で説明したプロセスの少なくとも一部を実行するための命令を符号化するコンピュータプログラムによって実行されてもよい。コンピュータプログラムは、非一時的コンピュータ可読媒体上で具現化されてもよい。コンピュータ可読媒体は、ハードディスクドライブ、フラッシュデバイス、RAM、テープ、および/またはデータを格納するために使用される任意の他のそのような媒体または媒体の組み合わせであってもよいが、これらに限定されない。コンピュータプログラムは、コンピュータ可読媒体に格納することもできる、図8で説明したプロセスステップの全部または一部を実施するようにコンピューティングシステムのプロセッサ(例えば、図5のコンピューティングシステム500のプロセッサ510)を制御するための符号化命令を含むことができる。
コンピュータプログラムは、ハードウェア、ソフトウェア、またはハイブリッド実装で実施することができる。コンピュータプログラムは、互いに動作可能に通信し、表示するために情報または命令を渡すように設計されたモジュールから構成することができる。コンピュータプログラムは、汎用コンピュータ、ASIC、または任意の他の適切なデバイス上で動作するように構成することができる。
本発明の様々な実施形態のコンポーネントは、本明細書の図に一般的に記載および図示するように、多種多様な異なる構成で配置および設計されてもよいことが容易に理解されよう。したがって、添付の図面に表される本発明の実施形態の詳細な説明は、特許請求される本発明の範囲を限定することを意図するものではなく、本発明の選択された実施形態を単に代表するものである。
本明細書を通して説明される本発明の特徴、構造、または特性は、1つまたは複数の実施形態において任意の適切な方法で組み合わせることができる。例えば、本明細書全体を通して「特定の実施形態」、「いくつかの実施形態」、または同様の文言への言及は、実施形態に関連して説明される特定の特徴、構造、または特性が本発明の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書全体を通して、「特定の実施形態では」、「いくつかの実施形態では」、「他の実施形態では」、または同様の文言の出現は、必ずしもすべてが同じ実施形態のグループを指すわけではなく、記載された特徴、構造、または特性は、1つまたは複数の実施形態において任意の適切な方法で組み合わせることができる。
本明細書を通して特徴、利点、または同様の文言を参照することは、本発明で実現され得る特徴および利点のすべてが本発明の任意の単一の実施形態であるべきであること、または本発明の任意の単一の実施形態であることを意味するものではないことに留意されたい。むしろ、特徴および利点に言及する文言は、一実施形態に関連して説明される特定の特徴、利点、または特性が本発明の少なくとも1つの実施形態に含まれることを意味すると理解される。したがって、本明細書を通して、特徴および利点、ならびに同様の文言の説明は、必ずしもそうとは限らないが、同じ実施形態を参照することができる。
さらに、本発明の記載された特徴、利点、および特性は、1つまたは複数の実施形態において任意の適切な方法で組み合わせることができる。当業者は、特定の実施形態の特定の特徴または利点の1つまたは複数なしで本発明を実施できることを認識するであろう。他の例では、本発明のすべての実施形態には存在しない可能性がある特定の実施形態において、追加の特徴および利点が認識され得る。
当業者は、上述の本発明が、異なる順序のステップ、および/または開示されているものとは異なる構成のハードウェア要素を用いて実施され得ることを容易に理解するであろう。したがって、本発明をこれらの好ましい実施形態に基づいて説明してきたが、本発明の趣旨および範囲内に留まりながら、特定の修正、変形、および代替構築が明らかであることは、当業者には明らかであろう。したがって、本発明の範囲を決定するために、添付の特許請求の範囲を参照すべきである。
Claims (29)
- システムであって、
1つまたは複数の人工知能(AI)/機械学習(ML)モデルを含む、または前記1つまたは複数のAI/MLモデルにアクセス可能なサーバーと、
遂行中に前記1つまたは複数のAI/MLモデルのうちの少なくとも1つを呼び出すように構成された1つまたは複数のロボティックプロセスオートメーション(RPA)ロボットと、
アクションセンターと、を含み、
前記サーバーは、
前記1つまたは複数のAI/MLモデルの性能を監視し、
前記1つまたは複数のAI/MLモデルのうちの1つのAI/MLモデルを遂行するために、前記1つまたは複数のRPAロボットのうちの呼び出しRPAロボットから要求を受信し、
前記要求されたAI/MLモデルの性能が、ある期間にわたって、または前記要求されたAI/MLモデルの実行回数にわたって、初めて1つまたは複数の性能しきい値を下回る場合に、前記要求されたAI/MLモデルの前記遂行の結果をレビューするために、前記アクションセンターにレビュー要求を送信する、ように構成され、
前記アクションセンターは、
前記結果が正しいという指示をアクションセンターアプリケーションから受信するか、または修正された結果を前記アクションセンターアプリケーションから受信し、
前記結果が正しくない場合に、前記修正された結果を前記アクションセンターから前記呼び出しRPAロボットか、前記サーバーか、またはその両方に提供する、ように構成される、システム。 - 前記サーバーは、
前記要求されたAI/MLモデルを遂行し、
前記要求されたAI/MLモデルの前記遂行の結果および前記結果の精度を呼び出しRPAロボットに提供する、ようにさらに構成される、請求項1に記載のシステム。 - 前記サーバーによって前記アクションセンターに送信された前記レビュー要求は、前記要求されたAI/MLモデルによって解析された画像のスクリーンショットと、前記要求されたAI/MLモデルからの予測と、を含む、請求項1に記載のシステム。
- 前記アクションセンターが修正を提供する場合に、前記アクションセンターまたは前記サーバーは、前記要求されたAI/MLモデルを再訓練するために前記修正に関連するデータを格納させるか、前記データを前記呼び出しRPAロボットに送信するか、またはその両方を行うように構成される、請求項1に記載のシステム。
- ある量の訓練データが受信された後か、ある期間が経過した後か、または前記アクションセンターからいくつかの修正が受信された後に、前記サーバーが、前記要求されたAI/MLモデルを再訓練するように構成される、請求項4に記載のシステム。
- 前記再訓練されたAI/MLモデルが前記1つまたは複数の性能しきい値のうちの少なくとも1つに関して改善する場合に、前記サーバーは、
前記要求されたAI/MLモデルの代わりに前記再訓練されたAI/MLモデルを展開するか、または
前記要求されたAI/MLモデルと連携して前記再訓練されたAI/MLモデルを使用し、前記再訓練されたAI/MLモデルおよび前記要求されたAI/MLモデルから最良の結果を取得する、ように構成される、請求項5に記載のシステム。 - 前記再訓練されたAI/MLモデルは、前記再訓練されたAI/MLモデルが前記1つまたは複数の性能しきい値を1つまたは複数のそれぞれの最小改善量だけ改善する場合にのみ展開される、請求項6に記載のシステム。
- 前記サーバーは、前記要求されたAI/MLモデルを再訓練するために使用するプロセッサを指定する構成を使用するように構成され、前記プロセッサは、グラフィックスプロセッシングユニット(GPU)および中央プロセッシングユニット(CPU)を含む、請求項5に記載のシステム。
- 前記構成は、すべてのGPUを使用するかどうか、すべてのCPUを使用するかどうか、またはGPUとCPUとの組み合わせを使用するかどうかを指定する、請求項8に記載のシステム。
- 前記構成は、好ましいタイプのプロセッサが利用可能でない場合に、任意の利用可能なプロセッサを使用することを指定する、請求項8に記載のシステム。
- 前記サーバーは、前記要求されたAI/MLモデルを再訓練するためにアイドルプロセッサを使用するように構成される、請求項8に記載のシステム。
- 前記サーバーは、前記サーバーが前記1つまたは複数のAL/MLモデルを遂行するための前記1つまたは複数のRPAロボットからの要求に基づいて、前記要求されたAI/MLモデルの前記再訓練にプロセッサを追加するか、または前記要求されたAI/MLモデルの前記再訓練からプロセッサを取り除くように構成される、請求項8に記載のシステム。
- 前記呼び出しRPAロボットのアクティビティは、前記アクションセンターからの前記AI/MLモデルの前記遂行の前記結果を、前記呼び出しRPAロボットに、ある期間待たせるロジックを含む、請求項8に記載のシステム。
- 前記AI/MLモデルの前記遂行の前記結果が前記期間中に受信されない場合に、前記RPAロボットは、前記要求されたAI/MLモデルからの前記結果を使用して操作を継続しようとするか、前記要求されたAI/MLモデルに関連するアクティビティをスキップするか、またはデフォルトのアクションをとるように構成される、請求項13に記載のシステム。
- 前記サーバーは、前記要求されたAI/MLモデルを遂行するためのプロセッサの最適な組み合わせを学習し、前記学習されたプロセッサの最適な組み合わせを使用して、前記要求されたAI/MLモデルを遂行するための前記プロセッサの自動平衡化を実行するように構成される、請求項1に記載のシステム。
- 前記アクションセンターアプリケーションは、
前記AI/MLモデルからの前記結果をレビューする要求を受信し、
前記AI/MLモデルによって解析された画像と、前記結果についての1つまたは複数のパラメータと、をディスプレイに表示し、
前記1つまたは複数のパラメータのうちの少なくとも1つに対する修正を受信する、ように構成される、請求項1に記載のシステム。 - コンピュータにより実施される方法であって、アクションセンターアプリケーションにより、知能(AI)/機械学習(ML)モデルからの結果をレビューする要求を受信するステップと、
前記AI/MLモデルによって解析された画像と、前記結果についての1つまたは複数のパラメータとを、前記アクションセンターアプリケーションによりディスプレイに表示するステップであって、前記1つまたは複数のパラメータが前記AI/MLモデルによる予測を含む、ステップと、
前記アクションセンターアプリケーションにより、前記1つまたは複数のパラメータのうちの少なくとも1つに対する修正を受信するステップと、
前記AI/MLモデルの再訓練のために前記修正をサーバーに送信するステップと、
を含むコンピュータにより実施される方法。 - 前記アクションセンターアプリケーションにより、前記AI/MLモデルを呼び出したロボティックプロセスオートメーション(RPA)ロボットに前記修正を送信するステップをさらに含み、
前記修正は、前記AI/MLモデルの前記結果に対する修正された予測を含む、
請求項17に記載のコンピュータにより実施される方法。 - コンピュータプログラムを格納する非一時的コンピュータ可読媒体であって、前記コンピュータプログラムは、少なくとも1つのプロセッサに、
ロボティックプロセスオートメーション(RPA)ロボットによって要求される知能(AI)/機械学習(ML)モデルを遂行させ、
前記AI/MLモデルの性能を監視させ、
前記AI/MLモデルのAI/MLモデルの性能が、ある期間にわたって、または前記AI/MLモデルの実行回数にわたって、初めて1つまたは複数の性能しきい値を下回る場合に、前記AI/MLモデルの前記遂行の結果をレビューするために、アクションセンターにレビュー要求を送信させる、ように構成される、非一時的コンピュータ可読媒体。 - 前記レビュー要求は、前記AI/MLモデルによって解析された画像のスクリーンショットと、前記AI/MLモデルからの予測と、を含む、請求項19に記載の非一時的コンピュータ可読媒体。
- 前記コンピュータプログラムは、前記少なくとも1つのプロセッサに、
前記アクションセンターから前記AI/MLモデルの修正を受信させ、
前記AI/MLモデルを再訓練するための前記修正を格納させる、ようにさらに構成される、請求項19に記載の非一時的コンピュータ可読媒体。 - ある量の訓練データが受信された後か、ある期間が経過した後か、または前記アクションセンターからいくつかの修正が受信された後に、前記コンピュータプログラムは、前記少なくとも1つのプロセッサに、
前記AI/MLモデルを再訓練させ、
前記再訓練されたAI/MLモデルが前記1つまたは複数の性能しきい値のうちの少なくとも1つに関して改善する場合に、
前記AI/MLモデルの以前のバージョンの代わりに前記再訓練されたAI/MLモデルを展開させるか、または
前記再訓練されたAI/MLモデルを前記AI/MLモデルの前記以前のバージョンと連携して使用させ、前記再訓練されたAI/MLモデルおよび前記AI/MLモデルの前記以前のバージョンから最良の結果を取得させる、ようにさらに構成される、請求項19に記載の非一時的コンピュータ可読媒体。 - 前記再訓練されたAI/MLモデルは、前記再訓練されたAI/MLモデルが前記1つまたは複数の性能しきい値を1つまたは複数のそれぞれの最小改善量だけ改善する場合にのみ展開される、請求項22に記載の非一時的コンピュータ可読媒体。
- 前記コンピュータプログラムは、前記少なくとも1つのプロセッサに、
前記AI/MLモデルを再訓練するために使用するプロセッサを指定する構成を使用させるようにさらに構成され、前記プロセッサは、グラフィックスプロセッシングユニット(GPU)および中央プロセッシングユニット(CPU)を含む、請求項22に記載の非一時的コンピュータ可読媒体。 - 前記構成は、すべてのGPUを使用するかどうか、すべてのCPUを使用するかどうか、またはGPUとCPUとの組み合わせを使用するかどうかを指定する、請求項24に記載の非一時的コンピュータ可読媒体。
- 前記構成は、好ましいタイプのプロセッサが利用可能でない場合に、任意の利用可能なプロセッサを使用することを指定する、請求項24に記載の非一時的コンピュータ可読媒体。
- 前記コンピュータプログラムは、前記少なくとも1つのプロセッサに、
前記AI/MLモデルを再訓練するためにアイドルプロセッサを使用させるようにさらに構成される、請求項24に記載の非一時的コンピュータ可読媒体。 - 前記コンピュータプログラムは、前記少なくとも1つのプロセッサに、
前記コンピュータプログラムが前記AL/MLモデルを遂行するための前記RPAロボットからの要求に基づいて、前記AI/MLモデルの前記再訓練にプロセッサを追加させるか、または前記AI/MLモデルの前記再訓練からプロセッサを取り除かせる、ようにさらに構成される、請求項24に記載の非一時的コンピュータ可読媒体。 - 前記コンピュータプログラムは、前記少なくとも1つのプロセッサに、
前記AI/MLモデルを遂行するためのプロセッサの最適な組み合わせを学習させ、前記学習されたプロセッサの最適な組み合わせを使用させて、前記AI/MLモデルを遂行するための前記プロセッサの自動平衡化を実行させる、ようにさらに構成される、請求項19に記載の非一時的コンピュータ可読媒体。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN202011053926 | 2020-12-11 | ||
IN202011053926 | 2020-12-11 | ||
US17/155,209 | 2021-01-22 | ||
US17/155,209 US20220188697A1 (en) | 2020-12-11 | 2021-01-22 | Supplementing artificial intelligence (ai) / machine learning (ml) models via action center, ai/ml model retraining hardware control, and ai/ml model settings management |
PCT/US2021/056921 WO2022125207A1 (en) | 2020-12-11 | 2021-10-28 | SUPPLEMENTING ARTIFICIAL INTELLIGENCE (Al) / MACHINE LEARNING (ML) MODELS VIA ACTION CENTER, Al/ML MODEL RETRAINING HARDWARE CONTROL, AND AI/ML MODEL SETTINGS MANAGEMENT |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023552666A true JP2023552666A (ja) | 2023-12-19 |
Family
ID=81942657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021577267A Pending JP2023552666A (ja) | 2020-12-11 | 2021-10-28 | アクションセンターを介した人工知能(ai)/機械学習(ml)モデルの補足、ai/mlモデル再訓練ハードウェア制御、およびai/mlモデル設定管理 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20220188697A1 (ja) |
EP (1) | EP4035097A4 (ja) |
JP (1) | JP2023552666A (ja) |
KR (1) | KR20220083976A (ja) |
CN (1) | CN114930356A (ja) |
WO (1) | WO2022125207A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024005313A1 (ko) * | 2022-06-30 | 2024-01-04 | 삼성전자 주식회사 | 전자 장치의 학습 모델을 갱신하는 서버 및 그의 동작 방법 |
WO2024019352A1 (ko) * | 2022-07-21 | 2024-01-25 | 엘지전자 주식회사 | 무선 통신 시스템에서 신호 송수신 방법 및 장치 |
GB202216488D0 (en) * | 2022-11-04 | 2022-12-21 | Samsung Electronics Co Ltd | Methods and apparatus for ai/ml data transfer |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3112965A1 (en) * | 2015-07-02 | 2017-01-04 | Accenture Global Services Limited | Robotic process automation |
EP3459022A4 (en) * | 2016-05-16 | 2020-02-19 | Purepredictive, Inc. | PREDICTIVE DRIFT DETECTION AND CORRECTION |
US10270644B1 (en) * | 2018-05-17 | 2019-04-23 | Accenture Global Solutions Limited | Framework for intelligent automated operations for network, service and customer experience management |
US10974392B2 (en) * | 2018-06-08 | 2021-04-13 | International Business Machines Corporation | Automated robotic security system |
US11822913B2 (en) * | 2019-12-20 | 2023-11-21 | UiPath, Inc. | Dynamic artificial intelligence / machine learning model update, or retrain and update, in digital processes at runtime |
US20220094606A1 (en) * | 2020-09-24 | 2022-03-24 | Level 3 Communications, Llc | Ai-supported network techniques |
-
2021
- 2021-01-22 US US17/155,209 patent/US20220188697A1/en active Pending
- 2021-10-28 JP JP2021577267A patent/JP2023552666A/ja active Pending
- 2021-10-28 CN CN202180004268.0A patent/CN114930356A/zh active Pending
- 2021-10-28 WO PCT/US2021/056921 patent/WO2022125207A1/en active Application Filing
- 2021-10-28 KR KR1020217042508A patent/KR20220083976A/ko unknown
- 2021-10-28 EP EP21820838.7A patent/EP4035097A4/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
EP4035097A1 (en) | 2022-08-03 |
KR20220083976A (ko) | 2022-06-21 |
CN114930356A (zh) | 2022-08-19 |
WO2022125207A1 (en) | 2022-06-16 |
US20220188697A1 (en) | 2022-06-16 |
EP4035097A4 (en) | 2023-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102453988B1 (ko) | 런타임시 디지털 프로세스에서의 동적 인공 지능/머신 러닝 모델 업데이트, 또는 재트레이닝 및 업데이트 | |
US11738453B2 (en) | Integration of heterogeneous models into robotic process automation workflows | |
JP2023524327A (ja) | 機械学習を使用したロボティック・プロセス・オートメーション・ワークフローの自動完了 | |
US10963231B1 (en) | Using artificial intelligence to select and chain models for robotic process automation | |
US20220164701A1 (en) | Robotic process automation architectures and processes for hosting, monitoring, and retraining machine learning models | |
JP2022552133A (ja) | 畳み込みニューラルネットワークを使用したロボティック・プロセス・オートメーションにおけるユーザーインターフェース要素の検出 | |
US11775860B2 (en) | Reinforcement learning in robotic process automation | |
US20220188697A1 (en) | Supplementing artificial intelligence (ai) / machine learning (ml) models via action center, ai/ml model retraining hardware control, and ai/ml model settings management | |
JP2023549632A (ja) | 人工知能/機械学習によるロボティックプロセスオートメーションのための異常検出および自己修復 | |
US20210110207A1 (en) | Automatic activation and configuration of robotic process automation workflows using machine learning | |
JP2022552466A (ja) | ロボティック・プロセス・オートメーション・ワークフローのための再構成可能なワークベンチパイプライン | |
KR102502324B1 (ko) | 로봇 프로세스 자동화를 위한 머신 학습 모델 재훈련 파이프라인 | |
CN116529032A (zh) | 用于机器人流程自动化(rpa)的支持机器人的任务自动化 | |
EP3905144A1 (en) | Machine learning model retraining pipeline for robotic process automation |