IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キンドリル・インクの特許一覧

特許7232260DNA計算による機械学習(ML)のモデル化
<>
  • 特許-DNA計算による機械学習(ML)のモデル化 図1
  • 特許-DNA計算による機械学習(ML)のモデル化 図2
  • 特許-DNA計算による機械学習(ML)のモデル化 図3
  • 特許-DNA計算による機械学習(ML)のモデル化 図4
  • 特許-DNA計算による機械学習(ML)のモデル化 図5
  • 特許-DNA計算による機械学習(ML)のモデル化 図6
  • 特許-DNA計算による機械学習(ML)のモデル化 図7
  • 特許-DNA計算による機械学習(ML)のモデル化 図8
  • 特許-DNA計算による機械学習(ML)のモデル化 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-02-21
(45)【発行日】2023-03-02
(54)【発明の名称】DNA計算による機械学習(ML)のモデル化
(51)【国際特許分類】
   G06N 20/00 20190101AFI20230222BHJP
【FI】
G06N20/00
【請求項の数】 25
(21)【出願番号】P 2020555042
(86)(22)【出願日】2019-05-24
(65)【公表番号】
(43)【公表日】2021-09-24
(86)【国際出願番号】 IB2019054334
(87)【国際公開番号】W WO2019229607
(87)【国際公開日】2019-12-05
【審査請求日】2021-09-27
(31)【優先権主張番号】15/994,145
(32)【優先日】2018-05-31
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】521555742
【氏名又は名称】キンドリル・インク
【氏名又は名称原語表記】Kyndryl Inc.
【住所又は居所原語表記】One Vanderbilt Avenue,15th Floor,New York,New York 10017,USA
(74)【代理人】
【識別番号】110000420
【氏名又は名称】弁理士法人MIP
(72)【発明者】
【氏名】ディアマンティ、ゲイリー、フランシス
(72)【発明者】
【氏名】ボウマン、アーロン
(72)【発明者】
【氏名】マーゾラティ、マウロ
【審査官】渡辺 順哉
(56)【参考文献】
【文献】米国特許出願公開第2017/0116372(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
機械学習モデルを生成するためのコンピュータ実装方法であって、
2つ以上のプロセッサによって、トレーニング・データ・セットを識別することと、
前記2つ以上のプロセッサによって、初期ベータ値のウィンドウを定義することであって、前記初期ベータ値が、各条件付き期待値における前記識別されたトレーニング・データ・セットに対するバイアスを表す、前記定義することと、
前記2つ以上のプロセッサによって、前記トレーニング・データ・セットからの各特徴ベクトルに対応する前記各条件付き期待値を正則化することであって、前記条件付き期待値に対する正則化の2つ以上の方法が、特徴ベクトルごとに並列に実行される、前記正則化することと、
前記2つ以上のプロセッサによって、前記正則化から生じる前記条件付き期待値から導出されたモデルの複数の集団を作成することと、
前記2つ以上のプロセッサによって、前記作成された集団のうちの最良適合集団を前記機械学習モデルとして生成することであって、前記機械学習モデルが、前記トレーニング・データ・セットとは区別される入力に基づいて対象の結果を予測する、前記生成することと
を含んでおり、
前記2つ以上のプロセッサが、1つまたは複数のデジタル・プロセッサおよび1つまたは複数のDNAプロセッサを含んでいる、コンピュータ実装方法。
【請求項2】
前記正則化することが、
前記1つまたは複数のデジタル・プロセッサによって、正則化指標
【数1】
を各条件付き期待値に追加することを含んでおり、
【数2】
が残差平方和を示し、

【数3】
が、正則化方法に従う正則化の大きさのランクである、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記正則化に使用される前記正則化方法がラッソ回帰(LASSO)であり、
【数4】
である、請求項2に記載のコンピュータ実装方法。
【請求項4】
前記正則化に使用される正則化方法がリッジ回帰(RR)であり、
【数5】
である、請求項2に記載のコンピュータ実装方法。
【請求項5】
前記1つまたは複数のDNAプロセッサによって、前記正則化からの前記条件付き期待値を各DNA鎖としてエンコードすることをさらに含んでおり、前記エンコーディングおよび前記正則化が、前記各DNA鎖を介して互いに相互作用する、請求項1に記載のコンピュータ実装方法。
【請求項6】
前記エンコーディングが、
前記1つまたは複数のDNAプロセッサによって、前記定義されたウィンドウ内の各ベータ値に基づいてヌクレオチドを増幅することと、
前記増幅されたヌクレオチドを各核酸塩基としてエンコードすることと、
前記エンコードされた核酸塩基を現在のDNA鎖に追加することと、
前記正則化からのDNA鎖を前記追加からの前記現在のDNA鎖に連結することと
を含んでいる、請求項5に記載のコンピュータ実装方法。
【請求項7】
前記2つ以上のプロセッサによって、前記各条件付き期待値におけるベータ値を変更することによって、前記正則化された条件付き期待値に対する外的影響を考慮に入れることをさらに含んでおり、前記変更されたベータ値が、各外的影響の重みを増やすか、または減らす、請求項1に記載のコンピュータ実装方法。
【請求項8】
コンピュータ・プログラムであって、
1以上のデジタル・プロセッサおよび1以上のDNAプロセッサを含む2つ以上のプロセッサに、
トレーニング・データ・セットを識別することと、
初期ベータ値のウィンドウを定義することであって、前記初期ベータ値が、各条件付き期待値における前記識別されたトレーニング・データ・セットに対するバイアスを表す、
前記定義することと、
前記トレーニング・データ・セットからの各特徴ベクトルに対応する前記各条件付き期待値を正則化することであって、前記条件付き期待値に対する正則化の2つ以上の方法が、特徴ベクトルごとに並列に実行される、前記正則化することと、
前記正則化から生じる前記条件付き期待値から導出されたモデルの複数の集団を作成することと、
前記作成された集団のうちの最良適合集団を機械学習モデルとして生成することであって、前記機械学習モデルが、前記トレーニング・データ・セットとは区別される入力に基づいて対象の結果を予測する、前記生成することと
を実行させる、コンピュータ・プログラム。
【請求項9】
前記正則化することが、
前記1つまたは複数のデジタル・プロセッサによって、正則化指標
【数6】
を各条件付き期待値に追加することを含んでおり、
【数7】
が残差平方和を示し、
【数8】
が、正則化方法に従う正則化の大きさのランクである、請求項8に記載のコンピュータ・プログラム。
【請求項10】
前記正則化に使用される前記正則化方法がラッソ回帰(LASSO)であり、
【数9】
である、請求項9に記載のコンピュータ・プログラム。
【請求項11】
前記正則化に使用される正則化方法がリッジ回帰(RR)であり、
【数10】
である、請求項9に記載のコンピュータ・プログラム。
【請求項12】
前記1以上のDNAプロセッサによって、前記正則化からの前記条件付き期待値を各DNA鎖としてエンコードすることをさらに含んでおり、前記エンコードすることおよび前記正則化が、前記各DNA鎖を介して互いに相互作用する、請求項8に記載のコンピュータ・プログラム。
【請求項13】
前記エンコードすることが、
前記1以上のDNAプロセッサによって、前記定義されたウィンドウ内の各ベータ値に基づいてヌクレオチドを増幅することと、
前記増幅されたヌクレオチドを各核酸塩基としてエンコードすることと、
前記エンコードされた核酸塩基を現在のDNA鎖に追加することと、
前記正則化からのDNA鎖を前記追加からの前記現在のDNA鎖に連結することと
を含んでいる、請求項12に記載のコンピュータ・プログラム。
【請求項14】
前記2つ以上のプロセッサによって、前記各条件付き期待値におけるベータ値を変更することによって、前記正則化された条件付き期待値に対する外的影響を考慮に入れることをさらに含んでおり、前記変更されたベータ値が、各外的影響の重みを増やすか、または
減らす、請求項8に記載のコンピュータ・プログラム。
【請求項15】
システムであって、
メモリと、
前記メモリと通信する2つ以上のプロセッサと、
機械学習モデルを生成するための方法を実行するために前記メモリを介して前記2つ以上のプロセッサによって実行可能なプログラム命令と
を備えており、前記方法が、
トレーニング・データ・セットを識別することと、
初期ベータ値のウィンドウを定義することであって、前記初期ベータ値が、各条件付き期待値における前記識別されたトレーニング・データ・セットに対するバイアスを表す、前記定義することと、
前記トレーニング・データ・セットからの各特徴ベクトルに対応する前記各条件付き期待値を正則化することであって、前記条件付き期待値に対する正則化の2つ以上の方法が
、特徴ベクトルごとに並列に実行される、前記正則化することと、
前記正則化から生じる前記条件付き期待値から導出されたモデルの複数の集団を作成することと、
前記作成された集団のうちの最良適合集団を前記機械学習モデルとして生成することであって、前記機械学習モデルが、前記トレーニング・データ・セットとは区別される入力に基づいて対象の結果を予測する、前記生成することとを含んでおり、
前記2つ以上のプロセッサが、1つまたは複数のデジタル・プロセッサおよび1つまたは複数のDNAプロセッサを含んでいる、システム。
【請求項16】
前記正則化することが、
前記1つまたは複数のデジタル・プロセッサによって、正則化指標
【数11】
を各条件付き期待値に追加することを含んでおり、
【数12】
が残差平方和を示し、
【数13】
が、正則化方法に従う正則化の大きさのランクである、請求項15に記載のシステム。
【請求項17】
前記正則化に使用される前記正則化方法が、ラッソ回帰(LASSO)、リッジ回帰(
RR)、および非正則化から選択され、前記正則化方法がLASSOである場合は
【数14】
であり、前記正則化方法がRRである場合は
【数15】
であり、前記正則化方法が非正則化である場合は、正則化が適用されていないことを示すRn=0である、請求項16に記載のシステム。
【請求項18】
前記1つまたは複数のDNAプロセッサによって、前記正則化からの前記条件付き期待値を各DNA鎖としてエンコードすることをさらに含んでおり、前記エンコーディングおよび前記正則化が、前記各DNA鎖を介して互いに相互作用する、請求項15に記載のシステム。
【請求項19】
前記エンコーディングが、
前記1つまたは複数のDNAプロセッサによって、前記定義されたウィンドウ内の各ベータ値に基づいてヌクレオチドを増幅することと、
前記増幅されたヌクレオチドを各核酸塩基としてエンコードすることと、
前記エンコードされた核酸塩基を現在のDNA鎖に追加することと、
前記正則化からのDNA鎖を前記追加からの前記現在のDNA鎖に連結することと
を含んでいる、請求項18に記載のシステム。
【請求項20】
前記2つ以上のプロセッサによって、前記各条件付き期待値におけるベータ値を変更することによって、前記正則化された条件付き期待値に対する外的影響を考慮に入れることをさらに含んでおり、前記変更されたベータ値が、各外的影響の重みを増やすか、または減らす、請求項15に記載のシステム。
【請求項21】
機械学習モデルを生成するためのコンピュータ実装方法であって、
1つまたは複数のDNAプロセッサによって、条件付き期待値に対応するDNA鎖を構築することであって、前記条件付き期待値が、トレーニング・データ・セットからの特徴ベクトルに対応する、前記構築することと、
前記1つまたは複数のDNAプロセッサによって、前記構築からの前記条件付き期待値のベータ値に基づいてヌクレオチドを増幅することと、
前記1つまたは複数のDNAプロセッサによって、前記増幅されたヌクレオチドを核酸塩基としてエンコードすることと、
前記1つまたは複数のDNAプロセッサによって、前記エンコードされた核酸塩基を構築からの前記DNA鎖に追加することと
を含んでいる、コンピュータ実装方法。
【請求項22】
2つ以上のプロセッサによって、前記追加からの前記DNA鎖をデジタル・モデルに変換することと、
前記2つ以上のプロセッサによって、前記変換からの前記デジタル・モデルを含んでいるデジタル・モデルの複数の集団を作成することと、
前記2つ以上のプロセッサによって、前記作成された集団のうちの最良適合集団を前記機械学習モデルとして生成することであって、前記機械学習モデルが、前記トレーニング・データ・セットとは区別される入力に基づいて対象の結果を予測する、前記生成することと
をさらに含んでおり、
前記2つ以上のプロセッサが、1つまたは複数のデジタル・プロセッサおよび1つまたは複数のDNAプロセッサを含んでいる、請求項21に記載のコンピュータ実装方法。
【請求項23】
機械学習モデルを生成するためのコンピュータ実装方法であって、
1つまたは複数のDNAプロセッサによって、正則化指標を含んでいる条件付き期待値を取得することと、
前記1つまたは複数のDNAプロセッサによって、前記取得からの前記条件付き期待値に対応するDNA鎖を構築することであって、前記条件付き期待値が、トレーニング・データ・セットからの特徴ベクトルに対応する、前記構築することと、
前記1つまたは複数のDNAプロセッサによって、前記構築からの前記条件付き期待値のベータ値に基づいてヌクレオチドを増幅することと、
前記1つまたは複数のDNAプロセッサによって、前記増幅されたヌクレオチドを核酸塩基としてエンコードすることと、
前記1つまたは複数のDNAプロセッサによって、前記エンコードされた核酸塩基を構築からの前記DNA鎖に追加することと、
前記1つまたは複数のDNAプロセッサによって、正則化方法に基づく核酸に対する数を含んでいる正則化されたDNA鎖を受信することと、
前記1つまたは複数のDNAプロセッサによって、前記受信からの前記正則化されたDNAを追加からの前記DNA鎖に連結することと
を含んでいる、コンピュータ実装方法。
【請求項24】
2つ以上のプロセッサによって、前記連結されたDNA鎖をデジタル・モデルに変換することと、
前記2つ以上のプロセッサによって、前記変換からの前記デジタル・モデルを含んでいるデジタル・モデルの複数の集団を作成することと、
前記2つ以上のプロセッサによって、前記作成された集団のうちの最良適合集団を前記機械学習モデルとして生成することであって、前記機械学習モデルが、前記トレーニング・データ・セットとは区別される入力に基づいて対象の結果を予測する、前記生成することと
をさらに含んでおり、
前記2つ以上のプロセッサが、1つまたは複数のデジタル・プロセッサおよび1つまたは複数のDNAプロセッサを含んでいる、請求項23に記載のコンピュータ実装方法。
【請求項25】
前記正則化指標が
【数16】
であり、
【数17】
が残差平方和を示し、
【数18】
が、正則化方法に従う正則化の大きさのランクであり、前記正則化方法がラッソ回帰(L
ASSO)である場合、
【数19】
であり、前記正則化方法がリッジ回帰(RR)である場合、
【数20】
である、請求項23に記載のコンピュータ実装方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は機械学習技術に関し、より詳細には、DNA計算によって並列に正則化されるように機械学習モデルを生成するための方法、コンピュータ・プログラム製品、およびシステムに関する。
【背景技術】
【0002】
従来の機械学習(ML:machine learning)技術では、MLモデルをトレーニング・データと異なる入力データに役立つようにするべく、MLモデルによるトレーニング・データの過学習の問題を解決するために、トレーニング・データが正則化されることが多い。しかし、トレーニング・データのそのような正則化は、計算負荷の大きいプロセスである。また、現在使用できる多くの正則化方法は、MLモデルの正則化において特殊な利点を提供するため、多種多様な入力データに使用されるようにMLモデルを堅牢にするには、大幅に正則化されたトレーニング・データが必要になるということが知られている。
【発明の概要】
【0003】
1つの態様では、方法の提供によって従来技術の欠点が克服され、追加の利点がもたらされる。機械学習モデルを生成するための方法は、例えば、2つ以上のプロセッサによって、トレーニング・データ・セットを識別することと、2つ以上のプロセッサによって、初期ベータ値のウィンドウを定義することであって、この初期ベータ値が、各条件付き期待値における識別されたトレーニング・データ・セットに対するバイアスを表す、定義することと、2つ以上のプロセッサによって、トレーニング・データ・セットからの各特徴ベクトルに対応する各条件付き期待値を正則化することであって、条件付き期待値に対する正則化の2つ以上の方法が、特徴ベクトルごとに並列に実行される、正則化することと、2つ以上のプロセッサによって、正則化から生じる条件付き期待値から導出されたモデルの複数の集団(ensembles)を作成することと、2つ以上のプロセッサによって、作成された集団のうちの最良適合集団(best fit ensemble)を機械学習モデルとして生成することであって、機械学習モデルが、トレーニング・データ・セットとは区別される入力に基づいて対象の結果を予測する、生成することとを含んでおり、2つ以上のプロセッサは、1つまたは複数のデジタル・プロセッサおよび1つまたは複数のDNAプロセッサを含む。
【0004】
第1の態様から見ると、本発明は、機械学習モデルを生成するためのコンピュータ実装方法を提供し、このコンピュータ実装方法は、2つ以上のプロセッサによって、トレーニング・データ・セットを識別することと、2つ以上のプロセッサによって、初期ベータ値のウィンドウを定義することであって、この初期ベータ値が、各条件付き期待値における識別されたトレーニング・データ・セットに対するバイアスを表す、定義することと、2つ以上のプロセッサによって、トレーニング・データ・セットからの各特徴ベクトルに対応する各条件付き期待値を正則化することであって、条件付き期待値に対する正則化の2つ以上の方法が、特徴ベクトルごとに並列に実行される、正則化することと、2つ以上のプロセッサによって、正則化から生じる条件付き期待値から導出されたモデルの複数の集団を作成することと、2つ以上のプロセッサによって、作成された集団のうちの最良適合集団を機械学習モデルとして生成することであって、機械学習モデルが、トレーニング・データ・セットとは区別される入力に基づいて対象の結果を予測する、生成することとを含んでおり、2つ以上のプロセッサは、1つまたは複数のデジタル・プロセッサおよび1つまたは複数のDNAプロセッサを含む。
【0005】
本発明は、正則化することが、1つまたは複数のデジタル・プロセッサによって、正則化指標(regularization metric)
【数1】
を各条件付き期待値に追加することを含んでおり、
【数2】
が残差平方和を示し、
【数3】
が、正則化方法に従う正則化の大きさのランクである、コンピュータ実装方法を提供するのが好ましい。
【0006】
本発明は、正則化に使用される正則化方法がラッソ回帰(LASSO:LeastAbsolute Shrinkage and Selection Operator)であり、
【数4】
である、コンピュータ実装方法を提供するのが好ましい。
【0007】
本発明は、正則化に使用される正則化方法がリッジ回帰(RR:RidgeRegression)であり、
【数5】
である、コンピュータ実装方法を提供するのが好ましい。
【0008】
本発明は、1つまたは複数のDNAプロセッサによって、正則化からの条件付き期待値を各DNA鎖としてエンコードすることをさらに含んでいるコンピュータ実装方法を提供するのが好ましく、エンコードすることおよび正則化は、各DNA鎖を介して互いに相互作用する。
【0009】
本発明は、エンコードすることが、1つまたは複数のDNAプロセッサによって、定義されたウィンドウ内の各ベータ値に基づいてヌクレオチドを増幅することと、増幅されたヌクレオチドを各核酸塩基としてエンコードすることと、エンコードされた核酸塩基を現在のDNA鎖に追加することと、正則化からのDNA鎖を追加からの現在のDNA鎖に連結することとを含んでいる、コンピュータ実装方法を提供するのが好ましい。
【0010】
本発明は、2つ以上のプロセッサによって、各条件付き期待値におけるベータ値を変更することによって、正則化された条件付き期待値に対する外的影響を考慮に入れることをさらに含んでいるコンピュータ実装方法を提供するのが好ましく、変更されたベータ値が、各外的影響の重みを増やすか、または減らす。
【0011】
別の態様から見ると、本発明は、2つ以上のプロセッサによって読み取り可能な、機械学習モデルを生成するための方法を実行するために2つ以上のプロセッサによって実行するための命令を格納しているコンピュータ可読ストレージ媒体を備えているコンピュータ・プログラム製品を提供し、この方法は、トレーニング・データ・セットを識別することと、初期ベータ値のウィンドウを定義することであって、この初期ベータ値が、各条件付き期待値における識別されたトレーニング・データ・セットに対するバイアスを表す、定義することと、トレーニング・データ・セットからの各特徴ベクトルに対応する各条件付き期待値を正則化することであって、条件付き期待値に対する正則化の2つ以上の方法が、特徴ベクトルごとに並列に実行される、正則化することと、正則化から生じる条件付き期待値から導出されたモデルの複数の集団を作成することと、作成された集団のうちの最良適合集団を機械学習モデルとして生成することであって、機械学習モデルが、トレーニング・データ・セットとは区別される入力に基づいて対象の結果を予測する、生成することとを含んでおり、2つ以上のプロセッサは、1つまたは複数のデジタル・プロセッサおよび1つまたは複数のDNAプロセッサを含む。
【0012】
本発明は、正則化することが、1つまたは複数のデジタル・プロセッサによって、正則化指標
【数6】
を各条件付き期待値に追加することを含んでおり、
【数7】
が残差平方和を示し、
【数8】
が、正則化方法に従う正則化の大きさのランクである、コンピュータ・プログラム製品を提供するのが好ましい。
【0013】
本発明は、正則化に使用される正則化方法がラッソ回帰(LASSO)であり、
【数9】
である、コンピュータ・プログラム製品を提供するのが好ましい。
【0014】
本発明は、正則化に使用される正則化方法がリッジ回帰(RR)であり、
【数10】
である、コンピュータ・プログラム製品を提供するのが好ましい。
【0015】
本発明は、1つまたは複数のDNAプロセッサによって、正則化からの条件付き期待値を各DNA鎖としてエンコードすることをさらに含んでいるコンピュータ・プログラム製品を提供するのが好ましく、エンコードすることおよび正則化は、各DNA鎖を介して互いに相互作用する。
【0016】
本発明は、エンコードすることが、1つまたは複数のDNAプロセッサによって、定義されたウィンドウ内の各ベータ値に基づいてヌクレオチドを増幅することと、増幅されたヌクレオチドを各核酸塩基としてエンコードすることと、エンコードされた核酸塩基を現在のDNA鎖に追加することと、正則化からのDNA鎖を追加からの現在のDNA鎖に連結することとを含んでいる、コンピュータ・プログラム製品を提供するのが好ましい。
【0017】
本発明は、2つ以上のプロセッサによって、各条件付き期待値におけるベータ値を変更することによって、正則化された条件付き期待値に対する外的影響を考慮に入れることをさらに含んでいるコンピュータ・プログラム製品を提供するのが好ましく、変更されたベータ値が、各外的影響の重みを増やすか、または減らす。
【0018】
別の視点から見ると、本発明は、メモリと、メモリと通信する2つ以上のプロセッサと、機械学習モデルを生成するための方法を実行するためにメモリを介して2つ以上のプロセッサによって実行可能なプログラム命令とを備えているシステムを提供し、この方法は、トレーニング・データ・セットを識別することと、初期ベータ値のウィンドウを定義することであって、この初期ベータ値が、各条件付き期待値における識別されたトレーニング・データ・セットに対するバイアスを表す、定義することと、トレーニング・データ・セットからの各特徴ベクトルに対応する各条件付き期待値を正則化することであって、条件付き期待値に対する正則化の2つ以上の方法が、特徴ベクトルごとに並列に実行される、正則化することと、正則化から生じる条件付き期待値から導出されたモデルの複数の集団を作成することと、作成された集団のうちの最良適合集団を機械学習モデルとして生成することであって、機械学習モデルが、トレーニング・データ・セットとは区別される入力に基づいて対象の結果を予測する、生成することとを含んでおり、2つ以上のプロセッサは、1つまたは複数のデジタル・プロセッサおよび1つまたは複数のDNAプロセッサを含む。
【0019】
本発明は、正則化することが、1つまたは複数のデジタル・プロセッサによって、正則化指標
【数11】
を各条件付き期待値に追加することを含んでおり、
【数12】
が残差平方和を示し、
【数13】
が、正則化方法に従う正則化の大きさのランクである、システムを提供するのが好ましい。
【0020】
本発明は、正則化に使用される正則化方法が、ラッソ回帰(LASSO)、リッジ回帰(RR)、および非正則化から選択され、正則化方法がLASSOである場合は
【数14】
であり、正則化方法がRRである場合は
【数15】
であり、正則化方法が非正則化である場合は、正則化が適用されていないことを示すR=0である、システムを提供するのが好ましい。
【0021】
本発明は、1つまたは複数のDNAプロセッサによって、正則化からの条件付き期待値を各DNA鎖としてエンコードすることをさらに含んでいるシステムを提供するのが好ましく、エンコードすることおよび正則化は、各DNA鎖を介して互いに相互作用する。
【0022】
本発明は、エンコードすることが、1つまたは複数のDNAプロセッサによって、定義されたウィンドウ内の各ベータ値に基づいてヌクレオチドを増幅することと、増幅されたヌクレオチドを各核酸塩基としてエンコードすることと、エンコードされた核酸塩基を現在のDNA鎖に追加することと、正則化からのDNA鎖を追加からの現在のDNA鎖に連結することとを含んでいる、システムを提供するのが好ましい。
【0023】
本発明は、2つ以上のプロセッサによって、各条件付き期待値におけるベータ値を変更することによって、正則化された条件付き期待値に対する外的影響を考慮に入れることをさらに含んでいるシステムを提供するのが好ましく、変更されたベータ値が、各外的影響の重みを増やすか、または減らす。
【0024】
別の態様から見ると、本発明は、機械学習モデルを生成するためのコンピュータ実装方法を提供し、このコンピュータ実装方法は、1つまたは複数のDNAプロセッサによって、条件付き期待値に対応するDNA鎖を構築することであって、この条件付き期待値が、トレーニング・データ・セットからの特徴ベクトルに対応する、構築することと、1つまたは複数のDNAプロセッサによって、構築からの条件付き期待値のベータ値に基づいてヌクレオチドを増幅することと、1つまたは複数のDNAプロセッサによって、増幅されたヌクレオチドを核酸塩基としてエンコードすることと、1つまたは複数のDNAプロセッサによって、エンコードされた核酸塩基を構築からのDNA鎖に追加することとを含む。
【0025】
本発明は、2つ以上のプロセッサによって、追加からのDNA鎖をデジタル・モデルに変換することと、2つ以上のプロセッサによって、変換からのデジタル・モデルを含んでいるデジタル・モデルの複数の集団を作成することと、2つ以上のプロセッサによって、作成された集団のうちの最良適合集団を機械学習モデルとして生成することであって、機械学習モデルが、トレーニング・データ・セットとは区別される入力に基づいて対象の結果を予測する、生成することとをさらに含んでいるコンピュータ実装方法を提供するのが好ましく、2つ以上のプロセッサは、1つまたは複数のデジタル・プロセッサおよび1つまたは複数のDNAプロセッサを含む。
【0026】
別の態様から見ると、本発明は、機械学習モデルを生成するためのコンピュータ実装方法を提供し、このコンピュータ実装方法は、1つまたは複数のDNAプロセッサによって、正則化指標を含んでいる条件付き期待値を取得することと、1つまたは複数のDNAプロセッサによって、取得からの条件付き期待値に対応するDNA鎖を構築することであって、条件付き期待値が、トレーニング・データ・セットからの特徴ベクトルに対応する、構築することと、1つまたは複数のDNAプロセッサによって、構築からの条件付き期待値のベータ値に基づいてヌクレオチドを増幅することと、1つまたは複数のDNAプロセッサによって、増幅されたヌクレオチドを核酸塩基としてエンコードすることと、1つまたは複数のDNAプロセッサによって、エンコードされた核酸塩基を構築からのDNA鎖に追加することと、1つまたは複数のDNAプロセッサによって、正則化方法に基づく核酸に対する数を含んでいる正則化されたDNA鎖を受信することと、1つまたは複数のDNAプロセッサによって、受信からの正則化されたDNAを追加からのDNA鎖に連結することとを含んでいる。
【0027】
本発明は、2つ以上のプロセッサによって、連結されたDNA鎖をデジタル・モデルに変換することと、2つ以上のプロセッサによって、変換からのデジタル・モデルを含んでいるデジタル・モデルの複数の集団を作成することと、2つ以上のプロセッサによって、作成された集団のうちの最良適合集団を機械学習モデルとして生成することであって、機械学習モデルが、トレーニング・データ・セットとは区別される入力に基づいて対象の結果を予測する、生成することとをさらに含んでいるコンピュータ実装方法を提供するのが好ましく、2つ以上のプロセッサは、1つまたは複数のデジタル・プロセッサおよび1つまたは複数のDNAプロセッサを含む。
【0028】
本発明は、正則化指標が
【数16】
であり、
【数17】
が残差平方和を示し、
【数18】
が、正則化方法に従う正則化の大きさのランクであり、正則化方法がラッソ回帰(LASSO)である場合、
【数19】
であり、正則化方法がリッジ回帰(RR)である場合、
【数20】
である、コンピュータ実装方法を提供するのが好ましい。
【0029】
その他の特徴が、本明細書において示された手法によって実現される。コンピュータ・プログラム製品およびシステムを含むが、これらに限定されない、本発明のその他の実施形態および態様は、本明細書において詳細に説明され、請求される発明の一部と見なされる。
【0030】
本発明の1つまたは複数の態様は、本明細書の最後にある特許請求の範囲において例として具体的に指摘され、明確に請求される。本発明の前述およびその他の目的、特徴、および長所は、添付の図面と併せて行われる以下の詳細な説明から明らかになる。
【図面の簡単な説明】
【0031】
図1】本明細書において示される1つまたは複数の実施形態に従って、DNA計算による機械学習のモデル化のためのシステムを示す図である。
図2】本明細書において示される1つまたは複数の実施形態に従って、システムのDNA機械学習エンジンによって実行される動作のフローチャートを示す図である。
図3】本明細書において示される1つまたは複数の実施形態に従って、システムの正則化プロセスおよびベータ・エンコーディング・プロセスによって実行される各動作のフローチャートを示す図である。
図4】本明細書において示される1つまたは複数の実施形態に従って、システムのDNA集団モデル化プロセスによって実行される動作のフローチャートを示す図である。
図5】本明細書において示される1つまたは複数の実施形態に従って、システムの正則化プロセスおよびベータ・エンコーディング・プロセスによって利用される方程式を示す図である。
図6】本発明の1つまたは複数の実施形態に従って、DNAに基づくコンピューティング・システムを示す図である。
図7】本発明の1つまたは複数の実施形態に従って、クラウド・コンピューティング・ノードを示す図である。
図8】本発明の1つまたは複数の実施形態に従って、クラウド・コンピューティング環境を示す図である。
図9】本発明の1つまたは複数の実施形態に従って、抽象モデル・レイヤを示す図である。
【発明を実施するための形態】
【0032】
図1は、本明細書において示される1つまたは複数の実施形態に従って、DNA計算による機械学習(ML)のモデル化のためのシステム100を示している。
【0033】
DNA計算は、デオキシリボ核酸(DNA)を使用する計算の一分野であり、DNAは、既知のすべての生命体および多くのウイルスの成長、発達、機能、および再生において使用される遺伝的指令を運ぶヌクレオチドの糸状の鎖である。したがって、DNA計算は、生化学、DNAナノテクノロジー、または分子生物学ハードウェア(molecular biology hardware)、あるいはその組み合わせも利用して、シリコンに基づく従来のコンピュータ・テクノロジーによってこれまで処理されていた問題を説明し、解決する。DNA計算は、従来のデジタル・コンピュータ技術と共に使用されてよい。DNA計算は、DNAの多くの異なる分子が、提示された問題に対する多くの異なる可能性または解あるいはその両方に対応する多くのDNA鎖を同時に形成するというDNAの側面を利用するため、DNA計算は、並列性の高い高速計算に関して特に有利である。
【0034】
機械学習(ML)によるモデル化との関連において、過学習とは、トレーニング・データにおける詳細およびノイズを学習することによって、そのような詳細およびノイズが、新しい入力データの適用時にモデルの性能に悪影響を与える程度まで、トレーニング・データを過剰に良くモデル化するモデル化の問題のことを指す。MLモデルの過学習を解決するには、トレーニング・データにおけるノイズおよびランダムな変動がMLモデルにモデル化されないように、トレーニング・データを正則化する必要がある。本明細書では、「正則化」という用語は、過学習および不均衡データなどの不良設定の機械学習モデルに伴う問題、ならびに特徴選択および特徴抽出のためのランダム変数の数を減らす次元縮小に伴う問題を解決するプロセスを示す。本明細書では、「過学習」という用語は、機械学習モデルに対して正則化を使用する目的を表すために使用される。
【0035】
システム100は、トレーニング・データ105からの学習に基づいてDNA集団モデル195を生成するDNA機械学習エンジン120を含んでいる。DNA機械学習エンジン120に対するトレーニング・データ105は、DNA集団モデル195と呼ばれる機械学習モデルをトレーニングするためのデータのセットである。述べたように、DNA機械学習エンジン120は、DNA集団モデル195における前述の不良設定問題を防ぐこと、または最小限に抑えること、あるいはその両方を行うように、トレーニング・データ105を正則化するために考案された。
【0036】
機械学習(ML)によるモデル化との関連において、機械学習エンジン120での過学習とは、トレーニング・データにおける詳細およびノイズを学習することによって、そのような詳細およびノイズが、新しい入力データの適用時にモデルの性能に悪影響を与える程度まで、トレーニング・データを過剰に良くモデル化するモデル化の問題のことを指す。MLモデルの過学習を解決するには、トレーニング・データにおけるノイズおよびランダムな変動がMLモデルにモデル化されないように、トレーニング・データを正則化する必要がある。
【0037】
DNA機械学習エンジン120は、ベータ値エンコーディング・プロセス130、DNA集団モデル化プロセス140、乱数発生器150、および1つまたは複数の正則化プロセス160を含んでいる。
【0038】
ベータ値エンコーディング・プロセス130は、バイアス値を含んでいる正則化方程式をDNA鎖にエンコードする。本明細書では、「ベータ値」、「ベータの大きさ」、「バイアス」、および「バイアス値」という用語は、交換可能なように使用される。他のプロセス140、150、および160との関係におけるベータ値エンコーディング・プロセス130の詳細な動作が、図2および3、ならびに対応する説明において示されている。本明細書では、「DNA鎖」および「DNA配列」という用語は、2つのDNA鎖を含んでいるDNA分子の二重らせん構造の半分である、ヌクレオチドと呼ばれるモノマー単位の連続を示すために、交換可能なように使用される。各ヌクレオチドは、シトシン(C)、グアニン(G)、アデニン(A)、またはチミン(T)という4つの核酸塩基のうちの1つを含んでいる。DNA計算は、Aが常にTと対になり、Cが常にGと対になるため、1つのDNA鎖が、同じDNA分子内の他のDNA鎖の補完的像になるという特性を利用する。
【0039】
DNA集団モデル化プロセス140は、ベータ値エンコーディング・プロセス130によってエンコードされたベータ値および1つまたは複数の正則化プロセス160によって正則化されているトレーニング・データ105に基づいて、DNA集団モデル195を生成する。他のプロセス130、150、および160との関係におけるDNA集団モデル化プロセス140の詳細な動作が、図2および対応する説明において示されている。DNA集団モデル化プロセス140の詳細な動作が、図4および対応する説明において示されている。
【0040】
1つまたは複数の正則化プロセス160は、過学習を解決することによって、機械学習モデルをより一般的に適用可能にするために、トレーニング・データ105の各インスタンスについて、図5ではラムダと呼ばれる正則化項を追加する。他のプロセス130、140、および150との関係における1つまたは複数の正則化プロセス160の詳細な動作が、図2および3、ならびに対応する説明において示されている。
【0041】
本発明の特定の実施形態では、1つまたは複数の正則化プロセス160が、それぞれラッソ回帰(LASSOまたはL1)正則化方法およびリッジ回帰(RRまたはL2)正則化方法を利用する2つの正則化プロセスとして実装される。トレーニング・データ105に対する係数の過学習を防ぐために、LASSO(L1)正則化およびリッジ回帰(L2)正則化は、両方とも各正則化項をモデル化方程式に追加する。LASSO(L1)正則化の正則化項は重みの和であり、一方、リッジ回帰(L2)正則化の正則化項は重みの平方和である。L1正則化およびL2正則化の両方の各方程式の例が、図5および対応する説明において示されている。
【0042】
DNA機械学習エンジン120は、並列処理の目的でDNAコンピュータ170に結合される。本発明の一実施形態では、DNAコンピュータ170は、ポリメラーゼ連鎖反応(PCR)コンポーネント、ゲル電気泳動コンポーネント、DNAエンコーダ、およびDNAデコーダを含むが、これらに限定されない、さまざまなコンポーネントを含んでいる。DNAコンピュータ170の例が、図6および対応する説明において示されている。DNA機械学習エンジン120は、従来のデータまたはユーザ・インターフェイスあるいはその両方の目的でデジタル・コンピュータ180にも結合される。
【0043】
本発明の特定の実施形態では、DNA機械学習エンジン120は、DNAコンピュータ170およびデジタル・コンピュータ180の両方を利用するハイブリッド・プロセスである。同じ実施形態において、DNA機械学習エンジン120は、デジタル技術に基づいて従来のデータ処理インフラストラクチャとインターフェイスをとるために、デジタル・コンピュータ180を利用すると同時に、DNA鎖としてエンコードされたデジタル・データを処理して並列性の高い高速動作を実現するために、DNAコンピュータ170を利用する。
【0044】
システム100は、正則化の原理をDNA機械学習に拡張し、DNA計算によって提供される複数の種類の正則化を並列に採用する機械学習を示す。システム100は、さまざまな種類の正則化から恩恵を受けて正確な予測を行うDNA集団モデル195を生成する。システム100は、正則化されたトレーニング・データに加えて正則化されていないトレーニング・データをDNA機械学習に利用することによって、DNA集団モデル195の候補モデルの組み合わせの数を指数関数的に増やす。システム100は、候補モデルの最良適合の組み合わせをDNA集団モデル195として決定するため、組み合わせの数を拡大することによって、機械学習に基づく予測の精度を大幅に改善する。
【0045】
図2は、本明細書において示される1つまたは複数の実施形態に従って、図1のDNA機械学習エンジン120によって実行される動作のフローチャートを示している。
【0046】
ブロック210で、DNA機械学習エンジン120は、DNA集団モデル195をトレーニングするためのトレーニング・データ105のセットを識別する。次にDNA機械学習エンジン120は、ブロック220に進む。
【0047】
本発明の一実施形態では、DNA機械学習エンジン120は、初期バイアス(β)、およびn個のトレーニング・データ・インスタンスに関する各バイアスとトレーニング・データ・インスタンスの積(β)の和として出力関数f(x)を定式化することにおいて、図5の単純な線形回帰方程式EQ LRを利用し、ここで、1≦j≦nである。
f(x)=β+β+...+β
【0048】
ブロック220で、DNA機械学習エンジン120は、初期ベータ値(β...β)を選択し、各初期ベータ値(βmn)を囲むウィンドウを定義する。次にDNA機械学習エンジン120は、ブロック230に進む。
【0049】
ベータ値は、述べたように、機械学習モデルのバイアスを示す。本発明の実施形態は、統計および機械学習において、大きいバイアス、またはバイアスを囲む大きすぎるウィンドウは、機械学習モデルが入力の特徴とターゲット出力の間の関連する関係を見逃すことを引き起こす可能性があり、これは過学習とは反対の種類の誤りである、ということを認識している。したがって、トレーニング・データを正則化して過学習問題を解決することは、ベータ値の各ウィンドウとバランスを取る必要があり、これは一般に、バイアスと分散の間のトレードオフとして知られている。
【0050】
本発明の一実施形態では、DNA機械学習エンジン120は、乱数発生器150を使用して乱数を生成し、その後、生成された乱数を既定の範囲に拡大縮小することによって、各ベータ値を選択する。ベータ値は定数ではないため、各ベータ値を囲むウィンドウは、各ベータ値が設定される範囲を表す。
【0051】
図5の期待値方程式EQ EXPでは、項
【数21】

が、変数(
【数22】

)の関数として(Y)の条件付き期待値を示し、項β0jは初期バイアス値であり、項βmnはウィンドウmnでのバイアス値(βmn)とトレーニング・データ105のインスタンス(x)の積を示す。各トレーニング・データ・インスタンス(x)は、特徴ベクトルとも呼ばれる。
【0052】
例えば、線形回帰方程式は
f(x)=β+β+β
であり、ここで図5のEQ LRから、n=2である。DNA機械学習エンジン120は、初期ベータ値、β、β、およびβをランダムに選択し、定数a、c、d、およびeを含む同じ式によって縮小する。DNA機械学習エンジン120は、第1のベータ値(β)に対する6のウィンドウ、第2のベータ値(β)に対する3のウィンドウ、および第3のベータ値(β)に対する5のウィンドウも定義する。
【0053】
【数23】
【0054】
その結果、各ベータ値に対して次のウィンドウが生成される。
β:β01=30,β02=42
β:β11=12,β12=18
β:β21=28,β22=38
ここで、2つのデータ点β01およびβ02は第1のベータ値(β)の範囲を示し、この範囲は、第1のベータ値に対する6のウィンドウの2倍のサイズである。第2および第3のベータ値は、2つのデータ点を含む各範囲で表される。
【0055】
下記の方程式EQ1~EQ8は、トレーニング・データ105からの特徴ベクトル(x)を前提として、ベータ値の確率を示している。他のベータ値および対応する線形結合が、第1のベータ値(β)の場合と同様に定式化できるため、方程式EQ1~EQ8では、第1のベータ値(β)のみが示されている。DNA機械学習エンジンは、既定の試行回数にわたって、確率を最大化するための選択肢について、次の方程式EQ1~EQ8を調べる。
【0056】
【数24】
【0057】
DNA機械学習エンジン120は、DNAコンピュータ170を使用して並列にブロック230、240、および250を実行する。本発明の特定の実施形態では、RRおよびLASSO以外の正則化方法が任意選択的に構成され、ブロック230、240、および250と共に並列に実行される。ブロック230、240、および250が並列に実行されるため、各ブロックの多数のスレッドが互いに相互作用する。ブロック230、240、および250の詳細な動作が、図3および対応する説明において示されている。
【0058】
ブロック230で、DNA機械学習エンジン120は、ブロック240のベータ値エンコーディング・プロセスと連動して、リッジ回帰(RRまたはL2)正則化によって、ブロック210からのトレーニング・データ・セットを正則化する。次にDNA機械学習エンジン120は、ブロック260に進む。
【0059】
ブロック240の1つのスレッドで、DNA機械学習エンジン120は、ブロック230のRR正則化プロセスからのベータ値および正則化指標を対応するDNA鎖にエンコードし、その後、さらに処理するために、連結されたDNA鎖をRR正則化プロセスに返す。ブロック240の別のスレッドで、DNA機械学習エンジン120は、ブロック250のLASSO正則化プロセスからのベータ値および正則化指標を対応するDNA鎖にエンコードし、その後、さらに処理するために、連結されたDNA鎖をLASSO正則化プロセスに返す。
【0060】
ブロック250で、ブロック230と同様に、DNA機械学習エンジン120は、ブロック240のベータ値エンコーディング・プロセスと連動して、ラッソ回帰(LASSOまたはL1)正則化によって、ブロック210からのトレーニング・データ・セットを正則化する。次にDNA機械学習エンジン120は、ブロック260に進む。
【0061】
ブロック260で、DNA機械学習エンジン120は、ブロック230、240、または250からの結果に基づくDNA鎖グループに基づいて、集団モデルを生成する。次にDNA機械学習エンジン120は、ブロック270に進む。ブロック260の詳細な動作が、図4および対応する説明において示されている。
【0062】
ブロック270で、DNA機械学習エンジン120は、ブロック260から生成された集団モデルがDNA集団モデル195に対して事前に設定された条件を満たすかどうかを判定する。DNA機械学習エンジン120が、ブロック260からの集団モデルがDNA集団モデル195に対して事前に設定された条件を満たしているということを決定した場合、DNA機械学習エンジン120はブロック280に進む。DNA機械学習エンジン120が、ブロック260からの集団モデルがDNA集団モデル195に対して事前に設定された条件を満たしていないということを決定した場合、DNA機械学習エンジン120はブロック230、240、および250のプロセスの並列ユニットにループバックする。
【0063】
本発明の特定の実施形態では、DNA集団モデル195に対して事前に設定された条件は、イベントの履歴データおよびリアルタイム・データ・フィードなどに基づいて、集団がイベント中の特定の結果が進行することを予測する際に集団によって行われる予測の、事前に設定された精度である。
【0064】
ブロック280で、DNA集団モデル195に対して事前に設定された条件が集団モデルによって満たされているため、DNA機械学習エンジン120が、ブロック270からの集団をDNA集団モデル195として生成する。2つ以上の集団がブロック270のテストに合格した場合、DNA集団モデル195が、トレーニング・データ・セットとは区別される入力に基づいて特定の精度で対象の結果を予測するように、DNA機械学習エンジン120が、最良適合集団をDNA集団モデル195として生成する。次にDNA機械学習エンジン120は、ブロック210から識別されたトレーニング・データ・セットの処理を終了する。
【0065】
図3は、本明細書において示される1つまたは複数の実施形態に従って、図2の正則化プロセス230、250、およびベータ・エンコーディング・プロセス240によって実行される各動作のフローチャートを示している。
【0066】
ブロック230またはブロック250のいずれかの代わりに、ブロック310、320、および330が、各スレッド内で正則化用のユニットとして実行される。図2のブロック230におけるRR正則化および図2のブロック250におけるLASSO正則化は、ブロック310、320、および330でDNAコンピュータ170によって実行する各スレッドを含んでいる。各正則化スレッドは、図2のベータ値エンコーディング・プロセス240と相互作用し、その詳細がブロック350、360、370、および380に示されている。
【0067】
ブロック310で、RR正則化プロセス230またはLASSO正則化プロセス250が、正則化指標(
【数25】

)を、図5のEQ EXP(
【数26】

)に示されている条件付き期待値を定式化する各方程式に追加する。
【0068】
その結果、RR正則化プロセス230またはLASSO正則化プロセス250は、図5のEQ REG、
【数27】

で正則化された条件付き期待値を生成し、この条件付き期待値は、データ転送、共有メモリ空間での記録、およびデジタル・コンピュータ180で従来使用できる任意のその他の方法を使用して、ブロック350で、ベータ値エンコーディング・プロセス240に使用可能にされる。次に、RR正則化プロセス230またはLASSO正則化プロセス250がブロック320に進む。
【0069】
期待値方程式EQ EXPと同様に、図5の正則化された期待値方程式EQ REGにおいて、項
【数28】

は、Yの条件付き期待値を変数(
【数29】

)の関数として示し、ここで、項β0jは初期バイアス値であり、項βmnはウィンドウmnでのバイアス値(βmn)とトレーニング・データ105のインスタンス(x)の積を示し、項(
【数30】

)はRR正則化プロセス230またはLASSO正則化プロセス250のいずれかに対する正則化指標である。Yは、DNA集団モデル195内の集団のうちの1つである。
【0070】
正則化指標(
【数31】

)は、図5のEQ RTで、RSSおよびRの和として表されており、ここで、RSSは残差平方和であり、Rは正則化の大きさのランク、または単に大きさである。
【0071】
【数32】

ここで、
【数33】
【0072】
RSSの項で、yはDNA集団モデル195内の各集団を表すラベルであり、xijはトレーニング・データ105内の各インスタンスを表す特徴ベクトルであり、βは初期ベータ値である。Rの項で、パラメータλはバイアスの許容誤差の範囲(通常は、範囲[0.01,10]内)を示す既定の正則化項であり、R(β)は正則化方法によって示される正則化項である。図5のEQ RRにも示されているように、リッジ回帰(RR)正則化230の正則化項は、重みの平方(
【数34】

)の和である。したがって、RR正則化230における正則化指標(
【数35】

)は次のように定式化される。
【0073】
【数36】
【0074】
図5のEQ LASSOに示されているように、LASSO正則化プロセス250の正則化項は、重み(R(β)=|β|)の和である。したがって、LASSO正則化250における正則化指標(
【数37】

)は次のように定式化される。
【0075】
【数38】
【0076】
本発明の実施形態は、RSSが最小化されるベータ値を推定するために、最小二乗法が従来使用されていたということを認識している。非常に大きいベータ値にペナルティを科すことによって、不均衡データの過学習を回避するため、および特徴選択を実行するために、正則化の大きさRが、最小化されたRSSに追加される。
【0077】
ブロック320で、RR正則化プロセス230またはLASSO正則化プロセス250が、正則化の大きさRをランク付けすることによって、追加する核酸の数を決定する。各正則化プロセス230または250は、核酸を示す決定された数を、ブロック380でベータ値エンコーディング・プロセス240に使用できるようにする。それに応じて、RR正則化プロセス230またはLASSO正則化プロセス250は、その後、ベータ値エンコーディング・プロセス240のブロック380から連結されたDNA鎖を受信する。次に、RR正則化プロセス230またはLASSO正則化プロセス250がブロック330に進む。
【0078】
ブロック330で、RR正則化プロセス230またはLASSO正則化プロセス250は、ベータ・エンコーディング・プロセス240のブロック380から受信されたDNA鎖を水素結合部位において中和することによって、ベータ値の可能性がある採用される組み合わせの数を減らす。
【0079】
中和された各DNA鎖は、液体内の運動が損なわれ、これによって、DNA鎖が、解に対応する他の既存のDNA鎖に結合することを少なくする。解に結合するDNA鎖を少なくすることによって、ベータ値の可能性がある採用される解の数を減らす。
【数39】

図5のEQ REG)をエンコードするDNA鎖が取り出される場合、その後の各解の相対数が、すべてのベータ値を一緒に結合するときに重みとして働く。ブロック330の最後で、RR正則化プロセス230またはLASSO正則化プロセス250は、DNAの形態での
【数40】

図5のEQ REG)のエンコーディングを完了する。
【0080】
ブロック310で述べたように、各正則化プロセスは、各正則化指標で表されるように、水素結合部位において中和された核酸が一緒につながれる方法に影響を与える。RR正則化プロセス230は、中和する核酸の数を決定するために、ランクの二乗を利用する。LASSO正則化プロセス250は、各ランクを利用する。絶対値を使用する任意のその他の正則化方法では、中和する核酸の数を決定するためのランクが選択される。
【0081】
前述したように、ベータ値エンコーディング・プロセス240の複数のスレッドが、それぞれ他の正則化スレッド(RR正則化プロセス230またはLASSO正則化プロセス250のいずれか)と相互作用する。
【0082】
ブロック350で、ベータ値エンコーディング・プロセス240は、ブロック310から受信された正則化方程式に対応するか、または直接ブロック220からの非正則化方程式に対応する、複数のDNA鎖を構築する。述べたように、ブロック310は、RR正則化プロセス230またはLASSO正則化プロセス250のいずれかをユニットとして実行するスレッドの一部である。本発明の一実施形態では、ベータ値エンコーディング・プロセス240は、並列処理のためにDNA鎖を複製することにおいて、ポリメラーゼ連鎖反応(PCR)を利用する。次にベータ値エンコーディング・プロセス240は、ブロック360に進む。
【0083】
ブロック360で、ベータ値エンコーディング・プロセス240が、ブロック220で定義されたウィンドウ内のベータ値の各大きさに基づいてヌクレオチドを増幅し、その後、増幅されたヌクレオチドを核酸塩基レベルでエンコードする。本発明の実施形態は、ヌクレオチドがDNA鎖の構成要素であるということを認識している。次にベータ値エンコーディング・プロセス240は、ブロック370に進む。
【0084】
ブロック370で、ベータ値エンコーディング・プロセス240が、ブロック360からのエンコードされた核酸塩基を、ブロック350で構築された現在のDNA鎖に追加する。次にベータ値エンコーディング・プロセス240は、ブロック380に進む。
【0085】
ブロック380で、ベータ値エンコーディング・プロセス240は、ブロック320からの正則化されDNA鎖を現在のDNA鎖に連結し、連結されたDNA鎖を、RR正則化プロセス230またはLASSO正則化プロセス250のいずれかのブロック320に使用できるようにする。代替として、ベータ値エンコーディング・プロセス240が現在のDNA鎖を生成し、ブロック350で構築された現在のDNA鎖が、非正則化方程式に対応する。次に、ベータ値エンコーディング・プロセス240が、ブロック350から構築された現在のDNA鎖のエンコーディングを終了する。
【0086】
図4は、本明細書において示される1つまたは複数の実施形態に従って、図2のDNA集団モデル化プロセス260によって実行される動作のフローチャートを示している。
【0087】
ブロック410で、DNA集団モデル化プロセス260は、熱または圧力あるいはその両方などの外的影響に伴ってベータ値を変更することによって、正則化プロセス230、250のブロック330の結果から新しい結果を生成する。DNA集団モデル化プロセス260は、ベータ値を増やすことによって、条件付き期待値に対する外的影響に対応する重みを減らす。ベータ値を減らすことによって、条件付き期待値における外的影響の重みが増やされ、外的影響と対象の結果の間の関係がより密接にモデル化される。次にDNA集団モデル化プロセス260は、ブロック420に進む。
【0088】
ブロック420で、DNA集団モデル化プロセス260は、ゲル電気泳動を新しい結果に適用することによって、ブロック410から生成された新しい結果を分離する。次にDNA集団モデル化プロセス260は、ブロック430に進む。
【0089】
ゲル電気泳動は、解析される高分子のサイズおよび電荷に基づく、DNAまたはリボ核酸(RNA)あるいはその両方およびそれらの断片などの高分子の分離および解析のための方法である。生化学および分子生物学において、ゲル電気泳動は、DNA/RNA断片の混合集団を長さによって分離して、DNA/RNA断片のサイズを推定するため、または電荷によってタンパク質を分離するために使用されるということが、確立されている。
【0090】
ブロック430で、DNA集団モデル化プロセス260は、長さによって、ブロック420から生じるDNA鎖を事前に定義された数のグループに分離する。DNA鎖の長さまたはサイズは、エンコードされて変更されている各ベータ値を示す。次にDNA集団モデル化プロセス260は、ブロック440に進む。
【0091】
ブロック440で、DNA集団モデル化プロセス260が、正則化の種類に基づいて、ブロック430の各グループからサンプルを作成する。したがって、RR正則化プロセス230およびLASSO正則化プロセス250が採用される実施形態では、DNA集団モデル化プロセス260が、RR正則化プロセス230によって正則化されたDNA鎖の1つのグループ、およびLASSO正則化プロセス250によって正則化されたDNA鎖の別のグループに特有の長さによって、多数のサンプルを作成する。次にDNA集団モデル化プロセス260は、ブロック450に進む。
【0092】
ブロック450で、DNA集団モデル化プロセス260は、ブロック440からサンプリングされた長さごと、正則化方法ごとのDNAサンプルを、デジタル・モデルに変換する。デジタル・データの形態へのDNA鎖の変換は、DNAデコーディングまたは単にデコーディングとも呼ばれる。次にDNA集団モデル化プロセス260は、ブロック460に進む。
【0093】
ブロック460で、DNA集団モデル化プロセス260は、各長さの正則化グループに対して、デジタル・モデルから1つまたは複数のDNA集団を作成する。次にDNA集団モデル化プロセス260は、ブロック470に進む。
【0094】
本発明の特定の実施形態では、DNA集団モデル化プロセス260は、それぞれ正則化されたDNA入力に加えて、正則化されていないDNA入力を使用してよい。本発明の同じ実施形態では、DNA集団モデル化プロセス260が、それぞれ、正則化されていないサンプルから、RRによって正則化されている別のサンプルから、およびLASSOによって正則化されているさらに別のサンプルからの3つの組み合わせを含んでいるDNA集団を作成する。したがって、DNA集団モデル化プロセス260は、正則化された入力に基づいて9つの可能性のある組み合わせを生成し、その後、図3のブロック370でのように、正則化されていないエンコード済み核酸塩基を正則化されたエンコード済みDNA鎖に追加することによって、DNA集団モデル化プロセス260は、27個の組み合わせ候補を生成し、これらの組み合わせ候補から、DNA集団モデル195の最良適合が決定される。組み合わせ候補の数は、(n!/(k!(n-k)!))として計算され、ここで、nは要素の数を示し、kは一緒に選択する要素の数を示す。
【0095】
ブロック470で、DNA集団モデル化プロセス260が、DNA集団に基づく予測における精度の特定のパーセンテージなどの、事前に設定された基準に従って、ブロック460から作成された1つまたは複数のDNA集団をテストする。次にDNA集団モデル化プロセス260は、図2のブロック270に進む。
【0096】
図2~4に示された動作に従って、本発明の一実施形態では、DNA機械学習エンジン120が、テニスの試合中の任意の時点で試合の結果を予測するために、DNA集団モデルを生成する。入力データは、初期履歴データ、リアルタイム・データ・フィード、およびソーシャル・データを含んでよい。初期履歴データは、各プレイヤーの現在の記録、各プレイヤーの現在の公式ランキング、プレイヤー間の以前の試合結果、気温、湿度を含む以前の試合の各々の気象条件、オーストラリア、フランス、米国を含むトーナメントの場所/国ごとの記録、およびハード、クレー、芝生を含むコートの種類ごとの記録を含むが、これらに限定されない。リアルタイム・データ・フィードは、現在のセット・スコア、現在のゲーム・スコア、凡ミスの数、およびファースト・サーブのパーセンテージを含むが、これらに限定されない。ソーシャル・データは、各ソーシャル・ネットワークにおける人気、各プレイヤーの検索ランキング/ヒット数を含むが、これらに限定されない。
【0097】
各データ項目の各インスタンスは、テニスの試合の結果を予測するためのDNA集団モデルを生成するプロセスにおいて、図2のブロック220での初期ベータ値として選択される、独立変数である。DNA機械学習エンジン120は、現在の試合に適用できない重みにペナルティを科すために、2つの異なる種類の正則化を使用する。例えば、DNA機械学習エンジン120は、現在の試合が芝生コート上である場合、クレー・コート上の試合に関するプレイヤーの記録には、芝生コート上の記録ほどには重みを付けない。
【0098】
DNA機械学習エンジン120は、モデルの前述の目的に従って、図1のブロック210でモデルのセットをトレーニングするためのトレーニング・データ・セットを最初に取得する。DNA機械学習エンジン120は、前述の例からのすべてのデータ項目について、モデルのセットの各モデルを開始する。DNA機械学習エンジン120は、ブロック240で各モデルをDNA鎖に変換するために、線形回帰および正則化指標に基づいて同じ構成を共有しながら、RRおよびLASSO(それぞれ、ブロック230および250)という2種類の正則化を開始する。DNA機械学習エンジン120は、ベータ値エンコーディング・プロセス240においてPCRを介して、正則化項のペナルティを増幅する。ブロック260で、DNA機械学習エンジン120は、ブロック410で、連結された正則化済みのDNA鎖がモデルに影響を与える方法を変更するための外部因子を追加し、ブロック420および430で、ゲル電気泳動を介して、鎖の長さに基づいてDNA鎖を並べ替え、ブロック450で、DNA鎖をデジタル・モデルにデコードし、その後ブロック460で、複数の集団モデルを作成する。DNA機械学習エンジン120は、テスト・データ・セットを使用して各集団モデルをテストする。集団モデルが特定の基準を満たさない場合、DNA機械学習エンジン120は、エンコーディングおよび正則化、それに続く集団の変更および作成を、ユニットとして繰り返す。
【0099】
この集団モデルは、履歴データおよびリアルタイム・データ・フィードを使用して、現在のテニスの試合のスコアを試合中の任意の時点で予測するためのものである。
【0100】
図5は、本明細書において示される1つまたは複数の実施形態に従って、正則化プロセス230、250、およびベータ・エンコーディング・プロセス240において利用される方程式を示している。
【0101】
方程式EQ LRは、線形回帰方程式の一般化された形態である。DNA機械学習エンジン120との関連において、方程式EQ LRの詳細が、図3のブロック210および220の説明に示されている。
【0102】
方程式EQ EXPは、特徴ベクトルを条件とする期待値方程式である。DNA機械学習エンジン120との関連において、方程式EQ EXPの詳細が、図2のブロック220および図3のブロック310の説明に示されている。
【0103】
方程式EQ REGは、正則化指標を含んでいる正則化された条件付き期待値方程式である。DNA機械学習エンジン120との関連において、方程式EQ REGの詳細が、図3のブロック310および330の説明に示されている。
【0104】
方程式EQ RTは、正則化された期待値方程式の正則化指標である。DNA機械学習エンジン120との関連において、方程式EQ RTの詳細が、図3のブロック310の説明に示されている。
【0105】
方程式EQ RRは、リッジ回帰(RR)正則化プロセス230の正則化項である。DNA機械学習エンジン120との関連において、方程式EQ RRの詳細が、図3のブロック310の説明に示されている。
【0106】
方程式EQ LASSOは、ラッソ回帰(LASSO)正則化プロセス250の正則化項である。DNA機械学習エンジン120との関連において、方程式EQ LASSOの詳細が、図3のブロック310の説明に示されている。
【0107】
本発明の特定の実施形態は、機械学習モデルを生成するための候補モデルの組み合わせの数を拡大すること、およびその結果、機械学習モデルによって行われる予測の精度を改善することを含む、さまざまな技術計算の利点を提供することができる。本発明の特定の実施形態は、DNA計算を利用することによって、さまざまな事前に選択された方法を並列に使用してトレーニング・データを正則化する。本発明の特定の実施形態は、DNAコンピュータを使用して、正則化されていないトレーニング・データおよび正則化されたトレーニング・データの両方を並列に利用することによって、機械学習モデルの候補モデルの組み合わせの数を指数関数的に増やす。本発明の特定の実施形態は、予約されるスケジューリング・サービスの種類に基づいて、SaaS(Software-as-a-Service)、PaaS(Platform-as-a-Service)、DBaaS(Database-as-a-Service)、およびこれらの組み合わせを含むさまざまな種類のクラウド・プラットフォーム/データセンターを使用して実装されてよい。したがって、グループ内の協力のためのスケジューリング・サービスが、世界中の任意の場所から、それらを必要としている任意の種類の実体に提供されてよい。
【0108】
図6は、本発明の1つまたは複数の実施形態に従って、DNAに基づくコンピューティング・システム600を示している。
【0109】
述べたように、本発明の実施形態は、DNA計算の確立された計算フェーズが、(1)DNAに基づくソース入力605を使用することによる問題のパラメータ・ツリーの形成、(2)特定のDNA配列への問題のエンコーディング、(3)設計プールおよび方法プールならびにそれらの再結合を含むDNAプールから事前に選択されたハイブリダイゼーション方法を利用することによる、さまざまなDNA配列間のハイブリダイズ、(4)特定の望ましいDNA配列の抽出を含むDNAの突然変異、(5)パラメータ-問題の文脈に戻す、抽出されたDNA配列のグラフィカルなデコーディング、ならびに(6)DNAプール内のDNA計算問題の時間要件および空間要件の改善を試みるコード最適化を含むということを、認識する。前述の計算フェーズの最後で、DNAターゲット出力695が生成される。本発明の実施形態は、DNAターゲット出力695が、DNA計算および従来のデジタル計算の両方を利用して、ハイブリッド・コンピューティング・システムにおいて計算可能なデジタル出力に変換されるということも認識する。
【0110】
DNAに基づくコンピュータ610のDNA鎖全体が、能動コンポーネントおよび受動コンポーネントという2つの部分に分割される。
【0111】
能動コンポーネントは、ハイブリダイゼーション(フェーズ3)に関与する。このコンポーネントは、アーキテクチャの詳細および命令セットの詳細を表す。能動コンポーネントは、エンコーディング段階(フェーズ2)において作成され、ハイブリダイゼーション段階(フェーズ3)において拡大され、エンコーディング段階では基本的なアーキテクチャの詳細がDNA文字列に追加され、再結合段階(フェーズ3)の間に、より細かい特徴がDNA文字列に追加されるということを示す。基本的なアーキテクチャの詳細の例としては、128ビットの命令長が挙げられるが、これに限定されない。より細かい特徴の詳細の例としては、桁上げ保存加算器(CSA:Carry Save Adder)の使用が挙げられるが、これに限定されない。
【0112】
受動コンポーネントは、突然変異段階(フェーズ4)において形成される。受動コンポーネントは、DNAに基づくコンピュータ610の有限状態マシン(FSM:Finite State Machine)記述、ネットリスト、および基本配置の詳細を含む。「ネットリスト」は、電子設計のさまざまなコンポーネント間の接続を定義し、「配置」は、DNAに基づくコンピュータ610のコア領域内のさまざまなコンポーネントに正確な位置を割り当てるプロセスである。さまざまなDNAに基づくコンピュータの能動コンポーネントは、ハイブリダイゼーション段階(フェーズ3)の間に互いに反応し、一方、受動コンポーネントは、突然変異段階(フェーズ4)の間に形成される。受動コンポーネントは、ハイブリダイゼーション段階の間に能動的に関与しないが、2つの相互作用するDNAに基づくコンピュータのFSMの詳細は、各命令セットに基づいて子孫によって継承される。次に、継承されたFSMが、子孫の実際のFSMを形成するためのガイドラインとして使用される。
【0113】
DNAに基づくコンピュータ610は、DNAに基づく電界効果トランジスタ(DNAFET)620、DNAに基づくストレージ・システム630、およびDNAマイクロアレイ640を含む。
【0114】
DNAFET620は、バイオセンサとして機能するように、DNA分子の部分電荷に起因する電界効果を使用する、電界効果トランジスタである。バイオセンサは、分析物を検出する分析デバイスとして働く。この分析物は、生物学的コンポーネントを物理化学的検出器に結合する。バイオセンサは、通常、生物学的認識コンポーネント、バイオトランスデューサ・コンポーネント、ならびに信号増幅器、プロセッサ、およびディスプレイなどの電子システムを含む。トランスデューサおよび電子システムを、相補型金属酸化膜半導体(CMOS)に基づくマイクロセンサ・システムとして結合することができる。トランジスタが、電子機器内の回路に沿った電子の流れを制御するように、生物学において、DNAに基づくトランジスタ(トランスクリプタと呼ばれる)は、トランスクリプタがDNA鎖に沿って移動するときに、特定のタンパク質(RNAポリメラーゼ)の流れを制御する。
【0115】
DNAに基づくストレージ・システム630は、DNAに基づくコンピュータ610内のDNAの塩基配列にデジタル・データを格納する。DNAに基づくストレージ・システム630は、電子機器におけるようなシリコン・チップを使用する代わりに、生きている細胞内でデータを記録するために使用される。したがって、DNAに基づくストレージ・システム630は、発達、老化、および癌に発生する変化などの細胞の過程を研究するために、細胞分裂の追跡を可能にする。DNAに基づくストレージ・システム630は、市販されているオリゴヌクレオチド合成装置を格納に使用し、DNA塩基配列決定装置を取り出しに使用して作成された、人工DNAを使用する。ビットおよび対応するDNA塩基をマッピングする単純なコードが使用されてきたが、そのようなコードは、同じ塩基が長く続くことをもたらし、その結果、そのような長いDNA塩基配列が誤りを引き起こしやすいということが知られている。DNAに基づくストレージ・システム630は、ハード・ドライブおよび磁気テープなどの、さまざまな種類のストレージ媒体を実装する。
【0116】
DNAマイクロアレイ640は、小型の固体支持体であり、これらの固体支持体の上の固定位置に、数千の異なる遺伝子からのDNA配列が固定されるか、または取り付けられる。支持体の例としては、顕微鏡のスライド・ガラス、シリコン・チップ、およびナイロン膜が挙げられるが、これらに限定されない。処理対象のDNA鎖が、支持体の上に印刷されるか、配置されるか、または直接合成される。その結果、DNAマイクロアレイ640内の各点は、DNA、相補的DNA(cDNA)、またはオリゴヌクレオチドのいずれかになる。デジタル・コンピュータに支援されて、マイクロアレイ上の各点に結び付けられたメッセンジャーRNA(mRNA)の量が正確に測定され、細胞内の遺伝子発現のプロファイルを生成する。DNAマイクロアレイ640内の点を使用することによって、特定の遺伝子配列または遺伝子突然変異あるいはその両方を識別するために、マイクロアレイ内の遺伝子配列が、規則に従う方法または固定された方法で、支持体に取り付けられる。DNAマイクロアレイ640は、サンプル内の遺伝子がどの程度豊富であるかを示す、サンプル内の遺伝子の発現レベルを決定するため、または細胞内の2つ以上の異なる種類での遺伝子転写を比較するためにも使用される。
【0117】
DNAに基づくコンピュータ610は、DNAFETまたはプロセッサ620、DNAに基づくストレージ・システム630、およびDNAマイクロアレイ640の各機能に対応する各目的を持っている、さまざまなDNAプールの集合として、DNAプール620を含んでいる。DNAプールは、互いに相互作用する設計プールおよび方法プールを含んでいる。設計プールは、DNAFET620および複数の異なる機能ユニットにおけるような、さまざまな処理コンポーネントの完全な各設計を格納するということが知られている。マイクロプロセッサのアーキテクチャの詳細、命令セット、およびFSM設計が、DNA配列として設計プールに格納される。DNAFET620におけるように、プロセッサ文字列が、取り出しを容易にするために、インデックス付けされた配列形式で格納される。DNAFET620におけるように、各プロセッサが効力係数に関連付けられ、この効力係数は、特定の特性(指標)を有する子孫を生成することにおけるプロセッサの能力を示す。方法プールは、ハイブリダイゼーション段階(フェーズ3)において使用されるさまざまな発見的問題解決法およびそれらの各有効性値を格納する。
【0118】
図7~9は、本明細書において示された1つまたは複数の態様に従って、クラウド・コンピューティング・システムを含む、計算のさまざまな態様を示している。
【0119】
本開示にはクラウド・コンピューティングに関する詳細な説明が含まれているが、本明細書において示された内容の実装は、クラウド・コンピューティング環境に限定されないと理解されるべきである。本発明の実施形態は、現在既知であるか、または今後開発される任意のその他の種類のコンピューティング環境と組み合わせて実装できる。
【0120】
クラウド・コンピューティングは、構成可能な計算リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールへの便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス提供モデルであり、管理上の手間またはサービス・プロバイダとのやりとりを最小限に抑えて、これらのリソースを迅速にプロビジョニングおよび解放することができる。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、および少なくとも4つのデプロイメント・モデルを含むことができる。
【0121】
特徴は、次のとおりである。
オンデマンドのセルフ・サービス:クラウドの利用者は、サーバの時間、ネットワーク・ストレージなどの計算能力を一方的に、サービス・プロバイダとの人間的なやりとりを必要とせず、必要に応じて自動的にプロビジョニングすることができる。
幅広いネットワーク・アクセス:能力は、ネットワークを経由して利用可能であり、標準的なメカニズムを使用してアクセスできるため、異種のシン・クライアントまたはシック・クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、およびPDA)による利用を促進する。
リソース・プール:プロバイダの計算リソースは、プールされ、マルチテナント・モデルを使用して複数の利用者に提供される。さまざまな物理的および仮想的リソースが、需要に従って動的に割り当ておよび再割り当てされる。場所に依存しないという感覚があり、利用者は通常、提供されるリソースの正確な場所に関して管理することも知ることもないが、さらに高い抽象レベルで場所(例えば、国、州、またはデータセンター)を指定できる場合がある。
迅速な順応性:能力は、迅速かつ柔軟に、場合によっては自動的にプロビジョニングされ、素早くスケールアウトし、迅速に解放されて素早くスケールインすることができる。プロビジョニングに使用できる能力は、利用者には、多くの場合、無限に見え、任意の量をいつでも購入できる。
測定されるサービス:クラウド・システムは、計測機能を活用することによって、サービスの種類(例えば、ストレージ、処理、帯域幅、およびアクティブなユーザのアカウント)に適した抽象レベルで、リソースの使用を自動的に制御および最適化する。リソースの使用量は監視、制御、および報告することができ、利用されるサービスのプロバイダと利用者の両方に透明性が提供される。
【0122】
サービス・モデルは、次のとおりである。
SaaS(Software as a Service):利用者に提供される能力は、クラウド・インフラストラクチャ上で稼働しているプロバイダのアプリケーションの利用である。それらのアプリケーションは、Webブラウザなどのシン・クライアント・インターフェイスを介して、さまざまなクライアント・デバイスからアクセスできる(例えば、Webベースの電子メール)。利用者は、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個々のアプリケーション機能を含む基盤になるクラウド・インフラストラクチャを、限定的なユーザ固有のアプリケーション構成設定を行う可能性を除き、管理することも制御することもない。
PaaS(Platform as a Service):利用者に提供される能力は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、利用者が作成または取得したアプリケーションをクラウド・インフラストラクチャにデプロイすることである。利用者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基盤になるクラウド・インフラストラクチャを管理することも制御することもないが、デプロイされたアプリケーション、および場合によってはアプリケーション・ホスティング環境の構成を制御することができる。
IaaS(Infrastructure as a Service):利用者に提供される能力は、処理、ストレージ、ネットワーク、およびその他の基本的な計算リソースのプロビジョニングであり、利用者は、オペレーティング・システムおよびアプリケーションを含むことができる任意のソフトウェアをデプロイして実行できる。利用者は、基盤になるクラウド・インフラストラクチャを管理することも制御することもないが、オペレーティング・システム、ストレージ、およびデプロイされたアプリケーションを制御することができ、場合によっては、選択されたネットワーク・コンポーネント(例えば、ホスト・ファイアウォール)を限定的に制御できる。
【0123】
デプロイメント・モデルは、次のとおりである。
プライベート・クラウド:このクラウド・インフラストラクチャは、ある組織のためにのみ運用される。この組織またはサード・パーティによって管理することができ、オンプレミスまたはオフプレミスに存在することができる。
コミュニティ・クラウド:このクラウド・インフラストラクチャは、複数の組織によって共有され、共有する関心事(例えば、任務、セキュリティ要件、ポリシー、およびコンプライアンスに関する考慮事項)を共有している特定のコミュニティをサポートする。これらの組織またはサード・パーティによって管理することができ、オンプレミスまたはオフプレミスに存在することができる。
パブリック・クラウド:このクラウド・インフラストラクチャは、一般公衆または大規模な業界団体が使用できるようになっており、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:このクラウド・インフラストラクチャは、データとアプリケーションの移植を可能にする標準化された技術またはプロプライエタリな技術(例えば、クラウド間の負荷バランスを調整するためのクラウド・バースト)によって固有の実体を残したまま互いに結合された2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の複合である。
【0124】
クラウド・コンピューティング環境は、ステートレス、疎結合、モジュール性、および意味的相互運用性に重点を置いたサービス指向の環境である。クラウド・コンピューティングの中心になるのは、相互接続されたノードのネットワークを含んでいるインフラストラクチャである。
【0125】
ここで図7を参照すると、コンピュータ・システム/クラウド・コンピューティング・ノードの例の概略図が示されている。クラウド・コンピューティング・ノード10は、適切なクラウド・コンピューティング・ノードの一例に過ぎず、本明細書に記載された本発明の実施形態の使用または機能の範囲に関して、いかなる制限を示唆することも意図されていない。いずれにせよ、クラウド・コンピューティング・ノード10は、前述した機能のいずれかを実装すること、または実行すること、あるいはその両方を行うことができる。
【0126】
クラウド・コンピューティング・ノード10内には、他の多数の汎用または専用のコンピューティング・システム環境または構成で運用できるコンピュータ・システム12が存在する。コンピュータ・システム12と共に使用するのに適した周知のコンピューティング・システム、環境、または構成、あるいはその組み合わせの例としては、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップ・デバイス、マイクロプロセッサ・システム、マイクロプロセッサベース・システム、セット・トップ・ボックス、プログラマブル・コンシューマ・エレクトロニクス、ネットワークPC、マイクロコンピュータ・システム、メインフレーム・コンピュータ・システム、およびこれらの任意のシステムまたはデバイスを含む分散クラウド・コンピューティング環境などが挙げられるが、これらに限定されない。
【0127】
コンピュータ・システム12は、コンピュータ・システムによって実行されているプログラム・プロセスなどの、コンピュータ・システムによって実行可能な命令との一般的な関連において説明されてよい。通常、プログラム・プロセスは、特定のタスクを実行するか、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、論理、データ構造などを含んでよい。コンピュータ・システム12は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される、分散クラウド・コンピューティング環境内で実践されてよい。分散クラウド・コンピューティング環境において、プログラム・プロセスは、メモリ・ストレージ・デバイスを含む、ローカルおよびリモートの両方のコンピュータ・システム・ストレージ媒体に配置されてよい。
【0128】
図7に示すように、クラウド・コンピューティング・ノード10内のコンピュータ・システム12は、汎用コンピューティング・デバイスの形態で示されている。コンピュータ・システム12のコンポーネントは、1つまたは複数のプロセッサ16、システム・メモリ28、およびシステム・メモリ28を含むさまざまなシステム・コンポーネントをプロセッサ16に結合するバス18を含んでよいが、これらに限定されない。
【0129】
バス18は、メモリ・バスまたはメモリ・コントローラ、ペリフェラル・バス、アクセラレーテッド・グラフィックス・ポート、および任意のさまざまなバス・アーキテクチャを使用するプロセッサまたはローカル・バスを含む、任意の複数の種類のバス構造のうちの1つまたは複数を表す。例として、そのようなアーキテクチャは、ISA(Industry Standard Architecture)バス、MCA(Micro Channel Architecture)バス、EISA(Enhanced ISA)バス、VESA(Video Electronics Standards Association)ローカル・バス、およびPCI(Peripheral Component Interconnects)バスを含むが、これらに限定されない。
【0130】
コンピュータ・システム12は、通常、さまざまなコンピュータ・システム可読媒体を含む。そのような媒体は、コンピュータ・システム12によってアクセスできる任意の使用可能な媒体であってよく、揮発性および不揮発性媒体、取り外し可能および取り外し不可の媒体を含む。
【0131】
システム・メモリ28は、ランダム・アクセス・メモリ(RAM)30またはキャッシュ・メモリ32あるいはその両方などの、揮発性メモリの形態でのコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム12は、その他の取り外し可能/取り外し不可、揮発性/不揮発性のコンピュータ・システム・ストレージ媒体をさらに含んでよい。単に例として、取り外し不可、不揮発性の磁気媒体(図示せず。通常は「ハード・ドライブ」と呼ばれる)に対する読み取りと書き込みを行うために、ストレージ・システム34を提供することができる。図示されていないが、取り外し可能、不揮発性の磁気ディスク(例えば、「フロッピー(R)・ディスク」)に対する読み取りと書き込みを行うための磁気ディスク・ドライブ、およびCD-ROM、DVD-ROM、またはその他の光媒体などの取り外し可能、不揮発性の光ディスクに対する読み取りと書き込みを行うための光ディスク・ドライブを提供することができる。そのような例では、それぞれを、1つまたは複数のデータ媒体インターフェイスによってバス18に接続することができる。下で詳細に示され、説明されているように、メモリ28は、本発明の実施形態の機能を実行するように構成されたプログラム・プロセスのセット(例えば、少なくとも1つの)を備える少なくとも1つのプログラム製品を含んでよい。
【0132】
プログラム・プロセス42のセット(少なくとも1つの)を含んでいる1つまたは複数のプログラム40がメモリ28に格納されてよく、これに限定されないが、例えば、オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、その他のプログラム・プロセス、およびプログラム・データが格納されてよい。オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、その他のプログラム・プロセス、およびプログラム・データまたはこれらの組み合わせの各々は、図1のDNA機械学習エンジン120の実装を含んでよい。プログラム・プロセス42は、DNA機械学習エンジン120におけるように、通常、本明細書に記載された本発明の実施形態の機能または方法あるいはその両方を実行する。
【0133】
また、コンピュータ・システム12は、キーボード、ポインティング・デバイス、ディスプレイ24などの1つまたは複数の外部デバイス14、ユーザがコンピュータ・システム12と相互作用できるようにする1つまたは複数のデバイス、またはコンピュータ・システム12が1つまたは複数の他のコンピューティング・デバイスと通信できるようにする任意のデバイス(例えば、ネットワーク・カード、モデムなど)、あるいはその組み合わせと通信してもよい。そのような通信は、入出力(I/O)インターフェイス22を介して行うことができる。さらに、コンピュータ・システム12は、ローカル・エリア・ネットワーク(LAN)、一般的な広域ネットワーク(WAN)、またはパブリック・ネットワーク(例えば、インターネット)、あるいはその組み合わせなどの1つまたは複数のネットワークと、ネットワーク・アダプタ20を介して通信することができる。図に示されているように、ネットワーク・アダプタ20は、バス18を介してコンピュータ・システム12の他のコンポーネントと通信する。図示されていないが、その他のハードウェア・コンポーネントまたはソフトウェア・コンポーネントあるいはその両方を、コンピュータ・システム12と併用できるということが理解されるべきである。その例として、マイクロコード、デバイス・ドライバ、冗長プロセッサ、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイブ・ストレージ・システムなどが挙げられるが、これらに限定されない。
【0134】
ここで図8を参照すると、例示的なクラウド・コンピューティング環境50が示されている。図示されているように、クラウド・コンピューティング環境50は、クラウドの利用者によって使用されるローカル・コンピューティング・デバイス(例えば、パーソナル・デジタル・アシスタント(PDA)または携帯電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、または自動車コンピュータ・システム54N、あるいはその組み合わせなど)が通信できる1つまたは複数のクラウド・コンピューティング・ノード10を含んでいる。ノード10は、互いに通信してよい。ノード10は本明細書において前述されたプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、またはハイブリッド・クラウド、あるいはこれらの組み合わせなどの1つまたは複数のネットワーク内で、物理的または仮想的にグループ化されてよい(図示せず)。これによって、クラウド・コンピューティング環境50は、クラウドの利用者がローカル・コンピューティング・デバイス上でリソースを維持する必要のないインフラストラクチャ、プラットフォーム、またはSaaS、あるいはその組み合わせを提供できる。図8に示されたコンピューティング・デバイス54A~Nの種類は、例示のみが意図されており、コンピューティング・ノード10およびクラウド・コンピューティング環境50は、任意の種類のネットワークまたはネットワーク・アドレス可能な接続(例えば、Webブラウザを使用した接続)あるいはその両方を経由して任意の種類のコンピュータ制御デバイスと通信することができると理解される。
【0135】
ここで図9を参照すると、クラウド・コンピューティング環境50(図8)によって提供される機能的抽象レイヤのセットが示されている。図9に示されたコンポーネント、レイヤ、および機能は、例示のみが意図されており、本発明の実施形態がこれらに限定されないということが、あらかじめ理解されるべきである。図示されているように、次のレイヤおよび対応する機能が提供される。
【0136】
ハードウェアおよびソフトウェア・レイヤ60は、ハードウェア・コンポーネントおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例としては、メインフレーム61、RISC(Reduced Instruction Set Computer)アーキテクチャベースのサーバ62、サーバ63、ブレード・サーバ64、ストレージ・デバイス65、ならびにネットワークおよびネットワーク・コンポーネント66が挙げられる。一部の実施形態では、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア67およびデータベース・ソフトウェア68を含む。
【0137】
仮想化レイヤ70は、仮想サーバ71、仮想ストレージ72、仮想プライベート・ネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティング・システム74、ならびに仮想クライアント75などの仮想的実体の例を提供できる抽象レイヤを備える。
【0138】
一例を挙げると、管理レイヤ80は、以下で説明される機能を提供することができる。リソース・プロビジョニング81は、クラウド・コンピューティング環境内でタスクを実行するために利用される計算リソースおよびその他のリソースの動的調達を行う。計測および価格設定82は、クラウド・コンピューティング環境内でリソースが利用される際のコスト追跡、およびそれらのリソースの利用に対する請求書の作成と送付を行う。一例を挙げると、それらのリソースは、アプリケーション・ソフトウェア・ライセンスを含んでよい。セキュリティは、クラウドの利用者およびタスクの同一性検証を行うとともに、データおよびその他のリソースの保護を行う。ユーザ・ポータル83は、クラウド・コンピューティング環境へのアクセスを利用者およびシステム管理者に提供する。サービス・レベル管理84は、必要なサービス・レベルを満たすように、クラウドの計算リソースの割り当てと管理を行う。サービス水準合意(SLA:Service Level Agreement)計画および実行85は、今後の要求が予想されるクラウドの計算リソースの事前準備および調達を、SLAに従って行う。
【0139】
ワークロード・レイヤ90は、クラウド・コンピューティング環境で利用できる機能の例を示している。このレイヤから提供されてよいワークロードおよび機能の例としては、マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想クラスルーム教育の配信93、データ分析処理94、トランザクション処理95、および本明細書において説明されているDNA機械学習エンジン120によって提供されるような共同スケジューリング・サービスのための処理コンポーネントが挙げられる。
【0140】
本発明は、任意の可能な統合の技術的詳細レベルで、システム、方法、またはコンピュータ・プログラム製品、あるいはその組み合わせであってよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を含んでいるコンピュータ可読ストレージ媒体を含んでよい。
【0141】
コンピュータ可読ストレージ媒体は、命令実行デバイスによって使用するための命令を保持および格納できる有形のデバイスであることができる。コンピュータ可読ストレージ媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組み合わせであってよいが、これらに限定されない。コンピュータ可読ストレージ媒体のさらに具体的な例の非網羅的リストは、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリ・スティック、フロッピー(R)・ディスク、パンチカードまたは命令が記録されている溝の中の隆起構造などの機械的にエンコードされるデバイス、およびこれらの任意の適切な組み合わせを含む。本明細書において使用されるとき、コンピュータ可読ストレージ媒体は、それ自体が、電波またはその他の自由に伝搬する電磁波、導波管またはその他の送信媒体を伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、あるいはワイヤを介して送信される電気信号などの一過性の信号であると解釈されるべきではない。
【0142】
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から各コンピューティング・デバイス/処理デバイスへ、またはネットワーク(例えば、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク、または無線ネットワーク、あるいはその組み合わせ)を介して外部コンピュータまたは外部ストレージ・デバイスへダウンロードされ得る。このネットワークは、銅伝送ケーブル、光伝送ファイバ、無線送信、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組み合わせを備えてよい。各コンピューティング・デバイス/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェイスは、コンピュータ可読プログラム命令をネットワークから受信し、それらのコンピュータ可読プログラム命令を各コンピューティング・デバイス/処理デバイス内のコンピュータ可読記憶媒体に格納するために転送する。
【0143】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、あるいは、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語などの手続き型プログラミング言語を含む1つまたは複数のプログラミング言語の任意の組み合わせで記述されたソース・コードまたはオブジェクト・コードであってよい。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に実行すること、ユーザのコンピュータ上でスタンドアロン・ソフトウェア・パッケージとして部分的に実行すること、ユーザのコンピュータ上およびリモート・コンピュータ上でそれぞれ部分的に実行すること、あるいはリモート・コンピュータ上またはサーバ上で全体的に実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)を含む任意の種類のネットワークを介してユーザのコンピュータに接続されてよく、または接続は、(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに対して行われてよい。一部の実施形態では、本発明の態様を実行するために、例えばプログラマブル論理回路、フィールドプログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路は、コンピュータ可読プログラム命令の状態情報を利用することによって、電子回路をパーソナライズするためのコンピュータ可読プログラム命令を実行してよい。
【0144】
本発明の態様は、本明細書において、本発明の実施形態に従って、方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して説明される。フローチャート図またはブロック図あるいはその両方の各ブロック、ならびにフローチャート図またはブロック図あるいはその両方に含まれるブロックの組み合わせが、コンピュータ可読プログラム命令によって実装され得るということが理解されるであろう。
【0145】
これらのコンピュータ可読プログラム命令は、コンピュータまたはその他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックに指定される機能/動作を実施する手段を作り出すべく、汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供されてマシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令は、命令が格納されたコンピュータ可読ストレージ媒体がフローチャートまたはブロック図あるいはその両方のブロックに指定される機能/動作の態様を実施する命令を含んでいる製品を備えるように、コンピュータ可読ストレージ媒体に格納され、コンピュータ、プログラム可能なデータ処理装置、または他のデバイス、あるいはその組み合わせに特定の方式で機能するように指示できるものであってもよい。
【0146】
コンピュータ可読プログラム命令は、コンピュータ上、その他のプログラム可能な装置上、またはその他のデバイス上で実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックに指定される機能/動作を実施するように、コンピュータ実装プロセスを生成するために、コンピュータ、その他のプログラム可能なデータ処理装置、またはその他のデバイスに読み込まれ、コンピュータ上、その他のプログラム可能な装置上、またはその他のデバイス上で一連の動作可能なステップを実行させるものであってもよい。
【0147】
図内のフローチャートおよびブロック図は、本発明のさまざまな実施形態に従って、システム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および動作を示す。これに関連して、フローチャートまたはブロック図内の各ブロックは、規定された論理機能を実装するための1つまたは複数の実行可能な命令を備える、命令のモジュール、セグメント、または部分を表してよい。一部の代替の実装では、ブロックに示された機能は、図に示された順序とは異なる順序で発生してよい。例えば、連続して示された2つのブロックは、実際には、含まれている機能に応じて、実質的に同時に実行されるか、または場合によっては逆の順序で実行されてよい。ブロック図またはフローチャート図あるいはその両方の各ブロック、ならびにブロック図またはフローチャート図あるいはその両方に含まれるブロックの組み合わせは、規定された機能または動作を実行するか、または専用ハードウェアとコンピュータ命令の組み合わせを実行する専用ハードウェアベースのシステムによって実装され得るということにも注意する。
【0148】
本明細書で使用される用語は、特定の実施形態を説明することのみを目的としており、制限することを意図していない。本明細書において使用されるとき、単数形「ある(a)」、「1つの(an)」、および「その(the)」は、文脈で特に明示的に示されない限り、複数形も含むよう意図されている。「備える(comprise)」(および「備え(comprises)」、「備えている(comprising)」などの「備える(comprise)」のすべての形態)、「持つ(have)」(および「持ち(has)」、「持っている(having)」などの「持つ(have)」のすべての形態)、「含む(include)」(および「含み(includes)」、「含んでいる(including)」などの「含む(include)」のすべての形態)、および「包含する(contain)」(および「包含し(contains)」、「包含している(containing)」などの「包含する(contain)」のすべての形態)の各用語が無制限の連結動詞であるということが、さらに理解されるであろう。そのため、1つまたは複数のステップまたは要素を「備える」、「持つ」、「含む」、または「包含する」方法またはデバイスは、それらの1つまたは複数のステップまたは要素を保有するが、それらの1つまたは複数のステップまたは要素の保有のみに限定されない。同様に、1つまたは複数の特徴を「備える」、「持つ」、「含む」、または「包含する」方法のステップまたはデバイスの要素は、それらの1つまたは複数の特徴を保有するが、それらの1つまたは複数の特徴の保有のみに限定されない。さらに、特定の方法で構成されたデバイスまたは構造は、少なくともその方法で構成されるが、示されていない方法で構成されてもよい。
【0149】
特許請求の範囲内のすべてのミーンズまたはステップ・プラス・ファンクション要素の対応する構造、材料、動作、および均等なものは、もしあれば、具体的に請求されるとき、その他の請求される要素と組み合わせて機能を実行するための任意の構造、材料、または動作を含むことが意図されている。本明細書において示された説明は、例示および説明の目的で提示されているが、網羅的であることは意図されておらず、開示された形態に限定されない。本開示の範囲から逸脱することなく多くの変更および変形が、当業者にとって明らかである。本明細書において示された1つまたは複数の態様の原理および実際的な応用を最も適切に説明するため、およびその他の当業者が、企図されている特定の用途に適しているようなさまざまな変更を伴う多様な実施形態に関して、本明細書に記載されている1つまたは複数の態様を理解できるようにするために、実施形態が選択されて説明された。
図1
図2
図3
図4
図5
図6
図7
図8
図9