"BOKU"のITな日常

還暦越えの文系システムエンジニアの”BOKU”は新しいことが大好きです。

Neural Network Consoleに個人的に勝手に期待していること

Neural Network Consoleへの個人的な思い入れと個人的に勝手に期待していることなどを書いておこうなどと思っております。

f:id:arakan_no_boku:20190302141118j:plain

 

なんで今更?

 

先日、ひょんなことで、中津川さん(株式会社MOONGIFT代表取締役)と、立ち話でNeural Network Consoleについて会話する機会がありました。
moongift.co.jp

その後で、ふと・・考えたのですね。

こうやって、毎回、単発的にしゃべって終わるだけというのもどうなんだろう。

確かに・・。

自分の話していることなど、ごく個人的な勝手な思い入れと期待にすぎません。

それでも、文章にしておく方が、きっと、しないよりはマシかもしれない・・なんてことをです。

考えてみれば、自分のブログなので、誰に迷惑かけるわけでもないですしね。

あ・・、話は飛びますが・・、お会いした時に、SONYロゴのTシャツを頂きました。背中に、Neural Network Console/Neural Network Librariesと書かれた、実にレアなTシャツで、うれしい限りです(*^▽^*)。

f:id:arakan_no_boku:20190302141753j:plain

 

 

初めての非エンジニアの為のディープラーニングツールだと思った

 

さて・・話を戻します。 

自分が Neural Network Consoleに肩入れする理由です。

それは「やる気がある文系&非エンジニア」が使える「オンリーワンなディープラーニングツール」になる可能性を感じているからです。

イメージ図にするとこんな感じ。

f:id:arakan_no_boku:20190304220633j:plain

 

やる気がある文系&非エンジニア向けツール

 

そもそも。

ディープラーニングという技術は、「やる気がある文系&非エンジニア」にとっては、敷居が高いです。

本を読むにせよ、ちょっと試して感触をつかもうとするにせよ、最初の段階で2つの壁に阻まれてあきらめたって人も多いんじゃないですかね。

かといって。

この「数学とPythonの壁」を意識しないですむレベルの本だと、概要レベルの内容になってしまいますから、実務につなげるのは厳しいですし。

悩ましいところですね。

 

それでいいじゃないかという意見もあるのは承知です

 

こういう話をすると、エンジニア系の人たちからは、「それで何の問題があるの?」という反応があります。

ディープラーニングは難しくて当然だし、理解するのに数学的基礎やプログラミングの素養が必要なのも当然だろう。

ある程度スキルのある人間にとって、今のディープラーニングを取り巻く環境は決して複雑すぎないし、十分に学習の難易度も下がってきてる。

それなのに、なんで、そんな基礎スキルもない「やる気がある文系&非エンジニア」にこだわる必要があるのか・・意味がわからない。

なんてことを言われます。

でもね。

違うんだよな・・と自分は思います。

 

人工知能研究開発競争で周回遅れの日本の勝機は現場にある?

 

なんで、違うのかを書こうとすると、話の流れ上、いきなり大きな話になります。

ディープラーニング技術(人工知能/AI)に関する日本の立ち位置なんぞを、自分が語るのはおこがましいのですが・・まあ、個人的に考えるのは自由ということでご容赦ください。

有識者の見解として、よく聞くのは。

ディープラーニングを中心にした人工知能(AI)関連技術の研究開発競争について、日本は存在感を示せておらず、立ち遅れているとみられているという認識です。

最先端の研究開発については、論文発表数なんかでも中国や米国などとは大きな差があるらしいですし・・まあ、そうなんでしょう。

でも。

もともと日本の強みは、最先端の研究開発で世界をリードする方向ではなく、「こなれた技術を現場に取り込んで小さな改善を積み重ねて実利を得る」部分にあるはずだと、個人的には思っているのです。

なので、ディープラーニング技術(人工知能/AI)に関しても、そういう現場実務への応用ノウハウ・技術をもって、勝機を見出す方向性で別にいいじゃないか・・という意見に賛成です。

 

勝機を見出すのを妨げる絶望的なミスマッチ

 

ということもあって。

現場実務へのディープラーニング技術の応用ノウハウ・技術に勝機を見出すってことを意識しているのですが、悲しいかな、現実には大きなミスマッチを感じます。

人と機会のアンマッチとでもいうんですかね。

ディープラーニングに手をだせる基礎的スキルと勉強する時間をとれる人間(理系&エンジニア系)が現場にいる確率は極めて低いので、現場の問題に気づけない。

解決すべき課題やデータをもつ現場には、ディープラーニングの基本的なスキル・知識を持った人間がいないので、問題があっても、ディープラーニングを使ったソリューションに思いがいたらない。

そんなことがおきているように見えます。

たぶん、研究開発をしてる人達のレベルは高いはずなので、現実の課題・アイディアをその人たちにつなぐことができる人が、もっと必要なんだろうな。

そんなことを考えてます。

そんな役割(つなぐ)を担うキーマンになるべきなのは、現場にいる「やる気がある文系&非エンジニア」じゃないのかな?・・と、個人的には思ってます。

だからこそ、やる気がある文系&非エンジニアの試行錯誤や社内提案などに使えるディープラーニングツールこそ必要なんじゃないかと、思っているわけなのです。 

 

Pythonぬきで、ある程度までやれるツールが望ましい

 

じゃあ。

やる気がある文系&非エンジニアが使えるディープラーニングツール・・って、どんな感じか?なんですね。

いろいろ意見はあるでしょうけど、自分としては、以下の図の左側赤枠の部分を「NO PYTHON」でやれることが必要だろうと思っています。

