バンダイナムコ・データサイエンス・チャレンジで4位でした
だいぶ前(去年)の話になりますが、バンダイナムコ・データサイエンス・チャレンジで上位入賞して商品を頂きました。
与えられたタスクは人為的にノイズを加えた人間の音声のメルスペクトログラムからノイズを除去するというものでした。
簡単に自分が行ったことを説明すると、まず、与えられたメルスペクトログラムを見てみて、近そうな人工ノイズとして以下のようなノイズを加え、人工的なデータセットを作りました。
rand = (0.8 - 0.1) * np.random.rand() + 0.1
mask = np.random.binomial(1, rand, melsp.shape)
noise = mask * np.random.normal(0, 2, melsp.shape)
melsp = melsp + noise
pix2pix のような AutoEncoder + Discriminator を上記のような人工データセットで学習させました。
コンペのサイトで提出時に表示されるスコアがかなり粗く、また実際のメルスペクトログラムとの差も log 上で取られていないようなので途中何回か提出したときはスコアが悪く、提出期限ギリギリから始めたので学習途中のモデルの結果をダメ元で提出しましたが、蓋を開ければ 4 位で驚きました。最後まで諦めないと案外いいことがあるのかもしれません。
今回のようなコンペや、kaggle などにも積極的に参加したいと思っているのですが論文の締め切りが襲ってくるのでなかなか参加できずにいました。このコンペも論文が終わったあとに慌てて作業していた思い出があります。今後も機会があれば参加できればと思います。