Console!こんにちは。技術研究所のわたなべです。機械学習初級者の私に強い味方が登場してくれたようなのでご紹介します。Consoleとは?去る8/17、こんなニュースが飛び込んできました。Consoleを公開これまでディープラーニング使ってみよう!という場合、ほぼPythonプログラミングというような雰囲気でしたが、ディープラーニング用の統合開発環境と銘打たれたものが出てきました。使ってみたのですが、こいつがなかなかどうしてイケてる感じでした!ポイントその1:ニューラルネットワークを視覚的に構築できるまず第一に、今までコードで表現するしかなかったニューラルネットワークを、視覚的に、簡単に構築することができます。Caffeというライブラリで以下のように定義されていたネットワークがあるとします。"SoftmaxCrossEntropy"}これをニューラルネットワークコンソールで表現すると、こうなります。レイヤーの繋がりかたも直感的にわかりやすいですし、追加や組み替えドラッグアンドドロップで簡単にできます。ポイントその2:学習結果も視覚的にわかりやすいまず、学習過程もリアルタイムでグラフ表示してくれます。当たり前のように思うかもしれませんが、これまでは推移を確認しようと思ったら学習過程をログに出力して、そのログを解析して、それをグラフ化して...ということを自分でプログラミングしてやっていた訳ですから、当然のように表示してくれるというのは実はとてもありがたいのです。学習後の評価結果も表形式にまとめて表示してくれます。ConfusionMatrixは全体の精度を自動計算して出してくれるので便利です。いくつか評価項目がありますが、単純な正確さを見るのであれば、まずはAccuracyを見るのがよいでしょう。それ以外にも、広めにとって見落としを減らしたければRecallが高くなるように調整したり、気にするポイントによってポイントは変わってきますが、長くなるのでここでは割愛します。Searchという機能を使うと、ニューラルネットワークを自動的に組み替えながら学習をしてくれます。レイヤーの追加・削除・パラメータの調整といったことをしてくれるので、簡易なニューラルネットワークを組んで、あとはお任せしてしまえば、前提知識がなくともそれらしい結果を導き出してくれる可能性があるのです。(あくまで”可能性がある”、ですが。)これは初心者には朗報なのではないでしょうか?試しに数時間回してみた結果、こうなりました。やろうとしたこと:CIFAR-10データセットを使用して、画像を10カテゴリに分類する(学習用:50,000件、評価用10,000件の32×32pixの画像データ)上がりました!ほんのちょっとだけですが!(笑)ネットワーク構造がまったく変わっていないように見えるかもしれませんが、Convolution層とMaxPooling層のパラメータが少し変わっています。今回は大きな成果は出ませんでしたが、自分では思いもよらない組み合わせをして、その学習結果がでてくるというのは各レイヤーの効果を考える機会になりますし、見ているだけで結構面白いです。ちなみに、当然ですが全然ダメな結果になることもあります。ある時点からどんどんエラー率が上がっていく(=精度が下がっていく)という。学習回数を増やせばいいわけじゃないといういい例ですね。ConsoleではメジャーなライブラリのひとつであるCaffeの形式のモデルも扱うことができます。(この機能はbeta版とのこと)CaffeのモデルはModel-Zooで公開、再利用が活発にされていますので、ここから使えるものを流用できるということになれば、利用の幅がグッと広がります。Networks)といった他のライブラリでも取り込む仕組みがありますので、エクスポートできるというのは、これらをメインで使っている経験者にも嬉しい点ではないでしょうか。ちなみに、TensorFlowでCaffeのモデルを使用した事例はこちらで詳しく紹介しています。気になったところなんだか褒めすぎてSONYさんの回し者だと思われそうなので、気になったところもあげておきます。謎ポイント1:データセットの画像、なにか制約あるみたい実は、自分で用意したデータを使った際にちょっと躓きました。学習用データを読み込んでキャッシュしようとしたタイミングで以下のようなエラーとなってしまいました。Consoleの”データセット作成機能”を通して再生成した画像データであればうまく読み込めるようでした。※データセットとは、学習・評価用のデータ(今回の場合は画像ファイル)と、そのファイル名と正解を記載したcsvファイルのセットです。データセット作成機能は「所定のフォルダ構造に配置した学習・評価データを元に、csvファイルを生成してくれる機能」だと思っていましたが、学習・評価用データ側もなんらか加工して再生成しているようでした。再生成されたpng画像のプロパティをよくよく見てみると、一部の項目が削られているようです。これが悪さをしていたのでしょうか。自前で用意したデータで上記のエラーが出た場合は、一度データセット作成機能を使ってみるとよいかもしれません。Matrixですが、なぜか選択しても何も表示されないことがあります。10のみになっています。“統合開発環境”と謳っている時点でPC上で動く前提なのでしょうが、学習能力がPCに依存してしまうという問題があります。GPUも使えるハイスペックPCなら早いのでしょうが、そういう方ばかりではないでしょう。Consoleを使用して、学習自体はそれを移植してサーバーで~というような工夫が必要かもしれませんね。クラウド版オープンβリリースまさにこの記事を執筆中だった11/8に、クラウド版のオープンβがスタートしたというニュースが飛び込んできたので早速試してみました!10CPU時間の学習・評価、10GBのデータセット、10プロジェクトまで無料で試すことができます。サンプルで用意されているプロジェクトも選択して活性化すると10プロジェクトのうちにカウントされるようなので念のため注意してください!使い方は、データセットを専用のアプリケーションでアップロードするようになる以外は基本的に変わりません。こちらでざっと確認した限りでは、機能として以下の違いがあるようです。上記のCIFAR-10のデータセットを使った学習をクラウド版でも試してみたのですが、学習・評価で2時間程度かかりました。(オープンβ開始翌日の計測なので、アクセスが集中しているでしょうし、これからマシンパワーの調整が入るかもしれないのでご参考まで。)個人的な感想としては、WinApp版をすでに使っていて特に不便がないのであればApp版でもいいかなと思いますが、MacやLinuxユーザーの方が試しに触ってみるにはいいと思います。今後、正式リリースに向けてどんな進化をするのか気になりますね!期待しましょう!とはいえ...やはりプログラムを書かずに学習・評価までできるというのは、非常に魅力的なポイントだと思います。興味はあるけどどこから始めたらいいんだ!と思っていた方は、一度触ってみてはいかがでしょうか。