SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

【デブサミ2017】セッションレポート

人工知能を基礎から学び、自身のキャリアに組み込むには? AI礼賛時代の生き抜き方【デブサミ2017】

【16-B-5】AI礼賛時代にエンジニアはいかにしてサバイブすべきか


  • このエントリーをはてなブックマークに追加

 「機械学習」「ディープラーニング」「AI」といったキーワードは、昨今のIT業界をにぎわせています。エンジニアとしてはそれらに興味関心を持つ一方で、「どのようにスキルを身に付ければ今後に役立つのか?」「必要だとは考えているが、どうやって向き合えばいいのだろうか?」といった、漠然とした悩みや不安を持っている方も多いのではないでしょうか。「Developers Summit 2017」で行われた、株式会社ブレインパッド 下田倫大氏のセッションでは、そんな思いを解消し、一歩前に進むための道しるべとなるメッセージがふんだんに盛り込まれていました。本記事ではその内容についてレポートします。

  • このエントリーをはてなブックマークに追加

バズワード化する「人工知能」に焦りを感じるエンジニア

 ブレインパッドには自社開発プロダクトのエンジニアとして入社した下田氏。生涯エンジニアでいる気概を持ちながら、マネージャー職やデータ分析の受託、さらには営業活動も行っており、業務の幅を広げているといいます。また、分析に関する書籍の執筆・監訳なども行っています。

株式会社ブレインパッド テクノロジー&ソフトウェア開発本部 基盤開発部 部長 TFUG(TensorFlow User Group)下田倫大氏
株式会社ブレインパッド テクノロジー&ソフトウェア開発本部 基盤開発部 部長
TFUG(TensorFlow User Group)下田倫大氏

 近年、機械学習や人工知能といった言葉がバズワード化し、一種のブームとなっています。Google社のAlphaGo(Google DeepMind社によって開発されたコンピューター囲碁プログラム)や、りんな(日本マイクロソフト社開発の会話ボット)、Watson(IBM社開発の質問応答システム)、Pepper(Aldebaran Robotics社開発の感情認識ヒューマノイドロボット)など、“すごい”イメージを想起させるトピックに事欠かない状況です。

 しかしその結果、機械学習や人工知能をあまり理解しないまま、それらを盛り込んだ案件提案や営業活動が展開されてしまい、エンジニアや現場が苦しんでいることが多いと下田氏は指摘します。

急場しのぎの実装では悪循環に陥ってしまう
急場しのぎの実装では悪循環に陥ってしまう

 機械学習や人工知能といったキーワードを含むプロジェクトが増えるにつれて、興味を持つエンジニアも多くなってきています。「『人工知能や機械学習は知っておくべきなのでは?』と、焦燥感に近い思いを持つ方も多いのではないでしょうか」と下田氏は語り、「当セッションではそういった感情に対する向き合い方について話そうと思います」と続けました。

 本セッションで語られる内容の前提として、「人工知能と呼ばれるもの=機械学習やルールベースなどを駆使して人間らしい振る舞いをする何か」と定義されました。

本資料での用語の関係
本資料での用語の関係

機械学習や人工知能の手法を学ぶ

 「『機械学習や人工知能のスキルを身に付けなければ……』という"焦燥感"を形成する要因は大きく分けて2種類ある」と下田氏は分析します。1つは「機械学習や人工知能の『手法』について知りたい」こと。もう1つは「機械学習や人工知能の経験やスキルをどのようにキャリアに絡めていけばよいのか、どうすれば活躍できるのか、イメージが欲しい」ということです。

 「手法」については「半ば出オチ感があるのですが……」と前置きしつつ、「書籍やインターネットで調べることで欲しい情報が見つかるので、そちらを参照した方がよい」とコメント。最初の一歩として、ライブラリやAPIを利用し、ブラックボックスとして活用することから始めるように勧めました。また、「ライブラリの使い方が分からない場合、例えばOSSの機械学習ライブラリ『scikit-learn』ならチートシートを用いることで、目的に合った適切なアルゴリズムが判明する」と紹介しました。

用途別のアルゴリズムの選択(scikit-learn)
用途別のアルゴリズムの選択(scikit-learn)

 次は「実行結果を理解し、チューニングを行う」段階に入ります。この調整は1回で終わることはなく、結果を解釈してパラメータをチューニングし実行を繰り返していく必要があります。チューニングで改善が見込めなくなった時点でアルゴリズムの変更を検討します。アルゴリズムの変更を行う場合は入力パラメータから考え直す必要があります。

 このイメージをつかむために、下田氏は「A Neural Network Playground」を体験することを勧めました。

A Neural Network Playground
A Neural Network Playground

 下田氏は続けて、手法を学ぶにあたり数学が重要であることを説明しました。数学は機械学習に取り組む上でのプロトコルのようなものであり、最低限、線形代数と微分積分を理解し、コツコツと学習を進めていく必要があります(これについてはNumpyと呼ばれるPythonのライブラリで学ぶのがおすすめとのことです)。「まずは動かしつつ、背景にある理論を知っていくことから始めましょう」とアドバイスしました。

 そして、学習におすすめの書籍として以下の4冊を挙げました。ぜひ読んでみてはいかがでしょうか。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
機械学習や人工知能を用いたプロジェクトの進行

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
【デブサミ2017】セッションレポート連載記事一覧

もっと読む

この記事の著者

しんや(シンヤ)

2010年末~2013年前半位までの期間で興味のある勉強会に頻繁に参加。参加してきた勉強会のレポートブログとTogetterをひたすらまとめ続け、まとめ職人(自称/他称含む)として暫く過ごしておりました。色々な縁あってDevelopers Summit 2013では『公募レポーター』も務めました。2013年05月『出張ブロガー』を経て2013年08月にクラスメソッド株式会社へ転職。現在は業務(AWS及びその周辺技術を扱う)の...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/10087 2017/04/18 00:17

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング