AI_ML_DL’s diary

人工知能、機械学習、ディープラーニングの日記

Deepfake Detection Challenge - 3

Deepfake Detection Challenge - 3

Identify videos with facial or voice manipulations

 

*本日の予定:方針を考えなおす。

 

*賞金総額$1,000,000、約1億1千万円とはすごいな。ノーベル賞級だな。

・1位の賞金は$500,000、約5千5百万円だ。

・ほんとかな、と、何度も見にいってしまう。

 

*注意事項がたくさんあるので、わからないことは、Discussionで確認してみよう。

・とりあえず、Kaggleのkernel経由、であることは重要だな。

 

*データ量がハンパないので、学習するだけでも大変そうだ。

・zipファイルで500GBもある。分割ダウンロードできるようになっているが、それにしても、プロ仕様だな、と感じる。

・モデルは、正確さだけでなく、早さも必要だ。

 

*動画であるが、基本は画像分類だから、とりあえず、ResNetとかResNextなんかが、普通に使われるんだろうな。

・自分の今のパソコンは、ResNet50でパンクしたからな。

・そうすると、もう、GPU(11GB以上)やTPUの世界だし、RAMだって32GB以上は必要だろうな。

・正確さをサブ%レベルで競うようになると、高性能ネットワークのアンサンブルになってきて、そういうものをどれだけ使いこなせるかという世界になるんだろうな。

・そうすると、クラウドを使えるようになっておかないとだめなのかな。

 

*このあたりで、くじけそうになる。

*昨日、いいお手本だなと思ったものは、自分には合わないことがわかった。

*論文の読み込みが不足している。

 

*3日以内に、小さなデータベースを使って、fakeかtrueかを予測するプログラムを作ってみよう。 

・動画をダウンロードして、何枚かの静止画像を使う。

・fakeとtrueをそれぞれ1000枚づつくらい用意しよう。

・犬か猫かと同じように、fakeかtrueかの2者択一だ。

・Kerasの小さなCNNを使おう。

・これなら、できるでしょう。

・fake動画がどうやって作成されたかなどおかまいなしに、CNNは、教えられたとおりの答えが得られるように、延々と、計算を繰り返すでしょう。

・延々と計算しても、lossが減らない:学習が進まない可能性が高い。

・そうすると、次は、顔認証して、顔にフォーカスする必要があるかもしれないな。

 

*シリーズの初回の最初の論文、Detecting Face2Face Facial Reenactment in Videos、これが最適かどうかはわからないが、通読してみる。

・1つの動画から、ランダムに10フレーム選んで処理している。

・前処理として顔を抽出するのは必須。

・Resnetの層数(18, 50, 152)とfake識別性能の関係は、圧縮率の高い画像に対しては、通常とは逆に総数が少ないほど性能が高くなる傾向がみられている。

・顔の全体画像に加えて、上下左右に4分割した画像を並列に流して損失関数の配合割合を調節してfake検出性能を詳細に検討したものであるが、元々、データ数がそれほど多くないので、結果としては、画像を5倍に増やしたのと同程度の性能向上となったのかもしれない。

 

*明日のことは、明日考えよう!

 

f:id:AI_ML_DL:20200215085937p:plain

style=106 iteration=1

f:id:AI_ML_DL:20200215090157p:plain

style=106 iteration=20

f:id:AI_ML_DL:20200215090058p:plain

style=106 iteration=500