2022年5月19日(木)

 深層CNNの対抗馬コントロールモデルとして機械学習からRandomForestを採用している。研究のために深層学習に手を出したから、パターン認識を含めた機械学習の基礎知識や経験が無い。

 深層学習の学習過程に於けるパラメータの更新は、誤差逆伝播を通じながらも、ある分布に従ってランダムに書き換えられていくという理解をしている(そんな記述を見た気がする)。だから同じ学習データ・同じハイパーパラメータでも、学習後のモデルが持つパラメータが異なる。だから学習を終えたら、例えば tensorflow.keras.models.save_model() 等を用いて、モデルを保存しない限り結果を保証できない。そういう前提がある中で機械学習手法のRandomForestに手を出してみると、同じ学習データ・同じハイパーパラメータであれば、学習をやり直しても同じ結果になることに少し衝撃を受けた。再現性が無いことが当たり前だったから、何度試しても同じ結果が出力されるというのはある種魅力的に映った。

 深層学習が末端に降りてきたのが最近であることを除いても、先行研究として深層学習が盛んに用いられることが無く、機械学習に根強い人気があるのはこの点も大きいのかもしれない。学術界では再現性が無い実験や研究は成果として発表しにくい。方法論として深層学習が用いられることはあっても、実際のResearch ArticleのMethodに出てくることはあまりないように思う。ただこれはあくまで自分の研究がニッチなものだからかもしれないが。もしモデルの学習過程に再現性が得られるなら用いられるようになるかもしれないとも思う。

 自分の研究も最終的には方法論の確立みたいな感じで落とし込むことになるんだろうとは思う。既にデータセットもコントロールモデルもCNNもほとんど固まっているから、出力結果を固定して、そこから何が言えるのかを派生させていく感じだと思っている。

 深層CNNの実行環境としてRyzen5 3600, RTX 2060 super, RTX A4000で挑んでいるが、GPUそれぞれで深層CNNの学習を回してさらにRFもやると、CPU使用率が100%に張り付いてしまう。CPUを5600Xとかにアップグレードをしたいな~とか考えるが、どうせこの計算期間を終えたら無用の長物になることを考えると二の足を踏む。何なら第12世代Intelに乗り換えたいなとか考えるともうね。

    呑み会は楽しかった。