Flipboardが低解像画像をアップスケールするというDeep Learningの応用について報告し、この学習アルゴリズムのパワーと柔軟性を示した。
画像の超解像再構成は、画像処理およびコンピュータビジョンの分野で進行中の研究課題だ。課題はダウンスケールした画像から解像度の高い画像を再構成するところにある。TVが私たちに思い込ませるのとは違って、再構成はダウンスケールした画像だけではできない。細部が決定的に失われているためだ。
代わりに、失われた情報を埋めるため、このアルゴリズムは高解像画像とダウンスケールした画像の画像パッチのペアを含んだ辞書を利用する。
ニューラルネットワーク、なかでも深層畳み込みニューラルネットワークは機械学習アルゴリズムのひとつだが、画像パッチのペアの対応付けを効率良く学習し、与えられたサンプルを超えて、予測を一般化することができる。
ニューラルネットワークは、早くも1940年代に、脳における神経計算のための数学モデルとして考案されたが、この20年の計算技術の進歩のおかげで、何百万ものニューロンを用いた巨大なネットワークを効率良くシミュレートできるようになった。
ニューラルネットワークは多数の相互接続された層で構成され、多数の入力変数を徐々にひとつの出力に変換する。ニューロン間の重み付けを調整することで、ありえる膨大な対応付けを計算することができる。
加えて、畳み込みニューラルネットワークには、自由に構成可能な画像フィルターバンクの層が含まれている。たとえば、もし学習問題に必要であれば、それをエッジ検出器にすることができる。
FlipboardのエンジニアであるNorman Tasfi氏は、Flipboardにおけるこの技術の応用について報告している。彼らは視覚的に魅力的な画像を手に入れるため、この技術を使って低解像画像をアップスケールした。得られた画像は、たとえば、彼らのプロダクトに表示する記事のバックグラウンド画像やヘッダ画像として使われるという。
彼らは8層からなるニューラルネットワークを使った。そのうち3層が畳み込み層だ。ニューラルネットワークはAmazonクラウドで、NVIDIAのcuDNNライブラリによるGPUアクセラレーションを活用し、勾配降下法を使ってトレーニングされた。これはニューラルネットワークの重みパラメータの更新を計算する標準的な方法であり、個々の入出力サンプルの予測誤差を調べ、その勾配情報に基づいて誤差が小さくなるようにする。
彼らは更新情報をスムーズにするため、更新を実行する前に、ミニバッチと呼ばれる250以上のサンプルで集計した。
ひとつのモデルのトレーニングには、約19時間かかったという。全部で500ほどのネットワーク構成がテストされ、トレーニング時間は全部で約4週間かかった。
記事には数値的な性能が示されていないが、実際に再構成することで得られた高品質な画像サンプルがいくつか載せられている。バイキュービック法のような普通のスケーリングアルゴリズムと比べて、特に細部がうまく再構成されている。
またNorman氏は、重み付けの初期化といったものが、すぐれた性能を得るために重要なポイントになることに驚いたという。
この事例は、深層ニューラルネットワークが純粋なアカデミックなユースケースの域を超えていることを示すものだ。