f:id:arakan_no_boku:20190306211402j:plain

 

ある程度のところまでできればよい

 

なぜ、「NO PYTHON」なのかですが。 

アイディアを思いついた時、仕事の合間や始業・就業前の数時間程度で、ざっくり試せることが重要だからです。

現場は忙しいですからね。

じっくり時間をかけて・・なんてできません。

それにPythonや数学の勉強している間に、もともとのアイディアや課題のことを忘れてしまったりします。

この段階では、そこそこの精度で十分です。

あれこれ試せる柔軟性は、逆にいらないくらいです。

アイディアをとりあえず試せる。

会議で簡単なデモをして、上司やメンバーでさくっとアイディアを共有できる。

これが何より重要です。

だって、それができないと、どんな良いアイディアも現場の雑談で終わるので。

Pythonや数学的理論を駆使した精度の追及やモデルの検討とか実用化にむけての技術的な詰めなんか、その段階を抜けて、社内承認を得てプロジェクトをたちあげてから、理系&エンジニアのメンバーを加えてやればいいのです。

 

Neural Network Consoleに個人的に勝手に期待すること

 

さて、Neural Network Consoleです。

文系&非エンジニアの人が、ディープラーニングに触れるツールとしてどうか?という点についての個人的感想ですが。

まず。

ディープラーニングGUIでやって動かしながら勉強できるという部分については、既に高いレベルにあります。

だって、そこに自分も食いついたのですからね。

でも。

現時点のバージョンだと、その次のステップに行こうとすると「数学とPythonの壁」が、ちょろちょろと見え隠れして、急に難しく感じる部分がまだ残ってます。

そこがなんとも惜しくて・・、個人的にこうなったらいいなと期待していることが、いろいろとあります。

大きなところを、ざっとあげると。

  • NNabla_cli.exeはNeural Network Consoleに付属してほしい。
  • 学習済のモデルをサンプルプロジェクトやAPI的に提供してほしい。
  • 自然言語などの前処理レイヤーを追加してほしい。

 てな感じですかね。

 

NNabla_cli.exeはNeural Network Consoleに付属してほしい

 

見た目上、「NO PYTHON」で学習済モデルを使った推論をWindows上で実行できるという点で、NNabls_cli.exeは、「Neural Network Console」の付属であるべき、ツールだろう!と、いつも思います。

なのに・・NNabls_cli.exeが「Neural Network Libraries 」の付属ツールで、「Neural Network Console」についていない。

これはもったいないです。

NNabls_cli.exeは、「Neural Network Console」の付属にしてもらう。

かつ、コマンドラインだけでなく、インプットデータセットなどのオプションを起動した後の画面で入力・実行もできるようにするとか、Neural Network Consoleから右クリックで選択するインタフェースを用意してもらえるとか。

使い勝手(とにかく、コマンドプロンプトでコマンドを打ち込む行為自体が非エンジニアの人にとっては壁になりえるので)の改善もあわせてしてもらえるといいなと、思ってます。

 

学習済のモデルをサンプルプロジェクトやAPI的に提供してほしい。

 

Tendorflow/kerasとか、他のライブラリでも、redNetやVGG16等のImageNetで学習済のモデルなどが付属していて、それらを使ってデモをしたり、それをベースに転移学習して、高い精度の学習を短時間で実現したり・・みたいなことが普通になりました。

学習済モデルをAPIの形で提供する企業も増えてきました。

これらは素晴らしいのですが、Python等のプログラミングのスキルは最低限必要です。

これらを、Neural Network Console(クラウド版含む)やNNabls_cli.exeで使える形で提供してほしいと思います。

例えば。

学習済モデルをサンプルプロジェクトとして提供して転移学習のチュートリアルを提供してもらえるとか。

クラウド版の方で、学習済モデルでの推論をためせるデモンストレーション画面みたいなものを提供してもらえるとか。

などなど。

  • とりあえず試してみる。
  • 簡単なデモができる。

これらを「文系&非エンジニア」が行っていくという面で考えると、これに勝るものはないなと思います。

 

自然言語などの前処理レイヤーを追加してほしい 

 

データセットを作るところのハードルが高いのは当然です。

なんですが。

汎用性はそれほどなくても良いので、そのへんのハードルを少しでも下げられるような工夫は必要だと思うんですね。

たとえば。

自然言語処理とかでも、手持ちのテキストを流し込んでベクトル化して評価にかけるみたいなことが、制約付きだけど、とりあえず試せるというような前処理のレイヤーくらいあってもいいよなと思います。

前の学習済モデルの話とダブるのですが、それを提供いただくのとセットで、そのインプットのフォーマットに整える前処理レイヤーが提供してもらえるとかですね。

 

最後に・・以上は単なる個人の希望です(;^_^A

 

まあ、長々と書きました。

すべて、個人的にこうなったら良いなあ・・という希望でしかありません。

飲み屋で、おじさんたちが好きなスポーツ選手やアーティストについて、自分の期待や希望をのたまわっているのと、ほぼ同じです。

違う点があるとしたら、自分は素面で書いていることくらいですかね(笑)

でも。

現場のアイディアを、EXCEL・WORD+アルファ位の感覚で試行錯誤したり、社内で簡単なデモまで持っていけるようなディープラーニングツール。

これが実現したら面白いことになるんじゃないかな・・と、割に本気で思ってます。

そして、そんな事を思いながら、Neural Network Consoleでちょっと凝ったことをする時には、「惜しいな・・」などと思いながら、Pythonでゴリゴリとプログラムを書いたりしているわけなのですけどね。

ではでは。

 

関連記事

arakan-pgm-ai.hatenablog.com