一通りAI/機械学習の勉強を終えて...

世の中で爆発的に流行しているらしい機械学習とかDeep Learningなるものを一通りKerasとTensorFlowを用いて実装できるようになった。NNの実装には日本ではchainerが注目されているけれど、コードが冗長すぎて、計算時間も長いし正直そんなにいいとも思えない。それで世界の方で人気らしいTensorFlow, Theanoなどを試してみたところTensorFlowではなんと基本的なcsvの読み込みに恐ろしく時間がかかるというよくわからない欠陥があるようである。Googleの人たちは実際のデータをそんなに扱わないということなのであろうか...?そこで使ってみたのがTensorFlowをBackendにしてコードの簡略化などをするKerasというライブラリである。つまりTensorFlowとKerasを両方使っているということになる。このKerasはPythonが開発したものなので、例のごとくコードが非常にみやすく、必要な部分だけを変更できる形になっている。私が知っている限りでは現状ではこのタイプのNNが一番実装しやすい。もちろん例によって技術がどんどん進化してすぐにもっと使いやすいものが出てくるのだと思うが....

一応私が書いたコードの一部。

それで一応今回のAIの流行の肝であるDNNをそこそこわかったような感じになって, それでは社会ではどのような感じでAIが活用されているのかなという実感などを得るためにフリーランスのデータサイエンティストとしていくつか仕事をしてみた。一つはchainerによってNNを実装してデータ解析を行うものだったんだけど、上述の通り、私はchainerはそんなにいいものでもないと思ったので結局SklearnやKeras/TensorFlowによるものを提出して、まあそこそこいい感じに技術比較ができた。笑 ちなみに一つ付け加えるとモデルの変数の最適化を行うGridSearchは時間がかかるわりに精度が非常に悪いので、現状では手作業で変数を変えて行った方がいい。それにGridSearchでは各中間層のニューロン数、中間層の数や活性化関数など変えられない部分がある模様なので。

これで大体AIの最新までは行ったようだからあとは機械学習のより個別のモデル(グラフィカルモデル、ベイズを用いたNNなど)に関連する数学を学んでいく感じのようだ。この辺りの数学だけあれば実務に関しては十分(というか十分すぎてお釣りがくるレベル)なんだから、本当に確率・統計及びプログラミングを理系の必須にしてしまえば色々面倒なことが減るんではないかとか思った。

それから機械学習専門のフリーランス案件を扱っている会社に面談に行ったところ今の機械学習の社会活用の状況が徐々に見えてきた。まず、大前提として「思ったより社会はそんなに急速に進化していない」ということである。現状ではミーハー色が強い人が多く存在するであろうコンサル、金融や医療業界、の研究の方で応用されていることが多いようである。それもどちらかというとかなり統計の基礎の方(Linear Regression, Logistic Regression, 決定木など)は用いられているものの、DNNやその他のAdvancedなモデルに関してはまだまだ実験段階という感じで、コンサルの人がいろんな事業会社に売り込みに行っているらしい。それもコンサルの人は統計もプログラミングもできないので、そこに補完要員としてのData Scientistが必要らしい。はっきり言えば既得権益は保たれたままなのではないかという気はしている。なぜならばそのスキルについて評価ができないからこそ、労働時間とかそういうもので評価されるらしいので(笑)時間がかからなくするために技術を用いるのに、時間がかかる方が給与が高いという矛盾はどうにか解消したらどうだろうか。

つまり今の社会の状況を見る限りは、この文書で言われているようなData Scientistの育成は夢物語(日本によくあるように現実を見ていないためアニメレベルで理想が高すぎ)である可能性が高く、さらにはそんな人を育成したところで活用できる社会ではないのではないかという可能性が非常に高い。まず環境整備をしなければ人材は育ちたくもないだろう。

ビックデータ利活用のための人材育成について

さらにこの人材に過剰期待をかけており「あれもこれもできなきゃダメ」的に育てておきながら、すでにできる人が少ないので、そもそも評価軸がない、という状況になっていないだろうか?もうちょっと堅実に現実の平均を見たらどうかと思う。これができそうな人が今まで日本で育った試しがあるのだろうか。そして、もしこのような人を育てたいと思うのならば、まずはキャパオーバーしないように古くなって不要になった「知識のリストラ」を実行しなければならないだろう...人間のキャパシティがそんなに一気に広がるとは思えない。そうであれば「いかに効率的に最低限必要な知識、全体をつかめる知識を入れるか」という部分を考える必要がある。おそらく、今の所では学生は無駄な知識を入れる時間に時間を取られすぎており、そこで埋められてしまったキャパシティに関して最新の部分を取り入れる余裕がなくなってしまっているのではないか?


この記事が気に入ったらサポートをしてみませんか?