SlideShare a Scribd company logo
1 of 120
データ中心の時代を生き抜くエンジニアに

知ってほしい10?のコト
2015/02/18 株式会社 オープンストリーム
CTO 寺田英雄
1
Copyright(C) Open Stream, Inc. All Rights Reserved.
自己紹介
■寺田英雄
■https://www.facebook.com/
hideo.terada.5
■1968年、大阪市生まれ
2
Copyright(C) Open Stream, Inc. All Rights Reserved.
経歴
■大阪大学工学部機械系/電子制御機械工学科
• Project-TEAM DoGA 初代メンバー:CG映画制作
• http://doga.jp/
■仕事歴
• 1992 IHI入社・メカトロ総合開発センター所属
• 2007 某モバイル動画ベンチャー 入社
• 2012 オープンストリーム入社
• 2014 オープンストリームCTO
3
Copyright(C) Open Stream, Inc. All Rights Reserved.
コンピュータ歴
■コンピュータ歴 36年目(小学校5年から)
■言語
• 大阪弁、標準語、英語(少々)
• Fortran, asm, basic, C/C++/Obj-C, Java, CUDA,

Python, Ruby
■分野
• 画像認識、CG、ストリーミングシステム
• FA制御、Linux/Windowsデバイスドライバ、CADシステム
• モバイル・アプリケーション(iOS/Android)
• 機械学習、数理アルゴリズム、データ解析
4
Copyright(C) Open Stream, Inc. All Rights Reserved.
開発例
■画像認識関連
• ごみ焼却炉制御、鋳型組み立てロボット制御、トラックコンテナの荷降ろしロボッ
ト制御、自動車工場の鋼板検査、デパレタイザー用3次元認識
• 監視カメラ用ハードディスクレコーダー
• 乗用車用、歩行者検知システム(R&D)
■動画ストリーミング
• 携帯電話用コーデック、画像・音声同期再生エンジン、マルチキャスト動画配信
■その他
• C-HTML編集エディタ、GTコジェネ制御ロジックCAD
• Oracle用 C++ ORマッパーの開発
• 電子書籍フォーマット&デコーダ生成システムの開発
• DRM動画配信アプリ&状態マシンフレームワーク
5
Copyright(C) Open Stream, Inc. All Rights Reserved.
その他
■執筆
• @IT: ドキュメントは最強のコミュニケーションツールである――Joelの機能仕様書入門 

