ディープニューラルネットワークはサンプルが多くないとダメ?→半教師あり学習や転移学習をしてみては?

分子設計・材料設計・プロセス設計・プロセス管理において、分子記述子・実験条件・合成条件・製造条件・評価条件・プロセス条件・プロセス変数などの特徴量 x と分子・材料の物性・活性・特性や製品の品質などの目的変数 y との間で数理モデル y = f(x) を構築し、構築したモデルに x の値を入力して y の値を予測したり、y が目標値となる x の値を設計したりします。

モデルを構築する手法の一つとして、ディープニューラルネットワークがあります。ディープニューラルネットワークの特徴の一つに、大量のパラメータを用いてフィッティングすることが挙げられます。そのため、一般的にサンプル数が多い時に有効な手法と言えます。

ただ、分子や材料、プロセスのデータにおいては、サンプル数が小さいことが多く、10 サンプル程度でモデルを構築する必要がある、といったこともあります。通常のディープニューラルネットワークを用いると、モデルが過学習してしまうため、データに対する予測精度が低下する恐れがあります。

こんな時、半教師あり学習や転移学習を活用してみると良いかもしれません。例えば、分子記述子や時系列データなどに対して、x 間に相関関係があるなかで有効に対処したり、そもそもどのような特徴量を x として用いれば良いか検討したりする必要があります。また、y は測定されていなくても、分子構造のデータや時系列データは豊富に存在する状況があります。

このとき、半教師あり学習として、例えばオートエンコーダのような潜在変数化できるモデルを活用して、事前に豊富にあるデータを用いて x を潜在変数化し、その潜在変数と y の間で回帰モデルやクラス分類モデルを構築することも考えられます。これにより、大量のデータを用いて x の間の関係性を抽出し、それを保持する形で少数の潜在変数として表現することで、回帰モデルやクラス分類モデルにおける入力変数として妥当な変数を使用できます。もちろん、オートエンコーダの入力として x だけでなく、分子構造や時系列データそのものなどの、まだ特徴量化されていないデータを用いることで、豊富なデータを用いた x の検討もできます。

さらに、豊富なデータに対象とする y 以外の、y に相当するデータがあれば、そのデータセットを用いて回帰分析やクラス分類を行うディープニューラルネットワークを構築しても OK です。もちろん、構築した後に転移学習的に最終層だけファインチューニングするといった方法もできますし、さらには中間層から得られる値を上記のオートエンコーダの潜在変数のように使用することもできます。この潜在変数と y との間でのモデルを構築する場合には、ニューラルネットワーク以外の別の回帰分析手法やクラス分類手法の検討もできます。

以上のように、対象とするデータセットのサンプルは少なくても、x に関する他のデータセットや、別の y のデータセットが豊富にあれば、ディープニューラルネットワークを用いて x の次元削減や有効な x の抽出などをして、回帰分析やクラス分類を検討することが可能です。ぜひ活用ください。

 

以上です。

質問やコメントなどありましたら、X, facebook, メールなどでご連絡いただけるとうれしいです。

タイトルとURLをコピーしました