(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024108452
(43)【公開日】2024-08-13
(54)【発明の名称】機械学習プログラム、最適化プログラム、機械学習方法、最適化方法および情報処理装置
(51)【国際特許分類】
G06T 7/00 20170101AFI20240805BHJP
G06N 3/0455 20230101ALI20240805BHJP
【FI】
G06T7/00 350C
G06N3/0455
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023012832
(22)【出願日】2023-01-31
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】山崎 公裕
(72)【発明者】
【氏名】中川 章
(72)【発明者】
【氏名】和田 裕一郎
(72)【発明者】
【氏名】和田 睦世
(72)【発明者】
【氏名】河東 孝
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA06
5L096AA09
5L096BA08
5L096DA02
5L096FA23
5L096GA08
5L096GA51
5L096GA55
5L096HA11
5L096JA11
5L096KA04
5L096KA15
(57)【要約】 (修正有)
【課題】周波数画像を用いた機械学習を精度よく実行する情報処理装置、機械学習方法及びプログラム並びに最適化方法を提供する。
【解決手段】情報処理装置において、機械学習実行部は、射影画像データテーブルから、ある射影方向θ、φの射影画像を取得し、射影画像をフーリエ変換することで、第1の周波数画像を生成し、第1の周波数画像を、エンコーダーに入力して、デコーダーからフーリエ空間の3次元密度構造を推定3次元密度構造を射影方向θ、φに射影することで、第2の周波数画像を取得し、第1の周波数画像と、第2の周波数画像との差分をPθ,φ(u’,v’)に設定し、下式(3)を基にして、推定誤差を算出し、推定誤差が小さくなるように、Auto-Encoder型ニューラルネットワークの機械学習を実行する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
第1の周波数画像を入力したエンコーダーの出力をデコーダーに入力することによって、第2の周波数画像を取得し、
第1の周波数に関する重みが前記第1の周波数より高い第2の周波数に関する重みより小さい損失関数と前記第1の周波数画像と前記第2の周波数画像とに基づいて、前記エンコーダーと前記デコーダーとの訓練を実行する、
処理をコンピュータに実行させる機械学習プログラム。
【請求項2】
前記損失関数は、各周波数座標における前記第1の周波数画像と前記第2の周波数画像との差分に、前記第1の周波数に関する重みが第1の周波数より高い第2の周波数に関する重みより小さい重みを乗算した値を累計した推定誤差を算出する関数であり、前記エンコーダーと前記デコーダーの訓練を実行する処理は、前記推定誤差を基にして、前記エンコーダーと前記デコーダーとの訓練を実行することを特徴とする請求項1に記載の機械学習プログラム。
【請求項3】
前記取得する処理は、前記第1の周波数画像を入力した前記エンコーダーの出力を前記デコーダーに入力することによって、3次元密度構造を推定し、前記3次元密度構造を基にして、前記第2の周波数画像を取得することを特徴とする請求項1に記載の機械学習プログラム。
【請求項4】
前記エンコーダーと前記デコーダーの訓練を実行する処理は、前記第1の周波数画像または前記第2の周波数画像のある周波数座標に基づく値が閾値よりも大きい場合には、前記ある周波数座標における前記第1の周波数画像と前記第2の周波数画像との差分を0に設定する処理を更に実行することを特徴とする請求項2に記載の機械学習プログラム。
【請求項5】
前記損失関数は、ガウスフィルタを更に含み、前記エンコーダーと前記デコーダーの訓練を実行する処理は、前記ガウスフィルタを更に含む前記損失関数を基にして算出される推定誤差を基にして、前記エンコーダーと前記デコーダーとの訓練を実行することを特徴とする請求項2に記載の機械学習プログラム。
【請求項6】
第1の3次元密度構造をある射影方向で射影した射影画像に基づく第1の周波数画像と、フーリエ空間の第2の3次元密度構造を前記ある射影方向で射影した第2の周波数画像との差分に、第1の周波数に関する重みが第1の周波数より高い第2の周波数に関する重みより小さい重みを乗算し、
乗算結果が小さくなるように、前記第1の周波数画像の値を調整する、
処理をコンピュータに実行させる最適化プログラム。
【請求項7】
第1の周波数画像を入力したエンコーダーの出力をデコーダーに入力することによって、第2の周波数画像を取得し、
第1の周波数に関する重みが前記第1の周波数より高い第2の周波数に関する重みより小さい損失関数と前記第1の周波数画像と前記第2の周波数画像とに基づいて、前記エンコーダーと前記デコーダーとの訓練を実行する、
処理をコンピュータが実行する機械学習方法。
【請求項8】
第1の3次元密度構造をある射影方向で射影した射影画像に基づく第1の周波数画像と、フーリエ空間の第2の3次元密度構造を前記ある射影方向で射影した第2の周波数画像との差分に、第1の周波数に関する重みが第1の周波数より高い第2の周波数に関する重みより小さい重みを乗算し、
乗算結果が小さくなるように、前記第1の周波数画像の値を調整する、
処理をコンピュータが実行する最適化方法。
【請求項9】
第1の周波数画像を入力したエンコーダーの出力をデコーダーに入力することによって、第2の周波数画像を取得し、
第1の周波数に関する重みが前記第1の周波数より高い第2の周波数に関する重みより小さい損失関数と前記第1の周波数画像と前記第2の周波数画像とに基づいて、前記エンコーダーと前記デコーダーとの訓練を実行する、
処理を実行する制御部を有する情報処理装置。
【請求項10】
第1の3次元密度構造をある射影方向で射影した射影画像に基づく第1の周波数画像と、フーリエ空間の第2の3次元密度構造を前記ある射影方向で射影した第2の周波数画像との差分に、第1の周波数に関する重みが第1の周波数より高い第2の周波数に関する重みより小さい重みを乗算し、
乗算結果が小さくなるように、前記第1の周波数画像の値を調整する、
処理を実行する制御部を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、周波数画像を用いた機械学習技術に関する。
【背景技術】
【0002】
観測することが難しい3次元密度構造を様々な角度から射影した各射影画像を基にして、3次元密度構造を推定することが求められている。たとえば、Auto-Encoder型ニューラルネットワークを利用して、射影画像から3次元密度構造を推定する従来技術がある。
【0003】
図5は、従来技術を説明するための図である。
図5に示すように、Auto-Encoder型ニューラルネットワークは、エンコーダー10aと、デコーダー10bとが含まれる。ここでは、従来技術の処理を実行する装置を「従来装置」と表記する。
【0004】
従来装置は、ある3次元密度構造をある射影方向Rで射影した射影画像4に対してフーリエ変換を実行することで、2次元の周波数画像5を生成する。ある3次元密度構造は、タンパク質の密度構造等である。従来装置は、周波数画像5を、エンコーダー10aに入力することで、出力結果zを取得する。従来装置は、射影画像4を射影した際の射影方向Rに関する位置情報と、出力結果zとをデコーダー10bに入力することで、フーリエ空間の3次元密度構造6を推定する。3次元密度構造6に対して逆フーリエ変換を実行することで、実空間の3次元密度構造が得られる。
【0005】
ここで、従来装置は、周波数画像5と、推定周波数画像7との差分(誤差)を基にした評価関数を基にして、エンコーダー10aと、デコーダー10bとに対する機械学習を実行する。推定周波数画像7は、3次元密度構造6を射影方向Rで射影した周波数画像である。たとえば、従来装置が利用する評価関数Lを、式(1)に示す。
【0006】
【0007】
式(1)の「X」、周波数画像5の各周波数座標に対応する値である。「ξ」、「θ」は、エンコーダー10aおよびデコーダー10bのパラメータに対応する。式(1)の右辺の第1項は、周波数画像5と、推定周波数画像7との差分を評価する期待値Eの項である。式(1)の右辺の第2項は、KLダイバージェンスによって定義される項であり、qξ(z|X)の分布と、p(z)の分布とが近くなるほど、値が小さくなる。なお、qξ(z|X)は、p(z|X)の近似である。p(z)は、N(0,I)の正規分布に従う。Iは、単位行列である。
【0008】
従来装置は、式(1)に示す評価関数Lの値が最小化するように、エンコーダー10aと、デコーダー10bとの機械学習を実行する。
【先行技術文献】
【非特許文献】
【0009】
【非特許文献1】Ellen D. Zhong, et al. RECONSTRUCTING CONTINUOUS DISTRIBUTIONS OF 3D PROTEIN STRUCTURE FROM CRYO-EM IMAGES, arXiv:1909.05215v3 [q-bio.QM] 15 Feb 2020
【発明の概要】
【発明が解決しようとする課題】
【0010】
上記のように、従来装置は、機械学習を実行する場合に、式(1)の評価関数Lを利用しており、たとえば、実際のタンパク質の各射影画像と、推定した3次元密度構造の各射影画像との差分を、立体構造間の差分として評価している。しかし、2次元の周波数画像間の差分は、3次元密度構造の差と等価ではない。このため、従来技術のように、エンコーダー10aおよびデコーダー10bに対して機械学習を実行すると、3次元密度構造の推定精度に影響を与えるという問題がある。
【0011】
図6は、従来技術の課題を説明するための図(1)である。たとえば、ある3次元密度構造15をランダムな射影方向によって射影することで得られた2次元の射影画像を、射影画像16,17とする。射影画像16,17に対してフーリエ変換を実行し、フーリエ変換の結果を、3次元周波数空間にマッピングすると、
図7に示すものとなる。
【0012】
図7は、従来技術の課題を説明するための図(2)である。3次元周波数空間では、周波数の原点0からの距離Rが大きいほど、周波数が大きくなる。3次元周波数空間のx成分をω
xとし、y成分をω
yとし、z成分をω
zとする。3次元周波数空間における原点0からの距離Rを式(2)で定義する。
【0013】
【0014】
たとえば、領域A1の距離Rは、領域A2の距離Rよりも小さい。このため、領域A1の周波数は、領域A2の周波数よりも小さい。
【0015】
ここで、距離Rの周波数は、距離に応じて「1/R2」の重みで重複される。距離Rが小さい周波数ほど、「1/R2」の比率で周波数の値が重複し、周波数が評価されることを意味する。
【0016】
たとえば、従来技術のように、周波数画像5と、推定周波数画像7との差分をそのまま計算すると、領域A2に含まれる周波数の値よりも、領域A1に含まれる周波数の値に重きを置いて差分が算出される。これは、3次元密度構造の詳細構造を、ローパスフィルタで暈した結果同士を比較していることと等価である。
【0017】
図8は、従来技術の課題を説明するための図(3)である。上記のように、従来技術では、推定した3次元密度構造と、実際の3次元密度構造とを暈した結果を比較して、差分を算出しており、3次元密度構造の推定精度が劣化する。理想的には、推定した3次元密度構造と、実際の3次元密度構造との差分を、周波数画像の周波数によらず均等に評価することが望ましい。
【0018】
1つの側面では、本発明は、周波数画像を用いた機械学習を精度よく実行できる機械学習プログラム、最適化プログラム、機械学習方法、最適化方法および情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0019】
1つの実施態様では、コンピュータが次の処理を実行する。コンピュータは、第1の周波数画像を入力したエンコーダーの出力をデコーダーに入力することによって、第2の周波数画像を取得する。コンピュータは、第1の周波数に関する重みが第1の周波数より高い第2の周波数に関する重みより小さい損失関数と第1の周波数画像と第2の周波数画像とに基づいて、エンコーダーとデコーダーとの訓練を実行する。
【発明の効果】
【0020】
周波数画像を用いた機械学習を精度よく実行できる。
【図面の簡単な説明】
【0021】
【
図1】
図1は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。
【
図2】
図2は、本実施例に係る情報処理装置の処理手順を示すフローチャートである。
【
図3】
図3は、3次元密度構造の最適化の一例を説明するための図である。
【
図4】
図4は、実施例の情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【
図5】
図5は、従来技術を説明するための図である。
【
図6】
図6は、従来技術の課題を説明するための図(1)である。
【
図7】
図7は、従来技術の課題を説明するための図(2)である。
【
図8】
図8は、従来技術の課題を説明するための図(3)である。
【発明を実施するための形態】
【0022】
以下に、本願の開示する機械学習プログラム、最適化プログラム、機械学習方法、最適化方法および情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例0023】
本実施例に係る情報処理装置は、第1の周波数画像を、Auto-Encoder型ニューラルネットワークに入力して、第2の周波数画像を取得し、第1の周波数画像と、第2の周波数画像との差分を評価して、Auto-Encoder型ニューラルネットワークの機械学習を実行する。第1の周波数画像は、CryoEMにおける入力画像であり、
図5で説明した周波数画像5等である。第2の周波数画像は、CryoEMにおける推定画像であり、
図5で説明した推定周波数画像6等である。Auto-Encoder型ニューラルネットワークは、エンコーダー10aおよびデコーダー10bを含む。
【0024】
図7で説明したように、距離Rの周波数は、距離に応じて「1/R
2」の重みで重複される。距離Rが小さい周波数ほど、「1/R
2」の比率で周波数の値が重複し、第1の周波数画像と、第2の周波数画像との差分をそのまま計算すると、高周波数の値よりも、低周波数の値に重きを置いて差分(誤差)が算出される。たとえば、領域A2に含まれる周波数の値よりも、領域A1に含まれる周波数の値に重きを置いて差分が算出される。以下の説明では、周波数画像の座標であって、2次元のフーリエ変換の座標を「周波数座標」と表記する。
【0025】
ここで、情報処理装置は、第1の周波数画像と、第2の周波数画像との差分を、周波数画像の周波数(周波数座標)によらず均等に評価するために、距離Rの各周波数座標の差分(2乗誤差)に対して、それぞれR2を乗じて累積加算する。距離Rは、式(2)によって定義されるが、周波数画像は、2次元の画像であるため、「ωz」の値は0となる。
【0026】
たとえば、情報処理装置は、第1の周波数画像と、第2の周波数画像との差分を評価する場合に、(u’,v’)を2次元のフーリエ変換の周波数座標とし、第1の周波数画像と第2の周波数画像とから、周波数座標(u’,v’)におけるフーリエ変換の差分を計算し、Pθ,φ(u’,v’)に設定する。情報処理装置は、各周波数座標に対して定義された補正フィルタ係数F(u’,v’)を用いて、式(3)に示す評価関数によって、推定誤差を計算する。情報処理装置は、推定誤差を計算する場合に、補正フィルタ係数F(u’,v’)として、「u’2+v’2」を利用する。この「u’2+v’2」は、「R2」に対応する。
【0027】
【0028】
ここで、周波数画像上の周波数座標(u’1,v’1)と原点との距離r1を式(4)のように定義する。周波数画像上の周波数座標(u’2,v’2)と原点との距離r2を式(5)のように定義する。
【0029】
【0030】
【0031】
距離r1と距離r2との双方が特定の周波数帯域C1,C2の間にあり、C1≦r1<r2≦C2の関係を満たすとき、式(6)の関係を満たす周波数座標(u’1,v’1)と、周波数座標(u’2,v’2)との組み合わせが少なくとも一つ以上存在することを条件として、情報処理装置は、式(3)に示す評価関数によって、推定誤差を計算するものとする。
【0032】
【0033】
上記のように、特定の周波数帯域C1,C2の間に限定したのは、一般に高周波成分には誤差が大きく含まれるため、高周波成分の誤差の影響が大きくなりすぎることを抑止するためである。
【0034】
情報処理装置は、評価関数による推定誤差が小さくなるように、Auto-Encoder型ニューラルネットワークに対して機械学習を実行する。
【0035】
上記のように、本実施例に係る情報処理装置は、第1の周波数画像を、Auto-Encoder型ニューラルネットワークに入力して、第2の周波数画像を取得し、第1の周波数画像と、第2の周波数画像との差分を評価する場合に、式(3)の評価関数によって、推定誤差を計算する。かかる評価関数は、第1の周波数に関する重みが、第2の周波数(第1の周波数よりも高い周波数)に関する重みよりも小さい評価関数である。これによって、第1の周波数画像と、第2の周波数画像との差分を、周波数画像の周波数(周波数座標)によらず均等に評価でき、周波数画像を用いた機械学習を精度よく実行できる。
【0036】
次に、上述した処理を実行する情報処理装置の構成例について説明する。
図1は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。
図1に示すように、この情報処理装置100は、通信部110と、入力部120と、表示部130と、記憶部140と、制御部150とを有する。
【0037】
通信部110は、ネットワークを介して、外部装置等との間でデータ通信を実行する。たとえば、通信部110は、外部装置等から、射影画像データテーブル141のデータを受信する。
【0038】
入力部120は、情報処理装置100の制御部150に各種の情報を入力する場合にユーザにより操作される。
【0039】
表示部130は、制御部150から出力される情報を表示する。
【0040】
記憶部140は、射影画像データテーブル141と、オートエンコーダデータ142とを有する。記憶部140は、その他の情報を有していてもよい。
【0041】
射影画像データテーブル141は、複数の射影画像のデータを保持する。たとえば、射影画像データテーブル141の各射影画像は、実際のタンパク質(3次元密度構造)に対し、ある射影方向θ、φで射影された2次元の画像である。射影画像データテーブル141は、射影画像と、かかる射影画像を生成する場合に設定した射影方向の情報とを対応付けて、保持してもよい。
【0042】
オートエンコーダデータ142は、Auto-Encoder型ニューラルネットワークのデータである。たとえば、Auto-Encoder型ニューラルネットワークは、
図5に示したAuto-Encoder型ニューラルネットワークであり、エンコーダー10aおよびデコーダー10bを含む。
【0043】
制御部150は、取得部151と、機械学習実行部152と、構造推定部153とを有する。
【0044】
取得部151は、通信部110を介して、外部装置等から、射影画像データテーブル141のデータを取得する。取得部151は、取得した射影画像データテーブル141を、記憶部140に登録する。取得部151は、入力部120から、射影方向や、射影画像のデータを取得してもよい。
【0045】
機械学習実行部152は、オートエンコーダデータ142を読み出して、Auto-Encoder型ニューラルネットワークを実行し、Auto-Encoder型ニューラルネットワークに対する機械学習を実行する。Auto-Encoder型ニューラルネットワークには、エンコーダー10aおよびデコーダー10bが含まれる。以下において、機械学習実行部152の処理の一例について説明する。
【0046】
機械学習実行部152は、射影画像データテーブル141から、射影画像および射影方向を取得する。機械学習実行部152は、取得した射影画像に対してフーリエ変換を実行することで、第1の周波数画像を生成する。機械学習実行部152は、第1の周波数画像を、エンコーダー10aに入力し、エンコーダー10aの出力結果zを取得する。機械学習実行部152は、出力結果zと、射影方向に関する情報とをデコーダー10bに入力することで、デコーダー10bからフーリエ空間の3次元密度構造の推定結果を取得する。
【0047】
機械学習実行部152は、推定結果の3次元密度構造に対して、所定の射影方向の射影を行うことで、第2の周波数画像を取得する。たとえば、かかる所定の射影方向は、射影画像データテーブル141から取得した射影画像に対応する射影方向である。
【0048】
機械学習実行部152は、式(3)の評価関数を基にして、第1の周波数画像の各周波数座標の値と、第2の周波数画像の各周波数座標の値との差分の累積加算し、推定誤差を得る。機械学習実行部152は、推定誤差が小さくなるように、Auto-Encoder型ニューラルネットワークに対して機械学習を実行する。たとえば、機械学習実行部152は、誤差逆伝播学習法に基づいて、Auto-Encoder型ニューラルネットワークのエンコーダー10aおよびデコーダー10bのパラメータを更新する。
【0049】
機械学習実行部152は、射影画像データテーブル141に格納された各射影画像を基にして、上記処理を繰り返し実行することで、Auto-Encoder型ニューラルネットワークを訓練する。
【0050】
ところで、機械学習実行部152は、推定誤差を算出する場合の補正フィルタ係数F(u’,v’)として、「u’2,v’2」を利用していたが、「u’2,v’2」の代わりに、「u’2,v’2」に比例する値を利用してもよい。
【0051】
また、機械学習実行部152は、推定誤差を算出する場合に、周波数画像(第1の周波数画像および第2の周波数画像)上の全ての周波数座標に対して、補正フィルタ係数を乗算していたが、これに限定されるものではない。機械学習実行部152は、周波数画像のある周波数座標(u’2,v’2)に設定された値の2乗の和「u’2
2+v’2
2」が閾値以下である場合には、補正フィルタ係数F(u’,v’)として、「u’2
2+v’2
2」に比例する値を利用する。一方、機械学習実行部152は、周波数画像のある周波数座標(u’2,v’2)に設定された値の2乗の和「u’2
2+v’2
2」が閾値以下でない場合には、補正フィルタ係数F(u’,v’)として、「0」を利用する。
【0052】
従来技術では、周波数画像の原点から周波数座標(u’,v’)までの距離rによらず、補正フィルタ係数F(u’,v’)=1であったため、rが大きい高周波数成分で、高周波が大幅にカットされてしまい、高周波の差分に対する貢献度が小さかった。そのため、機械学習実行部152は、ある正の数δを導入してO(F(u’,v’))≧O(rδ)となるように、補正フィルタ係数F(u’,v’)を設定する。
【0053】
なお、機械学習実行部152は、補正フィルタ係数F(u’,v’)の各周波数の重みを制御するパラメータσを用いて、式(7)の評価関数を用いて、推定誤差を算出してもよい。式(7)に含まれるH(u,v)は、式(8)によって示され、周波数画像に対する分散σ2のガウスフィルタのフーリエ変換を示す。
【0054】
【0055】
【0056】
構造推定部153は、機械学習実行部152によって訓練済みのAuto-Encoder型ニューラルネットワークを基にして、3次元密度構造を推定する。
【0057】
たとえば、構造推定部153は、入力部120等から、対象の射影画像を取得する。構造推定部153は、射影画像に対してフーリエ変換を実行することで、周波数画像を生成する。
【0058】
構造推定部153は、周波数画像を、訓練済みのAuto-Encoder型ニューラルネットワークに入力し、フーリエ空間の3次元密度構造を推定する。構造推定部153は、フーリエ空間の3次元密度構造に対して、逆フーリエ変換を実行することで、実空間の3次元密度構造を推定する。構造推定部153は、推定結果を、表示部130に出力して表示させる。
【0059】
次に、本実施例に係る情報処理装置100が、Auto-Encoder型ニューラルネットワークの機械学習を実行する処理の手順について説明する。
図2は、本実施例に係る情報処理装置の処理手順を示すフローチャートである。情報処理装置100の機械学習実行部152は、射影画像データテーブル141から、ある射影方向θ、φの射影画像を取得する(ステップS101)。
【0060】
機械学習実行部152は、射影画像をフーリエ変換することで、第1の周波数画像を生成する(ステップS102)。機械学習実行部152は、第1の周波数画像を、エンコーダー10aに入力して、デコーダー10bからフーリエ空間の3次元密度構造を推定する(ステップS103)。
【0061】
機械学習実行部152は、3次元密度構造を射影方向θ、φに射影することで、第2の周波数画像を取得する(ステップS104)。機械学習実行部152は、各周波数座標において、第1の周波数画像と、第2の周波数画像との差分をPθ,φ(u’,v’)に設定する(ステップS105)。
【0062】
機械学習実行部152は、式(3)を基にして、推定誤差を算出する(ステップS106)。機械学習実行部152は、推定誤差が小さくなるように、Auto-Encoder型ニューラルネットワークの機械学習を実行する(ステップS107)。
【0063】
次に、本実施例の効果について説明する。情報処理装置100は、第1の周波数画像を、Auto-Encoder型ニューラルネットワークに入力して、第2の周波数画像を取得し、第1の周波数画像と、第2の周波数画像との差分を評価する場合に、式(3)の評価関数によって、推定誤差を計算する。かかる評価関数は、第1の周波数に関する重みが、第2の周波数(第1の周波数よりも高い周波数)に関する重みよりも小さい評価関数である。これによって、第1の周波数画像と、第2の周波数画像との差分を、周波数画像の周波数(周波数座標)によらず均等に評価でき、周波数画像を用いた機械学習を精度よく実行できる。
【0064】
情報処理装置100は、周波数画像のある周波数座標(u’2,v’2)に設定された値の2乗の和「u’2
2+v’2
2」が閾値以下である場合には、補正フィルタ係数F(u’,v’)として、「u’2
2+v’2
2」に比例する値を利用する。一方、情報処理装置100は、周波数画像のある周波数座標(u’2,v’2)に設定された値の2乗の和「u’2
2+v’2
2」が閾値以下でない場合には、補正フィルタ係数F(u’,v’)として、「0」を利用する。これによって、ノイズの影響が低周波よりも大きい高周波の貢献度が大きくなりすぎることを抑止することができる。
【0065】
ところで、上述した情報処理装置100は、上記のアイデアを3次元密度構造の最適化に適用することもできる。
図3は、3次元密度構造の最適化の一例を説明するための図である。
【0066】
図3では、実空間の3次元密度構造20を、実空間の3次元密度構造30に最適化する場合について説明する。たとえば、3次元密度構造20は、推定対象となる3次元密度構造である。情報処理装置100は、3次元密度構造20を、第1射影方向によって射影することで、射影画像21を生成する。情報処理装置100は、射影画像21に対して2次元のフーリエ変換を実行することで、周波数画像21aを生成する。
【0067】
一方、情報処理装置100は、実際の3次元密度構造30に対して3次元のフーリエ変換を実行することで、フーリエ空間の3次元密度構造30aを生成する。情報処理装置100は、3次元密度構造30aを、第1射影方向によって射影することで、周波数画像31aを生成する。
【0068】
情報処理装置100は、各周波数座標について、周波数画像21aと周波数画像31aとの差分を算出し、算出した差分に、補正フィルタ係数F(u’,v’)を乗算した値を累積することで、推定誤差を算出する。情報処理装置100は、推定誤差が小さくなるように、周波数画像21aの各周波数座標の値を調整する。
【0069】
続いて、情報処理装置100は、3次元密度構造20を、第1射影方向とは異なる第2射影方向によって射影することで、射影画像22を生成する。情報処理装置100は、射影画像22に対して2次元のフーリエ変換を実行することで、周波数画像22aを生成する。
【0070】
情報処理装置100は、3次元密度構造30aを、第2射影方向によって射影することで、周波数画像32aを生成する。
【0071】
情報処理装置100は、各周波数座標について、周波数画像22aと周波数画像32aとの差分を算出し、算出した差分に、補正フィルタ係数F(u’,v’)を乗算した値を累積することで、推定誤差を算出する。情報処理装置100は、推定誤差が小さくなるように、周波数画像22aの各周波数座標の値を調整する。
【0072】
同様にして、情報処理装置100は、3次元密度構造20を他の射影方向で射影した射影画像をフーリエ変換した周波数画像について、上記の処理を繰り返し実行することで、調整後の周波数画像を得る。情報処理装置100は、各調整後の周波数画像を逆フーリエ変換することで、調整後の射影画像を取得し、各射影画像を基にして、実空間の3次元密度構造40を生成する。これによって、情報処理装置100は、3次元密度構造20を、3次元密度構造40に最適化することができる。
図3で説明した処理は、情報処理装置100の制御部150が実行してもよい。
【0073】
次に、上述した情報処理装置100と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。
図4は、実施例の情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【0074】
図4に示すように、コンピュータ300は、各種演算処理を実行するCPU301と、ユーザからのデータの入力を受け付ける入力装置302と、ディスプレイ303とを有する。また、コンピュータ300は、有線または無線ネットワークを介して、外部装置等との間でデータの授受を行う通信装置304と、インタフェース装置305とを有する。また、コンピュータ300は、各種情報を一時記憶するRAM306と、ハードディスク装置307とを有する。そして、各装置301~307は、バス308に接続される。
【0075】
ハードディスク装置307は、取得プログラム307a、機械学習実行プログラム307b、構造推定プログラム307cを有する。また、CPU301は、各プログラム307a~307cを読み出してRAM306に展開する。
【0076】
取得プログラム307aは、取得プロセス306aとして機能する。機械学習実行プログラム307bは、機械学習実行プロセス306bとして機能する。構造推定プログラム307cは、構造推定プロセス306cとして機能する。
【0077】
取得プロセス306aの処理は、取得部151の処理に対応する。機械学習実行プロセス306bの処理は、機械学習実行部152の処理に対応する。構造推定プロセス306cの処理は、構造推定部153の処理に対応する。
【0078】
なお、各プログラム307a~307cについては、必ずしも最初からハードディスク装置307に記憶させておかなくても良い。例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD-ROM、DVD、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ300が各プログラム307a~307cを読み出して実行するようにしてもよい。
【0079】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【0080】
(付記1)第1の周波数画像を入力したエンコーダーの出力をデコーダーに入力することによって、第2の周波数画像を取得し、
第1の周波数に関する重みが前記第1の周波数より高い第2の周波数に関する重みより小さい損失関数と前記第1の周波数画像と前記第2の周波数画像とに基づいて、前記エンコーダーと前記デコーダーとの訓練を実行する、
処理をコンピュータに実行させる機械学習プログラム。
【0081】
(付記2)前記損失関数は、各周波数座標における前記第1の周波数画像と前記第2の周波数画像との差分に、前記第1の周波数に関する重みが第1の周波数より高い第2の周波数に関する重みより小さい重みを乗算した値を累計した推定誤差を算出する関数であり、前記エンコーダーと前記デコーダーの訓練を実行する処理は、前記推定誤差を基にして、前記エンコーダーと前記デコーダーとの訓練を実行することを特徴とする付記1に記載の機械学習プログラム。
【0082】
(付記3)前記取得する処理は、前記第1の周波数画像を入力した前記エンコーダーの出力を前記デコーダーに入力することによって、3次元密度構造を推定し、前記3次元密度構造を基にして、前記第2の周波数画像を取得することを特徴とする付記1に記載の機械学習プログラム。
【0083】
(付記4)前記エンコーダーと前記デコーダーの訓練を実行する処理は、前記第1の周波数画像または前記第2の周波数画像のある周波数座標に基づく値が閾値よりも大きい場合には、前記ある周波数座標における前記第1の周波数画像と前記第2の周波数画像との差分を0に設定する処理を更に実行することを特徴とする付記2に記載の機械学習プログラム。
【0084】
(付記5)前記損失関数は、ガウスフィルタを更に含み、前記エンコーダーと前記デコーダーの訓練を実行する処理は、前記ガウスフィルタを更に含む前記損失関数を基にして算出される推定誤差を基にして、前記エンコーダーと前記デコーダーとの訓練を実行することを特徴とする付記2に記載の機械学習プログラム。
【0085】
(付記6)第1の3次元密度構造をある射影方向で射影した射影画像に基づく第1の周波数画像と、フーリエ空間の第2の3次元密度構造を前記ある射影方向で射影した第2の周波数画像との差分に、第1の周波数に関する重みが第1の周波数より高い第2の周波数に関する重みより小さい重みを乗算し、
乗算結果が小さくなるように、前記第1の周波数画像の値を調整する
処理をコンピュータに実行させることを特徴とする最適化プログラム。
【0086】
(付記7)第1の周波数画像を入力したエンコーダーの出力をデコーダーに入力することによって、第2の周波数画像を取得し、
第1の周波数に関する重みが前記第1の周波数より高い第2の周波数に関する重みより小さい損失関数と前記第1の周波数画像と前記第2の周波数画像とに基づいて、前記エンコーダーと前記デコーダーとの訓練を実行する、
処理をコンピュータが実行する機械学習方法。
【0087】
(付記8)前記損失関数は、各周波数座標における前記第1の周波数画像と前記第2の周波数画像との差分に、前記第1の周波数に関する重みが第1の周波数より高い第2の周波数に関する重みより小さい重みを乗算した値を累計した推定誤差を算出する関数であり、前記エンコーダーと前記デコーダーの訓練を実行する処理は、前記推定誤差を基にして、前記エンコーダーと前記デコーダーとの訓練を実行することを特徴とする付記7に記載の機械学習方法。
【0088】
(付記9)前記取得する処理は、前記第1の周波数画像を入力した前記エンコーダーの出力を前記デコーダーに入力することによって、3次元密度構造を推定し、前記3次元密度構造を基にして、前記第2の周波数画像を取得することを特徴とする付記7に記載の機械学習方法。
【0089】
(付記10)前記エンコーダーと前記デコーダーの訓練を実行する処理は、前記第1の周波数画像または前記第2の周波数画像のある周波数座標に基づく値が閾値よりも大きい場合には、前記ある周波数座標における前記第1の周波数画像と前記第2の周波数画像との差分を0に設定する処理を更に実行することを特徴とする付記8に記載の機械学習方法。
【0090】
(付記11)前記損失関数は、ガウスフィルタを更に含み、前記エンコーダーと前記デコーダーの訓練を実行する処理は、前記ガウスフィルタを更に含む前記損失関数を基にして算出される推定誤差を基にして、前記エンコーダーと前記デコーダーとの訓練を実行することを特徴とする付記8に記載の機械学習方法。
【0091】
(付記12)第1の3次元密度構造をある射影方向で射影した射影画像に基づく第1の周波数画像と、フーリエ空間の第2の3次元密度構造を前記ある射影方向で射影した第2の周波数画像との差分に、第1の周波数に関する重みが第1の周波数より高い第2の周波数に関する重みより小さい重みを乗算し、
乗算結果が小さくなるように、前記第1の周波数画像の値を調整する
処理をコンピュータが実行する最適化方法。
【0092】
(付記13)第1の周波数画像を入力したエンコーダーの出力をデコーダーに入力することによって、第2の周波数画像を取得し、
第1の周波数に関する重みが前記第1の周波数より高い第2の周波数に関する重みより小さい損失関数と前記第1の周波数画像と前記第2の周波数画像とに基づいて、前記エンコーダーと前記デコーダーとの訓練を実行する、
処理を実行する制御部を有する情報処理装置。
【0093】
(付記14)前記損失関数は、各周波数座標における前記第1の周波数画像と前記第2の周波数画像との差分に、前記第1の周波数に関する重みが第1の周波数より高い第2の周波数に関する重みより小さい重みを乗算した値を累計した推定誤差を算出する関数であり、前記エンコーダーと前記デコーダーの訓練を実行する処理は、前記推定誤差を基にして、前記エンコーダーと前記デコーダーとの訓練を実行することを特徴とする付記13に記載の情報処理装置。
【0094】
(付記15)前記取得する処理は、前記第1の周波数画像を入力した前記エンコーダーの出力を前記デコーダーに入力することによって、3次元密度構造を推定し、前記3次元密度構造を基にして、前記第2の周波数画像を取得することを特徴とする付記13に記載の情報処理装置。
【0095】
(付記16)前記エンコーダーと前記デコーダーの訓練を実行する処理は、前記第1の周波数画像または前記第2の周波数画像のある周波数座標に基づく値が閾値よりも大きい場合には、前記ある周波数座標における前記第1の周波数画像と前記第2の周波数画像との差分を0に設定する処理を更に実行することを特徴とする付記14に記載の情報処理装置。
【0096】
(付記17)前記損失関数は、ガウスフィルタを更に含み、前記エンコーダーと前記デコーダーの訓練を実行する処理は、前記ガウスフィルタを更に含む前記損失関数を基にして算出される推定誤差を基にして、前記エンコーダーと前記デコーダーとの訓練を実行することを特徴とする付記14に記載の情報処理装置。
【0097】
(付記18)第1の3次元密度構造をある射影方向で射影した射影画像に基づく第1の周波数画像と、フーリエ空間の第2の3次元密度構造を前記ある射影方向で射影した第2の周波数画像との差分に、第1の周波数に関する重みが第1の周波数より高い第2の周波数に関する重みより小さい重みを乗算し、
乗算結果が小さくなるように、前記第1の周波数画像の値を調整する
処理を実行する制御部を有する情報処理装置。