田舎で並行処理の夢を見る

試していることなど...需要がないかもしれないけど細々とアウトプットしてます

みんなのAIキャリカレッジin関西にて頂いた質問17個への回答まとめ

みんなのAIキャリアカレッジin関西

edgeai.connpass.com

先日こちらのイベントのパネルディスカッションなるものに登壇させて頂きまして
参加者の方から頂いた質問にお答えしました
自分自身は業務として機械学習に取り組む人間の1人として回答をさせて頂きました

お恥ずかしながら「回答がためになりました」と好評を頂きましたので、せっかくなのでテキストにまとめておこうかと思います
当日はお話できなかった情報も一部付与しています
まだまだ先駆者が少なく確定したジョブモデルが少ないので、自分自身、日々試行錯誤しながら手を進めています

同じように悩んでいる方の助けになればと思います
司会を勤められた岸さんはとても気さくな方でした。当日はありがとうございました^^

人生3度目の関西、新幹線でしたが無事に辿り着くことが出来た
f:id:takamizawa46:20190811001830j:plain:w500

質問と回答

自身は知名度のある大学院を出ているわけではなく博士をもっているわけでもない
どちらかといえばビジネスサイドにおける機械学習の適応、問題への落とし込みの方法という視点から回答をしている
研究での機械学習とビジネスでの機械学習では毛色がかなり異なると考えている

特にビジネスにおける機械学習の立ち振る舞いはまだ先駆者が少なく十分な情報とモデルがない
技術の情報は論文や記事を通じてキャッチできるが、機械学習案件の回し方や要件定義の仕方というものはまだまだ情報が少ない

テーマ1. 必要なスキルと学習法

プログラム未経験者ですが、AIやデータサイエンス業界へ興味を持ち、年初から独学で半年ほどですがPythonを勉強しています。はじめはどのようなスキルを磨くと業界への転職に有利なのかご教示願えますでしょうか

とりあえず手を動かせばいいのではないかと考えます
kaggleをやるのもよし、公開のデータセットを使用して画像分類をするもよし
やり方はいくらでもあるでしょう
私はkaggleのタイタニックチュートリアルから始めました

また実務ではPythonのみで何とかなるいう場面は少なく

などなど広い知識が要求される場合があります

実務経験がない場合に、実力を測る指標としてkaggleの成績が利用されるケースがあると思いますが、kaggleでどの程度の成績を残せばアピールになりますか

企業のレベル感によります。メダルを保持していればいるほど評価されるようなところもあるかと考えます
実務では課題に対してどのようにトライをするかという点が重視されるので成績よりも「なぜその施策をしたのか」ということに企業は興味をもつかと
その部分の説明ができれば十分なアピールになるのではないでしょうか

数学的知識や、論文読解力の高度な知識はどの程度要求されますか。

あればあるほど良いですが、必ずしも必要になるとは考えていません
分からない部分があれば適宜、インプットすれば良いので全てを熟知する必要はありません
ただ、論文を調査する際に英語がスラスラ読めると楽ですし、取得可能な情報量が増えます
論文英語は分野の専門用語が多いので、留学経験者であってもスラスラ読めない場合が多いです

論文の情報はどこでチェックするのが良いですか。

テーマ2. AIとSIの違い

このテーマは現在多くの機械学習をテーマに取り組み企業が悩んでいる部分でもある
模索しつつ、最も適切な手段を選択しているつもりだが中々、クライアントに理解してもらえないことが多い
クライアントは「AIなら何でも出来るんでしょ? この前ニュースでやってたぞ」という姿勢でやってくる

AIの開発と通常のシステム開発の違いを教えてください。

AI開発は受注したというものの、最終的な納品物を定義することが難しいです
例えば、精度95%(accuracy)と言っても達成できる保証はなく納品物として定義するとひどい目をみることがあります
SIと大きく異なるのはこの「納品物の定義が難しく、ある意味あいまいである」ということだと考えています

スケジュールを切って、この日まで確実なモデルが手に入ることはほとんどないということです
精度といっても全てのデータに対する精度ではないので。あくまでもテストデータや軽い運用で得た結果なので
時間とともに精度も変わるでしょうし、中々、難しいところではあります

システムエンジニアからAI技術者へ転身するには、具体的にどのような学習が有効でしょうか。

システムエンジニアとしての経験があるのであればコードはすらすらかけると思うので何か機械学習の問題に取り組むのが良いのではないでしょうか
そして、AI開発とSI開発が異なることを知ること、理解することです

同じように考えると痛い目にあいますし、部下に痛い目をあわさせてしまいます
上司がSI出身やセールスでAIの領域の理解が進まなくて案件や自社プロジェクトが停滞している問題は頻繁に発生しています

一般的なSierであまり馴染みがないPoCという工程(考え方)について教えて欲しい。

先ほども回答した通り、そもそもAI開発というものは最終的な納品物を定義することが難しいです
そのため、そもそもこの問題って機械学習で解決できるものなのかを調査するような、砕けた言い方をすれば「お試し」が必要になります
機械学習で解けない問題を受注して、最終的な納品物が達成できないというリストを回避するためにもミニマムでスタートして
実現可能なのかをPoC(proof of concept)で確認をするという流れになるのです

なぜPoCが必要なのかということをクライアントに伝えることは非常に重要でセールスにも絶対に理解してもらう必要があります
基本的にクライアントは現状ではAIは何でもやってくれるというレベル感なので説明が重要です

しかし、その一方でいつまでもPoCばかりで本開発に乗り出せないPoC地獄という問題も待ち構えている...辛い...

テーマ3. 具体的な仕事

現在、案件で最も多いデータの種類は何か(画像、時系列など)

