ちょっと想像してみてほしい。あなたはいま濃い霧に包まれた山の中で山頂を目指している。一歩踏み出せば登ったのか下ったのかは分かる。だが先は見通せない。山が単純な円錐形なら頂上に着いたらそこはそのまま最も高い場所だが、現実の山は凸凹していて、小さな頂上がたくさんある。闇雲に歩いていても時間がかかるばかり。
いま、標高に例えたのは類似度だ。ノイズによる小さなピークもたくさんあって、どこが最も類似度が高いのか分からない。こんなとき、統計的手法が役に立つ。
まずひとつめは大きなジャンプをしながら進むというもの。そんなこと普通の人間にはできないが、天狗のように小山を飛び越え、飛び降りた先で頂を目指す。頂上に着いたら高度を確かめ、また大きなジャンプをする、何度もジャンプをするうちに最も高い頂上を見つける、という方法だ。歩くよりは速そうだが、力勝負には違いない。ジャンプの方法にコツがありそうだ。
もう少し賢い次の手は、シミュレーテッド・アニーリングと言う。アニーリングとは、もともとは融けた金属をゆっくり冷やしてきれいな結晶を得る「焼き鈍し法」のこと。鉄をゆっくり冷やしながら打っていくと硬くなるという物理現象を活かした鍛鉄方法の名前が、データ解析の分野でも使われている。初めランダムにバンバン大きく飛び、たまに下ってもいいが、進むごとに下ってもいい確率を減らしていく。だんだん絞っていくその確率を焼き鈍し法に倣って「温度因子」と呼ぶ。まるで実際に熱い金属を扱っているかのようだ。「温度」が高いときは下る回数が多くて、「温度」が下がってくると下る回数が減り、ゆっくり温度を下げると確実に収束し、いいところに落ち着く。
このような最適化アルゴリズムは画像処理に限らす普遍的なものである。分野や研究の目的に合わせて、例えば処理の時間がかかってもより最適な解を得られる方法をとったり、得られる解の精度が悪くなる確率が高くなっても速い方法を使ったり、どのアルゴリズムを使うかは両者のバランスで決まる。どうやって霧を晴らすか、は解析者次第だ。
関連記事:物構研ハイライト 2020/12/14 タンパク質の単粒子解析ってどうやるの?~二次元の画像データから 三次元の情報が得られるのはなぜ?~