エンジニア

2015.07.14

DeepDream のローカル実行環境を簡単に作れるリポジトリを利用して人工知能に想いを馳せてみた

臼井です。
してみたシリーズしている時は現実逃避気味です。

先に言っておくと、今日の記事はいわゆるグロ注意です。
リンク先にも人によってはつらい感じの画像があるので、耐性が無い方は回れ右願います……

さて。

先日Googleが公開した、DeepDream ですが、
門外漢には環境構築がさっぱり。
webインターフェースを構築してくれた所もありますが、
Deep Dream web interface
処理の待ち行列でいったい何日かかるんだ状態です。
わしもこのビッグウェーブに乗りたいんや!
【人工知能の悪夢】DeepDreamがオープンソースに。さっそく生み出されるホラー画像 – Togetterまとめ
【SAN値直葬】海外の恐すぎるDeepDream画像まとめ #DeepDream – Togetterまとめ

と思っていたところ、以下のリポジトリをネットの海で発見。
Dhar/image-dreamer
これを使って、DeepDream のローカル実行環境をさくっと構築させてもらいました。

手順

README.md のInstallとUsageにだいたい書いてありますが、作業メモを以下に記します。
注意点としては、

  • 低スペックマシンではまともに動かない可能性有り。特にメモリは大量に必要。
    • 新しいMacBookとかは厳しいのでは。
  • VirtualBoxとVagrantはあらかじめインストールしておく。

以下、Vagrant+VirtualBoxを使用し、他にVagrantで仮想マシンを起動していなくてローカルのポート2222が未使用の想定でのメモです。

cd
git clone https://github.com/Dhar/image-dreamer.git
cd image-dreamer
# 必要ならv.memoryの値に入っているメモリサイズを変更する。
vi Vagrantfile
# caffe のビルドに数十分かかると思うので、vagrant up後の Provisioning はしばらく放置する。
vagrant up
# 対象画像をコピーしてくる
cp -p ~/test.jpg ~/image-dreamer/
# 仮想マシンに入る
ssh vagrant@127.0.0.1 -p 2222 -i .vagrant/machines/default/virtualbox/private_key
# ホストとの共有ディレクトリに移動。
cd /vagrant/
# 実行
ipython dreamify.py test.jpg test_dreamed.jpg
# 開いて比べてみる
exit
open test.jpg test_dreamed.jpg

注意点としては、初期の仮想環境メモリ割り当てが2GBなので、あまり大きいサイズの画像を dreamify しようとすると、途中でプロセスが落ちたりして、完遂できません。
8GBほどメモリを割り当てても、フルHDくらいの画像で精一杯ではないでしょうか。
メモリ重要。webアプリケーションなんかとは性質が違うんです。

さて、個人的には色々ぶん回して、おおーとかぐえーとか言っているんですが、
あまりインターネット上の画像をどうこうしてここに公開するのもよろしくないので、
ハンズラボのサイトに含まれる画像のみに対してやってみます。

ハンズラボロゴ Before

ハンズラボロゴ DeepDream 1回

ハンズラボロゴ DeepDream 5回

全然だめですね。きれいなもんです。

では、井上氏のエントリの超うまそうな明太子画像はどうかなー

明太子 Before

明太子 1回

あかん、これはあかん。
なんというか、クトゥルフ感があります。

他にもいろいろ突っ込んでみたんですが、ホヤとか廃墟とか薄暗く内装の凝った室内とかが破壊力高いです。
人物も表情によっては動物になってしまったり、悪夢としか言い様がありません。
興味を持たれた方は、是非ご自身の環境でガンガンDeepDreamしてみましょう。

まとめ

画像突っ込んだだけで、ここは犬っぽい、鳥っぽい、などと考えて画像処理を施し、新しい画像を生成するというのは、 同一パラメータの場合入力に対して出力が安定する点などは人間とはまだ違うけど、
人間の創造力と人工知能の創造力の違いはなんであるか、という問いが湧いてきます。
DeepDream は、画像を読み込み、そのピクセル群から特徴を抽出して、自身の知っているものに近しいものがあればそのように加工して出力する、
という、極めて狭いドメインですが、創造力に類するものを発揮しているとも思えます。
完全に人間の仕事が置き換わったりすることは無いでしょうが、今世紀中にシンギュラリティ が来ないと断言できる材料も特に私は持っていません。
個人的願望としては、いやいや金のために働いている人の仕事は全部機械にやってもらって、ベーシックインカムで暮らしてもらえばいいのではないかと思うので、来て欲しいですが。
現在の人工知能に関して、研究者の立場から客観的に述べている書籍に、以下があります。
まだ読み切っていませんが、今のところ読みやくておすすめです。
人工知能は人間を超えるか (角川EPUB選書) [Kindle版]
人工知能がこわいのではなく、特定私企業に人工知能が囲い込まれることが恐怖、というレビューがありますね。(数社を想像しながら)
負けたくないものです。

上記の著者の東大松尾先生の記事があります。
人工知能に仕事を奪われる前に!今から学習すべき3つのテーマ | 未来を変えるプロジェクト by DODA
人工知能と称される技術の発展が、人間の働き方に変革をもたらすことが期待できますね。
人間にしかできないこと、考えられないこと、感じられないことを活かして働く、さもなくば働けない、という世界は、
労働集約的な働き方から真に人間が解放される世界なのではないでしょうか。
なんかアジテーションみたくなってしまった。

こういうことに関して議論が出来るひといないかなー(チラッチラッ)

一覧に戻る