以前に大きな話題になった、Googleが開発した人工知能「deepdream」。
ニューラルネットワークを用いた機械学習のアルゴリズムで描いた奇妙な画像には、「怖い」といった声が多く寄せられていた。
このほど、アメリカでは同じようなディープラーニングを利用した、どんなものも猫に変換するプログラムが公開され、にわかに注目を集めている。
・pix2pixという学習モデルを利用
今回紹介する「image-to-image」アルゴリズムは、米サンフランシスコに拠点を置くPushbullet社の共同創立者であり、自身がプログラマーでもあるChristopher Hesse氏が開発。
Hesse氏は、pix2pixというモデルを利用し、任意の線の入力を別のものに変換するプログラムを作成。
pix2pixは、2つのペアになった画像を用意すると、その変換方法を学習。例えば、ラベルで描いた建物の外観と、それに対応する建物の写真を与えれば、インプットとアウトプットの変換を学ぶということだ。
こうした仕組みを使った同氏のデモサイトでは、建物や猫、靴、ハンドバックのサンプルが公開されている。
・猫の輪郭を描けば、猫が現れる?
ここまで説明だけ読んでも、わかりにくい部分があるかもしれない。早速、話題の“猫変換”を試してみよう。
「edges2cats」を見ると、インプットには猫の輪郭が描きこまれ、アウトプットにはハッキリと猫の画像が表示されている。「random」をクリックすれば、同じように変換に成功した猫が何枚も現れる。
自分で試してみる場合は真ん中の「clear」ボタンでインプット枠を空にし、マウスで思い思いの猫を描き「process」をクリックするだけ。
筆者も試してみたが、極めて猫らしい姿の画像が生成されることもあれば、(当然のことながら)猫からかけ離れた輪郭を入力すると、それ相応に奇妙なクリーチャーが誕生することもあった。
猫のパートでは、データベース上にある約2000枚の猫画像を使い、猫の輪郭や形を認識するようアルゴリズムを訓練したという。時々、面妖なアウトプットが出現することについてHesse氏は「動物の見た目、特に目の周りは間違って認識しやすいのでは」と説明している。
猫画像の生成を通して、ご自身でもディープラーニングの現在地を感じてみては。
Image-to-Image Demo