ここ数ヶ月は時系列データ(言語データ)が特に多いかな
正直なところ、画像の分類はクラウドや手軽なサービスが多く、誰にでもトライできるレベルになっています

その点、言語データは扱いが難しく、何よりも課題の落とし込みが難しいですが
世界的な技術のレベルが上がってきたため、ようやくビジネスにも展開できるようになったという印象です

今まで一番テンションの上がったプロジェクトは何ですか。

言語生成モデルの作成(雑談bot)

1日の仕事の流れを教えて頂きたいです。

日によって様々ですが、リストだしをするとこんな感じに

  • セールスとの打ち合わせ
  • セールスに同行してクライアントと打ち合わせ
  • データの処理やらクレンジング
  • ラベル付け(アノテーション)
  • モデル構築
  • 報告レポートの作成
  • API作成
  • cloud環境の作成
  • 最新動向の調査

など、今思いつくだけでもこれだけあります
特に重要なのはクライアントの課題を見つけて機械学習に解ける形に落とし込むこと
社内のメンバーに期待するよりも私は自分でクライアントの元へ行ってヒアリングをした方が早いと考えています

ユーザーへどのようなアウトプットをされていますか。

このブログを読んでいただきありがとうございます

大小さまざまだと思いますが、一般的に一案件あたり、どれくらいの人数/工期なのでしょうか。

自身が所属するAIチームでは1案件に対してそれぞれが手を動かすため、はっきりした人数は出せないが2ヶ月でPoCを実施することが多いです
(クライアントの金額感がちょうど2ヶ月程度なため)

いわゆる機械学習エンジニアがヒアリングから課題設定、工数出し、レポート作成までほとんど全てを行なっています

テーマ4. 企業の特性

AI領域でいち早く経験を積むなら、現状は、データを持つ会社に行くのがいいか、AI技術をもつ会社に行くのがよいのか。

これは非常に難しい問題で、どちらにもメリットがありデメリットがあります
データを持つ会社で働くということは自社のプロダクトとして稼働できるため、無理難題を押し付けられても
ある程度ストップをかけることが出来るし、失敗しても社内だけの影響に終わりますが
受注では失敗は基本的にクライアント側から許されることはなく、リスクを常に抱えている

しかし、その一方でAI技術をもつベンチャーに行けば、クライアントへのヒアリングから提案、APIの作成までと
幅広い領域でAI開発に携わることが出来る。データを持つ大企業では割り振りされる作業はごく一部だろう

よく聞く黒い話はこんな感じ

  • データを持つ会社(大企業)でデータサイエンティストとして公募しておいてアノテーションを永遠とやらせる(スクールからの紹介が多いそうなので要注意)
  • AI技術をもつ会社(ベンチャー)では任されるタスクの範囲が広く、手に負えない

どちらを選ぶかはあなた次第です

AIの分野で今最も熱いベンチャー企業はどこですか。人工知能で最も注目している会社を教えてください。

日本で言えばやはりPFN。強靭、無敵、最強!!
普段、会社名を意識して情報収拾しないなので正直なところ会社名には疎いです

御社のデータサイエンティストの年収はいくらぐらいですか。

私の口からは大きな声で言えないが、普通の新卒より少し多いくらい(学部卒: 新卒23歳)

テーマ5. 将来像

これから先が楽しみな分野ですが、10年後にはこの技術はどうなっていると考えていますか。

いわゆる人工知能というものへの参入の障壁は下がり続け、現在の車やコンピューター同様に誰しも気軽に使えるものになっているでしょう
開発の難易度も同時に下がる。しかし、開発の難易度が下がるということはイコール、個人によって便利なものが生まれるとは考えていないです

人工知能というのは課題解決のための手段の1つであり、何に使うかが非常に重要なため、結局はアイディアは人間が捻出するので
人間の仕事を全て置き換えるような状態にはなっていないんじゃないかと勝手に想像してます

AI・人工知能に関する開発で、現在はまだ難しいがいつか解決したい社会の課題や、実現したい(創りたい)ことはありますか。

ひしひしと仕事をする中で感じさせられていることは「なぜそうなったのか」というプロセスが確認できません
いわゆるブラックボックスとして認知されている現在のディープラーニングでは実運用には困るということです
なぜそうなったのかが分からないということはすなわち、説明が出来ないということになります

「なぜ私が人工知能によってガンと診断されたのか教えてください」と問いかけても
「そういうものですので」という返答が返ってくるわけです

現在も研究は広く行われているが、イメージするには十分でしょう
いかにして人工知能(ディープラーニング)の決定プロセスを確認するか(xai -> 説明可能なAI)という分野の今後の発展に期待しています

また個人的には人工知能の技術を農業に落とし込みたい
日本は食料自給率が大変低く、多くを海外からの輸入で賄っています
その一方で、世界で最も食料を廃棄する国でもあるわけです

この矛盾はなんなのか。どうにかして解決したいと密かに思っています

感想

普段は前にたって偉そうにお話をすることはないので大変、緊張しました
正直なところ、研究という立場で開発をしていないので技術力に関してはへっぽこだと思う
しかし、どのようにビジネスとして運用するかという経験は多少なりとも積んできたつもりだ

何が問題になるのか、何が出来るのかは理解しているし、説明することも出来る
今後、技術がより一般的になる一方で課題を技術で解けるように落とし込むことは以前変わらず難しいだろう

これは私の生存戦略の1つで換えの効かないスキルとしてより高めていこうと感じた

小難しい話ばかりしてきたが、最後は教えていただいた「だるま」にて打ち上げ。本場はやはりソースの2度付けが禁止でした

f:id:takamizawa46:20190811001736j:plain