(http://www.atmarkit.co.jp/ait/articles/1412/15/news023.html)
• ITPro: ログ収集基盤のFluentdとFlume NG、どちらが使いやすい? 

(http://itpro.nikkeibp.co.jp/article/COLUMN/20121122/439421/)
■資格
• 統計検定2級
■趣味
• 料理、音楽、読書、演芸鑑賞、旅行・ドライブ・アウトドア、写真、自転車、映画・海外ド
ラマ、工作、水彩画(最近やってません…)
■標語
• なんでもやってみよう!
• 理論と現実の融合
6
鳴門のうずしお
屋久島の森
縄文杉
Copyright(C) Open Stream, Inc. All Rights Reserved.
アジェンダ
■データ中心時代とは?
■データ中心時代を生き抜くには?
■株式会社オープンストリームのご紹介
9
Copyright(C) Open Stream, Inc. All Rights Reserved.
どんなエンジニアに
なりたいですか?
10
00
Copyright(C) Open Stream, Inc. All Rights Reserved.
■とりあえず食べていけるエンジニア
■会社をリードするエンジニア
■業界をリードするエンジニア
■時代をリードするエンジニア
11
Copyright(C) Open Stream, Inc. All Rights Reserved.
■今日は、

⃝⃝をリードするエンジニアを目指す人

に向けてお話したいと思います
12
Copyright(C) Open Stream, Inc. All Rights Reserved.
データ中心の時代とは?
13
01
Copyright(C) Open Stream, Inc. All Rights Reserved.
■ビッグデータ
■スマートデバイス
■IoT*1 / M2M*2
■…
14
*1:Internet of Things
*2:Machine to Machine
Copyright(C) Open Stream, Inc. All Rights Reserved.
■データ中心の時代とは、

良質なデータを持ち

そのデータを上手く活用できる

人や集団が、ビジネスや政治の

中心となって活躍する時代です。
15
Copyright(C) Open Stream, Inc. All Rights Reserved.
■いままで無理だった分野や場所でも

データが得られるようになり、

勘や経験ではなく

科学的に物事を判断できる範囲が

拡がる時代です。
16
Copyright(C) Open Stream, Inc. All Rights Reserved.
■この流れは

今後、強まることはあっても、

弱まることはないでしょう。
17
Copyright(C) Open Stream, Inc. All Rights Reserved.
■そこでは、これまでITシステムで

主流だったものとは異なるタイプの

データを扱う必要があります。
18
Copyright(C) Open Stream, Inc. All Rights Reserved.
Type-I:いままでのITシステムで

扱っていたデータ
■数値(金額、日付、個数…)
■文字列(名前、住所、ID、URL…)
■バイト列(BLOB)(画像、音声、テキスト…)
19
Copyright(C) Open Stream, Inc. All Rights Reserved.
Type-II:データ中心時代に
さらに必要となるデータ
• • •
20
■数値(センサー系:温度、加速度、明るさ…)
■バイト列(BLOB)(画像、音声、テキスト…)
• 内容を認識したい
Copyright(C) Open Stream, Inc. All Rights Reserved.
■Type-IとType-IIは何がちがうのか?
21
Copyright(C) Open Stream, Inc. All Rights Reserved.
Type-I データ
■構造化可能
• RDBに素直に格納できる
• SQLで処理できる
■決定論的
• 誰かが書き換えない限り、

同じデータは、何度取得しても値は変わらない
■中身を見ないBLOB(画像、音声)
• 画像を表示したり、音声を再生したりはするが、画像の
内容は見ない
22
Copyright(C) Open Stream, Inc. All Rights Reserved.
Type-II データ
■非構造化(構造化不可)
• RDBでは素直に格納できない
• SQLだけでは処理できない
■確率論的
• 同じデータ源(対象物)を計測しても、

取得するたびに値が微妙に変わる

→ノイズや誤差
■中身を見るBLOB(画像・音声)
• 誰が写っている?(画像認識)
• 何と言っている?(音声認識)
23
Copyright(C) Open Stream, Inc. All Rights Reserved.24
Type-I Type-II
構造化 できる/しやすい できない/しにくい
数値の性質 決定論的 確率論的
BLOB
画像・音声
その他
中身は見ない 中身を理解したい
Copyright(C) Open Stream, Inc. All Rights Reserved.
■データ中心時代とは、

Type-Iはもちろん、

Type-IIデータにも

対応しなけばならない時代です。
25
Copyright(C) Open Stream, Inc. All Rights Reserved.
Type-IIデータを扱うには、
数学的アルゴリズムが必要になってきます
■微分・積分
■行列・線形代数
■確率・統計
■パターン認識・機械学習
■信号処理
■制御理論
■・・・
26
Copyright(C) Open Stream, Inc. All Rights Reserved.
■ つまり、データ中心の時代とは、

数学の時代なのです。
27
Copyright(C) Open Stream, Inc. All Rights Reserved.
■数学が力を発揮する例を

見てみましょう。
28
Copyright(C) Open Stream, Inc. All Rights Reserved.
例1:月面サッカーの
ボール軌道計測
■20XX年、月面サッカー協会からの依頼
• 選手がキックしたボールの軌道を解析し、選手の特徴を分析したい。
• ボールの内蔵IoTセンサーで、リアルタイムで位置を計測できる。
• ただし、計測誤差が発生している。(コストダウンのため!)
29
計測データ例
センサーからの位置データをプロット
Copyright(C) Open Stream, Inc. All Rights Reserved.
■計測誤差を取り除きたい!
31
Copyright(C) Open Stream, Inc. All Rights Reserved.
アイデア-1-1
(中学生級)
■誤差=ばらつき
■ばらつきを消すには?
■→平均をとろう!
32
移動平均を取った結果
• 平均範囲:i-5 i+5
• 赤いプロットが移動平均
• 最後まできれいな

放物線にならない。
• 最初と最後の部分の

データが欠ける。
Copyright(C) Open Stream, Inc. All Rights Reserved.
アイデア-1-2
(大学1 2年級)
■『重力場で投射された物体は

 放物線を描く』
• 高校物理の知識
■計測データ=放物線+誤差
■最小二乗法で誤差を取り除く
34
Copyright(C) Open Stream, Inc. All Rights Reserved.
最小二乗法の考え方
35
y = f(x)
S1
S2
S3 SN
P1(x1, y1)
ˆy1 = f(x1)
計測データ P1 PNについて、
S1 SNの合計が最小となるような

直線 y=f(x) を求める。
直線以外にも使える
Copyright(C) Open Stream, Inc. All Rights Reserved.
最小二乗法の結果
36
• 放物線をデータに当ては
めた
• 統計学的に最も妥当な放
物線が得られる
Copyright(C) Open Stream, Inc. All Rights Reserved.
例2:月面サッカー
リアルタイム計測編
■前述の計測システムが好評だったので、

次にリアルタイム化を依頼された。
■ボール飛行中にリアルタイムにノイズを取
り除いて画面に表示したい
■他のセンサー等の追加設備はない。

(コストダウンのため!)
37
Copyright(C) Open Stream, Inc. All Rights Reserved.
アイデア-2-1
(大学1 2年級)
■ボールが飛行中に放物線を求めたい。
■リアルタイムデータに最小二乗法を適用し
てみる。
38
Copyright(C) Open Stream, Inc. All Rights Reserved.
リアルタイム最小二乗法の
結果
39
Copyright(C) Open Stream, Inc. All Rights Reserved.
アイデア-2-2

(大学3 4年級)
■誤差のあるデータ列から、時々刻々と変
化する量(ボールの位置)を推定するに
は・・・
■カルマンフィルタを使おう!
40
Copyright(C) Open Stream, Inc. All Rights Reserved.
カルマンフィルタの結果
41
初期には少し乱れるが、i=25以降は良い軌道追従性を示している
Copyright(C) Open Stream, Inc. All Rights Reserved.
カルマンフィルタとは
■誤差を含む計測データを使って、時間と
ともに変化するシステムの状態を推定す
る手法
■直前の計測データだけあれば良い

(過去のデータを参照する必要ない)
42
Copyright(C) Open Stream, Inc. All Rights Reserved.
センサー
カルマンフィルタの世界観
43
システムの
状態
(直接観測できない・
時間変化する)
外部入力
(システムの状態を変化させる)
観測者
(人間)
計測データ
ノイズ
• 計測データ知っている
• 外部入力知っている
• システムの癖知っている
• ノイズは正規分布
Copyright(C) Open Stream, Inc. All Rights Reserved.
カルマンフィルタの数学モデル
44
現在
状態
=
直前の
状態
遷移
係数
外部
入力
+
システム
ノイズ+
•状態方程式
現在
状態
計測値
観測
係数
=
観測
ノイズ
+
•観測方程式
この2つの方程式を繰り返し適用することで、
状態の推定値の精度を徐々に高めていく。
欲しい答
センサで
得られる
世界観が
そのまま表現されている!
Copyright(C) Open Stream, Inc. All Rights Reserved.
月面サッカーの例では
■状態=[ボールの位置, ボールの速度]
■ニュートンの運動方程式を使って、状態方程式(遷移係数)を作成
■外部入力は月の重力(重力加速度)
■観測できるのはボールの位置だけ
45
青が計測値
赤が推定値
Copyright(C) Open Stream, Inc. All Rights Reserved.
最小二乗法 vs
カルマンフィルタ
46
最小二乗
カルマン
フィルタ
メモリ負荷
大きい
(過去から現在までのセンサデ
ータを保持する必要あり)
小さい
(直近のセンサデータだけで良
い)
計算負荷 徐々に大きくなる 一定
Copyright(C) Open Stream, Inc. All Rights Reserved.
余談:宇宙船と
カルマンフィルター
■1960年代の宇宙開発において、カルマンフィルターは

大きな役割を果たした(ロケットの軌道制御)
47
アポロ宇宙船の
誘導コンピュータ
(ソースコードが公開されている)
月ロケットの軌道制御
赤:ロケットの自己位置計測値
青:カルマンフィルタ推定軌道
緑:真の軌道
Copyright(C) Open Stream, Inc. All Rights Reserved.
GPSもカルマンフィルター*
48
• この円は、カルマンフィルター
で推定された誤差の大きさを
示しています。
• 円は最初大きいが、しばらく
すると小さくなる。繰り返し
更新により推定誤差が小さく
なっていくためです。
*パーティクルフィルター等が使われている可能性もあります
Copyright(C) Open Stream, Inc. All Rights Reserved.
フィルター理論は

マーケティングにも応用されつつある
■ 状態空間モデルによるインターネット広告のクリック率予測 

http://www.orsj.or.jp/archive2/or57-10/or57_10_574.pdf

*この例では、パーティクルフィルタ(粒子フィルタ)を用いて
います。これは、カルマンフィルタと似た効果のある別のフィル
タ手法です。
49
Copyright(C) Open Stream, Inc. All Rights Reserved.
参考図書
50
Copyright(C) Open Stream, Inc. All Rights Reserved.
例2:カメラレンズの
キャリブレーション
■画像処理による物体の位置計測システム
■高精度に位置を計測したい
■レンズによる画像の歪が問題

(キャリブレーション:較正)
51
Copyright(C) Open Stream, Inc. All Rights Reserved.
システム構成例
■トラックコンテナの自動荷降ろし制御@自動倉庫

天井に設置したカメラで、コンテナの位置を計測し、クレーンに指示値を送る
52
天井
コンテナコンベア
コンテナ
カメラ
天井クレーン
• クレーン位置精度:20mm
• 天井カメラピクセル精度:5mm
→4ピクセルずれるとOUT!!
自動倉庫へ
Copyright(C) Open Stream, Inc. All Rights Reserved.
像の歪とは?
53
型歪糸巻形歪
オリジナル
Copyright(C) Open Stream, Inc. All Rights Reserved.
歪みを消すには?
■大きさが分かっている物体を撮影
■歪んだ画像データから、

元の画像への変換式を求める
■レンズの歪の特性を考える
• 歪の量は同心円状に分布、中心からの距離の関数
になる
• 多項式関数で近似できることが知られている
54
Copyright(C) Open Stream, Inc. All Rights Reserved.
■アイデア図式
55
大きさ既知の
物体

P(X,Y)
レンズ
f()
歪んだ
画像
p(x,y)
p(x,y)=f(P)
大きさ既知の
物体

P(X,Y)
逆レンズ
g()
歪んだ
画像
p(x,y)
P(X,Y)=g(p)
g()=f-1() ←逆変換
Copyright(C) Open Stream, Inc. All Rights Reserved.
■歪=データに含まれる誤差
• レンズの特性、製造誤差、カメラの製造誤差
• デジタル誤差(量子化誤差)
■誤差を消す=最小二乗法
• レンズ中心からの距離xに対する4∼6次方程式が
目的関数として良く使われる。
■データ数が多いほど解が安定する
56
Copyright(C) Open Stream, Inc. All Rights Reserved.
キャリブレーションプレート
(較正基準器)
■市松模様や、ドット格子を良く使います。

(画像認識アルゴリズムで簡単にメッシュ点の位置(点群)が求まります)

→これを最小二乗法で処理して、変換関数 g()を求めます。
■OpenCVにも、この種のアルゴリズムが含まれています。
57
Copyright(C) Open Stream, Inc. All Rights Reserved.
余談:スバルのeyesight
■ステレオカメラを利用している
■経年変化とキャリブレーションが課題の一つ
■どうやって解決したか?・・・調べてみてください
58
Copyright(C) Open Stream, Inc. All Rights Reserved.
まとめ
■データ中心時代には Type-II データを

扱うことが必要
■Type-II データの処理には

数学的知識が欠かせない
■データを扱うあらゆる分野で数学が重要
59
Copyright(C) Open Stream, Inc. All Rights Reserved.
データ中心の時代を
生き抜けるエンジニアになるには?
60
02
Copyright(C) Open Stream, Inc. All Rights Reserved.
問
データ中心の時代を

生き抜けるエンジニアに

なるには?
61
Copyright(C) Open Stream, Inc. All Rights Reserved.
答
変化に強い

エンジニアになること。
62
Copyright(C) Open Stream, Inc. All Rights Reserved.
理由
■ITの世界は変化が激しく、『一寸先は闇』
の世界です。
■個別のトレンドを全て追いかけるのは

不可能であり、不毛です。
■変化への対応力を高めることが肝心です。
63
–チャールズ・ダーウィン
最も強い者が生き残るのではなく、
最も賢い者が生き延びるのでもない。
唯一生き残ることができるのは、
変化できる者である
Copyright(C) Open Stream, Inc. All Rights Reserved.
問
変化に強いエンジニアに

なるには?
65
Copyright(C) Open Stream, Inc. All Rights Reserved.
答
技術を

基礎・基本から理解することを

重視して学び続けること
66
Copyright(C) Open Stream, Inc. All Rights Reserved.
理由
■基礎知識・基本原理は普遍的であり、

時代を経ても変化しません。
■一度学べば、一生モノです。
■新しい技術へのキャッチアップが早くなり
ます。
■他の分野に応用することで、

新たな創造につながることもあります。
67
Copyright(C) Open Stream, Inc. All Rights Reserved.
データ中心の時代の
基礎・基本とは?
68
03
Copyright(C) Open Stream, Inc. All Rights Reserved.
データ中心時代の
ITエンジニアに必要な基礎・基本
■数学(応用数学・統計学)
■コンピュータサイエンス
■国語力
■英語力
■勉強力
69
どうやって学ぶか?
どんな時代にも
通用する
基礎力
}
Copyright(C) Open Stream, Inc. All Rights Reserved.
数学
70
04
Copyright(C) Open Stream, Inc. All Rights Reserved.
数学を学ぶ人へのヒント
■学校数学と応用数学との違い
■数学は言葉
■数学はモデル
■エンジニアの利点を活かす
71
Copyright(C) Open Stream, Inc. All Rights Reserved.
学校数学 vs 応用数学
■学校数学
• 数学の問題を解くために数学を学ぶ
• 意味・目的が分からない(ように思える)
• 『紙と鉛筆(手計算)』で解かないといけない
■応用数学
• 現実の問題を解くためのツールになる
• 意味・目的がはっきりしている
• コンピュータで解ければ良い
72
Copyright(C) Open Stream, Inc. All Rights Reserved.
数学は言葉
■数学は『ワケワカラン記号の羅列』
ではありません。数学語という世
界共通の言語です。

■数学語を日本語に訳したり、日本
語を数学語に訳したりできます。

■まずは数学語を和訳できるように
なりましょう。
73
『数学は言葉』新井紀子著
Copyright(C) Open Stream, Inc. All Rights Reserved.
数学はモデル
■モデル=模型
■数学は、計算のためだけのものではなく、

現実の問題を模型化するためにあります。
■数学的モデルは、コンピュータとの

親和性が高いです。
■方程式の解き方よりも、数学モデルの作り方を

学ぶほうが実践的です。
74
Copyright(C) Open Stream, Inc. All Rights Reserved.
エンジニアの利点を活かして
数学を学ぼう
■数学をコンピュータ上で動かしながら

勉強すれば、早く深く理解できます。
■近年、数学向きのツールが多数登場
• R
• Python (IPythonがおすすめ!)
• Julia (最近注目)
• 数式処理ソフト(Mathematia, Maxima, Maple…)
75
Copyright(C) Open Stream, Inc. All Rights Reserved.
オススメの勉強シナリオ
1.興味のある具体的例題を選ぶ
2.コンピュータ上で動かして例題を解く
3.そこに使われている数学手法を勉強する
基準:ある程度納得できるまで。

(多少わからなくても立ち止まらない)
4.同じ数学手法が使う別の分野の問題を調べる
76
Copyright(C) Open Stream, Inc. All Rights Reserved.
ダメな勉強シナリオ
■教科書を1ページ目から勉強していく
■途中で理解できない箇所がでてきて、

先へ進めなくなって挫折・・・
77
Copyright(C) Open Stream, Inc. All Rights Reserved.
おすすめ本
■高校までの数学に自信がない人向け
78
• 高校3年分の内容を1冊に
• 106時間分の講義音声ファイル
• 例題の詳細解答PDFファイル582ページ
• 独習向き
Copyright(C) Open Stream, Inc. All Rights Reserved.
■大学で数学を習った人向け
79
Copyright(C) Open Stream, Inc. All Rights Reserved.
おすすめドラマ
■ NUMB3RS ナンバーズ 天才数学者の事件ファイル
80
• LAを舞台とした刑事ドラマ
• FBI捜査官の兄、天才数学者の弟が協力し、数学を使っ
て犯罪捜査
• 劇中で使われる数学は本物(制作にはプロの数学者)
• 解説本も出ている
• 数学を知らなくても楽しめる
• BS放送 D-Life で再放送中
Copyright(C) Open Stream, Inc. All Rights Reserved.
おすすめ映画
■ イミテーション・ゲーム (3月13日公開)
81
• 数学者アラン・チューリングの生涯を描いた映画
• アインシュタインと並ぶ『20世紀の天才』
• コンピュータの原理・限界:チューリング・マシン
• 人工知能の父:チューリング・テスト
• ナチスのエニグマ暗号を解読、アメリカを勝利に導いた影の立役者
Copyright(C) Open Stream, Inc. All Rights Reserved.
機械学習を勉強しよう!
■おすすめする理由
• あらゆる数学が使われていて題材の宝庫
• よいツール・ライブラリが ってきている

(Python系がおすすめ)
• 動かして試しながら学べるのでエンジニア向き
■機械学習・AI系の注目テーマ
• ディープ・ラーニング(Deep Learning)
• word2vec
82
Copyright(C) Open Stream, Inc. All Rights Reserved.
パターン認識器の共通形
83
入力
データ
特徴抽出
特徴量
データ
判別器
答
出力
Copyright(C) Open Stream, Inc. All Rights Reserved.
Deep Learning以前の
パターン認識
84
入力
データ
特徴抽出
特徴量
データ
判別器
答
出力
従来法
人間(専門家)が設計・調整 機械学習(教師あり)
特徴量の設計が性能を左右する。
専門家が勘や経験則で特徴量を設計していた。
Copyright(C) Open Stream, Inc. All Rights Reserved.
Deep Learningによる
パターン認識
85
入力
データ
特徴抽出
特徴量
データ
判別器
答
出力
従来法
人間(専門家)が設計・調整 機械学習(教師あり)
Deep Learning
機械学習(教師なし)
Google の Deep Belief Network:
膨大なデータと計算パワーにより、特徴抽出を自動化した!
『世界にはあらかじめ構造があり、その構造そのものを学習する』
特徴量の設計が性能を左右する。
専門家が勘や経験則で特徴量を設計していた。
Copyright(C) Open Stream, Inc. All Rights Reserved.
word2vec
■Deep Learningを文書データに適用
■単語の意味を『意味ベクトルの合成値』
として表現できる
■King - Man + Woman = Queen という
計算を実行できる!
• 王・支配者という意味ベクトル
• 性別という意味ベクトル
86
Copyright(C) Open Stream, Inc. All Rights Reserved.
機械学習の注意点
■OSS等が充実してきており学習器は誰でもすぐ使えます。
■しかし、結局は機械的な処理なので、どんな変なデータを
入力しても学習器は何かしらの(間違っているかも知れな
い)答を出してきます。
■データの性質の把握して、学習器の答を正しく評価するこ
とが必要になってきます。
■良い参考資料
• http://www.slideshare.net/canard0328/
ss-44288984
87
Copyright(C) Open Stream, Inc. All Rights Reserved.
Deep Learningの
参考書
88
■ まだ日本語の文献は少ないです。
Copyright(C) Open Stream, Inc. All Rights Reserved.
コンピュータサイエンス
89
05
Copyright(C) Open Stream, Inc. All Rights Reserved.
日本の平均的な
エンジニアの問題
■コンピュータの専門家ではなく、

プログラミングやツールの専門家に

なってしまっている
■数学を駆使したデータ処理などで、

高度な問題に対処する際には、

コンピュータサイエンスの

知識が必要
90
Copyright(C) Open Stream, Inc. All Rights Reserved.
コンピュータサイエンス
■ コンピュータ的思考の原理・科学
■ どのような原理でコンピュータが動いているか
■ 課題を解決するためには、

どのようにコンピュータを動かせばよいか?
91
Copyright(C) Open Stream, Inc. All Rights Reserved.
データ中心時代の
コンピュータサイエンス?
■ソフトウェア工学よりも

コンピュータサイエンスが重視される時代
• ソフトウェアを『いかに上手く作るか』よりも、

コンピュータを『いかに上手く動かすか』が大きな課題
■理由:増大するビッグデータ処理への要求
• 分散コンピューティング
• 並列コンピューティング
• 関数型プログラミング
• アルゴリズム解析論
92
Copyright(C) Open Stream, Inc. All Rights Reserved.
IT業界の先行指標
CMUの動向
■カーネギーメロン大学(CMU)

コンピュータサイエンス学科(CSD)の

カリキュラム改革(2011年秋)
• http://www.cs.cmu.edu/ bryant/pubdir/cmu-cs-10-140.pdf
■新入生にまず関数型プログラミング、

並列計算などから教える
■オブジェクト指向は上級になってから
93
*マルレク資料より抜粋 https://drive.google.com/file/d/0B04ol8GVySUuUFludEYyTHFJTGs/view
Copyright(C) Open Stream, Inc. All Rights Reserved.
CMUの危機意識
■受験テクニックと化したJava入試により

コンピュータ分野に対する

学生のイメージの低下
• 『ITは知的な内容と︎関係︎がなく、就職といえ︎ば狭い部屋に
一日中座ってコードを書いていて、

実世界に︎何の影響力も持たない仕事?』
• (Javaが簡単に見えるため)『IT系の仕事は将来発展の見
通しが立ちにくく、低賃金の外国にアウトソースされる仕事
では?』
94
Copyright(C) Open Stream, Inc. All Rights Reserved.
Javaの功罪(by CMU)
■Javaはアプリ開発には素晴らしい言語
■しかし『温室育ち』のプログラマを大量発生させた
■ライブラリや環境が高度にチューニングされすぎている
■例えば、各種ソートアルゴリズムの理論について知らな
くてもアプリが書けてしまう
■学生にアルゴリズムやパフォーマンス

(計算量)の理論を学ばせるには向かない
■初級コースからは全面削除
95
Copyright(C) Open Stream, Inc. All Rights Reserved.
関数型プログラミングが
重要な理由
■ビッグデータには並列計算が必要
■CPUのマルチコア化
■オブジェクト指向は並列計算に向かない
• 反モジュラー的(継承・複雑なネスト)
• 反パラレル的(見えない副作用、内部状態が存在)
96
Copyright(C) Open Stream, Inc. All Rights Reserved.
順序依存のないアルゴリズムは
並列化できる
97
x1,t x2,t x3,t xn,t時刻 t ・・・
時刻 t+1 x1,t+1 x2,t+1 x3,t+1 xn,t+1・・・
xk,t+1 = f(xk,t)
kの順序に関係なく計算ができる
→並列化可能
時間軸
Copyright(C) Open Stream, Inc. All Rights Reserved.
順序依存のあるアルゴリズムは
並列化できない
98
x1,t x2,t x3,t xn,t時刻 t ・・・
時刻 t+1 x1,t+1 x2,t+1 x3,t+1 xn,t+1・・・
計算結果は、kの順序に依存
→並列化できない!
xk,t+1 = f(xk,t)xk+1,t = g(xk,t)
時間軸
Copyright(C) Open Stream, Inc. All Rights Reserved.
並列化できるかどうかを
コードから自動的に判定できるか?
■ オブジェクト指向(手続き型)
• 判定できない。
• g()によりobjのプロパティが変化しているかも知れない
• 何か外部の値を参照しているかも知れない
99
xk,t+1 = obj.g(xk,t)
■ 関数型
• 判定できる。
• 『関数』は副作用がないという言語仕様
xk,t+1 = f(xk,t)
Copyright(C) Open Stream, Inc. All Rights Reserved.
■関数型言語では、

自動並列化コンパイラが作成しやすい
■OO言語では、

自動並列化は非常に困難
100
Copyright(C) Open Stream, Inc. All Rights Reserved.
データ中心時代の
『データ構造とアルゴリズム』
■従来の前提
• CPUは1個、シーケンシャルな処理をいかに効
率化するか?
• 手続き型プログラミングモデルで分析
■新しいアプローチ
• CPUがN個あったらどうする?
• 関数型プログラミングモデルで分析
101
Copyright(C) Open Stream, Inc. All Rights Reserved.
コンピュータサイエンス
まとめ
■コンピュータ技術の根底には

きちんと原理・科学がある
■時代の要請に応じて重点が変化
• Web→ビッグデータ
■関数型プログラミングの重要性が

今後大きくなる
102
Copyright(C) Open Stream, Inc. All Rights Reserved.
国語力
103
06
Copyright(C) Open Stream, Inc. All Rights Reserved.
とにかくこれを読もう!
■データは現実世界での意味づけ、
ストーリーがなければ活用でき
ません。
■人間は、最終的には言葉でのス
トーリー化された説明・理解が
必要です。
■一流の技術者になるには、明快
で論理的な文章力が必須です。
104
Copyright(C) Open Stream, Inc. All Rights Reserved.
図解主義の危険性
■図やイラストは分かりやすいため、逆に
『分かった気になる』危険性がある。
■いざ文章に書いてみようとしたら、書け
ない!=自分が問題をキチンと理解して
いないことに気づくことがよくある。
105
Copyright(C) Open Stream, Inc. All Rights Reserved.
参考:Amazon社の
ナラティブ経営
■ナラティブ(説話的・物語的)
■ アマゾンの会議は30分間の沈黙から始まる
• http://ascii.jp/elem/000/000/897/897508/
• 会議資料にパワポ(スライド資料)は禁止
• A4 4∼6枚の文章で説明することが求められる
• 会議の参加者は、前半30分で資料を精読、後半30分で深い討議
• 「重要な問題について理解してるかどうかを把握するためにナラ
ティブが重要。」
• 「最初は非効率的な会議だと思っていたが、今はちがう。事前にす
べての資料を読むわけにはいかないし、短い時間の中で問題の把握
ができて、何を解決したいかも分かる」
106
Copyright(C) Open Stream, Inc. All Rights Reserved.
英語力
107
07
Copyright(C) Open Stream, Inc. All Rights Reserved.
私は英語が苦手です
■この本のやり方で勉強しています
■ヒアリング・発音重視
■脳の学習のクセを利用
■エンジニアは英語の読み書きは

できる人が比較的多いが、

会話が弱い人が多い
■会話にはヒアリング力が重要
108
Copyright(C) Open Stream, Inc. All Rights Reserved.
勉強力
109
08
Copyright(C) Open Stream, Inc. All Rights Reserved.
エンジニアの勉強で
大事なこと
■トップダウンとボトムアップのバランス
■インプットとアウトプットのバランス
■指標を使って成長を実感
110
Copyright(C) Open Stream, Inc. All Rights Reserved.
■トップダウン型の勉強法
• まず問題を解いてみる。分からない箇所を逆にた
どりながら教科書を読む
■ボトムアップ型の勉強法
• まず教科書を一通り勉強してから、問題を解く
111
TOP
BOTTOM
Copyright(C) Open Stream, Inc. All Rights Reserved.
伸び悩むエンジニアは
トップダウンだけ
■『すぐに役立つ』TIPSが大好き
■Qiitaは読むだけ
■『いまどきの』とか『イケてる』という

フレーズに弱い
■プログラミングを『覚え』ようとする
■『やり方(How to)』だけを知りたがる
■自分のコードを説明できない
■センスや経験だけに頼ろうとする
112
Copyright(C) Open Stream, Inc. All Rights Reserved.
まず『やってみる』ことは大切
しかし・・・
■『やってみた』は TIPS/How to 知識
■for What/Why 知識を結びつけること
• 何のためにやるのか?
• なぜそうやると良いのか?
• どういう基本原理が作用しているのか?
• どういう前提条件なのか?
113
Copyright(C) Open Stream, Inc. All Rights Reserved.
初めトップダウン
途中ボトムアップ、がオススメ
■新しい分野にチャレンジする時、

『まずやってみる』(例題・サンプル)
■やった結果を調べる
• なぜこのような結果が得られたのか?
• 自分が知っている言葉(=原理)で説明できるよ
うになるまで ること
114
Copyright(C) Open Stream, Inc. All Rights Reserved.
インプットとアウトプット
■インプット
• 知識を頭に入れていく
■アウトプット
• インプットした知識を外に出す、実際に使う
115
Copyright(C) Open Stream, Inc. All Rights Reserved.
インプットとは覚えるのではなく
理解すること
■ダメなエンジニア
• When, Howが中心
• 仕事を覚える=TIPSをたくさん覚えること、

だと思っている
■良いエンジニア
• Why, for What も押さえている
• 仕事を覚える=原理・原則・例外を理解する
• 自分の言葉で説明できる
116
Copyright(C) Open Stream, Inc. All Rights Reserved.
伸び悩むエンジニアは
インプットだけ
■技術書を沢山買っている
• オライリーへの貢献が半端ない!
■勉強会とかセミナーに良く行く
• けど行くだけ
117
Copyright(C) Open Stream, Inc. All Rights Reserved.
アウトプットするために
インプットしよう
■勉強会を主催してみる
■ブログに書いてみる
■デモプログラムを作る
■コンテストに出場してみる
118
Copyright(C) Open Stream, Inc. All Rights Reserved.
指標の大切さ
■ゴール指標
• 資格取得、⃝⃝完成、etc.
■日々の指標
• 毎日何分やったか?など
• 進 の見える化=小さな達成感の積み重ね
• レコーディング・ダイエットの例
119
Copyright(C) Open Stream, Inc. All Rights Reserved.
最後のまとめ
■データ中心の時代とは数学の時代
■技術の進化により数学のイメージが変わる、
学び方も変わる
■どんな時代でも生き残れるエンジニアに

なるには、基礎・基本が重要
■技術は覚えるのではなく、理解する
■勉強の仕方を見直そう
120

More Related Content

What's hot

オントロジーとは?
オントロジーとは?オントロジーとは?
オントロジーとは?Kouji Kozaki
 
ChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くないChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くないCarnot Inc.
 
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情Yuta Kikuchi
 
TensorFlowで逆強化学習
TensorFlowで逆強化学習TensorFlowで逆強化学習
TensorFlowで逆強化学習Mitsuhisa Ohta
 
音響信号に対する異常音検知技術と応用
音響信号に対する異常音検知技術と応用音響信号に対する異常音検知技術と応用
音響信号に対する異常音検知技術と応用Yuma Koizumi
 
時系列問題に対するCNNの有用性検証
時系列問題に対するCNNの有用性検証時系列問題に対するCNNの有用性検証
時系列問題に対するCNNの有用性検証Masaharu Kinoshita
 
ゲームAIとマルチエージェント(上)
ゲームAIとマルチエージェント(上)ゲームAIとマルチエージェント(上)
ゲームAIとマルチエージェント(上)Youichiro Miyake
 
深層学習を利用した音声強調
深層学習を利用した音声強調深層学習を利用した音声強調
深層学習を利用した音声強調Yuma Koizumi
 
機械学習と機械発見:自然科学研究におけるデータ利活用の再考
機械学習と機械発見:自然科学研究におけるデータ利活用の再考機械学習と機械発見:自然科学研究におけるデータ利活用の再考
機械学習と機械発見:自然科学研究におけるデータ利活用の再考Ichigaku Takigawa
 
工学系大学4年生のための論文の読み方
工学系大学4年生のための論文の読み方工学系大学4年生のための論文の読み方
工学系大学4年生のための論文の読み方ychtanaka
 
生成系AIで変わるソフトウェア開発の現在と未来(修正版).pdf
生成系AIで変わるソフトウェア開発の現在と未来(修正版).pdf生成系AIで変わるソフトウェア開発の現在と未来(修正版).pdf
生成系AIで変わるソフトウェア開発の現在と未来(修正版).pdfKunihiroSugiyama1
 
音源分離における音響モデリング(Acoustic modeling in audio source separation)
音源分離における音響モデリング(Acoustic modeling in audio source separation)音源分離における音響モデリング(Acoustic modeling in audio source separation)
音源分離における音響モデリング(Acoustic modeling in audio source separation)Daichi Kitamura
 
統計的手法に基づく異常音検知の理論と応用
統計的手法に基づく異常音検知の理論と応用統計的手法に基づく異常音検知の理論と応用
統計的手法に基づく異常音検知の理論と応用Yuma Koizumi
 
深層学習の非常に簡単な説明
深層学習の非常に簡単な説明深層学習の非常に簡単な説明
深層学習の非常に簡単な説明Seiichi Uchida
 
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learningゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement LearningPreferred Networks
 
機械学習モデルの判断根拠の説明
機械学習モデルの判断根拠の説明機械学習モデルの判断根拠の説明
機械学習モデルの判断根拠の説明Satoshi Hara
 
グラフデータの機械学習における特徴表現の設計と学習
グラフデータの機械学習における特徴表現の設計と学習グラフデータの機械学習における特徴表現の設計と学習
グラフデータの機械学習における特徴表現の設計と学習Ichigaku Takigawa
 
数理モデリングからはじめるPython数理最適化 PyData.Tokyo 2017/6/28 Retty Inc. Iwanaga Jiro
数理モデリングからはじめるPython数理最適化 PyData.Tokyo 2017/6/28 Retty Inc. Iwanaga Jiro数理モデリングからはじめるPython数理最適化 PyData.Tokyo 2017/6/28 Retty Inc. Iwanaga Jiro
数理モデリングからはじめるPython数理最適化 PyData.Tokyo 2017/6/28 Retty Inc. Iwanaga JiroJiro Iwanaga
 
探索と活用の戦略 ベイズ最適化と多腕バンディット
探索と活用の戦略 ベイズ最適化と多腕バンディット探索と活用の戦略 ベイズ最適化と多腕バンディット
探索と活用の戦略 ベイズ最適化と多腕バンディットH Okazaki
 
XAI (説明可能なAI) の必要性
XAI (説明可能なAI) の必要性XAI (説明可能なAI) の必要性
XAI (説明可能なAI) の必要性西岡 賢一郎
 

What's hot (20)

オントロジーとは?
オントロジーとは?オントロジーとは?
オントロジーとは?
 
ChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くないChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くない
 
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情
 
TensorFlowで逆強化学習
TensorFlowで逆強化学習TensorFlowで逆強化学習
TensorFlowで逆強化学習
 
音響信号に対する異常音検知技術と応用
音響信号に対する異常音検知技術と応用音響信号に対する異常音検知技術と応用
音響信号に対する異常音検知技術と応用
 
時系列問題に対するCNNの有用性検証
時系列問題に対するCNNの有用性検証時系列問題に対するCNNの有用性検証
時系列問題に対するCNNの有用性検証
 
ゲームAIとマルチエージェント(上)
ゲームAIとマルチエージェント(上)ゲームAIとマルチエージェント(上)
ゲームAIとマルチエージェント(上)
 
深層学習を利用した音声強調
深層学習を利用した音声強調深層学習を利用した音声強調
深層学習を利用した音声強調
 
機械学習と機械発見:自然科学研究におけるデータ利活用の再考
機械学習と機械発見:自然科学研究におけるデータ利活用の再考機械学習と機械発見:自然科学研究におけるデータ利活用の再考
機械学習と機械発見:自然科学研究におけるデータ利活用の再考
 
工学系大学4年生のための論文の読み方
工学系大学4年生のための論文の読み方工学系大学4年生のための論文の読み方
工学系大学4年生のための論文の読み方
 
生成系AIで変わるソフトウェア開発の現在と未来(修正版).pdf
生成系AIで変わるソフトウェア開発の現在と未来(修正版).pdf生成系AIで変わるソフトウェア開発の現在と未来(修正版).pdf
生成系AIで変わるソフトウェア開発の現在と未来(修正版).pdf
 
音源分離における音響モデリング(Acoustic modeling in audio source separation)
音源分離における音響モデリング(Acoustic modeling in audio source separation)音源分離における音響モデリング(Acoustic modeling in audio source separation)
音源分離における音響モデリング(Acoustic modeling in audio source separation)
 
統計的手法に基づく異常音検知の理論と応用
統計的手法に基づく異常音検知の理論と応用統計的手法に基づく異常音検知の理論と応用
統計的手法に基づく異常音検知の理論と応用
 
深層学習の非常に簡単な説明
深層学習の非常に簡単な説明深層学習の非常に簡単な説明
深層学習の非常に簡単な説明
 
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learningゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
 
機械学習モデルの判断根拠の説明
機械学習モデルの判断根拠の説明機械学習モデルの判断根拠の説明
機械学習モデルの判断根拠の説明
 
グラフデータの機械学習における特徴表現の設計と学習
グラフデータの機械学習における特徴表現の設計と学習グラフデータの機械学習における特徴表現の設計と学習
グラフデータの機械学習における特徴表現の設計と学習
 
数理モデリングからはじめるPython数理最適化 PyData.Tokyo 2017/6/28 Retty Inc. Iwanaga Jiro
数理モデリングからはじめるPython数理最適化 PyData.Tokyo 2017/6/28 Retty Inc. Iwanaga Jiro数理モデリングからはじめるPython数理最適化 PyData.Tokyo 2017/6/28 Retty Inc. Iwanaga Jiro
数理モデリングからはじめるPython数理最適化 PyData.Tokyo 2017/6/28 Retty Inc. Iwanaga Jiro
 
探索と活用の戦略 ベイズ最適化と多腕バンディット
探索と活用の戦略 ベイズ最適化と多腕バンディット探索と活用の戦略 ベイズ最適化と多腕バンディット
探索と活用の戦略 ベイズ最適化と多腕バンディット
 
XAI (説明可能なAI) の必要性
XAI (説明可能なAI) の必要性XAI (説明可能なAI) の必要性
XAI (説明可能なAI) の必要性
 

Similar to データ中心の時代を生き抜くエンジニアに知ってほしい10?のこと

スパースモデリング入門
スパースモデリング入門スパースモデリング入門
スパースモデリング入門Hideo Terada
 
2021 09 豆寄席:(公開用)長く生き残るitエンジニアの”リベラル・アーツ”
2021 09 豆寄席:(公開用)長く生き残るitエンジニアの”リベラル・アーツ”2021 09 豆寄席:(公開用)長く生き残るitエンジニアの”リベラル・アーツ”
2021 09 豆寄席:(公開用)長く生き残るitエンジニアの”リベラル・アーツ”Hideo Terada
 
GTMF 2016:「KiQ」が拓くゲームサーバの未来 株式会社アトミテック
GTMF 2016:「KiQ」が拓くゲームサーバの未来 株式会社アトミテックGTMF 2016:「KiQ」が拓くゲームサーバの未来 株式会社アトミテック
GTMF 2016:「KiQ」が拓くゲームサーバの未来 株式会社アトミテックGame Tools & Middleware Forum
 
強化学習技術とゲーム AI 〜 今できる事と今後できて欲しい事 〜
強化学習技術とゲーム AI  〜 今できる事と今後できて欲しい事 〜強化学習技術とゲーム AI  〜 今できる事と今後できて欲しい事 〜
強化学習技術とゲーム AI 〜 今できる事と今後できて欲しい事 〜佑 甲野
 
世間の荒波を乗りこなせ!
世間の荒波を乗りこなせ!世間の荒波を乗りこなせ!
世間の荒波を乗りこなせ!Yoichiro Tanaka
 
[JISA][変革リーダー養成部会]組織の中で自分を活かす生き方
[JISA][変革リーダー養成部会]組織の中で自分を活かす生き方[JISA][変革リーダー養成部会]組織の中で自分を活かす生き方
[JISA][変革リーダー養成部会]組織の中で自分を活かす生き方Shigeki Morizane
 
深層学習と音響信号処理
深層学習と音響信号処理深層学習と音響信号処理
深層学習と音響信号処理Yuma Koizumi
 
PyCon2020 Pythonで競プロをしよう! 〜入門者が知っておくべき高速化Tips〜
PyCon2020 Pythonで競プロをしよう! 〜入門者が知っておくべき高速化Tips〜PyCon2020 Pythonで競プロをしよう! 〜入門者が知っておくべき高速化Tips〜
PyCon2020 Pythonで競プロをしよう! 〜入門者が知っておくべき高速化Tips〜Kosaku Ono
 
4bit-CPU : TD4の解説
4bit-CPU : TD4の解説4bit-CPU : TD4の解説
4bit-CPU : TD4の解説Seong-Hun Choe
 
Pydata_リクルートにおけるbanditアルゴリズム_実装前までのプロセス
Pydata_リクルートにおけるbanditアルゴリズム_実装前までのプロセスPydata_リクルートにおけるbanditアルゴリズム_実装前までのプロセス
Pydata_リクルートにおけるbanditアルゴリズム_実装前までのプロセスShoichi Taguchi
 
Dutch PHP Conference 2009 report
Dutch PHP Conference 2009 reportDutch PHP Conference 2009 report
Dutch PHP Conference 2009 reportYusuke Ando
 
Convolutional Neural NetworkとRankNetを用いた画像の順序予測
Convolutional Neural NetworkとRankNetを用いた画像の順序予測Convolutional Neural NetworkとRankNetを用いた画像の順序予測
Convolutional Neural NetworkとRankNetを用いた画像の順序予測Shogo Suzuki
 
アーカイブズのこれからを展望する:電子記録、映像、記憶を中心に(古賀崇)
アーカイブズのこれからを展望する:電子記録、映像、記憶を中心に(古賀崇)アーカイブズのこれからを展望する:電子記録、映像、記憶を中心に(古賀崇)
アーカイブズのこれからを展望する:電子記録、映像、記憶を中心に(古賀崇)Takashi Koga
 
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechconDeNA
 
2016年12月21日 AITCシニア技術者勉強会 第2回「センサに反応する総天然色イルミネーションを作ってみよう!」
2016年12月21日 AITCシニア技術者勉強会 第2回「センサに反応する総天然色イルミネーションを作ってみよう!」 2016年12月21日 AITCシニア技術者勉強会 第2回「センサに反応する総天然色イルミネーションを作ってみよう!」
2016年12月21日 AITCシニア技術者勉強会 第2回「センサに反応する総天然色イルミネーションを作ってみよう!」 aitc_jp
 
「Pythonでやってみた」~広がるプログラミングの愉しみ~
「Pythonでやってみた」~広がるプログラミングの愉しみ~「Pythonでやってみた」~広がるプログラミングの愉しみ~
「Pythonでやってみた」~広がるプログラミングの愉しみ~Ransui Iso
 
【第5回東京SoftLayer勉強会】LT4 CatalystとHPCを5分で語る
【第5回東京SoftLayer勉強会】LT4 CatalystとHPCを5分で語る【第5回東京SoftLayer勉強会】LT4 CatalystとHPCを5分で語る
【第5回東京SoftLayer勉強会】LT4 CatalystとHPCを5分で語るNaoki Shibata
 
DeNAtechcon_DeNAのセキュリティの取り組みと、スマートフォンセキュリティ(same-origin policy)
DeNAtechcon_DeNAのセキュリティの取り組みと、スマートフォンセキュリティ(same-origin policy)DeNAtechcon_DeNAのセキュリティの取り組みと、スマートフォンセキュリティ(same-origin policy)
DeNAtechcon_DeNAのセキュリティの取り組みと、スマートフォンセキュリティ(same-origin policy)Toshiharu Sugiyama
 
実環境音響信号処理における収音技術
実環境音響信号処理における収音技術実環境音響信号処理における収音技術
実環境音響信号処理における収音技術Yuma Koizumi
 

Similar to データ中心の時代を生き抜くエンジニアに知ってほしい10?のこと (20)

スパースモデリング入門
スパースモデリング入門スパースモデリング入門
スパースモデリング入門
 
2021 09 豆寄席:(公開用)長く生き残るitエンジニアの”リベラル・アーツ”
2021 09 豆寄席:(公開用)長く生き残るitエンジニアの”リベラル・アーツ”2021 09 豆寄席:(公開用)長く生き残るitエンジニアの”リベラル・アーツ”
2021 09 豆寄席:(公開用)長く生き残るitエンジニアの”リベラル・アーツ”
 
GTMF 2016:「KiQ」が拓くゲームサーバの未来 株式会社アトミテック
GTMF 2016:「KiQ」が拓くゲームサーバの未来 株式会社アトミテックGTMF 2016:「KiQ」が拓くゲームサーバの未来 株式会社アトミテック
GTMF 2016:「KiQ」が拓くゲームサーバの未来 株式会社アトミテック
 
Show and tell takmin
Show and tell takminShow and tell takmin
Show and tell takmin
 
強化学習技術とゲーム AI 〜 今できる事と今後できて欲しい事 〜
強化学習技術とゲーム AI  〜 今できる事と今後できて欲しい事 〜強化学習技術とゲーム AI  〜 今できる事と今後できて欲しい事 〜
強化学習技術とゲーム AI 〜 今できる事と今後できて欲しい事 〜
 
世間の荒波を乗りこなせ!
世間の荒波を乗りこなせ!世間の荒波を乗りこなせ!
世間の荒波を乗りこなせ!
 
[JISA][変革リーダー養成部会]組織の中で自分を活かす生き方
[JISA][変革リーダー養成部会]組織の中で自分を活かす生き方[JISA][変革リーダー養成部会]組織の中で自分を活かす生き方
[JISA][変革リーダー養成部会]組織の中で自分を活かす生き方
 
深層学習と音響信号処理
深層学習と音響信号処理深層学習と音響信号処理
深層学習と音響信号処理
 
PyCon2020 Pythonで競プロをしよう! 〜入門者が知っておくべき高速化Tips〜
PyCon2020 Pythonで競プロをしよう! 〜入門者が知っておくべき高速化Tips〜PyCon2020 Pythonで競プロをしよう! 〜入門者が知っておくべき高速化Tips〜
PyCon2020 Pythonで競プロをしよう! 〜入門者が知っておくべき高速化Tips〜
 
4bit-CPU : TD4の解説
4bit-CPU : TD4の解説4bit-CPU : TD4の解説
4bit-CPU : TD4の解説
 
Pydata_リクルートにおけるbanditアルゴリズム_実装前までのプロセス
Pydata_リクルートにおけるbanditアルゴリズム_実装前までのプロセスPydata_リクルートにおけるbanditアルゴリズム_実装前までのプロセス
Pydata_リクルートにおけるbanditアルゴリズム_実装前までのプロセス
 
Dutch PHP Conference 2009 report
Dutch PHP Conference 2009 reportDutch PHP Conference 2009 report
Dutch PHP Conference 2009 report
 
Convolutional Neural NetworkとRankNetを用いた画像の順序予測
Convolutional Neural NetworkとRankNetを用いた画像の順序予測Convolutional Neural NetworkとRankNetを用いた画像の順序予測
Convolutional Neural NetworkとRankNetを用いた画像の順序予測
 
アーカイブズのこれからを展望する:電子記録、映像、記憶を中心に(古賀崇)
アーカイブズのこれからを展望する:電子記録、映像、記憶を中心に(古賀崇)アーカイブズのこれからを展望する:電子記録、映像、記憶を中心に(古賀崇)
アーカイブズのこれからを展望する:電子記録、映像、記憶を中心に(古賀崇)
 
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
 
2016年12月21日 AITCシニア技術者勉強会 第2回「センサに反応する総天然色イルミネーションを作ってみよう!」
2016年12月21日 AITCシニア技術者勉強会 第2回「センサに反応する総天然色イルミネーションを作ってみよう!」 2016年12月21日 AITCシニア技術者勉強会 第2回「センサに反応する総天然色イルミネーションを作ってみよう!」
2016年12月21日 AITCシニア技術者勉強会 第2回「センサに反応する総天然色イルミネーションを作ってみよう!」
 
「Pythonでやってみた」~広がるプログラミングの愉しみ~
「Pythonでやってみた」~広がるプログラミングの愉しみ~「Pythonでやってみた」~広がるプログラミングの愉しみ~
「Pythonでやってみた」~広がるプログラミングの愉しみ~
 
【第5回東京SoftLayer勉強会】LT4 CatalystとHPCを5分で語る
【第5回東京SoftLayer勉強会】LT4 CatalystとHPCを5分で語る【第5回東京SoftLayer勉強会】LT4 CatalystとHPCを5分で語る
【第5回東京SoftLayer勉強会】LT4 CatalystとHPCを5分で語る
 
DeNAtechcon_DeNAのセキュリティの取り組みと、スマートフォンセキュリティ(same-origin policy)
DeNAtechcon_DeNAのセキュリティの取り組みと、スマートフォンセキュリティ(same-origin policy)DeNAtechcon_DeNAのセキュリティの取り組みと、スマートフォンセキュリティ(same-origin policy)
DeNAtechcon_DeNAのセキュリティの取り組みと、スマートフォンセキュリティ(same-origin policy)
 
実環境音響信号処理における収音技術
実環境音響信号処理における収音技術実環境音響信号処理における収音技術
実環境音響信号処理における収音技術
 

More from Hideo Terada

画像処理AIを用いた異常検知
画像処理AIを用いた異常検知画像処理AIを用いた異常検知
画像処理AIを用いた異常検知Hideo Terada
 
B-DCGAN Slides for ICONIP2019
B-DCGAN Slides for ICONIP2019B-DCGAN Slides for ICONIP2019
B-DCGAN Slides for ICONIP2019Hideo Terada
 
論文紹介 dhSegment:文書セグメンテーションのための包括的ディープラーニングアプローチ
論文紹介 dhSegment:文書セグメンテーションのための包括的ディープラーニングアプローチ論文紹介 dhSegment:文書セグメンテーションのための包括的ディープラーニングアプローチ
論文紹介 dhSegment:文書セグメンテーションのための包括的ディープラーニングアプローチHideo Terada
 
FPGA, AI, エッジコンピューティング
FPGA, AI, エッジコンピューティングFPGA, AI, エッジコンピューティング
FPGA, AI, エッジコンピューティングHideo Terada
 
ディープラーニングの2値化(Binarized Neural Network)
ディープラーニングの2値化(Binarized Neural Network)ディープラーニングの2値化(Binarized Neural Network)
ディープラーニングの2値化(Binarized Neural Network)Hideo Terada
 
機械学習のための数学のおさらい
機械学習のための数学のおさらい機械学習のための数学のおさらい
機械学習のための数学のおさらいHideo Terada
 
技術系文書作成のコツ
技術系文書作成のコツ技術系文書作成のコツ
技術系文書作成のコツHideo Terada
 

More from Hideo Terada (7)

画像処理AIを用いた異常検知
画像処理AIを用いた異常検知画像処理AIを用いた異常検知
画像処理AIを用いた異常検知
 
B-DCGAN Slides for ICONIP2019
B-DCGAN Slides for ICONIP2019B-DCGAN Slides for ICONIP2019
B-DCGAN Slides for ICONIP2019
 
論文紹介 dhSegment:文書セグメンテーションのための包括的ディープラーニングアプローチ
論文紹介 dhSegment:文書セグメンテーションのための包括的ディープラーニングアプローチ論文紹介 dhSegment:文書セグメンテーションのための包括的ディープラーニングアプローチ
論文紹介 dhSegment:文書セグメンテーションのための包括的ディープラーニングアプローチ
 
FPGA, AI, エッジコンピューティング
FPGA, AI, エッジコンピューティングFPGA, AI, エッジコンピューティング
FPGA, AI, エッジコンピューティング
 
ディープラーニングの2値化(Binarized Neural Network)
ディープラーニングの2値化(Binarized Neural Network)ディープラーニングの2値化(Binarized Neural Network)
ディープラーニングの2値化(Binarized Neural Network)
 
機械学習のための数学のおさらい
機械学習のための数学のおさらい機械学習のための数学のおさらい
機械学習のための数学のおさらい
 
技術系文書作成のコツ
技術系文書作成のコツ技術系文書作成のコツ
技術系文書作成のコツ
 

データ中心の時代を生き抜くエンジニアに知ってほしい10?のこと

  • 2. Copyright(C) Open Stream, Inc. All Rights Reserved. 自己紹介 ■寺田英雄 ■https://www.facebook.com/ hideo.terada.5 ■1968年、大阪市生まれ 2
  • 3. Copyright(C) Open Stream, Inc. All Rights Reserved. 経歴 ■大阪大学工学部機械系/電子制御機械工学科 • Project-TEAM DoGA 初代メンバー:CG映画制作 • http://doga.jp/ ■仕事歴 • 1992 IHI入社・メカトロ総合開発センター所属 • 2007 某モバイル動画ベンチャー 入社 • 2012 オープンストリーム入社 • 2014 オープンストリームCTO 3
  • 4. Copyright(C) Open Stream, Inc. All Rights Reserved. コンピュータ歴 ■コンピュータ歴 36年目(小学校5年から) ■言語 • 大阪弁、標準語、英語(少々) • Fortran, asm, basic, C/C++/Obj-C, Java, CUDA,
 Python, Ruby ■分野 • 画像認識、CG、ストリーミングシステム • FA制御、Linux/Windowsデバイスドライバ、CADシステム • モバイル・アプリケーション(iOS/Android) • 機械学習、数理アルゴリズム、データ解析 4
  • 5. Copyright(C) Open Stream, Inc. All Rights Reserved. 開発例 ■画像認識関連 • ごみ焼却炉制御、鋳型組み立てロボット制御、トラックコンテナの荷降ろしロボッ ト制御、自動車工場の鋼板検査、デパレタイザー用3次元認識 • 監視カメラ用ハードディスクレコーダー • 乗用車用、歩行者検知システム(R&D) ■動画ストリーミング • 携帯電話用コーデック、画像・音声同期再生エンジン、マルチキャスト動画配信 ■その他 • C-HTML編集エディタ、GTコジェネ制御ロジックCAD • Oracle用 C++ ORマッパーの開発 • 電子書籍フォーマット&デコーダ生成システムの開発 • DRM動画配信アプリ&状態マシンフレームワーク 5
  • 6. Copyright(C) Open Stream, Inc. All Rights Reserved. その他 ■執筆 • @IT: ドキュメントは最強のコミュニケーションツールである――Joelの機能仕様書入門 
 (http://www.atmarkit.co.jp/ait/articles/1412/15/news023.html) • ITPro: ログ収集基盤のFluentdとFlume NG、どちらが使いやすい? 
 (http://itpro.nikkeibp.co.jp/article/COLUMN/20121122/439421/) ■資格 • 統計検定2級 ■趣味 • 料理、音楽、読書、演芸鑑賞、旅行・ドライブ・アウトドア、写真、自転車、映画・海外ド ラマ、工作、水彩画(最近やってません…) ■標語 • なんでもやってみよう! • 理論と現実の融合 6
  • 9. Copyright(C) Open Stream, Inc. All Rights Reserved. アジェンダ ■データ中心時代とは? ■データ中心時代を生き抜くには? ■株式会社オープンストリームのご紹介 9
  • 10. Copyright(C) Open Stream, Inc. All Rights Reserved. どんなエンジニアに なりたいですか? 10 00
  • 11. Copyright(C) Open Stream, Inc. All Rights Reserved. ■とりあえず食べていけるエンジニア ■会社をリードするエンジニア ■業界をリードするエンジニア ■時代をリードするエンジニア 11
  • 12. Copyright(C) Open Stream, Inc. All Rights Reserved. ■今日は、
 ⃝⃝をリードするエンジニアを目指す人
 に向けてお話したいと思います 12
  • 13. Copyright(C) Open Stream, Inc. All Rights Reserved. データ中心の時代とは? 13 01
  • 14. Copyright(C) Open Stream, Inc. All Rights Reserved. ■ビッグデータ ■スマートデバイス ■IoT*1 / M2M*2 ■… 14 *1:Internet of Things *2:Machine to Machine
  • 15. Copyright(C) Open Stream, Inc. All Rights Reserved. ■データ中心の時代とは、
 良質なデータを持ち
 そのデータを上手く活用できる
 人や集団が、ビジネスや政治の
 中心となって活躍する時代です。 15
  • 16. Copyright(C) Open Stream, Inc. All Rights Reserved. ■いままで無理だった分野や場所でも
 データが得られるようになり、
 勘や経験ではなく
 科学的に物事を判断できる範囲が
 拡がる時代です。 16
  • 17. Copyright(C) Open Stream, Inc. All Rights Reserved. ■この流れは
 今後、強まることはあっても、
 弱まることはないでしょう。 17
  • 18. Copyright(C) Open Stream, Inc. All Rights Reserved. ■そこでは、これまでITシステムで
 主流だったものとは異なるタイプの
 データを扱う必要があります。 18
  • 19. Copyright(C) Open Stream, Inc. All Rights Reserved. Type-I:いままでのITシステムで
 扱っていたデータ ■数値(金額、日付、個数…) ■文字列(名前、住所、ID、URL…) ■バイト列(BLOB)(画像、音声、テキスト…) 19
  • 20. Copyright(C) Open Stream, Inc. All Rights Reserved. Type-II:データ中心時代に さらに必要となるデータ • • • 20 ■数値(センサー系:温度、加速度、明るさ…) ■バイト列(BLOB)(画像、音声、テキスト…) • 内容を認識したい
  • 21. Copyright(C) Open Stream, Inc. All Rights Reserved. ■Type-IとType-IIは何がちがうのか? 21
  • 22. Copyright(C) Open Stream, Inc. All Rights Reserved. Type-I データ ■構造化可能 • RDBに素直に格納できる • SQLで処理できる ■決定論的 • 誰かが書き換えない限り、
 同じデータは、何度取得しても値は変わらない ■中身を見ないBLOB(画像、音声) • 画像を表示したり、音声を再生したりはするが、画像の 内容は見ない 22
  • 23. Copyright(C) Open Stream, Inc. All Rights Reserved. Type-II データ ■非構造化(構造化不可) • RDBでは素直に格納できない • SQLだけでは処理できない ■確率論的 • 同じデータ源(対象物)を計測しても、
 取得するたびに値が微妙に変わる
 →ノイズや誤差 ■中身を見るBLOB(画像・音声) • 誰が写っている?(画像認識) • 何と言っている?(音声認識) 23
  • 24. Copyright(C) Open Stream, Inc. All Rights Reserved.24 Type-I Type-II 構造化 できる/しやすい できない/しにくい 数値の性質 決定論的 確率論的 BLOB 画像・音声 その他 中身は見ない 中身を理解したい
  • 25. Copyright(C) Open Stream, Inc. All Rights Reserved. ■データ中心時代とは、
 Type-Iはもちろん、
 Type-IIデータにも
 対応しなけばならない時代です。 25
  • 26. Copyright(C) Open Stream, Inc. All Rights Reserved. Type-IIデータを扱うには、 数学的アルゴリズムが必要になってきます ■微分・積分 ■行列・線形代数 ■確率・統計 ■パターン認識・機械学習 ■信号処理 ■制御理論 ■・・・ 26
  • 27. Copyright(C) Open Stream, Inc. All Rights Reserved. ■ つまり、データ中心の時代とは、
 数学の時代なのです。 27
  • 28. Copyright(C) Open Stream, Inc. All Rights Reserved. ■数学が力を発揮する例を
 見てみましょう。 28
  • 29. Copyright(C) Open Stream, Inc. All Rights Reserved. 例1:月面サッカーの ボール軌道計測 ■20XX年、月面サッカー協会からの依頼 • 選手がキックしたボールの軌道を解析し、選手の特徴を分析したい。 • ボールの内蔵IoTセンサーで、リアルタイムで位置を計測できる。 • ただし、計測誤差が発生している。(コストダウンのため!) 29
  • 31. Copyright(C) Open Stream, Inc. All Rights Reserved. ■計測誤差を取り除きたい! 31
  • 32. Copyright(C) Open Stream, Inc. All Rights Reserved. アイデア-1-1 (中学生級) ■誤差=ばらつき ■ばらつきを消すには? ■→平均をとろう! 32
  • 33. 移動平均を取った結果 • 平均範囲:i-5 i+5 • 赤いプロットが移動平均 • 最後まできれいな
 放物線にならない。 • 最初と最後の部分の
 データが欠ける。
  • 34. Copyright(C) Open Stream, Inc. All Rights Reserved. アイデア-1-2 (大学1 2年級) ■『重力場で投射された物体は
  放物線を描く』 • 高校物理の知識 ■計測データ=放物線+誤差 ■最小二乗法で誤差を取り除く 34
  • 35. Copyright(C) Open Stream, Inc. All Rights Reserved. 最小二乗法の考え方 35 y = f(x) S1 S2 S3 SN P1(x1, y1) ˆy1 = f(x1) 計測データ P1 PNについて、 S1 SNの合計が最小となるような
 直線 y=f(x) を求める。 直線以外にも使える
  • 36. Copyright(C) Open Stream, Inc. All Rights Reserved. 最小二乗法の結果 36 • 放物線をデータに当ては めた • 統計学的に最も妥当な放 物線が得られる
  • 37. Copyright(C) Open Stream, Inc. All Rights Reserved. 例2:月面サッカー リアルタイム計測編 ■前述の計測システムが好評だったので、
 次にリアルタイム化を依頼された。 ■ボール飛行中にリアルタイムにノイズを取 り除いて画面に表示したい ■他のセンサー等の追加設備はない。
 (コストダウンのため!) 37
  • 38. Copyright(C) Open Stream, Inc. All Rights Reserved. アイデア-2-1 (大学1 2年級) ■ボールが飛行中に放物線を求めたい。 ■リアルタイムデータに最小二乗法を適用し てみる。 38
  • 39. Copyright(C) Open Stream, Inc. All Rights Reserved. リアルタイム最小二乗法の 結果 39
  • 40. Copyright(C) Open Stream, Inc. All Rights Reserved. アイデア-2-2
 (大学3 4年級) ■誤差のあるデータ列から、時々刻々と変 化する量(ボールの位置)を推定するに は・・・ ■カルマンフィルタを使おう! 40
  • 41. Copyright(C) Open Stream, Inc. All Rights Reserved. カルマンフィルタの結果 41 初期には少し乱れるが、i=25以降は良い軌道追従性を示している
  • 42. Copyright(C) Open Stream, Inc. All Rights Reserved. カルマンフィルタとは ■誤差を含む計測データを使って、時間と ともに変化するシステムの状態を推定す る手法 ■直前の計測データだけあれば良い
 (過去のデータを参照する必要ない) 42
  • 43. Copyright(C) Open Stream, Inc. All Rights Reserved. センサー カルマンフィルタの世界観 43 システムの 状態 (直接観測できない・ 時間変化する) 外部入力 (システムの状態を変化させる) 観測者 (人間) 計測データ ノイズ • 計測データ知っている • 外部入力知っている • システムの癖知っている • ノイズは正規分布
  • 44. Copyright(C) Open Stream, Inc. All Rights Reserved. カルマンフィルタの数学モデル 44 現在 状態 = 直前の 状態 遷移 係数 外部 入力 + システム ノイズ+ •状態方程式 現在 状態 計測値 観測 係数 = 観測 ノイズ + •観測方程式 この2つの方程式を繰り返し適用することで、 状態の推定値の精度を徐々に高めていく。 欲しい答 センサで 得られる 世界観が そのまま表現されている!
  • 45. Copyright(C) Open Stream, Inc. All Rights Reserved. 月面サッカーの例では ■状態=[ボールの位置, ボールの速度] ■ニュートンの運動方程式を使って、状態方程式(遷移係数)を作成 ■外部入力は月の重力(重力加速度) ■観測できるのはボールの位置だけ 45 青が計測値 赤が推定値
  • 46. Copyright(C) Open Stream, Inc. All Rights Reserved. 最小二乗法 vs カルマンフィルタ 46 最小二乗 カルマン フィルタ メモリ負荷 大きい (過去から現在までのセンサデ ータを保持する必要あり) 小さい (直近のセンサデータだけで良 い) 計算負荷 徐々に大きくなる 一定
  • 47. Copyright(C) Open Stream, Inc. All Rights Reserved. 余談:宇宙船と カルマンフィルター ■1960年代の宇宙開発において、カルマンフィルターは
 大きな役割を果たした(ロケットの軌道制御) 47 アポロ宇宙船の 誘導コンピュータ (ソースコードが公開されている) 月ロケットの軌道制御 赤:ロケットの自己位置計測値 青:カルマンフィルタ推定軌道 緑:真の軌道
  • 48. Copyright(C) Open Stream, Inc. All Rights Reserved. GPSもカルマンフィルター* 48 • この円は、カルマンフィルター で推定された誤差の大きさを 示しています。 • 円は最初大きいが、しばらく すると小さくなる。繰り返し 更新により推定誤差が小さく なっていくためです。 *パーティクルフィルター等が使われている可能性もあります
  • 49. Copyright(C) Open Stream, Inc. All Rights Reserved. フィルター理論は
 マーケティングにも応用されつつある ■ 状態空間モデルによるインターネット広告のクリック率予測 
 http://www.orsj.or.jp/archive2/or57-10/or57_10_574.pdf
 *この例では、パーティクルフィルタ(粒子フィルタ)を用いて います。これは、カルマンフィルタと似た効果のある別のフィル タ手法です。 49
  • 50. Copyright(C) Open Stream, Inc. All Rights Reserved. 参考図書 50
  • 51. Copyright(C) Open Stream, Inc. All Rights Reserved. 例2:カメラレンズの キャリブレーション ■画像処理による物体の位置計測システム ■高精度に位置を計測したい ■レンズによる画像の歪が問題
 (キャリブレーション:較正) 51
  • 52. Copyright(C) Open Stream, Inc. All Rights Reserved. システム構成例 ■トラックコンテナの自動荷降ろし制御@自動倉庫
 天井に設置したカメラで、コンテナの位置を計測し、クレーンに指示値を送る 52 天井 コンテナコンベア コンテナ カメラ 天井クレーン • クレーン位置精度:20mm • 天井カメラピクセル精度:5mm →4ピクセルずれるとOUT!! 自動倉庫へ
  • 53. Copyright(C) Open Stream, Inc. All Rights Reserved. 像の歪とは? 53 型歪糸巻形歪 オリジナル
  • 54. Copyright(C) Open Stream, Inc. All Rights Reserved. 歪みを消すには? ■大きさが分かっている物体を撮影 ■歪んだ画像データから、
 元の画像への変換式を求める ■レンズの歪の特性を考える • 歪の量は同心円状に分布、中心からの距離の関数 になる • 多項式関数で近似できることが知られている 54
  • 55. Copyright(C) Open Stream, Inc. All Rights Reserved. ■アイデア図式 55 大きさ既知の 物体
 P(X,Y) レンズ f() 歪んだ 画像 p(x,y) p(x,y)=f(P) 大きさ既知の 物体
 P(X,Y) 逆レンズ g() 歪んだ 画像 p(x,y) P(X,Y)=g(p) g()=f-1() ←逆変換
  • 56. Copyright(C) Open Stream, Inc. All Rights Reserved. ■歪=データに含まれる誤差 • レンズの特性、製造誤差、カメラの製造誤差 • デジタル誤差(量子化誤差) ■誤差を消す=最小二乗法 • レンズ中心からの距離xに対する4∼6次方程式が 目的関数として良く使われる。 ■データ数が多いほど解が安定する 56
  • 57. Copyright(C) Open Stream, Inc. All Rights Reserved. キャリブレーションプレート (較正基準器) ■市松模様や、ドット格子を良く使います。
 (画像認識アルゴリズムで簡単にメッシュ点の位置(点群)が求まります)
 →これを最小二乗法で処理して、変換関数 g()を求めます。 ■OpenCVにも、この種のアルゴリズムが含まれています。 57
  • 58. Copyright(C) Open Stream, Inc. All Rights Reserved. 余談:スバルのeyesight ■ステレオカメラを利用している ■経年変化とキャリブレーションが課題の一つ ■どうやって解決したか?・・・調べてみてください 58
  • 59. Copyright(C) Open Stream, Inc. All Rights Reserved. まとめ ■データ中心時代には Type-II データを
 扱うことが必要 ■Type-II データの処理には
 数学的知識が欠かせない ■データを扱うあらゆる分野で数学が重要 59
  • 60. Copyright(C) Open Stream, Inc. All Rights Reserved. データ中心の時代を 生き抜けるエンジニアになるには? 60 02
  • 61. Copyright(C) Open Stream, Inc. All Rights Reserved. 問 データ中心の時代を
 生き抜けるエンジニアに
 なるには? 61
  • 62. Copyright(C) Open Stream, Inc. All Rights Reserved. 答 変化に強い
 エンジニアになること。 62
  • 63. Copyright(C) Open Stream, Inc. All Rights Reserved. 理由 ■ITの世界は変化が激しく、『一寸先は闇』 の世界です。 ■個別のトレンドを全て追いかけるのは
 不可能であり、不毛です。 ■変化への対応力を高めることが肝心です。 63
  • 65. Copyright(C) Open Stream, Inc. All Rights Reserved. 問 変化に強いエンジニアに
 なるには? 65
  • 66. Copyright(C) Open Stream, Inc. All Rights Reserved. 答 技術を
 基礎・基本から理解することを
 重視して学び続けること 66
  • 67. Copyright(C) Open Stream, Inc. All Rights Reserved. 理由 ■基礎知識・基本原理は普遍的であり、
 時代を経ても変化しません。 ■一度学べば、一生モノです。 ■新しい技術へのキャッチアップが早くなり ます。 ■他の分野に応用することで、
 新たな創造につながることもあります。 67
  • 68. Copyright(C) Open Stream, Inc. All Rights Reserved. データ中心の時代の 基礎・基本とは? 68 03
  • 69. Copyright(C) Open Stream, Inc. All Rights Reserved. データ中心時代の ITエンジニアに必要な基礎・基本 ■数学(応用数学・統計学) ■コンピュータサイエンス ■国語力 ■英語力 ■勉強力 69 どうやって学ぶか? どんな時代にも 通用する 基礎力 }
  • 70. Copyright(C) Open Stream, Inc. All Rights Reserved. 数学 70 04
  • 71. Copyright(C) Open Stream, Inc. All Rights Reserved. 数学を学ぶ人へのヒント ■学校数学と応用数学との違い ■数学は言葉 ■数学はモデル ■エンジニアの利点を活かす 71
  • 72. Copyright(C) Open Stream, Inc. All Rights Reserved. 学校数学 vs 応用数学 ■学校数学 • 数学の問題を解くために数学を学ぶ • 意味・目的が分からない(ように思える) • 『紙と鉛筆(手計算)』で解かないといけない ■応用数学 • 現実の問題を解くためのツールになる • 意味・目的がはっきりしている • コンピュータで解ければ良い 72
  • 73. Copyright(C) Open Stream, Inc. All Rights Reserved. 数学は言葉 ■数学は『ワケワカラン記号の羅列』 ではありません。数学語という世 界共通の言語です。
 ■数学語を日本語に訳したり、日本 語を数学語に訳したりできます。
 ■まずは数学語を和訳できるように なりましょう。 73 『数学は言葉』新井紀子著
  • 74. Copyright(C) Open Stream, Inc. All Rights Reserved. 数学はモデル ■モデル=模型 ■数学は、計算のためだけのものではなく、
 現実の問題を模型化するためにあります。 ■数学的モデルは、コンピュータとの
 親和性が高いです。 ■方程式の解き方よりも、数学モデルの作り方を
 学ぶほうが実践的です。 74
  • 75. Copyright(C) Open Stream, Inc. All Rights Reserved. エンジニアの利点を活かして 数学を学ぼう ■数学をコンピュータ上で動かしながら
 勉強すれば、早く深く理解できます。 ■近年、数学向きのツールが多数登場 • R • Python (IPythonがおすすめ!) • Julia (最近注目) • 数式処理ソフト(Mathematia, Maxima, Maple…) 75
  • 76. Copyright(C) Open Stream, Inc. All Rights Reserved. オススメの勉強シナリオ 1.興味のある具体的例題を選ぶ 2.コンピュータ上で動かして例題を解く 3.そこに使われている数学手法を勉強する 基準:ある程度納得できるまで。
 (多少わからなくても立ち止まらない) 4.同じ数学手法が使う別の分野の問題を調べる 76
  • 77. Copyright(C) Open Stream, Inc. All Rights Reserved. ダメな勉強シナリオ ■教科書を1ページ目から勉強していく ■途中で理解できない箇所がでてきて、
 先へ進めなくなって挫折・・・ 77
  • 78. Copyright(C) Open Stream, Inc. All Rights Reserved. おすすめ本 ■高校までの数学に自信がない人向け 78 • 高校3年分の内容を1冊に • 106時間分の講義音声ファイル • 例題の詳細解答PDFファイル582ページ • 独習向き
  • 79. Copyright(C) Open Stream, Inc. All Rights Reserved. ■大学で数学を習った人向け 79
  • 80. Copyright(C) Open Stream, Inc. All Rights Reserved. おすすめドラマ ■ NUMB3RS ナンバーズ 天才数学者の事件ファイル 80 • LAを舞台とした刑事ドラマ • FBI捜査官の兄、天才数学者の弟が協力し、数学を使っ て犯罪捜査 • 劇中で使われる数学は本物(制作にはプロの数学者) • 解説本も出ている • 数学を知らなくても楽しめる • BS放送 D-Life で再放送中
  • 81. Copyright(C) Open Stream, Inc. All Rights Reserved. おすすめ映画 ■ イミテーション・ゲーム (3月13日公開) 81 • 数学者アラン・チューリングの生涯を描いた映画 • アインシュタインと並ぶ『20世紀の天才』 • コンピュータの原理・限界:チューリング・マシン • 人工知能の父:チューリング・テスト • ナチスのエニグマ暗号を解読、アメリカを勝利に導いた影の立役者
  • 82. Copyright(C) Open Stream, Inc. All Rights Reserved. 機械学習を勉強しよう! ■おすすめする理由 • あらゆる数学が使われていて題材の宝庫 • よいツール・ライブラリが ってきている
 (Python系がおすすめ) • 動かして試しながら学べるのでエンジニア向き ■機械学習・AI系の注目テーマ • ディープ・ラーニング(Deep Learning) • word2vec 82
  • 83. Copyright(C) Open Stream, Inc. All Rights Reserved. パターン認識器の共通形 83 入力 データ 特徴抽出 特徴量 データ 判別器 答 出力
  • 84. Copyright(C) Open Stream, Inc. All Rights Reserved. Deep Learning以前の パターン認識 84 入力 データ 特徴抽出 特徴量 データ 判別器 答 出力 従来法 人間(専門家)が設計・調整 機械学習(教師あり) 特徴量の設計が性能を左右する。 専門家が勘や経験則で特徴量を設計していた。
  • 85. Copyright(C) Open Stream, Inc. All Rights Reserved. Deep Learningによる パターン認識 85 入力 データ 特徴抽出 特徴量 データ 判別器 答 出力 従来法 人間(専門家)が設計・調整 機械学習(教師あり) Deep Learning 機械学習(教師なし) Google の Deep Belief Network: 膨大なデータと計算パワーにより、特徴抽出を自動化した! 『世界にはあらかじめ構造があり、その構造そのものを学習する』 特徴量の設計が性能を左右する。 専門家が勘や経験則で特徴量を設計していた。
  • 86. Copyright(C) Open Stream, Inc. All Rights Reserved. word2vec ■Deep Learningを文書データに適用 ■単語の意味を『意味ベクトルの合成値』 として表現できる ■King - Man + Woman = Queen という 計算を実行できる! • 王・支配者という意味ベクトル • 性別という意味ベクトル 86
  • 87. Copyright(C) Open Stream, Inc. All Rights Reserved. 機械学習の注意点 ■OSS等が充実してきており学習器は誰でもすぐ使えます。 ■しかし、結局は機械的な処理なので、どんな変なデータを 入力しても学習器は何かしらの(間違っているかも知れな い)答を出してきます。 ■データの性質の把握して、学習器の答を正しく評価するこ とが必要になってきます。 ■良い参考資料 • http://www.slideshare.net/canard0328/ ss-44288984 87
  • 88. Copyright(C) Open Stream, Inc. All Rights Reserved. Deep Learningの 参考書 88 ■ まだ日本語の文献は少ないです。
  • 89. Copyright(C) Open Stream, Inc. All Rights Reserved. コンピュータサイエンス 89 05
  • 90. Copyright(C) Open Stream, Inc. All Rights Reserved. 日本の平均的な エンジニアの問題 ■コンピュータの専門家ではなく、
 プログラミングやツールの専門家に
 なってしまっている ■数学を駆使したデータ処理などで、
 高度な問題に対処する際には、
 コンピュータサイエンスの
 知識が必要 90
  • 91. Copyright(C) Open Stream, Inc. All Rights Reserved. コンピュータサイエンス ■ コンピュータ的思考の原理・科学 ■ どのような原理でコンピュータが動いているか ■ 課題を解決するためには、
 どのようにコンピュータを動かせばよいか? 91
  • 92. Copyright(C) Open Stream, Inc. All Rights Reserved. データ中心時代の コンピュータサイエンス? ■ソフトウェア工学よりも
 コンピュータサイエンスが重視される時代 • ソフトウェアを『いかに上手く作るか』よりも、
 コンピュータを『いかに上手く動かすか』が大きな課題 ■理由:増大するビッグデータ処理への要求 • 分散コンピューティング • 並列コンピューティング • 関数型プログラミング • アルゴリズム解析論 92
  • 93. Copyright(C) Open Stream, Inc. All Rights Reserved. IT業界の先行指標 CMUの動向 ■カーネギーメロン大学(CMU)
 コンピュータサイエンス学科(CSD)の
 カリキュラム改革(2011年秋) • http://www.cs.cmu.edu/ bryant/pubdir/cmu-cs-10-140.pdf ■新入生にまず関数型プログラミング、
 並列計算などから教える ■オブジェクト指向は上級になってから 93 *マルレク資料より抜粋 https://drive.google.com/file/d/0B04ol8GVySUuUFludEYyTHFJTGs/view
  • 94. Copyright(C) Open Stream, Inc. All Rights Reserved. CMUの危機意識 ■受験テクニックと化したJava入試により
 コンピュータ分野に対する
 学生のイメージの低下 • 『ITは知的な内容と︎関係︎がなく、就職といえ︎ば狭い部屋に 一日中座ってコードを書いていて、
 実世界に︎何の影響力も持たない仕事?』 • (Javaが簡単に見えるため)『IT系の仕事は将来発展の見 通しが立ちにくく、低賃金の外国にアウトソースされる仕事 では?』 94
  • 95. Copyright(C) Open Stream, Inc. All Rights Reserved. Javaの功罪(by CMU) ■Javaはアプリ開発には素晴らしい言語 ■しかし『温室育ち』のプログラマを大量発生させた ■ライブラリや環境が高度にチューニングされすぎている ■例えば、各種ソートアルゴリズムの理論について知らな くてもアプリが書けてしまう ■学生にアルゴリズムやパフォーマンス
 (計算量)の理論を学ばせるには向かない ■初級コースからは全面削除 95
  • 96. Copyright(C) Open Stream, Inc. All Rights Reserved. 関数型プログラミングが 重要な理由 ■ビッグデータには並列計算が必要 ■CPUのマルチコア化 ■オブジェクト指向は並列計算に向かない • 反モジュラー的(継承・複雑なネスト) • 反パラレル的(見えない副作用、内部状態が存在) 96
  • 97. Copyright(C) Open Stream, Inc. All Rights Reserved. 順序依存のないアルゴリズムは 並列化できる 97 x1,t x2,t x3,t xn,t時刻 t ・・・ 時刻 t+1 x1,t+1 x2,t+1 x3,t+1 xn,t+1・・・ xk,t+1 = f(xk,t) kの順序に関係なく計算ができる →並列化可能 時間軸
  • 98. Copyright(C) Open Stream, Inc. All Rights Reserved. 順序依存のあるアルゴリズムは 並列化できない 98 x1,t x2,t x3,t xn,t時刻 t ・・・ 時刻 t+1 x1,t+1 x2,t+1 x3,t+1 xn,t+1・・・ 計算結果は、kの順序に依存 →並列化できない! xk,t+1 = f(xk,t)xk+1,t = g(xk,t) 時間軸
  • 99. Copyright(C) Open Stream, Inc. All Rights Reserved. 並列化できるかどうかを コードから自動的に判定できるか? ■ オブジェクト指向(手続き型) • 判定できない。 • g()によりobjのプロパティが変化しているかも知れない • 何か外部の値を参照しているかも知れない 99 xk,t+1 = obj.g(xk,t) ■ 関数型 • 判定できる。 • 『関数』は副作用がないという言語仕様 xk,t+1 = f(xk,t)
  • 100. Copyright(C) Open Stream, Inc. All Rights Reserved. ■関数型言語では、
 自動並列化コンパイラが作成しやすい ■OO言語では、
 自動並列化は非常に困難 100
  • 101. Copyright(C) Open Stream, Inc. All Rights Reserved. データ中心時代の 『データ構造とアルゴリズム』 ■従来の前提 • CPUは1個、シーケンシャルな処理をいかに効 率化するか? • 手続き型プログラミングモデルで分析 ■新しいアプローチ • CPUがN個あったらどうする? • 関数型プログラミングモデルで分析 101
  • 102. Copyright(C) Open Stream, Inc. All Rights Reserved. コンピュータサイエンス まとめ ■コンピュータ技術の根底には
 きちんと原理・科学がある ■時代の要請に応じて重点が変化 • Web→ビッグデータ ■関数型プログラミングの重要性が
 今後大きくなる 102
  • 103. Copyright(C) Open Stream, Inc. All Rights Reserved. 国語力 103 06
  • 104. Copyright(C) Open Stream, Inc. All Rights Reserved. とにかくこれを読もう! ■データは現実世界での意味づけ、 ストーリーがなければ活用でき ません。 ■人間は、最終的には言葉でのス トーリー化された説明・理解が 必要です。 ■一流の技術者になるには、明快 で論理的な文章力が必須です。 104
  • 105. Copyright(C) Open Stream, Inc. All Rights Reserved. 図解主義の危険性 ■図やイラストは分かりやすいため、逆に 『分かった気になる』危険性がある。 ■いざ文章に書いてみようとしたら、書け ない!=自分が問題をキチンと理解して いないことに気づくことがよくある。 105
  • 106. Copyright(C) Open Stream, Inc. All Rights Reserved. 参考:Amazon社の ナラティブ経営 ■ナラティブ(説話的・物語的) ■ アマゾンの会議は30分間の沈黙から始まる • http://ascii.jp/elem/000/000/897/897508/ • 会議資料にパワポ(スライド資料)は禁止 • A4 4∼6枚の文章で説明することが求められる • 会議の参加者は、前半30分で資料を精読、後半30分で深い討議 • 「重要な問題について理解してるかどうかを把握するためにナラ ティブが重要。」 • 「最初は非効率的な会議だと思っていたが、今はちがう。事前にす べての資料を読むわけにはいかないし、短い時間の中で問題の把握 ができて、何を解決したいかも分かる」 106
  • 107. Copyright(C) Open Stream, Inc. All Rights Reserved. 英語力 107 07
  • 108. Copyright(C) Open Stream, Inc. All Rights Reserved. 私は英語が苦手です ■この本のやり方で勉強しています ■ヒアリング・発音重視 ■脳の学習のクセを利用 ■エンジニアは英語の読み書きは
 できる人が比較的多いが、
 会話が弱い人が多い ■会話にはヒアリング力が重要 108
  • 109. Copyright(C) Open Stream, Inc. All Rights Reserved. 勉強力 109 08
  • 110. Copyright(C) Open Stream, Inc. All Rights Reserved. エンジニアの勉強で 大事なこと ■トップダウンとボトムアップのバランス ■インプットとアウトプットのバランス ■指標を使って成長を実感 110
  • 111. Copyright(C) Open Stream, Inc. All Rights Reserved. ■トップダウン型の勉強法 • まず問題を解いてみる。分からない箇所を逆にた どりながら教科書を読む ■ボトムアップ型の勉強法 • まず教科書を一通り勉強してから、問題を解く 111 TOP BOTTOM
  • 112. Copyright(C) Open Stream, Inc. All Rights Reserved. 伸び悩むエンジニアは トップダウンだけ ■『すぐに役立つ』TIPSが大好き ■Qiitaは読むだけ ■『いまどきの』とか『イケてる』という
 フレーズに弱い ■プログラミングを『覚え』ようとする ■『やり方(How to)』だけを知りたがる ■自分のコードを説明できない ■センスや経験だけに頼ろうとする 112
  • 113. Copyright(C) Open Stream, Inc. All Rights Reserved. まず『やってみる』ことは大切 しかし・・・ ■『やってみた』は TIPS/How to 知識 ■for What/Why 知識を結びつけること • 何のためにやるのか? • なぜそうやると良いのか? • どういう基本原理が作用しているのか? • どういう前提条件なのか? 113
  • 114. Copyright(C) Open Stream, Inc. All Rights Reserved. 初めトップダウン 途中ボトムアップ、がオススメ ■新しい分野にチャレンジする時、
 『まずやってみる』(例題・サンプル) ■やった結果を調べる • なぜこのような結果が得られたのか? • 自分が知っている言葉(=原理)で説明できるよ うになるまで ること 114
  • 115. Copyright(C) Open Stream, Inc. All Rights Reserved. インプットとアウトプット ■インプット • 知識を頭に入れていく ■アウトプット • インプットした知識を外に出す、実際に使う 115
  • 116. Copyright(C) Open Stream, Inc. All Rights Reserved. インプットとは覚えるのではなく 理解すること ■ダメなエンジニア • When, Howが中心 • 仕事を覚える=TIPSをたくさん覚えること、
 だと思っている ■良いエンジニア • Why, for What も押さえている • 仕事を覚える=原理・原則・例外を理解する • 自分の言葉で説明できる 116
  • 117. Copyright(C) Open Stream, Inc. All Rights Reserved. 伸び悩むエンジニアは インプットだけ ■技術書を沢山買っている • オライリーへの貢献が半端ない! ■勉強会とかセミナーに良く行く • けど行くだけ 117
  • 118. Copyright(C) Open Stream, Inc. All Rights Reserved. アウトプットするために インプットしよう ■勉強会を主催してみる ■ブログに書いてみる ■デモプログラムを作る ■コンテストに出場してみる 118
  • 119. Copyright(C) Open Stream, Inc. All Rights Reserved. 指標の大切さ ■ゴール指標 • 資格取得、⃝⃝完成、etc. ■日々の指標 • 毎日何分やったか?など • 進 の見える化=小さな達成感の積み重ね • レコーディング・ダイエットの例 119
  • 120. Copyright(C) Open Stream, Inc. All Rights Reserved. 最後のまとめ ■データ中心の時代とは数学の時代 ■技術の進化により数学のイメージが変わる、 学び方も変わる ■どんな時代でも生き残れるエンジニアに
 なるには、基礎・基本が重要 ■技術は覚えるのではなく、理解する ■勉強の仕方を見直そう 120