(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-03-07
(45)【発行日】2023-03-15
(54)【発明の名称】素子値推論方法、素子値推論装置、及び、素子値推論プログラム
(51)【国際特許分類】
G06F 30/367 20200101AFI20230308BHJP
G06F 30/27 20200101ALI20230308BHJP
H01L 21/82 20060101ALI20230308BHJP
【FI】
G06F30/367
G06F30/27
H01L21/82 D
H01L21/82 T
(21)【出願番号】P 2019089493
(22)【出願日】2019-05-10
【審査請求日】2022-01-14
(73)【特許権者】
【識別番号】504145364
【氏名又は名称】国立大学法人群馬大学
(74)【代理人】
【識別番号】100084995
【氏名又は名称】加藤 和詳
(74)【代理人】
【識別番号】100099025
【氏名又は名称】福田 浩志
(72)【発明者】
【氏名】▲高▼井 伸和
(72)【発明者】
【氏名】福田 雅史
(72)【発明者】
【氏名】猿田 将大
【審査官】堀井 啓明
(56)【参考文献】
【文献】特開平05-120364(JP,A)
【文献】国際公開第2018/234945(WO,A1)
【文献】特開平06-139296(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/00-30/398
H01L 21/82
(57)【特許請求の範囲】
【請求項1】
コンピュータが、
回路に含まれる1つ以上の回路素子が取り得る複数の素子値のうち、一の素子値から他の素子値へ変更する素子値変更工程と、
前記変更後の前記他の素子値を用いて、前記回路が有する複数の特性を算出するシミュレーション工程と、
前記算出された複数の特性を用いて、前記変更前の前記一の素子値の価値を算出する価値算出工程と、
前記複数の素子値のうち、前記複数の特性を改善する蓋然性を有する素子値を推論すべく、前記変更前の前記一の素子値についての前記算出された価値を用いて、前記複数の素子値と前記複数の素子値の価値との対応関係を示す行動価値関数を更新する行動価値関数更新工程と、
を含む
処理を実行する素子値推論方法。
【請求項2】
前記価値算出工程は、前記変更前の前記一の素子値の価値の算出を、前記算出された複数の特性に関する評価値が、前記回路の複数の特性に関する初期時の評価値を超えるときに報酬を加えることにより行う請求項1記載の素子値推論方法。
【請求項3】
回路に含まれる1つ以上の回路素子が取り得る複数の素子値のうち、一の素子値から他の素子値へ変更する素子値変更部と、
前記変更後の前記他の素子値を用いて、前記回路が有する複数の特性を算出するシミュレーション部と、
前記算出された複数の特性を用いて、前記変更前の前記一の素子値の価値を算出する価値算出部と、
前記複数の素子値のうち、前記複数の特性を改善する蓋然性を有する素子値を推論すべく、前記変更前の前記一の素子値についての前記算出された価値を用いて、前記複数の素子値と前記複数の素子値の価値との対応関係を示す行動価値関数を更新する行動価値関数更新部と、
を含む素子値推論装置。
【請求項4】
コンピュータに、
回路に含まれる1つ以上の回路素子が取り得る複数の素子値のうち、一の素子値から他の素子値へ変更する素子値変更工程と、
前記変更後の前記他の素子値を用いて、前記回路が有する複数の特性を算出するシミュレーション工程と、
前記算出された複数の特性を用いて、前記変更前の前記一の素子値の価値を算出する価値算出工程と、
前記複数の素子値のうち、前記複数の特性を改善する蓋然性を有する素子値を推論すべく、前記変更前の前記一の素子値についての前記算出された価値を用いて、前記複数の素子値と前記複数の素子値の価値との対応関係を示す行動価値関数を更新する行動価値関数更新工程と、
を実行させる素子値推論プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、素子値推論方法、素子値推論装置、及び、素子値推論プログラムに関する。
【背景技術】
【0002】
特許文献1に開示された課題「回路中の素子の定数を容易に決定すること」を解決すべく、例えば(1)数式及び知識ベースで設計する手法、(2)遺伝的プログラムを用いる手法、並びに(3)ニューラルネットワークを用いる手法が採用される。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記した(1)の手法では、設計された素子の定数が妥当であるか否かは、設計者の知識、経験、判断等により左右される。また、上記した(2)の手法では、遺伝学的過程(例えば、突然変異、染色体の交叉)を通じて適切な解を得ようと試みることから、同一の解、即ち、素子について同一の定数を繰り返し得るとの再現性に欠ける。さらに、上記した(3)の手法では、学習した範囲内のみで学習の効果を期待することができることから、例えば、一の回路の素子について学習しても、学習をしていない他の回路については、素子の定数を適切に決定することができない。
【0005】
本発明の目的は、回路性能が向上する回路素子の素子値を容易に決定することにある。
【課題を解決するための手段】
【0006】
上記した課題を解決すべく、本発明に係る素子値推論方法は、回路に含まれる1つ以上の回路素子が取り得る複数の素子値のうち、一の素子値から他の素子値へ変更する素子値変更工程と、前記変更後の前記他の素子値を用いて、前記回路が有する複数の特性を算出するシミュレーション工程と、前記算出された複数の特性を用いて、前記変更前の前記一の素子値の価値を算出する価値算出工程と、前記複数の素子値のうち、前記複数の特性を改善する蓋然性を有する素子値を推論すべく、前記変更前の前記一の素子値についての前記算出された価値を用いて、前記複数の素子値と前記複数の素子値の価値との対応関係を示す行動価値関数を更新する行動価値関数更新工程と、を含む。
【0007】
上記した課題を解決すべく、本発明に係る素子値推論装置は、回路に含まれる1つ以上の回路素子が取り得る複数の素子値のうち、一の素子値から他の素子値へ変更する素子値変更部と、前記変更後の前記他の素子値を用いて、前記回路が有する複数の特性を算出するシミュレーション部と、前記算出された複数の特性を用いて、前記変更前の前記一の素子値の価値を算出する価値算出部と、前記複数の素子値のうち、前記複数の特性を改善する蓋然性を有する素子値を推論すべく、前記変更前の前記一の素子値についての前記算出された価値を用いて、前記複数の素子値と前記複数の素子値の価値との対応関係を示す行動価値関数を更新する行動価値関数更新部と、を含む。
【0008】
上記した課題を解決すべく、本発明に係る素子値推論プログラムは、コンピュータに、
回路に含まれる1つ以上の回路素子が取り得る複数の素子値のうち、一の素子値から他の素子値へ変更する素子値変更工程と、前記変更後の前記他の素子値を用いて、前記回路が有する複数の特性を算出するシミュレーション工程と、前記算出された複数の特性を用いて、前記変更前の前記一の素子値の価値を算出する価値算出工程と、前記複数の素子値のうち、前記複数の特性を改善する蓋然性を有する素子値を推論すべく、前記変更前の前記一の素子値についての前記算出された価値を用いて、前記複数の素子値と前記複数の素子値の価値との対応関係を示す行動価値関数を更新する行動価値関数更新工程と、を実行させる。
【発明の効果】
【0009】
本発明に係る素子値推論方法、素子値推論装置、及び、素子値推論プログラムによれば、前記変更後の前記他の素子値を用いて算出された、前記回路が有する複数の特性を用いることにより、前記変更前の前記一の素子値の価値を算出し、さらに、前記変更前の前記一の素子値についての前記価値を用いることにより、前記行動価値関数を更新する。当該更新された行動価値関数を用いて、前記回路の前記複数の特性を改善する蓋然性を有する素子値を推論することから、回路性能が向上する回路素子の素子値を容易に決定することができる。
【図面の簡単な説明】
【0010】
【
図2】実施形態1の素子値推論装置の構成(ハードウェア)を示す。
【
図4】実施形態1のMOS型電解効果トランジスタを示す。
【
図7】実施形態1の素子値推論装置の動作を示す(前半)。
【
図8】実施形態1の素子値推論装置の動作を示す(後半)。
【
図10】実施形態1の回路特性及び回路特性の値を示す。
【
図11】実施形態1のエピソード、ステップ、及びスコアの関係を示す。
【
図12】実施形態1での学習の時期、ステップ、スコアの関係を示す。
【
図14】変形例の回路特性及び回路特性の改善を示す。
【発明を実施するための形態】
【0011】
〈実施形態1〉
以下、本発明に係る素子値推論装置の実施形態について説明する。
【0012】
〈素子値推論装置の構成(概要)〉
図1は、実施形態1の素子値推論装置の構成を示す。実施形態1の素子値推論装置DVは、強化学習(Q-Learning)を用いた上で、回路CK(
図3に図示。)を構成する回路素子であるMOS型電界効果トランジスタ(MOSFET:Metal-Oxide-Semiconductor Field-Effect Transistor)M1~M8の素子値である「M」(
図4を用いて後述。)を推論することを目的とする。素子値推論装置DVは、より詳しくは、回路CKの回路特性CH、即ち、消費電流CH1~入力換算雑音CH13(
図5に図示。)を改善する蓋然性、言い換えれば、全体最適により近付く蓋然性を有する「M」を、Q-Learningを実施するための行動価値関数(以下、「QテーブルQT」ともいう。
図6に図示。)を用いて推論する、即ち、探索する。
【0013】
実施形態1の素子値推論装置DVの説明に先立ち、(1)回路CK、(2)回路CKを構成するMOS型電解効果トランジスタM1~M8、(3)回路CKの回路特性CH、及び(4)QテーブルQTについて説明する。
【0014】
【0015】
回路CKは、従来知られたオペアンプ回路である。回路CKは、
図3に示されるように、差動増幅を行うべく、MOS型電解効果トランジスタM1~M8と、抵抗器R1、キャパシタC1とを含む。回路CKには、電源電圧Vdd(例えば、5.0V、3.3V)、及び、負電圧Vssが印加されている。回路CKは、端子Vinm、端子Vinpに入力される2つの信号に前記差動増幅を施し、当該差動増幅された信号を端子Voutから出力する。
【0016】
〈MOS型電解効果トランジスタの構成〉
図4は、実施形態1のMOS型電解効果トランジスタを示す。
【0017】
MOS型電解効果トランジスタM1~M8では、
図4に示されるように、基板上に、ソース、ドレイン、及びゲートが形成されている。「L」は、ソース及びドレイン間の距離であるゲート長を表し、また、「W」は、ゲートの奥行方向の長さであるゲート幅を表す。実施形態1では、「L」及び「W」を固定した上で、「W」を「M」倍することを想定する(Mは、任意の整数)。ここで、「L」及び「W」を固定した上で、「M」を推論しようとする理由は、当該推論、即ち、探索に要する時間を限定することにより、学習全体の所要時間を短縮するためである。
【0018】
〈回路特性の内訳〉
図5は、実施形態1の回路の回路特性を示す。
【0019】
回路CK(
図3に図示。)は、
図5に示されるように、回路特性CHを有し、より詳しくは、消費電流CH1~入力換算雑音CH13を有する。消費電流CH1~入力換算雑音CH13の値は、回路CKを構成するMOS型電解効果トランジスタM1~M8の「W」の長短により変わり、換言すれば、「M」の大小により変わる。消費電流CH1~入力換算雑音CH13のうち、「M」を大きくすると、特性の値が最低要件REを基準として良くなるように変わる回路特性が存在し、対照的に、特性の値が最低要件REを基準として良くならないように変わる回路特性も存在する。従って、消費電流CH1~入力換算雑音CH13の全てが、最低要件REを満足しつつ、かつ、全体として最適になるような「M」を推論する必要性がある。
【0020】
〈Qテーブルの構成〉
図6は、実施形態1のQテーブルを示す。
【0021】
QテーブルQTは、
図6に示されるように、行列(マトリックス)である。QテーブルQTの縦軸は、状態Sを示し、横軸は、行動Aを示す。縦軸及び横軸により規定される位置(セル)には、例えば、価値Q11~Q66が存在する。
【0022】
「状態S」は、Q-Learningについて知られている「状態」と同義であり、ここでは、「回路CKの回路特性CH(消費電流CH1~入力換算雑音CH13)」をいう。
【0023】
「行動A」は、Q-Learningについて知られている「行動」と同義であり、ここでは、「回路CKの回路特性(消費電流CH1~入力換算雑音CH13)を改善すべく、「M」(素子値)を変更する」ことをいう。
【0024】
「価値Q11~Q66」は、Q-Learningについて知られている「Q値」と同義であり、例えば、「価値Q23」は、「状態S2」のときに「行動A3」を取ったときの「行動A3」の価値を示し、ここでは、回路CKの回路特性CH(消費電流CH1~入力換算雑音CH13)が「状態S2」であるときに、回路CKの「M」(素子値)を変更するとの「行動A3」を取るときの「行動A3」の価値をいう。
【0025】
〈素子値推論装置の構成(詳細)〉
図1に戻り、実施形態1の素子値推論装置DVは、
図1に示されるように、制御部1と、初期設定・初期化部2と、素子値変更部3と、シミュレーション部4と、Q値算出部5と、Qテーブル更新部6と、記憶部7と、を含む。
【0026】
制御部1は、素子値推論装置DVの全体の動作を監視し及び制御する。
【0027】
初期設定・初期化部2は、Q-Learningの初期化、QテーブルQTの初期化、ステップSTの上限値(最後の数)の設定、エピソードEPの上限値(最後の数)の設定、目標値MKの設定、更新式UDのα、γの設定等を行うために用いられる。
【0028】
「ステップST」は、「行動A」(
図6に図示。)を変更する回数に相当し、例えば、ステップST=1で「行動A1」を行い、ステップST=2で「行動A2」を行うとの意である。
【0029】
「エピソードEP」は、複数のステップSTからなる1つのセットをいう。例えば、エピソードEPが3であるとき、例えば、1番目のエピソードでは、「行動A1」→「行動A2」→「行動A3」→、、、→「行動A6」との複数のステップSTを行い、2番目のエピソードでは、「行動A1」→「行動A3」→「行動A5」→、、、→「行動A6」との複数のステップSTを行い、3番目のエピソードでは、「行動A1」→「行動A4」→「行動A2」→、、、→「行動A6」との複数のステップSTを行う。
【0030】
目標値MKは、後述される、式2により表される報酬r(「価値Q」(
図6に図示。)を算出するための値)を算出するために用いられる定数である。目標値MKの値については、素子値推論装置DVを使用する者が、任意に設定することができ、例えば、回路CKの回路特性CH(消費電流CH1~入力換算雑音CH13)についての、初期時(Q-Learningを開始する前)のスコアSC(後述される式1)を設定することができる。
【0031】
α、γは、後述される、式3により表される更新式UDにおける学習率、割引率をそれぞれ示す。学習率α率及び割引率γは、Q-Learningについて知られているパラメータである。具体的には、学習率αは、価値Qを更新させる度合いを表し、割引率γは、将来の価値Qを割り引く程度を表す。上記した目標値MKと同様に、素子値推論装置DVを使用する者が、学習率α及び割引率γを任意に設定することができる。
【0032】
素子値変更部3は、MOS型電解効果トランジスタM1~M8の素子値である「M」の大きさを変更する。
【0033】
シミュレーション部4は、素子値である「M」が変更される毎に、変更後の「M」を用いて、回路CKの消費電流CH1~入力換算雑音CH13の値を算出する、即ち、シミュレーションする。シミュレーション部4は、当該シミュレーションを、例えば、従来知られているSPICE(Simulation Program with Integrated Circuit Emphasis)を用いて行う。SPICEは、回路CKを基にテキスト(文字)で又はグラフィカル(画像処理)に生成されたネットリスト(消費電流CH1~入力換算雑音CH13を算出するための複数の理論式EQ)に基づき、「M」を用いて消費電流CH1~入力換算雑音CH13の値を算出する。
【0034】
Q値算出部5は、「価値Q」、例えば、「価値Q11」~「価値Q66」(
図6に図示。)を算出する。Q値算出部5は、具体的には、(1)式1を用いてスコアSCを算出し、(2)式2を用いて報酬rを算出し、(3)式3を用いて「価値Q」を算出する。ここで、式1は、例えば、演算増幅器設計コンテストで採用されている評価基準である。式2は、「行動A」を行ったときの「行動A」のスコアSC(後述される評価値(
図10と同義。))が、目標値MK(例えば、回路CKの回路特性CHについての初期時(学習前)のスコアSC)を超える場合に、報酬rを与える趣旨である。式3の更新式UDは、Q-Learningについて知られている、Q値を更新するための手法である。
【0035】
スコアSC=(スルーレートCH6×同相入力範囲CH11×直流利得CH3)/消費電力CH2 ・・・(式1)
報酬r=スコアSC/目標値MK ・・・(式2)
・・・(式3)
【0036】
式3について、本来、Q-Learningでは、tは、時刻を表し、s
tは、時刻tのときの状態(状態S(
図6に図示)と同義。)を意味し、a
tは、時刻tのときの行動(行動A(
図6に図示。)と同義。)を意味し、式3中のAは、式3中の行動aの集合体を意味する。実施形態1では、tは、「行動A」(
図6に図示。)を行う順番を表し、例えば、t=t1(換言すれば、ステップST=1)のとき、「行動A3」を行い、t=t2(換言すれば、ステップST=2)のとき、「行動A5」を行うことを表す。
【0037】
Qテーブル更新部6は、QテーブルQT(
図6に図示。)を更新する。Qテーブル更新部6は、具体的には、古い「価値Q」から、Q値算出部5により算出された新しい「価値Q」へ差し替えることにより、QテーブルQTを更新する。例えば、QテーブルQT中で、「状態S2」のときの「行動A3」の「価値Q23」が、既に「2」であったことを仮定すると、Q値算出部5が、「価値Q23」として「3」を新たに算出したとき、Qテーブル更新部6は、「価値Q23」を古い「2」から新しい「3」へ書き換えることにより、QテーブルQTを更新する。
【0038】
記憶部7は、制御部1~Qテーブル更新部6が処理を行うために必要な情報を記憶する。記憶部7は、
図1に示されるように、回路CK、理論式EQ、回路特性CH、QテーブルQT、更新式UD等を記憶している。
【0039】
〈素子値推論装置の構成(ハードウェア)〉
図2は、実施形態1の素子値推論装置の構成(ハードウェア)を示す。
【0040】
素子値推論装置DVは、ハードウェアの観点からは、
図2に示されるように、入力部11と、CPU(Central Processing Unit)12と、出力部13と、記憶媒体14と、メモリ15と、を含む。入力部11は、例えば、キーボード、マウスから構成される。CPU12は、ソフトウェアに従ってハードウェアを動作させる等の、よく知られたコンピュータの中核である。出力部13は、例えば、液晶モニター、プリンタから構成される。記憶媒体14は、
図1に図示された記憶部7と同様に、回路CK、理論式EQ、回路特性CH、QテーブルQT、更新式UD等を記憶し、更に、プログラムPRを記憶している。記憶媒体14は、当該記憶を行うべく、例えば、ハードディスクドライブ(HDD:Hard Disk Drive)、ソリッドステートドライブ(SSD:Solid State Drive)、ROM(Read Only Memory)から構成される。メモリ15は、例えば、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)から構成される。
【0041】
素子値推論装置DVにおける、機能(
図1)とハードウェア(
図2)との関係については、ハードウェア上で、CPU12が、記憶媒体14に記憶されたプログラムPRを、メモリ15を用いつつ実行すると共に、必要に応じて、入力部11及び出力部13の動作を制御することにより、制御部1~記憶部7の機能が実現される。
【0042】
〈素子値推論装置の動作〉
図7及び
図8は、実施形態1の素子値推論装置の動作を示すフローチャートである。以下、実施形態1の素子値推論装置の動作を、
図7及び
図8を参照して説明する。
図7及び
図8中の工程の順序を示す「ステップS」は、「行動A」を変更する回数である「ステップST」と何らの関係を有しない。
【0043】
ステップS10:素子値推論装置DVの使用者は、回路CKを設計し、より正確には、回路CKに関する情報を素子値推論装置DVへ入力する。ここで、使用者は、回路CKを新規に設計することに代えて、従来知られた回路(例えば、アナログ回路における典型的な回路の一つであるオペアンプ回路)を採用することが可能である。使用者は、回路CKに関する情報(例えば、回路素子の種類、回路素子間の接続関係)を、入力部11であるマウス及びキーボードを用いて、文字の形式または画像の形式で素子値推論装置DVに入力する。
【0044】
ステップS11:素子値推論装置DVの使用者は、初期設定・初期化部2を用いて、Q-Learningを初期設定する。具体的には、使用者は、エピソードEPを何回行うか(エピソードEPの最後の数)、ステップSTを何回行うか(ステップSTの最後の数)、目標値MK、並びに、学習率α及び割引率γの値を設定する。以下の説明及び理解を容易にすべく、使用者が、「最後のエピソードEP」として、「1000」を設定し、また、「最後のステップST」として、「90」を設定することを想定する。
【0045】
ステップS12:初期設定・初期化部2は、QテーブルQTを初期設定する。初期設定・初期化部2は、具体的には、QテーブルQTの「価値Q」として任意の値を設定し、換言すれば、「価値Q」をランダムに設定する。ここで、QテーブルQTの「価値Q」を空欄に設定するのではなく、何らかの値を設定する理由は、もし、いずれの「価値Q」も空欄であるときには、「行動A1」~「A6」のうちのいずれを優先的に選択すべきかを判断することができないためである。「価値Q」がランダム性に依存しないようにすべく、例えば、広く知られているε-greedy法を用いることが望ましい。
【0046】
ステップS13:初期設定・初期化部2は、エピソードEPを「0」に設定する。
【0047】
ステップS14:初期設定・初期化部2は、ステップSTを「0」に設定する。
【0048】
ステップS15:初期設定・初期化部2は、素子値である「M」を初期化する。より詳しくは、初期設定・初期化部2は、「M」として、任意の値(但し、複数のエピソードEP間で共通(同一)の固定値)を、例えば、「2」を設定する。ここで、「M」を初期化する理由は、例えば、1番目のエピソードEPが終わったとき、「M」を固定値に再設定(初期化)した上で、後続のエピソードである2番目のエピソードEPを開始するためである。
【0049】
ステップS16:素子値変更部3は、素子値である「M」を変更する。素子値変更部3は、例えば、「M」を「2」から「3」へ変更する。
【0050】
ステップS17:シミュレーション部4は、「3」である「M」を、上述した理論式EQに代入することにより、理論式EQを実行する。
【0051】
ステップS18:シミュレーション部4は、理論式EQを実行した結果、回路特性CHの値、即ち、消費電流CH1~入力換算雑音CH13の値を取得する。
【0052】
ステップS19:シミュレーション部4は、取得された消費電流CH1~入力換算雑音CH13の値のうち、スルーレートCH6、同相入力範囲CH11、直流利得CH3)、及び消費電力CH2の値を、上記した式1に代入することにより、「スコアSC」を算出する。
【0053】
ステップS20:シミュレーション部4は、算出された「スコアSC」を、上記した式2に代入することにより、「報酬r」を算出する。
【0054】
ステップS21:シミュレーション部4は、ステップS20で算出された「報酬r」、ステップS11で設定された学習率α及び割引率γを、上記した更新式UD(式3)に代入することにより、「価値Q」を算出する。ここで、算出される価値Qは、例えば、状態S2であるときに、行動A3を行うことにより状態S3に至ったことによって獲得することができる報酬rを考慮した上での、行動A3の価値を意味する。より具体的には、算出される価値Qは、消費電流CH1~入力換算雑音CH13の全体が状態S2であるとき、例えば、「M」を「3」にするとの行動A3を行い、その結果として、消費電流CH1~入力換算雑音CH13の全体が状態S3に至ったことにより獲得することができる報酬rを考慮した上での、行動A3の価値を意味する。
【0055】
ステップS22:Qテーブル更新部6は、算出された行動Aの「価値Q」を用いて、QテーブルQTを更新する。
【0056】
ステップS23:制御部1は、ステップSTが、最後のステップの「90」であるか否かを判断する。
【0057】
ステップS24:ステップS23で、ステップSTが、「90」でないとき、即ち、「90」に至っていないとき、制御部1は、ステップSTを+1(インクリメント)し、ステップS16へ戻る。
【0058】
ステップS25:ステップS23で、ステップSTが、「90」であるとき、即ち、「90」に至ったとき、制御部1は、エピソードEPが、最後のエピソードの「1000」であるか否かを判断する。
【0059】
ステップS26:ステップS25で、エピソードEPが、「1000」でないとき、即ち、「1000」に至っていないとき、制御部1は、エピソードEPを+1(インクリメント)し、ステップS14へ戻る。
【0060】
ステップS25で、エピソードEPが、「1000」であるとき、即ち、「1000」に至ったとき、制御部1は、動作を終了させる。
【0061】
〈Qテーブルの更新〉
図9は、実施形態1のQテーブルの更新を示す。
【0062】
QテーブルQTは、フローチャート(
図7、
図8)中のステップS16~ステップS22で、以下のように、更新される。
【0063】
素子値変更部3は、
図9の1.に示されるように、回路CKの回路特性CH(消費電流CH1~入力換算雑音CH13)が、「状態S2」にある場合に、「M」を「3」にすることを意味する「行動A3」を行うことができるとき、「行動A3」を行う(
図7のステップS16に対応。)。シミュレーション部4は、回路CKの回路特性CHが、
図9の2.に示されるように、「状態S3」になることを取得し、式2を用いて報酬rを算出する(
図7のステップS17~
図8のステップS20に対応。)。Q値算出部5は、「行動A3」の「価値Q23」について、「行動A3」を行うことにより得られる「状態S3」の価値「5」を考慮した上で、
図9の3.に示されるように、「3」を算出し(
図8のステップS21に対応。)、Qテーブル更新部6は、「Q23」の「3」を用いて、QテーブルQTを更新する(
図8のステップS22に対応。)。
【0064】
同様にして、素子値変更部3は、
図9の4.に示されるように、回路CKの回路特性CHが、「状態S3」にある場合に、「M」を「4」にすることを意味する「行動A4」を行うことができるとき、「行動A4」を行う(
図7のステップS16に対応。)。シミュレーション部4は、回路CKの回路特性CHが、
図9の5.に示されるように、「状態S4」になることを取得し、式2を用いて報酬rを算出する(
図7のステップS17~
図8のステップS20に対応。)。Q値算出部5は、「行動A4」の「価値Q34」について、「行動A4」を行うことにより得られる「状態S4」の価値「6」を考慮した上で、
図9の6.に示されるように、「2」を算出し(
図8のステップS21に対応。)、Qテーブル更新部6は、「Q34」の「2」を用いて、QテーブルQTを更新する(
図8のステップS22に対応。)。
【0065】
上記したQテーブルQTの更新を繰り返すことにより(
図8のステップS23に対応。)、
図9の7.に示されるように、更新が完了したQテーブルQTが完成する。即ち、ステップSTが「90」に至るまで、換言すれば、「M」の値を変更することを「90」回、行った結果として、
図9の7.に示されるQテーブルQTが完成する。
【0066】
エピソードEPとQテーブルQTとの関係については、例えば、1番目のエピソードEPが終了することにより完成したQテーブルQTは、後続する2番目のエピソードEPを開始するときに使用される(
図7、
図8の矢印C)。換言すれば、2番目のエピソードEPは、先行する1番目のエピソードEPで完成したQテーブルを用いて開始される。
【0067】
同様にして、3番目のエピソードEPは、2番目のエピソードEPで完成したQテーブルQTを用いて開始され、4番目のエピソードEPは、3番目のエピソードEPで完成したQテーブルQTを用いて開始される。
【0068】
実施形態1では、エピソードEPの最後の数が「1000」に設定されていることから、最終的に、1番目のエピソードEP~1000番目のエピソードEPが終了した時点で、1つのQテーブルQTが完成することになる。
【0069】
ここで、
図9の7.に示されるQテーブルQTは、1番目のエピソードEP~1000番目のエピソードEPの全てが終了することにより完成する。
図9の7.に示されるQテーブルQTは、また、1番目のエピソードEP~1000番目のエピソードEPの各エピソードが終了した時点でも、完成する可能性がある。従って、完成された1つのQテーブルQTの中で、または、完成された複数のQテーブルQTの中で、最も大きい「評価値」へ辿り着く「M」の変化の過程が最適であると推論する。
【0070】
〈回路特性の改善〉
図10は、実施形態1の回路特性及び回路特性の値を示す。
【0071】
回路CK(
図3に図示。)の回路特性CH(消費電流CH1~入力換算雑音CH13)についての評価値(上記した式1に示されるスコアSCと同義。)は、
図10に示されるように、上記した学習(
図7、
図8)を開始する前には、1.81×10
19であったことに対し、上記した学習を終了した後には、7.71×10
19に変更され、即ち、約4倍に改善されている。
【0072】
〈エピソード、ステップ、及びスコアの関係〉
図11は、実施形態1のエピソード、ステップ、及びスコアの関係を示す。
【0073】
上記した「1000」回のエピソードEPのうち、
図11に示されるように、「298」回め~「300」回めのエピソードEP間で、「1」~「90」のステップSTについてのスコアSCが、殆ど変化していない。このことから、実質的に、約「300」回めのエピソードEPの段階で、「1」~「90」のステップSTのスコアSC、即ち、回路特性CHが、最大に改善されている。換言すれば、エピソードEPを「300」回程度行えば、「1」~「90」のステップSTの回路特性CHを最適にすることを繰り返し実現するとの再現性を獲得することができることが裏付けられている。
【0074】
〈学習の時期、ステップ、及びスコアの関係〉
図12は、実施形態1での学習の時期、ステップ、スコアの関係を示す。
【0075】
上記した学習(
図7、
図8)について、学習の初期では、
図12(A)に示されるように、「1」~「90」のステップSTのうち、「20」~「90」のステップSTのスコアSCは、学習前の評価値(スコアSC)である「1.81×10
19」を下回っている。
【0076】
学習の中期では、
図12(B)に示されるように、「1」~「90」のステップSTのうち、「1」~「80」のステップSTのスコアSCは、上記した「1.81×10
19」を上回っている。
【0077】
学習の後期では、
図12(C)に示されるように、「1」~「90」のステップSTのうち、「1」~「90」の全てのステップSTのスコアSCは、上記した「1.81×10
19」を上回っている。
【0078】
上記した3つの事実から、学習が進むに連れて、回路CKの回路特性CHが、上記の「1.81×1019」(学習前の評価値(スコアSC))から改善されていくというステップSTが徐々に増えていくことが、裏付けられる。
【0079】
〈素子値推論装置の効果〉
実施形態1の素子値推論装置DVでは、上記したように、回路CKの消費電流CH1~入力換算雑音CH13を全体的に最適化すべく、回路CKを構成するMOS型電解効果トランジスタM1~M8の「M」の値を、Q-Learningを用いて探索する、即ち、推論する。これにより、従来と異なり、(1)回路CKを設計する設計者の知識、経験、判断等に依拠する必要が無く(
図7、
図8)、(2)消費電流CH1~入力換算雑音CH13を全体として最適にする可能性を有する、同一の値である「M」を得るとの再現性を確保することができ(
図11)、(3)Q-Learning自体が学習の範囲を限定することなく学習を進めることから、学習済みの範囲内であるか範囲外であるかを問うことなく、「M」の値を適切に決定することができる。
【0080】
〈変形例〉
〈回路の構成〉
図13は、変形例の回路の構成を示す。
【0081】
変形例の回路CKは、実施形態1の回路CK(
図3に図示。)に比して、多数のMOS型電解効果トランジスタM1~M24を有する。
【0082】
〈回路特性の改善〉
図14は、変形例の回路特性及び回路特性の改善を示す。
【0083】
上記した変形例の回路CK(
図13に図示。)について、素子値推論装置DV(
図1及び
図2に図示。)が、上記した学習(
図7及び
図8に図示。)を行うことにより、
図14に示されるように、変形例の回路CKの消費電流CH1~入力換算雑音CH13についての評価値(スコアSC)は、上記した学習を開始する前には、7.17×10
18であったことに対し、上記した学習を終了した後には、1.26×10
19に変更され、即ち、約2倍に改善されている。
【0084】
実施形態1及び変形例において、回路特性CHが改善されたことから、他の回路(図示せず。)についても、それらの回路の回路特性CHが、上記した学習を通じて改善されることが期待される。
【符号の説明】
【0085】
DV 素子値推論措置、1 制御部、2 初期設定・初期化部、3 素子値変更部、4 シミュレーション部、5 Q値算出部、6 Qテーブル更新部、7 記憶部